
    RǻiY	                        d dl mZ d dlZd dlZddlmZ ddlmZ ej                  r ej                  dej                        ZdZd	Zdd
Z e       ZddZ e       Zd Zd ZddZy)    )annotationsN   )_typing)RUST_AVAILABLE_FuncT)boundneo4jz6.1.0c                    d } d}t         r|dz  }dt         t        j                         xs d dt        j                         xs d dt        j
                         xs d | d	 | t        j                         t        j                          d | t        j                  j                         d
dj                  t        j                                dt        j                          ddS )Nc                      dj                   |  S )Nz{}.{}.{}-{}-{})format)version_infos    I/opt/lhia/marcimex/agent/venv/lib/python3.12/site-packages/neo4j/_meta.pyformat_version_infoz0_compute_bolt_agent.<locals>.format_version_info$   s    &&&55    Pythonz-Rustzneo4j-python/Unknown unknownz; / (z, z) [])productplatformlanguagelanguage_details)r   versionr   systemreleasemachinesysr   python_implementationimplementationjoinpython_buildpython_compiler)r   r   s     r   _compute_bolt_agentr&   #   s    6 HG #7), -I.a!.Y/r!.Y/1  j"5c6F6F"G!HI--/0"3#5#5#=#=>? @		(//123 4((*+1. r   c                 P    t         d    dt         d    dt        j                   dS )Nr   r   r   r   ))BOLT_AGENT_DICTr    r    r   r   _compute_user_agentr+   ?   s4    9%
&a:&
' (LL>	r   c                     t         S )z
    Obtain the driver's default user agent string.

    The user agent is sent to the server after a successful handshake.
    )
USER_AGENTr*   r   r   get_user_agentr.   M   s
     r   c                    | S Nr*   )xs    r   _idr2   V   s    Hr   c                    t         S r0   )r2   )_s    r   copy_signaturer5   Z   s    Jr   )returnzdict[str, str])r6   str)r4   r   r6   z t.Callable[[t.Callable], _FuncT])
__future__r   r   r     r   t_codec.packstreamr   TYPE_CHECKINGTypeVarCallabler   packager   r&   r)   r+   r-   r.   r2   r5   r*   r   r   <module>r@      sn   " #  
  - ??QYYxqzz2F 
2 &' !"
r   