� c��j�s��$� ddlZddlZddlmZmZdZej dvrdxZZnddlZej�Z e dk(Ze dk(ZdZ dZ erd Z d Z gd �\Z ZZZeZeZee�Gd �d ��ZGd�d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z" ddl#Z#e$e#dd�Z%e$e#dd�Z&e#jNZ(d�Z*d�Z+d �Z,d!�Z-ereegZ.n4ej d"k(reee gZ.nej d#k(rgZ.n ere gZ.neeee egZ.ej^d$k(re+ge.zZ0nej^d%k(re,ge.zZ0ne.Z0da1d&�Z2da3d1d'�Z4d(�Z5d)�Z6d*�Z7d+�Z8ed,�Z9ed-�Z:ed.�Z;ed/�Z)�win32�darwin� emscripten�wasiF�AIX�Linux�:�.T)zreserved for NCS compatibilityzspecified in RFC 4122z$reserved for Microsoft compatibilityzreserved for future definitionc��eZdZdZdZdZy)�SafeUUIDr�����N)�__name__� __module__� __qualname__�safe�unsafe�unknown���/usr/lib64/python3.12/uuid.pyrrNs�� �D� �F��Grrc�p�eZdZ dZ d ej d�d�Zd�Zd�Zd�Z d�Z d �Z d �Z d �Z d �Zd �Zd�Zd�Zd�Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Z ed��Z!ed��Z"y)!�UUID)�int�is_safe� __weakref__N)rc�>� |||||gjd�dk7r td��|�h|jdd�jdd�}|jd�jdd�}t |�dk7r t d ��t |d �}|�9t |�d k7r t d ��|d dd �|dd d �z|ddd �z|ddz}|�.t |�d k7r t d��t j|�}|��t |�dk7r t d��|\}} } } } } d|cxkrdkst d��t d��d| cxkrdkst d��t d��d| cxkrdkst d��t d��d| cxkrdkst d��t d��d| cxkrdkst d��t d��d| cxkrdkst d��t d��| dz| z}|dz| d zz| d!zz|d"zz| z}|�%d|cxkrd#d$zkst d%��t d%��|�9d#|cxkrdkst d&��t d&��|d'z}|d(z}|d)z}||d*zz}tj|d+|�tj|d,|�y)-N�zGone of the hex, bytes, bytes_le, fields, or int arguments must be givenzurn:�zuuid:z{}�-� z$badly formed hexadecimal UUID string�z bytes_le is not a 16-char string�r���zbytes is not a 16-char string�zfields is not a 6-tuplerlz*field 1 out of range (need a 32-bit value)iz*field 2 out of range (need a 16-bit value)z*field 3 out of range (need a 16-bit value)�z*field 4 out of range (need an 8-bit value)z*field 5 out of range (need an 8-bit value)�z*field 6 out of range (need a 48-bit value)�`�P�@�0��z*int is out of range (need a 128-bit value)zillegal version numberl���� �l�����Lrr) �count� TypeError�replace�strip�len� ValueError�int_� from_bytes�object� __setattr__)�self�hex�bytes�bytes_le�fieldsr�versionr�time_low�time_mid�time_hi_version�clock_seq_hi_variant� clock_seq_low�node� clock_seqs r�__init__z UUID.__init__�sH�� �: ���&�#� .� 4� 4�T� :�a� ?��=�>� >� �?��+�+�f�b�)�1�1�'�2�>�C��)�)�D�/�)�)�#�r�2�C��3�x�2�~� �!G�H�H��s�B�-�C� � ��8�}��"� �!C�D�D��c�g�2�g�&��#�c�"�*�)=�=��c�#�b�j�)�*�,4�Q�R�L�9�E� � ��5�z�R�� �!@�A�A��/�/�%�(�C� � ��6�{�a�� �!:�;�;�:@� 8�X�x�� !�=�$���(�5�(� �!M�N�N�)� �!M�N�N���(�5�(� �!M�N�N�)� �!M�N�N���/�%�/� �!M�N�N�0� �!M�N�N��,�3�t�3� �!M�N�N�4� �!M�N�N�� �,��,� �!M�N�N�-� �!M�N�N���$�u�$� �!M�N�N�%� �!M�N�N�-��2�m�C�I���N�x�2�~�6�#�r�)�+�.7�2�o�?�AE�F�C� �?���$�a��f�$� �!M�N�N�%� �!M�N�N� � ���$�1�$� �!9�:�:�%� �!9�:�:� �?� "�C� �<� �C� �?� "�C� �7�b�=� �C����4���,����4��G�4rc��d|ji}|jtjk7r|jj|d<|S�Nrr)rrrr�value)r=�ds r� __getstate__zUUID.__getstate__�s<�� �D�H�H� �� �<�<�8�+�+� +� �<�<�-�-�A�i�L��rc��tj|d|d�tj|dd|vrt|d��ytj�yrL)r;r<rr)r=�states r� __setstate__zUUID.__setstate__�sQ�����4���e� �5����4��'�5�0�$�E�)�$4�5� H�6>�6F�6F� Hrc�`�t|t�r|j|jk(StS�N�� isinstancerr�NotImplemented�r=�others r�__eq__z UUID.__eq__��%�� �e�T� "��8�8�u�y�y�(� (��rc�`�t|t�r|j|jkStSrTrUrXs r�__lt__z UUID.__lt__��%�� �e�T� "��8�8�e�i�i�'� '��rc�`�t|t�r|j|jkDStSrTrUrXs r�__gt__z UUID.__gt__�r^rc�`�t|t�r|j|jkStSrTrUrXs r�__le__z UUID.__le__r[rc�`�t|t�r|j|jk\StSrTrUrXs r�__ge__z UUID.__ge__r[rc�,�t|j�SrT)�hashr�r=s r�__hash__z UUID.__hash__ s���D�H�H�~�rc��|jSrT�rrgs r�__int__z UUID.__int__s ���x�x�rc�L�|jj�dt|��d�S)N�(�))� __class__r�strrgs r�__repr__z UUID.__repr__s���>�>�2�2�C��I�>�>rc��td��)NzUUID objects are immutable)r4)r=�namerMs rr<zUUID.__setattr__s���4�5�5rc �^�d|jz}|dd�d|dd�d|dd�d|dd�d|dd�� S)N�%032xr'r!� r#�rj)r=r>s r�__str__z UUID.__str__sE������ �� ���G�S��2�Y��B�r� �C��2�J��B�C��B� Brc�8�|jjd�S)Nr#)r�to_bytesrgs rr?z UUID.bytess���x�x� � ��$�$rc�Z�|j}|ddd�|ddd�z|ddd�z|ddzS)Nr$rr%r&r'�r?)r=r?s rr@z UUID.bytes_le!sK��� � ���c�g�2�g���s�3�r�z�!2�2�U�3�s�2�:�5F�F��a�b� �� rc��|j|j|j|j|j|j fSrT)rCrDrErFrGrHrgs rrAz UUID.fields's:��� � �t�}�}�d�.B�.B��)�)�4�+=�+=�t�y�y�J� Jrc� �|jdz S)Nr+rjrgs rrCz UUID.time_low,s���x�x�2�~�rc�&�|jdz dzS)Nr,���rjrgs rrDz UUID.time_mid0������B��&�(�(rc�&�|jdz dzS)Nr-r�rjrgs rrEzUUID.time_hi_version4r�rc�&�|jdz dzS)N�8��rjrgs rrFzUUID.clock_seq_hi_variant8������B��$�&�&rc�&�|jdz dzS)Nr.r�rjrgs rrGzUUID.clock_seq_low<r�rc�`�|jdzdz|jdzz|jzS)N��r.r")rErDrCrgs r�timez UUID.time@s7���&�&��/�B�6����"�$�&�(,� � �6� 7rc�@�|jdzdz|jzS)N�?r')rFrGrgs rrIzUUID.clock_seqEs(���+�+�d�2�q�8��"�"�#� $rc� �|jdzS)Nl���rjrgs rrHz UUID.nodeJs���x�x�.�(�(rc� �d|jzS)Nrurjrgs rr>zUUID.hexNs������!�!rc��dt|�zS)Nz urn:uuid:)rprgs r�urnzUUID.urnRs���S��Y�&�&rc��|jdzstS|jdzstS|jdzstStS)Nr1ll)r� RESERVED_NCS�RFC_4122�RESERVED_MICROSOFT�RESERVED_FUTURErgs r�variantz UUID.variantVs=���x�x�<�(�� ����\�*��O����\�*�%� %�"� "rc�`�|jtk(rt|jdz dz�Sy)Nr2�)r�r�rrgs rrBz UUID.versionas-�� �<�<�8� #�����B��#�-�.� .� $r)NNNNNN)#rrr� __slots__rrrJrOrRrZr]r`rbrdrhrkrqr<rx�propertyr?r@rArCrDrErFrGr�rIrHr>r�r�rBrrrrrUs���1�f2�I�CG�)-�T5�"*�"2�"2�T5�l�H��� � � � ��?�6�B� �%��%����� �J��J������)��)��)��)��'��'��'��'��7��7��$��$��)��)��"��"��'��'��#��#��/��/rrc�N�ddl}ddl}ddl}ddl} |jj d|j �j|j�}|jddg�|j||jj|���}|�yt|j�}d|d<|dk7r|g|��}n|f}|j||j|j|� �} | sy| j!�\} } |j#| �S#t$|j&f$rYywxYw) Nr�PATHz/sbinz /usr/sbin)�path�C�LC_ALL)r )�stdout�stderr�env)�io�os�shutil� subprocess�environ�get�defpath�split�pathsep�extend�which�join�dict�Popen�PIPE�DEVNULL� communicate�BytesIO�OSError�SubprocessError) �command�argsr�r�r�r�� path_dirs� executabler��procr�r�s r�_get_command_stdoutr�hs��%�%���J�J�N�N�6�2�:�:�6�<�<�R�Z�Z�H� ����'�;�/�0��\�\�'�� � ��� �0J�\�K� � � ���2�:�:�����H� � �5�=�!�)�D�)�G�!�m�G�����'1���'1�'9�'9�$'� �)�����)�)�+�����z�z�&�!�!�� �Z�/�/� 0����s�BD �AD �(#D � D$�#D$c��|dz S)Nlr��macs r� _is_universalr��s���w�� � rc�� t||�}|�yd}|D]�}|j�j�j�}t t |��D]M}|||vs� |||�} t | jtd�d�} t| �r| ccS|xs| }�O��|xsdS#ttf$rY�iwxYw)Nrr#) r��lower�rstripr��ranger7rr5� _MAC_DELIMr�r8� IndexError) r�r��keywords�get_word_indexr��first_local_mac�line�words�i�wordr�s r�_find_mac_near_keywordr��s����!��$� /�F� �~���O���� � � �#�#�%�+�+�-���s�5�z�"�A��Q�x�8�#� =� ���!2�3�D��d�l�l�:�s�;�R�@�C�%�S�)�"� �&5�&<��O�#��$ � "�d�"��#�J�/�� � �s�$+B0�0C�Cc�.�|jt�}t|�dk7rytr,t d�|D��sydj d�|D��}n$t d�|D��sydj |�} t |d�S#t$rYywxYw)Nr(c3�NK�|]}dt|�cxkxrdknc���y�w)r/�N�r7��.0�parts r� z_parse_mac..�s"����9�5�4�1��D� �&�Q�&�&�5�s�#%rc3�@K�|]}|jdd����y�w)r��0N)�rjustr�s rr�z_parse_mac..�s����@�%�$�$�*�*�Q��-�%�s�c3�8K�|]}t|�dk(���y�w)r�Nr�r�s rr�z_parse_mac..�s����4�e�d�3�t�9��>�e�s�r#)r�r�r7�_MAC_OMITS_LEADING_ZEROES�allr�rr8)r��parts�hexstrs r� _parse_macr��s��� �J�J�z� "�E� �5�z�Q��� � �9�5�9�9� ����@�%�@�@���4�e�4�4� ����%�����6�2���� ����s�< B� B�Bc�|� t||�}|�y|j�j�j�} |j |�}d}|D]H}|j�j�} ||} t| �} | ��5t| �r| cS|��G| }�J|S#t $rYywxYw#t $rY�gwxYwrT) r��readliner�r��indexr8r�r�r�) r�r��headingr�r�� column_indexr�r�r�r�r�s r�_find_mac_under_headingr��s���� !��$� /�F� �~����� �'�'�)�/�/�1�H���~�~�g�.� ��O���� � � �#�#�%�� ���&�D����� �;� � �� ��J� � "�!�O�� ���' ������ � � �s#�B �5B/� B,�+B,�/ B;�:B;c�B� d}dD]}td||d��}|s�|cSy)N)shwaddrsethersaddress:slladdr)r z-az-av�ifconfigc� �|dzS�Nr/r�r�s r�z#_ifconfig_getnode..s��1�Q�3r�r�)r�r�r�s r�_ifconfig_getnoder��s1��?�<�H�!��$�Z��x��O�� ��J�"� rc�.� tdddgd��}|r|Sy)N�ip�links link/etherc� �|dzSr�rr�s rr�z_ip_getnode.. s��!�A�#rr�r�s r� _ip_getnoder� s"��9� ��v� �� � N�C� �� � rc�l� ddl}ddl}t|d�sy |j|j ��}t dd|j|�gd��}|r|St dd|j|�gd��}|r|St dd|jd|z�gd��}|r|Sy#t $rYywxYw) Nr� gethostbyname�arpz-anc��y)Nrrr�s rr�z_arp_getnode..s��QSrc� �|dzSr�rr�s rr�z_arp_getnode..!s ��QR�ST�QTrz(%s)c� �|dzS)Nr�rr�s rr�z_arp_getnode..'s��a��cr)r��socket�hasattrr�� gethostnamer�r��fsencode)r�r��ip_addrr�s r� _arp_getnoder�s���:�� �6�?� +����&�&�v�'9�'9�';�<�� !��� �� � �G�0D�/E�|� T�C� �� � !��� �� � �G�0D�/E�}� U�C� �� � !��� �� � �F�W�.0s��rr�rrr�_lanscan_getnoder-s��>� !�)�U�W�I�{� K�Krc�� tddd�S)N�netstatz-iansAddress)r�rrr�_netstat_getnoder2s��>� "�9�f�j� A�Arc�� t�SrT��_windll_getnoderrr�_ipconfig_getnoder 7���;� � �rc�� t�SrTrrrr�_netbios_getnoder <r r�generate_time_safe� UuidCreatec��yrTrrrr�_load_system_functionsrOs��Hrc�X� tr#t�\}}t|��jSy)Nr|)�_generate_time_saferrH)� uuid_time�_s r� _unix_getnoderSs*��L��*�,� � �1��)�$�)�)�)�rc�R� tr t�}t|��jSy)N)r@)� _UuidCreaterrH)� uuid_bytess rrrYs%��O�� �]� ��Z�(�-�-�-�rc�4� ddl}|jd�dzS)Nrr.l)�random� getrandbits)rs r�_random_getnoder_s ���� � � �b� !�W� -�-rrr�posix�ntc�� t�tSttgzD]*} |�at��dtcxkr dks�"tcS�,y#Y�2xYw)Nrr*)�_node�_GETTERSr)�getters r�getnoder#�sZ��� ��� ��o�.�.�� ��H�E� � �A��$:�'�$:��L�%;� /�� � �s �A � Ac��� t�0||cxur�)nn&t�\}} t|�}t ||��Sddl}|j �}|dzdz}t�|tkr tdz}|a|�ddl}|jd�}|dz} |dz d z} |d z d z} |d z} |d z dz} |� t�}t | | | | | |fd��S#t$rtj}Y��wxYw)N)r?rr�dl@'Hw� r/�l��r"r�r.r�r�r'r�)rArB) rrr8rrr��time_ns�_last_timestamprrr#)rHrIr�safely_generatedrr�� nanoseconds� timestamprrCrDrErGrFs r�uuid1r,�s&��<��&�4�9�+D�&9�&;�#� �#� '��/�0�G��)�W�5�5���,�,�.�K��s�"�%7�7�I��"�y�O�'C�#�a�'� ��O�����&�&�r�*� ��:�%�H��R��6�)�H� �B��&�0�O���$�M�%��N�d�2�� �|��y�� ��(�O�,�m�T�C�LM� O�O��/� '��&�&�G� '�s� C�C"�!C"c�� t|t�r t|d�}ddlm}||j|zd��j �}t |ddd��S) N�utf-8r)�md5F)�usedforsecurityr#r$�r?rB)rVrpr?�hashlibr/�digestr)� namespacersr/r3s r�uuid3r5�sX��K��$����T�7�#��� ����$���� �f�h� � �f�S�b�k�1� -�-rc�D� ttjd�d��S)Nr#rr1)rr��urandomrrr�uuid4r8�s��!� �b�j�j��n�a� 0�0rc�� t|t�r t|d�}ddlm}||j|z�j �}t |ddd��S)Nr.r)�sha1r#r%r1)rVrpr?r2r:r3r)r4rsr:rfs r�uuid5r;�sM��M��$����T�7�#��� � ���$�&� '� .� .� 0�D� �d�3�B�i�� +�+rc�h� ttttd�}d}tt t td�}ddl}|jd��}|jdd|j�d d � �|jd d d��|jddd��|j�}||j}|j}|j}|j|vrJ|r|s|j!d|j�d��||vr||n t#|�}t%|||��yt%|��y)N)r,r5r8r;)r5r;)z@dnsz@urlz@oidz@x500rz2Generates a uuid using the selected uuid function.)� descriptionz-uz--uuidr8zLThe function to use to generate the uuid. By default uuid4 function is used.)�choices�default�helpz-nz --namespacez�The namespace is a UUID, or '@ns' where 'ns' is a well-known predefined UUID addressed by namespace name. Such as @dns, @url, @oid, and @x500. Only required for uuid3/uuid5 functions.)r@z-Nz--namezVThe name used as part of generating the uuid. Only required for uuid3/uuid5 functions.zIncorrect number of arguments. zO requires a namespace and a name. Run 'python -m uuid -h' for more information.)r,r5r8r;� NAMESPACE_DNS� NAMESPACE_URL� NAMESPACE_OID�NAMESPACE_X500�argparse�ArgumentParser� add_argument�keys� parse_args�uuidr4rs�errorr�print) � uuid_funcs�uuid_namespace_funcs� namespacesrE�parserr�� uuid_funcr4rss r�mainrR�sP��.����� �J� .������ �J�� � $� $�H�%�J�F� ����h� ���0A�7�=��>� ����m�C��D�  ����h�C��D� � � � �D��4�9�9�%�I����I� �9�9�D� �y�y�(�(��� �L�L�1��9�9�+�@�@� � .7�*�-D�J�y�)�$�y�/� � �i� �4�(�)� �i�k�rz$6ba7b810-9dad-11d1-80b4-00c04fd430c8z$6ba7b811-9dad-11d1-80b4-00c04fd430c8z$6ba7b812-9dad-11d1-80b4-00c04fd430c8z$6ba7b814-9dad-11d1-80b4-00c04fd430c8�__main__)NN)>r��sys�enumrr� __author__�platform�_AIX�_LINUX�system�_platform_systemr�r�r�r�r�r�rr9r?�bytes_rrr�r�r�r�r�r�r�r�rrr r �_uuid�getattrrr�has_uuid_generate_time_safe�_has_uuid_generate_time_safe� ImportErrorrrrr� _OS_GETTERSrsr!r r#r(r,r5r8r;rRrArBrCrDrrrr�rcsj��,�\ � �#�+� ��<�<�<�<���D�6��&�x���(���5�(�D��7�*�F� � �!����J� $��?N�;� �h�*�O� �� ���d������ P/�P/�f�\!� #�F�8!�L���8L� B� � � (��!�%�)=�t�D���%��t�4�K�#(�#D�#D� �I�*� .� .�, �� 1�2�K��\�\�X��$�l�4D�E�K��\�\�W���K� �#�$�K�$�k�<�#�%5�7�K��7�7�g�����,�H��W�W��_�� �;�.�H��H� ��O�,��$O�L .�1�,�.�f�;�<� ��;�<� ��;�<� ��<�=�� �z���F���a�(� �E����K�#'� � (�s�!$E?�? F�F