Files
serveur-d-authentification/venv/lib/python3.10/site-packages/PIL/__pycache__/PngImagePlugin.cpython-310.pyc

351 lines
34 KiB
Plaintext
Raw Normal View History

o
<00>Q<EFBFBD>j<0E><00>@s<>ddlmZddlZddlZddlZddlZddlZddlZddlm Z ddl
m Z ddl m Z mZmZddlmZmZmZmZmZddlmZdd lmZdd
lmZdd lmZdd lmZdd l m!Z!ddl"m#Z#dZ$e$r<>ddl%m&Z&ddl m'Z'm(Z(ddlm)Z)e<03>*e+<2B>Z,e<04>-d<13>j.Z/dZ0dddddddddddd d!d"d#d$<24>Z1e<04>-d%<25>Z2ej3Z4 d&e4Z5 Gd'd(<28>d(e <09>Z6Gd)d*<2A>d*e <09>Z7dd.d/<2F>Z8d<38>d<EFBFBD>d3d4<64>Z9Gd5d6<64>d6<64>Z:Gd7d8<64>d8e;<3B>Z<Gd9d:<3A>d:<3A>Z=Gd;d<<3C>d<e<0E>Z>Gd=d><3E>d>e:<3A>Z?d<>dAdB<64>Z@GdCdD<64>dDej<13>ZAdEdFdGdHdIdJdKdKdKdLdMdNdOdPdQdR<64>ZBd<42>dWdX<64>ZCGdYdZ<64>dZ<64>ZDGd[d\<5C>d\<5C>ZEd<45>dadb<64>ZFGdcdd<64>dde<0E>ZGd<47>dndo<64>ZHd<48>drds<64>ZIeCdfd<>dudv<64>ZJd<4A>dzd{<7B>ZKe<11>LeAjMeAe@<40>e<11>NeAjMeJ<65>e<11>OeAjMeI<65>e<11>PeAjMd|d}g<02>e<11>QeAjMd~<7E>dS)<29><>)<01> annotationsN)<01>IntEnum)<01>Fraction)<03>IO<49>
NamedTuple<EFBFBD>cast<73>)<05>Image<67>
ImageChops<EFBFBD> ImageFile<6C> ImagePalette<74> ImageSequence)<01>i16be)<01>i32be)<01>o8)<01>o16be)<01>o32be)<01> deprecate)<01> DeferredErrorF)<01>Callable)<02>Any<6E>NoReturn)<01>_imagings\w\w\w\ws<00>PNG

)<02>1r)<02>L<>L;2)r<00>L;4)rr)<02>I;16<31>I;16B)<02>RGBr)rzRGB;16B)<02>P<>P;1)r <00>P;2)r <00>P;4)r r )<02>LAr$)<02>RGBAzLA;16B)r%r%)r%zRGBA;16B))rr)<02>r)<02>r)<02>r)<02>r)r(r&)r)r&)r<00>)r&r*)r'r*)r(r*)r(r')r)r')r(<00>)r)r+s^<5E>*<00>*$<24>@c@seZdZdZ dZ dZdS)<05>Disposalrrr&N)<06>__name__<5F>
__module__<EFBFBD> __qualname__<5F>OP_NONE<4E> OP_BACKGROUND<4E> OP_PREVIOUS<55>r4r4<00>u/home/sorel/systeme_gestion_cerfig/serveur-d-authentification/venv/lib/python3.10/site-packages/PIL/PngImagePlugin.pyr-nsr-c@seZdZdZ dZdS)<04>BlendrrN)r.r/r0<00> OP_SOURCE<43>OP_OVERr4r4r4r5r6<00>s
r6<00>s<>bytes<65>returncCs*t<00><01>}|<01>|t<03>}|jrd}t|<03><01>|S)Nz=Decompressed data too large for PngImagePlugin.MAX_TEXT_CHUNK)<06>zlib<69> decompressobj<62>
decompress<EFBFBD>MAX_TEXT_CHUNK<4E>unconsumed_tail<69>
ValueError)r9<00>dobj<62> plaintext<78>msgr4r4r5<00>_safe_zlib_decompress<73>s  rE<00>data<74>seed<65>intcCst<00>||<01>d@S)Nl<00><EFBFBD>)r<<00>crc32)rFrGr4r4r5<00>_crc32<33><00>rJc@sreZdZd&dd<06>Zd'dd <09>Zd(d
d <0B>Zd)dd<0F>Zd*dd<11>Zd+dd<18>Zd,dd<1A>Z d-dd<1D>Z
d-dd<1F>Z d.d/d#d$<24>Z d%S)0<> ChunkStream<61>fp<66> IO[bytes]r;<00>NonecCs||_g|_dS<00>N)rM<00>queue<75><02>selfrMr4r4r5<00>__init__<5F><00>
zChunkStream.__init__<5F>tuple[bytes, int, int]cCs<>d}|jdus J<00>|jr|j<01><02>\}}}|j<00>|<02>n|j<00>d<02>}|dd<01>}|j<00><05>}t|<04>}t|<01>sCtj sCdt
|<01><01>d<05>}t |<05><01>|||fS)z.Fetch a new chunk. Returns header information.Nr(r'zbroken PNG file (chunk <20>)) rMrQ<00>pop<6F>seek<65>read<61>tell<6C>i32<33>is_cidr <00>LOAD_TRUNCATED_IMAGES<45>repr<70> SyntaxError)rS<00>cid<69>pos<6F>lengthr9rDr4r4r5rZ<00>s  

zChunkStream.readcCs|SrPr4<00>rSr4r4r5<00> __enter__<5F>szChunkStream.__enter__<5F>args<67>objectcGs |<00><00>dSrP)<01>close)rSrfr4r4r5<00>__exit__<5F>s zChunkStream.__exit__cCsd|_|_dSrP)rQrMrdr4r4r5rh<00>rKzChunkStream.closerar:rbrHrccCs$|jdusJ<00>|j<00>|||f<03>dSrP)rQ<00>append<6E>rSrarbrcr4r4r5<00>push<73>szChunkStream.pushcCs,t<00>d|||<03>t|d|<01>d<03><01><00><02>||<03>S)z"Call the appropriate chunk handlerzSTREAM %r %s %s<>chunk_<6B>ascii)<04>logger<65>debug<75>getattr<74>decoderkr4r4r5<00>call<6C>szChunkStream.callrFc
Cs<>tjr|dd?d@r|<00>||<02>dS|jdusJ<00>z"t|t|<01><01>}t|j<03>d<05><01>}||kr:dt|<01><01>d<07>}t|<05><01>WdSt j
yV}z dt|<01><01>d<07>}t|<05>|<06>d}~ww) zRead and verify checksumr<00>rNr'z(broken PNG file (bad header checksum in rWz(broken PNG file (incomplete checksum in ) r r^<00>crc_skiprMrJr\rZr_r`<00>struct<63>error)rSrarF<00>crc1<63>crc2rD<00>er4r4r5<00>crc<72>s  <06>
<08><02>zChunkStream.crccCs|jdusJ<00>|j<00>d<02>dS)z Read checksumNr')rMrZ)rSrarFr4r4r5ru<00>szChunkStream.crc_skip<69>IEND<4E>endchunk<6E> list[bytes]c
Cs<>g}|jdus J<00> z |<00><01>\}}}Wntjy'}zd}t|<07>|<06>d}~ww||kr/ |S|<00>|t<06>|j|<05><02>|<02>|<03>q
)NTztruncated PNG file) rMrZrvrw<00>OSErrorr{r <00>
_safe_readrj)rSr}<00>cidsrarbrcrzrDr4r4r5<00>verify<66>s 
<08><02><16>
<02>zChunkStream.verifyN<79>rMrNr;rO)r;rV)r;rL)rfrgr;rO<00>r;rO)rar:rbrHrcrHr;rO)rar:rbrHrcrHr;r:)rar:rFr:r;rO)r|)r}r:r;r~) r.r/r0rTrZrerirhrlrsr{rur<>r4r4r4r5rL<00>s








rLc@s4eZdZUdZded<ded<e d d d
d <0B><05>ZdS)<0E>iTXtzq
Subclass of string to allow iTXt chunks to look like strings while
keeping their extra information
zstr | bytes | None<6E>lang<6E>tkeyN<79>text<78>str<74>
str | Noner;cCst<00>||<01>}||_||_|S)z<>
:param cls: the class to use when creating the instance
:param text: value for this key
:param lang: language code
:param tkey: UTF-8 version of the key name
)r<><00>__new__r<5F>r<>)<05>clsr<73>r<>r<>rSr4r4r5r<>
s z iTXt.__new__)NN)r<>r<>r<>r<>r<>r<>r;r<>)r.r/r0<00>__doc__<5F>__annotations__<5F> staticmethodr<64>r4r4r4r5r<>s
<12>r<EFBFBD>c@sFeZdZdZddd<05>Zddd d <0A>Z   dddd<16>Z dd dd<19>ZdS)!<21>PngInfoz<
PNG chunk container (for use with save(pnginfo=))
r;rOcCs
g|_dSrP<00><01>chunksrdr4r4r5rT!<00>
zPngInfo.__init__Frar:rF<00>
after_idat<EFBFBD>boolcCs|j<00>|||f<03>dS)a"Appends an arbitrary chunk. Use with caution.
:param cid: a byte string, 4 bytes long.
:param data: a byte string of the encoded data
:param after_idat: for use with private chunks. Whether the chunk
should be written after IDAT
N)r<>rj)rSrarFr<>r4r4r5<00>add$s
z PngInfo.add<64><00>key<65> str | bytes<65>valuer<65>r<><00>zipcCs<>t|t<01>s |<01>dd<02>}t|t<01>s|<02>dd<02>}t|t<01>s!|<03>dd<02>}t|t<01>s,|<04>dd<02>}|rE|<00>d|d|d|dt<04>|<02><00>dS|<00>d|d|d|d|<00>dS) z<>Appends an iTXt chunk.
:param key: latin-1 encodable text key name
:param value: value for this key
:param lang: language code
:param tkey: UTF-8 version of the key name
:param zip: compression flag
<20>latin-1<>strict<63>utf-8<>iTXts<00>sN)<06>
isinstancer:<00>encoder<65>r<<00>compress)rSr<>r<>r<>r<>r<>r4r4r5<00>add_itxt0s
 
 
 
  <08>(zPngInfo.add_itxt<78>str | bytes | iTXtcCs<>t|t<01>r"|j|||jdur|jnd|jdur|j|d<03>Sd|d<03>St|t<05>sAz|<02>dd<05>}Wnty@|j|||d<03>YSwt|t<05>sL|<01>dd<05>}|r]|<00>d|dt <09>
|<02><00>dS|<00>d|d |<00>dS)
z<EFBFBD>Appends a text chunk.
:param key: latin-1 encodable text key name
:param value: value for this key, text or an
:py:class:`PIL.PngImagePlugin.iTXt` instance
:param zip: compression flag
N<>)r<>r<>r<><00>zTXt<58><00>tEXtr<74>) r<>r<>r<>r<>r<>r:r<><00> UnicodeErrorr<72>r<r<>)rSr<>r<>r<>r4r4r5<00>add_textSs,
<06><06>
 <02>
 zPngInfo.add_textNr<4E><00>F)rar:rFr:r<>r<>r;rO)r<>r<>F) r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r;rO)r<>r<>r<>r<>r<>r<>r;rO)r.r/r0r<>rTr<>r<>r<>r4r4r4r5r<>s
  <0C>$<10>r<EFBFBD>c@<01>&eZdZUded<ded<ded<dS)<08> _RewindStatez dict[str | tuple[int, int], Any]<5D>infozlist[ImageFile._Tile]<5D>tilez
