403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.217.141
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Python315/Lib/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Python315/Lib/__pycache__/tarfile.cpython-315.opt-2.pyc
R
>lqjO�c�"�QsQs]QHGs]PHs]PHs]PHs]PH s]PH$s	]PH(s
]PH,s]PH0s]PH4s
]PH:s]PHBs\\\1s,QcNsQsQs\]*sQsQs]ds]ds]�sQsQsQs Qs!Qs"Qs#Qs$Qs%Qs&Qs'Qs(Q s)Q!s*Q"s+Q#s,]s-]s.]s/\/s0\\\ \!\$\%\&\"\#\'\(\)1s1\\\&\)1s2\'\(\)1s3Qds4.Qels5Q(\6Q)\6Q%\6Q&\7Q'\7Q$\7-s8\OrQ*6XcQ+s:L\Ov2s:Q,s<Q-s=Q.s>]\01Q/ks?Q0s@P\P1Q1ksAQfsBQ2sCQ3sDQ4Q\E2sFQ5Q	\F2sGQ6Q\F2sHQ7Q\F2sIQ8Q\F2sJQ9Q
\F2sKQ:Q;\K2sLQ<Q=\K2sMQ>Q?\K2sNQ@QA\K2sOQBQC\K2sPQDQE2sQQFQG2sRQHQI\S2sTQJQK\S2sUQLQM\O�2sWQNQ\F2sXQOQ\X2sYQPQ
\X2sZQQQ\X2s[QRQ\X2s\QSQ\X2s]QTQ\X2s^\X\\G1s_QgQUks`QVsaQWsbQXsc\dQY\aQZ\bQ[\c-2se\S2sf\
O�Q\2shQ]Q\S2siQ^Q\S2sjQ_sk\jOsQ`slQasm\nQb6Xc
\l2P!P!\cPsCKHh9h\cPsCKSh9h)hu"Lars Gustäbel (lars@gustaebel.de)u4Gustavo Niemeyer, Niels Gustäbel, Richard Townsend.)�open�TarFile�TarInfo�TarError�	ReadError�CompressionError�StreamError�ExtractError�HeaderError�FilterError�AbsoluteLinkError�OutsideDestinationError�SpecialFileError�AbsolutePathError�LinkOutsideDestinationError�LinkFallbackError��sustar  sustar00�0�1�2�3�4�5�6�7�L�K�S�x�g�X�size�mtime�uid�gid�atime�ctime�nt�utf-8c��Ue[Q2gUOV#2oUPUU[U2*
[**!)Nzmetadata cannot contain None)�
ValueError�encode�len�NUL)�s�length�encoding�errorss&&&&�C:\Python315\\Lib\tarfile.py�stnr3�sA��	�y��7�8�8�	����"�A��W�f�:��#�a�&��C�/�/�/�c�`�UOQ2oUP6wcUPUoUOV2!)r)�find�decode)r.r0r1�ps&&& r2�ntsr9�s2��	
���u�
�A��B�w�
�b�q�E���8�8�H�%�%r4c��U]*Q7cv]o[[U2]*
2FD"oU]*oVU]***
oJ$	U]*]�6Xc"Q[U2]*
*U*
'oU![UQQ2o[UO	29%fQ]2oU![
c
[
Q2gh9h)���ascii�strict�0�invalid header)��)�ranger,r9�int�stripr*�InvalidHeaderError)r.�n�is&  r2�ntirI�s���
	��t�~��
