Your IP : 13.59.182.74


Current Path : /opt/alt/python313/lib64/python3.13/__pycache__/
Upload File :
Current File : //opt/alt/python313/lib64/python3.13/__pycache__/platform.cpython-313.opt-2.pyc

�

*}g۸��z�SrSrSSKrSSKrSSKrSSKrSSKrSSKrSSKqSSSSSSSSS	S	S
.
r
SrSKS
jrSLSjr
SMSjrSr/SQr/SQrSrSrSrSNSjrSrSOSjr\R0"S/SQ5rSPSjrSrSQSjr\R0"SS 5rSRS!jrS"rS#r SLS$jr!S%r"SLS&jr#S'S(S)S.r$\RJSS4S*jr&S+r'"S,S-5r(S.r)"S/S0\R0"S1S255r*Sq+S3r,S4r-S5r.S6r/S7r0S8r1S9r20r3SSS:jr4S;r5S<r6S=r7S>r8S?r9S@r:SAr;0r<STSBjr=SCr>Sq?SDr@SErA\BSF:XalSG\R�;=(d SH\R�;rDSI\R�;=(a SJ\R�;rE\F"\="\E\D55 \R�"S5 gg!\	a SqGN�f=f)Ua
    Copyright (c) 1999-2000, Marc-Andre Lemburg; mailto:mal@lemburg.com
    Copyright (c) 2000-2010, eGenix.com Software GmbH; mailto:info@egenix.com

    Permission to use, copy, modify, and distribute this software and its
    documentation for any purpose and without fee or royalty is hereby granted,
    provided that the above copyright notice appear in all copies and that
    both that copyright notice and this permission notice appear in
    supporting documentation or portions thereof, including modifications,
    that you make.

    EGENIX.COM SOFTWARE GMBH DISCLAIMS ALL WARRANTIES WITH REGARD TO
    THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    FITNESS, IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL,
    INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
    FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
    NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
    WITH THE USE OR PERFORMANCE OF THIS SOFTWARE !