int | None<6E>seq_numN<6D>r.r/r0r<>r4r4r4r5r<>{<00>
 r<>cs<>eZdZd5<64>fdd<06> Zd6d d
<EFBFBD>Zd7d d <0C>Zd7d d<0E>Zd8dd<13>Zd8dd<15>Zd9dd<18>Z d9dd<1A>Z
d8dd<1C>Z d8dd<1E>Z d8dd <20>Z d8d!d"<22>Zd8d#d$<24>Zd8d%d&<26>Zd8d'd(<28>Zd8d)d*<2A>Zd8d+d,<2C>Zd8d-d.<2E>Zd8d/d0<64>Zd8d1d2<64>Zd8d3d4<64>Z<17>ZS):<3A> PngStreamrMrNr;rOcsZt<00><00>|<01>i|_i|_d|_d|_g|_d|_d|_d|_ d|_
t igd<00>|_ d|_ dS)N<>rrr<>r)<0E>superrT<00>im_info<66>im_text<78>im_size<7A>im_mode<64>im_tile<6C>
im_palette<EFBFBD>im_custom_mimetype<70> im_n_frames<65>_seq_numr<6D><00> rewind_state<74> text_memoryrR<00><01> __class__r4r5rT<00>s 
zPngStream.__init__<5F>chunklenrHcCs2|j|7_|jtkrd|j<00>d<02>}t|<02><01>dS)Nz%Too much memory used in text chunks: z>MAX_TEXT_MEMORY)r<><00>MAX_TEXT_MEMORYrA)rSr<>rDr4r4r5<00>check_text_memory<72>s
<06><02><04>zPngStream.check_text_memorycCst|j<01><02>|j|j<04>|_dSrP)r<>r<><00>copyr<79>r<>r<>rdr4r4r5<00> save_rewind<6E>s

