����JFIF���������
1#@!#!123s
D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
python311
/
lib64
/
python3.11
/
__pycache__
/
Filename :
tarfile.cpython-311.opt-2.pyc
back
Copy
� ����!A?hش�������������������������� �d�Z�dZdZddlmZ�ddlZddlZddlZddl Z ddl Z ddlZddlZddl Z ddlZddlZ �ddlZn #�e$�r�dZY�nw�xY�w �ddlZn #�e$�r�dZY�nw�xY�weefZ �eefz ��Zn#�e$�r�Y�nw�xY�wg�d�ZdZdZed z��Zd ZdZdZdZd Z dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2e2Z3e!e"e#e$e'e(e)e%e&e*e+e,fZ4e!e"e)e,fZ5e*e+e,fZ6dZ7h�d�Z8e9e9e9e:e:e:d �Z;ej<��������d!k����rd"Z=n�ej>����������������������Z=d#��Z?d$��Z@d%��ZAd&e3fd'�ZBd(��ZCdedfd)�ZDd*��ZE�G�d+��d,eF������������ZG�G�d-��d.eG������������ZH�G�d/��d0eG������������ZI�G�d1��d2eG������������ZJ�G�d3��d4eG������������ZK�G�d5��d6eG������������ZL�G�d7��d8eL������������ZM�G�d9��d:eL������������ZN�G�d;��d<eL������������ZO�G�d=��d>eL������������ZP�G�d?��d@eL������������ZQ�G�dA��dB������������ZR�G�dC��dD������������ZS�G�dE��dFeT������������ZU�G�dG��dHeT������������ZV�G�dI��dJejW��������������������ZX�G�dK��dLeG������������ZY�G�dM��dNeY������������ZZ�G�dO��dPeY������������Z[�G�dQ��dReY������������Z\�G�dS��dTeY������������Z]�G�dU��dVeY������������Z^�G�dW��dXeY������������Z_eYeeHfZ`dgdZ�Zad[��Zbd\��Zcd]��Zdebecedd^�Ze�eT��������������Zf�ejg��������d_������������Zh�G�d`��daeT������������Zi�G�db��dceT������������Zjdd��Zkejj��������Zde��Zlemdfk����r�el���������������dS�dS�)hz0.9.0u"���Lars Gustäbel (lars@gustaebel.de)u4���Gustavo 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��������i�������s���ustar �s���ustar�00�d�����������0����1����2����3����4����5����6����7����L����K����S����x����g����X��������)�path�linkpath�size�mtime�uid�gid�uname�gname>���r&���r-���r,���r'���)�atime�ctimer)���r*���r+���r(����nt�utf-8c����������������������� �|��t����������d�������������|����������������������||������������}�|�d�|����������|t����������|�������������z ��t����������z��z���S�)Nzmetadata cannot contain None)� ValueError�encode�len�NUL)�s�length�encoding�errorss��� �./opt/alt/python311/lib64/python3.11/tarfile.py�stnr<�������sP��������y��7�8�8�8� ����6�"�"�A��W�f�W�:��#�a�&�&��C�/�/�/�����c������������������z����� �|�����������������������d������������}|dk����r |�d�|����������}�|����������������������||������������S�)Nr������)�find�decode)r7���r9���r:����ps��� r;����ntsrC�������s@������� ���u� � �A��B�w�w� �b�q�b�E���8�8�H�f�%�%�%r=���c������������������~���� �|�d���������dv�r]d}t����������t����������|�������������dz ��������������D�]}|dz��}||�|dz������������z ��}�|�d���������dk����rdt����������|�������������dz ��z��|z ���}nT �t����������|�dd������������}�t����������|������������������������������������pd d������������}n#�t ����������$�r�t ����������d �������������w�xY�w|S�)Nr���)��������r$�������rF��������ascii�strict�0�invalid header)�ranger5���rC����int�stripr3����InvalidHeaderError)r7����n�is��� r;����ntirS�������s��������� ��t�~��� ���s�1�v�v��z�"�"�� �� �A� �!�G�A� ��1�q�5��M�A�A��Q�4�5�=�=��#�a�&�&�1�*�%��)�*�A�� 7��A�w��)�)�A��A�G�G�I�I�$��a�(�(�A�A���� 7�� 7�� 7�$�%5�6�6�6� 7�����Hs����*5B �� B:rG���c����������������������� �|�}t����������|�������������}�d|�cxk����rd|dz ��z��k�����r$n�n!t����������d|dz ��|�fz��d������������t����������z���}n�|t����������k����r�d|dz ��z���|�cxk����rd|dz ��z��k�����rfn�nc|�dk����rt ����������dg������������}nt ����������dg������������}d|z��|�z���}�t����������|dz ��������������D�] }|���������������������d|�dz���������������|�dz��}��!nt����������d �������������|S�) Nr���rG���r$���z%0*orI���rH���rE���rF���zoverflow in number field)rN����bytesr6���r���� bytearrayrM����insertr3���)rQ����digits�format� original_nr7���rR���s��� r;����itnr[�������s8��������J��A���A��A�!�!�!�!��f�q�j�!�!�!�!�!�!��&�F�Q�J��?�*�G�4�4�s�:��� �:� � �3�6�A�:�#6�"6�!�"Q�"Q�"Q�"Q�c�f�q�j�>Q�"Q�"Q�"Q�"Q�"Q���6�6��5�'�"�"�A�A��5�'�"�"�A��v� ��!�A��v��z�"�"�� �� �A� �H�H�Q��E� �"�"�"� �!�G�A�A� ���3�4�4�4��Hr=���c����������������������� �dt����������t����������j��������d|�������������������������z���}dt����������t����������j��������d|�������������������������z���}||fS�)NrH���� 148B8x356B� 148b8x356b)�sum�struct�unpack_from)�buf�unsigned_chksum� signed_chksums��� r;����calc_chksumsre�������sR���������C�� 2�<�� E� E�F�F�F�O��#�f�0��s�C�C�D�D�D�M��M�)�)r=���c����������������������� �|pd}|dk����rd�S�|�t����������j��������|�||�������������d�S�t����������||������������\��}}t����������|������������D�]J}|����������������������|������������}t����������|������������|k�����r�|d�������������|���������������������|��������������K|dk����rH|����������������������|������������}t����������|������������|k�����r�|d�������������|���������������������|�������������d�S�)Ni�@��r����unexpected end of data)�shutil�copyfileobj�divmodrM����readr5����write) �src�dstr8���� exception�bufsize�blocks� remainder�brb���s ��� r;���ri���ri�������s����������"��G� ��{�{��� �~���3��W�-�-�-����v�w�/�/��F�I� �6�]�]�������h�h�w�����s�8�8�g����)�4�5�5�5�� � �#������A�~�~��h�h�y�!�!���s�8�8�i����)�4�5�5�5�� � �#���� �Fr=���c�����������������������t����������t����������j��������dd�������������}|�)|����������������������|d���������������������������������|������������}�t����������|�d��������������d�S�)Nr9����backslashreplace� )�end)�getattr�sys�stdoutr4���rA����print)r7���r9���s��� r;����_safe_printr|�����sV�������s�z�:�t�4�4�H��� �H�H�X�1�2�2�9�9�(�C�C�� �!�������r=���c�������������������������e�Zd�Z �dS�)r���N��__name__� __module__�__qualname__��r=���r;���r���r�����s����������������Dr=���r���c�������������������������e�Zd�Z �dS�)r���Nr~���r����r=���r;���r���r�����s��������������/��Dr=���r���c�������������������������e�Zd�Z �dS�)r���Nr~���r����r=���r;���r���r�����s��������������0��Dr=���r���c�������������������������e�Zd�Z �dS�)r ���Nr~���r����r=���r;���r ���r �����s��������������8��Dr=���r ���c�������������������������e�Zd�Z �dS�)r ���Nr~���r����r=���r;���r ���r �����s��������������G��Dr=���r ���c�������������������������e�Zd�Z �dS�)r���Nr~���r����r=���r;���r���r�����s��������������+��Dr=���r���c�������������������������e�Zd�Z �dS�)�EmptyHeaderErrorNr~���r����r=���r;���r����r����!��s��������������&��Dr=���r����c�������������������������e�Zd�Z �dS�)�TruncatedHeaderErrorNr~���r����r=���r;���r����r����$��s��������������*��Dr=���r����c�������������������������e�Zd�Z �dS�)�EOFHeaderErrorNr~���r����r=���r;���r����r����'��s��������������,��Dr=���r����c�������������������������e�Zd�Z �dS�)rP���Nr~���r����r=���r;���rP���rP���*��s��������������(��Dr=���rP���c�������������������������e�Zd�Z �dS�)�SubsequentHeaderErrorNr~���r����r=���r;���r����r����-��s��������������=��Dr=���r����c��������������������(�����e�Zd�Z �d��Zd��Zd��Zd��ZdS�)� _LowLevelFilec�����������������������t�����������j��������t�����������j��������t�����������j��������z��t�����������j��������z��d�|���������}t����������t�����������d������������r|t�����������j��������z��}t����������j��������||d������������|�_��������d�S�)N��r�w�O_BINARYi���) �os�O_RDONLY�O_WRONLY�O_CREAT�O_TRUNC�hasattrr����r����fd)�self�name�modes��� r;����__init__z_LowLevelFile.__init__:��si����������r�z�)�B�J�6� �� �������2�z�"�"�� ��B�K��D��'�$��e�,�,����r=���c������������������8�����t����������j��������|�j���������������������d�S��N)r�����closer�����r����s��� r;���r����z_LowLevelFile.closeC��s������ ��������r=���c������������������6�����t����������j��������|�j��������|������������S�r����)r����rk���r�����r����r(���s��� r;���rk���z_LowLevelFile.readF��s�������w�t�w��%�%�%r=���c������������������:�����t����������j��������|�j��������|�������������d�S�r����)r����rl���r�����r����r7���s��� r;���rl���z_LowLevelFile.writeI��s������ ����!�����r=���N)r���r����r����r����r����rk���rl���r����r=���r;���r����r����4��sU��������������� -��-��-������&��&��&���������r=���r����c��������������������Z�����e�Zd�Z �d��Zd��Zd��Zd��Zd��Zd��Zd��Z d��Z dd �Zd��Zd��Z d ��ZdS�)�_Streamc���������������������� �d|�_���������|�t����������||������������}d|�_���������|dk����r#t����������|������������}|�����������������������������������}|pd|�_��������||�_��������||�_��������||�_��������||�_��������d|�_ ��������d|�_ ��������d|�_�������� �|dk����r� �dd�l}n#�t����������$�r�t����������d������������d��w�xY�w||�_��������|���������������������d������������|�_��������|d k����r"|j��������|�_��������|�������������������������������������d�S�|�������������������������������������d�S�|d k����rs �dd�l}n#�t����������$�r�t����������d������������d��w�xY�w|d k����r.d|�_��������|�����������������������������������|�_��������t2����������|�_��������d�S�|�����������������������������������|�_��������d�S�|dk����rs �dd�l}n#�t����������$�r�t����������d ������������d��w�xY�w|d k����r.d|�_��������|�����������������������������������|�_��������|j��������|�_��������d�S�|�����������������������������������|�_��������d�S�|dk����rt����������d|z���������������d�S�#��|�j���������s|�j��������������������������������������������d|�_����������xY�w)NTF�*��r=���r����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�fileobjrp���rb����pos�closed�zlib�ImportErrorr ����crc32�crc�errorro���� _init_read_gz�_init_write_gzr�����dbuf�BZ2Decompressor�cmp�OSError� BZ2Compressor�lzma�LZMADecompressor� LZMAError�LZMACompressorr����) r����r����r����r����r����rp���r����r����r����s ��� r;���r����z_Stream.__init__X��s������ �����?�#�D�$�/�/�G�$�D���s�?�?��#�7�+�+�G��*�*�,�,�H�� ��� ��� � �� ����������������- ��4���U��K�K�K�K��"��U��U��U�*�+I�J�J�PT�T�U���� �� ��:�:�c�?�?����3�;�;�%)�Z�D�N��&�&�(�(�(�(�(��'�'�)�)�)�)�)��U�"�"�T��J�J�J�J��"��T��T��T�*�+H�I�I�t�S�T�����3�;�;� #�D�I�"�2�2�4�4�D�H�%,�D�N�N�N�"�0�0�2�2�D�H�H�H��T�!�!�U��K�K�K�K��"��U��U��U�*�+I�J�J�PT�T�U�����3�;�;� #�D�I�#�4�4�6�6�D�H�%)�^�D�N�N�N�#�2�2�4�4�D�H�H�H��U�"�"�&�'D�x�'O�P�P�P��#�"�� ��#�� %���"�"�$�$�$��D�K����sy����H�� B��H��B-�-A H��9H��H��D��H��D6�65H��-H��H��F��H��F/�/5H��&H��H��*Ic������������������d�����t����������|�d������������r|�j��������s|�������������������������������������d�S�d�S�d�S�)Nr����)r����r����r����r����s��� r;����__del__z_Stream.__del__���sB�������4��"�"�� �4�;�� ��J�J�L�L�L�L�L� �� �� �� r=���c������������������B���� �|�j������������������������������d|�j���������j��������|�j���������j���������|�j���������j��������d������������|�_��������t ����������j��������dt����������t����������j ����������������������������������������������}|�� ��������������������d|z���dz����������������|�j�����������������������������d������������r|�j��������d�d����������|�_��������t����������j�����������������������������|�j��������������������|�_��������|�� ��������������������|�j�����������������������������dd ������������t"����������z����������������d�S�) N� ���r����<Ls����s�����.gz���z iso-8859-1�replace)r�����compressobj�DEFLATED� MAX_WBITS� DEF_MEM_LEVELr����r`����packrN����time�_Stream__writer�����endswithr����r&����basenamer4���r6���)r����� timestamps��� r;���r����z_Stream._init_write_gz���s������� ��9�(�(��D�I�,>�-1�Y�-@�,@�,0�I�,C�,-�/��/�����K��c�$�)�+�+�&6�&6�7�7� ����(�9�4�{�B�C�C�C��9���e�$�$�� '�� �#�2�#��D�I��G�$�$�T�Y�/�/�� ����T�Y�%�%�l�I�>�>��D�E�E�E�E�Er=���c���������������������� �|�j���������dk����r%|�j�����������������������������||�j��������������������|�_��������|�xj��������t����������|������������z ��c_��������|�j���������dk����r|�j�����������������������������|������������}|����������������������|�������������d�S�)Nr����r����) r����r����r����r����r����r5���r�����compressr����r����s��� r;���rl���z _Stream.write���sx������ ��=�D� � ��y���q�$�(�3�3�D�H����C��F�F�����=�E�!�!���!�!�!�$�$�A����Q�����r=���c������������������*���� �|�xj���������|z ��c_���������t����������|�j���������������������|�j��������k����rd|�j�����������������������������|�j���������d�|�j�������������������������������|�j���������|�j��������d�����������|�_���������t����������|�j���������������������|�j��������k�����bd�S�d�S�r����)rb���r5���rp���r����rl���r����s��� r;����__writez_Stream.__write���s������� �� ���A� ����$�(�m�m�d�l�*�*��L���t�x� ��� �6�7�7�7��x��� � �.�D�H���$�(�m�m�d�l�*�*�*�*�*�*r=���c���������������������� �|�j���������rd�S�d|�_��������� �|�j��������dk����r2|�j��������dk����r'|�xj��������|�j�������������������������������������������z ��c_��������|�j��������dk����r�|�j��������r�|�j�����������������������������|�j���������������������d|�_��������|�j��������dk����rg|�j�����������������������������t����������j ��������d|�j ���������������������������������|�j�����������������������������t����������j ��������d|�j��������dz���������������������������|�j��������s|�j��������� �����������������������������������d�S�d�S�#�|�j��������s|�j��������� �����������������������������������w�w�xY�w)NTr����r����r=���r����r����l������)r����r����r����rb���r�����flushr����rl���r`���r����r����r����r����r����r����s��� r;���r����z _Stream.close���s?����� ���;�� ��F���� %��y�C���D�M�U�$:�$:����D�H�N�N�,�,�,����y�C���D�H����"�"�4�8�,�,�,�����=�D�(�(��L�&�&�v�{�4���'B�'B�C�C�C��L�&�&�v�{�4���J�9N�'O�'O�P�P�P��#�� %���"�"�$�$�$�$�$� %�� %��4�#�� %���"�"�$�$�$�$� %���s����C'D��#Ec���������������������� �|�j������������������������������|�j���������j���������������������|�_��������d|�_��������|����������������������d������������dk����rt ����������d�������������|����������������������d������������dk����rt����������d�������������t����������|����������������������d������������������������}|����������������������d�������������|d z��r]t����������|����������������������d������������������������d t����������|����������������������d������������������������z��z���}|�� ��������������������|�������������|dz��r% �|����������������������d������������}|r|t����������k����rn�$|d z��r% �|����������������������d������������}|r|t����������k����rn�$|dz��r|����������������������d�������������d�S�d�S�)Nr=���r%���s�����not a gzip filer$�������zunsupported compression method��������rH���rG���T����)r����� decompressobjr����r����r����� _Stream__readr���r ����ordrk���r6���)r�����flag�xlenr7���s��� r;���r����z_Stream._init_read_gz���s������ ��9�*�*�D�I�,?�+?�@�@����� ���;�;�q�>�>�[�(�(��-�.�.�.��;�;�q�>�>�W�$�$�"�#C�D�D�D��4�;�;�q�>�>�"�"�����A�����!�8�� ��t�{�{�1�~�~�&�&��s�4�;�;�q�>�>�/B�/B�)B�B�D��I�I�d�O�O�O��!�8�� � ��K�K��N�N�����A��H�H�� ���"�9�� � ��K�K��N�N�����A��H�H�� ���!�8�� ��K�K��N�N�N�N�N� �� r=���c����������������������� �|�j���������S�r����)r����r����s��� r;����tellz_Stream.tell���s������ ��x�r=���r���c���������������������� �||�j���������z ��dk����rbt����������||�j���������z ��|�j��������������������\��}}t����������|������������D�]}|����������������������|�j����������������������|����������������������|�������������nt����������d�������������|�j���������S�)Nr���z seeking backwards is not allowed)r����rj���rp���rM���rk���r ���)r����r����rq���rr���rR���s��� r;����seekz_Stream.seek���s������� �����>�Q��� &�s�T�X�~�t�|� D� D��F�I��6�]�]�� (�� (��� � �$�,�'�'�'�'��I�I�i� � � � ��@�A�A�A��x�r=���c������������������l����� �|�����������������������|������������}|�xj��������t����������|������������z ��c_��������|S�r����)�_readr����r5���)r����r(���rb���s��� r;���rk���z_Stream.read��s1������C��j�j��������C��H�H����� r=���c������������������*���� �|�j���������dk����r|����������������������|������������S�t����������|�j��������������������}|�j��������g}||k�����r�|�j��������r|�j��������}d|�_��������n"|�j�����������������������������|�j��������������������}|snk �|�j��������� ��������������������|������������}n"#�|�j ��������$�r}t����������d������������|�d�}~ww�xY�w|���������������������|�������������|t����������|������������z ��}||k�������d� ��������������������|������������}||d�����������|�_��������|d�|����������S�)Nr����r=���zinvalid compressed data)r����r����r5���r����rb���r����rk���rp���r����� decompressro���r����append�join)r����r(����c�trb����es��� r;���r����z _Stream._read��s*����� ��=�E�!�!��;�;�t�$�$�$��� �N�N�� �Y�K���$�h�h��x�� ��h�������l�'�'���5�5������ B��h�)�)�#�.�.�����>�� B�� B�� B�� 9�:�:��A����� B���� �H�H�S�M�M�M� ��S���M�A���$�h�h�� �H�H�Q�K�K���d�e�e�H�� ���$��x�s����=B�� B7�"B2�2B7c������������������B���� �t����������|�j��������������������}|�j��������g}||k�����rO|�j�����������������������������|�j��������������������}|sn-|���������������������|�������������|t����������|������������z ��}||k������Od���������������������|������������}||d�����������|�_��������|d�|����������S�)Nr=���)r5���rb���r����rk���rp���r����r����)r����r(���r����r����rb���s��� r;����__readz_Stream.__read.��s������� �� ���M�M�� �X�J���$�h�h��,�#�#�D�L�1�1�C��� �� �H�H�S�M�M�M� ��S���M�A���$�h�h�� �H�H�Q�K�K���T�U�U�8�����$��x�r=���N)r���)r���r����r����r����r����r����rl���r����r����r����r����r����rk���r����r����r����r=���r;���r����r����L��s��������������� �D��D��D�L�����F��F��F� �����/��/��/�%��%��%�,�����>����� �����������������6��������r=���r����c��������������������(�����e�Zd�Z �d��Zd��Zd��Zd��ZdS�)r����c������������������\�����||�_���������|�j������������������������������t����������������������|�_��������d�S�r����)r����rk���� BLOCKSIZErb���)r����r����s��� r;���r����z_StreamProxy.__init__D��s$����������<�$�$�Y�/�/����r=���c������������������2�����|�j���������j��������|�_��������|�j��������S�r����)r����rk���rb���r����s��� r;���rk���z_StreamProxy.readH��s�������L�%�� ��x�r=���c������������������������|�j������������������������������d������������rdS�|�j���������dd����������dk����r|�j���������dd����������dk����rd S�|�j������������������������������d ������������rdS�dS�) Ns����r����r�������s���BZhr����� ���s���1AY&SYr����)s���]���s����7zXZr����r����)rb���� startswithr����s��� r;���r����z_StreamProxy.getcomptypeL��sp�������8����/�/�� ��4� �X�a��c�]�f� $� $���!�B�$��9�)D�)D��5� �X� � �!C� D� D�� ��4��5r=���c������������������8�����|�j���������������������������������������������d�S�r����)r����r����r����s��� r;���r����z_StreamProxy.closeV��s��������������r=���N)r���r����r����r����rk���r����r����r����r=���r;���r����r����?��sU���������������0��0��0�������������������r=���r����c��������������������^�����e�Zd�Z �dd�Zd��Zd��Zd��Zd��Zd��Ze j ��������fd�Zdd �Zd ��Z d��ZdS�) �_FileInFileNc�����������������������||�_���������||�_��������||�_��������d|�_��������t ����������|dd�������������|�_��������d|�_��������|�d|fg}d|�_��������g�|�_��������d}|�j��������}|D�]T\��}}||k����r|�j��������� ��������������������d||d�f�������������|�j��������� ��������������������d|||z���|f�������������||z ��}||z���}�U||�j��������k�����r%|�j��������� ��������������������d||�j��������d�f�������������d�S�d�S�)Nr���r����FT) r�����offsetr(����positionrx���r����r����� map_index�mapr����)r����r����r��r(���� blockinfo�lastpos�realposs��� r;���r����z_FileInFile.__init__c��s������������� ��� ��G�V�T�2�2�� �������T���I�����������+��%�� $�� $�L�F�D������������� >�?�?�?��H�O�O�T�6�6�D�=�'�B�C�C�C��t�O�G��t�m�G�G��T�Y����H�O�O�U�G�T�Y��=�>�>�>�>�>���r=���c�����������������������d�S�r����r����r����s��� r;���r����z_FileInFile.flush|��s�������r=���c�����������������������dS��NTr����r����s��� r;����readablez_FileInFile.readable��s�������tr=���c�����������������������dS��NFr����r����s��� r;����writablez_FileInFile.writable���s�������ur=���c������������������4�����|�j��������������������������������������������S�r����)r�����seekabler����s��� r;���r��z_FileInFile.seekable���s�������|�$�$�&�&�&r=���c����������������������� �|�j���������S�r����)r ��r����s��� r;���r����z_FileInFile.tell���s������ ��}�r=���c����������������������� �|t�����������j��������k����r)t����������t����������|d������������|�j��������������������|�_��������n�|t�����������j��������k����rG|dk�����rt����������|�j��������|z���d������������|�_��������nst����������|�j��������|z���|�j��������������������|�_��������nP|t�����������j��������k����r1t����������t����������|�j��������|z���|�j��������������������d������������|�_��������nt����������d�������������|�j��������S�)Nr���zInvalid argument) �io�SEEK_SET�min�maxr(���r ���SEEK_CUR�SEEK_ENDr3���)r����r ���whences��� r;���r����z_FileInFile.seek���s������� ��R�[� � ���H�a� 0� 0�$�)�<�<�D�M�M� �r�{� "� "��!�|�|� #�D�M�H�$<�a� @� @�� � � #�D�M�H�$<�d�i� H� H�� � � �r�{� "� "���D�I��$8�$�)� D� D�a�H�H�D�M�M��/�0�0�0��}�r=���c���������������������� �|�|�j���������|�j��������z ��}nt����������||�j���������|�j��������z ��������������}d}|dk�����r �|�j��������|�j�����������������\��}}}}||�j��������cxk����r|k�����rn�nn5|�xj��������dz ��c_��������|�j��������t����������|�j��������������������k����rd|�_���������bt����������|||�j��������z ��������������}|rg|�j�����������������������������||�j��������|z ��z����������������|�j�����������������������������|������������}t����������|������������|k����rt����������d�������������||z ��}n |t����������|z��z ��}||z��}|�xj��������|z ��c_��������|dk������ |S�)Nr=���r���Tr$���rg���)r(���r ��r ��r��r��r5���r����r����rk���r���r6���) r����r(���rb����data�start�stopr��r8���rs���s ��� r;���rk���z_FileInFile.read���sq����� ��<��9�t�}�,�D�D��t�T�Y���6�7�7�D����Q�h�h� +�,0�H�T�^�,D�)��e�T�6��D�M�0�0�0�0�D�0�0�0�0�0���N�N�a�'�N�N��~��T�X���6�6�)*��� +����t�d�m�3�4�4�F��� $���!�!�&�D�M�E�,A�"B�C�C�C��L�%�%�f�-�-���q�6�6�V�#�#�#�$<�=�=�=��q�����s�V�|�#���F�N�D��M�M�V�#�M�M�'��Q�h�h�(�� r=���c�����������������������|�����������������������t����������|������������������������}||d�t����������|�������������<���t����������|������������S�r����)rk���r5���)r����rs���rb���s��� r;����readintoz_FileInFile.readinto���s7�������i�i��A��������)�3�s�8�8�)���3�x�x�r=���c�����������������������d|�_���������d�S�r��)r����r����s��� r;���r����z_FileInFile.close���s ����������r=���r����)r���r����r����r����r����r��r��r��r����r��r��r����rk���r*��r����r����r=���r;���r ��r ��]��s���������������� ?��?��?��?�2 �� �� �����������'��'��'������ �%'�K��������� �������>����� ��������r=���r ��c���������������������������e�Zd�Z��fd�Z��xZS�)�ExFileObjectc������������������������t����������|j��������|j��������|j��������|j��������������������}t���������������������������������������������|�������������d�S�r����)r ��r�����offset_datar(����sparse�superr����)r�����tarfile�tarinfor����� __class__s��� �r;���r����zExFileObject.__init__���sB��������g�o�w�/B���g�n�.��.�� ������!�!�!�!�!r=����r���r����r����r����� __classcell__�r4��s���@r;���r-��r-�����s8���������������"��"��"��"��"��"��"��"��"r=���r-��c�������������������������e�Zd�ZdS�)�FilterErrorNr~���r����r=���r;���r9��r9�����s���������������Dr=���r9��c���������������������������e�Zd�Z��fd�Z��xZS�)�AbsolutePathErrorc������������������j������||�_���������t���������������������������������������������d|j���������d��������������d�S�)Nzmember z has an absolute path�r3��r1��r����r�����r����r3��r4��s��� �r;���r����zAbsolutePathError.__init__���s6���������� �����H�7�<�H�H�H�I�I�I�I�Ir=���r5��r7��s���@r;���r;��r;�����sA���������������J��J��J��J��J��J��J��J��Jr=���r;��c���������������������������e�Zd�Z��fd�Z��xZS�)�OutsideDestinationErrorc������������������������||�_���������||�_��������t���������������������������������������������|j���������d|�d�dz����������������d�S�)Nz would be extracted to �, � which is outside the destination�r3���_pathr1��r����r�����r����r3��r&���r4��s��� �r;���r����z OutsideDestinationError.__init__���sT������������ � �����G�L�M�M�4�M�M�M�=�>�� ?�� ?�� ?�� ?�� ?r=���r5��r7��s���@r;���r@��r@������8���������������?��?��?��?��?��?��?��?��?r=���r@��c���������������������������e�Zd�Z��fd�Z��xZS�)�SpecialFileErrorc������������������h������||�_���������t���������������������������������������������|j���������d��������������d�S�)Nz is a special filer=��r>��s��� �r;���r����zSpecialFileError.__init__���s3���������� �����G�L�>�>�>�?�?�?�?�?r=���r5��r7��s���@r;���rI��rI�����sA���������������@��@��@��@��@��@��@��@��@r=���rI��c���������������������������e�Zd�Z��fd�Z��xZS�)�AbsoluteLinkErrorc������������������h������||�_���������t���������������������������������������������|j���������d��������������d�S�)Nz is a link to an absolute pathr=��r>��s��� �r;���r����zAbsoluteLinkError.__init__���s3���������� �����G�L�J�J�J�K�K�K�K�Kr=���r5��r7��s���@r;���rL��rL�����sA���������������L��L��L��L��L��L��L��L��Lr=���rL��c���������������������������e�Zd�Z��fd�Z��xZS�)�LinkOutsideDestinationErrorc������������������������||�_���������||�_��������t���������������������������������������������|j���������d|�d�dz����������������d�S�)Nz would link to rB��rC��rD��rF��s��� �r;���r����z$LinkOutsideDestinationError.__init__���sT������������ � �����G�L�E�E�4�E�E�E�=�>�� ?�� ?�� ?�� ?�� ?r=���r5��r7��s���@r;���rO��rO�����rG��r=���rO��c���������������������������e�Zd�Z��fd�Z��xZS�)�LinkFallbackErrorc������������������������||�_���������||�_��������t���������������������������������������������d|j���������d�d|�d�z����������������d�S�)Nzlink z would be extracted as a zcopy of z, which was rejectedrD��rF��s��� �r;���r����zLinkFallbackError.__init__���s`������������ � �����J���J�J�J�B�d�B�B�B�C�� D�� D�� D�� D�� Dr=���r5��r7��s���@r;���rR��rR�����sA���������������D��D��D��D��D��D��D��D��Dr=���rR��Tc�����������������������i�}|�j���������}t����������j�����������������������������|t����������j��������j���������������������}|���������������������dt����������j��������f������������r,|�j�����������������������������dt����������j��������z���������������x}|d<���t����������j�����������������������������|������������rt����������|��������������t����������j�����������������������������t����������j��������� ��������������������||������������t����������j��������j���������������������}t����������j�����������������������������||g������������|k����rt����������|�|�������������|�j ��������}|��|dz��}|rr|������������������������������������s|������������������������������������r|dz��s|dz��}|dz��}n:|������������������������������������s|������������������������������������rd�}nt%����������|��������������||�j ��������k����r||d<���|�r�|�j���������d�|d <���|�j���������d�|d <���|�j���������d�|d<���|�j���������d�|d<���|������������������������������������s|�������������������������������������rIt����������j�����������������������������|�j��������������������rt1����������|��������������t����������j�����������������������������|�j��������������������}||�j��������k����r||d <���|������������������������������������rDt����������j��������� ��������������������|t����������j�����������������������������|������������|�j��������������������}n%t����������j��������� ��������������������||�j��������������������}t����������j�����������������������������|t����������j��������j���������������������}t����������j�����������������������������||g������������|k����rt7����������|�|�������������|S�)N)rJ����/r����i����@���i�������r����r*���r+���r,���r-����linkname)r����r����r&����realpath� ALLOW_MISSINGr���sep�lstrip�isabsr;��r����� commonpathr@��r�����isreg�islnk�isdir�issymrI��r*���r+���r,���r-���rX��rL���normpath�dirnamerO��)�member� dest_path�for_data� new_attrsr�����target_pathr����� normalizeds��� r;����_get_filtered_attrsrk�����s(������I��;�D��� � ��2�7�3H� �I�I�I������R�V�}�%�%��D�#)�;�#5�#5�c�B�F�l�#C�#C�C��y�� � �w�}�}�T����(�� ��'�'�'��'�"�"�2�7�<�<� �4�#@�#@�*,�'�*?��#��A��A�K� �w���;� �2�3�3�y�@�@�%�f�k�:�:�:��;�D����e�|���� /��|�|�~�~�� /������� /��e�|��#��F�N�D��� ��������� /�6�<�<�>�>�� /�����'�v�.�.�.��6�;��� $�I�f����G��:�!�#�I�e���:�!�#�I�e���<�#�!%�I�g���<�#�!%�I�g���<�<�>�>�� G�V�\�\�^�^�� G��w�}�}�V�_�-�-�� 0�'��/�/�/���)�)�&�/�:�:�J��V�_�,�,�(2� �*�%��|�|�~�~�� <� �g�l�l�9�+-�7�?�?�4�+@�+@�+1�?�<��<����!�g�l�l�9�+1�?�<��<���'�*�*�;�24�'�2G��+��I��I�K��w�!�!�;� �":�;�;�y�H�H�1�&�+�F�F�F��r=���c�����������������������|�S�r����r����)re��rf��s��� r;����fully_trusted_filterrm��B��s�������Mr=���c������������������N�����t����������|�|d������������}|r�|�j��������di�|�ddi��S�|�S�)NF�deepr�����rk��r�����re��rf��rh��s��� r;���� tar_filterrr��E��sC������#�F�I�u�=�=�I���7��v�~�6�6� �6�6��6�6�6�6��Mr=���c������������������N�����t����������|�|d������������}|r�|�j��������di�|�ddi��S�|�S�)NTro��Fr����rp��rq��s��� r;����data_filterrt��K��sC������#�F�I�t�<�<�I���7��v�~�6�6� �6�6��6�6�6�6��Mr=���)� fully_trustedr����r&��s���([0-9]{1,20}) c��������������������p����e�Zd�Z ��edTi�dd�dd�dd�dd�d d �dd�d d�dd�dd�dd�dd�dd�dd�dd�dd�dd �d!d"�d#d$�d%d$�d&d$��ZdUd(�Zed)����������������Zej��������d*����������������Zed+����������������Z e j��������d,����������������Z d-��Z eeeeeeeed.ed/� d0�Zd1��Z eed2fd3�Zd4��Zd5��Zd6��Zed7����������������Zd8��Zed9����������������Zed:����������������Zed;����������������Zed<����������������Zed=����������������Zed>����������������Zd?��Zd@��ZdA��Z dB��Z!dC��Z"dD��Z#dE��Z$dF��Z%dG��Z&dH��Z'dI��Z(dJ��Z)dK��Z*dL��Z+dM��Z,dN��Z-dO��Z.dP��Z/dQ��Z0dR��Z1dS��Z2d$S�)Vr���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.rX��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.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.r0��zSparse member information.r2��N�_sparse_structs�_link_targetr����c����������������������� �||�_���������d|�_��������d|�_��������d|�_��������d|�_��������d|�_��������d|�_��������t����������|�_��������d|�_ ��������d|�_ ��������d|�_��������d|�_��������d|�_ ��������d|�_��������d|�_��������d�|�_��������i�|�_��������d�S�)Ni���r���r����)r����r����r*���r+���r(���r)���rw���REGTYPErx��rX��r,���r-���ry��rz��r��r/��r0��r{���r����r����s��� r;���r����zTarInfo.__init__���s������� ���� ��� ��������� ��� ������ ��� ��� ��� ��� ��� ��������������r=���c����������������������� �|�j���������S�r�����r����r����s��� r;���r&���zTarInfo.path���s ������2��y�r=���c�����������������������||�_���������d�S�r����r���r���s��� r;���r&���zTarInfo.path���s �������� � � r=���c����������������������� �|�j���������S�r�����rX��r����s��� r;���r'���zTarInfo.linkpath���s ������:��}�r=���c�����������������������||�_���������d�S�r����r���)r����rX��s��� r;���r'���zTarInfo.linkpath���s ������ �� � � r=���c������������������J�����d|�j���������j��������|�j��������t����������|�������������fz��S�)Nz<%s %r at %#x>)r4��r���r�����idr����s��� r;����__repr__zTarInfo.__repr__���s!�������4�>�#:�4�9�R��X�X�"N�N�Nr=���T) r����r)���r����rX��r*���r+���r,���r-���ro���_KEEPc������� �������������� �| rt����������j��������|�������������}nt����������j���������|�������������}|| ur||_��������|| ur||_��������|| ur||_��������|| ur||_��������|| ur||_��������|| ur||_��������|| ur||_��������|| ur||_ ��������|S�r����) �copy�deepcopyr����r)���r����rX��r*���r+���r,���r-���)r����r����r)���r����rX��r*���r+���r,���r-���ro��r����results��� r;���r����zTarInfo.replace���s������� ��� %��]�4�(�(�F�F��Y�t�_�_�F��u����F�K����� �F�L��u����F�K��5� � �&�F�O��e����F�J��e����F�J����� �F�L����� �F�L�� r=���c������������������@���� �|�j����������d�}n |�j���������dz��}|�j��������||�j��������|�j��������|�j��������|�j��������|�j��������|�j��������|�j��������|�j ��������|�j ��������|�j��������|�j��������d� }|d���������t����������k����r+|d������������������������������d������������s|dxx���������dz ��cc<���|S�)N���) r����r����r*���r+���r(���r)���rw��rx��rX��r,���r-���ry��rz��rx��r����rU��)r����r����r*���r+���r(���r)���rw��rx��rX��r,���r-���ry��rz���DIRTYPEr����)r����r�����infos��� r;����get_infozTarInfo.get_info���s������� ��9���D�D��9�v�%�D�� ������� �� ���� �� �� �� �� �� � �� �� ���<�7�"�"�4��<�+@�+@��+E�+E�"���L�L�L�C��L�L�L��r=����surrogateescapec������������������p���� �|�������������������������������������}|�����������������������������������D�]\��}}|�t����������d|z����������������|t����������k����r|����������������������|||������������S�|t ����������k����r|����������������������|||������������S�|t����������k����r|����������������������||������������S�t����������d�������������)Nz%s may not be Nonezinvalid format) r����itemsr3���r����create_ustar_headerr����create_gnu_headerr����create_pax_header)r����rY���r9���r:���r���r�����values��� r;����tobufz TarInfo.tobuf���s������� ��}�}�����:�:�<�<�� >�� >�K�D�%��}� �!5��!<�=�=�=�����\�!�!��+�+�D�(�F�C�C�C� �z� !� !��)�)�$��&�A�A�A� �z� !� !��)�)�$��9�9�9��-�.�.�.r=���c���������������������� �t�����������|d<���t����������|d������������������������������||������������������������t����������k����rt ����������d�������������t����������|d������������������������������||������������������������t ����������k����r&|����������������������|d���������||������������\��|d<���|d<���|����������������������|t����������||������������S�)N�magicrX��zlinkname is too longr�����prefix) �POSIX_MAGICr5���r4����LENGTH_LINKr3����LENGTH_NAME�_posix_split_name�_create_headerr���)r����r���r9���r:���s��� r;���r���zTarInfo.create_ustar_header���s������� �#��W� ��t�J��&�&�x��8�8�9�9�K�G�G��3�4�4�4��t�F�|�"�"�8�V�4�4�5�5��C�C�+/�+A�+A�$�v�,�PX�Z`�+a�+a�(�D��N�D��L��"�"�4��x��H�H�Hr=���c���������������������� �t�����������|d<���d}t����������|d������������������������������||������������������������t����������k����r&||����������������������|d���������t ����������||������������z ��}t����������|d������������������������������||������������������������t����������k����r&||����������������������|d���������t����������||������������z ��}||����������������������|t����������||������������z���S�)Nr���r=���rX��r����) � GNU_MAGICr5���r4���r����_create_gnu_long_header�GNUTYPE_LONGLINKr����GNUTYPE_LONGNAMEr���r���)r����r���r9���r:���rb���s��� r;���r���zTarInfo.create_gnu_header��s������� �!��W� ����t�J��&�&�x��8�8�9�9�K�G�G��4�/�/��Z�0@�BR�T\�^d�e�e�e�C��t�F�|�"�"�8�V�4�4�5�5��C�C��4�/�/��V��>N�PX�Z`�a�a�a�C��T�(�(��z�8�V�L�L�L�Lr=���c���������������������� �t�����������|d<���|�j�������������������������������������������}ddt����������fddt����������fddfD�]h\��}}}||v�r� �||������������������������������dd �������������n#�t����������$�r�||���������||<���Y��@w�xY�wt����������||���������������������|k����r||���������||<����id D�]u\��}}d}||���������} t����������| t����������������������} | rt����������| ������������n| }d|cxk����rd |dz ��z��k�����s n�d||<���d}n | r|||<���d}|r||vrt����������| ������������||<����v|r|����������������������|t����������|������������}nd}||����������������������|t����������dd������������z���S�)Nr���r����r&���rX��r'���)r,���r,���� ���)r-���r-���r���rI���rJ���))r*���rG���)r+���rG���)r(�������)r)���r���Fr���rG���r$���Tr=���r����)r���r{��r���r���r���r4����UnicodeEncodeErrorr5���� isinstance�float�round�str�_create_pax_generic_header�XHDTYPEr���r���) r����r���r9���r{��r�����hnamer8���rX���� needs_pax�val�val_is_float�val_intrb���s ��� r;���r���zTarInfo.create_pax_header��s������ ��$��W� ��&�+�+�-�-�� ����-� �J��/T�&�(>�$@�� 0�� 0��D�%�����#�#�� ��T� �!�!�'�8�4�4�4�4��%�� �� �� �%)�$�Z��E�"��� ������4��:����'�'�%)�$�Z��E�"���R�� -�� -�L�D�&��I��t�*�C�%�c�5�1�1�L�$0�9�e�C�j�j�j�c�G���3�3�3�3�!��� �"3�3�3�3�3���T� � � � ��� !��%��T� � � ���� -�T��4�4�$'��H�H��D�!����� ��1�1�+�w��Q�Q�C�C��C��T�(�(��|�W�i�P�P�P�Ps����A$�$A<�;A<c������������������<����� �|�����������������������|t����������d������������S�)Nr1���)r����XGLTYPE)�clsr{��s��� r;����create_pax_global_headerz TarInfo.create_pax_global_headerO��s������ ��-�-�k�7�G�L�L�Lr=���c���������������������� �|����������������������d������������}t����������dt����������|������������������������D�]�}d���������������������|d�|����������������������}d���������������������||d�����������������������}t����������|���������������������||������������������������t ����������k����r.t����������|���������������������||������������������������t����������k����r�n��t����������d�������������||fS�)NrU��r$���zname is too long)�splitrM���r5���r����r4���� LENGTH_PREFIXr���r3���)r����r����r9���r:���� componentsrR���r���s��� r;���r���zTarInfo._posix_split_nameU��s������� ���Z�Z��_�_� ��q�#�j�/�/�*�*�� 1�� 1�A��X�X�j��!��n�-�-�F��8�8�J�q�r�r�N�+�+�D��6�=�=��6�2�2�3�3�}�D�D�����H�f�5�5�6�6�+�E�E�����/�0�0�0��t�|�r=���c���������������������� �|�����������������������d������������t����������t����������fv�}|rKt����������|�����������������������dd������������d|������������}t����������|�����������������������dd������������d|������������}n$t ����������dd||������������}t ����������dd||������������}|�����������������������dt ����������������������}|�t ����������d�������������t ����������|�����������������������dd������������d ||������������t����������|�����������������������d d������������dz��d|������������t����������|�����������������������dd������������d|������������t����������|�����������������������d d������������d|������������t����������|�����������������������dd������������d|������������t����������|�����������������������dd������������d|������������d|t ����������|�����������������������dd������������d ||������������|�����������������������dt����������������������t ����������|�����������������������dd������������d||������������t ����������|�����������������������dd������������d||������������||t ����������|�����������������������dd������������d||������������g}t����������j ��������dt����������z��d���������������������|������������������������} t����������| t�����������d�����������������������d���������} | d�d����������t����������d| z��d������������z���| dd�����������z���} | S�)Nrx��ry��r���rG���rz��r����zTarInfo.type must not be Noner����r���r����r���r*���r+���r(���r���r)���s��� rX��r���r,���r���r-���r���r���z%dsr=���i����z%06o�rI���i����)�get�CHRTYPE�BLKTYPEr[���r<���r��r3���r���r`���r����r��r����re���rU���)r���rY���r9���r:����has_device_fieldsry��rz���filetype�partsrb���rw��s��� r;���r���zTarInfo._create_headere��s������ ��!�H�H�V�,�,��'�0B�B���� 4��4�8�8�J��2�2�A�v�>�>�H��4�8�8�J��2�2�A�v�>�>�H�H��2�q�(�F�3�3�H��2�q�(�F�3�3�H���8�8�F�G�,�,�����<�=�=�=�� ������$�$�c�8�V�<�<�������#�#�f�,�a��8�8�������"�"�A�v�.�.�������"�"�A�v�.�.�������#�#�R��0�0������!�$�$�b�&�1�1��������R�(�(�#�x��@�@��H�H�W�k�*�*������"�%�%�r�8�V�<�<������"�%�%�r�8�V�<�<��������2�&�&��X�v�>�>� ��$��k�%�)�+�S�X�X�e�_�_�=�=���c�9�*�+�+�.�/�/��2���%�4�%�j�5��F�!2�G�<�<�<�s�4�5�5�z�I��� r=���c����������������������� �t����������t����������|�������������t����������������������\��}}|dk����r|�t����������|z ��t����������z��z ��}�|�S�)Nr���)rj���r5���r��r6���)�payloadrq���rr���s��� r;����_create_payloadzTarInfo._create_payload���sE������ ��#�3�w�<�<��;�;��� ��q�=�=�� �I�-��4�4�G��r=���c����������������������� �|����������������������||������������t����������z���}i�}d|d<���||d<���t����������|������������|d<���t����������|d<���|����������������������|t ����������||������������|����������������������|������������z���S�)Nz ././@LongLinkr����rx��r(���r���)r4���r6���r5���r���r���r���r���)r���r����rx��r9���r:���r���s��� r;���r���zTarInfo._create_gnu_long_header���s������� ���{�{�8�V�,�,�s�2����&��V����V���4�y�y��V��!��W� ���!�!�$��h��G�G��#�#�D�)�)�*�� *r=���c���������������������� �d}|������������������������������������D�]/\��}} �|���������������������dd��������������#�t����������$�r�d}Y��nw�xY�wd}|r|dz ��}|������������������������������������D�]�\��}}|���������������������d������������}|r|���������������������|d������������}n|���������������������d������������}t����������|������������t����������|������������z���dz���}d x} } �|t����������t ����������| ������������������������z���} | | k����rn| } �)|t����������t ����������| ������������d ������������dz���|z���dz���|z���d z���z ��}��i�}d|d<���||d<���t����������|������������|d<���t����������|d<���|����������������������|t����������d d������������|�� ��������������������|������������z���S�)NFr1���rJ���Tr=���s���21 hdrcharset=BINARY r���r��r���rI������� ����=���� z././@PaxHeaderr����rx��r(���r���r����) r���r4���r���r5���r���rU���r���r���r���r���)r���r{��rx��r9����binary�keywordr����records�lrQ���rB���r���s��� r;���r���z"TarInfo._create_pax_generic_header���s������ ����)�/�/�1�1�� �� �N�G�U� ����W�h�/�/�/�/��%�� �� �� ������ ��������� 1��0�0�G�)�/�/�1�1�� V�� V�N�G�U��n�n�W�-�-�G��� .�����X�/@�A�A������W�-�-���G���s�5�z�z�)�A�-�A��I�A�� ���C��F�F���O����6�6���� � � �u�S��V�V�W�-�-��4�w�>��E��M�PU�U�U�G�G����'��V����V���7�|�|��V��#��W� ���!�!�$��g�y�I�I��#�#�G�,�,�-�� -s����5�A�Ac����������������������� �t����������|������������dk����rt����������d�������������t����������|������������t����������k����rt����������d�������������|���������������������t ����������������������t����������k����rt ����������d�������������t����������|dd����������������������}|t����������|������������vrt����������d��������������|���������������}t����������|dd����������||������������|_��������t����������|dd ����������������������|_��������t����������|d d ����������������������|_ ��������t����������|d d����������������������|_��������t����������|dd����������������������|_��������t����������|dd����������������������|_��������||_��������|dd ����������|_��������t����������|d d����������||������������|_��������t����������|dd����������||������������|_��������t����������|dd����������||������������|_��������t����������|dd����������������������|_��������t����������|dd����������������������|_��������t����������|dd����������||������������}|j��������t0����������k����r&|j�����������������������������d������������rt4����������|_��������|j��������t6����������k����r�d}g�}t9����������d������������D�]h} �t����������|||dz�������������������������} t����������||dz���|dz�������������������������}n#�t:����������$�r�Y��n!w�xY�w|���������������������| |f�������������|dz ��}�it?����������|d���������������������}t����������|dd����������������������} ||| f|_ ��������|�!����������������������������������r|j���������"��������������������d������������|_��������|r |j��������tF����������vr|dz���|j��������z���|_��������|S�)Nr���zempty headerztruncated headerzend of file header��������zbad checksumr����l����t����|�����������i��i ��i)��iI��iQ��iY��i���rU��i���r����r�������i���i���i���)$r5���r����r��r�����countr6���r����rS���re���rP���rC���r����r����r*���r+���r(���r)���rw��rx��rX��r,���r-���ry��rz���AREGTYPEr����r����GNUTYPE_SPARSErM���r3���r�����boolr|��ra���rstrip� GNU_TYPES)r���rb���r9���r:���rw���objr���r�����structsrR���r���numbytes� isextended�origsizes��� r;����frombufzTarInfo.frombuf���sI����� ��s�8�8�q�=�=�"�>�2�2�2��s�8�8�y� � �&�'9�:�:�:��9�9�S�>�>�Y�&�&� �!5�6�6�6��S��S��\�"�"����c�*�*�*�*�$�^�4�4�4��c�e�e���s�1�S�5�z�8�V�4�4����s�3�s�7�|�$�$����c�#�c�'�l�#�#����c�#�c�'�l�#�#����s�3�s�7�|�$�$�����C��G��%�%�� ��� ��s�3�w�<����3�s�3�w�<��6�:�:�����C��G��h��7�7�� ���C��G��h��7�7�� ��3�s�3�w�<�(�(����3�s�3�w�<�(�(����S��S��\�8�V�4�4����8�x���C�H�$5�$5�c�$:�$:���C�H� ��8�~�%�%��C��G��1�X�X�� �� ��� ��S��r��\�!2�3�3�F�"�3�s�R�x��b��'8�#9�:�:�H�H��!��������E�E����������1�2�2�2��r� ����c�#�h���J��3�s�3�w�<�(�(�H�#*�J��"A�C����9�9�;�;�� ,��x���s�+�+�C�H���� /�c�h�i�/�/���|�c�h�.�C�H�� s����7J=�= K� Kc����������������������� �|j������������������������������t����������������������}|����������������������||j��������|j��������������������}|j��������������������������������������������t����������z ��|_��������|���������������������|������������S�r����) r����rk���r��r���r9���r:���r����r���_proc_member)r���r2��rb���r���s��� r;����fromtarfilezTarInfo.fromtarfile��sf������ ���o�"�"�9�-�-���k�k�#�w�/���@�@���_�)�)�+�+�i�7�� �����(�(�(r=���c������������������,���� �|�j���������t����������t����������fv�r|����������������������|������������S�|�j���������t����������k����r|����������������������|������������S�|�j���������t����������t����������t����������fv�r|�� ��������������������|������������S�|�� ��������������������|������������S�r����)rx��r���r���� _proc_gnulongr����_proc_sparser���r����SOLARIS_XHDTYPE� _proc_pax� _proc_builtin)r����r2��s��� r;���r���zTarInfo._proc_member1��s������� ���9�)�+;�<�<�<��%�%�g�.�.�.� �Y�.� (� (��$�$�W�-�-�-� �Y�7�G�_�=� =� =��>�>�'�*�*�*��%�%�g�.�.�.r=���c���������������������� �|j��������������������������������������������|�_��������|�j��������}|������������������������������������s|�j��������t ����������vr||����������������������|�j��������������������z ��}||_��������|�� ��������������������|j ��������|j��������|j���������������������|�� ����������������������������������r|�j�����������������������������d������������|�_��������|�S��NrU��)r����r����r/��r_��rx���SUPPORTED_TYPES�_blockr(���r���_apply_pax_infor{��r9���r:���ra��r����r���)r����r2��r��s��� r;���r���zTarInfo._proc_builtin>��s������� ��#�?�/�/�1�1����!���:�:�<�<�� -�4�9�O�;�;��d�k�k�$�)�,�,�,�F����� ���W�0�'�2B�G�N�S�S�S���:�:�<�<�� .�� �(�(��-�-�D�I��r=���c������������������8���� �|j������������������������������|����������������������|�j��������������������������������} �|����������������������|������������}n/#�t ����������$�r"}t ����������t����������|������������������������d��d�}~ww�xY�w|�j��������|_��������|�j ��������t����������k����r!t����������||j��������|j ��������������������|_��������n0|�j ��������t����������k����r t����������||j��������|j ��������������������|_��������|�����������������������������������r|j�����������������������������d������������|_��������|S�r���)r����rk���r���r(���r���r���r����r���r��rx��r���rC���r9���r:���r����r���rX��ra���removesuffix)r����r2��rb����nextr����s��� r;���r���zTarInfo._proc_gnulongT��s����� ���o�"�"�4�;�;�t�y�#9�#9�:�:�� :��#�#�G�,�,�D�D���� :�� :�� :�'��A���/�/�T�9����� :���� ��k����9�(�(�(��C��!1�7�>�B�B�D�I�I� �Y�*� *� *���W�%5�w�~�F�F�D�M���:�:�<�<�� 4�� �.�.�s�3�3�D�I��s����A�� A7�A2�2A7c������������������4���� �|�j���������\��}}}|�`�|r�|j�����������������������������t����������������������}d}t ����������d������������D�]l} �t����������|||dz�������������������������}t����������||dz���|dz�������������������������} n#�t����������$�r�Y��n%w�xY�w|r| r|���������������������|| f�������������|dz ��}�mt����������|d���������������������}|��||�_ ��������|j��������� ����������������������������������|�_��������|�j��������|����������������������|�j ��������������������z���|_��������||�_ ��������|�S�)Nr�������r���r���i���)r|��r����rk���r��rM���rS���r3���r����r���r0��r����r/��r���r(���r��) r����r2��r���r���r���rb���r����rR���r��r���s ��� r;���r���zTarInfo._proc_sparseo��sK����� ��)-�(<�%���X�� ���� (��/�&�&�y�1�1�C��C��2�Y�Y�� �� ��� ��S��r��\�!2�3�3�F�"�3�s�R�x��b��'8�#9�:�:�H�H��!��������E�E�������7�h��7��N�N�F�H�#5�6�6�6��r� ����c�#�h���J���� (�����"�?�/�/�1�1����)�D�K�K�� �,B�,B�B����� ��s����7A<�< B � B c���������������������� �|j������������������������������|����������������������|�j��������������������������������}|�j��������t ����������k����r|j��������}n|j�������������������������������������������}d}d�}g�}t����������|������������|k�����r�||���������dk�����rst����������� ��������������������||������������x}st����������d������������� �t����������|� ��������������������d������������������������}n#�t����������$�r�t����������d�������������w�xY�w|dk�����rt����������d�������������||z���t����������|������������k����rt����������d�������������|���������������������d������������|z���dz ��} ||���������������������d������������dz���| ����������} | ���������������������d������������\��}}} |r|dk����s|| ���������dk����rt����������d�������������|���������������������||| f�������������|dk����r|�| dk����r|j��������}nd }||z ��}t����������|������������|k����r ||���������dk������s|�d }|D�]q\��}}} |����������������������|d d |j��������������������}|t,����������v�r#|����������������������| ||j��������|j��������������������}n|����������������������| d d |j��������������������}|||<����r �|����������������������|������������}n/#�t0����������$�r"}t3����������t5����������|������������������������d��d�}~ww�xY�wd |v�r|����������������������||�������������ndd|v�r|����������������������||�������������nI|���������������������d������������d k����r0|���������������������d������������dk����r|����������������������|||�������������|�j��������t>����������t@����������fv�r~|�!��������������������||j��������|j���������������������|�j"��������|_"��������d|v�rM|j#��������}|�$����������������������������������s|j��������tJ����������vr||���������������������|j��������������������z ��}||_"��������|S�)Nr���rL���r$�������r���r��s ���hdrcharsets���BINARYr1����GNU.sparse.map�GNU.sparse.sizezGNU.sparse.major�1zGNU.sparse.minorrK���r(���)&r����rk���r���r(���rx��r���r{��r���r5����_header_length_prefix_re�matchrP���rN����groupr3���r'��rw���� partitionr����r9����_decode_pax_fieldr:����PAX_NAME_FIELDSr���r���r����r����_proc_gnusparse_01�_proc_gnusparse_00r����_proc_gnusparse_10r���r���r���r��r/��r_��r���)r����r2��rb���r{��r����r9����raw_headersr��r8����header_value_end_offset�keyword_and_value�raw_keyword�equals� raw_valuer���r���r���r����r��s��� r;���r���zTarInfo._proc_pax���sF����� ���o�"�"�4�;�;�t�y�#9�#9�:�:�� ��9����!�-�K�K�!�-�2�2�4�4�K���������#�h�h��n�n��S��T�!1�!1�5�;�;�C��E�E�E�E�� ;�(�)9�:�:�:� ;��U�[�[��^�^�,�,������ ;�� ;�� ;�(�)9�:�:�:� ;�������z�z�(�)9�:�:�:��V�|�c�#�h�h�&�&�(�)9�:�:�:�&+�k�k�!�n�n�v�&=��&A�#� #�E�I�I�a�L�L�1�$4�5L�$L� M��->�-H�-H��-N�-N�*�K������ ;�&�D�.�.�C�8O�4P�TX�4X�4X�(�)9�:�:�:������Y�?�@�@�@���m�+�+��0@�� �)�)�&�/�H�H�&�H��6�M�C�M��#�h�h��n�n��S��T�!1�!1�R����H��/:�� )�� )�*�F�K����,�,�[�'�7��N�$��$�G��/�)�)��.�.�y�(�G�DT���(��(�����.�.�y�'�7���(��(���$)�K�� � � :��#�#�G�,�,�D�D���� :�� :�� :�'��A���/�/�T�9����� :������{�*�*��#�#�D�+�6�6�6�6� �+� -� -��#�#�D�+�6�6�6�6� �_�_�/� 0� 0�C� 7� 7�K�O�O�L^�<_�<_�cf�<f�<f��#�#�D�+�w�?�?�?��9��/�2�2�2�� � ��g�.>���O�O�O��+�D�K���$�$���)���:�:�<�<��5�4�9�O�#C�#C��d�k�k�$�)�4�4�4�F�!'����s$����9"C��C6�8J�� J:�J5�5J:c����������������������� �g�}g�}|D�]�\��}}}|dk����rS �|����������������������t����������|�������������������������������������������������������������B#�t����������$�r�t ����������d�������������w�xY�w|dk����rS �|����������������������t����������|��������������������������������������������������������������#�t����������$�r�t ����������d�������������w�xY�w��t����������t ����������||������������������������|_��������d�S�)Ns���GNU.sparse.offsetrL���s���GNU.sparse.numbytes)r����rN���rA���r3���rP����list�zipr0��)r����r���r ���offsetsr����_r���r���s��� r;���r��zTarInfo._proc_gnusparse_00��s ����� �����!,�� ?�� ?��A�w���.�.�.�?��N�N�3�u�|�|�~�~�#6�#6�7�7�7�7��!��?��?��?�,�-=�>�>�>�?������2�2�2�?��O�O�C������$7�$7�8�8�8�8��!��?��?��?�,�-=�>�>�>�?�����3���3�w��1�1�2�2����s����4A � A$�.4B#�#B=c����������� ������������ �d��|d�������������������������������d������������D���������������}t����������t����������|d�d�d����������|dd�d����������������������������������|_��������d�S�)Nc������������������,�����g�|�]}t����������|��������������S�r����)rN���)�.0�xs��� r;���� <listcomp>z.TarInfo._proc_gnusparse_01.<locals>.<listcomp>��s������K�K�K�Q�#�a�&�&�K�K�Kr=���r����,r%���r$���)r���r��r��r0��)r����r���r{��r0��s��� r;���r��zTarInfo._proc_gnusparse_01��s_������ �K�K�+�.>�"?�"E�"E�c�"J�"J�K�K�K���3�v�c�c��c�{�F�1�4�a�4�L�9�9�:�:����r=���c����������� �������\���� �d�}g�}|j������������������������������t����������������������}|���������������������dd������������\��}}t ����������|������������}t����������|������������|dz��k�����rwd|vr"||j������������������������������t����������������������z ��}|���������������������dd������������\��}}|���������������������t ����������|�������������������������t����������|������������|dz��k������w|j��������������������������������������������|_��������t����������t����������|d�d�d����������|dd�d����������������������������������|_��������d�S�)Nr���r$���r%���)r����rk���r��r���rN���r5���r����r����r/��r��r��r0��)r����r���r{��r2���fieldsr0��rb����numbers��� r;���r��zTarInfo._proc_gnusparse_10��s����� ������o�"�"�9�-�-���i�i��q�)�)�����V�����&�k�k�F�Q�J�&�&��C����w��+�+�I�6�6�6���)�)�E�1�-�-�K�F�C��M�M�#�f�+�+�&�&�&� ��&�k�k�F�Q�J�&�&� �#�?�/�/�1�1����3�v�c�c��c�{�F�1�4�a�4�L�9�9�:�:����r=���c����������������������� �|������������������������������������D�]�\��}}|dk����rt����������|�d|��������������|dk����rt����������|�dt����������|��������������������������B|dk����rt����������|�dt����������|��������������������������g|t����������v�r^|t����������v�r) �t ����������|���������|������������}n#�t ����������$�r�d}Y�nw�xY�w|dk����r|���������������������d������������}t����������|�||���������������|�����������������������������������|�_��������d�S�)NzGNU.sparse.namer&���r���r(���zGNU.sparse.realsizer���rU��) r����setattrrN���� PAX_FIELDS�PAX_NUMBER_FIELDSr3���r���r���r{��)r����r{��r9���r:���r���r���s��� r;���r���zTarInfo._apply_pax_info.��s4����� ��*�/�/�1�1�� .�� .�N�G�U��+�+�+���f�e�,�,�,�,��-�-�-���f�c�%�j�j�1�1�1�1��1�1�1���f�c�%�j�j�1�1�1�1��J�&�&��/�/�/�"� 1�'� :�5� A� A����%��"��"��"� !����"�����f�$�$�!�L�L��-�-�E���g�u�-�-�-��&�+�+�-�-����s����B&�&B5�4B5c������������������~����� � �|����������������������|d������������S�#�t����������$�r�|����������������������||������������cY�S�w�xY�w)NrJ���)rA����UnicodeDecodeError)r����r���r9����fallback_encoding�fallback_errorss��� r;���r��zTarInfo._decode_pax_fieldE��s[������ � D��<�<��(�3�3�3��!�� D�� D�� D��<�<� 1�?�C�C�C�C�C� D���s������ <�<c������������������V����� �t����������|t����������������������\��}}|r|dz ��}|t����������z��S�)Nr$���)rj���r��)r����r���rq���rr���s��� r;���r���zTarInfo._blockM��s9������ ��#�5�)�4�4��� ��� ��a�K�F�� �!�!r=���c������������������ ����� �|�j���������t����������v�S�r����)rx��� REGULAR_TYPESr����s��� r;���r_��z TarInfo.isregV��s������>��y�M�)�)r=���c������������������,����� �|�������������������������������������S�r����)r_��r����s��� r;����isfilezTarInfo.isfileZ��s������>��z�z�|�|�r=���c������������������$����� �|�j���������t����������k����S�r����)rx��r���r����s��� r;���ra��z TarInfo.isdir^���������+��y�G�#�#r=���c������������������$����� �|�j���������t����������k����S�r����)rx���SYMTYPEr����s��� r;���rb��z TarInfo.issymb��s������/��y�G�#�#r=���c������������������$����� �|�j���������t����������k����S�r����)rx���LNKTYPEr����s��� r;���r`��z TarInfo.islnkf��r+��r=���c������������������$����� �|�j���������t����������k����S�r����)rx��r���r����s��� r;����ischrz TarInfo.ischrj��s������2��y�G�#�#r=���c������������������$����� �|�j���������t����������k����S�r����)rx��r���r����s��� r;����isblkz TarInfo.isblkn��s������.��y�G�#�#r=���c������������������$����� �|�j���������t����������k����S�r����)rx���FIFOTYPEr����s��� r;����isfifozTarInfo.isfifor��s������&��y�H�$�$r=���c�����������������������|�j���������d�uS�r����)r0��r����s��� r;����issparsezTarInfo.issparsev��s�������{�$�&�&r=���c������������������:����� �|�j���������t����������t����������t����������fv�S�r����)rx��r���r���r5��r����s��� r;����isdevz TarInfo.isdevy��s������M��y�W�g�x�8�8�8r=���r����)r����)3r���r����r�����dict� __slots__r�����propertyr&����setterr'���r���r���r����r���r���r ���r���r���r���r����classmethodr���r����staticmethodr���r���r���r���r���r���r���r���r���r���r���r��r��r��r���r��r���r_��r)��ra��rb��r`��r1��r3��r6��r8��r:��r����r=���r;���r���r���a��sv������������������ �� �� �,�,� �!�!� ��G�F� ��H�G� � � �� ��-�,� ��$�#� �>��>� �F��F� ���� ��� � ��*�)� � �*�)�! �"�/�.�# �$�5�4�% �&9��9�' �*�.�-�+ �,��$�- �.��$�/ �0��t�1 �I�6�������0�������X��� �[������[���������X����_�!��!���_�!�O��O��O���%�e�e��u�E�������������8�����8�*�H�EV��/��/��/��/�"I��I��I�M��M��M�8Q��8Q��8Q�t��M��M���[�M� ����� ��'��'���\�'�R�������\����*��*���[�*� ��0-��0-���[�0-�d��<��<���[�<�|��)��)���[�)�(/��/��/������,�����6�����8w��w��w�r3��3��3�(;��;��;�;��;��;� .��.��.�.D��D��D�"��"��"�*��*��*������$��$��$�$��$��$�$��$��$�$��$��$�$��$��$�%��%��%�'��'��'�9��9��9��9��9r=���r���c�������������������������e�Zd�Z �dZdZdZdZeZe Z dZeZ eZdZ � � � �d?d�Zedddefd���������������Zed@d ���������������ZedAd���������������ZedAd���������������ZedBd ���������������Zddddd�Zd��Zd��Zd��Zd��ZdCd�ZdDdd�d�ZdEdd�d�Z dFd�Z!d��Z"dGddd �d!�Z#d"��Z$dHddd �d$�Z%d%��Z& �dFd&�Z'd'��Z(d(��Z)d)��Z* � �dIddd*�d+�Z+d,��Z,d-��Z-d.��Z.d/��Z/d0��Z0d1��Z1d2��Z2d3��Z3d4��Z4d5��Z5d6��Z6dJd7�Z7d8��Z8dFd9�Z9d:��Z:d;��Z;d<��Z<d=��Z=d>��Z>dS�)Kr���r���Fr$���Nr����r���c���������������������� �ddddd�}||vrt����������d�������������||�_��������||���������|�_��������|sU|�j��������dk����r-t����������j�����������������������������|������������sd|�_��������d|�_��������t ����������||�j��������������������}d |�_��������n]|�8t����������|d ������������r(t����������|j ��������t����������t����������f������������r|j ��������}t����������|d������������r|j��������|�_��������d|�_��������|rt����������j��������� ��������������������|������������nd�|�_ ��������||�_��������|�||�_��������|�||�_��������|�||�_��������|�||�_��������|�||�_��������| |�_��������| �|�j��������t*����������k����r| |�_��������ni�|�_��������|�||�_��������|�||�_��������| |�_��������d |�_��������g�|�_��������d |�_��������|�j�������������������������������������������|�_��������i�|�_�������� �|�j��������d k����r d�|�_ ��������|��!����������������������������������|�_ ��������|�j��������dk����r� �|�j���������"��������������������|�j��������������������� �|�j���������#��������������������|�������������}|�j���������$��������������������|�������������nY#�tJ����������$�r"�|�j���������"��������������������|�j���������������������Y�n/tL����������$�r"}tO����������t����������|������������������������d��d�}~ww�xY�w��|�j��������dv�rxd|�_��������|�j��������rl|�j���������(��������������������|�j���������)����������������������������������������������}|�j���������*��������������������|�������������|�xj��������tW����������|������������z ��c_��������d�S�d�S�d�S�#��|�j��������s|�j���������,�����������������������������������d|�_����������xY�w)N�rbzr+b�wb�xb�r�����ar����r���!mode must be 'r', 'a', 'w' or 'x'rG��r����Fr����r����Tr�����rG��r����r��)-r3���r�����_moder����r&����exists� bltn_openr����r����r���r����r���rU����abspathr����rY���r3���dereference�ignore_zerosr9���r:���r���r{���debug� errorlevel�copybufsizer�����members�_loadedr����r���inodes�firstmemberr���r����r���r����r����r���r���r���r���rl���r5���r����)r����r����r����r����rY���r3��rN��rO��r9���r:���r{��rP��rQ��rR���modesr����rb���s��� r;���r����zTarFile.__init__���s������ ����T��=�=���u����@�A�A�A��� ��4�[�� ��� $��y�C�������t�(<�(<���� �!�� ���d�j�1�1�G�$�D�������&�!9�!9���7�<�#�u��6�6����|���w��'�'�� *�$�\�� �#�D��-1�;�B�G�O�O�D�)�)�)�t�� ������� �D�K���"�D�L��"�*�D���#� ,�D����$�D�M�����"�t�{�j�'@�'@�*�D���!�D�����D�J��!�(�D�O��'�������������l�'�'�)�)������ ��y�C���#'�� �#'�9�9�;�;�� ��y�C��� :��L�%�%�d�k�2�2�2�:�"&�,�":�":�4�"@�"@����+�+�G�4�4�4�4��)���������)�)�$�+�6�6�6���&��:��:��:�'��A���/�/�T�9�����:���� :���y�O�+�+�#����#��,��,�?�?��@P�@U�@U�@W�@W�X�X�C��L�&�&�s�+�+�+��K�K�3�s�8�8�+�K�K�K�K� �,�+�,��,�� ��#�� %���"�"�$�$�$��D�K����s>����<AL'��4I��L'��)J�1L'��3 J�<J�J�BL'��'*Mc������������������������� �|s|st����������d�������������|dv�rՈ�fd�}g�}t������������j��������|�������������D�]�}t��������������j��������|���������������������} |�|�����������������������������������} ��| |d|fi�|��c�S�#�t ����������t����������f$�r<}|���������������������d|��d|���������������|�|���������������������| �������������Y�d�}~��d�}~ww�xY�wd� ��������������������|������������}t����������d |����������������d |v�rc|� ��������������������d d������������\��} }| pd} |pd}|��j��������v�rt��������������j��������|���������������������} nt ����������d |z����������������| || |fi�|��S�d|v�rw|� ��������������������dd������������\��} }| pd} |pd}| dvrt����������d�������������t����������|| |||������������} ����|| |fi�|��}n#��|��������������������������������������xY�wd|_ ��������|S�|dv�r���j��������|||fi�|��S�t����������d�������������)Nznothing to open)r�����r:*c������������������&�������j���������|����������dk����S�)N�taropen)� OPEN_METH)r����r���s��� �r;����not_compressedz$TarFile.open.<locals>.not_compressed3��s��������}�X�.�)�;�;r=���)�keyr����z - method z: � z'file could not be opened successfully: �:r$���r����r�����|r����zmode must be 'r' or 'w'FrI��zundiscernible mode)r3����sortedr\��rx���r����r���r ���r����r����r����r���r����r����r����r[��)r���r����r����r����rp����kwargsr]��� error_msgsr�����func� saved_posr�����error_msgs_summary�filemode�streamr����s���` r;���r���zTarFile.open ��s�������! �F��� 0�G�� 0��.�/�/�/��<��� <�� <�� <�� <�� <��J�"�3�=�n�E�E�E�� �� ���s�C�M�(�$;�<�<���&� '�����I���4��c�7�=�=�f�=�=�=�=�=��!�#3�4��������%�%�&C�(�&C�&C�a�&C�&C�D�D�D��*����Y�/�/�/��H�H�H�H����� ���� �"&���:�!6�!6���[�GY�[�[�\�\�\� �D�[�[�!%���C��!3�!3��H�h���3�H��(�5�H���3�=�(�(��s�C�M�(�$;�<�<���&�'D�x�'O�P�P�P��4��h��:�:�6�:�:�:� �D�[�[�!%���C��!3�!3��H�h���3�H��(�5�H��z�)�)� �!:�;�;�;��T�8�X�w��H�H�F� ��C��h��9�9�&�9�9���� �����������!�A�M��H� �_� $� $��3�;�t�T�7�=�=�f�=�=�=��-�.�.�.s$����+ A8�8C� 2C���C�"F.��.Gc������������������@����� �|dvrt����������d��������������|�|||fi�|��S�)NrF��rH��)r3���)r���r����r����r����rc��s��� r;���r[��zTarFile.taropeng��s>������ ��+�+�+��@�A�A�A��s�4��w�1�1�&�1�1�1r=���r����c����������������������� �|dvrt����������d������������� �ddlm}�n#�t����������$�r�t ����������d������������d��w�xY�w ��|||dz���||������������}n+#�t ����������$�r}|�|dk����rt ����������d������������|���d�}~ww�xY�w ��|�j��������|||fi�|��}nR#�t ����������$�r0}|������������������������������������|dk����rt ����������d������������|���d�}~w�|��������������������������������������xY�wd |_ ��������|S�) N�r����r����r���mode must be 'r', 'w' or 'x'r���)�GzipFilezgzip module is not availablers���r����r����F) r3����gziprn��r����r ���r����r���r[��r����r����) r���r����r����r����� compresslevelrc��rn��r����r����s ��� r;����gzopenzTarFile.gzopeno��sX����� ����&�&��;�<�<�<� M�%�%�%�%�%�%�%���� M�� M�� M�"�#A�B�B��L� M���� ��h�t�T�C�Z���H�H�G�G���� �� �� ��"�t�s�{�{�� 1�2�2��9������ ���� ����D�$��:�:�6�:�:�A�A���� �� �� ��M�M�O�O�O��s�{�{�� 1�2�2��9������ ��M�M�O�O�O������� ��s7������8�A�� A6�A1�1A6�:B�� C�+C���Cc������������������~���� �|dvrt����������d������������� �ddlm}�n#�t����������$�r�t ����������d������������d��w�xY�w�||p|||�������������} ��|�j��������|||fi�|��}nY#�t����������t����������f$�r0}|������������������������������������|dk����rt����������d������������|���d�}~w�|��������������������������������������xY�wd |_ ��������|S�) Nrl��rm��r���)�BZ2Filer����)rp��r����znot a bzip2 fileF)r3���r����rs��r����r ���r[��r�����EOFErrorr����r���r����) r���r����r����r����rp��rc��rs��r����r����s ��� r;����bz2openzTarFile.bz2open���s����� ����&�&��;�<�<�<� L�#�#�#�#�#�#�#���� L�� L�� L�"�#@�A�A�t�K� L������'�'�/�T�4�}�M�M�M�� ����D�$��:�:�6�:�:�A�A����"�� �� �� ��M�M�O�O�O��s�{�{�� 2�3�3��:������ ��M�M�O�O�O������� ��s ������8�A��B3�.+B�B3c������������������x���� �|dvrt����������d������������� �ddlm}m}�n#�t����������$�r�t����������d������������d��w�xY�w�||p|||�������������} ��|�j��������|||fi�|��}nT#�|t����������f$�r0} |������������������������������������|dk����rt����������d������������| ���d�} ~ w�|��������������������������������������xY�wd |_ ��������|S�) Nrl��rm��r���)�LZMAFiler����r����)�presetr����znot an lzma fileF)r3���r����rw��r����r����r ���r[��rt��r����r���r����) r���r����r����r����rx��rc��rw��r����r����r����s ��� r;����xzopenzTarFile.xzopen���s����� ����&�&��;�<�<�<� M�0�0�0�0�0�0�0�0�0���� M�� M�� M�"�#A�B�B��L� M������(�7�?�d�D��@�@�@�� ����D�$��:�:�6�:�:�A�A���8�$�� �� �� ��M�M�O�O�O��s�{�{�� 2�3�3��:������ ��M�M�O�O�O������� ��s ������:�A��B0�++B�B0r[��rq��ru��ry��)r����r����r����r����c����������������������� �|�j���������rd�S�d|�_��������� �|�j��������dv�r�|�j�����������������������������t����������t ����������dz��z���������������|�xj��������t ����������dz��z ��c_��������t����������|�j��������t����������������������\��}}|dk����r*|�j�����������������������������t����������t����������|z ��z���������������|�j ��������s|�j��������� �����������������������������������d�S�d�S�#�|�j ��������s|�j��������� �����������������������������������w�w�xY�w)NTrI��r%���r���)r����r����r����rl���r6���r��r��rj���� RECORDSIZEr����r����)r����rq���rr���s��� r;���r����z TarFile.close���s������� ���;�� ��F���� %��y�O�+�+���"�"�3�)�a�-�#8�9�9�9���� �A� �.����%+�4�;� �$C�$C�!�� ��q�=�=��L�&�&�s�j�9�.D�'E�F�F�F��#�� %���"�"�$�$�$�$�$� %�� %��4�#�� %���"�"�$�$�$�$� %���s����BC��#C2c����������������������� �|�����������������������|���������������������d������������������������}|�t����������d|z���������������|S�)NrU��zfilename %r not found)� _getmemberr����KeyError)r����r����r3��s��� r;���� getmemberzTarFile.getmember���sD������ � ��/�/�$�+�+�c�"2�"2�3�3���?��2�T�9�:�:�:��r=���c������������������p����� �|��������������������������������������|�j��������s|�������������������������������������|�j��������S�r����)�_checkrT���_loadrS��r����s��� r;���� getmemberszTarFile.getmembers���s5������ �� ��� � � ��|�� ��J�J�L�L�L��|�r=���c������������������@����� �d��|�������������������������������������D���������������S�)Nc�����������������������g�|�] }|j����������� S�r����r���)r��r3��s��� r;���r��z$TarFile.getnames.<locals>.<listcomp>��s������>�>�>����>�>�>r=���)r���r����s��� r;����getnameszTarFile.getnames���s'������ ��?�>�D�O�O�,=�,=�>�>�>�>r=���c����������������������� �|�����������������������d�������������|�|j��������}|�|}t����������j�����������������������������|������������\��}}|���������������������t����������j��������d������������}|���������������������d������������}|������������������������������������}|�|_ ��������|�1|�j ��������st����������j��������|������������}n;t����������j��������|������������}n&t����������j ��������|�����������������������������������������������}d}|j��������}t����������j��������|������������ri|j��������|j��������f} |�j ��������s:|j��������dk����r/| |�j��������v�r&||�j��������| ���������k����rt*����������} |�j��������| ���������}n�t,����������} | d���������r ||�j��������| <���n�t����������j��������|������������rt0����������} n�t����������j��������|������������rt4����������} njt����������j��������|������������rt8����������} t����������j��������|������������}n:t����������j��������|������������rt>����������} nt����������j ��������|������������rtB����������} nd�S�||_��������||_"��������|j#��������|_$��������|j%��������|_&��������| t,����������k����r |j'��������|_(��������nd|_(��������|j)��������|_*��������| |_+��������||_,��������tZ����������r6 �t[����������j.��������|j$��������������������d���������|_/��������n#�t`����������$�r�Y�nw�xY�wtb����������r6 �tc����������j2��������|j&��������������������d���������|_3��������n#�t`����������$�r�Y�nw�xY�w| t>����������tB����������fv�rfti����������t����������d������������rQti����������t����������d������������r<t����������j5��������|j6��������������������|_7��������t����������j8��������|j6��������������������|_9��������|S�)N�awxrU��r����r$���r����major�minor):r���r����r����r&���� splitdriver����r[��r\��r3��r2��rN���lstat�stat�fstat�fileno�st_mode�S_ISREG�st_ino�st_dev�st_nlinkrU��r/��r���S_ISDIRr����S_ISFIFOr5���S_ISLNKr-���readlink�S_ISCHRr����S_ISBLKr���r�����st_uidr*����st_gidr+����st_sizer(����st_mtimer)���rx��rX���pwd�getpwuidr,���r~���grp�getgrgidr-���r����r����st_rdevry��r���rz��)r����r�����arcnamer�����drvr3���statresrX���stmd�inoderx��s��� r;���� gettarinfozTarFile.gettarinfo��sB����� �� ���E��������<�D� ��?��G��w�)�)�'�2�2���W��/�/�"�&�#�.�.���.�.��%�%����,�,�.�.�������?��#�� (��(�4�.�.����'�$�-�-����h�w�~�~�/�/�0�0�G�������<����� ��^�W�^�4�E��#�� 1��(8�1�(<�(<��T�[�(�(�W���E�8J�-J�-J�����;�u�-��������8��1�)0�D�K��&�� �\�$� � �� ��D�D� �]�4� � �� ��D�D� �\�$� � �� ��D��{�4�(�(�H�H� �\�$� � �� ��D�D� �\�$� � �� ��D�D��4���������n����n����7�?�?�"�?�G�L�L��G�L��(�� ����#����� � � #��W�[� 9� 9�!� <�� � ���� �� �� ��� ������ � � #��W�[� 9� 9�!� <�� � ���� �� �� ��� ������G�W�%�%�%��r�7�#�#�� =���G�(<�(<�� =�#%�8�G�O�#<�#<�� �#%�8�G�O�#<�#<�� ��s$����>$J#��# J0�/J0�;$K �� K-�,K-T)rS��c��������������������� �|��������������������������������������|�|�}|D��]�}|�r|j���������t����������d�������������n&t����������t����������j��������|j���������������������������������t����������|j��������p|j���������d|j��������p|j�����������������������|� ����������������������������������s|� ����������������������������������r"t����������dd|j��������|j��������fz��z���������������nt����������d|j ��������z���������������|j���������t����������d�������������n1t����������dt����������j��������|j��������������������d�d����������z���������������t����������|j��������|�����������������������������������rdnd z����������������|rV|�����������������������������������rt����������d |j��������z����������������|�����������������������������������rt����������d|j��������z����������������t-����������������������������d�S�)Nz ??????????rU��z%10sz%d,%dz%10dz????-??-?? ??:??:??z%d-%02d-%02d %02d:%02d:%02dr����r����z-> zlink to )r���r����r|���r���rh��r,���r*���r-���r+���r1��r3��ry��rz��r(���r)���r����� localtimer����ra��rb��rX��r`��r{���)r�����verboserS��r3��s��� r;���r��zTarFile.listf��s������ � � ��� � � ��?��G��� �� �G��� E��<�'���-�-�-�-��� �g�l� ;� ;�<�<�<��w�}�'C���'C�'C�'.�}�'C���'C�E��F��F��F��=�=�?�?��7�g�m�m�o�o��7���$��(8�'�:J�'K�K�!M��N��N��N��N�� ���� 5�6�6�6��=�(�� 5�6�6�6�6�� =�"&�.���"?�"?����"C�!D��E��E��E�� ���w�}�}���(F���B�G�H�H�H��� ?��=�=�?�?��:����(8� 8�9�9�9��=�=�?�?��?�� �W�-=� =�>�>�>��G�G�G�G�5 �� r=�����filterc���������������������� �|�����������������������d�������������|�|}|�j���������Ct����������j�����������������������������|������������|�j��������k����r|����������������������dd|z���������������d�S�|����������������������d|�������������|����������������������||������������}|�|����������������������dd|z���������������d�S�|�(�||������������}|�|����������������������dd|z���������������d�S�|�����������������������������������rAt����������|d������������5�}|�� ��������������������||�������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�|� ����������������������������������r�|�� ��������������������|�������������|ryt����������t����������j��������|������������������������D�]Y}|�� ��������������������t����������j�����������������������������||������������t����������j�����������������������������||������������||���������������Xd�S�d�S�|�� ��������������������|�������������d�S�) Nr���r%���ztarfile: Skipped %rr$���ztarfile: Unsupported type %r�tarfile: Excluded %rrC��r���)r���r����r����r&���rM���_dbgr���r_��rL���addfilera��rb���listdir�addr����)r����r����r���� recursiver���r3���fs��� r;���r���zTarFile.add���sI����� �� ���E�����?��G���9� �R�W�_�_�T�%:�%:�d�i�%G�%G��I�I�a�.��5�6�6�6��F�� � �!�T������/�/�$��0�0���?��I�I�a�7�$�>�?�?�?��F�����f�W�o�o�G���� � �!�3�d�:�;�;�;�����=�=�?�?�� "��4��&�&�� )�!����W�a�(�(�(� )�� )�� )�� )�� )�� )�� )�� )�� )�� )�� )�� )����� )�� )�� )�� )�� )�� )���]�]�_�_�� "��L�L��!�!�!��� 6��� �4� 0� 0�1�1��6��6�A��H�H�R�W�\�\�$��2�2�B�G�L�L��!�4L�4L�%�f����6��6��6��6� 6�� 6�6��6� � �L�L��!�!�!�!�!s����<D � D$�'D$c������������������h���� �|�����������������������d�������������t����������j��������|������������}|���������������������|�j��������|�j��������|�j��������������������}|�j�����������������������������|�������������|�xj��������t����������|������������z ��c_��������|�j ��������}|��t����������||�j��������|j��������|��������������t����������|j��������t����������������������\��}}|dk����r/|�j�����������������������������t����������t����������|z ��z���������������|dz ��}|�xj��������|t����������z��z ��c_��������|�j�����������������������������|�������������d�S�)Nr���)rp���r���r$���)r���r���r���rY���r9���r:���r����rl���r��r5���rR��ri���r(���rj���r��r6���rS��r����)r����r3��r����rb���rp���rq���rr���s��� r;���r���zTarFile.addfile���s����� � � ���E�����)�G�$�$���m�m�D�K�����D�D������3�������s�3�x�x����� ��������w�|�W�M�M�M�M� &�w�|�Y� ?� ?��F�I��1�}�}���"�"�3�)�i�*?�#@�A�A�A��!����K�K�6�I�-�-�K�K�����G�$�$�$�$�$r=���c������������������������|�6|�j���������}|�t����������S�t����������|t����������������������rt ����������d�������������|S�t����������|������������r|S� �t����������|���������S�#�t����������$�r�t����������d|�d�������������d��w�xY�w)NzrString names are not supported for TarFile.extraction_filter. Use a function such as tarfile.data_filter directly.zfilter z not found) �extraction_filterrm��r���r���� TypeError�callable�_NAMED_FILTERSr~��r3���)r����r���s��� r;����_get_filter_functionzTarFile._get_filter_function���s��������>��+�F��~�+�+��&�#�&�&�� 7��6�7��7��7���M��F���� ��M� G�!�&�)�)���� G�� G�� G��;�v�;�;�;�<�<�$�F� G���s����A��A7�.)� numeric_ownerr���c�����������������4���� �g�}|�����������������������|������������}|�|�}|D�]u}|����������������������|||������������\��}} |��|�����������������������������������r|���������������������| �������������|����������������������|||������������������������������������||���������������v|���������������������d��d��������������|D��]g} � ��|| |������������}n:#�t����������$�r-} |����������������������| t����������| �������������������������Y�d�} ~ �Dd�} ~ ww�xY�w|�|����������������������| d��������������et����������j �����������������������������||j��������������������} �t����������j ��������|������������}n&#�t����������$�r�|����������������������|d�������������Y���w�xY�wt����������j��������|j��������������������s|����������������������|d���������������|����������������������|||��������������|����������������������||�������������|����������������������||���������������<#�t*����������$�r } |����������������������| �������������Y�d�} ~ ��ad�} ~ ww�xY�wd�S�) N)� set_attrsr����filter_functionc�����������������������|�j���������S�r����r���)rG��s��� r;����<lambda>z$TarFile.extractall.<locals>.<lambda> ��s������q�v��r=���T)r^���reversezexcluded by filter�missingznot a directory)r���)r����_get_extract_tarinfora��r�����_extract_one�sort�_FILTER_ERRORS�_log_no_directory_fixup�reprr����r&���r����r����r����FileNotFoundErrorr���r���r����chown�utime�chmodr����_handle_nonfatal_error)r����r&���rS��r���r����directoriesr���re��r3��� unfiltered�exc�dirpathr���r����s��� r;���� extractallzTarFile.extractall���s������ �����3�3�F�;�;���?��G��� ?�� ?�F�"&�";�";����#/��#/��G�Z�����}�}���� /���"�"�:�.�.�.����g�t�7�=�=�?�?�7J�,9�.=�� �� ?�� ?�� ?�� ?� � ���-�-�t��<�<�<��&�� /�� /�J� /��-�o�j�$�?�?�G�G��%��������0�0��T�#�Y�Y�G�G�G��H�H�H�H�����������?��0�0��1E�G��G��G���'�,�,�t�W�\�:�:����H�W�-�-�E�E��(��������0�0��)�D�D�D��H�������|�E�M�2�2�����0�0��:K�L�L�L��� � �7�G�=� �I�I�I�� � �7�G�,�,�,�� � �7�G�,�,�,�,���� /�� /�� /��+�+�A�.�.�.�.�.�.�.�.����� /����7 /�� /sm����4C��G+� C8�#C3�.G+�3C8�8G+�%G+�:E�G+� E2�/G+�1E2�22G+�%AG+�+ H�5H�Hc������������������J�����|�����������������������dd|j���������d|�d��������������d�S�)Nr%���z!tarfile: Not fixing up directory z (�))r���r����)r����re���reasons��� r;���r���zTarFile._log_no_directory_fixup/ ��s:������� � �!�!��;�;�;����(�� )�� )�� )�� )�� )r=���r����c���������������������� �|�����������������������|������������}|����������������������|||������������\��}}|�|����������������������||||�������������d�S�d�S�r����)r���r���r���) r����re��r&���r���r���r���r���r3��r���s ��� r;����extractzTarFile.extract3 ��sk������ ���3�3�F�;�;��"�7�7��O�T�+��+���������g�t�Y� �F�F�F�F�F���r=���c������������������"���� �t����������|t����������������������r|����������������������|������������}n|}d�} ��|||������������}nZ#�t����������t����������f$�r}|����������������������|�������������Y�d�}~n/d�}~wt����������$�r}|����������������������|�������������Y�d�}~nd�}~ww�xY�w|� |����������������������dd|j ��������z���������������dS�|� ����������������������������������r>t����������j��������|������������}t����������j �����������������������������||j��������������������|_��������||fS�)Nr%���r���)NN)r���r���r��r����r9���_handle_fatal_errorr���r���r���r����r`��r���r����r&���r����rX��r}��)r����re��r���r&���r����filteredr����s��� r;���r���zTarFile._get_extract_tarinfoG ��sA����� ���f�c�"�"�� �����/�/�J�J��J��� +�&��z�4�8�8�H�H����%�� (�� (�� (��$�$�Q�'�'�'�'�'�'�'�'������� +�� +�� +��'�'��*�*�*�*�*�*�*�*����� +�������I�I�a�/�*�/�A�B�B�B��:���>�>���� J��y��*�*�H�$&�G�L�L��x�7H�$I�$I�H�!���#�#s!����?��B�A*�* B�7B�Bc������������������Z���� �|�����������������������d������������� �|����������������������|t����������j�����������������������������||j��������������������||||��������������d�S�#�t����������$�r }|����������������������|�������������Y�d�}~d�S�d�}~wt����������$�r }|�� ��������������������|�������������Y�d�}~d�S�d�}~ww�xY�w)Nr����)r���r���r����extraction_root) r����_extract_memberr����r&���r����r����r����r���r���r���)r����r3��r&���r���r���r���r����s��� r;���r���zTarFile._extract_onee ��s������� � � ���C���� +�� � ��"�'�,�,�t�W�\�*J�*J�+4�/<�1@�15� � !�� 7�� 7�� 7�� 7�� 7�� ��� (�� (�� (��$�$�Q�'�'�'�'�'�'�'�'�'������� +�� +�� +��'�'��*�*�*�*�*�*�*�*�*����� +���s#����>A�� B*�"A=�= B*� B%�%B*c������������������R����� �|�j���������dk����r��|����������������������dd|z���������������d�S�)Nr$����tarfile: %s)rQ��r����r����r����s��� r;���r���zTarFile._handle_nonfatal_errory ��s4������K��?�Q�����I�I�a���*�+�+�+�+�+r=���c������������������D���� �|�j���������dk����r��t����������|t����������������������rO|j��������� |����������������������dd|j��������z���������������d�S�|����������������������dd|j���������d|j�����������������������d�S�|����������������������ddt ����������|������������j���������d|���������������d�S�)Nr���r$���r���z tarfile: rv���)rQ��r���r�����filenamer����strerrorrx��r���r���s��� r;���r���zTarFile._handle_fatal_error� ��s�������?��?�Q���� ��7� #� #�� C��z�!�� � �!�]�Q�Z�7�8�8�8�8�8�� � �!�!�����Q�Z�Z�H�I�I�I�I�I��I�I�a�a�T�!�W�W�-=�-=�-=�q�q�A�B�B�B�B�Br=���c����������������������� �|�����������������������d�������������t����������|t����������������������r|����������������������|������������}n|}|�����������������������������������s|j��������t����������vr|����������������������|�|������������S�|�����������������������������������s|� ����������������������������������rQt����������|�j ��������t����������������������rt����������d�������������|�� ��������������������|����������������������|������������������������S�d�S�)Nr����z'cannot extract (sym)link as file object)r���r���r���r��r_��rx��r���� fileobjectr`��rb��r����r����r ����extractfile�_find_link_target)r����re��r3��s��� r;���r���zTarFile.extractfile� ��s������� �� ���C�����f�c�"�"�� ��n�n�V�,�,�G�G��G��=�=�?�?�� �g�l�/�A�A��?�?�4��1�1�1� �]�]�_�_�� �� � ���� ��$�,��0�0�� I��"�"K�L�L�L���'�'��(>�(>�w�(G�(G�H�H�H���4r=����r���r���c�����������������"���� �|����������������������d������������}|���������������������dt����������j��������������������}t����������j�����������������������������|������������}|r3t����������j�����������������������������|������������st����������j��������|�������������|�����������������������������������s|� ����������������������������������r&|�� ��������������������d|j���������d|j�����������������������n|�� ��������������������d|j���������������������|� ����������������������������������r|����������������������||��������������n|�����������������������������������r|����������������������||�������������n�|�����������������������������������r|����������������������||�������������n�|�����������������������������������s|�����������������������������������r|����������������������||�������������n}|�����������������������������������s|� ����������������������������������r|����������������������||||��������������n;|j��������t0����������vr|����������������������||�������������n|����������������������||�������������|rY|����������������������|||�������������|� ����������������������������������s0|����������������������||�������������|����������������������||�������������d�S�d�S�d�S�)NrU��r$���z -> r���)r���r����r����r[��r&���rd��rK���makedirsr`��rb��r���r����rX��r_���makefilera���makedirr6���makefifor1��r3���makedev�makelink_with_filterrx��r����makeunknownr���r���r���)r����r3��� targetpathr���r���r���r���� upperdirss��� r;���r���zTarFile._extract_member� ��sy����� �� �&�&�s�+�+� ��'�'��R�V�4�4� ���G�O�O�J�/�/� ��� #�R�W�^�^�I�6�6�� #�� �K� �"�"�"��=�=�?�?�� '�g�m�m�o�o�� '��I�I�a�w�|�|�|�W�5E�5E�F�G�G�G�G��I�I�a���&�&�&��=�=�?�?�� /��M�M�'�:�.�.�.�.� �]�]�_�_�� /��L�L��*�-�-�-�-� �^�^� � �� /��M�M�'�:�.�.�.�.� �]�]�_�_�� /�� � ���� /��L�L��*�-�-�-�-� �]�]�_�_�� /�� � ���� /��%�%��� /� /�� &�� 1�� 1�� 1�� 1���\�� 0� 0����W�j�1�1�1�1��M�M�'�:�.�.�.��� 0��J�J�w� �M�:�:�:��=�=�?�?�� 0�� � �7�J�/�/�/�� � �7�J�/�/�/�/�/� 0�� 0� 0�� 0r=���c������������������������ � �|j����������t����������j��������|�������������d�S�t����������j��������|d�������������d�S�#�t����������$�r$�t����������j�����������������������������|������������s��Y�d�S�w�xY�w)Ni���)r����r�����mkdir�FileExistsErrorr&���ra���r����r3��r���s��� r;���r���zTarFile.makedir� ��s������� � ��|�#����$�$�$�$�$�����U�+�+�+�+�+���� �� �� ��7�=�=��,�,�� �� �� �� � ���s����7��7��*A%�$A%c����������� ������������ �|�j���������}|���������������������|j���������������������|�j��������}t ����������|d������������5�}|j���������i|j��������D�]2\��}}|���������������������|�������������t ����������|||t����������|��������������3|���������������������|j���������������������|� �����������������������������������nt ����������|||j��������t����������|�������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�)NrD��) r����r����r/��rR��rL��r0��ri���r���r(����truncate)r����r3��r����sourcerp����targetr��r(���s��� r;���r���zTarFile.makefile� ��s8����� �������G�'�(�(�(��"�� �z�4� (� (�� N�F��~�)�$+�N��J��J�L�F�D��K�K��'�'�'�����i��I�I�I�I����G�L�)�)�)����!�!�!�!��F�F�G�L�)�W�M�M�M� N�� N�� N�� N�� N�� N�� N�� N�� N�� N�� N�� N����� N�� N�� N�� N�� N�� Ns����BC�C�Cc������������������p����� �|�����������������������||�������������|����������������������dd|j��������z���������������d�S�)Nr$���z9tarfile: Unknown file type %r, extracted as regular file.)r���r���rx��r���s��� r;���r���zTarFile.makeunknown ��sT������ �� � � �g�z�*�*�*�� � �!��2�4;�L�A�� B�� B�� B�� B�� Br=���c������������������x����� �t����������t����������d������������rt����������j��������|�������������d�S�t����������d�������������)N�mkfifozfifo not supported by system)r����r����r��r���r���s��� r;���r���zTarFile.makefifo ��s>������ ��2�x� � �� ?��I�j�!�!�!�!�!��=�>�>�>r=���c������������������\���� �t����������t����������d������������rt����������t����������d������������st����������d�������������|j��������}|�d}|�����������������������������������r|t ����������j��������z��}n|t ����������j��������z��}t����������j��������||t����������j ��������|j ��������|j���������������������������������d�S�)N�mknodr���z'special devices not supported by systemrW��)r����r����r���r����r3��r����S_IFBLK�S_IFCHRr��r���ry��rz��)r����r3��r���r����s��� r;���r���zTarFile.makedev ��s������� ��r�7�#�#�� J�7�2�y�+A�+A�� J��H�I�I�I��|���<��D��=�=�?�?�� !��D�L� �D�D��D�L� �D� ���T���G�,�g�.>�?�?� A�� A�� A�� A�� Ar=���c������������������2�����|�����������������������||d�d�������������S�r����)r���r���s��� r;����makelinkzTarFile.makelink% ��s�������(�(��*�d�D�I�I�Ir=���c���������������������� �d} �|������������������������������������rOt����������j�����������������������������|������������rt����������j��������|�������������t����������j��������|j��������|�������������d�S�t����������j�����������������������������|j��������������������rt����������j ��������|j��������|�������������d�S�n#�t����������$�r�d}Y�nw�xY�w �|����������������������|������������}n!#�t����������$�r�|rt����������d������������d����w�xY�w|�|}nG|�t����������d������������� ��|||������������}n(#�t����������$�r}t����������||j��������������������|�d�}~ww�xY�w|�|����������������������||||��������������d�S�d�S�)NFTz%unable to resolve link inside archivez[makelink_with_filter: if filter_function is not None, extraction_root must also not be Noner���)rb��r����r&����lexists�unlink�symlinkrX��rK��r}���link�symlink_exceptionr���r~��r���r���rR��r����r���) r����r3��r���r���r����keyerror_to_extracterrorr���r����causes ��� r;���r���zTarFile.makelink_with_filter( ��s������ ��$)� � ,��}�}���� ��7�?�?�:�.�.��*��I�j�)�)�)�� �7�+�Z�8�8�8����7�>�>�'�"6�7�7����G�G�0�*�=�=�=��F����!�� ,�� ,�� ,�'+�$�$�$� ,���� ��/�/��8�8�J�J���� �� �� �'�� �"�;�=��=�BF�G��� ������"�!�H�H��&�"�>�?��?��?� M�*�?�:��G�G����!�� M�� M�� M�'����A�A�u�L����� M������� � ��:�1@�1@�� !�� B�� B�� B�� B�� B�� �s<����A!B)��(>B)��)B8�7B8�<C��C0� D�� D<�!D7�7D<c���������������������� �t����������t����������d�������������r*t����������j����������������������dk�����r|j��������}|j��������}|s~ �t ����������r&|j��������rt����������j��������|j��������������������d���������}n#�t����������$�r�Y�nw�xY�w �t����������r&|j ��������rt����������j��������|j ��������������������d���������}n#�t����������$�r�Y�nw�xY�w|�d}|�d} �|�����������������������������������r-t����������t����������d������������rt����������j ��������|||�������������d�S�t����������j��������|||�������������d�S�#�t����������$�r}t!����������d������������|�d�}~ww�xY�wd�S�d�S�)N�geteuidr���r%���r?����lchownzcould not change owner)r����r����r��r+���r*���r���r-����getgrnamr~��r���r,����getpwnamrb��r��r���r����r���)r����r3��r���r����g�ur����s��� r;���r���z TarFile.chownZ ��s������ � ��2�y�!�!�� D�b�j�l�l�a�&7�&7���A���A� �� ����;�w�}��;��L���7�7��:������������D��������;�w�}��;��L���7�7��:������������D������y����y��� D��=�=�?�?��/�w�r�8�'<�'<��/��I�j�!�Q�/�/�/�/�/��H�Z��A�.�.�.�.�.���� D�� D�� D�"�#;�<�<�!�C����� D����1 D�� D�&7�&7sB����-A/��/ A<�;A<��-B.��. B;�:B;�?D ��D �� D?�*D:�:D?c����������������������� �|j����������d�S� �t����������j��������||j����������������������d�S�#�t����������$�r}t ����������d������������|�d�}~ww�xY�w)Nzcould not change mode)r����r����r���r����r���)r����r3��r���r����s��� r;���r���z TarFile.chmod{ ��sc������ ��<���F� ?��H�Z���.�.�.�.�.���� ?�� ?�� ?��6�7�7�Q�>����� ?���s����(�� A�A�Ac����������������������� �|j���������}|�d�S�t����������t����������d������������sd�S� �t����������j��������|||f�������������d�S�#�t����������$�r}t����������d������������|�d�}~ww�xY�w)Nr���z"could not change modification time)r)���r����r����r���r����r���)r����r3��r���r)���r����s��� r;���r���z TarFile.utime� ��s������� �� ���=��F��r�7�#�#�� ��F� L��H�Z�%���0�0�0�0�0���� L�� L�� L��C�D�D�!�K����� L���s����>�� A�A�Ac������������������2���� �|�����������������������d�������������|�j���������|�j��������}d�|�_��������|S�|�j��������|�j�������������������������������������������k����rX|�j��������dk����rd�S�|�j�����������������������������|�j��������dz ���������������|�j�����������������������������d������������st����������d�������������d�} � �|�j��������� ��������������������|�������������}�n�#�t����������$�rL}|�j��������r:|����������������������dd|�j��������|fz���������������|�xj��������t����������z ��c_��������Y�d�}~�iY�d�}~�nYd�}~wt����������$�rs}|�j��������r:|����������������������dd|�j��������|fz���������������|�xj��������t����������z ��c_��������Y�d�}~��|�j��������dk����rt����������t����������|������������������������d��Y�d�}~n�d�}~wt ����������$�r�|�j��������dk����rt����������d������������d��Y�n�t"����������$�r2}|�j��������dk����rt����������t����������|������������������������d��Y�d�}~n~d�}~wt$����������$�r"}t����������t����������|������������������������d��d�}~wt&����������$�rD} �dd�l}t+����������||j��������������������rt����������d |���������������d��|�#�t.����������$�r�|�w�xY�wd�}~ww�xY�w �|�|�j�����������������������������|�������������nd|�_��������|S�) N�rar���r$���rg���Tr%���z0x%X: %sz empty filezzlib error: )r���rV��r��r����r����r����rk���r���r3��r���r����rO��r���r��rP���r���r����r����r����� Exceptionr����r���r����r����rS��r����rT��)r�����mr3��r����r����s��� r;���r���zTarFile.next� ��s6����� �� ���D������'�� �A�#�D���H���;�$�,�+�+�-�-�-�-��{�a����t��L���d�k�A�o�.�.�.��<�$�$�Q�'�'�� :�� 8�9�9�9���� � ��,�2�2�4�8�8����!�� �� �� ��$����I�I�a��t�{�A�.>�!>�?�?�?��K�K�9�,�K�K��H�H�H�H���������������&�� 6�� 6�� 6��$��6��I�I�a��t�{�A�.>�!>�?�?�?��K�K�9�,�K�K��H�H�H�H��[�A�%�%�#�C��F�F�+�+��5��&�%�%�%�%�����#�� <�� <�� <��;�!�#�#�#�L�1�1�t�;��$�#�'�� 6�� 6�� 6��;�!�#�#�#�C��F�F�+�+��5��$�#�#�#�#�����(�� 2�� 2�� 2���A���'�'�T�1������� �� �� ���K�K�K�!�!�T�Z�0�0�� �'�(:�q�(:�(:�;�;��E����"��������G��������� ����� ����L����(�(�(�(��D�L��s`����,C�� I/�<D� I/�&<F�'(F�(I/�> I/�(G4�4 I/�H� I/�,.I� I'�'I*�*I/c���������������������� �|�������������������������������������}d}|�3 �|���������������������|������������}|d�|����������}n#�t����������$�r�d}Y�nw�xY�w|rt����������j�����������������������������|������������}t ����������|������������D�]O}|r|j��������|j��������k����rd}�|r%t����������j�����������������������������|j��������������������}n|j��������}||k����r|c�S��P|rt����������|�������������d�S�)NFT) r����indexr3���r����r&���rc���reversedr��r����) r����r����r3��� normalizerS���skippingr��re���member_names ��� r;���r}��zTarFile._getmember� ��s,����� ���/�/�#�#������� *�� � �g�.�.���"�&�5�&�/���� ��� �� �� �� ���� ������� *��7�#�#�D�)�)�D��w�'�'�� �� �F��� ��>�V�]�2�2�$�H���� *� �g�.�.�v�{�;�;���$�k���{�"�"�� � � ��#���� &��W�%�%�%� &�� &s����;��A � A c������������������H����� � �|�������������������������������������}|�n�d|�_��������d�S�r��)r���rT��)r����r3��s��� r;���r���z TarFile._load� ��s3������ � ��i�i�k�k�G���� ������r=���c����������������������� �|�j���������rt����������d|�j��������j��������z���������������|� |�j��������|vrt����������d|�j��������z���������������d�S�d�S�)Nz%s is closedzbad operation for mode %r)r����r����r4��r���r����)r����r����s��� r;���r���zTarFile._check��sb������ ���;�� D��.�4�>�+B�B�C�C�C���� �� 5� 5��5�� �A�B�B�B���� 5� 5r=���c������������������8���� �|������������������������������������rOd���������������������t����������d�t����������j�����������������������������|j��������������������|j��������f������������������������}d�}n |j��������}|}|����������������������||d�������������}|�t����������d|z���������������|S�)NrU��T)r3��r ��zlinkname %r not found) rb��r����r���r����r&���rd��r����rX��r}��r~��)r����r3��rX���limitre��s��� r;���r���zTarFile._find_link_target��s������� ���=�=�?�?�� ��x�x��t�b�g�o�o�g�l�.K�.K�W�M]�-^� _� _�`�`�H��E�E���'�H��E�����5�D��I�I���>��2�X�=�>�>�>�� r=���c��������������#����4��K���� �|�j���������r|�j��������E�d�{V����d�S�d}|�j���������|������������������������������������}|dz ��}|V��� �|t ����������|�j��������������������k�����r|�j��������|���������}n)|�j���������s |������������������������������������}|s d|�_���������d�S�nd�S�|dz ��}|V����Y)Nr���r$���T)rT��rS��rV��r���r5���)r����r��r3��s��� r;����__iter__zTarFile.__iter__"��s����������� ��<�� ��|�#�#�#�#�#�#�#��F�������'��i�i�k�k�G��Q�J�E��M�M�M� ��s�4�<�(�(�(�(��,�u�-����\�� ��)�)�+�+�����#'�D�L��F������Q�J�E��M�M�M� r=���c������������������X����� �||�j���������k����rt����������|t����������j����������������������d�S�d�S�)N��file)rP��r{���ry����stderr)r�����level�msgs��� r;���r���zTarFile._dbgA��s7������ ��D�J����#�C�J�'�'�'�'�'�'���r=���c������������������.�����|��������������������������������������|�S�r����)r���r����s��� r;���� __enter__zTarFile.__enter__G��s��������� � � ��r=���c�����������������������|�|��������������������������������������d�S�|�j��������s|�j���������������������������������������������d|�_��������d�S�r��)r����r����r����r����)r����rx��r���� tracebacks��� r;����__exit__zTarFile.__exit__K��sD�������<��J�J�L�L�L�L�L���#�� %���"�"�$�$�$��D�K�K�Kr=���) Nr����NNNNNNr���NNNN)r����N)r����Nr����)r����NN)NNN�Tr��r����)r���N)r����T)TFr��)?r���r����r����rP��rN��rO��rQ��r���rY���r ���r9���r:���r���r3��r-��r���r���r����r?��r{��r���r[��rq��ru��ry��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���r���r���r���r}��r���r���r���r(��r���r0��r3��r����r=���r;���r���r���~��s,��������������� �E��K���L���J���F��H� �F��G��J���AE�HL�>B�)-�b��b��b��b�^���#�t�Z��[/��[/��[/���[�[/�z��2��2��2���[�2����������[��@���������[��6���������[��:����� ���I�%��%��%�* �� �� ������?��?��?�a��a��a��a�F$�D��$��$��$��$��$�L1"���1"��1"��1"��1"��1"�f%��%��%��%�2G��G��G�$C/�%��C/��C/��C/��C/��C/�J)��)��)�G���G��G��G��G��G�($��$��$�>�&*�+��+��+��+�(,��,��,� C�� C�� C������@�>B�&+�10�@D�(,�10��10��10��10��10�p �� �� �N��N��N� B��B��B�?��?��?�A��A��A�$J��J��J�0B��0B��0B�dD��D��D�B?��?��?�L��L��L�<��<��<�B&&��&&��&&��&&�P�����C��C��C��C������&�����>(��(��(��������������r=���r���c���������������������� � �t����������|�d������������r:|������������������������������������}t����������|��������������}|����������������������|�������������nt����������|�������������}|������������������������������������dS�#�t ����������$�r�Y�dS�w�xY�w)Nrk���)r����TF)r����r����r���r����r����r���)r����r����r����s��� r;���r���r���Y��s�������� ��4�� � �� ��)�)�+�+�C��T�"�"�"�A��I�I�c�N�N�N�N��T� � �A� ��� � � ��t����������u�u����s����A-A2��2 B��?B�c������������ �������z ����dd�l�}�d}|����������������������|�������������}|���������������������ddddd� �������������|���������������������d dt����������d� �������������|���������������������d�������������}|���������������������dddd��������������|���������������������ddddd��������������|���������������������ddddd��������������|���������������������dd dd!��������������|�����������������������������������}|j��������r|j���������|���������������������d"d#�������������|j ����������|j ��������}t����������|������������r�t����������|d$������������5�}|������������������������������������t����������|�����������������������������������t����������j���������%�������������d�d�d��������������n#�1�swxY�w�Y���|j��������r$t����������d&���������������������|�������������������������d�S�d�S�|���������������������d"d'���������������������|�������������������������d�S�|j����������|j��������}t����������|������������rQt&�������������������������������|d(������������5�}|���������������������|j���������)�������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�|���������������������d"d'���������������������|�������������������������d�S�|j����������Rt)����������|j��������������������d"k����r|j��������d���������}t*����������j��������}nKt)����������|j��������������������d*k����r|j��������\��}}n(|���������������������d"|������������������������������������������������t����������|������������r�t&�������������������������������|d(������������5�}|���������������������||j���������+�������������d�d�d��������������n#�1�swxY�w�Y���|j��������rC|d,k����rd-���������������������|������������} nd.���������������������||������������} t����������| �������������d�S�d�S�|���������������������d"d'���������������������|�������������������������d�S�|j����������|j�����������������������������d������������} t*����������j�����������������������������| ������������\��}}d/d/d0d0d1d1d1d1d2�} || v�rd3| |���������z���nd4}|j��������}t&�������������������������������| |������������5�}|D�]}|���������������������|�������������� �d�d�d��������������n#�1�swxY�w�Y���|j��������r&t����������d5���������������������| �������������������������d�S�d�S�d�S�)6Nr���z3A 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. rY��)r���r%���)r&���r���r���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_argsr���r����exit�testr���r���r���r{���ry���r,��r���rY���r��r���r5���r�����curdir�format_helpr����create�popr&����splitextr���)rB��r7���parserr���argsrm���r�����tfrI��r.���tar_namer���ext�compressions�tar_mode� tar_files� file_names��� r;����mainrW��n��s$������O�O�O�G�K� � $� $�� $� =� =�F� ����k�,��-����/��/��/� ��� �N� .�4����6��6��6�� �/�/��/�>�>�E� ���t�X�{�7����9��9��9� ���t�[��<�=����?��?��?�� ���t�Z�s�3�9����;��;��;�� ���t�X�{�8����:��:��:�������D��{��B�t�|�+����A�@�A�A�A��y���i���c�?�?�� G��c�3���� 9�3���� � � ��c�n�n�&�&�S�Z�8�8�8�8� 9�� 9�� 9�� 9�� 9�� 9�� 9�� 9�� 9�� 9�� 9����� 9�� 9�� 9�� 9���|�� <��.�5�5�c�:�:�;�;�;�;�;� <�� <�� �K�K��9�@�@��E�E�F�F�F�F�F� �� ��i���c�?�?�� G����c�5�)�)�� .�R�������-�-�-� .�� .�� .�� .�� .�� .�� .�� .�� .�� .�� .�� .����� .�� .�� .�� .�� .�� .�� �K�K��9�@�@��E�E�F�F�F�F�F� �� !��t�|����!�!��,�q�/�C��Y�F�F� ��� � �!� #� #��,�K�C����K�K��6�-�-�/�/�0�0�0��c�?�?�� G����c�5�)�)�� ?�R�� � �6�$�+� �>�>�>� ?�� ?�� ?�� ?�� ?�� ?�� ?�� ?�� ?�� ?�� ?����� ?�� ?�� ?�� ?��|�� ��S�=�=�3�:�:�3�?�?�C�C�2�39�6�#�v�3F�3F����c� � � � � � �� �� �K�K��9�@�@��E�E�F�F�F�F�F� �� ��;�?�?�1�%�%����!�!�(�+�+���3���������� �� ���03�l�/B�/B�4�,�s�+�+�+����K� � �\�\�(�H� -� -�� "��&�� "�� "� ����y�!�!�!�!� "� "�� "�� "�� "�� "�� "�� "�� "�� "�� "�� "����� "�� "�� "�� "���<�� 9��&�-�-�h�7�7�8�8�8�8�8�1� !� �. 9�� 9sI����6AF�F�F�I�I�I�/M�M�M�R�R� R�__main__r4��)n�version� __author__�__credits__�builtinsr���rL��ry���r����r��rh���r���r����r`���r����re�warningsr���r����r����AttributeError�NotImplementedErrorr ��r����� NameError�__all__r6���r��r{��r���r���r���r���r���r��r���r/��r-��r���r���r���r5���CONTTYPEr���r���r���r���r���r���r���r���r���r���r���r'��r���r��r��r���rN���r ��r����r ����getfilesystemencodingr<���rC���rS���r[���re���ri���r|���r��r���r���r���r ���r ���r���r����r����r����rP���r����r����r�����objectr����r ���BufferedReaderr-��r9��r;��r@��rI��rL��rO��rR��r���rk��rm��rr��rt��r���r����compiler���r���r���r���rW��r���r����r=���r;����<module>rh�����s7����:����6� �H�� �'��&��&��&��&��&�� � � � �� � � � �� � � � �� � � � ������������ � � � ������� � � � ��������J�J�J�J��������� �C�C�C�������J�J�J�J��������� �C�C�C������$�%8�9��� ���'��#������ �� �� ��D� ����%��%��%������ � ��^� �� �������� � ���� �� �� �� �� �������������� �� ������ � � � �����H�g��G�X��W�g�#�%5�!� #����(��>�+� ���/� � � �.� ��9�8�8�� �� � ���� �������7�d�?�?��H�H�(�s�(�*�*�H�0��0��0�&��&��&� �� �� �(��N�� �� �� �� �<*��*��*��"&��$���������2����� �� �� �� �� �y�� �� �� � �� �� �� �� �8�� �� �� � �� �� �� �� ��� �� �� � �� �� �� �� �x�� �� �� � �� �� �� �� �(�� �� �� � �� �� �� �� �(�� �� �� � �� �� �� �� �{�� �� �� � �� �� �� �� �;�� �� �� � �� �� �� �� �[�� �� �� � �� �� �� �� ��� �� �� � �� �� �� �� �K�� �� �� ����������������0p��p��p��p��p��p��p��p�f���������6�������<e��e��e��e��e�&��e��e��e�P"��"��"��"��"�2�$��"��"��"� �� �� �� �� �(�� �� �� �J��J��J��J��J���J��J��J� ?��?��?��?��?�k��?��?��?�@��@��@��@��@�{��@��@��@� L��L��L��L��L���L��L��L� ?��?��?��?��?�+��?��?��?�D��D��D��D��D���D��D��D���w��5��B��B��B��B�H����������������*�������� ������&�2�:�&8�9�9���Z9��Z9��Z9��Z9��Z9�f��Z9��Z9��Z9�zU��U��U��U��U�f��U��U��U�v&�����$��|��]9��]9��]9�~��z����D�F�F�F�F�F���s3����<��A�A� A��A�A�!A(��(A0�/A0