ÿØÿà JPEG ÿþ; 403WebShell
403Webshell
Server IP : 68.65.120.201  /  Your IP : 216.73.216.80
Web Server : LiteSpeed
System : Linux server179.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User : taxhyuvu ( 2294)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python313/lib64/python3.13/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python313/lib64/python3.13/__pycache__/tarfile.cpython-313.opt-2.pyc
�

sdYh������SrSrSrSSKJr SSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKrSSK
r
SSKrSSKrSSKr\\\4r/SQrSrSr\S	-rS
rSrSrSrS
rSrSr Sr!Sr"Sr#Sr$Sr%Sr&Sr'Sr(Sr)Sr*Sr+Sr,Sr-Sr.Sr/Sr0\0r1\\ \!\"\%\&\'\#\$\(\)\*4r2\\ \'\*4r3\(\)\*4r4Sr51Skr6\7\7\7\8\8\8S .r9\RtS!:XaS"r;O\Rx"5r;S#r=S$r>S%r?S&\14S'jr@S(rAS\S4S)jrBS*rC"S+S,\D5rE"S-S.\E5rF"S/S0\E5rG"S1S2\E5rH"S3S4\E5rI"S5S6\E5rJ"S7S8\J5rK"S9S:\J5rL"S;S<\J5rM"S=S>\J5rN"S?S@\J5rO"SASB5rP"SCSD5rQ"SESF\R5rS"SGSH\R5rT"SISJ\R�5rV"SKSL\E5rW"SMSN\W5rX"SOSP\W5rY"SQSR\W5rZ"SSST\W5r["SUSV\W5r\"SWSX\W5r]\W\\F4r^SfSYjr_SZr`S[raS\rb\`\a\bS].rc\R"5rd\R�"S^5rf"S_S`\R5rg"SaSb\R5rhScri\hRrSdrj\kSe:Xa\j"5 gg!\a SrGN*f=f!\a SrGN4f=f)gz0.9.0u"Lars Gustäbel (lars@gustaebel.de)u4Gustavo Niemeyer, Niels Gustäbel, Richard Townsend.�)�openN)�TarFile�TarInfo�
is_tarfile�TarError�	ReadError�CompressionError�StreamError�ExtractError�HeaderError�ENCODING�USTAR_FORMAT�
GNU_FORMAT�
PAX_FORMAT�DEFAULT_FORMATr�fully_trusted_filter�data_filter�
tar_filter�FilterError�AbsoluteLinkError�OutsideDestinationError�SpecialFileError�AbsolutePathError�LinkOutsideDestinationError�LinkFallbackError�i�sustar  sustar00�d��0�1�2�3�4�5�6�7�L�K�S�x�g�X��)�path�linkpath�size�mtime�uid�gid�uname�gname>r0r7r6r1)�atime�ctimer3r4r5r2�nt�utf-8c�v�Uc[S5eURX#5nUSUU[U5-
[--$)Nzmetadata cannot contain None)�
ValueError�encode�len�NUL)�s�length�encoding�errorss    �./opt/alt/python313/lib64/python3.13/tarfile.py�stnrF�sA��	�y��7�8�8�	����"�A��W�f�:��#�a�&��C�/�/�/�c�\�URS5nUS:waUSUnURX5$)Nr���)�find�decode)rArCrD�ps    rE�ntsrM�s2��	
���u�
�A��B�w�
�b�q�E���8�8�H�%�%rGc�J�USS;aOSn[[U5S-
5HnUS-nXUS--
nM USS:XaS[U5S-
-U-
*nU$[USS5n[UR	5=(d S	S5nU$![
a [
S
5ef=f)Nr)��r.�rP��ascii�strict�0�invalid header)�ranger?rM�int�stripr=�InvalidHeaderError)rA�n�is   rE�ntir]�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�0B�B"rQc��Un[U5nSUs=::aSUS-
-:a O O[SUS-
U4-S5[-nU$U[:XauSUS-
-*Us=::aSUS-
-:a[O OXUS:�a
[	S/5nO[	S/5nSU-U-n[US-
5HnUR
SUS-5 US-nM U$[S	5e)
NrrQr.z%0*orSrRrOrPzoverflow in number field)rX�bytesr@r�	bytearrayrW�insertr=)r[�digits�format�
original_nrAr\s      rE�itnre�s����J��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�4rGc��S[[R"SU55-nS[[R"SU55-nX4$)NrR�
148B8x356B�
148b8x356b)�sum�struct�unpack_from)�buf�unsigned_chksum�
signed_chksums   rE�calc_chksumsro�sE���C�� 2� 2�<�� E�F�F�O��#�f�0�0��s�C�D�D�M��)�)rGc��U=(d SnUS:XagUc[R"XU5 g[X$5upV[U5H<nUR	U5n[U5U:aU"S5eUR
U5 M> US:wa9UR	U5n[U5U:aU"S5eUR
U5 g)Ni@r�unexpected end of data)�shutil�copyfileobj�divmodrW�readr?�write)	�src�dstrB�	exception�bufsize�blocks�	remainder�brls	         rErsrs�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��	�	�#��
rGc��[[RSS5nUb!URUS5R	U5n[USS9 g)NrC�backslashreplace� )�end)�getattr�sys�stdoutr>rK�print)rArCs  rE�_safe_printr�s@���s�z�z�:�t�4�H���
�H�H�X�1�2�9�9�(�C��	�!��rGc��\rSrSrSrg)ri
�N��__name__�
__module__�__qualname__�__firstlineno__�__static_attributes__r�rGrErr
���rGrc��\rSrSrSrg)rir�Nr�r�rGrErrr�rGrc��\rSrSrSrg)rir�Nr�r�rGrErrr�rGrc��\rSrSrSrg)r	ir�Nr�r�rGrEr	r	r�rGr	c��\rSrSrSrg)r
ir�Nr�r�rGrEr
r
r�rGr
c��\rSrSrSrg)rir�Nr�r�rGrErrr�rGrc��\rSrSrSrg)�EmptyHeaderErrorir�Nr�r�rGrEr�r�r�rGr�c��\rSrSrSrg)�TruncatedHeaderErrori"r�Nr�r�rGrEr�r�"r�rGr�c��\rSrSrSrg)�EOFHeaderErrori%r�Nr�r�rGrEr�r�%r�rGr�c��\rSrSrSrg)rZi(r�Nr�r�rGrErZrZ(r�rGrZc��\rSrSrSrg)�SubsequentHeaderErrori+r�Nr�r�rGrEr�r�+r�rGr�c�,�\rSrSrSrSrSrSrSrg)�
_LowLevelFilei2c��[R[R[R-[R-S.Un[[S5(aU[R-n[R"XS5Ulg)N��r�w�O_BINARYi�)	�os�O_RDONLY�O_WRONLY�O_CREAT�O_TRUNC�hasattrr�r�fd)�self�name�modes   rE�__init__�_LowLevelFile.__init__8sb��������r�z�z�)�B�J�J�6�
�����2�z�"�"��B�K�K��D��'�'�$�e�,��rGc�D�[R"UR5 g�N)r��closer��r�s rEr��_LowLevelFile.closeAs��
������rGc�D�[R"URU5$r�)r�rur��r�r2s  rEru�_LowLevelFile.readDs���w�w�t�w�w��%�%rGc�F�[R"URU5 gr�)r�rvr��r�rAs  rErv�_LowLevelFile.writeGs��
������!�rG)r�N)	r�r�r�r�r�r�rurvr�r�rGrEr�r�2s��-��&�rGr�c�`�\rSrSrSrSrSrSrSrSr	Sr
S	rSS
jrSr
SrS
rSrg)�_StreamiJc�:�SUlUc[X5nSUlUS:Xa[U5nUR5nU=(d SUlX lX0lX@lXPlSUl	SUl
SUlUS:Xa[SSKnXplURS5UlUS	:Xa"UR"UlUR'5 gUR)U5 gUS
:XaJSSKnUS	:Xa(SUlUR/5Ul[2UlgUR5U5UlgUS:XaOSSKn	US	:Xa.SUlU	R95UlU	R:UlgU	R=5UlgUS:wa[SU-5eg![a
 [S5Sef=f![a
 [S5Sef=f![a
 [S
5Sef=f! UR(dURR?5 SUle=f)NTF�*�rGr�gzzzlib module is not availabler��bz2�bz2 module is not available�xz�lzma module is not available�tar�unknown compression type %r) �_extfileobjr��_StreamProxy�getcomptyper�r��comptype�fileobjrzrl�pos�closed�zlib�ImportErrorr	�crc32�crc�errorry�
_init_read_gz�_init_write_gzr��dbuf�BZ2Decompressor�cmp�OSError�
BZ2Compressor�lzma�LZMADecompressor�	LZMAError�LZMACompressorr�)
r�r�r�r�r�rz�
compresslevelr�r�r�s
          rEr��_Stream.__init__Vs�� ����?�#�D�/�G�$�D���s�?�#�7�+�G��*�*�,�H��
���	��	� �
��������������-	��4��U��!�	��:�:�c�?����3�;�%)�Z�Z�D�N��&�&�(��'�'�
�6��U�"�T���3�;� #�D�I�"�2�2�4�D�H�%,�D�N�"�0�0��?�D�H��T�!�U���3�;� #�D�I�#�4�4�6�D�H�%)�^�^�D�N�#�2�2�4�D�H��U�"�&�'D�x�'O�P�P�#��E#�U�*�+I�J�PT�T�U��#�T�*�+H�I�t�S�T��#�U�*�+I�J�PT�T�U��	��#�#����"�"�$��D�K��sy�<G%�F�AG%�G%�G%�$F1�(-G%�G%�-G%�4G�83G%�,G%�G%�F.�.G%�1G�G%�G"�"G%�%5Hc�l�[US5(a#UR(dUR5 ggg)Nr�)r�r�r�r�s rE�__del__�_Stream.__del__�s&���4��"�"�4�;�;��J�J�L�,7�"rGc��URRUURRURR*URRS5Ul[R"S[[R"555nURSU-S-5 URRS5(aURSSUl[RRUR5UlURURR!SS5["-5 g)	Nr�<Ls�s��.gz���z
iso-8859-1�replace)r��compressobj�DEFLATED�	MAX_WBITS�
DEF_MEM_LEVELr�rj�packrX�time�_Stream__writer��endswithr�r0�basenamer>r@)r�r��	timestamps   rEr��_Stream._init_write_gz�s����9�9�(�(��)-���);�);�*.�)�)�*=�*=�)=�)-���)@�)@�)*�	,���
�K�K��c�$�)�)�+�&6�7�	����(�9�4�{�B�C��9�9���e�$�$��	�	�#�2��D�I��G�G�$�$�T�Y�Y�/��	����T�Y�Y�%�%�l�I�>��D�ErGc�,�URS:Xa*URRXR5UlU=R[U5-
slURS:waURRU5nURU5 g)Nr�r�)	r�r�r�r�r�r?r��compressr�r�s  rErv�
_Stream.write�se���=�=�D� ��y�y���q�(�(�3�D�H����C��F����=�=�E�!����!�!�!�$�A����Q�rGc�`�U=RU-
sl[UR5UR:�avURR	URSUR5 URURSUl[UR5UR:�aMuggr�)rlr?rzr�rvr�s  rE�__write�_Stream.__write�sr��	
���A�
���$�(�(�m�d�l�l�*��L�L���t�x�x�
����6�7��x�x����
�.�D�H��$�(�(�m�d�l�l�*rGc�4�UR(agSUlURS:Xa=URS:wa-U=RURR5-
slURS:Xa�UR(a�URRUR5 SUlURS:XawURR[R"SUR55 URR[R"SURS-55 UR(dURR5 gg!UR(dURR5 ff=f)NTr�r�rGr�r�l��)r�r�r�rlr��flushr�rvrjr�r�r�r�r�r�s rEr��
_Stream.close�s	���;�;�����	%��y�y�C��D�M�M�U�$:����D�H�H�N�N�,�,���y�y�C��D�H�H����"�"�4�8�8�,�����=�=�D�(��L�L�&�&�v�{�{�4����'B�C��L�L�&�&�v�{�{�4����J�9N�'O�P��#�#����"�"�$�$��4�#�#����"�"�$�$�s�D!E)�).Fc���URRURR*5UlSUlURS5S:wa[
S5eURS5S:wa[S5e[URS55nURS5 US	-(aI[URS55S
[URS55--nURU5 US-(a&URS5nU(a
U[:XaOM%US-(a&URS5nU(a
U[:XaOM%US-(aURS5 gg)
NrGr/s��not a gzip filer.�zunsupported compression method��rRrQ�)r��
decompressobjr�r�r��
_Stream__readrr	�ordrur@)r��flag�xlenrAs    rEr��_Stream._init_read_gz�s+���9�9�*�*�D�I�I�,?�,?�+?�@�����	��;�;�q�>�[�(��-�.�.��;�;�q�>�W�$�"�#C�D�D��4�;�;�q�>�"�����A���!�8��t�{�{�1�~�&��s�4�;�;�q�>�/B�)B�B�D��I�I�d�O��!�8���K�K��N���A��H����"�9���K�K��N���A��H����!�8��K�K��N�rGc��UR$r�)r�r�s rE�tell�_Stream.tell�s
���x�x�rGc��XR-
S:�an[XR-
UR5up#[U5HnUR	UR5 M  UR	U5 UR$[S5e)Nrz seeking backwards is not allowed)r�rtrzrWrur
)r�r�r{r|r\s     rE�seek�_Stream.seek�sn�����>�Q�� &�s�X�X�~�t�|�|� D��F��6�]���	�	�$�,�,�'�#��I�I�i� ��x�x���@�A�ArGc�d�URU5nU=R[U5-
slU$r�)�_readr�r?)r�r2rls   rEru�_Stream.reads)���j�j�������C��H����
rGc�@�URS:XaURU5$[UR5nUR/nX!:a�UR(aURnSUlO-UR
R
UR5nU(dOBURRU5nURU5 U[U5-
nX!:aM�SRU5nX1SUlUSU$!URan[S5UeSnAff=f)Nr�rGzinvalid compressed data)r�rr?r�rlr�rurzr��
decompressryr�append�join)r�r2�c�trl�es      rEr�
_Stream._reads����=�=�E�!��;�;�t�$�$���	�	�N��
�Y�Y�K���h��x�x��h�h������l�l�'�'����5����
B��h�h�)�)�#�.��
�H�H�S�M�
��S��M�A��h�
�H�H�Q�K���e�H��	���$�x���
�>�>�
B�� 9�:��A��
B�s�C<�<D�D�Dc�4�[UR5nUR/nX!:aSURRUR5nU(dO&URU5 U[U5-
nX!:aMSSR
U5nX1SUlUSU$)NrG)r?rlr�rurzrr)r�r2rrrls     rE�__read�_Stream.__read.s���
����M��
�X�X�J���h��,�,�#�#�D�L�L�1�C���
�H�H�S�M�
��S��M�A��h�
�H�H�Q�K���U�8�����$�x�rG)r�rlrzr�r�r�r�r�ryr�r�r�r�r�N)r)r�r�r�r�r�r�r�rvr�r�r�r
r
rurrr�r�rGrEr�r�JsA��E�N�F�"�/�%�,�>�
���6rGr�c�,�\rSrSrSrSrSrSrSrg)r�i?c�X�XlURR[5Ulgr�)r�ru�	BLOCKSIZErl)r�r�s  rEr��_StreamProxy.__init__Ds�����<�<�$�$�Y�/��rGc�P�URRUlUR$r�)r�rurlr�s  rEru�_StreamProxy.readHs���L�L�%�%��	��x�x�rGc���URRS5(agURSSS:XaURSSS:Xag	URRS
5(agg)
Ns�r�r�sBZhr�
s1AY&SYr�)s]�s�7zXZr�r�)rl�
startswithr�s rEr��_StreamProxy.getcomptypeLs\���8�8����/�/��
�X�X�a��]�f�
$����!�B��9�)D��
�X�X�
 �
 �!C�
D�
D��rGc�8�URR5 gr�)r�r�r�s rEr��_StreamProxy.closeVs�������rG)rlr�ruN)	r�r�r�r�r�rur�r�r�r�rGrEr�r�?s��
0���rGr�c��\rSrSrSSjrSr\S5rSrSr	Sr
S	r\R4S
jrSSjrSrS
rSrg)�_FileInFilei]Nc��XlX lX0lSUlX@lSUlUcSU4/nSUl/UlSnURnUHQup#X&:�aURRSXbS45 URRSX"U-U45 Xs-
nX#-nMS X`R:a)URRSX`RS45 gg)NrFT)	r��offsetr2�positionr�r��	map_index�mapr)r�r�r-r2r��	blockinfo�lastpos�realposs        rEr��_FileInFile.__init__cs��������	���
��	�������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��=�>�rGc��gr�r�r�s rEr��_FileInFile.flush|s��rGc��g)N�rbr�r�s rEr��_FileInFile.modes��rGc��g�NTr�r�s rE�readable�_FileInFile.readable�s��rGc��g�NFr�r�s rE�writable�_FileInFile.writable�s��rGc�6�URR5$r�)r��seekabler�s rErC�_FileInFile.seekable�s���|�|�$�$�&�&rGc��UR$r�)r.r�s rEr
�_FileInFile.tell�����}�}�rGc�8�U[R:Xa1[[US5UR5UlUR
$U[R:XaeUS:a*[UR
U-S5UlUR
$[UR
U-UR5UlUR
$U[R:Xa>[[URU-UR5S5UlUR
$[S5e)NrzInvalid argument)	�io�SEEK_SET�min�maxr2r.�SEEK_CUR�SEEK_ENDr=)r�r.�whences   rEr
�_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�0rGc���UcURUR-
nO"[XRUR-
5nSnUS:�Ga)URURup4pVX@Rs=::aU:aO OOAU=RS-
slUR[UR5:XaSUlMw[XUR-
5nU(adURRX`RU-
-5 URRU5n[U5U:wa[S5eX(-
nOU[U--
nX-nU=RU-
slUS:�aGM)U$)NrGrr.rq)r2r.rKr0r/r?r�r
rurr@)	r�r2rl�data�start�stopr-rBr}s	         rEru�_FileInFile.read�s4���<��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�'�Q�h�(�
rGc�f�UR[U55nX!S[U5&[U5$r�)rur?)r�r}rls   rE�readinto�_FileInFile.readinto�s*���i�i��A�����)�3�s�8���3�x�rGc��SUlgr;)r�r�s rEr��_FileInFile.close�s	����rG)r�r�r0r/r�r-r.r2r�)r�r�r�r�r�r��propertyr�r<r@rCr
rIrJr
rurWr�r�r�rGrEr+r+]sQ��?�2
�������'��
%'�K�K�� �>�
rGr+c�(^�\rSrSrU4SjrSrU=r$)�ExFileObjecti�c�>�[URURURURUR
5n[TU]U5 gr�)r+r��offset_datar2r��sparse�superr�)r��tarfile�tarinfor��	__class__s    �rEr��ExFileObject.__init__�s;����g�o�o�w�/B�/B����g�l�l�G�N�N�<��
����!rGr��r�r�r�r�r�r��
__classcell__�rds@rEr]r]�s
���"�"rGr]c��\rSrSrSrg)ri�r�Nr�r�rGrErr�s��rGrc�(^�\rSrSrU4SjrSrU=r$)ri�c�N>�Xl[TU]	SUR<S35 g)Nzmember z has an absolute path�rcrar�r��r�rcrds  �rEr��AbsolutePathError.__init__�s$�����
���7�7�<�<�"2�2G�H�IrG�rcrfrhs@rErr�s���J�JrGrc�(^�\rSrSrU4SjrSrU=r$)ri�c�f>�XlX l[TU]
UR<SU<S3S-5 g)Nz would be extracted to �, � which is outside the destination�rc�_pathrar�r��r�rcr0rds   �rEr�� OutsideDestinationError.__init__�s7������
�
���G�L�L�+�+B�4�(�"�M�=�>�	?rG�rurcrfrhs@rErr��
���?�?rGrc�(^�\rSrSrU4SjrSrU=r$)ri�c�L>�Xl[TU]	UR<S35 g)Nz is a special filerlrms  �rEr��SpecialFileError.__init__�s"�����
���G�L�L�+�+=�>�?rGrorfrhs@rErr�s���@�@rGrc�(^�\rSrSrU4SjrSrU=r$)ri�c�L>�Xl[TU]	UR<S35 g)Nz is a link to an absolute pathrlrms  �rEr��AbsoluteLinkError.__init__�s"�����
���G�L�L�+�+I�J�KrGrorfrhs@rErr�s���L�LrGrc�(^�\rSrSrU4SjrSrU=r$)ri�c�f>�XlX l[TU]
UR<SU<S3S-5 g)Nz would link to rrrsrtrvs   �rEr��$LinkOutsideDestinationError.__init__�s6������
�
���G�L�L�+�?�4�(�"�E�=�>�	?rGrxrfrhs@rErr�ryrGrc�(^�\rSrSrU4SjrSrU=r$)ri�c�j>�XlX l[TU]
SUR<S3SU<S3-5 g)Nzlink z would be extracted as a zcopy of z, which was rejectedrtrvs   �rEr��LinkFallbackError.__init__�s?������
�
���5���� 0�0I�J�%�d�X�-A�B�C�	DrGrxrfrhs@rErr�s���D�DrGrc��0nURn[RRU[RRS9nURS[R45(a0URRS[R-5=oCS'[RRU5(a[U5e[RR[RRX5[RRS9n[RRXQ/5U:wa[X5eURnUb�US-nU(awUR5(dUR5(aUS-(dUS-nUS-nO8UR!5(dUR#5(aSnO[%U5eX`R:waXcS'U(Ga�UR&bSUS	'UR(bSUS
'UR*bSUS'UR,bSUS'UR5(dUR#5(Gab[RRUR.5(a[1U5e[RR3UR.5nXpR.:waXsS
'UR#5(aI[RRU[RR5U5UR.5nO*[RRUUR.5n[RRU[RRS9n[RRXQ/5U:wa[7X5eU$)N)rT�/r�i��@i�����r�r4r5r6r7�linkname)r�r�r0�realpath�
ALLOW_MISSINGr&�sep�lstrip�isabsrr�
commonpathrr��isreg�islnk�isdir�issymrr4r5r6r7r�r�normpath�dirnamer)�member�	dest_path�for_data�	new_attrsr��target_pathr��
normalizeds        rE�_get_filtered_attrsr�s����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����:�:�!�#�I�e���:�:�!�#�I�e���<�<�#�!%�I�g���<�<�#�!%�I�g���<�<�>�>�V�\�\�^�^��w�w�}�}�V�_�_�-�-�'��/�/����)�)�&�/�/�:�J��_�_�,�(2�*�%��|�|�~�~� �g�g�l�l�9�+-�7�7�?�?�4�+@�+1�?�?�<��!�g�g�l�l�9�+1�?�?�<���'�'�*�*�;�24�'�'�2G�2G�+�I�K��w�w�!�!�;�":�;�y�H�1�&�F�F��rGc��U$r�r�)r�r�s  rErrFs���MrGc�X�[XS5nU(aUR"S0UDSS0D6$U$)NF�deepr��r�r��r�r�r�s   rErrIs-��#�F�u�=�I���~�~�6�	�6��6�6��MrGc�X�[XS5nU(aUR"S0UDSS0D6$U$)NTr�Fr�r�r�s   rErrOs-��#�F�t�<�I���~�~�6�	�6��6�6��MrG)�
fully_trustedr�rRs([0-9]{1,20}) c��\rSrSr\"SW0SS_SS_SS_SS	_S
S_SS
_SS_SS_SS_SS_SS_SS_SS_SS_SS_S S!_S"S#_S$S%_S&S%_S'S%_6rSXS(jr\S)5r\RS*5r\S+5r
\
RS,5r
\S-5r\RS.5rS/r\
\
\
\
\
\
\
\
S0\
S1.
S2jrS3r\\S44S5jrS6rS7rS8r\S95rS:r\S;5r\S<5r\S=5r\S>5r\S?5r\S@5rSAr SBr!SCr"SDr#SEr$SFr%SGr&SHr'SIr(SJr)SKr*SLr+SMr,SNr-SOr.SPr/SQr0SRr1SSr2STr3SUr4SVr5g%)Yrier�zName of the archive member.r�zPermission bits.r4z6User ID of the user who originally stored this member.r5z7Group ID of the user who originally stored this member.r2zSize in bytes.r3zTime 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.r6z
User name.r7zGroup name.�devmajorzDevice major number.�devminorzDevice minor number.r-zThe tar header starts here.r_zThe file's data starts here.�pax_headerszMA dictionary containing key-value pairs of an associated pax extended header.r`zSparse member information.�_tarfileN�_sparse_structs�_link_targetc��XlSUlSUlSUlSUlSUlSUl[UlSUl	SUl
SUlSUlSUl
SUlSUlSUl0Ulg)Ni�rr�)r�r�r4r5r2r3r��REGTYPEr�r�r6r7r�r�r-r_r`r��r�r�s  rEr��TarInfo.__init__�s{���	���	���������	���
������	���
���
���
���
���
������������rGc�L�SSKnURS[SS9 UR$�NrzhThe undocumented "tarfile" attribute of TarInfo objects is deprecated and will be removed in Python 3.16r/��
stacklevel��warnings�warn�DeprecationWarningr�)r�r�s  rErb�TarInfo.tarfile�s-����
�
�
A��1�	�	.��}�}�rGc�B�SSKnURS[SS9 Xlgr�r�)r�rbr�s   rErbr��s(����
�
�
A��1�	�	.� �
rGc��UR$r��r�r�s rEr0�TarInfo.path�s���y�y�rGc��Xlgr�r�r�s  rEr0r��s���	rGc��UR$r��r�r�s rEr1�TarInfo.linkpath�rGrGc��Xlgr�r�)r�r�s  rEr1r��s�� �
rGc�`�SURRUR[U54-$)Nz<%s %r at %#x>)rdr�r��idr�s rE�__repr__�TarInfo.__repr__�s&���4�>�>�#:�#:�4�9�9�R��X�"N�N�NrGT)
r�r3r�r�r4r5r6r7r��_KEEPc
��U	(a[R"U5nO[R"U5nXLaXlX*LaX+lX:LaX;lXJLaXKlXZLaX[lXjLaXklXzLaX{lX�LaX�l	U$r�)
�copy�deepcopyr�r3r�r�r4r5r6r7)r�r�r3r�r�r4r5r6r7r�r��results            rEr��TarInfo.replace�s����]�]�4�(�F��Y�Y�t�_�F����K��� �L����K�� �&�O����J����J��� �L��� �L��
rGc��URcSnOURS-nURUURURURUR
URURURURURURURS.
nUS[:Xa&USRS5(d
US==S-
ss'U$)N�)
r�r�r4r5r2r3r�r�r�r6r7r�r�r�r�r�)r�r�r4r5r2r3r�r�r�r6r7r�r��DIRTYPEr�)r�r��infos   rE�get_info�TarInfo.get_info�s����9�9���D��9�9�v�%�D��	�	���������	�	��
�
�����	�	��
�
��
�
��
�
��
�
��
�
�
�� ��<�7�"�4��<�+@�+@��+E�+E���L�C��L��rG�surrogateescapec�2�UR5nUR5HupVUbM
[SU-5e U[:XaUR	XBU5$U[
:XaUR
XBU5$U[:XaURXB5$[S5e)Nz%s may not be Nonezinvalid format)	r��itemsr=r�create_ustar_headerr�create_gnu_headerr�create_pax_header)r�rcrCrDr�r��values       rE�tobuf�
TarInfo.tobuf�s����}�}����:�:�<�K�D��}� �!5��!<�=�=�(��\�!��+�+�D�F�C�C�
�z�
!��)�)�$�&�A�A�
�z�
!��)�)�$�9�9��-�.�.rGc�(�[US'[USRX#55[:�a[	S5e[USRX#55[
:�aUR
USX#5uUS'US'URU[X#5$)N�magicr�zlinkname is too longr��prefix)	�POSIX_MAGICr?r>�LENGTH_LINKr=�LENGTH_NAME�_posix_split_name�_create_headerr)r�r�rCrDs    rEr��TarInfo.create_ustar_headers���$��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�HrGc�N�[US'Sn[USRX#55[:�aX@R	US[
X#5-
n[USRX#55[:�aX@R	US[X#5-
nX@RU[X#5-$)Nr�rGr�r�)
�	GNU_MAGICr?r>r��_create_gnu_long_header�GNUTYPE_LONGLINKr��GNUTYPE_LONGNAMEr�r)r�r�rCrDrls     rEr��TarInfo.create_gnu_headers���"��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�LrGc��[US'URR5nSS[4SS[4SS4H;upEnXS;aM
XRSS	5 [X5U:�dM5XX5'M= S
HuupGSnXn	[U	[5n
U
(a[U	5OU	nSUs=::aS
US-
-:d	O SX'SnO
U
(aX�U'SnU(dMaXC;dMh[U	5X4'Mw U(aURU[U5nOSnX�RU[SS5-$![a XX5'GM	f=f)Nr�r�r0r�r1)r6r6� )r7r7r�rSrT))r4rQ)r5rQ)r2�)r3r�FrrQr.TrGr�)r�r�r�r�r�r>�UnicodeEncodeErrorr?�
isinstance�float�round�str�_create_pax_generic_header�XHDTYPEr�r)
r�r�rCr�r��hnamerBrb�	needs_pax�val�val_is_float�val_intrls
             rEr��TarInfo.create_pax_header+sb��
$��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�D-�-E�Ec�0�URU[S5$)Nr;)r��XGLTYPE)�clsr�s  rE�create_pax_global_header� TarInfo.create_pax_global_headeres���-�-�k�7�G�L�LrGc�T�URS5n[S[U55HtnSRUSU5nSRXES5n[UR	X#55[
::dMN[UR	X#55[::dMr Xa4$ [S5e)Nr�r.zname is too long)�splitrWr?rr>�
LENGTH_PREFIXr�r=)r�r�rCrD�
componentsr\r�s       rEr��TarInfo._posix_split_nameks����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�0rGc�j�URS5[[4;nU(a;[URSS5SU5n[URSS5SU5nO[	SSX#5n[	SSX#5nURS[
5nUc[
S5e[	URSS5S	X#5[URS
S5S-SU5[URSS5SU5[URS
S5SU5[URSS5SU5[URSS5SU5SU[	URSS5S	X#5URS[5[	URSS5SX#5[	URSS5SX#5UU[	URSS5SX#5/n[R"S[-SRU55n	[U	[*S5Sn
U	SS[SU
-S5-U	SS-n	U	$)Nr�r�rrQr�r�zTarInfo.type must not be Noner�rr�r�r4r5r2r�r3s        r�r�r6r�r7r�rz%dsrGi����z%06orSi����)�get�CHRTYPE�BLKTYPErerFr�r=r�rjr�rrror_)r�rcrCrD�has_device_fieldsr�r��filetype�partsrlr�s           rEr��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���
rGc�n�[[U5[5upUS:�aU[U-
[--
nU$)Nr)rtr?rr@)�payloadr{r|s   rE�_create_payload�TarInfo._create_payload�s7��
#�3�w�<��;����q�=��	�I�-��4�4�G��rGc���URX45[-n0nSUS'X%S'[U5US'[US'UR	U[
X45UR
U5-$)Nz
././@LongLinkr�r�r2r�)r>r@r?r�r�rr)r�r�r�rCrDr�s      rEr��TarInfo._create_gnu_long_header�sn��
�{�{�8�,�s�2����&��V���V���4�y��V��!��W�
��!�!�$��h�G��#�#�D�)�*�	*rGc��SnUR5HupVURSS5 M SnU(aUS-
nUR5H�upVURS5nU(aURUS5nOURS5n[U5[U5-S-nS	=p�U[[	U
55-n	X�:XaOU	n
M!U[[	U
5S
5S-U-S-U-S
--
nM� 0nSUS'X+S'[U5US'[US'URU[S
S5URU5-$![a Sn GM&f=f)NFr;rTTrGs21 hdrcharset=BINARY
r�r$rrS� �=�
z././@PaxHeaderr�r�r2r�r�)
r�r>r�r?r�r_r�r�rr)r�r�r�rC�binary�keywordr��records�lr[rLr�s            rEr��"TarInfo._create_pax_generic_header�sw����)�/�/�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�E�E�Ec��[U5S:Xa[S5e[U5[:wa[S5eUR	[
5[:Xa[
S5e[USS5nU[U5;a[S5eU"5n[USSX#5Ul[USS	5Ul[US	S
5Ul
[US
S5Ul[USS5Ul[USS5UlXElUSS
Ul[US
SX#5Ul[USSX#5Ul[USSX#5Ul[USS5Ul[USS5Ul[USSX#5nUR$[0:Xa+URR3S5(a[4UlUR$[6:XavSn/n[9S5H>n	[XUS-5n
[XS-US-5nUR=X�45 US-
nM@ [?US5n[USS5n
X�U
4Ul URC5(a URRES5UlU(a+UR$[F;aUS-UR-UlU$![:a  M�f=f)Nrzempty headerztruncated headerzend of file header��zbad checksumr�l�t�|��ii	i)iIiQiYi�r�i�rr��i�i�i�)$r?r�rr��countr@r�r]rorZrMr�r�r4r5r2r3r�r�r�r6r7r�r��AREGTYPEr�r��GNUTYPE_SPARSErWr=r�boolr�r��rstrip�	GNU_TYPES)r�rlrCrDr��objr�r��structsr\r-�numbytes�
isextended�origsizes              rE�frombuf�TarInfo.frombuf�s����s�8�q�=�"�>�2�2��s�8�y� �&�'9�:�:��9�9�S�>�Y�&� �!5�6�6��S��S�\�"����c�*�*�$�^�4�4��e���s�1�S�z�8�4����s�3�s�|�$����c�#�c�l�#����c�#�c�l�#����s�3�s�|�$�����C���%��	��
��s�3�<����3�s�3�<��:�����C���h�7��	���C���h�7��	��3�s�3�<�(����3�s�3�<�(����S��S�\�8�4���8�8�x��C�H�H�$5�$5�c�$:�$:��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�s�3�<�(�H�#*��"A�C���9�9�;�;��x�x���s�+�C�H��c�h�h�i�/���|�c�h�h�.�C�H��
��"����s�*#J6�6
K�Kc��URR[5nURX!RUR
5nURR
5[-
UlURU5$r�)	r�rurr1rCrDr
r-�_proc_member)r�rbrlr,s    rE�fromtarfile�TarInfo.fromtarfile2s\��
�o�o�"�"�9�-���k�k�#�/�/����@���_�_�)�)�+�i�7��
�����(�(rGc�$�UR[[4;aURU5$UR[:XaURU5$UR[[[4;aURU5$URU5$r�)r�r�r��
_proc_gnulongr(�_proc_sparser�r��SOLARIS_XHDTYPE�	_proc_pax�
_proc_builtin)r�rbs  rEr4�TarInfo._proc_memberGsx���9�9�)�+;�<�<��%�%�g�.�.�
�Y�Y�.�
(��$�$�W�-�-�
�Y�Y�7�G�_�=�
=��>�>�'�*�*��%�%�g�.�.rGc��URR5UlURnUR5(dUR[
;aX R
UR5-
nX!lURURURUR5 UR5(a URRS5UlU$�Nr�)r�r
r_r�r��SUPPORTED_TYPES�_blockr2r-�_apply_pax_infor�rCrDr�r�r*)r�rbr-s   rEr<�TarInfo._proc_builtinTs���#�?�?�/�/�1����!�!���:�:�<�<�4�9�9�O�;��k�k�$�)�)�,�,�F���	
���W�0�0�'�2B�2B�G�N�N�S��:�:�<�<��	�	�(�(��-�D�I��rGc�R�URRURUR55nUR	U5nURUlUR[:Xa&[X!RUR5UlO9UR[:Xa%[X!RUR5UlUR#5(a URR%S5UlU$![
an[
[U55SeSnAff=fr?)r�rurAr2r5rr�r�r-r�r�rMrCrDr�r�r�r��removesuffix)r�rbrl�nextrs     rEr8�TarInfo._proc_gnulongjs����o�o�"�"�4�;�;�t�y�y�#9�:��	:��#�#�G�,�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&c�0�URup#nU?U(a�URR[5nSn[	S5HLn[XVUS-5n[XVS-US-5n	U(aU	(aURX�45 US-
nMN [US5nU(aM�X l	URR5UlURURUR5-UlX@l
U$![a  Mf=f)Nr�r�r%i�)r�r�rurrWr]r=rr)r`r
r_rAr2r-)
r�rbr-r/r0rlr�r\r-r.s
          rEr9�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��j���"�?�?�/�/�1����)�)�D�K�K��	�	�,B�B����	����"����s�	#D�
D�Dc�H�URRURUR55nUR[
:Xa
URnOURR5nSnSn/n[U5U:�Ga(X$S:wGa[RX$5=n(d[S5e[URS55nUS:a[S5eXH-[U5:�a[S5eURS5U-S-
n	X'R!S5S-U	n
U
R#S5up�n
U(aUS:wdX)S:wa[S5eUR%X�U
45 US:XaUcU
S:Xa
UR&nOS	nXH-
n[U5U:�aX$S:waGMUcS	nUHxup�n
UR)US	S	UR*5nU[,;a(UR)X�UR&UR*5nOUR)U
S	S	UR*5nX�U'Mz UR/U5nS
U;aUR7UU5 OUSU;aUR9UU5 O<UR;S5S
:Xa'UR;S5S:XaUR=UX15 UR[>[@4;a�URCX1R&UR*5 URDUl"SU;aZURFnURI5(dUR[J;aUURUR5-
nUUl"U$![a [S5ef=f![0an[3[5U55SeSnAff=f)NrrVr.�rr%s
hdrcharsetsBINARYr;�GNU.sparse.map�GNU.sparse.sizezGNU.sparse.major�1zGNU.sparse.minorrUr2)&r�rurAr2r�r�r�r�r?�_header_length_prefix_re�matchrZrX�groupr=rSr��	partitionrrC�_decode_pax_fieldrD�PAX_NAME_FIELDSr5rr�r��_proc_gnusparse_01�_proc_gnusparse_00r�_proc_gnusparse_10r�r:rBr-r_r�r@)r�rbrlr�r�rC�raw_headersrQrB�header_value_end_offset�keyword_and_value�raw_keyword�equals�	raw_valuerr�rFrr-s                   rEr;�TarInfo._proc_pax�so��
�o�o�"�"�4�;�;�t�y�y�#9�:��
�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�M�#�h��n���T�!1�R���H�/:�*�F���,�,�[�'�7��N�N�$�G��/�)��.�.�y�G�DT�DT����(���.�.�y�'�7����(��$)�� �#/:�(	:��#�#�G�,�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��	:�s$�7M$�2M=�$M:�=
N!�N�N!c�~�/n/nUHhupVnUS:Xa+UR[UR555 M7US:XdM?UR[UR555 Mj [[
X455Ulg![a [	S5ef=f![a [	S5ef=f)NsGNU.sparse.offsetrVsGNU.sparse.numbytes)rrXrKr=rZ�list�zipr`)r�rFrY�offsetsr.�_rr�s        rErW�TarInfo._proc_gnusparse_00s�������!,��A���.�.�?��N�N�3�u�|�|�~�#6�7��2�2�?��O�O�C�����$7�8�"-��3�w�1�2����"�?�,�-=�>�>�?��"�?�,�-=�>�>�?�s�(B
�(B&�
B#�&B<c	��USRS5Vs/sHn[U5PM nn[[USSS2USSS255Ulgs snf)NrM�,r/r.)rrXrarbr`)r�rFr��xr`s     rErV�TarInfo._proc_gnusparse_01.sZ��#.�.>�"?�"E�"E�c�"J�K�"J�Q�#�a�&�"J��K��3�v�c��c�{�F�1�4�a�4�L�9�:����Ls�Ac	��Sn/nURR[5nURSS5upF[	U5n[U5US-:aiSU;a!XcRR[5-
nURSS5upvUR
[	U55 [U5US-:aMiURR5Ul[[USSS2USSS255Ulg)Nrr.r/)r�rurrrXr?rr
r_rarbr`)r�rFr�rb�fieldsr`rl�numbers        rErX�TarInfo._proc_gnusparse_104s��������o�o�"�"�9�-���i�i��q�)����V����&�k�F�Q�J�&��C�����+�+�I�6�6���)�)�E�1�-�K�F��M�M�#�f�+�&�	�&�k�F�Q�J�&�
#�?�?�/�/�1����3�v�c��c�{�F�1�4�a�4�L�9�:��rGc��UR5H�upEUS:Xa[USU5 MUS:Xa[US[U55 M8US:Xa[US[U55 MVU[;dMbU[;a[U"U5nUS:XaUR
S5n[XU5 M� UR5Ulg![
a SnNKf=f)NzGNU.sparse.namer0rNr2zGNU.sparse.realsizerr�)	r��setattrrX�
PAX_FIELDS�PAX_NUMBER_FIELDSr=r*r�r�)r�r�rCrDrr�s      rErB�TarInfo._apply_pax_infoDs���*�/�/�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�Cc�j�URUS5$![a URX45s$f=f)NrT)rK�UnicodeDecodeError)r�r�rC�fallback_encoding�fallback_errorss     rErT�TarInfo._decode_pax_field[s:��	D��<�<��(�3�3��!�	D��<�<� 1�C�C�	D�s��2�2c�P�[U[5up#U(aUS-
nU[-$)Nr.)rtr)r�r&r{r|s    rErA�TarInfo._blockcs*��#�5�)�4�����a�K�F��	�!�!rGc�(�UR[;$r�)r��
REGULAR_TYPESr�s rEr��
TarInfo.isregls���y�y�M�)�)rGc�"�UR5$r�)r�r�s rE�isfile�TarInfo.isfileps���z�z�|�rGc�(�UR[:H$r�)r�r�r�s rEr��
TarInfo.isdirt����y�y�G�#�#rGc�(�UR[:H$r�)r��SYMTYPEr�s rEr��
TarInfo.issymxr�rGc�(�UR[:H$r�)r��LNKTYPEr�s rEr��
TarInfo.islnk|r�rGc�(�UR[:H$r�)r�rr�s rE�ischr�
TarInfo.ischr�r�rGc�(�UR[:H$r�)r�r	r�s rE�isblk�
TarInfo.isblk�r�rGc�(�UR[:H$r�)r��FIFOTYPEr�s rE�isfifo�TarInfo.isfifo�s���y�y�H�$�$rGc��URSL$r�)r`r�s rE�issparse�TarInfo.issparse�s���{�{�$�&�&rGc�>�UR[[[4;$r�)r�rr	r�r�s rE�isdev�
TarInfo.isdev�s���y�y�W�g�x�8�8�8rG)r�r�r�r�r5r7r�r�r3r�r-r_r�r2r`r�r4r6r�)r�)6r�r�r�r��dict�	__slots__r�r[rb�setterr0r1r�r�r�r�rr
r�r�r�r��classmethodr�r��staticmethodr�rr�r�r1r5r4r<r8r9r;rWrVrXrBrTrAr�r~r�r�r�r�r�r�r�r�r�r�rGrErres����
�,�
�!�
�G�
�H�	
�
 �
�-�

�$�
�>�
�F�
��
��
�*�
� *�!
�"/�#
�$5�%
�&9�'
�*.�+
�,�-
�.�/
�0�1
�I�6�0����
�^�^� �� �����
�[�[���������_�_�!��!�O��%�e�e��u�E�����8�8*�H�EV�/�"I�M�8Q�t�M��M�
� �'��'�R�����*��*� �0-��0-�d�<��<�|�)��)�(/��,�6�8w�r3�(;�;� .�.D�"�*��$�$�$�$�$�%�'�9rGrc��\rSrSrSrSrSrSr\r	\
rSr\
r\rSrS<Sjr\SSS\4Sj5r\S=S	j5r\S>S
j5r\S>Sj5r\S?Sj5rS
SSSS.rSrSrSrSrS@SjrSASS.Sjjr SBSS.Sjjr!SCSjr"Sr#SDSSS.Sjjr$Sr%SESSS.S jjr&S!r'SCS"jr(S#r)S$r*S%r+SFSSS&.S'jjr,S(r-S)r.S*r/S+r0S,r1S-r2S.r3S/r4S0r5S1r6S2r7SGS3jr8S4r9SCS5jr:S6r;S7r<S8r=S9r>S:r?S;r@g)Hri�rFr.Nr�c�D�SSSSS.nX/;a[S5eX lX�UlU(d_URS:Xa2[RRU5(dSUlSUl[
XR5nS	UlOnUcB[US
5(a1[UR[[45(aURn[US5(aURUlSUlU(a[RRU5OSUl
X0lX�lUbX@lUbXPlUbX`lUbXplUbX�lX�lU
bUR [,:XaX�lO0UlUbX�lUbX�lX�lS	Ul/UlS	UlURR=5Ul0Ul URS
:XaSUl!URE5Ul!URS:Xa_URRGUR>5 UR"RIU5nUR8RKU5 M^URS;a�SUlUR.(amUR"RSUR.RU55nURRWU5 U=R>[YU5-
slggg![La) URRGUR>5 M�[Nan[Q[U55SeSnAff=f! UR(dURR[5 SUle=f)Nr8zr+b�wb�xb�r��ar�rh�!mode must be 'r', 'a', 'w' or 'x'r�r�Fr�r�Tr��r�r�rh).r=r��_moder�r0�exists�	bltn_openr�r�r�r�r�r_�abspathr��streamrcrc�dereference�ignore_zerosrCrDrr��debug�
errorlevel�copybufsizer��members�_loadedr
r-�inodes�firstmemberrFr
r5rr�rrr�r�rvr?r�)r�r�r�r�rcrcr�r�rCrDr�r�r�r�r��modesrrls                  rEr��TarFile.__init__�s�����T��=�����@�A�A��	��[��
���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��s>� A"M*�6L�9BM*�/M'�M*�	M'�
M"�"M'�'M*�*5Nc�^�U(dU(d[S5eUS;azU4Sjn/n[TRUS9H;n[TTRU5n	UbUR	5n
U	"USU40UD6s $ SRU5n[S	U35eS
U;alURS
S5up�U
=(d Sn
U=(d SnUTR;a[TTRU5n	O[
S
U-5eU	"XU40UD6$SU;aoURSS5up�U
=(d Sn
U=(d SnU
S;a[S5eURSS5n[XX�UU5nT"XU40UD6nSUlU$US;aTR"XU40UD6$[S5e![
[4a8nURSUSU<35 UbURW
5 SnAGM�SnAff=f! UR5 e=f)Nznothing to open)r��r:*c�(>�TRUS:H$)N�taropen)�	OPEN_METH)r�r�s �rE�not_compressed�$TarFile.open.<locals>.not_compressedKs����}�}�X�.�)�;�;rG)�keyr�z	- method z: �
z'file could not be opened successfully:
�:r.r�r��|r�zmode must be 'r' or 'w'r��	Fr�zundiscernible mode)r=�sortedr�r�r
rr	rr
rr�popr�r�r�r�)r�r�r�r�rz�kwargsr��
error_msgsr��func�	saved_posr�error_msgs_summary�filemoder�r�rs`                rEr�TarFile.open!s%���J�G��.�/�/��<��
<��J�"�3�=�=�n�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�)� �!:�;�;�"�J�J���:�M��T�X��*�,�F�
����9�&�9��"�A�M��H�
�_�
$��;�;�t�7�=�f�=�=��-�.�.��W"�#3�4���%�%�	�(��2�a�U�&C�D��*����Y�/���	��D
������s$�-
F'�/
G2�'G/�7,G*�*G/�2Hc�8�US;a[S5eU"XU40UD6$)Nr�r�)r=)r�r�r�r�r�s     rEr��TarFile.taropen�s+���+�+��@�A�A��4�w�1�&�1�1rGc��US;a[S5eSSKJn U"XS-XC5nUR"XU40UD6nS	Ul	U$![a
 [	S5Sef=f![
anUbUS:Xa[
S5UeeSnAff=f![
a(nUR5 US:Xa[
S5UeeSnAf UR5 e=f)
N�r�r�rh�mode must be 'r', 'w' or 'x'r)�GzipFilezgzip module is not availabler}r�r�F)
r=�gzipr�r�r	r�rr�r�r�)	r�r�r�r�r�r�r�rrs	         rE�gzopen�TarFile.gzopen�s���
��&��;�<�<�	M�%�	��t�C�Z��H�G�		����D��:�6�:�A���
����+�	M�"�#A�B��L�	M��
�	��"�t�s�{�� 1�2��9���	���	��M�M�O��s�{�� 1�2��9���	��M�M�O��s9�A�A�B�A�
B�(A>�>B�
C	�#B3�3C	c�Z�US;a[S5eSSKJn U"U=(d UX$S9nUR
"XU40UD6nS	Ul
U$![a
 [	S5Sef=f![[4a(nUR5 US:Xa[S5UeeSnAf UR5 e=f)
Nr�r�r)�BZ2Filer�)r�r�znot a bzip2 fileF)r=r�r�r�r	r�r��EOFErrorr�rr�)	r�r�r�r�r�r�r�rrs	         rE�bz2open�TarFile.bz2open�s���
��&��;�<�<�	L�#��'�/�T�4�M��		����D��:�6�:�A���
����!�	L�"�#@�A�t�K�	L����"�	��M�M�O��s�{�� 2�3��:���	��M�M�O��s"�A�A!�A�!B*�1#B�B*c�V�US;a[S5eSSKJnJn U"U=(d UX$S9nUR"XU40UD6nS	Ul
U$![a
 [S5Sef=f!U[4a(n	UR5 US:Xa[S5U	eeSn	A	f UR5 e=f)
Nr�r�r)�LZMAFiler�r�)�presetr�znot an lzma fileF)r=r�r�r�r�r	r�r�r�rr�)
r�r�r�r�r�r�r�r�rrs
          rE�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��s"�A	�A#�	A �#B(�/#B�B(r�r�r�r�)r�r�r�r�c�2�UR(agSUlURS;a�URR[[
S--5 U=R[
S--
sl[UR[5upUS:�a)URR[[U-
-5 UR(dURR5 gg!UR(dURR5 ff=f)NTr�r/r)r�r�r�rvr@rr-rt�
RECORDSIZEr�r�)r�r{r|s   rEr��
TarFile.close�s����;�;�����	%��y�y�O�+����"�"�3�)�a�-�#8�9����	�A�
�.��%+�4�;�;�
�$C�!���q�=��L�L�&�&�s�j�9�.D�'E�F��#�#����"�"�$�$��4�#�#����"�"�$�$�s�B C(�(.Dc�h�URURS55nUc[SU-5eU$)Nr�zfilename %r not found)�
_getmemberr*�KeyError)r�r�rcs   rE�	getmember�TarFile.getmembers6���/�/�$�+�+�c�"2�3���?��2�T�9�:�:��rGc�|�UR5 UR(dUR5 UR$r�)�_checkr��_loadr�r�s rE�
getmembers�TarFile.getmembers
s'��	
���
��|�|��J�J�L��|�|�rGc�`�UR5Vs/sHoRPM sn$s snfr�)r�r�)r�rcs  rE�getnames�TarFile.getnamess'��-1�O�O�,=�>�,=����,=�>�>��>s�+c���URS5 UbURnUcUn[RR	U5upBUR[RS5nURS5nUR5nXl	Uc?UR(d[R"U5nO;[R"U5nO$[R"UR55nSnURn[R "U5(a�UR"UR$4n	UR(dGUR&S:�a7X�R(;a(X R(U	:wa[*n
UR(U	nO�[,n
U	S(aX R(U	'O�[R."U5(a[0n
O�[R2"U5(a[4n
O}[R6"U5(a[8n
[R:"U5nOE[R<"U5(a[>n
O#[R@"U5(a[Bn
OgX%lX�l"URFUl$URJUl&U
[,:XaURNUl(OSUl(URRUl*X�l+Xul,[Z(a)[ZR\"URH5SUl/[b(a)[bRd"URL5SUl3U
[>[B4;at[i[S5(a_[i[S5(aJ[Rj"URl5Ul7[Rp"URl5Ul9U$![`a N�f=f![`a N�f=f)N�awxr�r�r.r�major�minor):r�r�r�r0�
splitdriver�r�r�rcr�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_ISBLKr	r��st_uidr4�st_gidr5�st_sizer2�st_mtimer3r�r��pwd�getpwuidr6r��grp�getgrgidr7r�r��st_rdevr�r�r�)r�r��arcnamer��drvrc�statresr��stmd�inoder�s           rE�
gettarinfo�TarFile.gettarinfos���	
���E�����<�<�D�
�?��G��w�w�)�)�'�2����/�/�"�&�&�#�.���.�.��%���,�,�.�����?��#�#��(�(�4�.���'�'�$�-���h�h�w�~�~�/�0�G��������<�<�����^�^�W�^�^�4�E��#�#��(8�(8�1�(<��[�[�(�W���E�8J�-J����;�;�u�-������8�)0�K�K��&��
�\�\�$�
�
��D�
�]�]�4�
 �
 ��D�
�\�\�$�
�
��D��{�{�4�(�H�
�\�\�$�
�
��D�
�\�\�$�
�
��D�������n�n����n�n����7�?�"�?�?�G�L��G�L��(�(��
���#���3�
� #���W�[�[� 9�!� <��
��3�
� #���W�[�[� 9�!� <��
��G�W�%�%��r�7�#�#���G�(<�(<�#%�8�8�G�O�O�#<�� �#%�8�8�G�O�O�#<�� �����
��
��
�
��
�s$�'(O	�(O�	
O�O�
O&�%O&)r�c�8�[[R[[R[
[R[[R[[R[[R0nUR5 UcUnUGHnU(Ga^URc[S5 OGUR!UR"S5n[[R$"XTR-55 [UR&=(d UR(<SUR*=(d UR,<35 UR/5(dUR15(a([SSUR2UR44--5 O[SUR6-5 UR8c[S5 O/[S[:R<"UR85SS	-5 [UR>URA5(aSOS
-5 U(aZURC5(a[SURD-5 URG5(a[SURD-5 [I5 GM g)
Nz
??????????rr�z%10sz%d,%dz%10dz????-??-?? ??:??:??z%d-%02d-%02d %02d:%02d:%02drr�z-> zlink to )%r�r��S_IFREGr��S_IFLNKr��S_IFIFOr�S_IFCHRr��S_IFDIRr	�S_IFBLKr�r�r�rr�r�r6r4r7r5r�r�r�r�r2r3r��	localtimer�r�r�r�r�r�)r��verboser��	type2moderc�modetypes      rEra�TarFile.list�s����d�l�l�G�T�\�\��t�|�|�W�d�l�l��d�l�l�G�T�\�\�C�	�	
���
��?��G��G���<�<�'���-�(�}�}�W�\�\�1�=�H���
�
�h���.E� F�G��w�}�}�'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�7rG��filterc��URS5 UcUnURbC[RR	U5UR:XaURSSU-5 gURSU5 UR
X5nUcURSSU-5 gUb!U"U5nUcURSSU-5 gUR5(a'[US5nURXV5 SSS5 gUR5(a�URU5 U(ar[[R"U55HNnUR[RRX5[RRX&5X4S9 MP ggURU5 g!,(df   g=f)	Nr�r/ztarfile: Skipped %rr.ztarfile: Unsupported type %r�tarfile: Excluded %rr8r)r�r�r�r0r��_dbgrr�r��addfiler�r��listdir�addr)r�r�r�	recursiverrc�fs       rEr%�TarFile.add�sk��	
���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�(F5�5
Gc��URS5 Uc0UR5(aURS:wa[S5e[R"U5nURURURUR5nURRU5 U=R[U5-
slURnUb�[X RURUS9 [UR[ 5upVUS:�a.URR["[ U-
-5 US-
nU=RU[ --
slUR$R'U5 g)Nr�rz3fileobj not provided for non zero-size regular file)rzr.)r�r�r2r=r�r�rcrCrDr�rvr-r?r�rsrtrr@r�r)r�rcr�rlrzr{r|s       rEr#�TarFile.addfile�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�$rGc��UcPURnUcSSKnURS[SS9 [$[U[5(a[S5eU$[U5(aU$[U$![a [SU<S35Sef=f)Nrz�Python 3.14 will, by default, filter extracted tar archives and reject files or modify their metadata. Use the filter argument to control this behavior.r$r�zrString names are not supported for TarFile.extraction_filter. Use a function such as tarfile.data_filter directly.zfilter z
 not found)�extraction_filterr�r�r�rr�r��	TypeError�callable�_NAMED_FILTERSr�r=)r�rr�s   rE�_get_filter_function�TarFile._get_filter_function�s����>��+�+�F��~���
�
�J�'�1�	�6�
,�+��&�#�&�&��6�7�7��M��F����M�	G�!�&�)�)���	G��w�v�j�
�;�<�$�F�	G�s�'A0�0B)�
numeric_ownerrc	���/nURU5nUcUnUHgnURXvU5up�UcMUR5(aURU	5 UR	X�UR5(+UUS9 Mi URSSS9 UH�n	U"X�5nUcURU	S5 M$[RRXR5n[R"U5n[R "UR"5(dURUS5 M�UR%X�US9 UR'X�5 UR)X�5 M� g![a&n
URU	[U
55 Sn
A
M�Sn
A
ff=f![a URUS5 GM'f=f![*an
UR-U
5 Sn
A
GMMSn
A
ff=f)	N)�	set_attrsr2�filter_functionc��UR$r�r�)r�s rE�<lambda>�$TarFile.extractall.<locals>.<lambda>5	s��q�v�vrGT)r��reversezexcluded by filter�missingznot a directory)r2)r0�_get_extract_tarinfor�r�_extract_one�sort�_FILTER_ERRORS�_log_no_directory_fixup�reprr�r0rr�r��FileNotFoundErrorr�r�r��chown�utime�chmodr�_handle_nonfatal_error)r�r0r�r2r�directoriesr5r�rc�
unfiltered�exc�dirpathr�rs              rE�
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�.�.��
/�sl�E-�&G�=)G�'F �=7G�62G�-
F�7F�G�F�G� G�<G�G�G�
G+�G&�&G+c�N�URSSUR<SU<S35 g)Nr/z!tarfile: Not fixing up directory z (�))r"r�)r�r��reasons   rEr?�TarFile._log_no_directory_fixupW	s���	�	�!��;�;��(�	)rGc�z�URU5nURXU5upxUbURXrX45 ggr�)r0r;r<)	r�r�r0r4r2rr5rcrGs	         rE�extract�TarFile.extract[	sG���3�3�F�;��"�7�7��T�+��������g�Y�F�rGc��[U[5(aURU5nOUnSnU"XC5nUc URSSUR-5 gUR5(aD[R"U5n[RRX5R 5UlXT4$![[[
4anUR
U5 SnAN�SnAf[anURU5 SnAN�SnAff=f)Nr/r!)NN)r�r�r�r�r�r�_handle_fatal_errorrrEr"r�r�r�r�r0rr�r�)r�r�r5r0rG�filteredrs       rEr;�TarFile._get_extract_tarinfoo	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#�B4�4D�	C�
D�,D�Dc	�@�URS5 URU[RR	X!R
5UUUUS9 g![[4anURU5 SnAgSnAf[anURU5 SnAgSnAff=f)Nr�)r4r2r5�extraction_root)r��_extract_memberr�r0rr�r�r�rTrrE)r�rcr0r4r2r5rs       rEr<�TarFile._extract_one�	s���	
���C��		+�� � ��"�'�'�,�,�t�\�\�*J�+4�/<�1@�15�	
!�
7��
�+�,�	(��$�$�Q�'�'���	+��'�'��*�*��	+�s#�;A�B�A5�5
B�B�Bc�P�URS:�aeURSSU-5 g)Nr.�tarfile: %s)r�r"�r�rs  rErE�TarFile._handle_nonfatal_error�	s$���?�?�Q����I�I�a���*�+rGc�b�URS:�ae[U[5(a\URc UR	SSUR
-5 gUR	SSUR
<SUR<35 gUR	SS[
U5R<SU<35 g)Nrr.r\z	tarfile: r�)r�r�r��filenamer"�strerrorr�r�r]s  rErT�TarFile._handle_fatal_error�	sw���?�?�Q���
��7�
#�
#��z�z�!��	�	�!�]�Q�Z�Z�7�8��	�	�!����Q�Z�Z�H�I��I�I�a�T�!�W�-=�-=�q�A�BrGc���URS5 [U[5(aURU5nOUnUR	5(dUR
[;aURX5$UR5(dUR5(aJ[UR[5(a[S5eURURU55$g)Nr�z'cannot extract (sym)link as file object)r�r�r�r�r�r�r@�
fileobjectr�r�r�r�r
�extractfile�_find_link_target)r�r�rcs   rEre�TarFile.extractfile�	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�rG�r5rXc��URS5nURS[R5n[RRU5nU(a9[RR
U5(d[R"USS9 UR5(dUR5(a.URSUR<SUR<35 OURSUR5 UR5(aURX5 O�UR5(aUR!X5 O�UR#5(aUR%X5 O�UR'5(dUR)5(aUR+X5 OsUR5(dUR5(aUR-XUUS9 O7UR.[0;aUR3X5 OURX5 U(aKUR5XU5 UR5(d#UR7X5 UR9X5 ggg)Nr�T)�exist_okr.z -> rh)r*r�r�r�r0r�r��makedirsr�r�r"r�r�r��makefiler��makedirr��makefifor�r��makedev�makelink_with_filterr�r@�makeunknownrBrDrC)r�rc�
targetpathr4r2r5rX�	upperdirss        rErY�TarFile._extract_member�	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�/�#�rGc���URc[R"U5 g[R"US5 g![a( [RRU5(degf=f)Ni�)r�r��mkdir�FileExistsErrorr0r��r�rcrrs   rErm�TarFile.makedir
sW��
	��|�|�#�����$�����U�+���	��7�7�=�=��,�,��-�	�s�#>�>�/A0�/A0c	���URnURUR5 URn[	US5nUR
bdUR
H(upgURU5 [
X5U[U5 M* URUR5 UR5 O[
X5UR[U5 SSS5 g!,(df   g=f)Nr�)
r�r
r_r�r�r`rsrr2�truncate)r�rcrr�sourcerz�targetr-r2s        rErl�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
�BC�
C%c�d�URX5 URSSUR-5 g)Nr.z9tarfile: Unknown file type %r, extracted as regular file.)rlr"r�rxs   rErq�TarFile.makeunknown+
s1��	
�
�
�g�*��	�	�!�2�4;�L�L�A�	BrGc�p�[[S5(a[R"U5 g[S5e)N�mkfifozfifo not supported by system)r�r�r�rrxs   rErn�TarFile.makefifo3
s)���2�x� � ��I�I�j�!��=�>�>rGc��[[S5(a[[S5(d[S5eURnUcSnUR	5(aU[
R-nOU[
R-n[R"X#[R"URUR55 g)N�mknodroz'special devices not supported by systemr�)r�r�rr�r�r�rrr�ror�r�)r�rcrrr�s    rEro�TarFile.makedev;
s����r�7�#�#�7�2�y�+A�+A��H�I�I��|�|���<��D��=�=�?�?��D�L�L� �D��D�L�L� �D�
�������G�,�,�g�.>�.>�?�	ArGc�(�URXSS5$r�)rprxs   rE�makelink�TarFile.makelinkM
s���(�(��d�D�I�IrGc���SnUR5(a\[RRU5(a[R"U5 [R
"URU5 g[RRUR5(a"[R"URU5 gURU5nUcUnOUc[S5eU"Xd5nUbUR#XrUUS9 gg![a SnNSf=f![a U(a[S5Seef=f![an[XR 5UeSnAff=f)NFTz%unable to resolve link inside archivez[makelink_with_filter: if filter_function is not None, extraction_root must also not be Nonerh)r�r�r0�lexists�unlink�symlinkr�r�r��link�symlink_exceptionrfr�rr>rr�rY)	r�rcrrr5rX�keyerror_to_extracterrorrGrU�causes	         rErp�TarFile.makelink_with_filterP
s_��$)� �
	,��}�}����7�7�?�?�:�.�.��I�I�j�)��
�
�7�+�+�Z�8���7�7�>�>�'�"6�"6�7�7��G�G�G�0�0�*�=��8�	��/�/��8�J��"�!�H��&�"�>�?�?�
M�*�:�G����� � ��1@�1@�
!�
B� ��/!�	,�'+�$�	,��
�	�'�"�;�=�BF�G��	�� "�
M�'����A�u�L��
M�s=�A0D�5AD�D�-D?�D�D�D<�?
E$�	E�E$c��[[S5(Ga[R"5S:XGaURnURnU(d�[
(a4UR(a#[
R"UR5Sn[(a4UR(a#[R"UR5SnUcSnUcSnUR5(a-[[S5(a[R"X%U5 g[R"X%U5 ggg![a N�f=f![a N�f=f![[ 4an[#S5UeSnAff=f)N�geteuidrr/rI�lchownzcould not change owner)r�r�r�r5r4rr7�getgrnamr�rr6�getpwnamr�r�rBr��
OverflowErrorr)r�rcrrr2�g�urs       rErB�
TarFile.chown�
s%���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�sC�?D7�?E�AE�E�7
E�E�
E�E�E8�'E3�3E8c��URcg[R"X!R5 g![an[	S5UeSnAff=f)Nzcould not change mode)r�r�rDr�r)r�rcrrrs    rErD�
TarFile.chmod�
sD���<�<���	?��H�H�Z���.���	?��6�7�Q�>��	?�s� 1�
A�A�Ac��URnUcg[[S5(dg[R"X#U45 g![an[S5UeSnAff=f)NrCz"could not change modification time)r3r�r�rCr�r)r�rcrrr3rs     rErC�
TarFile.utime�
s[���
�
���=���r�7�#�#��	L��H�H�Z���0���	L��C�D�!�K��	L�s�A�
A�A�Ac��URS5 URbURnSUlU$URURR	5:wadURS:XagURRURS-
5 URR
S5(d[S5eSnURRU5nUb.UR0(dUR2R5U5 U$SUlU$![a[nUR(a@URSSURU4-5 U=R[-
slSnAM�SnAN�SnAf[a�nUR(aAURSSURU4-5 U=R[-
slSnAGMURS:Xa[[U55SeSnAGN%SnAf[ a  URS:Xa[S5SeGNQ["a0nURS:Xa[[U55SeSnAGN�SnAf[$an[[U55SeSnAf[&aEnSSKn[+X4R,5(a[S	U35SeUe![.a Uef=fSnAff=f)
N�rarr.rqTr/z0x%X: %sz
empty filezzlib error: )r�r�r-r�r
r
rurrcr5r�r�r"rrZr�r�r�r��	Exceptionr�r�r�r�r�r�rr�)r��mrcrr�s     rErF�TarFile.next�
s]��
	
���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���
�sb�D�
K�$AE:�:
K�AH�%H�)K�0	K�9%I$�$
K�1J�
K�/K�
K�K�Kc���UR5nSnUbURU5nUSUnU(a[RRU5n[
U5HnnU(aURUR:XaSnM(U(a*[RRUR5nOURnX:XdMlUs $ U(a[U5eg![a SnN�f=f)NFT)	r��indexr=r�r0r��reversedr-r�)	r�r�rc�	normalizer��skippingr�r��member_names	         rEr��TarFile._getmember�
s���
�/�/�#������
*��
�
�g�.��"�&�5�/����7�7�#�#�D�)�D��w�'�F���>�>�V�]�]�2�$�H��� �g�g�.�.�v�{�{�;��$�k�k���"��
�(���W�%�%���1�
 � ��
 �s�C#�#C2�1C2c��UR(d-UR5bUR5bMSUlggr;)r�rFr�r�s rEr��
TarFile._load's4���{�{��)�)�+�)���)�)�+�)��D�L�rGc���UR(a"[SURR-5eUb)URU;a[SUR-5egg)Nz%s is closedzbad operation for mode %r)r�r�rdr�r�)r�r�s  rEr��TarFile._check0sS���;�;��.�4�>�>�+B�+B�B�C�C����	�	�� 5��5��	�	�A�B�B�!6�rGc�0�UR5(aQSR[S[RRUR5UR455nSnOURnUnURX#SS9nUc[SU-5eU$)Nr�T)rcr�zlinkname %r not found)
r�rrr�r0r�r�r�r�r�)r�rcr��limitr�s     rErf�TarFile._find_link_target9s����=�=�?�?��x�x��t�b�g�g�o�o�g�l�l�.K�W�M]�M]�-^� _�`�H��E��'�'�H��E�����D��I���>��2�X�=�>�>��
rGc#�x# �UR(aURShv�N gSnURbUR5nUS-
nUv� U[	UR5:aURUnO2UR(d UR5nU(dSUlgOgUS-
nUv� MfN�7f)Nrr.T)r�r�r�rFr?)r�r�rcs   rE�__iter__�TarFile.__iter__Ls�����<�<��|�|�#�#�������'��i�i�k�G��Q�J�E��M���s�4�<�<�(�(��,�,�u�-���\�\��)�)�+���#'�D�L�����Q�J�E��M��
$�s�!B:�B8�BB:c�T�XR::a[U[RS9 gg)N��file)r�r�r��stderr)r��level�msgs   rEr"�TarFile._dbgks!���J�J���#�C�J�J�'�rGc�&�UR5 U$r�)r�r�s rE�	__enter__�TarFile.__enter__qs�����
��rGc��UcUR5 gUR(dURR5 SUlgr;)r�r�r�r�)r�r�r��	tracebacks    rE�__exit__�TarFile.__exit__us2���<��J�J�L��#�#����"�"�$��D�KrG)r�r�r�r�r�r�r�rCr�rDr�r�rcr�r�r�r�r�r-r�r�rc)Nr�NNNNNNr�NNNNF)r�N)r�Nr�)r�NN)NNN�Tr;r�)�.N)r�T)TFr?)Ar�r�r�r�r�r�r�r�rrcr
rCrDrrcr]rdr,r�r�r�rr�r�r�r�r�r�r�r�r�rrar%r#r0rJr?rQr;r<rErTrerYrmrlrqrnror�rprBrDrCrFr�r�r�rfr�r"r�r�r�r�rGrErr�s���
�E��K��L��J��F��H�
�F��G��J���AE�HL�>B�6;�d�b��#�t�Z�]/��]/�~�2��2�����@����6����:����	�I�%�*	��?�a�F)�D�)�V1"��1"�f%�8G�0C/�%��C/�J)�G���G�($�>&*�+�(,�
C��@>B�&+�10�@D�(,�10�p
�N� B�?�A�$J�0B�d D�D?�L�>�F&&�P �C��&�>(��rGrc���[US5(a+UR5n[US9nURU5 O[U5nUR	5 g![
a gf=f)Nru)r�TF)r�r
rr
r�r)r�r�rs   rErr�s[��
��4�� � ��)�)�+�C��T�"�A��I�I�c�N��T�
�A�	���	�������s�AA�
A'�&A'c	���SSKnSnURUS9nURSSSSSS	9 URS
S[SS
9 UR	SS9nURSSSSS9 URSSSSSS9 URSSSSSS9 URSS SS!S9 UR5nUR(aURcURS"S#5 URb�URn[U5(ax[US$5nUR5 [UR5[RS%9 SSS5 UR (a[S&R#U55 ggURS"S'R#U55 gUR$bwUR$n[U5(a9[&RUS(5nUR%UR S)9 SSS5 gURS"S'R#U55 gURGb3[)UR5S":Xa URSn[*R,nOH[)UR5S*:XaURupXO URS"UR/55 [W5(a�[&RUS(5nUR1WURS+9 SSS5 UR (a5WS,:XaS-R#U5n	OS.R#XX5n	[U	5 ggURS"S'R#U55 gUR2b�UR2R5S5n
[*R6R9U
5up�S/S/S0S0S1S1S1S1S2.n
X�;aS3X�-OS4nUR2n[&RX�5nUHnUR;U5 M SSS5 UR (a[S5R#U
55 ggg!,(df   GN�=f!,(df   g=f!,(df   GNo=f!,(df   Nq=f)6Nrz3A simple command-line interface for tarfile module.)�descriptionz-vz	--verbose�
store_trueFzVerbose output)�action�default�helpz--filterz<filtername>zFilter for extraction)�metavar�choicesr�T)�requiredz-lz--list�	<tarfile>zShow listing of a tarfile)r�r�z-ez	--extract�+)r�z<output_dir>zExtract tarfile into target dir)�nargsr�r�z-cz--create)z<name>z<file>zCreate tarfile from sourcesz-tz--testzTest if a tarfile is validr.z&--filter is only valid for extraction
r�r�z{!r} is a tar archive.z{!r} is not a tar archive.
r�)rr/)r0rr�z{!r} file is extracted.z+{!r} file is extracted into {!r} directory.r�r�r�)r�z.tgzz.xzz.txzz.bz2z.tbzz.tbz2z.tb2zw:r�z{!r} file created.)�argparse�ArgumentParser�add_argumentr/�add_mutually_exclusive_group�
parse_argsrrQ�exit�testrrr�r�r�r�rrcrarr?r��curdir�format_helprJ�creater�r0�splitextr%)r�r��parserrR�argsrwr��tfr�r��tar_namerd�ext�compressions�tar_mode�	tar_files�	file_names                 rE�mainr��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�%�����!�!�(�+�����������
��03�/B�4�,�+�+����K�K�	�
�\�\�(�
-��&�	����y�!�'�.��<�<��&�-�-�h�7�8��/
!�M ���*�)��*�)��>.�
-�s0�
7P4�Q�Q�#Q)�4
Q�
Q�
Q&�)
Q7�__main__r�)l�version�
__author__�__credits__�builtinsrr�r�r�rIrrr�r�rjr��rerr�r�AttributeError�NotImplementedErrorr�r��__all__r@rr�r�r�r�r�rr�r'r�r�rr	r�r��CONTTYPEr�r�r(r�r�r:rrrrr@r{r+rprUr�rXrqr�r
�getfilesystemencodingrFrMr]rerorsr�r�rrrr	r
rr�r�r�rZr�r�r��objectr�r+�BufferedReaderr]rrrrrrrr>r�rrrr/r��compilerPrrrr�r�r�rGrE�<module>r�s���@��6�
�H��
'�
�	�	�
���
��	�����$�%8�'�B��?�����	�
��^�
��	��������
�
����
��
��
��
��
������������
��
������
�
�
�
����H�g��G�X��W�g�#�%5�!�	#���(��>�+�
��/�
�
�	�.�
�9��
�
�
����
���7�7�d�?��H��(�(�*�H�0�&�
�(�N�
�<*�"&��$��2�	�y�	�	�8�	�	��	�	�x�	�	�(�	�	�(�	�	�{�	�	�;�	�	�[�	�	��	�	�K�	���0r�r�j�6��<i�&�i�X"�2�$�$�"�	�(�	�J��J�
?�k�?�@�{�@�
L��L�
?�+�?�D��D��w��5��B�H���*�����	����:�:�&8�9��l9�f�l9�^i�f�i�^'�$�|�|��]9�~�z���F���G^��
�C�����
�C��s"�I�I$�I!� I!�$I0�/I0

Youez - 2016 - github.com/yon3zu
LinuXploit