BYPASS SHELL BY ./RAZORGANZ
Server: nginx/1.20.1
System: Linux iZdzfnv9mwfppeZ 5.10.134-19.2.al8.x86_64 #1 SMP Wed Oct 29 22:47:09 CST 2025 x86_64
User: apache (48)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //usr/local/lib64/python3.6/site-packages/PIL/__pycache__/SgiImagePlugin.cpython-36.pyc
3

Zƍh��@s�ddlZddlZddlmZmZddlmZddlmZdd�Z	dddddd
d d
d!dd"d
d#dd$diZ
Gdd�dej�Zdd�ZGdd�dej
�Zejde�ejejee	�ejeje�ejejd�ejejddddg�dS)%�N�)�Image�	ImageFile)�i16be)�o8cCst|�dkot|�dkS)N�i�)�len�i16)�prefix�r�>/usr/local/lib64/python3.6/site-packages/PIL/SgiImagePlugin.py�_accept!sr
�LrzL;16B��RGBzRGB;16B��RGBAzRGBA;16Bc@seZdZdZdZdd�ZdS)�SgiImageFileZSGIzSGI Image File FormatcCsvd}|jj|�}t|�s td��|d}|d}t|d�}t|d�}t|d�}t|d�}|||f}	d	}
yt|	}
Wntk
r�YnX|
d	kr�td
��||f|_|
jd�d|_	|j	d
kr�d|_
d}|dk�rL|||}|dk�rdd|j||j	d|ffg|_nDg|_|}
x`|j	D].}|jj
dd|j|
|d|ff�|
|7}
�qWn&|dk�rrdd|j||
||ffg|_dS)NizNot an SGI image filerrr���
�zUnsupported SGI image mode�;rrz	image/rgbr�SGI16�rawZsgi_rle���)rr)rr)rr)�fp�readr
�
ValueErrorr	�MODES�KeyError�_size�split�modeZcustom_mimetype�sizeZtile�append)�selfZheadlen�s�compression�bpcZ	dimension�xsize�ysize�zsizeZlayout�rawmode�orientation�pagesize�offsetZlayerrrr�_open8sF








 
zSgiImageFile._openN)�__name__�
__module__�__qualname__�format�format_descriptionr1rrrrr3srcCsJ|jdkr&|jdkr&|jdkr&td��|j}|jdd�}|dkrHtd��d}d	}d
}d}|j\}	}
|jdkrz|
dkrzd}n|jdkr�d}t|j�}|dks�|dkr�d}t|j��|kr�td|�d
t|j������d
}d}
tjj	tjj
|��d
}|jdd�}d
}|jt
jd|��|jt|��|jt|��|jt
jd|��|jt
jd|	��|jt
jd|
��|jt
jd|��|jt
jd|��|jt
jd|
��|jt
jdd��|jt
jd|��|jt
jdd��|jt
jd|��|jt
jdd��d}|dk�rd}x(|j�D]}|j|jd|d
|���qWt|d��rF|j�dS)NrrrzUnsupported SGI image moder)rrz%Unsupported number of bytes per pixeli�rrz(incorrect number of bands in SGI write: z vs ��ascii�ignorez>hz>Hz>lZ4s�Z79sr'Z404szL;16Br�flush)rrr)r#rZencoderinfo�getr$rZgetbands�os�path�splitext�basename�encode�write�struct�packrr"�tobytes�hasattrr;)�imr�filename�infor)r.ZmagicNumberZrleZdim�x�y�zZpinminZpinmaxZimgNameZcolormapr-�channelrrr�_save}s^



rNc@seZdZdZdd�ZdS)�SGI16DecoderTc	Cs�|j\}}}|jj|jj}t|j�}|jjd�xVt|�D]J}t	j
d|jj|jjf�}|j|jjd|�dd||�|j
j|j
|�q<Wd	S)
NirrrzL;16Brrr)rr)�args�stater*r+rr#�fd�seek�ranger�new�	frombytesrrGZputband)	r&�bufferr-Zstrider.r/r,ZbandrMrrr�decode�s
zSGI16Decoder.decodeN)r2r3r4Z	_pulls_fdrXrrrrrO�srOrz	image/sgiz.bwz.rgbz.rgbaz.sgi)rrr)rrr)rrr)rrr)rrr)rrr)rrr)rrr)r=rCrrr�_binaryrr	rr
rrrNZ	PyDecoderrOZregister_decoderZ
register_openr5Z
register_saveZ
register_mimeZregister_extensionsrrrr�<module>s*JK