
    g                        d dl mZ ddlmZmZmZ ddlmZ d
dZ	 G d dej                        Z
 ej                  e
j                  e
e	        ej                  e
j                  d       y	)    )annotations   )Image	ImageFileImagePalette)i32bec                >    t        |       dk\  xr t        |       dk(  S )N   ijY)leni32)prefixs    G/var/www/openai/venv/lib/python3.12/site-packages/PIL/SunImagePlugin.py_acceptr      s    v;!9Fz 99    c                      e Zd ZdZdZddZy)SunImageFileSUNzSun Raster Filec                   | j                   J | j                   j                  d      }t        |      sd}t        |      d}t	        |d      t	        |d      f| _        t	        |d      }t	        |d      }t	        |d      }t	        |d      }|d	k(  rd
\  | _        }nl|dk(  rd\  | _        }n\|dk(  r
dx| _        }nM|dk(  r|dk(  rd\  | _        }n8d\  | _        }n-|dk(  r|dk(  rd\  | _        }nd\  | _        }nd}t        |      |r|dkD  rd}t        |      |d	k7  rd}t        |      ||z   }t        j                  d| j                   j                  |            | _	        | j                  dk(  rd| _        |j                  dd      }| j                  d   |z  dz   dz  dz  }	|dv rdd| j                  z   |||	ffg| _        y |dk(  rdd| j                  z   ||fg| _        y 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sizetile)
selfsmsgoffsetdepth	file_typepalette_typepalette_lengthrawmodestrides
             r   _openzSunImageFile._open$   s     ww""" GGLLqz*Cc""AYAq	)
Ar
2J	1bzQA:",DJaZ",DJaZ#&&DJb[A~&2#
G&2#
Gb[A~&3#
G&3#
G.Cc""$8!#&&q 0!#&&n,F'++GTWW\\.5QRDLyyC 
!//#s3 99Q<%'",3q8( '$))!3Vgv=NOPDI!^#Vdii%7IJDI4Cc""r   N)returnNone)__name__
__module____qualname__formatformat_descriptionr=    r   r   r   r       s    F*`#r   r   z.rasN)r   bytesr>   bool)
__future__r    r   r   r   _binaryr   r   r   r   register_openrC   register_extensionrE   r   r   <module>rM      sa   $ # , , !:d#9&& d#V   L''w ?   ,,f 5r   