<EFBFBD>zPngStream.save_rewindcCs&|jj<01><02>|_|jj|_|jj|_dSrP)r<>r<>r<>r<>r<>r<>r<>r<>rdr4r4r5<00>rewind<6E>s
zPngStream.rewindrbrcr:cCs<>|jdusJ<00>t<01>|j|<02>}|<03>d<01>}t<04>d|d|<04><00>||d}t<04>d|<05>|dkr7d|<05>d<07>}t|<06><01>z t||dd<00><00>}WntyStj rPd}n<01>Yn t
j y^d}Ynw||j d <|S)
Nr<EFBFBD>ziCCP profile name %rrzCompression method %sr<00>Unknown compression method z in iCCP chunkr&<00> icc_profile) rMr r<><00>findrorpr`rErAr^r<rwr<>)rSrbrcr9<00>i<> comp_methodrDr<>r4r4r5<00>
chunk_iCCP<EFBFBD>s*
    <04><02>
zPngStream.chunk_iCCPcCs<>|jdusJ<00>t<01>|j|<02>}|dkrtjr|Sd}t|<04><01>t|d<03>t|d<04>f|_zt|d|df\|_|_ Wn t
yAYnw|drKd|j d <|d
rUd }t |<04><01>|S) N<> zTruncated IHDR chunkrr'r(<00> <00> r<00> interlace<63> zunknown filter category) rMr r<>r^rAr\r<><00>_MODESr<53><00>
im_rawmode<EFBFBD> Exceptionr<6E>r`<00>rSrbrcr9rDr4r4r5<00>
chunk_IHDR<EFBFBD>s&  <02>
zPngStream.chunk_IHDRrcCsld|jvrt<01>d|jd||j<03>g}n|jdurd|jd<t<01>dd|j||j<03>g}||_||_d}t|<04><01>)N<>bboxr<78>T<> default_imager<65>zimage data found) r<>r <00>_Tiler<65>r<>r<>r<><00>im_idat<61>EOFError)rSrbrcr<>rDr4r4r5<00>
chunk_IDAT<EFBFBD>s


zPngStream.chunk_IDATcCs d}t|<03><01>)Nzend of PNG image)r<>)rSrbrcrDr4r4r5<00>
chunk_IEND<EFBFBD>szPngStream.chunk_IENDcCs4|jdusJ<00>t<01>|j|<02>}|jdkrd|f|_|S)Nr r)rMr r<>r<>r<><00>rSrbrcr9r4r4r5<00>
chunk_PLTE<EFBFBD>s


zPngStream.chunk_PLTEcCs<>|jdusJ<00>t<01>|j|<02>}|jdkr/t<04>|<03>r(|<03>d<02>}|dkr&||jd<|S||jd<|S|jdkrAt|<03>r:dnd|jd<|S|jdvrOt|<03>|jd<|S|jdkrdt|<03>t|d <09>t|d
<EFBFBD>f|jd<|S) Nr r<>r<00> transparencyr<00><>)rrrr&r') rMr r<>r<><00>_simple_palette<74>matchr<68>r<><00>i16)rSrbrcr9r<>r4r4r5<00>
chunk_tRNS<EFBFBD>s&




