
    th                     @    d dl Z ddlmZ  G d dej                  ZdS )    N   )ContainerIOc                   4     e Zd ZdZ fdZd Zd Zd Z xZS )TarIOzHA file object that provides read access to a given member of a TAR file.c                 v   t          |d          | _        	 | j                            d          }t          |          dk    rd}t	          |          |dd                             d          }|                    d          }|d	k    rd
}t	          |          |d	k    r
|d|         }t          |dd         d          }||k    rn,| j                            |dz   dz  t          j
                   t                                          | j        | j                                        |           dS )zz
        Create file object.

        :param tarfile: Name of TAR file.
        :param file: Name of member file.
        rbTi   zunexpected end of tar fileNd   zutf-8 r   zcannot find subfile|         i  i )openfhreadlenOSErrordecodefindintseekioSEEK_CURsuper__init__tell)	selftarfilefilesmsgnameisize	__class__s	           ]/var/www/html/mycamper/aliexpress-site/backend/venv/lib/python3.11/site-packages/PIL/TarIO.pyr   zTarIO.__init__   s    w%%	=S!!A1vv}}2cll"TcT7>>'**D		$AAvv+cll"1uuBQBxqSz1%%Dt||GLL$*.<<<'	=, 	$',,..$77777    c                     | S N r   s    r%   	__enter__zTarIO.__enter__;   s    r&   c                 .    |                                   d S r(   )close)r   argss     r%   __exit__zTarIO.__exit__>   s    

r&   c                 8    | j                                          d S r(   )r   r-   r*   s    r%   r-   zTarIO.closeA   s    r&   )	__name__
__module____qualname____doc__r   r+   r/   r-   __classcell__)r$   s   @r%   r   r      sl        RR8 8 8 8 8D          r&   r   )r    r   r   r)   r&   r%   <module>r7      sY   " 
			      , , , , ,K# , , , , ,r&   