403Webshell
Server IP : 127.0.0.1  /  Your IP : 216.73.216.109
Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64
User : SERVERWEB ( 0)
PHP Version : 8.1.10
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : OFF |  Perl : OFF |  Python : OFF |  Sudo : OFF |  Pkexec : OFF
Directory :  C:/cygwin64/lib/python3.9/site-packages/PIL/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : C:/cygwin64/lib/python3.9/site-packages/PIL/__pycache__/Jpeg2KImagePlugin.cpython-39.opt-1.pyc
a

h�a�(�@s�ddlZddlZddlZddlmZmZGdd�d�Zdd�Zdd	�Zd
d�Z	Gdd
�d
ej�Z
dd�Zdd�Ze�
e
je
e�e�e
je�e�e
jgd��e�e
jd�dS)�N�)�Image�	ImageFilec@sJeZdZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�	BoxReaderz}
    A small helper class to read fields stored in JPEG2000 header boxes
    and to easily step into and read sub-boxes.
    ���cCs ||_|dk|_||_d|_dS)Nrr)�fp�
has_length�length�remaining_in_box)�selfrr	�r�9/usr/lib/python3.9/site-packages/PIL/Jpeg2KImagePlugin.py�__init__s
zBoxReader.__init__cCs:|jr|j��||jkrdS|jdkr2||jkSdSdS)NFrT)rr�tellr	r
)r�	num_bytesrrr
�	_can_read#s


zBoxReader._can_readcCs`|�|�std��|j�|�}t|�|krDtd|�dt|��d���|jdkr\|j|8_|S)NzNot enough data in headerzExpected to read z bytes but only got �.r)r�SyntaxErrorr�read�len�OSErrorr
)rr�datarrr
�_read_bytes-s
�
zBoxReader._read_bytescCs t�|�}|�|�}t�||�S�N)�struct�calcsizer�unpack)rZfield_format�sizerrrr
�read_fields;s

zBoxReader.read_fieldscCs |j}|�|�}tt�|�|�Sr)r
rr�io�BytesIO)rrrrrr
�
read_boxes@s
zBoxReader.read_boxescCs$|jr|j��|j|jkSdSdS)NT)rrrr
r	�rrrr
�has_next_boxEszBoxReader.has_next_boxcCs||jdkr|j�|jtj�d|_|�d�\}}|dkrL|�d�d}d}nd}||ksf|�||�sntd��|||_|S)	Nrrz>I4srz>Q��zInvalid header length)r
r�seek�os�SEEK_CURrrr)rZlbox�tboxZhlenrrr
�
next_box_typeKs

zBoxReader.next_box_typeN)r)�__name__�
__module__�__qualname__�__doc__rrrrr!r#r*rrrr
rs

rcCs|�d�}t�d|�d}||�|d�}t�d|�\}}}}}}}	}	}	}	}
dg|
}dg|
}dg|
}
t|
�D],}t�d|dd|�\||<||<|
|<qt||||f}|
d	kr�|
dd
@dkr�d}nd
}n0|
dkr�d}n"|
dkr�d}n|
dk�rd}nd}||fS)z�Parse the JPEG 2000 codestream to extract the size and component
    count from the SIZ marker segment, returning a PIL (size, mode) tuple.�z>Hrz>HHIIIIIIIIHNz>BBB�$�r�r%�I;16�L�LA�RGB��RGBA)rrr�unpack_from�range)rZhdrZlsizZsizZrsizZxsizZysizZxosizZyosiz�_ZcsizZssizZxrsizZyrsiz�ir�moderrr
�_parse_codestream`s0
�


*
r>cCs$|dkr d|d|d|SdS)z�Convert JPEG2000's (numerator, denominator, exponent-base-10) resolution,
    calculated as (num / denom) * 10^exp and stored in dots per meter,
    to floating-point dots per inch.r��
