o
    sh                     @  sj   d dl mZ ddlmZmZmZ ddlmZ dd	d
Z	G dd dejZ
ee
je
e	 ee
jd dS )    )annotations   )Image	ImageFileImagePalette)i32beprefixbytesreturnboolc                 C  s   t | dkot| dkS )N   ijY)leni32)r    r   f/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/PIL/SunImagePlugin.py_accept   s   r   c                   @  s   e Zd ZdZdZdddZdS )	SunImageFileSUNzSun Raster Filer
   Nonec           
      C  s  | j d usJ | j d}t|sd}t|d}t|dt|df| _t|d}t|d}t|d}t|d}|d	krBd
\| _}nB|dkrLd\| _}n8|dkrVd | _}n.|dkrj|dkrdd\| _}n d\| _}n|dkr~|dkrxd\| _}nd\| _}nd}t||r|dkrd}t||d	krd}t||| }td| j || _	| j
dkrd| _|dd}| jd | d d d }	|dv rtdd| j |||	fg| _d S |dkrtdd| j ||g| _d S d }t|)!N    znot an SUN raster filer                  r   )1z1;I)LzL;4r      )RGBr   )r   BGR)r   RGBX)r   BGRXzUnsupported Mode/Bit Depthi   z Unsupported Color Palette LengthzUnsupported Palette TypezRGB;LPr            )r   r   r   r      raw)r   r   sun_rlez Unsupported Sun Raster file type)fpreadr   SyntaxErrorr   _size_moder   r'   palettemodereplacesizer   _Tiletile)
selfsmsgoffsetdepth	file_typepalette_typepalette_lengthrawmodestrider   r   r   _open$   s`   






zSunImageFile._openN)r
   r   )__name__
__module____qualname__formatformat_descriptionr>   r   r   r   r   r       s    r   z.rasN)r   r	   r
   r   )
__future__r    r   r   r   _binaryr   r   r   r   register_openrB   register_extensionr   r   r   r   <module>   s   
o