o
    Žõ±jo
  ã                   @   s€   d dl mZ d dl mZ d dlZd dlmZ d dlmZmZ dd„ Z	dd	„ Z
d
d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )é    )Úabsolute_import)Úprint_functionN)Ú	randrange)ÚpackÚunpackc                  C   s$   d} t dt| ƒt| ƒt| ƒt| ƒƒS )NiÿÿÿÚIIII)r   r   )Útop© r	   úˆ/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiosmb/dcerpc/v5/uuid.pyÚgenerate   s    r   c                 C   sD   t d| d d… ƒ\}}}t d| dd… ƒ\}}}d||||||f S )Nú<LHHé   ú>HHLé   z%08X-%04X-%04X-%04X-%04X%08X)r   )ÚuuidÚuuid1Úuuid2Úuuid3Úuuid4Úuuid5Úuuid6r	   r	   r
   Úbin_to_string   s   r   c                 C   sN   t  d| ¡}dd„ | ¡ D ƒ\}}}}}}td|||ƒ} | td|||ƒ7 } | S )Nz^([\dA-Fa-f]{8})-([\dA-Fa-f]{4})-([\dA-Fa-f]{4})-([\dA-Fa-f]{4})-([\dA-Fa-f]{4})([\dA-Fa-f]{8})c                 S   s   g | ]}t |d ƒ‘qS )r   )Úint)Ú.0Úxr	   r	   r
   Ú
<listcomp>!   s    z!string_to_bin.<locals>.<listcomp>r   r   )ÚreÚmatchÚgroupsr   )r   Úmatchesr   r   r   r   r   r   r	   r	   r
   Ústring_to_bin   s
   r    c                 C   s*   |   d¡\}}tdt|ƒƒtdt|ƒƒ S )NÚ.z<H)Úsplitr   r   )ÚsÚmajÚminr	   r	   r
   Ústringver_to_bin&   s   r&   c                 C   s(   t | ƒdkrd S t| d ƒt| d ƒ S )Né   r   é   )Úlenr    r&   )Útupr	   r	   r
   Úuuidtup_to_bin*   s   r+   c                 C   sF   t | ƒdksJ ‚t| d d… ƒ}td| dd … ƒ\}}|d||f fS )Né   r   z<HHz%d.%d)r)   r   r   )ÚbinÚuuidstrr$   r%   r	   r	   r
   Úbin_to_uuidtup/   s   r/   c                 C   s,   t  d| d ¡}|r| ¡ \}}||fS d S )Nzh([A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}).*?([0-9]{1,5}\.[0-9]{1,5})z 1.0)r   Úsearchr   )r#   ÚgÚuÚvr	   r	   r
   Ústring_to_uuidtup=   s
   r4   c                 C   s   | \}\}}d|||f S )Nz	%s v%d.%dr	   )r*   r   r$   r%   r	   r	   r
   Úuuidtup_to_stringD   s   r5   )Ú
__future__r   r   r   Úrandomr   Ústructr   r   r   r   r    r&   r+   r/   r4   r5   r	   r	   r	   r
   Ú<module>   s   