i'Nr)ZnumZdenomZexprrr
�_res_to_dpi�srAcCs�t|�}d}d}|��rT|��}|dkr4|��}qTq|dkr|�d�ddkrd}qd}d}d}d}d}	|���rj|��}|dkr�|�d	�\}
}}}||
f}|d
kr�|d@dkr�d
}n6|d
kr�d}n(|dkr�d}n|dkr�d}n|dkr�d}qh|dkrh|��}|��rh|��}
|
dk�r�|�d�\}}}}}}t|||�}t|||�}|du�rh|du�rh||f}	qh�q�qh|du�s~|du�r�td��||||	fS)z�Parse the JP2 header box to extract size, component count,
    color space information, and optionally DPI information,
    returning a (size, mode, mimetype, dpi) tuple.Nsjp2hsftypz>4srsjpx z	image/jpxsihdrz>IIHBrr2r%r3r4r/r5r1r6r7r8sres srescz>HHHHBBzMalformed JP2 header)rr#r*r!rrAr)r�reader�headerZmimetyper)rr=ZbpcZnc�dpiZheight�width�resZtresZvrcnZvrcdZhrcnZhrcdZvrceZhrceZhresZvresrrr
�_parse_jp2_header�sZ

rGcsFeZdZdZdZdd�Ze�fdd��Zejdd��Zdd	�Z	�Z
S)
�Jpeg2KImageFileZJPEG2000zJPEG 2000 (ISO 15444)cCs`|j�d�}|dkr.d|_t|j�\|_|_nV||j�d�}|dkr|d|_t|j�}|\|_|_|_}|dur�||jd<nt	d��|j
dus�|jdur�t	d	��d
|_d
|_d}d}z|j�
�}t�|�j}Wnft�y4d}z4|j��}|j�d
tj�|j��}|j�|�Wnt�y.d}Yn0Yn0dd
|j
d
|j|j|j||ffg|_dS)Nr7��O�Q�j2kr%�jP  
�
�jp2rDznot a JPEG 2000 filezunable to determine size/moderr�jpeg2k�rr)rr�codecr>�_sizer=rGZcustom_mimetype�inforr�_reduce�layers�filenor'�fstat�st_size�	Exceptionrr&r�SEEK_END�tile)rZsigrCrD�fdr	�posrrr
�_open�sH



��zJpeg2KImageFile._opencs|jpt�jSr)rR�super�reducer"��	__class__rr
r^�szJpeg2KImageFile.reducecCs
||_dSr)rR)r�valuerrr
r^scCs�|jr�|jr�d|j>}|d?}t|jd||�t|jd||�f|_|jd}|dd|j|j|dd|ddf}|dd|j|d|fg|_tj�|�S)Nrrr1r7rNr/)rYrR�intrrPrSr�load)rZpowerZadjust�tZt3rrr
rcs
�
*zJpeg2KImageFile.load)r+r,r-�formatZformat_descriptionr\�propertyr^�setterrc�
__classcell__rrr_r
rH�s0
rHcCs |dd�dkp|dd�dkS)Nr7rI�rKr)�prefixrrr
�_accepts�rkcCsD|�d�rd}nd}|j}|�dd�}|�dd�}|�dd�}|�dd�}|�d	d�}	|	dur�t|	ttf�r~td
d�|	D��s�td��|�d
d�}
|�dd�}|�dd�}|�dd�}
|�dd�}|�dd�}d}t|d��rz|�	�}Wnt
�yd}Yn0|||||	|
|||
|||f|_t�
||dd|jd|fg�dS)N�.j2krJrL�offset�tile_offset�	tile_size�quality_modeZrates�quality_layerscSsg|]}t|ttf��qSr)�
isinstancerb�float)�.0Z
quality_layerrrr
�
<listcomp>5s�z_save.<locals>.<listcomp>z,quality_layers must be a sequence of numbers�num_resolutionsrZcodeblock_size�
precinct_size�irreversibleF�progressionZLRCP�cinema_mode�norrTrMrN)�endswithZencoderinfo�getrr�list�tuple�all�
ValueError�hasattrrTrWZ
encoderconfigr�_saver)Zimr�filename�kindrQrmrnrorprqrvZ	cblk_sizerwrxryrzrZrrr
r�$sZ
����	
�r�)z.jp2rlz.jpcz.jpfz.jpxz.j2cz	image/jp2)rr'r�rrrr>rArGrHrkr�Z
register_openreZ
register_saveZregister_extensionsZ
register_mimerrrr
�<module>s I"?P=
�

Youez - 2016 - github.com/yon3zu
LinuXploit