<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD> zPngStream.chunk_tRNScCs2|jdusJ<00>t<01>|j|<02>}t|<03>d|jd<|S)N<>j<>@<40>gamma)rMr r<>r\r<>r<>r4r4r5<00>
chunk_gAMA szPngStream.chunk_gAMAcCsT|jdusJ<00>t<01>|j|<02>}t<03>dt|<03>d<00>d<03>|<03>}tdd<05>|D<00><01>|jd<|S)N<>>r'<00>Icss<00>|]}|dVqdS)r<>Nr4)<02>.0<EFBFBD>eltr4r4r5<00> <genexpr><00><02>z'PngStream.chunk_cHRM.<locals>.<genexpr><3E> chromaticity)rMr r<>rv<00>unpack<63>len<65>tupler<65>)rSrbrcr9<00>raw_valsr4r4r5<00>
chunk_cHRMs
zPngStream.chunk_cHRMcCsL|jdusJ<00>t<01>|j|<02>}|dkrtjr|Sd}t|<04><01>|d|jd<|S)NrzTruncated sRGB chunkr<00>srgb)rMr r<>r^rAr<>r<>r4r4r5<00>
chunk_sRGBszPngStream.chunk_sRGBc Cs<>|jdusJ<00>t<01>|j|<02>}|dkrtjr|Sd}t|<04><01>t|d<03>t|d<04>}}|d}|dkr?|d|df}||jd<|S|dkrJ||f|jd <|S)
Nr<EFBFBD>zTruncated pHYs chunkrr'r(r<00><>
F%u<02>?<3F>dpi<70>aspect)rMr r<>r^rAr\r<>) rSrbrcr9rD<00>px<70>py<70>unitr<74>r4r4r5<00>
chunk_pHYs+s 
<08>zPngStream.chunk_pHYscCs<>|jdusJ<00>t<01>|j|<02>}z
|<03>dd<02>\}}Wn ty%|}d}Ynw|rK|<04>dd<05>}|<05>dd<06>}|dkr:|n||j|<||j|<|<00>t |<07><01>|S)Nr<4E>rr<>r<>r<><00>replacesexif)
rMr r<><00>splitrArrr<>r<>r<>r<>)rSrbrcr9<00>k<>v<>k_str<74>v_strr4r4r5<00>
chunk_tEXt=s <02>  
zPngStream.chunk_tEXtc
Cs|jdusJ<00>t<01>|j|<02>}z
|<03>dd<02>\}}Wn ty%|}d}Ynw|r-|d}nd}|dkr=d|<06>d<06>}t|<07><01>z
t|dd<00><00>}WntyWtjrTd}n<01>Yn tj ybd}Ynw|r<>|<04>
dd<08>}|<05>
dd <09>} | |j |<|j |<|<00> t| <09><01>|S)
Nr<EFBFBD>rr<>rr<>z in zTXt chunkr<6B>r<>r)rMr r<>rrAr`rEr^r<rwrrr<>r<>r<>r<>)
rSrbrcr9rrr<>rDrrr4r4r5<00>
chunk_zTXtQs< <02>
  <04><02>  zPngStream.chunk_zTXtcCs<>|jdusJ<00>t<01>|j|<02>}}z
|<03>dd<02>\}}Wn ty%|YSwt|<03>dkr.|S|d|d|dd<00>}}}z |<03>dd<03>\}} }
Wn tyT|YSw|dkr<>|dkr~zt|
<EFBFBD>}
Wntyrtjrq|YS<00>tj y}|YSw|S|dkr<>|
|j
d<z|<05> dd<08>} |<08> d d<08>} | <09> d d<08>} |
<EFBFBD> d d<08>}Wn t y<>|YSwt || | <0A>|j
| <|j| <|<00>t|<0E><01>|S)
Nr<EFBFBD>rr&rsXML:com.adobe.xmp<6D>xmpr<70>r<>r<>)rMr r<>rrAr<>rEr^r<rwr<>rrr<>r<>r<>r<>)rSrbrc<00>rr9r<00>cf<63>cmr<6D><00>tkrr<00>lang_str<74>tk_strrr4r4r5<00>
chunk_iTXttsP <02>   <02>  <02>
    <02>zPngStream.chunk_iTXtcCs.|jdusJ<00>t<01>|j|<02>}d||jd<|S)N<>Exif<00>exif)rMr r<>r<>r<>r4r4r5<00>
chunk_eXIf<EFBFBD>szPngStream.chunk_eXIfcCs<>|jdusJ<00>t<01>|j|<02>}|dkrtjr|Sd}t|<04><01>|jdur,d|_t<06>d<03>|St|<03>}|dks8|dkr?t<06>d<03>|S||_t|d<06>|j d<d|_
|S) Nr(z"APNG contains truncated acTL chunkz4Invalid APNG, will use default PNG image if possiblerlr'<00>loopz
image/apng) rMr r<>r^rAr<><00>warnings<67>warnr\r<>r<>)rSrbrcr9rD<00>n_framesr4r4r5<00>
chunk_acTL<EFBFBD>s&


zPngStream.chunk_acTLcCsN|jdusJ<00>t<01>|j|<02>}|dkrtjr|Sd}t|<04><01>t|<03>}|jdur*|dks6|jdur<|j|dkr<d}t|<04><01>||_t|d<06>t|d<07>}}t|d<08>t|d <09>}} |j\}
} |||
ksf| || krld
}t|<04><01>|| ||| |f|j d <t
|d <0C>t
|d <0A>} } | dkr<>d} t | <0C>t | <0A>d|j d<|d|j d<|d|j d<|S)N<>z"APNG contains truncated fcTL chunkrr<00>#APNG contains frame sequence errorsr'r(r<>r)zAPNG contains invalid framesr<73><00><00><00>d<00><><00>duration<6F><00>disposal<61><00>blend) rMr r<>r^rAr\r<>r`r<>r<>r<><00>float)rSrbrcr9rD<00>seq<65>width<74>heightr<74>r<><00>im_w<5F>im_h<5F> delay_num<75> delay_denr4r4r5<00>
chunk_fcTL<EFBFBD>s6
zPngStream.chunk_fcTLcCs<>|jdusJ<00>|dkrtjrt<01>|j|<02>}|Sd}t|<04><01>t<01>|jd<01>}t|<03>}|j|dkr5d}t|<04><01>||_|<00>|d|d<00>S)Nr'z"APNG contains truncated fDAT chunkrr) rMr r^r<>rAr\r<>r`r<>)rSrbrcr9rDr%r4r4r5<00>
chunk_fdAT<EFBFBD>szPngStream.chunk_fdATr<54>)r<>rHr;rOr<>)rbrHrcrHr;r:)rbrHrcrHr;r)r.r/r0rTr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rrrrrrr,r-<00> __classcell__r4r4r<>r5r<><00>s,












