U
    &^                     @   s\   d dl mZmZmZ d dlmZ dd ZG dd dejZe	ej
ee eej
d dS )	   )Image	ImageFileImagePalette)i32bec                 C   s   t | dkot| dkS )N   jY)leni32)prefix r   6/tmp/pip-install-a1j0c_p1/Pillow/PIL/SunImagePlugin.py_accept   s    r   c                   @   s   e Zd ZdZdZdd ZdS )SunImageFileZSUNzSun Raster Filec           	      C   s  | j d}t|dkr tdd}t|dd t|dd f| _t|dd }t|dd	 }t|d	d
 }t|d
d }|dkrd\| _}n|dkrd\| _}np|dkrd | _}n\|d	kr|dkrd\| _}n
d\| _}n4|dkr|dkr
d\| _}n
d\| _}ntd|r|dkr6td|dkrHtd|| }td| j || _| jdkrd| _|	dd}| j
d | d d d }|dkrdd| j
 |||ffg| _n*|dkrd d| j
 ||fg| _ntd!d S )"N    r   znot an SUN raster filer                     r   )1z1;I)LzL;4r      )RGBr   )r   ZBGR)r   ZRGBX)r   ZBGRXzUnsupported Mode/Bit Depthi   z Unsupported Color Palette LengthzUnsupported Palette TypezRGB;LP          )r   r   r   r      raw)r   r   Zsun_rlez Unsupported Sun Raster file type)fpreadr	   SyntaxError_sizemoder   r   ZpalettereplacesizeZtile)	selfsoffsetdepth	file_typeZpalette_typeZpalette_lengthrawmodeZstrider   r   r   _open%   sP    "





zSunImageFile._openN)__name__
__module____qualname__formatformat_descriptionr-   r   r   r   r   r       s   r   z.rasN) r   r   r   _binaryr   r	   r   r   Zregister_openr1   Zregister_extensionr   r   r   r   <module>   s
   f