z1.0.8�N�
���(�2��)
�dev�alpha�a�beta�b�c�RC�rc�pl�pc��[R"S5n/nURU5H,nUS;dM[US5nSnURXC45 M. U$![a [
R
US5nN:f=f)Nz([0-9]+|[._+-])z._+-r�dr)�re�compile�split�int�
ValueError�_ver_stages�get�extend)�version�component_re�result�v�ts     �//opt/alt/python313/lib64/python3.13/platform.py�_comparable_versionr#�s���:�:�0�1�L�
�F�
�
�
��
(���F�?�
*���2�J����
�M�M�1�&�!�)��M���
*��O�O�A�q�)��
*�s�A� A?�>A?�c��U(d[[R"S5nURSS9n[U5S:Xa[	U5$[RnU(dX4$[R"S[R5n[n[RRU5n[!US5nUR#U5n	Sn
U
[U	5:GakSU	;dS	U	;aUR%X�5nOSnU(aUR'5[U	5:XaBUR#U5nU(a"U	[)U
[U	5S
-
5SU-n	Sn
M�U(dO�UR+5V
s/sHn
U
bU
R-S5OU
PM sn
up�nnnnU(a
U(dSnOwU(a US
:waS
nUnOeU"U5U"U5:�aUnOPU(aIUS
:waCSnU(aU(aU"U5U"U5:�aUnU(aU[U5*SU:waUU-nUR'5n
U
[U	5:aGMkSSS5 X4$![
[[4a GN"f=fs sn
f!,(df   X4$=f)N�CS_GNU_LIBC_VERSION�)�maxsplit�sC(__libc_init)|(GLIBC_([0-9.]+))|(libc(_\w+)?\.so(?:\.(\d[0-9.]*))?)�rbrslibcsGLIBCi��latin1�libc�glibc)�os�confstrr�len�tuple�AttributeErrorr�OSError�sys�
executablerr�ASCIIr#�path�realpath�open�read�search�end�max�groups�decode)r5�libr�	chunksize�ver�parts�libc_search�V�f�binary�pos�m�chunk�s�libcinitr-�glibcversion�so�threads�	soversions                    r"�libc_verrQ�s^���	��*�*�2�3�C��I�I�q�I�)�E��5�z�Q���U�|�#���^�^�
���<���*�*�B�DF�8�8�	M�K�	�A����!�!�*�-�J�	
�j�$�	�1����	�"�����C��K���&� �H��$6��&�&�v�3���������3�v�;�.����y�)���#�C��S��[�4�-?�$@�$A�B�U�J�F��C��������E%�#�A�'(�m�����"��:�#�E%�A�H�\�2�w�	�������'�>�!�C�*�G��|�_�q��z�1�*�G����'�>� �C� �'�Q�y�\�A�g�J�5N�"+���7�C��L�=�>�#:�g�#E�")�G�"3���%�%�'�C�?�C��K��
 �F�<���q�
�G�4�	��	��JE%�!
 �	�F�<��s1�>I�9B<I4�5 I/�B0I4�I,�+I,�/I4�4
Jc	���URS5nU(aURU5 [[[[[
U555nSRUSS5nU$![a UnN$f=f)N�.�)r�append�list�map�strrr�join)r�build�l�stringss    r"�
_norm_versionr]�sm��
	�
�
�c��A��	�������s�3��C���,�-���h�h�w�r��{�#�G��N�������s�'A(�(A7�6A7��win32�win16�dosc
���[RU;aXU4$SSKnSH,nURUURURSSSS9n O XU4$[R"S5nUR5nURU5n	U	b:U	R5upnUSS:XaUSSnUSS:XaUSSn[U5nXU4$![
UR4anSnAM�SnAff=f)	Nr)rBzcommand /c verz
cmd /c verT�locale)�stdin�stderr�text�encoding�shellz'(?:([\w ]+) ([\w.]+) .*\[.* ([\d.]+)\])���rS)
r4�platform�
subprocess�check_output�DEVNULLr3�CalledProcessErrorrr�strip�matchr>r])
�system�releaser�supported_platformsrk�cmd�info�why�
ver_outputrIs
          r"�_syscmd_verrx
s���|�|�.�.���'�'��6��	��*�*�3�1;�1C�1C�2<�2D�2D�04�4<�15�+�7�D�
�7���'�'����-�.�J�
�:�:�<�D������A��}�#$�8�8�:� ����2�;�#���c�r�l�G��2�;�#���c�r�l�G� ��(���G�#�#��3��6�6�7�	���	�s�(C�C,�'C,c�f^�[(d[S5eSSS.Un[R"SRSR	U5U55RS5nSU5nUVs0sHoDS	US
_M
 snmU4SjU5$![a Sq[S5ef=fs snf)Nz
not supported�Win32_OperatingSystem�Win32_Processor)�OS�CPUzSELECT {} FROM {}�,�c3�B# �UHoRS5v� M g7f)�=N)�	partition)�.0�is  r"�	<genexpr>�_wmi_query.<locals>.<genexpr>Qs���1�D�q�+�+�c�"�"�D�s�rr)c3�.># �UH
nTUv� M g7f�N�)r��k�	dict_datas  �r"r�r�Ss����'�$�Q�I�a�L�$�s�)�_wmir3�
exec_query�formatrYr)�table�keys�data�
split_datar�r�s     @r"�
_wmi_queryr�As�����4��o�&�&�%� �
��

�E�'����2�9�9��H�H�T�N�� 
���5��;�	
�2�D�1�J�%/�0�Z��1��q��t��Z�0�I�'�$�'�'���'����o�&�&�'��1s�AB�2B.�B+))�rr'r�post11))rri�U�11)���r�10)�r�rTrz8.1)�r�r)r�8)�r�r'r�7)�r�rr�Vista))�r)i��XP64)�r�r)r�XPMedia))r�r'r�XP)�r�rr�2000)
)r��post2022Server))rri|O�
2022Server))rricE�
2019Server)r��
2016Server)r��2012ServerR2)r��
2012Server)r��2008ServerR2)r��
2008Server)r��
2003Server)r��
2000Serverc��[5S;$)N)�IoTUAP�
NanoServer�WindowsCoreHeadless�	IoTEdgeOS)�
win32_editionr��r"�win32_is_iotr�qs���?�Z�Z�Zr�c���SSKnSnURURU5nURUS5SsSSS5 $!,(df   g=f![a gf=f![
a gf=f)Nr�,SOFTWARE\Microsoft\Windows NT\CurrentVersion�	EditionId)�winreg�	OpenKeyEx�HKEY_LOCAL_MACHINE�QueryValueExr3�ImportError)r��cvkey�keys   r"r�r�ts���
��	�C�E��!�!�&�";�";�U�C�s��*�*�3��<�Q�?�D�C�C�
���	���	���
���
�s>�A%�A�A�	A�
A�A�A�
A"�!A"�%
A2�1A2c�j�[SSSSSS5upp$n[U5S:HnU(aUS:wa	S	US
U3nOS	U3nXX&4$![a Of=fSSKJn O![
a XUS
4s$f=fU"5n[
USS5S:Hn[5Sn[[URS
55up�nO=![a0 UR=(d USSup�nSRX�U5nOf=fUSSX�4:Xa>SRUR5nO!![a USSS:XaS	USS-nOf=fSSKnSn
UR!UR"U
5nUR%US5SnSSS5 O1!,(df   O#=f![a Of=f![
a Of=fXX&4$)Nr|�Version�ProductType�	BuildType�ServicePackMajorVersion�ServicePackMinorVersionr'�0�SPrSr)�getwindowsversionT�product_typer)rTz{0}.{1}.{2}zSP{}�
z
Service Pack r��CurrentType)r�rr3r4r�r��getattrrxrWrr�platform_versionr��service_pack_majorr2r�r�r�r�)r�csd�ptyper��spmajor�spminor�	is_clientr��winver�major�minorrZr�r�r�s               r"�
_win32_verr��s���
�<F�����%�%�
=
�8������&�!�+�	��w�#�~��w�i�q��	�*�C��w�i�.�C��U�-�-���
��
��)�)���)��U�D�(�(�)���
 �F�����3�q�8�I�<��-��"��!�#�w�}�}�S�'9�:���e���<�$�5�5�C�������e��&�&�u�U�;��<���b�q�z�e�^�#�	&��-�-�� 9� 9�:�C���	&��3�B�x�?�*��S���X�o���	&��
��	�C�E��!�!�&�";�";�U�C�s��+�+�C��?��B��D�C�C���	��	���
��
����)�)s��AA�
A�A�A�A-�,A-�/B8�87C2�1C2�D�D:�9D:�>F!�F�!F�7F�
F�
F�F�
F�F�!
F.�-F.c��^�Sn[XU5upp4U(aQ[[[UR	S555mU(a[
O[n[U4SjU5U5nXX#4$)NFrSc3�<># �UHupUT::dM
Uv� M g7fr�r�)r�r �r�
intversions   �r"r��win32_ver.<locals>.<genexpr>�s����B�h�d�a�!�z�/���h�s��	)r�r1rWrr�_WIN32_CLIENT_RELEASES�_WIN32_SERVER_RELEASES�next)rrrr�r�r��releasesr�s      @r"�	win32_verr��s^����I�%/��e�%D�"�G�%���3�s�G�M�M�#�$6�7�8�
�-6�)�<R���B�h�B�G�L���S�'�'r�c�L�Sn[RRU5(dgSSKn[US5nUR
U5nSSS5 WSnSn[R"5RnUS;aSnXEU4$![a gf=f!,(df   NP=f)Nz0/System/Library/CoreServices/SystemVersion.plistrr*�ProductVersion�r$r$r$)�ppczPower Macintosh�PowerPC)	r.r7�exists�plistlibr�r9�load�uname�machine)�fnr�rFrrr�versioninfor�s       r"�_mac_ver_xmlr��s���	;�B�
�7�7�>�>�"������
�b�$��1�
�]�]�1�
��
��!�"�G��K��h�h�j� � �G��,�,�����(�(�������
��s�B�B�
B�B�
B#c�(�[5nUbU$XU4$r�)r�)rrr�r�rus    r"�mac_verr��s#���>�D�������(�(r��IOSVersionInfo)rqrr�model�is_simulatorc��[RS:XaSSKnUR5nUb[	U6$[	XX#5$)N�iosr)r4rj�_ios_support�get_platform_iosr�)rqrrr�r�r�rs      r"�ios_verr��s?���|�|�u����.�.�0����!�6�*�*��&�5�?�?r�c�d�SSKJn URU5nUcU$U$![a Us$f=f)Nr)�System)�	java.langr��getPropertyr2)�name�defaultr��values    r"�
_java_getproprs=�� ���"�"�4�(���=��N���������s� � �/�/c�H�SSKnURSSS9 SSKn[	SU5n[	SU5nUupgn[	SU5n[	SU5n[	S	U5nXgU4nUup�n[	S
U5n[	SU	5n	[	SU
5n
X�U4nXX#4$![a XX#4s$f=f)
Nr�java_ver)rT�)�removezjava.vendorzjava.versionzjava.vm.namezjava.vm.vendorzjava.vm.versionzjava.os.archzjava.os.namezjava.os.version)�warnings�_deprecatedrr�r)rr�vendor�vminfo�osinfor
�java�vm_name�
vm_release�	vm_vendor�os_name�
os_version�os_archs            r"rrs��������G��4�/���=�&�
1�F��N�G�4�G�%+�"�G���N�G�4�G��.�	�:�I��0�*�=�J�
�)�
+�F�#)� �G���N�G�4�G��N�G�4�G��0�*�=�J�
�'�
)�F��F�*�*��!�/���.�.�/�s�B�B!� B!�
AndroidVerz7release api_level manufacturer model device is_emulatorc�D^	^
�[RS:XanSSKJnJnJm	 [
U"S5S5m
Xw4T
lU	U
4SjnU"SU5n[U"SU55nU"S	U5nU"S
U5nU"SU5nU"SS
5S:Hn[XX#XE5$![a Nf=f)N�androidr)�CDLL�c_char_p�create_string_bufferzlibc.so�__system_property_getc�>�SnT"U5nT"URS5U5nUS:XaU$URRSS5$)N�\zUTF-8r�backslashreplace)�encoderr?)rr�PROP_VALUE_MAX�buffer�lengthr�system_property_gets     ��r"�getprop�android_ver.<locals>.getpropLsM���!#��-�n�=��,�T�[�[��-A�6�J���Q�;�#�N�!�<�<�.�.�w�8J�K�Kr�zro.build.version.releasezro.build.version.sdkzro.product.manufacturerzro.product.modelzro.product.devicezro.kernel.qemur��1)r4rj�ctypesrrrr��argtypesrr�r)rr�	api_level�manufacturerr��device�is_emulatorrrr%rr$s         @@r"�android_verr.>s����
�|�|�y� �	@�C�C�#*�$�y�/�;R�"S��,4�+?��(�

L��8�'�B�G��G�$:�I�F�G�I�"�#<�l�K�L��.��6�E��0�&�9�F�!�"2�C�8�C�?�K���L��F�F��9�	��	�s�
B�
B�Bc��US:XaaUS:aXU4$URS5nU(a3[US5nUS-
n[U5US'SRU5nUS:aSnOSnOUS;aS	nXU4$![a N$f=f)
N�SunOS�5rSrrT�6�Solaris�r_r`�Windows)rrrXrYr)rqrrrr[r�s     r"�system_aliasr6es�������S�=��G�+�+��M�M�#����
&��A�a�D�	����	���5�z��!���(�(�1�+���S�=��F��F�	�%�	%���
�G�#�#��'�
��
�s�A4�4
B�Bc��SRS[[U555nURSS5nURSS5nURSS5nURSS5nURSS5nURS	S5nURS
S5nURSS5nURSS
5nURSS5nX!:XaOUnMU(a USS:XaUSSnU(aUSS:XaMU$)N�-c3�@# �UHoR5v� M g7fr�)ro)r��xs  r"r��_platform.<locals>.<genexpr>�s���=�+<�a���	�	�+<�s�� �_�/�\�:�;�"�(�)�unknownr$z--ri)rY�filterr0�replace)�argsrj�cleaneds   r"�	_platformrJ�s!���x�x�=�6�#�t�+<�=�=�H�����S�)�H�����S�)�H�����c�*�H�����S�)�H�����S�)�H�����S�)�H�����S�)�H�����S�)�H����	�2�.�H���"�"�4��-�������	�
�x��|�s�*��C�R�=���x��|�s�*��Or�c�v�SSKnUR5$![a Us$f=f![a Us$f=f�Nr)�socketr��gethostnamer3)rrMs  r"�_noderO�sI������!�!�#�#��	������
�����s��)�&�&�8�8c��[RRU5n[RRU5(a�[RR	[RR[RR
U5[R"U555n[RRU5(aM�U$r�)r.r7�abspath�islink�normpathrY�dirname�readlink)�filepaths r"�_follow_symlinksrW�s���
�w�w���x�(�H�
�'�'�.�.��
"�
"��7�7�#�#��G�G�L�L�������2�B�K�K��4I�J�L��
�'�'�.�.��
"�
"��Or�c�P�[RS;aU$SSKn[	U5n[[RSS9nURSSU/URUS9nU(dU$URS5$![a Us$f=f![UR4a Us$f=f)	N>rar��tvosr`r_�watchosr�C)�LC_ALL�filez-b)re�envzlatin-1)
r4rjrkr�rW�dictr.�environrlrmr3rnr?)�targetrrkr^�outputs     r"�_syscmd_filerc�s����|�|�J�J������f�
%�F��r�z�z�#�
&�C���(�(�&�$��)?�0:�0B�0B�-0�)�2��
����=�=��#�#��#������
�Z�2�2�3�����s#�A8�B
�8B�B�
B%�$B%)r$�	WindowsPE)r$r5)r$�MSDOSc��U(d&SSKnURS5n[US-5S-nU(a
[US5nOSnU(dZU[R
:XaF[R[;a+[[RupgU(aUnU(aUnX4$SU;a	SU;aX4$SU;aS	nOS
U;aSnSU;aSnX4$S
U;aS
nX4$SU;aSU;aSnX4$SnX4$SU;aSnX4$SU;aSnX4$X4$)Nr�P��bitr$r5z
shared objectz32-bit�32bitz64-bit�64bit�ELFzMach-O�PEr5rd�COFFzMS-DOSre)�struct�calcsizerXrcr4r5rj�_default_architecture)r5�bits�linkagero�size�fileoutr
r[s        r"�architecturerv�s[��.�����s�#���4�!�8�}�u�$����z�2�.������S�^�^�#��<�<�0�0�(����6�D�A��������}���7�"��g�'E��}���7����	�W�	���
�����"�=��!
�W�	����=��
������!�G��=���G��=��
�7�	����=��

�W�	���
�=��	
��=�r�c�.�[SS5tp/SQ[U5nU(aU$[
RRSS5=(d  [
RRSS5$![[4a NYf=f![a Nif=f)Nr}�Architecture)
�x86�MIPS�Alphar�N�ARM�ia64NN�AMD64NN�ARM64�PROCESSOR_ARCHITEW6432r$�PROCESSOR_ARCHITECTURE)r�rr�
IndexErrorr3r.r`r)�archr=s  r"�_get_machine_win32r�Ds������~�6�
��		���$�i��D�����	�
�
���/��4�	5�
�
�
���/��4����J�'�	��	���
��
�s"�
B�A1�1B�B�
B�Bc�<�\rSrSr\S5rSrSrSrSr	Sr
g)	�
_Processori`c�r�[US[R3UR5nU"5=(d S$)N�get_r$)r�r4rj�from_subprocess)�cls�funcs  r"r�_Processor.getas-���s�d�3�<�<�.�1�3�3F�3F�G���v�|��r�c��[SSS5upUSU3$![a+ [RR	S[55s$f=f)Nr}�Manufacturer�Caption�, �PROCESSOR_IDENTIFIER)r�r3r.r`rr�)r+�captions  r"�	get_win32�_Processor.get_win32fsX��	0�$.�u�n�i�$P�!�L��Y�b���/�/���	P��:�:�>�>�"8�:L�:N�O�O�	P�s��2A
�A
c�h�SSKnURSS5upUS:�aS$S$![a gf=f)NrzSYI$_CPU�r{�VAX)�vms_lib�getsyir�)r��csid�
cpu_numbers   r"�get_OpenVMS�_Processor.get_OpenVMSnsE��	;�� '�~�~�j�!�<��D�(�C�/�7�:�U�:��	�	��	�s�$�
1�1c��[RRRS5(a[R
"5R$g)N�	simulator�arm64)r4�implementation�
_multiarch�endswithr.r�r�r�r�r"�get_ios�_Processor.get_ioszs4�����(�(�1�1�+�>�>��8�8�:�%�%�%�r�c��SSKnURSS/URSSS9R	5$![a gf=f![
UR4a gf=f)Nrr�z-pT�utf8)rerfrg)rkr�rlrmror3rn)rks r"r��_Processor.from_subprocesssx��	��	��*�*��$��!�)�)���	+��
�e�g�
���	��	����6�6�7�	��	�s�3�+A�
A�A�A�Ar�N)�__name__�
__module__�__qualname__�__firstlineno__�classmethodrr�r�r�r��__static_attributes__r�r�r"r�r�`s(������0�;��
r�r�c��US:XaS$U$)NrEr$r�)�vals r"�_unknown_as_blankr��s���	�!�2�*�s�*r�c�r^�\rSrSrSr\RS5rU4Sjr\	S5r
SrSrSr
S	rU=r$)
�uname_resulti�)rq�noderrrr��	processorc�<�[[R55$r�)r�r�r��selfs r"r��uname_result.processor�s�� ����!1�2�2r�c�`>�[R"[TU]
5UR45$r�)�	itertools�chain�super�__iter__r�)r��	__class__s �r"r��uname_result.__iter__�s)�������G���
�^�^��
�	
r�c��[UR5S-
nUR"U/UQ76n[U5US-:waSUS[U53n[U5eU$)Nr'z	Expected z arguments, got )r0�_fields�__new__�	TypeError)r��iterable�
num_fieldsr�msgs     r"�_make�uname_result._make�s`������%��)�
����S�,�8�,���v�;�*�q�.�(��j�\�)9�#�f�+��G�C��C�.� ��
r�c��[U5U$r�)r1)r�r�s  r"�__getitem__�uname_result.__getitem__�s���T�{�3��r�c�<�[[[U555$r�)r0r1�iterr�s r"�__len__�uname_result.__len__�s���5��d��$�%�%r�c�V�[[U5S[UR5S-
4$�Nr')r�r1r0r�r�s r"�
__reduce__�uname_result.__reduce__�s'���U�4�[�)?�#�d�l�l�*;�a�*?�@�@�@r�r�)r�r�r�r�r��	functools�cached_propertyr�r�r�r�r�r�r�r��
__classcell__)r�s@r"r�r��sR���O�G����3��3�
����� �&�A�Ar�r��uname_result_basez#system node release version machinec�f�[b[$[R"5=upp#pE[U5(d�US:Xa [5up#pgU=(d
 [5nU(aU(d3[U5upnUS:XaSnOUS:XaUS:XaSnSUSS:XaS	nOSnUS
;aU(dUS:XaSnOSnSnO2USS
S:Xa)[5up(p�SnSRU	5nU(dUnUS:XaU(aUS:XaUnSnUS:Xa
US:XaSnS	n[R
S:XaSn[5Rn[R
S:Xa[5up nXX#U4n[![#[$U56q[$![a% [R
n[
5nS=n=p4SnGN�f=f)Nr$r�r_zMicrosoft Windowsr5�	Microsoftz6.0rTr�r4rj�16bitr�r�Javar��OpenVMSr�r�Androidr�)�_uname_cacher.r�r2r4rjrO�anyr�r�rxrrYr.rrr�r�rWr�)
rqr�rrrr��infosr�r�rr
rr=�valss
             r"r�r��s��������:<�(�(�*�D�/��g���u�:�:��W��+4�;�(�G�c��5�!3�!5�G��G�'2�6�':�$�F�W��,�,�"���;�&�7�i�+?�
#���G�B�Q�K�'�%�G� �G��'�'���W�$�%�G�%�G��F�
�B�Q�Z�6�
!�.6�j�+�G�V��F��i�i��'�G�� ������'�S�.��G��G�����I�!5������|�|�y� ����-�'�'���|�|�u�� '�	����A���7�2�D���%6��!=�>�L����U�������w��&(�(��(�'���	�s�F�+F0�/F0c�*�[5R$r�)r�rqr�r�r"rqrq)s���7�>�>�r�c�*�[5R$r�)r�r�r�r�r"r�r�2s���7�<�<�r�c�*�[5R$r�)r�rrr�r�r"rrrr<����7�?�?�r�c�*�[5R$r�)r�rr�r�r"rrEr�r�c�*�[5R$r�)r�r�r�r�r"r�r�Nr�r�c�*�[5R$r�)r�r�r�r�r"r�r�Ws���7���r�c��Uc[Rn[RUS5nUbU$[RRS5(a|[R"S[R5nSnURU5nUc[S[U5-5eUR5upVpxn	UcSn[Rn
O�SU;aY[R"S5nSnURU5nUc[S[U5-5eUR5upVpxSn
O{[R"S	[R5nURU5nUc[S
[U5-5eUR5upVpxn
SnUcSnOU(aUS-U-n[
5(a[Rup�nO-[5(a[Rup�nOSn
SnUR!S5n[#U5S:Xa"UR%S5 SR'U5nX5X�XgU
4nU[U'U$)NrzL([\w.+]+)\s*\(#?([^,]+)(?:,\s*([\w ]*)(?:,\s*([\w :]*))?)?\)\s*\[([^\]]+)\]?�Jythonz&failed to parse Jython sys.version: %sr$�PyPyzE([\w.+]+)\s*\(#?([^,]+),\s*([\w ]+),\s*([\w :]+)\)\s*\[PyPy [^\]]+\]?z$failed to parse PyPy sys.version: %szu([\w.+]+)\s*(?:experimental free-threading build\s+)?\(#?([^,]+)(?:,\s*([\w ]*)(?:,\s*([\w :]*))?)?\)\s*\[([^\]]+)\]?z'failed to parse CPython sys.version: %s�CPythonr<�_git�
_mercurialrSr)r�)r4r�_sys_version_cacherrj�
startswithrrr6rpr�reprr>�hasattrr�r�rr0rUrY)�sys_versionr�jython_sys_version_parserrrpr�buildno�	builddate�	buildtimer=�compiler�pypy_sys_version_parser�cpython_sys_version_parser�branch�revisionr[s                r"�_sys_versionr�gsL��*���k�k�� �
#�
#�K��
6�F�
���
�
�|�|���v�&�&�$&�J�J�
�!�h�h�%(�!���)�/�/��<���=��8��[�!�"�#�
#�5:�L�L�N�1��)�����I��<�<��	�;�	�"$�*�*�
 �#!��
��'�-�-�k�:���=��C�!�+�.�/�0�
0�16����.��)���&(�Z�Z�
�
!�h�h�
&(�"�+�0�0��=���=��9��[�!�"�#�
#��l�l�n�	9��)�������I�
�!�C��)�3�I��s�F���!�h�h���8�	��l�	#�	#�!�n�n���8�����	�
�
�c��A�
�1�v��{�	����
��(�(�1�+���V�w�8�
L�F�&,��{�#��Mr�c��[5S$rL�r�r�r�r"�python_implementationr�s���>�!��r�c��[5S$r�rr�r�r"�python_versionr�s���>�!��r�c�L�[[5SRS55$)Nr'rS)r1r�rr�r�r"�python_version_tupler�s!������"�(�(��-�.�.r�c��[5S$)Nr)rr�r�r"�
python_branchr�s���>�!��r�c��[5S$)NrTrr�r�r"�python_revisionr	�s���>�!��r�c��[5SS$)Nr�r�rr�r�r"�python_buildrs���>�!�A��r�c��[5S$)Nr�rr�r�r"�python_compilerr
s���>�!��r�c	���[RX4S5nUbU$[5up4pVpxXx:XaSnU(a[X5U5up5nUS:Xa;[R
S:Xa[
5up5 n	O[5Sn
U
(aSnU
nUS:Xa.[U5up�p�U(a[X55nO�[X5Xm5nO�US:Xa[5unn[X5XxSUU-5nO�US	:Xa?[5unnnunnnU(dU(d
[X5U5nOO[X5US
UUU5nO>U(a[X55nO+[[R5unn[X5UUUU5nU[X4'U$)Nr$�Darwinr�r�macOSr5�Linux�withr��on)�_platform_cacherr�r6r4rjr�r�r�rJrQrrvr5)�aliased�terserrqr�rrrr�r�r=�
macos_release�rel�versr�r�rj�libcname�libcversionr�r r
rrrrrrss                          r"rjrjs~��&�
 �
 �'�!1�4�
8�F�
���
�:?��6�F�'�G����	��#/���#I� ���
����<�<�5� �$+�I�!�F�Q��#�I�a�L�M�� ��'��
��� )�'� 2���3�� ��1�H� ��'�?�H�	�7�	� (�
���+��V�g�#�%�k�1�3��
�6�	�7?�z�4��1�f�4�w�
�G��� ��'�:�H� ��'�!%�!(�*�g�?�H�� ��1�H�(����8�M�D�'� ��'�!*�D�'�;�H�)1�O�W�$�%��Or�)z/etc/os-releasez/usr/lib/os-releasec��SSSS.n[R"S5n[R"S5nUHKnURU5nUcMURSUR	S55XR	S5'MM U$)	Nr�linux)�NAME�ID�PRETTY_NAMEzA^(?P<name>[a-zA-Z0-9_]+)=(?P<quote>["']?)(?P<value>.*)(?P=quote)$z\\([\\\$\"\'`])z\1rr)rrrp�sub�group)�linesru�os_release_line�os_release_unescape�line�mos      r"�_parse_os_releaser(ts�������D��j�j�M��O��*�*�%7�8����
�
"�
"�4�
(��
�>�%8�%<�%<��r�x�x��(�&�D���&�!�"���Kr�c�h�[ccSn[H5n[USS9n[U5qSSS5  [R5$ [	USSR
[535e[R5$!,(df   N[=f![anUR
nSnAM�SnAff=f)Nzutf-8)rgzUnable to read files r�)�_os_release_cache�_os_release_candidatesr9r(r3�errnorY�copy)r,�	candidaterF�es    r"�freedesktop_os_releaser0�s���
� ���/�I�
 ��)�g�6�!�(9�!�(<�%�7���!�!�#�#�0���'��	�	�2H�(I�'J�K��
�
�!�!�#�#�7�6���
 ������
 �s-�
B�A?�B�?
B
	�	B�
B1�B,�,B1�__main__rz--terse�
nonaliasedz--nonaliased)Nr$r$i@)r$)r$r$r$r^)r$r$r$r$)r$r�r$)r$r$r$F)r$r$r�r�)r$rr$r$r$Fr�)FF)H�
__copyright__�__version__�collectionsr.rr4r�r�r�r�rr#rQr]rxr�r�r�r�r�r�r�r�r��
namedtupler�r�rrrr.r6rJrOrWrcrqr5rvr�r�r�r�r�r�rqr�rrrr�r�r�r�rrrrr	rr
rrjr+r*r(r0r��argvrr�print�exitr�r�r"�<module>r:sn��z�
�*���	�	�
������
�b��R�	�
�B�

�C�	��� N�`
�202�#<�4$�n(�*����[�
�9*�v
(�)�,)�*�'�'��2���
@� 	�!+�H�
#�
#��K�M�
�LN�!�"F�N&$�T�@
�	� $�N�
���� �N�N��R�K�\�8/�/�d+�)A�����-�/�)A�X��^�D�����
���f�P
��	/�������K�bD�����6$�2�z��
����
 �
9�I����$9�E��3�8�8�+�N�N�c�h�h�4N�G�	�(�7�E�
"�#��H�H�Q�K���Y)���D��s�F.�.F:�9F:

?>