#
+

r<><00>prefixr<78>cCs
|<00>t<01>SrP)<02>
startswith<EFBFBD>_MAGIC)r/r4r4r5<00>_accept<70>r<>r2cs<>eZdZdZdZd%dd<06>Zed&dd <09><04>Zd%<25>fd
d <0B> Zd'dd<0F>Z d(d)dd<14>Z
d*dd<16>Z d%dd<18>Z d+dd<1C>Z d%dd<1E>Zd,d d!<21>Zd-<2D>fd#d$<24> Z<10>ZS).<2E> PngImageFile<6C>PNGzPortable network graphicsr;rOc Cs<>|jdusJ<00>t|j<00>d<01><01>sd}t|<01><01>|j|_d|_g|_t|j<00>|_ |j<08><02>\}}}z
|j<08> |||<04>}Wn0t
yAYn0t yht <0C> d|||<04>t<0E>|j|<04>}|dd<07><00><10>rf|j<06>||f<02>Ynw|j<08>||<05>q&|jj|_|jj|_|jj|_d|_|jj|_|jj|_|jjp<>d|_|j<18> dd <09>|_!|jj"r<>|jj"\}}t#<23>$||<07>|_%|d
kr<>|d |_&n||_&|jjdur<>d |_'|j<08>(<28>|j&|_)|j<04>*<2A>|_+|j!r<>|jd7_|<00>,d<03>|jdk|_-dS) Nr(znot a PNG filerT<>%r %s %s (unknown)rr&r<>F<>fdATr').rMr2rZr`<00>_fp<66>_PngImageFile__frame<6D>private_chunksr<73><00>pngrsr<><00>AttributeErrorrorpr r<><00>islowerrjr{r<><00>_moder<65><00>_sizer<65>r<><00>_textr<74>r<>r<><00>custom_mimetyper<65>r<00>getr<74>r<>r <00>raw<61>palette<74>_PngImageFile__prepare_idat<61>!_close_exclusive_fp_after_loadingr<67><00>_PngImageFile__rewind_idatr[<00>_PngImageFile__rewind<6E>_seek<65> is_animated)rSrDrarbrcr9<00>rawmoderFr4r4r5<00>_open<65>s\   <04><02><02>




   
 
zPngImageFile._open<65>dict[str, str | iTXt]cCsR|jdur|jr|j}|<00>|jd<00>|<00><05>|jr|<00>|<01>|jdus&J<00>|jS)Nr)r?rIr8rYr<00>load)rS<00>framer4r4r5r<>>s

zPngImageFile.textcs`|jdur d}t|<01><01>|j<00>|jddd<00>|jdusJ<00>|j<04><05>|j<04><06>t<07><00><05>dS)zVerify PNG fileNz)verify must be called directly after openrr&r()rM<00> RuntimeErrorrYr<>r:r<>rhr<>)rSrDr<>r4r5r<>Ns


zPngImageFile.verifyrNrHc
Cs<>|<00>|<01>sdS||jkr|<00>dd<02>|j}zt|jd|d<00>D]}|<00>|<03>q WdStyB}z |<00>|<02>d}t|<05>|<04>d}~ww)NrTrzno more images in APNG file)<06> _seek_checkr8rH<00>ranger<65>rY)rSrN<00>
last_frame<EFBFBD>frzrDr4r4r5rY^s

  <06>