���s�1�v��z�"�A�
�!�G�A�
�1�q�5��M�A�#�
�Q�4�5�=��#�a�&�1�*�%��)�*�A�
�H�	7��A�w��)�A��A�G�G�I�$�$��a�(�A�
�H���	7�$�%5�6�6�	7�s�(B9�/B9�9	C�
Cc��[U2o]St96:c]U]*
*6c-LL)[QU]*
U1*Q2[*oU!U[6Xc�QU]*
*'St96:cQU]*
*6crLLnU]6�c[	]�,2oL[	]�,2oQU*U*o[U]*
2FD%oUO
]U]�*2U]*oJ'	U![Q2g)r;z%0*or=r<zoverflow in number field)rD�bytesr-�
GNU_FORMAT�	bytearrayrC�insertr*)rG�digits�formatr.rHs&&&  r2�itnrQ�s���	�A��A��A�!��f�q�j�!�!��&�F�Q�J��?�*�G�4�s�:��
�H�
�:�	�3�6�A�:�#6�"6�!�"Q�c�f�q�j�>Q�"Q���6��5�'�"�A��5�'�"�A��v�
��!�A��v��z�"�A�
�H�H�Q��E�	�"�
�!�G�A�#�
�H��3�4�4r4c��Q[[OQU22*oQ[[OQU22*oV1!)r<�
148B8x356B�
148b8x356b)�sum�struct�unpack_from)�buf�unsigned_chksum�
signed_chksums&  r2�calc_chksumsr[�sE���C�� 2� 2�<�� E�F�F�O��#�f�0�0��s�C�D�D�M��)�)r4c��S9%fQoU]6XcP!Ue[OVU2P![V$2vqV[U2FD=oUO	U2o[U2U6c	UQ2gUO
U2J?	U]6wc;UO	U2o[U2U6c	UQ2gUO
U2P!)��unexpected end of datai@)�shutil�copyfileobj�divmodrC�readr,�write)	�src�dstr/�	exception�bufsize�blocks�	remainder�brXs	&&&&&    r2r`r`�s����"�"��G�
��{��
�~����3�W�-���v�/��F�
�6�]���h�h�w����s�8�g���4�5�5��	�	�#��	��A�~��h�h�y�!���s�8�i���4�5�5��	�	�#��
r4c�
�U[6:cUOU2!,oU]6�cNUO[U[22oU%fL%UOU2U[	U2*oJTQOU2!)r;r4)�_EXTHEADER_READ_CHUNKrb�min�appendr,�join)�fileobjr!�chunks�chunks&&  r2�
_safe_readrssm���$�$��|�|�D�!�!�
�F�
��(����S��'<�=�>�����
�
�e����E�
����8�8�F��r4c��[[OQP2oUd"UOUQ2O	U2o[UQQ5P!)r0�backslashreplace� )�end)�getattr�sys�stdoutr+r7�print)r.r0s& r2�_safe_printr|s@���s�z�z�:�t�4�H���
�H�H�X�1�2�9�9�(�C��	�!��r4c��\sQsQsQsP!)r�$���__name__�
__module__�__qualname__�__firstlineno__�__static_attributes__rr4r2rr$���r4c��\sQsQsQsP!)r�'rr�rr4r2rr'r�r4c��\sQsQsQsP!)r�*rr�rr4r2rr*r�r4c��\sQsQsQsP!)r�-rr�rr4r2rr-r�r4c��\sQsQsQsP!)r�0rr�rr4r2rr0r�r4c��\sQsQsQsP!)r	�3rr�rr4r2r	r	3r�r4c��\sQsQsQsP!)�EmptyHeaderError�6rr�rr4r2r�r�6r�r4r�c��\sQsQsQsP!)�TruncatedHeaderError�9rr�rr4r2r�r�9r�r4r�c��\sQsQsQsP!)�EOFHeaderError�<rr�rr4r2r�r�<r�r4r�c��\sQsQsQsP!)rF�?rr�rr4r2rFrF?r�r4rFc��\sQsQsQsP!)�SubsequentHeaderError�Brr�rr4r2r�r�Br�r4r�c�:`�\sQsQsnQsQsQsQsQsUs	P!)�
_LowLevelFile�Ic�@�Q[OQ[O[O*[O*-U*o[[Q2%cU[O*o[OVQ2UmP!)�r�w�O_BINARY�)	�os�O_RDONLY�O_WRONLY�O_CREAT�O_TRUNC�hasattrr�r�fd)�self�name�modes&&&r2�__init__�_LowLevelFile.__init__Osf����������r�z�z�)�B�J�J�6�
�����2�z�"�"��B�K�K��D��'�'�$�e�,��r4c�H�[OUO2P!�N)r��closer��r�s&r2r��_LowLevelFile.closeXs��
������r4c�F�[OUOU2!r�)r�rbr��r�r!s&&r2rb�_LowLevelFile.read[s���w�w�t�w�w��%�%r4c�J�[OUOU2P!r�)r�rcr��r�r.s&&r2rc�_LowLevelFile.write^s��
������!�r4)r�)
r�r�r�r�r�r�rbrcr��__classdictcell__��
__classdict__s@r2r�r�Is����-��&��r4r�c�n`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQQ
ksQs
QsQ
sQsUsP!)�_Stream�ac	�T�P	UmUe[V2oP
UmUQ6Xc[U2oUO2oUd[O
U2LPUmV mV0mV@m	VPm
QUm]UmP
Um
UQ6Xc_]PH:o	V�mU	O#Q2UmUQ6Xc$U	O&UmUO+2P!UO-Vh2P!UQ6XcG]PH^o
UQ6Xc#U
O12Um[4UmP!U
O7U2UmP!UQ6XcN]PHroUQ6Xc)UO;2UmUO<UmP!UO?UQ
5UmP!UQ6XcN]QH�G!oUQ6Xc)UOE2UmUOFUmP!UOI2UmP!UQ6wc[!QU*2gP![c[!Q2Pgh9h[c[!Q2Pgh9h[c[!Q	2Pgh9h[c[!Q
2Pgh9hSO%fSOOK2P	Sm
g9h)T�*r4�gzzzlib module is not availabler��bz2�bz2 module is not available�xz�lzma module is not available��preset�zst)�zstd�(compression.zstd module is not available�tar�unknown compression type %r)&�_extfileobjr��_StreamProxy�getcomptyper��fspathr�r��comptyperprgrX�pos�closed�zlib�ImportErrorr�crc32�crc�errorrf�
_init_read_gz�_init_write_gzr��BZ2Decompressor�cmp�OSError�
BZ2Compressor�lzma�LZMADecompressor�	LZMAError�LZMACompressor�compressionr��ZstdDecompressor�	ZstdError�ZstdCompressorr�)
r�r�r�r�rprg�
compresslevelr�r"r�r�r�r�s
&&&&&&&&&    r2r��_Stream.__init__ms|�� ����?�#�D�/�G�$�D���s�?�#�7�+�G��*�*�,�H�+/�+;��	�	�$����	��	� �
��������������4	��4��U��!�	��:�:�c�?����3�;�%)�Z�Z�D�N��&�&�(��'�'�
�=��U�"�T���3�;�"�2�2�4�D�H�%,�D�N�"�0�0��?�D�H��T�!�U���3�;�#�4�4�6�D�H�%)�^�^�D�N�#�2�2�&�2�A�D�H��U�"�a�0��3�;�#�4�4�6�D�H�%)�^�^�D�N�#�2�2�4�D�H��U�"�&�'D�x�'O�P�P�#��S#�U�*�+I�J�PT�T�U��#�T�*�+H�I�t�S�T��#�U�*�+I�J�PT�T�U��#�a�*�+U�V�\`�`�a��	��#�#�#����"�"�$��D�K��s��I1�H�"I1�?!I1�"I1�5I1�=H �I1� I1�*I1�I1�
H;�I1�&I1�=I1�I1�I�$I1�+&I1�I1�*I1�1I1�	H�H�I1� 	H8�*H8�8I1�;	I�I�I1�	I.� I.�.I1�1J'�"J'c�x�[UQ2%c'UO%fUO2P!P!P!�r�)r�r�r�r�s&r2�__del__�_Stream.__del__�s(���4��"�"�4�;�;�;��J�J�L�,7�"r4c��UOOUUOOUOO'UOO]2UmUe[
[O22o[OQU2oUOQU*Q*2UOOQ2%cUOPQUm[OOUO2UmUOUOO!QQ2["*2P!)r;�<Ls�s��.gzz
iso-8859-1�replace���)r��compressobj�DEFLATED�	MAX_WBITS�
DEF_MEM_LEVELr�rD�timerV�pack�_Stream__writer��endswithr��path�basenamer+r-)r�r�r"�	timestamps&&& r2r��_Stream._init_write_gz�s����9�9�(�(��)-���);�);�*.�)�)�*=�*=�)=�)-���)@�)@�)*�	,���
�=���	�	��$�E��K�K��e�,�	����(�9�4�{�B�C��9�9���e�$�$��	�	�#�2��D�I��G�G�$�$�T�Y�Y�/��	����T�Y�Y�%�%�l�I�>��D�Er4c�<�UOQ6Xc+UOOVO2UmU9O[U2*
tmUOQ6wcUOOU2oUOU2P!)r�r�)	r�r�r�r�r�r,r��compressr�r�s&&r2rc�
_Stream.write�se���=�=�D� ��y�y���q�(�(�3�D�H����C��F����=�=�E�!����!�!�!�$�A����Q�r4c�&�U9OU*
tm[UO2UO6�cSUOO	UOPUO2UOUOPUmJvP!r�)rXr,rgrprcr�s&&r2�__write�_Stream.__write�sa��	
���A�
���$�(�(�m�d�l�l�*��L�L���t�x�x�
����6�7��x�x����
�.�D�H�+r4c�\�UO%cP!P	UmUOQ6XcCUOQ6wc2U9OUOO2*
tmUOQ6Xc�UO%c�UOOUO2QUmUOQ6Xc|UOO[OQUO22UOO[OQUOQ*22UO%fUOO2P!P!SO%fSOO2hh9h)Nr�r�r4r�r�l��)r�r�r�rXr��flushrprcrVr�r�r�r�r�r�s&r2r��
_Stream.close�s���;�;�;�����	%��y�y�C��D�M�M�U�$:����D�H�H�N�N�,�,���y�y�C��D�H�H�H����"�"�4�8�8�,�����=�=�D�(��L�L�&�&�v�{�{�4����'B�C��L�L�&�&�v�{�{�4����J�9N�'O�P��#�#�#����"�"�$�$��4�#�#�#����"�"�$�$�s0�E<�E<�AE<�E<�<E<�A;E<�<F+�F+c�,�UOOUOO'2UmUO	]2Q6wc[Q2gUO	]2Q6wc[
Q2g[UO	]22oUO	]2U]*%cR[UO	]22Q[UO	]22**oUO	U2U]*%c)UO	]2oU%cU[6XfJ'U]*%c)UO	]2oU%cU[6XfJ'U]*%cUO	]2P!P!)�s��not a gzip file�zunsupported compression methodr<)	r��
decompressobjr�r��
_Stream__readrr�ordr-)r��flag�xlenr.s&   r2r��_Stream._init_read_gz�s���9�9�*�*�D�I�I�,?�,?�+?�@����;�;�q�>�[�(��-�.�.��;�;�q�>�W�$�"�#C�D�D��4�;�;�q�>�"�����A���!�8�8��t�{�{�1�~�&��s�4�;�;�q�>�/B�)B�B�D��K�K����!�8�8���K�K��N���A��H���"�9�9���K�K��N���A��H���!�8�8��K�K��N�r4c��UO!r�)r�r�s&r2�tell�_Stream.tells
���x�x�r4c�D�VO*
]6�c[VO*
UO2vq#[U2FD)oUO	UO2oU%cJ(L	UO	U2UO![Q2g)r;z seeking backwards is not allowed)r�rargrCrbr)r�r�rhrirH�datas&&    r2�seek�_Stream.seeksz�����>�Q�� &�s�X�X�~�t�|�|� D��F��6�]���y�y����.���t��#�
�I�I�i� ��x�x���@�A�Ar4c�n�UOU2oU9O[U2*
tmU!r�)�_readr�r,)r�r!rXs&& r2rb�_Stream.read-s)���j�j�������C��H����
r4c��UOQ6XcUOU2!]o,oV!6Cc;UOQ6Xc�UO%cUOoQUmL.UOO	UO
2oU%fL�UOOVAU*
2oUOOUmLpUOO%c0UOO	UO
2oU%fLLLQoUOOVAU*
2oUOU2U[U2*
oCJAQOU2!SOco[Q2SgPo=hh9hSOco[Q2SgPo=hh9h)r�r�r4zinvalid compressed data)r�rrXrprbrgr��
decompress�unconsumed_tailrfr�needs_inputrnr,ro)r�r!�c�t�cbuf�dbuf�es&&     r2r�
_Stream._read4so���=�=�E�!��;�;�t�$�$�
�����h��}�}��$��8�8�8��8�8�D�"�D�H��<�<�,�,�T�\�\�:�D���F��8�8�.�.�t�A�X�>�D�#�x�x�7�7�D�H��8�8�'�'�'��<�<�,�,�T�\�\�:�D��� ��D�F��8�8�.�.�t�A�X�>�D�
�H�H�T�N�
��T��N�A��x�x��{���)�~�~�F�#�$=�>�A�E��F���~�~�F�#�$=�>�A�E��F�s<�=E:�!"F�:F�
F�F�F�G�/G�0F<�<Gc�8�[UO2oUO,oV!6cTUOOUO2oU%fL%UOU2U[U2*
oJYQO
U2oV1PUmUPU!)r4)r,rXrprbrgrnro)r�r!r$r%rXs&&   r2�__read�_Stream.__readasz��
����M��
�X�X�J���h��,�,�#�#�D�L�L�1�C���
�H�H�S�M�
��S��M�A��H�H�Q�K���U�8�����$�x�r4)
r�rXrgr�r�r�r�rfrpr�r�r�r��r;)r�r�r�r�r�r�r�rcr�r�r�rrrbrrr�r�r�s@r2r�r�asJ����L�\�F�&�/�%�,�<�

��+�Z�r4r�c�:`�\sQsQsnQsQsQsQsQsUs	P!)r��rc�\�VmUOO[2UmP!r�)rprb�	BLOCKSIZErX)r�rps&&r2r��_StreamProxy.__init__ws�����<�<�$�$�Y�/��r4c�R�UOOUmUO!r�)rprbrXr�s&&r2rb�_StreamProxy.read{s���L�L�%�%��	��x�x�r4c�>�UOOQ2%cQ!UOQ*Q6XcUOQ*Q6XcQ!UOOQ2%cQ!UOOQ2%cQ	!Q
!)s�r�:r;�NsBZh:��
Ns1AY&SYr�r�s(�/�r�r�)s]�s�7zXZ)rX�
startswithr�s&r2r��_StreamProxy.getcomptypesq���8�8����/�/��
�X�X�c�]�f�
$����$��9�)D��
�X�X�
 �
 �!C�
D�
D��
�X�X�
 �
 �!4�
5�
5��r4c�<�UOO2P!r�)rpr�r�s&r2r��_StreamProxy.close�s�������r4)rXrprb)
r�r�r�r�r�rbr�r�r�r�r�s@r2r�r�rs����
0��
��r4r�c�`�\sQsQsnQQksQs\Q2sQsQs	Qs
Qs\O1Q	ksQQ
ksQsQsQ
sUsP!)�_FileInFile�c���VmV mV0m]UmV@mP
UmUe]U1,o]Um,Um]oUOoSFD^vq#V&6�cUOOP
VbP12UOOP	V"U*U12Vs*
oV#*oJ`	V`O6c+UOOP
V`OP12P!P!r-)	rp�offsetr!�positionr�r��	map_index�maprn)r�rprAr!r��	blockinfo�lastpos�realposs&&&&&&  r2r��_FileInFile.__init__�s��������	���
��	�������T���I����������+�+��%�L�F����������� >�?��H�H�O�O�T�6�D�=�'�B�C��O�G��m�G�&��Y�Y���H�H�O�O�U�G�Y�Y��=�>�r4c��P!r�rr�s&r2r
�_FileInFile.flush�s��r4c��Q!)�rbrr�s&r2r��_FileInFile.mode�s��r4c��P	!�Trr�s&r2�readable�_FileInFile.readable�s��r4c��P
!�Frr�s&r2�writable�_FileInFile.writable�s��r4c�8�UOO2!r�)rp�seekabler�s&r2rW�_FileInFile.seekable�s���|�|�$�$�&�&r4c��UO!r�)rBr�s&r2r�_FileInFile.tell�����}�}�r4c�Z�U[O6Xc2[[U]2UO2UmUO
!U[O6XcoU]6c/[UO
U*]2UmUO
![UO
U*UO2UmUO
!U[O6XcC[[UOU*UO2]2UmUO
![Q2g)r;zInvalid argument)	�io�SEEK_SETrm�maxr!rB�SEEK_CUR�SEEK_ENDr*)r�rB�whences&&&r2r�_FileInFile.seek�s����R�[�[� ���H�a� 0�$�)�)�<�D�M��}�}���r�{�{�
"��!�|� #�D�M�M�H�$<�a� @��
��}�}��!$�D�M�M�H�$<�d�i�i� H��
�
�}�}��	�r�{�{�
"���D�I�I��$8�$�)�)� D�a�H�D�M��}�}���/�0�0r4c�P�UeUOUO*
oL&[VOUO*
2oQoU]6�CcSUOUO*vq4qVV@Ot96:cU6cLLLHU9O]*
tmUO[UO26XfJ|]UmJ�[VUO*
2oU%crUOOV`OU*
*2UOOU2o[U2U6wc[Q2gV(*
oLU[U**
oV*oU9OU*
tmCJZU!)Nr4r^)r!rBrmrDrCr,rprrbrr-)	r�r!rXr�start�stoprAr/rjs	&&       r2rb�_FileInFile.read�s$���<��9�9�t�}�}�,�D��t�Y�Y����6�7�D����Q�h��,0�H�H�T�^�^�,D�)��T��M�M�0�D�0���N�N�a�'�N��~�~��T�X�X��6�)*�����d�m�m�3�4�F�����!�!�&�M�M�E�,A�"B�C��L�L�%�%�f�-���q�6�V�#�#�$<�=�=�����s�V�|�#���N�D��M�M�V�#�M�M��
r4c�h�UO[U22oV!P[U2#[U2!r�)rbr,)r�rjrXs&& r2�readinto�_FileInFile.readinto�s*���i�i��A�����)�3�s�8���3�x�r4c��P	UmP!rOr�r�s&r2r��_FileInFile.close�s	����r4)r�rprDrCr�rArBr!r�)r�r�r�r�r�r
�propertyr�rPrTrWrr]r^rrbrir�r�r�r�s@r2r>r>�sY����?�2
�������'��
%'�K�K�� �>�
�r4r>c�4``�\sQsQsnU1QksQsUsU9s!)�ExFileObject�c�:�[UOUOUOUOUO
2o[RU_U2P!r�)r>rp�offset_datar!r��sparse�superr�)r��tarfile�tarinforp�	__class__s&&& �r2r��ExFileObject.__init__s;����g�o�o�w�/B�/B����g�l�l�G�N�N�<��
����!r4r�r�r�r�r�r�r�r��
__classcell__�rwr�s@@r2roro�s����"�"r4roc��\sQsQsQsP!)r
�rr�rr4r2r
r
s��r4c�4``�\sQsQsnU1QksQsUsU9s!)r�c�R:�Vm[RU_	QUO8Q02P!)zmember z has an absolute path�rvrtr�r��r�rvrws&&�r2r��AbsolutePathError.__init__s$�����
���7�7�<�<�"2�2G�H�Ir4�rvryr{s@@r2rrs����J�Jr4c�4``�\sQsQsnU1QksQsUsU9s!)r�c�r:�VmV m[RU_
UO8QU8Q0Q*2P!)z would be extracted to �, � which is outside the destination�rv�_pathrtr�r��r�rvr�rws&&&�r2r�� OutsideDestinationError.__init__s7������
�
���G�L�L�+�+B�4�(�"�M�=�>�	?r4�r�rvryr{s@@r2rr�����?�?r4c�4``�\sQsQsnU1QksQsUsU9s!)r
�c�P:�Vm[RU_	UO8Q02P!)z is a special filer�r�s&&�r2r��SpecialFileError.__init__s"�����
���G�L�L�+�+=�>�?r4r�ryr{s@@r2r
r
s����@�@r4c�4``�\sQsQsnU1QksQsUsU9s!)r�c�P:�Vm[RU_	UO8Q02P!)z is a link to an absolute pathr�r�s&&�r2r��AbsoluteLinkError.__init__ s"�����
���G�L�L�+�+I�J�Kr4r�ryr{s@@r2rrs����L�Lr4c�4``�\sQsQsnU1QksQsUsU9s!)r�$c�r:�VmV m[RU_
UO8QU8Q0Q*2P!)z would link to r�r�r�r�s&&&�r2r��$LinkOutsideDestinationError.__init__%s6������
�
���G�L�L�+�?�4�(�"�E�=�>�	?r4r�ryr{s@@r2rr$r�r4c�4``�\sQsQsnU1QksQsUsU9s!)r�+c�v:�VmV m[RU_
QUO8Q0QU8Q0*2P!)zlink z would be extracted as a zcopy of z, which was rejectedr�r�s&&&�r2r��LinkFallbackError.__init__,s?������
�
���5���� 0�0I�J�%�d�X�-A�B�C�	Dr4r�ryr{s@@r2rr+s����D�Dr4c�J�-oUOo[OOU[OOQ5oUOQ[O12%c5UOOQ[O*29pCQ$[OOU2%c[U2g[OO[OOV2[OOQ5o[OOVQ,2U6wc[V2gUOoUd�UQ*oU%c�UO2%fUO2%c#U]@*%f
UQ*oUQ*oL:UO!2%fUO#2%cPoL[%U2gV`O6wcVcQ$U%CcUO&dPUQ$UO(dPUQ$UO*dPUQ$UO,dPUQ	$UO2%fUO#2%Cc�[OOUO.2%c[1U2gVQ6Xc[V2g[OO3UO.2oVpO.6wcVsQ
$UO#2%ce[OO5UO7Q[O*22o[OOVU2oL[OOV2o[OOU[OOQ5o[OOVQ,2U6wc[9V2gU!)�r>�/r����r�r#r$�uname�gname�linknamei����)r�r�r��realpath�
ALLOW_MISSINGr9�sep�lstrip�isabsrro�
commonpathrr��isreg�islnk�isdir�issymr
r#r$r�r�r�r�normpath�dirname�rstripr)	�member�	dest_path�for_data�	new_attrsr��target_pathr��
normalized�link_dirs	&&&      r2�_get_filtered_attrsr�7s����I��;�;�D���� � ��2�7�7�3H�3H� �I�I�����R�V�V�}�%�%�#)�;�;�#5�#5�c�B�F�F�l�#C�C��� �	�w�w�}�}�T��� ��'�'��'�'�"�"�2�7�7�<�<�	�#@�*,�'�'�*?�*?�#�A�K�	�w�w���;�2�3�y�@�%�f�:�:��;�;�D����e�|����|�|�~�~�������e�|�|��F�N�D���
�������6�<�<�>�>���'�v�.�.��;�;�� $�f���x��:�:�!�#�I�e���:�:�!�#�I�e���<�<�#�!%�I�g���<�<�#�!%�I�g���<�<�>�>�V�\�\�^�^��w�w�}�}�V�_�_�-�-�'��/�/��'�-�f�B�B����)�)�&�/�/�:�J��_�_�,�(2�*�%��|�|�~�~��7�7�?�?�4�;�;�s�R�V�V�|�+D�E�� �g�g�l�l�9�
�K�� �g�g�l�l�9�A���'�'�*�*�;�24�'�'�2G�2G�+�I�K��w�w�!�!�;�":�;�y�H�1�&�F�F��r4c��U!r�r)r�r�s&&r2�fully_trusted_filterr��s���Mr4c�^�[VP
2oU%cUOQ-U@QP
-@!U!)F�deepr�r�r��r�r�r�s&& r2�
tar_filterr��s-��#�F�u�=�I���~�~�6�	�6��6�6��Mr4c�^�[VP	2oU%cUOQ-U@QP
-@!U!)Tr�rr�r�s&& r2�data_filterr��s-��#�F�t�<�I���~�~�6�	�6��6�6��Mr4�
fully_trustedr�rs([0-9]{1,20}) c��`�\sQsQsn\QY-QQaQQaQQaQQ	aQ
QaQQ
aQQaQQaQQaQQaQQaQQaQQaQQaQQaQ Q!aQ"Q#aQ$PaQ%PaQ&PasQZQ'ks\Q(2s\OQ)2s\Q*2s
\
OQ+2s
\Q,2s\OQ-2sQ.sQ\
Q\
Q\
Q\
Q\
Q\
Q\
Q\
Q/P	Q0\
-
Q1ksQ2s\\Q31Q4ksQ5sQ6sQ7s\Q82sQ9s\Q:2s\Q;2s\Q<2s\Q=2s\Q>2s\Q?P	-Q@k2s\QA2s \Q?P	-QBk2s!QCs"QDs#QEs$QFs%QGs&QHs'QIs(QJs)QKs*QLs+QMs,QNs-QOs.QPs/QQs0QRs1QSs2QTs3QUs4QVs5QWs6QXs7Us8P!)[r�r�zName of the archive member.r�zPermission bits.r#z6User ID of the user who originally stored this member.r$z7Group ID of the user who originally stored this member.r!zSize in bytes.r"zTime of last modification.�chksumzHeader checksum.�typez�File type.  type is usually one of these constants: REGTYPE,
AREGTYPE, LNKTYPE, SYMTYPE, DIRTYPE, FIFOTYPE, CONTTYPE, CHRTYPE,
BLKTYPE, GNUTYPE_SPARSE.r�zcName of the target file name, which is only present in TarInfo
objects of type LNKTYPE and SYMTYPE.r�z
User name.r�zGroup name.�devmajorzDevice major number.�devminorzDevice minor number.rAzThe tar header starts here.rrzThe file's data starts here.�pax_headerszMA dictionary containing key-value pairs of an associated pax
extended header.rszSparse member information.�_tarfile�_sparse_structs�_link_targetc��VmQUm]Um]Um]Um]Um]Um[UmPUm	PUm
PUm]Um]Um
]Um]UmPUm-UmP!)�)r�r�r#r$r!r"r��REGTYPEr�r�r�r�r�r�rArrrsr��r�r�s&&r2r��TarInfo.__init__�s{���	���	���������	���
������	���
���
���
���
���
������������r4c�T�]PHoUOQ[]Q5UO!�r;)�
stacklevelzhThe undocumented "tarfile" attribute of TarInfo objects is deprecated and will be removed in Python 3.16��warnings�warn�DeprecationWarningr�)r�r�s& r2ru�TarInfo.tarfile�s-����
�
�
A��1�	�	.��}�}�r4c�L�]PHoUOQ[]Q5VmP!r�r�)r�rur�s&& r2rur��s(����
�
�
A��1�	�	.� �
r4c��UO!r��r�r�s&r2r��TarInfo.path�s���y�y�r4c��VmP!r�r�r�s&&r2r�r��s���	r4c��UO!r��r�r�s&r2�linkpath�TarInfo.linkpath�r[r4c��VmP!r�r�)r�r�s&&r2r�r��s�� �
r4c�j�QUOOUO[U21*!)z<%s %r at %#x>)rwr�r��idr�s&r2�__repr__�TarInfo.__repr__s&���4�>�>�#:�#:�4�9�9�R��X�"N�N�Nr4r��_KEEPc
�"�U	%c[OU2oL[OU2oVIcVmV*IcV+mV:IcV;mVJIcVKmVZIcV[mVjIcVkmVzIcV{mV�IcV�m	U!r�)
�copy�deepcopyr�r"r�r�r#r$r�r�)r�r�r"r�r�r#r$r�r�r�r��results&$$$$$$$$$$ r2r��TarInfo.replaces����]�]�4�(�F��Y�Y�t�_�F����K��� �L����K�� �&�O����J����J��� �L��� �L��
r4c��UOePoLUOQ*oQUOQUQUOQUOQUOQUO
QUOQ	UOQ
UOQUOQUOQ
UOQUO-
oUQ	*[6Xc4UQ*OQ2%fUQ99*Q*
tt$U!)N�r�r�r#r$r!r"r�r�r�r�r�r�r�r�)r�r�r#r$r!r"r�r�r�r�r�r�r��DIRTYPEr�)r�r��infos&  r2�get_info�TarInfo.get_info"s����9�9���D��9�9�v�%�D���	�	�������������	�	���
�
�������	�	���
�
���
�
���
�
���
�
���
�
�
�� ��<�7�"�4��<�+@�+@��+E�+E���L�C��L��r4�surrogateescapec�F�UO2oUO2FDvqVUdJ[QU*2g	U[6XcUO	VBU2!U[
6XcUO
VBU2!U[6XcUOVB2![Q2g)Nz%s may not be Nonezinvalid format)	r��itemsr*�USTAR_FORMAT�create_ustar_headerrL�create_gnu_header�
PAX_FORMAT�create_pax_header)r�rPr0r1r�r��values&&&&   r2�tobuf�
TarInfo.tobuf>s����}�}����:�:�<�K�D��}� �!5��!<�=�=�(��\�!��+�+�D�F�C�C�
�z�
!��)�)�$�&�A�A�
�z�
!��)�)�$�9�9��-�.�.r4c�F�[UQ$[UQ*OV#22[6�c[	Q2g[UQ*OV#22[
6�c#UO
UQ*V#2vUQ$UQ$UOU[V#2!)�magicr�zlinkname is too longr��prefix)	�POSIX_MAGICr,r+�LENGTH_LINKr*�LENGTH_NAME�_posix_split_name�_create_headerr�)r�r�r0r1s&&&&r2r��TarInfo.create_ustar_headerOs���$��W�
��t�J��&�&�x�8�9�K�G��3�4�4��t�F�|�"�"�8�4�5��C�+/�+A�+A�$�v�,�PX�+a�(�D��N�D��L��"�"�4��x�H�Hr4c��[UQ$Qo[UQ*OV#22[6�c%V@O	UQ*[
V#2*
o[UQ*OV#22[6�c%V@O	UQ*[V#2*
oV@OU[V#2*!)rr4r�r�)
�	GNU_MAGICr,r+r�_create_gnu_long_header�GNUTYPE_LONGLINKr�GNUTYPE_LONGNAMEr
rL)r�r�r0r1rXs&&&& r2r��TarInfo.create_gnu_header\s���"��W�
����t�J��&�&�x�8�9�K�G��/�/��Z�0@�BR�T\�e�e�C��t�F�|�"�"�8�4�5��C��/�/��V��>N�PX�a�a�C��(�(��z�8�L�L�Lr4c���[UQ$UOO2oQQ[1QQ[1Q	Q
1FDIvqEoVS7cJV*OQQ2[V*2U6�fJ?V*V5$JK	QFD�vqGP
oV*o	[U	[2o
U
%c[U	2LS	o]St96:c]U]*
*6f
L]V$P	oLU
%cV�U$P	oU%fJrVC7fJz[U	2V4$J�	U%cUOU[U2oLQoV�OU[QQ2*![cX*X5$CJ4h9h)rr�r�r�r�r=r>r4r�)r�r�� )r�r�r))r#�)r$r)r!�)r"r)rr�r�rrr+�UnicodeEncodeErrorr,�
isinstance�float�round�str�_create_pax_generic_header�XHDTYPEr
r�)
r�r�r0r�r��hnamer/rO�	needs_pax�val�val_is_float�val_intrXs
&&&          r2r��TarInfo.create_pax_headerjsb��
$��W�
��&�&�+�+�-��
���-�
�J��/T�&�(>�$@��D���#��
��
�!�!�'�8�4�
�4�:���'�%)�Z��"�!$@�(R�L�D��I��*�C�%�c�5�1�L�$0�e�C�j�c�G���3�!���
�"3�3���
� �	��%�T�
� �	��y�T�4�$'��H��!�%R�*��1�1�+�w��Q�C��C��(�(��|�W�i�P�P�P��G&�
�%)�Z��"��
�s�	E�	E/�E/�.E/c�2�UOU[Q2!)r()r�XGLTYPE)�clsr�s&&r2�create_pax_global_header� TarInfo.create_pax_global_header�s���-�-�k�7�G�L�Lr4c�^�UOQ2o[][U22FDwoQOUPU2oQOVEP2o[UO	V#22[
6:fJO[UO	V#22[6:fJtVa1!	[Q2g)r�zname is too long)�splitrCr,ror+�
LENGTH_PREFIXrr*)r�r�r0r1�
componentsrHrs&&&&   r2r	�TarInfo._posix_split_name�s����Z�Z��_�
��q�#�j�/�*�A��X�X�j��!�n�-�F��8�8�J�r�N�+�D��6�=�=��2�3�}�D�����H�5�6�+�E���|��+��/�0�0r4c��UOQ2[[17oU%c<[UOQ]2]U2o[UOQ]2]U2oL[	P]V#2o[	P]V#2oUOQ[
2oUe[
Q2g[	UOQP2]dV#2[UOQ]2Q*]U2[UOQ]2]U2[UOQ]2]U2[UOQ	]2]U2[UOQ
]2]U2QU[	UOQP2]dV#2UOQ
[2[	UOQP2] V#2[	UOQP2] V#2UU[	UOQP2]�V#2,o[OQ[*QOU22o	[U	['P2]*o
U	PQ[QU
*Q2*U	QP*o	U	!)r�r�r�zTarInfo.type must not be Noner�r�r�r#r$r!r"s        r�rr�r�rz%dsr4z%06or=i����i����)�get�CHRTYPE�BLKTYPErQr3r�r*rrVr�r1ror[rK)r�rPr0r1�has_device_fieldsr�r��filetype�partsrXr�s&&&&       r2r
�TarInfo._create_header�s��
!�H�H�V�,��'�0B�B����4�8�8�J��2�A�v�>�H��4�8�8�J��2�A�v�>�H��2�q�(�3�H��2�q�(�3�H��8�8�F�G�,�����<�=�=�
������$�c�8�<�������#�f�,�a��8�������"�A�v�.�������"�A�v�.�������#�R��0������!�$�b�&�1��������R�(�#�x�@��H�H�W�k�*������"�%�r�8�<������"�%�r�8�<��������2�&��X�>�
��$�k�k�%�)�+�S�X�X�e�_�=���c�9�*�+�.�/��2���%�4�j�5��F�!2�G�<�<�s�4�5�z�I���
r4c��[[U2[2vqU]6�c U[U*
[**
oU!r-)rar,r1r-)�payloadrhris&  r2�_create_payload�TarInfo._create_payload�s7��
#�3�w�<��;����q�=��	�I�-��4�4�G��r4c���UOV42[*o-oQUQ$V%Q$[U2UQ$[UQ$UO	U[
V42UO
U2*!)z
././@LongLinkr�r�r!r)r+r-r,r
r
r�r7)r%r�r�r0r1r�s&&&&& r2r�TarInfo._create_gnu_long_header�sn��
�{�{�8�,�s�2����&��V���V���4�y��V��!��W�
��!�!�$��h�G��#�#�D�)�*�	*r4c��P
oUO2FDvqVUOQQ2J	QoU%c
UQ*
oUO2FD�vqVUOQ2oU%cUOUQ2oLUOQ2o[U2[U2*]*o]9q�U[[	U
22*o	V�6XcLS	o
J'U[[	U
2Q2Q*U*Q*U*Q	**
oJ�	-oQ
UQ$V+Q$[U2UQ
$[UQ$UOU[QQ2UOU2*![c
P	oCJXh9h)Fr(r>r4s21 hdrcharset=BINARY
r�r=� �=�
z././@PaxHeaderr�r�r!rr�)
r�r+rr,rrKrr
r�r7)r%r�r�r0�binary�keywordr�records�lrGr8r�s&&&&        r2r�"TarInfo._create_pax_generic_header�sp����)�/�/�1�N�G�
����W�h�/�2�����0�0�G�)�/�/�1�N�G��n�n�W�-�G�����X�/@�A�����W�-���G��s�5�z�)�A�-�A��I�A����C��F��O���6�����u�S��V�W�-��4�w�>��E��M�PU�U�U�G�!2�(��'��V���V���7�|��V��#��W�
��!�!�$��g�y�I��#�#�G�,�-�	-��I&�
����
�s�E6�6	F
�F
�	F
c�(�UOVU2!r�)�_frombuf)r%rXr0r1s&&&&r2�frombuf�TarInfo.frombuf2s���|�|�C�6�2�2r4�dircheckc�l�[U2]6Xc[Q2g[U2[6wc[Q2gUO	[
2[6Xc[
Q2g[UQ*2oU[U27c[Q2gU2o[UQ*V#2Um[UQ*2Um[UQ*2Um
[UQ	*2Um[UQ
*2Um[UQ*2UmVVmUQ*Um[UQ
*V#2Um[UQ*V#2Um[UQ*V#2Um[UQ*2Um[UQ*2Um[UQ*V#2oU%cBUO$[06Xc-UOO3Q2%c[4UmUO$[66Xc�Qo,o	[9]2FDNo
[VU]*2o[V]*U]*2oU	O=V�12U]*
oJP	[?UQ*2o
[UQ*2oV�U1Um UOC2%c!UOOEQ2UmU%c5UO$[F7c UQ*UO*UmU![:cJ�h9h)r;zempty headerztruncated headerzend of file header:��Nzbad checksum:r;�dN:rL�lN:rM�tN:rN�|N:rO�N:rPrJN:rK�N:rQ�N:�	�)N:rTr�N:r��QN:rU�YN:rV��Nr����:����N)$r,r�r1r��countr-r�rIr[rFr9r�r�r#r$r!r"r�r�r�r�r�r�r��AREGTYPEr�r��GNUTYPE_SPARSErCr*rn�boolr�r�r��	GNU_TYPES)r%rXr0r1rHr��objrr��structsrHrA�numbytes�
isextended�origsizes&&&&$          r2rE�TarInfo._frombuf;su���s�8�q�=�"�>�2�2��s�8�y� �&�'9�:�:��9�9�S�>�Y�&� �!5�6�6��S��\�"����c�*�*�$�^�4�4��e���s�5�z�8�4����s�7�|�$����c�'�l�#����c�'�l�#����s�7�|�$�����G��%��	��
��w�<����3�w�<��:�����G��h�7��	���G��h�7��	��3�w�<�(����3�w�<�(����S��\�8�4������H�,����1B�1B�3�1G�1G��C�H�
�8�8�~�%��C��G��1�X��� ���r��!2�3�F�"�3�R�x��b��#9�:�H�����1�2��r�	����c�#�h��J��3�w�<�(�H�#*��"A�C���9�9�;�;��x�x���s�+�C�H��c�h�h�i�/���|�c�h�h�.�C�H��
��"����s�3/L"�"	L3�,L3�2L3c�&�UOU2!r�)�_fromtarfile)r%rus&&r2�fromtarfile�TarInfo.fromtarfiles��
����(�(r4c��UOO[2oUOV1OUO
UQ5oUOO
2[*
UmUOU2!)�rH)	rprbr1rEr0r1rrA�_proc_member)r%rurHrXras&&$  r2rh�TarInfo._fromtarfile�s`��
�o�o�"�"�9�-���l�l�3� 0� 0�'�.�.�8�l�T���_�_�)�)�+�i�7��
�����(�(r4c�,�UO[[17cUOU2!UO[6XcUOU2!UO[[[17cUOU2!UOU2!r�)r�rr�
_proc_gnulongr^�_proc_sparserr$�SOLARIS_XHDTYPE�	_proc_pax�
_proc_builtin)r�rus&&r2rm�TarInfo._proc_member�sx���9�9�)�+;�<�<��%�%�g�.�.�
�Y�Y�.�
(��$�$�W�-�-�
�Y�Y�7�G�_�=�
=��>�>�'�*�*��%�%�g�.�.r4c���UOO2UmUOoUO2%fUO[
7c"V O
UO2*
oV!mUOUOUOUO2UO2%c!UOOQ2UmU!)r�)rprrrr�r��SUPPORTED_TYPES�_blockr!rA�_apply_pax_infor�r0r1r�r�r�)r�rurAs&& r2rt�TarInfo._proc_builtin�s���#�?�?�/�/�1����!�!���:�:�<�<�4�9�9�O�;��k�k�$�)�)�,�,�F���	
���W�0�0�'�2B�2B�G�N�N�S��:�:�<�<��	�	�(�(��-�D�I��r4c�V�[UOUOUO22oUO	UP
Q5oUOUmUO[6Xc'[V!OUO2UmL:UO[6Xc&[V!OUO2UmUO#2%c!UOO%Q2UmU![
co[
[S22PgPo=hh9h)Frlr�)rsrprxr!rhr	r�rrAr�rr9r0r1r�rr�r��removesuffix)r�rurX�nextr(s&&   r2rp�TarInfo._proc_gnulong�s�������$�+�+�d�i�i�*@�A��	:��$�$�W�u�$�=�D��k�k����9�9�(�(��C�!1�!1�7�>�>�B�D�I�
�Y�Y�*�
*���%5�%5�w�~�~�F�D�M��:�:�<�<��	�	�.�.�s�3�D�I����!�	:�'��A��/�T�9��	:�s�D�	D(�
D(�D#�#D(c�`�UOvq#oU;U%c�UOO[2o]o[	]2FD^o[VVU]*2o[VV]*U]*2o	U%cU	%cUOV�12U]*
oJ`	[UQ*2oJ�V m	UOO2UmUOUOUO2*UmV@m
U![cJ�h9h)r;�)r�rprbr1rCrIr*rnr_rsrrrrxr!rA)
r�rurbrdrerXr�rHrArcs
&&        r2rq�TarInfo._proc_sparse�s���)-�(<�(<�%��X�� ���/�/�&�&�y�1�C��C��2�Y��� ���r��!2�3�F�"�3�R�x��b��#9�:�H��h��N�N�F�#5�6��r�	����c�#�h��J���"�?�?�/�/�1����)�)�D�K�K��	�	�,B�B����	����"����s�/D�	D-�&D-�,D-c��[UOUOUO22oUO[
6XcUOoLUOO2o]oPo,o[U2U6�Cc8V$*]6wCc*[OV$29o%f[Q2g[UO]22oU]6c[Q2gVH*[U26�c[Q2gUO]2U*]*
o	V'O!]2]*U	o
U
O#Q2vq�o
U%cUQ6wfV)*]
6wc[Q2gUO%V�U
12UQ6XcUeU
Q6XcUO&oLQoVH*
oCJHUeQoSFDyvq�o
UO)UQQUO*2oU[,7c)UO)V�UO&UO*2oLUO)U
QQUO*2oV�U$J{	UO/UP
Q5oQU7cUO7UU2LXQU7cUO9UU2L>UO;Q	2Q
6Xc)UO;Q2Q6XcUO=UV12UO[>[@17c�UOCV1O&UO*2UODUm"Q
U7caUOFoUOI2%fUO[J7c#UUOUO2*
oUUm"U![c
[Q2gh9h[0co[3[5S22PgPo=hh9h)r;r@r=s
hdrcharsetsBINARYr(rl�GNU.sparse.map�GNU.sparse.sizezGNU.sparse.major�1zGNU.sparse.minorr?r!)&rsrprxr!r�r$r�r�r,�_header_length_prefix_re�matchrFrD�groupr*rerw�	partitionrnr0�_decode_pax_fieldr1�PAX_NAME_FIELDSrhr	r�r�_proc_gnusparse_01�_proc_gnusparse_00r.�_proc_gnusparse_10rrrryrArrr�rw)r�rurXr�r�r0�raw_headersr�r/�header_value_end_offset�keyword_and_value�raw_keyword�equals�	raw_valuer@rr}r(rAs&&                 r2rs�TarInfo._proc_pax�sX��
����$�+�+�d�i�i�*@�A��
�9�9���!�-�-�K�!�-�-�2�2�4�K��������#�h��n���T�!1�5�;�;�C�E�E�E�E�(�)9�:�:�
;��U�[�[��^�,��
��z�(�)9�:�:��|�c�#�h�&�(�)9�:�:�&+�k�k�!�n�v�&=��&A�#� #�I�I�a�L�1�$4�5L� M��->�-H�-H��-N�*�K���&�D�.�C�4P�TX�4X�(�)9�:�:�����Y�?�@��m�+��0@��	�)�&�/�/�H�&�H��M�C����H�/:�*�F���,�,�[�'�7��N�N�$�G��/�)��.�.�y�G�DT�DT����(���.�.�y�'�7����(��$)�� �#/:�(	:��$�$�W�u�$�=�D�
�{�*��#�#�D�+�6�
�+�
-��#�#�D�+�6�
�_�_�/�
0�C�
7�K�O�O�L^�<_�cf�<f��#�#�D�+�?��9�9��/�2�2�� � ��.>�.>����O��+�+�D�K���$��)�)���:�:�<�<�4�9�9�O�#C��d�k�k�$�)�)�4�4�F�!'������y�
;�(�)9�:�:�
;��|�	:�'��A��/�T�9��	:�s0�;N�N�	N�
N�	O�&O�'N<�<Oc��,o,oSFDjvqVoUQ6Xc,UO[UO222J8UQ6XfJAUO[UO222Jl	[[
V422UmP![c
[	Q2gh9h[c
[	Q2gh9h)sGNU.sparse.offsetr@sGNU.sparse.numbytes)rnrDr7r*rF�list�ziprs)r�r}r��offsetsrc�_r@rs&&&     r2r��TarInfo._proc_gnusparse_00ns�������!,��A���.�.�?��N�N�3�u�|�|�~�#6�7��2�2�?��O�O�C�����$7�8�"-��3�w�1�2����"�?�,�-=�>�>�?��"�?�,�-=�>�>�?�s#�(B�(B,�	B)�
B)�,	C�6
Cc���UQ*OQ2Tt,tFDo[U2MJ	oo[[UQ*UQ*22UmP!ttoh)r��,�NNr
��Nr
)r)rDr�r�rs)r�r}r��xrss&&&  r2r��TarInfo._proc_gnusparse_01�sP��#.�.>�"?�"E�"E�c�"J�K�"J�Q�#�a�&�"J��K��3�v�c�{�F�4�L�9�:����Ls�Ac��Po,oUOO[2oUOQ]2vqF[	U2o[U2U]*6c]QU7c&VcOO[2*
oUOQ]2vqvUO
[	U22JsUOO2Um[[UQ*UQ*22UmP!)Nr>r�r�)rprbr1r)rDr,rnrrrr�r�rs)r�r}r�ru�fieldsrsrX�numbers&&&&    r2r��TarInfo._proc_gnusparse_10�s��������o�o�"�"�9�-���i�i��q�)����V����&�k�F�Q�J�&��C�����+�+�I�6�6���)�)�E�1�-�K�F��M�M�#�f�+�&�"�?�?�/�/�1����3�v�c�{�F�4�L�9�:��r4c	���UO2FD�vqEUQ6Xc[UQU2JUQ6Xc[UQ[U22J:UQ6Xc[UQ[U22JYU[7fJfU[7c[U*U2oUQ6XcUO
Q2o[VU2J�	UO2UmP![
c]oKNh9h)zGNU.sparse.namer�r�r!zGNU.sparse.realsizer�)	r��setattrrD�
PAX_FIELDS�PAX_NUMBER_FIELDSr*r�r�r�)r�r�r0r1r@rs&&&&  r2ry�TarInfo._apply_pax_info�s���*�/�/�1�N�G��+�+���f�e�,��-�-���f�c�%�j�1��1�1���f�c�%�j�1��J�&��/�/�"� 1�'� :�5� A���f�$�!�L�L��-�E���u�-�2�"'�+�+�-����
&�"� !��"�s�C�	C'�!C'�&C'c�n�UOUQ2![cSOX42t!h9hr�)r7�UnicodeDecodeError)r�rr0�fallback_encoding�fallback_errorss&&&&&r2r��TarInfo._decode_pax_field�s:��	D��<�<��(�3�3��!�	D��<�<� 1�C�C�	D�s��	4�4�4c��U]6c[Q2g[U[2vq#U%c
U]*
oU[*!)r;zinvalid offset)rFrar1)r�r\rhris&&  r2rx�TarInfo._block�s=��
�1�9�$�%5�6�6�"�5�)�4�����a�K�F��	�!�!r4c�*�UO[7!r�)r��
REGULAR_TYPESr�s&r2r��
TarInfo.isreg�s���y�y�M�)�)r4c�$�UO2!r�)r�r�s&r2�isfile�TarInfo.isfile�s���z�z�|�r4c�*�UO[6H!r�)r�r�r�s&r2r��
TarInfo.isdir�����y�y�G�#�#r4c�*�UO[6H!r�)r��SYMTYPEr�s&r2r��
TarInfo.issym�r�r4c�*�UO[6H!r�)r��LNKTYPEr�s&r2r��
TarInfo.islnk�r�r4c�*�UO[6H!r�)r�r/r�s&r2�ischr�
TarInfo.ischr�r�r4c�*�UO[6H!r�)r�r0r�s&r2�isblk�
TarInfo.isblk�r�r4c�*�UO[6H!r�)r��FIFOTYPEr�s&r2�isfifo�TarInfo.isfifo�s���y�y�H�$�$r4c� �UOPI!r�)rsr�s&r2�issparse�TarInfo.issparse�s���{�{�$�&�&r4c�@�UO[[[17!r�)r�r/r0r�r�s&r2�isdev�
TarInfo.isdev�s���y�y�W�g�x�8�8�8r4)r�r�r�r�r$r�r�r�r"r�rArrr�r!rsr�r#r�r)�)9r�r�r�r��dict�	__slots__r�rmru�setterr�r�r�r�r�r��DEFAULT_FORMAT�ENCODINGrr�r�r��classmethodr&r	�staticmethodr
r7rrrFrErirhrmrtrprqrsr�r�r�ryr�rxr�r�r�r�r�r�r�r�r�r�r�r�r�s@r2rr�s&�����
�,�
�!�
�G�
�H�	
�
 �
�-�

�$�
�+�
�;�
� �!
�"�#
�$*�%
�&*�'
�(/�)
�*5�+
�,*�-
�2.�3
�4�5
�6�7
�8�9
�I�>�0����
�^�^� �� �����
�[�[���������_�_�!��!�O����"'��.3��>C����$��,1��9>����"'��8�8*�H�EV�/�"I�M�8Q�t�M��M�
� �'��'�R�����*��*� �0-��0-�d�3��3��A��A��A�F�)��)��)�t�)��)�(/��,�6�8w�r3�(;�;� .�.D�
"�*��$�$�$�$�$�%�'�9�9r4c
�&`�\sQsQsn]sP
sP
s]s\s	\
sPs\
s\sPsQ?Qks\PQP\1Qk2s\Q@Qk2s\QAQk2s\QBQk2s\QCQk2s\QDQ	k2sQ
QQQ
QQQQQQ-sQsQsQsQsQEQks QFQP-Qkks!QGQP-Qkks"QHQks#Qs$QIQP
QP-Q kks%Q!s&QJQP
QP-Q"kks'Q#s(QHQ$ks)Q%s*Q&s+Q's,QKQ(PQ)P-Q*kks-Q+s.Q,s/Q-s0Q.s1Q/s2Q0s3Q1s4Q2s5Q3s6Q4s7Q5s8QLQ6ks9Q7s:QHQ8ks;Q9s<Q:s=Q;s>Q<s?Q=s@Q>sAUsBP!)Mri�r�c��QQQQQQQQ-oUU7c[Q2gV mUU*UmU%fbUOQ6Xc4[OOU2%fQUmQUm[
VO2oP
UmLrUeE[UQ	2%c3[UO[[12%c
UOo[UQ
2%cUOUmP	UmU%c [OOU2LPUm
V0mV�mUdV@mUdVPmUdV`mUdVpmUdV�mV�mU
dUO [,6XcV�mL-UmUdV�mUdV�mV�mP
Um,UmP
UmUOO=2Um-Um -Um!-Um"UOQ6XcPUm#UOI2Um#UOQ6Xc`UOOKUO>2UO"OMU2oUO8OOU2J_UOQ7c�P	UmUO.%csUO"OWUO.OY22oUOO[U2U9O>[]U2*
tmP!P!P![Pc*SOOKSO>2J�[Rco[U[S22PgPo=hh9hSO%fSOO_2P	Smg9h)r�rL�azr+br��wbr��xb�!mode must be 'r', 'a', 'w' or 'x'r�r��r�r�r�)0r*r��_moder�r��exists�	bltn_openr�r�rr�rrK�abspathrp�streamrPrv�dereference�ignore_zerosr0r1r�r��debug�
errorlevel�copybufsizer��members�_loadedrrA�inodes�_unames�_gnames�firstmemberr}rrirnr�r	rr&r�rcr,r�)r�r�r�rprPrvr�r�r0r1r�r�r�r�r�r"�modesr(rXs&&&&&&&&&&&&&&&&   r2r��TarFile.__init__s
���d�C���T�3��=���u���@�A�A��	��4�[��
���y�y�C�������t�(<�(<���	�!��
���j�j�1�G�$�D������&�!9�!9��7�<�<�#�u��6�6��|�|���w��'�'�$�\�\��
�#�D��-1�B�G�G�O�O�D�)�t��	������� �K���"�L��"�*���#� ,����$�M����"�t�{�{�j�'@�*��!�D�����J��!�(�O�'������������l�l�'�'�)������������	��y�y�C��#'�� �#'�9�9�;�� ��y�y�C����L�L�%�%�d�k�k�2�:�"&�,�,�":�":�4�"@�����+�+�G�4��y�y�O�+�#����#�#�#��,�,�?�?��@P�@P�@U�@U�@W�X�C��L�L�&�&�s�+��K�K�3�s�8�+�K�$�,��
*�����)�)�$�+�+�6��&�:�'��A��/�T�9��:��	��#�#�#����"�"�$��D�K��sg�
N!�,N!�&N!�/6M�%N!�8N!�A0N!�	N�&N�7N!�:N�N�N�N�N!�!O�5"Oc
�`�U%fU%f[Q2gUQ7c�U1Qko,o[ROUQ5FDBo[RROU*2o	UdUO	2o
U	UQU1-U@t!	QOU2o[QU02gQU7cyUOQ]2vq�S
9%fQo
S9%fQ	oURO7c[RROU*2o	L[
Q
U*2gU	VU1-U@!QU7c�UOQ]2vq�S
9%fQo
S9%fQ	oU
Q7c[Q2gQ
U7cUQ7c[Q2gQU7cUQ7c[Q2gUOQ
]2oUOQP2oUOQP2o[VV�UV�U2oRVU1-U@oP
UmU!UQ7cROVU1-U@![Q2g[
[1c:oSOQSQS802SdSOW
2Po=CJ!Po=hh9hSO2g9h)znothing to openr�c�2:�ROU*Q6H!)�taropen)�	OPEN_METH)r�r%s&�r2�not_compressed�$TarFile.open.<locals>.not_compressed�s����}�}�X�.�)�;�;r4)�keyz	- method z: �
z'file could not be opened successfully:
�:r�r��|zmode must be 'r' or 'w'r�z4compresslevel is only valid for w|gz and w|bz2 modesr�z"preset is only valid for w|xz moder"zundiscernible mode)r��r:*)r�r�)r�r�)r�r�)r*�sortedr�rxrrrrnrror)�popr�r�r�r�)r%r�r�rprg�kwargsr��
error_msgsr��func�	saved_posr(�error_msgs_summary�filemoder�r�r"r�r%sf&&&&,             r2r�TarFile.openzs����V�G��.�/�/��<��
<��J�"�3�=�=�n�E�E���s�C�M�M�(�$;�<���&� '����I����c�7�=�f�=�=�F�"&���:�!6���F�GY�FZ�[�\�\�
�D�[�!%���C��!3��H����3�H��(�(�5�H��3�=�=�(��s�C�M�M�(�$;�<��&�'D�x�'O�P�P����:�6�:�:�
�D�[�!%���C��!3��H����3�H��(�(�5�H��z�)� �!:�;�;��&�(�X�]�-J� �J����6�!�h�g�&=� �!E�F�F�"�J�J���:�M��Z�Z��$�/�F��J�J�w��-�E��T�X��*�E�;�F�
����9�&�9��"�A�M��H�
�_�
$��;�;�t�7�=�f�=�=��-�.�.��g"�#3�4���%�%�	�(��2�a�U�&C�D��*����Y�/���	��T
������s0�:H!�&I.�!I+�1I+�2I&�I&�&I+�.Jc�>�UQ7c[Q2gUVU1-U@!)r�r�)r�r�r�r�)r*)r%r�r�rprs&&&&,r2r��TarFile.taropen�s+���+�+��@�A�A��4�w�1�&�1�1r4c���UQ7c[Q2g]QHGoUOQP2oUVQ*VCUQ5oUOVU1-U@o	P
U	m
U	![c[	Q2Pgh9h[coSdSQ6Xc
[Q2SggPo=hh9h[c*oSO2SQ6Xc
[Q2SggPo=hSO2g9h)	r��mode must be 'r', 'w' or 'x')�GzipFilezgzip module is not availabler"rj)r"r�r�r�r�)r*�gziprr�rr�r�rr�r�r�)
r%r�r�rpr�rrr"r(r%s
&&&&&,    r2�gzopen�TarFile.gzopen�s���
��&��;�<�<�	M�%�	��J�J�w��-�E��t�C�Z��u�U�G�		����D��:�6�:�A���
����-�	M�"�#A�B��L�	M���	��"�t�s�{�� 1�2��9���	���	��M�M�O��s�{�� 1�2��9���	��M�M�O��s^�A�$A:�B%�	A7�)A7�:	B"�B"�B�	B�
B�B"�%	C*�/C*�0C�
C�C*c�n�UQ7c[Q2g]QHGoSS9%fSV$Q5oUO
VU1-U@oP
Um
U![c[	Q2Pgh9h[[1c*oSO2SQ6Xc
[Q2SggPo=hSO2g9h)r�r
)�BZ2Filer�)r�znot a bzip2 filer)r*r�rr�rr�r��EOFErrorr�rr�)	r%r�r�rpr�rrr%r(s	&&&&&,   r2�bz2open�TarFile.bz2opens���
��&��;�<�<�	L�#��'�/�/�T�4�M��		����D��:�6�:�A���
����!�	L�"�#@�A�t�K�	L����"�	��M�M�O��s�{�� 2�3��:���	��M�M�O��s4�A�A)�	A&�A&�)B4�9B4�:B�
B�B4c�j�UQ7c[Q2g]QHGoGoSS9%fSV$Q5oUOVU1-U@oP
Um
U![c[Q2Pgh9hS[1c*o	SO2SQ6Xc
[Q2S	ggPo	=	hSO2g9h)r�r
)�LZMAFiler�r�r�znot an lzma filer)r*r�rr�r�rr�rr�rr�)
r%r�r�rpr�rrr�r%r(s
&&&&&,    r2�xzopen�TarFile.xzopen.s���
��&��;�<�<�	M�0��7�?�?�d�D�@��		����D��:�6�:�A���
����!�	M�"�#A�B��L�	M���8�$�	��M�M�O��s�{�� 2�3��:���	��M�M�O��s4�A�A+�	A(�A(�+B2�7B2�8B�
B�B2c��UQ7c[Q2g]QHGoGo	SS9%fSUUUUQ5oUOVU1-U@o
P
U
mU
![c[Q2Pgh9hS	[1c*oSO2SQ6Xc
[Q2SggPo=h[cSO2gh9h)r�r
)�ZstdFiler�r�)�level�options�	zstd_dictznot a zstd filer)r*�compression.zstdrr�r�rr�rr�r�	Exceptionr�)r%r�r�rprrrrrr�r%r(s&&&&&&&,    r2�zstopen�TarFile.zstopenJs�����&��;�<�<�	Y�<���O�O�t�����
��		����D��:�6�:�A���
����-�	Y�"�#M�N�TX�X�	Y���8�$�	��M�M�O��s�{�� 1�2��9����	��M�M�O��	�s:�A�A.�	A+�A+�.B?�:B?�;B�
B�B?�,B?r�r�r�rr�rr�rr�r c�t�UO%cP!P	UmUOQ7c�UOO[[
]**2U9O[
]**
tm[UO[2vqU]6�c2UOO[[U*
*2UO%fUOO2P!P!SO%fSOO2hh9h)Nr�)r�r�rprcr-r1rAra�
RECORDSIZEr�r�)r�rhris&  r2r��
TarFile.closeys����;�;�;�����	%��y�y�O�+����"�"�3�)�a�-�#8�9����	�A�
�.��%+�4�;�;�
�$C�!���q�=��L�L�&�&�s�j�9�.D�'E�F��#�#�#����"�"�$�$��4�#�#�#����"�"�$�$�s�D�A7D�'1D�D7�D7c�t�UOUOQ22oUe[QU*2gU!)r�zfilename %r not found)�
_getmemberr��KeyError)r�r�rvs&& r2�	getmember�TarFile.getmember�s6���/�/�$�+�+�c�"2�3���?��2�T�9�:�:��r4c��UO2UO%fUO2UO!r�)�_checkr��_loadr�r�s&r2�
getmembers�TarFile.getmembers�s)��	
���
��|�|�|��J�J�L��|�|�r4c�b�UO2Tt,tFDpOMJ	to!ttohr�)r-r�)r�rvs& r2�getnames�TarFile.getnames�s'��-1�O�O�,=�>�,=����,=�>�>��>s�,c�
�UOQ2Ud
UOoUeSo[OO	U2vqBUO[OQ2oUOQ2oUO2oVm	UeAUO%f[OU2oL;[OU2oL$[OUO22oPoUOo[O U2%c�UO"UO$1o	UO%fTUO&]6�cCV�O(7c3V O(U	*6wc[*o
UO(U	*oCL	[,o
U	]*%cV O(U	$L�[O.U2%c[0o
L�[O2U2%c[4o
L�[O6U2%c<[8o
[O:U2O[OQ2oLH[O<U2%c[>o
L%[O@U2%c[Bo
LP!V%mV�m"UOFUm$UOJUm&U
[,6XcUONUm(L]Um(UORUm*V�m+Vum,[Z%c}UOHUO\7c@[ZO^UOH2]*UO\UOH$UO\UOH*Um1[d%c}UOLUOf7c@[dOhUOL2]*UOfUOL$UOfUOL*Um5U
[>[B17cw[m[Q2%ca[m[Q2%cK[OnUOp2Um9[OtUOp2Um;U![`cPSO\SOH$CKZh9h[`cPSOfSOL$K�h9h)�awxr��major�minor)<r+r�r�r��
splitdriver�r�r�rvr�r��lstat�stat�fstat�fileno�st_mode�S_ISREG�st_ino�st_dev�st_nlinkr�r�r��S_ISDIRr��S_ISFIFOr��S_ISLNKr��readlink�S_ISCHRr/�S_ISBLKr0r��st_uidr#�st_gidr$�st_sizer!�st_mtimer"r�r��pwdr��getpwuidr'r��grpr��getgrgidr�r�r4�st_rdevr�r5r�)r�r��arcnamerp�drvrv�statresr��stmd�inoder�s&&&&       r2�
gettarinfo�TarFile.gettarinfo�si��	
���E�����<�<�D�
�?��G��w�w�)�)�'�2����/�/�"�&�&�#�.���.�.��%���,�,�.�����?��#�#�#��(�(�4�.���'�'�$�-���h�h�w�~�~�/�0�G��������<�<�����^�^�W�^�^�4�E��#�#�#��(8�(8�1�(<��[�[�(�W���E�8J�-J����;�;�u�-������8�8�)0�K�K��&��
�\�\�$�
�
��D�
�]�]�4�
 �
 ��D�
�\�\�$�
�
��D��{�{�4�(�0�0�����=�H�
�\�\�$�
�
��D�
�\�\�$�
�
��D�������n�n����n�n����7�?�"�?�?�G�L��G�L��(�(��
���#���3��{�{�$�,�,�.�3�03���W�[�[�0I�!�0L�D�L�L����-�!�L�L����5�G�M��3��{�{�$�,�,�.�3�03���W�[�[�0I�!�0L�D�L�L����-�!�L�L����5�G�M��G�W�%�%��r�7�#�#���G�(<�(<�#%�8�8�G�O�O�#<�� �#%�8�8�G�O�O�#<�� ���� �3�02�D�L�L����-�3�� �3�02�D�L�L����-�3�s0�>R1�>S�1	S�;S�S�	T�&T�Tr�c��[[O[[O[
[O[[O[[O[[O-oUO2UeSoSFCD3oU%Cc}UOe
[Q2LKUO!UO"]2o[[O$VTO*22[UO&9%f
UO(8QUO*9%f
UO,802UO/2%fUO12%c1[QQUO2UO41**2L[QUO6*2UO8e
[Q2L7[Q[:O<UO82Q**2[UO>UOA2%cQLP*2U%ceUOC2%c[Q	UOD*2UOG2%c[Q
UOD*2[I2CJ6	P!)Nz
??????????r�z%10sz%d,%dz%10dz????-??-?? ??:??:??z%d-%02d-%02d %02d:%02d:%02d:N�Nz-> zlink to )%r�r8�S_IFREGr��S_IFLNKr��S_IFIFOr/�S_IFCHRr��S_IFDIRr0�S_IFBLKr+r�r|r.r�rr�r#r�r$r�r�r�r�r!r"r��	localtimer�r�r�r�r�r{)r��verboser��	type2moderv�modetypes&&$   r2r��TarFile.list	s����d�l�l�G�T�\�\��t�|�|�W�d�l�l��d�l�l�G�T�\�\�C�	�	
���
��?��G��G��w��<�<�'���-�(�}�}�W�\�\�1�=�H���
�
�h���.E� F�G��w�}�}�'C�'C����'C�'.�}�}�'C�'C����'C�E�F��=�=�?�?�g�m�m�o�o���$��(8�(8�'�:J�:J�'K�K�!M�N� ����� 5�6��=�=�(�� 5�6�� =�"&�.�.����"?��"C�!D�E�
����w�}�}����B�G�H���=�=�?�?����(8�(8� 8�9��=�=�?�?��
�W�-=�-=� =�>��G�7r4�filterc	���UOQ2UeSoUOdJ[OO	U2UO6XcUO]QU*2P!UO]U2UO
V2oUeUO]QU*2P!Ud(UU2oUeUO]QU*2P!UO2%c1[UQ29^tt^2oUOVV2PPP2P!UO2%c�UOU2U%cx[[OU22FDQoUO[OOV2[OOV&2V4Q5JS	P!P!UOU2P!)%fhP!9h)r3ztarfile: Skipped %rztarfile: Unsupported type %r�tarfile: Excluded %rrL)rc)r+r�r�r�r��_dbgrTr�r��addfiler�r��listdir�addro)r�r�rO�	recursivercrv�fs&&&&$  r2ri�TarFile.add?	sq��	
���E���?��G��9�9� �R�W�W�_�_�T�%:�d�i�i�%G��I�I�a�.��5�6���	�	�!�T���/�/�$�0���?��I�I�a�7�$�>�?�����W�o�G����	�	�!�3�d�:�;���=�=�?�?��4��&�&�!����W�(�'�&��]�]�_�_��L�L��!����
�
�4� 0�1�A��H�H�R�W�W�\�\�$�2�B�G�G�L�L��4L�%��6�2��
�L�L��!�'�&�&�s�G�G/	�'G/	c�:�UOQ2Ue3UO2%cUO]6wc[Q2g[OU2oUOUOUOUO2oUOOU2U9O[U2*
tmUOoUd�[V OUOUQ5[UO[ 2vqVU]6�c;UOO["[ U*
*2U]*
oU9OU[ **
tmUO$O'U2P!)r3z3fileobj not provided for non zero-size regular file)rg)r+r�r!r*r�rrPr0r1rprcrAr,r�r`rar1r-r�rn)r�rvrprXrgrhris&&&    r2rg�TarFile.addfiler	s��	
���E���?�w�}�}���7�<�<�1�3D��R�S�S��)�)�G�$���m�m�D�K�K�������D�������3�����s�3�x���� � ��������w�|�|�W�M� &�w�|�|�Y� ?��F��1�}����"�"�3�)�i�*?�#@�A��!����K�K�6�I�-�-�K������G�$r4c��Ue:UOoUe[![U[2%c[	Q2gU![U2%cU![U*![c[QS8Q02Pgh9h)Nzfilter z
 not foundzrString names are not supported for TarFile.extraction_filter. Use a function such as tarfile.data_filter directly.)	�extraction_filterr�rr�	TypeError�callable�_NAMED_FILTERSr'r*)r�rcs&&r2�_get_filter_function�TarFile._get_filter_function�	s����>��+�+�F��~�"�"��&�#�&�&��6�7�7��M��F����M�	G�!�&�)�)���	G��w�v�j�
�;�<�$�F�	G�s�A � 	A=�*A=�
numeric_ownerc
��,oUOU2oUeSoSFDloUOVvU2vq�UeJUO2%cUOU	2UO	V�UO2%(UUQ5Jn	UOQP	Q5SFD�o	UV�2oUeUOU	Q2J%[OOVO2o[OU2o[O UO"2%fUOUQ2J�UO%V�UQ5UO'V�2UO)V�2J�	P![c(o
SOS	[S
22Po
=
CJPo
=
hh9h[cSOSQ2CJ0h9h[*co
SO-S
2Po
=
CJWPo
=
hh9h)N)�	set_attrsrv�filter_functionc��UO!r�r�)r�s&r2�<lambda>�$TarFile.extractall.<locals>.<lambda>�	s��q�v�vr4)r��reversezexcluded by filter�missingznot a directory)rv)rt�_get_extract_tarinfor�rn�_extract_one�sort�_FILTER_ERRORS�_log_no_directory_fixup�reprr�r�ror�r7�FileNotFoundErrorr8r@r;�chown�utime�chmodr�_handle_nonfatal_error)r�r�r�rvrc�directoriesryr�rv�
unfiltered�exc�dirpathr7r(s&&&$$         r2�
extractall�TarFile.extractall�	s������3�3�F�;���?��G��F�"&�";�";���#/��G�����}�}����"�"�:�.����g�7�=�=�?�7J�,9�.=�
�
?��	���-�t��<�&�J�
/��-�j�?�G��?��0�0��1E�G���'�'�,�,�t�\�\�:����H�H�W�-�E��|�|�E�M�M�2�2��0�0��:K�L���
�
�7�=�
�I��
�
�7�,��
�
�7�,�5&��&���0�0��T�#�Y�G�����)���0�0��)�D���� �
/��+�+�A�.�.��
/�s��*E?�2G�6G�
)G�4F4�
%G�0G�5G�?	F1�	F1�
F,�%G�,F1�1G�4	G�>G�G�G�G�	H�#H�$G<�<Hc�R�UO]QUO8QU8Q02P!)r
z!tarfile: Not fixing up directory z (�))rfr�)r�r��reasons&&&r2r��TarFile._log_no_directory_fixup�	s���	�	�!��;�;��(�	)r4c��UOU2oUOVU2vqxUdUOVrV4UQ5P!P!)N)ry)rtrr�)	r�r�r�rxrvrcryrvr�s	&&&&$$   r2�extract�TarFile.extract�	sQ���3�3�F�;��"�7�7��T�+��������g�Y�.=�
�
?�r4c�*�[U[2%cUOU2oLSoPoUVC2oUe&UO]QUO*2Q!UO2%cE[OU2o[OOV5O 2UmVT1![[[
1coSO
S2Po=K�Po=h[coSOS2Po=K�Po=hh9h)Nre)NN)rrr(r�rr
�_handle_fatal_errorrr�rfr�r�r�r�r�ror�r�)r�r�ryr�r��filteredr(s&&&&   r2r�TarFile._get_extract_tarinfo
s����f�c�"�"�����/�J��J���	+�&�z�8�H�
���I�I�a�/�*�/�/�A�B����>�>����y�y��*�H�$&�G�G�L�L��7H�7H�$I�H�!��#�#���+�[�9�	(��$�$�Q�'�'���	+��'�'��*�*��	+�s/�B=�=D�D�C)�)D�6D�7D
�
Dc	�R�UOQ2UOU[OO	V!O
2UUUUQ5P![[1coSOS2Po=P!Po=h[coSOS2Po=P!Po=hh9h)r�)rxrvry�extraction_root)r+�_extract_memberr�r�ror�r�rr�rr�)r�rvr�rxrvryr(s&&&&&& r2r��TarFile._extract_one
s���	
���C��		+�� � ��"�'�'�,�,�t�\�\�*J�+4�/<�1@�15�	
!�
7��
�+�,�	(��$�$�Q�'�'���	+��'�'��*�*��	+�s/�>A�B&�$B&�%A<�<B&�	B&�
B!�!B&c�^�UO]6�cgUO]QU*2P!)r��tarfile: %s)r�rf�r�r(s&&r2r��TarFile._handle_nonfatal_error2
s$���?�?�Q����I�I�a���*�+r4c�x�UO]6�cg[U[2%cdUOe&UO	]QUO
*2P!UO	]QUO
8QUO802P!UO	]Q[
U2O8QU802P!)r;r�z	tarfile: rv)r�rr��filenamerf�strerrorr�r�r�s&&r2r��TarFile._handle_fatal_error9
sw���?�?�Q���
��7�
#�
#��z�z�!��	�	�!�]�Q�Z�Z�7�8��	�	�!����Q�Z�Z�H�I��I�I�a�T�!�W�-=�-=�q�A�Br4c���UOQ2[U[2%cUOU2oLSoUO	2%fUO
[7cUOV2!UO2%fUO2%cL[UO[2%c[Q2gUOUOU22!P!)r�z'cannot extract (sym)link as file object)r+rrr(r�r�rw�
fileobjectr�r�rpr�r�extractfile�_find_link_target)r�r�rvs&& r2r��TarFile.extractfileE
s���	
���C���f�c�"�"��n�n�V�,�G��G��=�=�?�?�g�l�l�/�A��?�?�4�1�1�
�]�]�_�_��
�
����$�,�,��0�0�"�"K�L�L��'�'��(>�(>�w�(G�H�H�r4ryr�c�*�UOQ2oUOQ[O2o[OOU2oU%c>[OO
U2%f[OUP	Q5UO2%fUO2%c/UO]UO8QUO802LUO]UO2UO2%cUOV2CLUO2%cUO!V2L�UO#2%cUO%V2L�UO'2%fUO)2%cUO+V2LyUO2%fUO2%cUO-VUUQ5L8UO.[07cUO3V2LUOV2U%cOUO5VU2UO2%f%UO7V2UO9V2P!P!P!)r�)�exist_okz -> �ryr�)r�r�r�r�r�r�r��makedirsr�r�rfr�r�r��makefiler��makedirr��makefifor�r��makedev�makelink_with_filterr�rw�makeunknownr�r�r�)r�rv�
targetpathrxrvryr��	upperdirss&&&&&$$ r2r��TarFile._extract_membere
s��� �&�&�s�+�
��'�'��R�V�V�4�
��G�G�O�O�J�/�	��R�W�W�^�^�I�6�6�
�K�K�	�D�1��=�=�?�?�g�m�m�o�o��I�I�a�w�|�|�W�5E�5E�F�G��I�I�a����&��=�=�?�?��M�M�'�.�
�]�]�_�_��L�L��-�
�^�^�
�
��M�M�'�.�
�]�]�_�_��
�
����L�L��-�
�]�]�_�_��
�
����%�%�� /� /�
&�
1��\�\��
0����W�1��M�M�'�.���J�J�w�M�:��=�=�?�?��
�
�7�/��
�
�7�/�#�r4c���UOe[OU2P![OUQ2P![c+[OOS2%fgP!h9h)N�)r�r��mkdir�FileExistsErrorr�r��r�rvr�s&&&r2r��TarFile.makedir�
sW��
	��|�|�#�����$�����U�+���	��7�7�=�=��,�,��-�	�s'�
A�A�A�	A7�%A7�2A7�6A7c���UOoUOUO2UOo[	UQ29^tt^2oUO
dfUO
FD(vqgUOU2[
V5U[U2J*	UOUO2UO2L[
V5UO[U2PPP2P!)%fhP!9h)r�)
rprrrr�r�rsr`rr!�truncate)r�rvr��sourcerg�targetrAr!s&&&     r2r��TarFile.makefile�
s����������G�'�'�(��"�"��
�z�4�
(�
(�F��~�~�)�$+�N�N�L�F��K�K��'����i��I�%3����G�L�L�)����!��F�G�L�L�)�W�M�)�
(�
(�
(�s�	C#�BC#�#C4	�,C4	c�p�UOV2UO]QUO*2P!)r�z9tarfile: Unknown file type %r, extracted as regular file.)r�rfr�r�s&&&r2r��TarFile.makeunknown�
s1��	
�
�
�g�*��	�	�!�2�4;�L�L�A�	Br4c�v�[[Q2%c[OU2P![Q2g)�mkfifozfifo not supported by system)r�r�r�rr�s&&&r2r��TarFile.makefifo�
s)���2�x� � ��I�I�j�!��=�>�>r4c��[[Q2%c[[Q2%f[Q2gUOoUeQoUO	2%cU[
O*oLU[
O*o[OV#[OUOUO22P!)�mknodr�z'special devices not supported by systemr�)r�r�rr�r�r8r]r[r�r�r�r�)r�rvr�r�s&&& r2r��TarFile.makedev�
s����r�7�#�#�7�2�y�+A�+A��H�I�I��|�|���<��D��=�=�?�?��D�L�L� �D��D�L�L� �D�
�������G�,�,�g�.>�.>�?�	Ar4c�*�UOVPP2!r�)r�r�s&&&r2�makelink�TarFile.makelink�
s���(�(��d�D�I�Ir4c�0�P
oUO2%c�[OOU2%c[OU2UO
o[OQ6Xc+UOQ[OO2o[OVb2P![OOUO2%c_[OOU2%c[OU2[OUOU2P!UOU2oUeSoL<Ue[!Q2gUUOUOP
Q5U2UVt2oUdUO'V�UUQ5P!P![cP	oK�h9h[cS%c
[!Q2Pggh9h["co	[%XO2S	gPo	=	hh9h)Fr'r�z%unable to resolve link inside archive)r�r�r�z[makelink_with_filter: if filter_function is not None, extraction_root must also not be None)r�r�r��lexists�unlinkr�r�r�r��symlinkr�r��link�symlink_exceptionr�r'rr�rr�)
r�rvr�ryr��keyerror_to_extracterror�link_targetr�r��causes
&&&&&     r2r��TarFile.makelink_with_filter�
s���$)� �	,��}�}����7�7�?�?�:�.�.��I�I�j�)�%�.�.���7�7�d�?�#.�"5�"5�c�2�7�7�;�;�"G�K��
�
�;�3���7�7�>�>�'�"6�"6�7�7��w�w���z�2�2��	�	�*�-��G�G�G�0�0�*�=��8�	��/�/��8�J��"�!�H��&�"�>�?�?�
M���&�&�G�L�L�u�&�E�#�%�+�:�G����� � ��1@�1@�
!�
B� ��5!�	,�'+�$�	,��
�	�'�"�;�=�BF�G��	��&"�
M�'����A�u�L��
M�sq�F8�$F8�6F8�7AF8�9.F8�($F8�
7F8�G�0,G/�8	G�G�G�	G,�G,�G,�/	H�9H�:H�Hc�,�[[Q2%Cc5[O2]6XCcUOoUOoU%f�[
%c:UO%c([
OUO2]*o[%c:UO%c([OUO2]*oUePoUePoUO2%c0[[Q2%c[OV%U2P![OV%U2P!P!P![cK�h9h[cK�h9h[[ 1co[#Q2SgPo=hh9h)�geteuid�lchownzcould not change owner)r�r�r�r$r#rLr��getgrnamr'rJr��getpwnamr�r�r�r��
OverflowErrorr)r�rvr�rv�g�ur(s&&&&   r2r��
TarFile.chowns)���2�y�!�!�b�j�j�l�a�&7����A����A� ���s�w�}�}�}��L�L����7��:����s�w�}�}�}��L�L����7��:���y����y���
D��=�=�?�?�w�r�8�'<�'<��I�I�j�Q�/��H�H�Z�A�.�/'8�!�� �����
 ������]�+�
D�"�#;�<�!�C��
D�sx�E�!E�3'E�E �'E �9'E �-E1�E1�E1�2E1�	E�E�E� 	E.�*E.�-E.�1F�F�F�Fc��UOeP![OV!O2P![co[	Q2SgPo=hh9h)Nzcould not change mode)r�r�r�r�r)r�rvr�r(s&&& r2r��
TarFile.chmodAsD���<�<���	?��H�H�Z���.���	?��6�7�Q�>��	?�s� 5�	A�A�A�Ac���UOoUeP![[Q2%fP![OV#U12P![co[Q2SgPo=hh9h)Nr�z"could not change modification time)r"r�r�r�r�r)r�rvr�r"r(s&&&  r2r��
TarFile.utimeKs[���
�
���=���r�7�#�#��	L��H�H�Z���0���	L��C�D�!�K��	L�s�A�	A#�A#�A�A#c��UOQ2UOdUOoPUmU!UOUOO	26wclUO]6XcP!UOOUO]*
2UOO
]2%f[Q2gPoUOOU2oUd0UO0%fUO2O5U2U!P	UmU![ceoSO%cISO]QSOS1*2S9O[*
tmPo=J�Po=K�Po=h[c�oSO%cJSO]QSOS1*2S9O[*
tmPo=CJ-SO]6Xc[[S22PgPo=CK<Po=h[ c"SO]6Xc
[Q2PgCKj["c2oSO]6Xc[[S22PgPo=CK�Po=h[$co[[S22PgPo=h[&cHo]PHRo[+X4O,2%c[QS02PgSg[.cSgh9hPo=hh9h)�rar^z0x%X: %sz
empty filezzlib error: )r+r�rArprrrbrrvrir�r�rfr1rFrr�r�r�rr�rr�r�r�r�rnr�)r��mrvr(r�s&    r2r}�TarFile.nextYse��
	
���D�����'�� � �A�#�D���H��;�;�$�,�,�+�+�-�-��{�{�a����L�L���d�k�k�A�o�.��<�<�$�$�Q�'�'�� 8�9�9����
��,�,�2�2�4�8��<
����;�;�;����#�#�G�,��� �D�L����M"�
��$�$�$��I�I�a��t�{�{�A�.>�!>�?��K�K�9�,�K��%��&�
6��$�$�$��I�I�a��t�{�{�A�.>�!>�?��K�K�9�,�K���[�[�A�%�#�C��F�+��5�&��#�
<��;�;�!�#�#�L�1�t�;�$�'�
6��;�;�!�#�#�C��F�+��5�$��(�
2���A��'�T�1���
���!�!�Z�Z�0�0�'�,�q�c�(:�;��E����"���G���
�s��D&�&	L�0L�1F�AF�L�L�H%�0AH%�9H%�
H%�%L�2L�L�L�L�J	�.J	�	L�L�J,�,L�9L�;K+�K+�+	K9�5K9�9K<�<Lc��UO2oP
oUdUOU2oUPUoU%c [OOU2o[
U2FDsoU%c UOUO6XcP
oJ*U%c+[OOUO2oLUOoV6XfJpUt!	U%c[U2gP![cP	oK�h9hrS)	r-�indexr*r�r�r��reversedrAr�)	r�r�rv�	normalizer��skippingr�r��member_names	&&&&     r2r&�TarFile._getmember�s���
�/�/�#������
*��
�
�g�.��"�&�5�/����7�7�#�#�D�)�D��w�'�F���>�>�V�]�]�2�$�H��� �g�g�.�.�v�{�{�;��$�k�k���"��
�(���W�%�%���1�
 � ��
 �s�C.�.	C>�8C>�=C>c�f�UO%fUO2dJP	UmP!P!r�)r�r}r�r�s&r2r,�
TarFile._load�s(���{�{�{��)�)�+�)���D�L�r4c���UO%c'[QUOO*2gUd0UOU7c[QUO*2gP!P!)z%s is closedzbad operation for mode %r)r�r�rwr�r�)r�r�s&&r2r+�TarFile._check�sU���;�;�;��.�4�>�>�+B�+B�B�C�C����	�	�� 5��5��	�	�A�B�B�!6�r4c�D�UO2%cRQO[P[OOUO2UO122oPoLUOoSoUOV#P	Q5oUe[QU*2gU!)r�)rvr�zlinkname %r not found)
r�rorcr�r�r�r�r�r&r')r�rvr��limitr�s&&   r2r��TarFile._find_link_target�s����=�=�?�?��x�x��t�b�g�g�o�o�g�l�l�.K�W�M]�M]�-^� _�`�H��E��'�'�H��E�����D��I���>��2�X�=�>�>��
r4c#� �UO%cUOFPiw�K
P!]oUOdUO2oU]*
oUw�	U[	UO26cUOU*oL6UO%f#UO2oU%f
P	UmP!LP!U]*
oUw�	JuK�3hr�)r�r�r�r}r,)r�r�rvs&  r2�__iter__�TarFile.__iter__�s�����<�<�<��|�|�#�#�������'��i�i�k�G��Q�J�E��M���s�4�<�<�(�(��,�,�u�-���\�\�\��)�)�+���#'�D�L�����Q�J�E��M�3
$�s+�C�C�C�C�8C�7%C�C�5Cc�b�VO6:c[U[OQ5P!P!)��file)r�r{ry�stderr)r�r�msgs&&&r2rf�TarFile._dbgs!���J�J���#�C�J�J�'�r4c�(�UO2U!r�)r+r�s&r2�	__enter__�TarFile.__enter__s�����
��r4c��UeUO2P!UO%fUOO2P	UmP!r�)r�r�rpr�)r�r�r�	tracebacks&&&&r2�__exit__�TarFile.__exit__s5���<��J�J�L��#�#�#����"�"�$��D�Kr4)r�r�r�r�r�r�r�r�r�r0r�r1rpr�rPr�r�r�r�r�rAr�r�rv)Nr�NNNNNNr�NNNNFN)r�N)r�NrW)r�N�	)r�NN)r�NNNN)NNNrO)NTr�)�.N)r�T)TF)NF)Cr�r�r�r�r�r�r�r�r�rPr�r0r1rrvror�rpr�r�r#rr�rrrr r�r�r(r-r0rTr�rirgrtr�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r}r&r,r+r�r�rfrrr�r�r�s@r2rr�s����
�E��K��L��J��F��H�
�F��G��J���f�f��#�t�Z�k/��k/�Z�2��2�����B����6����6� �� �H	�y��x�
�y��x�
�y��I�%�*	��?�h�T*�D�*�X1"��1"�f%�<G�$C/�%�C/��C/�J)�?��?��?�*$�<+�(,�
C��@10�@D�10�(,�10�p
�N� B�?�A�$J�<B�| D�D?�L�>�F&&�P �C��&�>(���r4c���[UQ2%c/UO2o[UQ5oUOU2L[U2oUO	2P	![
cP
!h9h)rb)rp)r�rrrr�r)r�r�r%s&  r2�
is_tarfiler s[��
��4�� � ��)�)�+�C��T�"�A��I�I�c�N��T�
�A�	���	�������s�A �A	A � 	A/�*A/�.A/c��	�]PHoQoUOUQ5oUOQQQP
QQ5UOQQ	[Q
Q5UO	P	Q5oUOQ
QQQQ5UOQQQQ9QQ5UOQQQQ:QQ5UOQQQQQ5UO2oUO%c!UOeUO]Q2UOd�UOo[U2%c�[UQ29^tt^2oUO2[UO2[OQ5PPP2UO %c[Q O#U22P!P!UO]Q!O#U22P!UO$d�UO$o[U2%cF[&OUQ"29^tt^2oUO%UO Q#5PPP2P!UO]Q!O#U22P!UOCdK[)UO2]6Xc%UO]*o[*O,oLI[)UO2]6XcUOvqXL UO]UO/22[W2%c�[&OUQ"29^tt^2oUO1WUOQ$5PPP2UO %c8WQ%6XcQ&O#U2o	LQ'O#VX2o	[U	2P!P!UO]Q!O#U22P!UO2d�UO2O5]2o
[*O6O9U
2vq�Q(Q)Q*Q)Q+Q,Q-Q,Q.Q/Q0Q/Q1Q/Q2Q/Q3Q4Q5Q4-
o
V�7cQ6V�**LQ7oUO2o[&OV�29^tt^2oSFDoUO;U2J	PPP2UO %c[Q8O#U
22P!P!P!)%fhCKF9h)%fhP!9h)%fhCK�9h)%fhK~9h);r;z3A simple command-line interface for tarfile module.)�descriptionz-vz	--verbose�
store_truezVerbose output)�action�default�helpz--filterz<filtername>zFilter for extraction)�metavar�choicesr)�requiredz-lz--list�	<tarfile>zShow listing of a tarfile)rrz-ez	--extract�+zExtract tarfile into target dir)�nargsrrz-cz--createzCreate tarfile from sourcesz-tz--testzTest if a tarfile is validz&--filter is only valid for extraction
r�r�z{!r} is a tar archive.z{!r} is not a tar archive.
r�)r_)r�rcr	z{!r} file is extracted.z+{!r} file is extracted into {!r} directory.r�r�z.tgzz.xzr�z.txzz.bz2r�z.tbzz.tbz2z.tb2z.zstr�z.tzstzw:r�z{!r} file created.)rz<output_dir>)z<name>z<file>)�argparse�ArgumentParser�add_argumentrs�add_mutually_exclusive_group�
parse_argsrcr��exit�testrrr-r{ryr�r_rPr�rr,r��curdir�format_helpr��creater�r��splitextri)rr
�parserr��argsrdr��tfrr��tar_namer��ext�compressions�tar_mode�	tar_files�	file_names                 r2�mainr,5s���G�K�
�
$�
$��
$�
=�F�
����k�,��-��/�
���
�N� .�4��6�
�/�/��/�>�E�	���t�X�{�7��9�	���t�[��<�=��?�
���t�Z�s�3�9��;�
���t�X�{�8��:�����D��{�{�{�t�|�|�+����A�@�A��y�y���i�i���c�?�?��c�3���3���� ��c�n�n�&�S�Z�Z�8� ��|�|�|��.�5�5�c�:�;��
�K�K��9�@�@��E�F�	
���	��i�i���c�?�?����c�5�)�)�R��������-�*�)�
�K�K��9�@�@��E�F�	
���	!��t�|�|���!��,�,�q�/�C��Y�Y�F�
����
�!�
#��,�,�K�C���K�K��6�-�-�/�0��c�?�?����c�5�)�)�R��
�
�6�$�+�+�
�>�*��|�|�|��S�=�3�:�:�3�?�C�2�39�6�#�3F���c�
�
�
�K�K��9�@�@��E�F�	
���	 ��;�;�?�?�1�%�����!�!�(�+���
�4��D��4��D��E��E��U��E��E��U�
�� 03�/B�4�,�+�+����K�K�	�
�\�\�(�
-�
-��&�	����y�!�'�.��<�<�<��&�-�-�h�7�8��5
!�M ����*�)�)��*�)�)��D.�
-�sH�2:R)�R=�S�S%�)R:	�2R:	�=S	�S	�S"	�S"	�%S5	�.S5	c�d�UQ6Xc]QHGoUQQQ5Q![Q[8QU802g)�version)�_deprecated)�removez0.9.0zmodule z has no attribute )r6�)r�r/�AttributeErrorr�)r�r/s& r2�__getattr__r3�s3���y��(��I�g�.��
�7�8�,�.@���I�
J�Jr4�__main__)rrrrrrrrr	r�r�rLr�r�rr�r�r�r
rrr
rrr)r�r�r!r"r#r$r�r�>r�r�r�r�irO)o�
__author__�__credits__�builtinsrr�ryr�r]r_r8r�rVr��rerJr�rLr2�NotImplementedErrorr�r��__all__r-r1r#r
rrrr*r�r]r�r�r/r0r�r��CONTTYPErrr^rr$rrr�rLr�r�rwr�r`r�r�rrDr�r�r��getfilesystemencodingr3r9rIrQr[r`rlrsr|rrrrrrr	r�r�r�rFr�r�r��objectr�r>�BufferedReaderror
rrr
rrrr�r�r�r�r��
frozendictrsr��compiler�rrrr,r3r�rr4r2�<module>rAs���>7�
�H��
'�
�	�	�
���
��	�����$�%8�'�B��?�����	�
��^�
��	��������
�
����
��
��
��
��
������������
��
������
�
�
�
����H�g��G�X��W�g�#�%5�!�	#���(��>�+�
��/�
�
�	�.�
�9��
�U��U��U�	�3�	�3�
�C�
���7�7�d�?��H��(�(�*�H�0�&�
�(�N�
�:*�"&��$��>$���$�	�y�	�	�8�	�	��	�	�x�	�	�(�	�	�(�	�	�{�	�	�;�	�	�[�	�	��	�	�K�	���0N�N�b�6��@i�&�i�X"�2�$�$�"�	�(�	�J��J�
?�k�?�@�{�@�
L��L�
?�+�?�D��D��w��5��H�T�����)�	�:�
�K����	����:�:�&8�9��H
9�f�H
9�Vo�f�o�j)�$�|�|��`9�FK��z���F���_c��
�C�����
�C��s.�I1�J�1I>�7I>�=I>�J�J�
J

Youez - 2016 - github.com/yon3zu
LinuXploit