o
    á©Zhk
  ã                   @  sb   d dl mZ d dlZddlmZmZ dd	d
„ZG dd„ dejƒZe 	ej
ee¡ e ej
d¡ dS )é    )ÚannotationsNé   )ÚImageÚTiffImagePluginÚprefixÚbytesÚreturnÚboolc                 C  s   | d d… t jkS )Né   )ÚolefileÚMAGIC)r   © r   úI/var/www/html/lang_env/lib/python3.10/site-packages/PIL/MicImagePlugin.pyÚ_accept   s   r   c                      sT   e Zd ZdZdZdZddd„Zdd	„ Zddd„Zd‡ fdd„Z	d‡ fdd„Z
‡  ZS )ÚMicImageFileZMICzMicrosoft Image ComposerFr   ÚNonec              
   C  s–   z	t  | j¡| _W n ty } zd}t|ƒ|‚d }~ww dd„ | j ¡ D ƒ| _| js1d}t|ƒ‚d| _t	| jƒ| _
| j
dk| _| j| _|  d¡ d S )Nz!not an MIC file; invalid OLE filec                 S  s<   g | ]}|d d… r|d dd… dkr|d  dkr|‘qS )r   Nr   éüÿÿÿz.ACIr   r   )Ú.0Úpathr   r   r   Ú
<listcomp>6   s    
ý þz&MicImageFile._open.<locals>.<listcomp>z!not an MIC file; no image entrieséÿÿÿÿr   r   )r   Z	OleFileIOÚfpÚoleÚOSErrorÚSyntaxErrorÚlistdirÚimagesÚframeÚlenZ	_n_framesZis_animatedÚ_MicImageFile__fpÚseek)ÚselfÚeÚmsgr   r   r   Ú_open)   s$   
€þþzMicImageFile._openc              
   C  sh   |   |¡sd S z| j| }W n ty! } zd}t|ƒ|‚d }~ww | j |¡| _tj 	| ¡ || _
d S )Nzno such frame)Z_seek_checkr   Ú
IndexErrorÚEOFErrorr   Z
openstreamr   r   ÚTiffImageFiler$   r   )r!   r   Úfilenamer"   r#   r   r   r   r    I   s   

€þ
zMicImageFile.seekÚintc                 C  s   | j S ©N)r   ©r!   r   r   r   ÚtellX   s   zMicImageFile.tellc                   s"   | j  ¡  | j ¡  tƒ  ¡  d S r*   )r   Úcloser   Úsuperr+   ©Ú	__class__r   r   r-   [   ó   

zMicImageFile.closeÚargsÚobjectc                   s"   | j  ¡  | j ¡  tƒ  ¡  d S r*   )r   r-   r   r.   Ú__exit__)r!   r2   r/   r   r   r4   `   r1   zMicImageFile.__exit__)r   r   )r   r)   )r2   r3   r   r   )Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionZ!_close_exclusive_fp_after_loadingr$   r    r,   r-   r4   Ú__classcell__r   r   r/   r   r   $   s    
 
r   z.mic)r   r   r   r	   )Ú
__future__r   r   Ú r   r   r   r'   r   Zregister_openr8   Zregister_extensionr   r   r   r   Ú<module>   s   
E