<08><02>zPngImageFile.seekFr<46>r<>c Cs4|jdusJ<00>t|jt<03>r|jj<04>|d}|dkrb|r<|j<02>|j<06>|j<00><07>|j|_ d|_
|jj |_ |jj |_|j|_d|_d|_|j <0C>dd<03>|_|j <0C>d<04>|_|j <0C>d<05>|_|j <0C>d<06>}d|_n<>||jdkrrd|<01><00>}t|<04><01>|<00><18>|jr<>|j<19>|j|j<1B>|j<19><1C>|_|j|_|j r<>t<1D>|j|j <09>d|_ d} |j<0F>d
<EFBFBD>z
|j<00><1F>\}}}Wn t j!t"fy<>Ynew|d kr<>d }t#|<04><01>|d kr<>|r<>d}t"|<04><01>d }z
|j<00>$|||<08>Wn@t%y<>Yn9t#<23>y|dkr<>|d
8}|r<>||_ Yn#t<1D>|j|<08>Ynt&<26>yt'<27>(d|||<08>t<1D>|j|<08>Ynwq<>||_|jj |_|j <0C>d<04>|_|j <0C>d<05>|_|j <0C>d<06>}|j<0E>sDd}t#|<04><01>|<03>rJ||_|jdu<00>r[|jt)j*k<02>r[t)j+|_d|_|jt)j*k<02>r||j<10>rz|j<10><1C>|_|<00>,|j|j<1B>|_dSdS|jt)j+k<02>r<>t-j.<2E>/|j0|j1<6A>|_|<00>,|j|j<1B>|_dSdS)Nrr<>Fr!r#r<>rzcannot seek to frame Tr'r|zNo more images in APNG file<6C>fcTLzAPNG missing frame datar6r5zimage not found in APNG frame)2r:r<>r7r<00>exrYrGr<>rFrD<00>_imr<6D>r<>r<>r<>rM<00>_prev_im<69>disposerAr<><00>
dispose_op<EFBFBD>blend_opr8rArM<00>im<69>paste<74>dispose_extentr<74>r r<>rZrvrwr`r<>rs<00>UnicodeDecodeErrorr;rorpr-r3r2<00>_cropr <00>core<72>fill<6C>mode<64>size) rSrNr<>r]rD<00> frame_startrarbrcr4r4r5rHms<> 


 
  <02> <02><02>!
  <04><04>zPngImageFile._seekcCs|jSrP)r8rdr4r4r5r[<00>szPngImageFile.tellcCs0|j<00>d<01>r |jd|_|j|_tj<05>|<00>dS)z"internal: prepare to read PNG filer<65>)rN)r<>rA<00> decoderconfigrD<00>_PngImageFile__idatr <00> load_preparerdr4r4r5rg<00>s  zPngImageFile.load_prepare<72>
read_bytesr:cCs<>|jdusJ<00>|jdusJ<00>|jdkrU|j<01>d<03>|j<00><03>\}}}|dvr/|j<00>|||<04>dS|dkrMz
|j<00>|||<04>Wn tyFYnw|d|_n||_|jdks|dkr]|j}nt||j<02>}|j||_|j<01>|<01>S)zinternal: read more image dataNrr')<03>IDATsDDATr6r<>r6)r:rMrfrZrlrsr<><00>min)rSrhrarbrcr4r4r5<00> load_read<61>s,
  <02> 
<EFBFBD>   zPngImageFile.load_readc Cst|jdusJ<00>|jdusJ<00>|jdkr|j<01>|j<02> |j<01>d<04>z
|j<00><03>\}}}Wn tjtfy7Yn<>w|dkr=n<>|dkrP|jrPd|_|j<00> |||<03>noz
|j<00>
|||<03>Wnct ycYn\t y<>|dkrq|d8}z t <0A>|j|<03>Wnty<>}z t jr<>WYd}~Yn3|<04>d}~wwYn)ty<>t<12>d|||<03>t <0A>|j|<03>}|d d
<EFBFBD><00><14>r<>|j<15>||df<03>Ynwq|jj|_|js<>|j<00><19>d|_dS|j<1A>r6|jtjk<02>r8|<00>|j|j <20>}|jj!d kr<>d |j"vr<>|<06>#d |j"d <00>}n.|jj!dk<02>r"d |j"v<00>r"|j"d }t$|t%<25><02>r|<06>&|<08>n t$|t'<27><02>r"|<06>(|<08>|<06>)d <0A>}|j<1A>*||j |<07>|j|_dSdSdS)z%internal: finished reading image dataNrTr'r|rTr6r5rr&rr<>r%r )+r:rMrfrZrvrwr`rIrDrlrsr^r<>r r<>rr^r;rorpr<r9rjr<>r?rhrWrZr6r8r_r[r]rbr<><00>convert_transparentr<74>r:<00>putpalettealphasrH<00>putpalettealpha<68>convertr\) rSrarbrcrzr9<00>updated<65>mask<73>tr4r4r5<00>load_endsz
 <02>  <08><02><04> <04><02><02>
#


<06>
   

 <08>zPngImageFile.load_end<6E>dict[int, Any] | NonecCs6d|jvr |<00><01>d|jvrd|jvrdS|<00><02><00><03>S)NrzRaw profile type exif)r<>rM<00>getexif<69>_get_merged_dictrdr4r4r5<00>_getexif?s
 zPngImageFile._getexif<69>
Image.Exifcsd|jvr |<00><01>t<02><00><03>S)Nr)r<>rMr<>rurdr<>r4r5ruFs

zPngImageFile.getexifr<66>)r;rL)rNrHr;rOr<>)rNrHr<>r<>r;rO)r;rH)rhrHr;r:)r;rt)r;rx)r.r/r0<00>format<61>format_descriptionrK<00>propertyr<79>r<>rYrHr[rgrkrsrwrur.r4r4r<>r5r3<00>s
D 
 
d

#
?r3)r<00>r<>)<03>L;1r|r<>)r<00>r<>)r<00>r<>)r<00>r<>)r$r<>r)r<00>r<>)r!r|<00>)r"r~r<>)r#rr<>)r r<>r<>)rr<>r~)r%r<><00>)rr}rrrr$r<>rrr!r"r#r rr%rMrNrarOcGsJd<01>|<02>}|<00>tt|<03><01>|<00>|<00>|<03>t|t|<01><01>}|<00>t|<04><01>dS)z'Write a PNG chunk (including CRC field)r<>N)<05>join<69>write<74>o32r<32>rJ<00>rMrarF<00> byte_datar{r4r4r5<00>putchunkds

