
    :ha                        d dl mZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 dZddZ G d	 d
e
      Z ej                  ej                  ee        ej                   ej                  d       y)    )annotations   )Image)i32le)DeferredError)PcxImageFileih:c                F    t        |       dk\  xr t        |       t        k(  S )N   )leni32MAGIC)prefixs    P/var/www/urcfiles/bundle/venv/lib/python3.12/site-packages/PIL/DcxImagePlugin.py_acceptr   !   s    v;!4Fu 44    c                  0    e Zd ZdZdZdZddZd	dZd
dZy)DcxImageFileDCXz	Intel DCXFc                   | j                   j                  d      }t        |      sd}t        |      g | _        t        d      D ]E  }t        | j                   j                  d            }|s n| j                  j                  |       G | j                   | _        d| _	        t        | j                        | _        | j                  dkD  | _        | j                  d       y )Nr
   znot a DCX filei   r   r   )fpreadr   SyntaxError_offsetranger   append_fpframer   n_framesis_animatedseek)selfsmsgioffsets        r   _openzDcxImageFile._open.   s    GGLLOqz"Cc"" tAa)FLL'	  77
DLL)==1,		!r   c                2   | j                  |      sy t        | j                  t              r| j                  j                  || _        | j                  | _        | j                  j                  | j                  |          t        j                  |        y N)_seek_check
isinstancer   r   exr   r   r!   r   r   r'   )r"   r   s     r   r!   zDcxImageFile.seekC   sh    &dhh.((++
((T\\%()4 r   c                    | j                   S r)   )r   )r"   s    r   tellzDcxImageFile.tellM   s    zzr   N)returnNone)r   intr/   r0   )r/   r1   )	__name__
__module____qualname__formatformat_description!_close_exclusive_fp_after_loadingr'   r!   r.    r   r   r   r   )   s"    F$(-%*!r   r   z.dcxN)r   bytesr/   bool)
__future__r    r   _binaryr   r   _utilr   PcxImagePluginr   r   r   r   register_openr5   register_extensionr8   r   r   <module>rB      sa   . #  !   (5%< %P   L''w ?   ,,f 5r   