r<>c@s eZdZddd<08>Zdd d <0C>Zd S)<10>_idatrMrN<00>chunk<6E>Callable[..., None]r;rOcCs||_||_dSrP)rMr<>)rSrMr<>r4r4r5rTrrUz_idat.__init__rFr:cCs|<00>|jd|<01>dS)Nri)r<>rM<00>rSrFr4r4r5r<>v<00>z _idat.writeN)rMrNr<>r<>r;rO<00>rFr:r;rO<00>r.r/r0rTr<>r4r4r4r5r<>os
r<>c@s eZdZdd d
<EFBFBD>Zdd d<0E>ZdS)<12>_fdatrMrNr<>r<>r<>rHr;rOcCs||_||_||_dSrP)rMr<>r<>)rSrMr<>r<>r4r4r5rT}s
z_fdat.__init__rFr:cCs*|<00>|jdt|j<03>|<01>|jd7_dS)Nr6r)r<>rMr<>r<>r<>r4r4r5r<><00>sz _fdat.writeN)rMrNr<>r<>r<>rHr;rOr<>r<>r4r4r4r5r<>zs
r<>r[<00> Image.Image<67> encoderinfo<66>dict[str, Any]cCs2|<01>dd<02>|<01>dd<04>|<01>dd<04>|<01>dd<07>f|_dS)N<>optimizeF<65>compress_level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD> compress_type<70>
dictionaryr<EFBFBD>)rA<00> encoderconfig)r[r<>r4r4r5<00>_apply_encoderinfo<66>s




<EFBFBD>r<EFBFBD>c@r<>)<08>_Framer<65>r[z tuple[int, int, int, int] | Noner<65>r<>r<>Nr<4E>r4r4r4r5r<><00>r<>r<>r<>r<>rbr<>rJr<><00>Image.Image | None<6E> append_images<65>list[Image.Image]c#Cs<>|j<00>d<01>}|j<00>d|j<02>dd<03><02>}|j<00>d|j<02>dtj<04><02>} |j<00>d|j<02>dtj<06><02>}
|r4t<07>|<06>} nt<07>|g|<06>} g} d} | D]<5D>}t <09>
|<0E>D]<5D>}|j |krT|<0F> <0C>}n|<0F> |<03>}|j<00> <0C>}t|ttf<02>rl|| |d<n|dur|d|jvr||jd|d<t| ttf<02>r<>| | |d<t|
ttf<02>r<>|
| |d<| d7} | <0C>r*| d}|j<00>d<04>}|j<00>d<05>}|tjkr<>t| <0C>dkr<>tj}|tjkr<>|j<14> <0C>}tj<16>d |jd
<EFBFBD>}|j}|r<>|<15>|<16>}nd |j}|<14>||<16>n|tjkr<>| d j}n|j}t<1C>|<0F> d <09>|<14> d <09><01>}|jd d<0E>}|<16>s)||<10>d<04>k<02>r)||<10>d<05>k<02>r)d|v<00>r)|jd|d7<qHnd}| <0C>t |||<10><03>qHqAt| <0C>dk<02>rF|<05>sF| djS||dt!t| <0C><01>t!|<08><01>|<05>r<>|j |k<02>r^|n|<00> |<03>}t"||j<00>t#<23>$|t%t&t't(||<02><02>t#<23>)dd |jd|<04>g<01>d}t*| <0C>D]<5D>\}}|j}|j<19>s<>d |j}n|j}|<0F>|<16>}|j}|j}|<10>dd<03>}t+|d<00><01>,d<12>}|j-dk<04>r<>d}t.|<1F><01>|<10>d| <09>} |<10>d|
<EFBFBD>}!||dt!|<19>t!|d<00>t!|d<00>t!|d<00>t!|d<00>t/|j-<2D>t/|j0<6A>t1| <20>t1|!<21><01> |d7}t"||j<00>|dk<02>r%|<05>s%t#<23>$|t%t&t't(||<02><02>t#<23>)dd |jd|<04>g<01><00>q<>t2|||<19>}"t#<23>$|t%t&t'|"<22>t#<23>)dd |jd|<04>g<01>|"j3}<19>q<>dS)Nrrrr!r#rr<>r&r%)rrrrr<><00><><EFBFBD><EFBFBD><EFBFBD>F)<01>
alpha_onlysacTLr<4C>r<00><><EFBFBD>zcannot write durationrT)4r<34>rAr<>r-r1r6r7<00> itertools<6C>chainr <00>Iteratorrbr<>ror<><00>listr<74>r3r<>r2r[r r`rarcr<><00>cropr\r
<00>subtract_modulo<6C>getbboxrjr<>r<>r<>r <00>_saverrr:r<>r<><00> enumerater<00>limit_denominator<6F> numeratorrA<00>o16<31> denominatorrr<>r<>)#r[rMr<>rbrJr<>r<>rrr!r#r<><00> im_frames<65> frame_count<6E>im_seq<65>im_framer<65><00>previous<75> prev_disposal<61>
prev_blend<EFBFBD>base_imrXr<><00>delta<74>
default_imr<EFBFBD>rN<00>
frame_datarc<00>frame_duration<6F>delayrD<00>frame_disposal<61> frame_blend<6E> fdat_chunksr4r4r5<00>_write_multiple_frames<65>s<>  



    

 

 <04> <04>
<02><02>4

<04> <04> 
    



<04> <08>  <04>
r<><00>filenamer<65>cCst|||dd<02>dS)NT)<01>save_all)r<>)r[rMr<>r4r4r5<00> _save_all)r<>r<>r<>c)
sJ|rU|j<00>d|j<02>d<01><01>}t<03>}t<03><00>|j<00>dg<00>}t<04>|g|<07>D]}t<06>|<08>D]} |<06>| j <09><00><00>| j
<EFBFBD>q(q!dD]}
|
|vrBnq:|<06> <0B>}
t <0C>fdd<05>t d<06>D<00><01>} n|j
} |j }
|
} g} |jrh|<00><0F>pgg} |
dkr<>d|jvr|td |jd>d
<EFBFBD>}n|jr<>ttt| <0A>d d
<EFBFBD>d <09>}nd
}|d kr<>|dkr<>d }n |d kr<>d}nd }| d|<0F><00>7} z t| \}}}Wnty<>}z d|
<EFBFBD>d<10>}t|<14>|<13>d}~ww| dkr<>tddd d<14>|<01>t<18>||dt| d<00>t| d <00>||ddd<17> gd<18>}|j<00>d|j<02>d<19><01>}<16>rd}|dt<1A>|<16>}||d|<18>|<15>d<1D>|j<00>d<1E>}<19>rngd<1F>}|jD]G}|dd<06>\}}||v<00>rB|<15>|<1C>||||<18><00>q&||v<00>rO||||<18><00>q&|d d<06><00><1E><00>rlt|<1B>d k<02>ob|d}|<1D>sl||||<18><00>q&|j dk<02>r<>|d }t| d|<1E><00>}t|<1F>|k<00>r<>|d7}t|<1F>|k<00>s<>||d |<1F>|j<00>d!|j<02>d!d<00><02>} | <20>s<>| dk<02>r|j dk<02>r<>|}!t | t<1F><02>r<>||d"| d|!<21><00>nztdtd#| <20><02>} d$| d}"||d"|"d|!<21><00>na|j d%v<00>r<>tdtd&| <20><02>} ||d"t!| <20><01>nJ|j d'k<02>r| \}#}$}%||d"t!|#<23>t!|$<24>t!|%<25><00>n.d!|jv<00>rd(}t|<14><01>n!|j dk<02>r?|j"<22>#<23>d)k<02>r?|j"<22>d)d*<2A>}"|}!||d"|"d|!<21><00>|j<00>d+<2B>}&<26>rd||d,tt$|&dd-d.<00><01>tt$|&d d-d.<00><01>d/<2F>|<19>r<>d0d1g}|jD]}|dd<06>\}}||v<00>r<>|<15>|<1C>||||<18><00>qn|j<00>d2<64>}'<27>r<>t |'t%j&<26><02>r<>|'<27>'d3<64>}'|'<27>(d4<64><01>r<>|'d5d<00>}'||d6|'<27>|}(|<04>r<>t)||||
|||<07>}(|(<28>r<>t*|(|j<00>t+<2B>,|(t-t.tt/||<03><02>t+<2B>0d7d8|(j
d|<10>g<01>|<19>r|jD](}|dd<06>\}}|d d<06><00><1E><00>rt|<1B>d k<02>o|d}|<1D>r||||<18><00>q<>||d9d:<3A>t1|d;<3B><02>r#|<01>2<EFBFBD>dSdS)<Nr<4E>r<>)r%rr c3s&<00>|]<0E>t<00>fdd<01><08>D<00><01>VqdS)c3s<00>|]}|<01>VqdSrPr4)r<><00>
frame_size<EFBFBD>r<>r4r5r<>Fr<>z"_save.<locals>.<genexpr>.<genexpr>N)<01>max)r<><00><01>sizesr<73>r5r<>Fs<02>$z_save.<locals>.<genexpr>r&r <00>bitsr<00>r*r)r'<00>;zcannot write mode z as PNGr<47>zSaving I mode images as PNGr<47>)<01>
stacklevelsIHDRrr<>)scHRMscICPsgAMAssBIT<49>sRGBstIMEr<45>s ICC Profiler<65>siCCPr<50><00>pnginfo)ssPLTr<54>r<>r<>sPLTEr<45>stRNSr<53><00><00>)rrr<>rr<>rz%cannot use transparency for this moder%<00>Ar<41>spHYsr<73>g<00>?r|sbKGDshISTrr(rr+seXIfr<66>r<>r|r<><00>flush)3r<33>rAr<><00>setr<74>r<>r r<>r<>rbrcrXr<>rQrC<00>
getpaletterjr<>r<><00> _OUTMODES<45>KeyErrorrrr<>r1r<>r<r<><00>remover<65>r<r:r<>r<>r[<00>getpalettemoderHr <00>Exif<69>tobytesr0r<>r<>r r<>rrr<>r<><00>hasattrr<72>))r[rMr<>r<>r<>r<><00>modesr<73>r<>r<>rbrc<00>outmoderC<00>colorsr<73>rJ<00> bit_depth<74>
color_typerzrDr<><00>icc<63>namerFr<><00>chunks_multiple_allowed<65>
info_chunkrar<><00>palette_byte_number<65> palette_bytesr<73><00> alpha_bytes<65>alpha<68>red<65>green<65>bluer<65>r<00> single_imr4r<>r5r<>-s4  <04> <02><02> 
 
<08><02>


<04>  




 <04> <0E>      
" <02><04>


 <04>
   <04> <04>
 <04>   <04>r<EFBFBD><00>paramsr<00> list[tuple[bytes, bytes, bytes]]c sJddlm}g<00>d<0E>fd
d <0B> }|<02>}z||_t||d |<03>W|`<02>S|`w)z4Return a list of PNG chunks representing this image.r)<01>BytesIOrMrNrar:rFr;rOcs0d<01>|<02>}tt|t|<01><01><02>}<04><00>|||f<03>dS)Nr<4E>)r<>r<>rJrjr<>r<>r4r5rjs
zgetchunks.<locals>.appendr<64>N<>rMrNrar:rFr:r;rO)<04>ior<6F>r<>r<>)r[r<>r<>rjrMr4r<>r5<00> getchunks<6B>s <06>r<EFBFBD>z.pngz.apngz image/png)r9r:r;r:)r)rFr:rGrHr;rH)r/r:r;r<>r<>)r[r<>r<>r<>r;rO)r[r<>rMrNr<>r<>rbr<>rJr<>r<>r<>r<>r<>r;r<>)r[r<>rMrNr<>r<>r;rO) r[r<>rMrNr<>r<>r<>r<>r<>r<>r;rO)r[r<>r<>rr;r<>)R<>
__future__rr<><00>logging<6E>rervrr<<00>enumr<00> fractionsr<00>typingrrrr<>r r
r r r <00>_binaryrr<>rr\rrr<>rr<><00>
_deprecater<00>_utilr<00> TYPE_CHECKING<4E>collections.abcrrrr<00> getLoggerr.ro<00>compiler<65>r]r1r<>r<><00> SAFEBLOCKr?r<>r-r6rErJrLr<>r<>r<>r<>r<>r2r3r<>r<>r<>r<>r<>r<>r<>r<>r<>r<><00> register_openry<00> register_save<76>register_save_all<6C>register_extensions<6E> register_mimer4r4r4r5<00><module>s<>            
 <06>

 ^`
o^<06>
 


 <0C>
P