)Ej1 ddlmZddlZddlmZddlmZmZddlm Z ddlm Z ddlm Z d Zd d d d d d d dddd d Zd)dZGddejZGddejZGddejZd*d$Zejejeeejejeejd%eejd&eejejgd'ejejd(dS)+) annotationsN)IO)Image ImageFile)i16be)o8)o32les 1LRGBCMYKFPRGBA) P1P2P3P4P5P6sP0CMYKPfsPyPsPyRGBAsPyCMYKprefixbytesreturnboolcft|dko|do |ddvS)NPrs 0123456fy)len startswith)rs DC:\PYTHON\MyICR_Suite\python\Lib\site-packages\PIL/PpmImagePlugin.py_acceptr#1s4 v;;!  U 1 1$ 7 7 UF1I ) )#WW%S//)  u::''=mRS m@TTC$S//)E 199CECCG$W---6>>OOOG$W---efnw677di3&6&6E BuIIEt99 ++E,M$ii;&&P r$bufferImage.DecoderInputtuple[int, int]c d|_|jdkr|}d}n6|jd}||}|jdkrdn|j}|t ||dS)NFr z1;8rBrDI;32rBr)rirZrr\r set_as_rawr)r.rrr]r^s r"decodezPpmPlainDecoder.decodes# 9  ''))DGGYr]F&&v..D $ S 0 0ffdiG d W---ur$Nr`)r)rnrrorNrrN)rnrrr)rr})r^rNrr}rrrr) rarbrc _pulls_fd__annotations__rmrxr|rrrrfr$r"rhrhsI1111 55555    D&&&&21111f      r$rhceZdZdZddZdS) PpmDecoderTrrrrc4|jJt}|jd}|dkrdnd}|jdkrdnd}|jdkrdnd}t j|j}|jj|jjz|z|z}t||kr|j ||z} t| ||zkrnt|D]r} |dkr| | nt| | |z} t|t| |z |z} ||jdkrt| nt!| z }st||k|jdkrd n|j} |t%|| d S) NrBrrrDrrErCrr)rkr}r\rZrrrrrr r,r+i16rtrrr rr) r.rrr^ in_byte_countrrr dest_lengthpixelsrwrr]s r"rzPpmDecoder.decode/sw"""{{2#c\\q "i3..A9++%%"49--j&)99EANR $ii+%%W\\-%"788F6{{]U2225\\ F F!.!!3!3F1IIVQEV9W9WGU56>G+C%D%DEEdi3&6&6E BuIIE$ii+%%!I,,&&$) d W---ur$Nr)rarbrcrrrfr$r"rr,s-Ir$rim Image.Imager* IO[bytes]filename str | bytesr;c |jdkrd\}}nZ|jdkrd\}}nI|jdvrd\}}n:|jdvrd\}}n+|jd krd \}}nd |jd }t|||d |jzz|dkr|dnS|dkr2|dkr|dn1|dn|dkr|d|jd krdnd}t j||t jdd|jzd|d|fgdS)Nr )r?rr )r r)rDzI;16)rFr)r r)r rr)rArzcannot write mode z as PPMs %d %d rs255 rs65535 rs-1.0 rBrr=rHr)rZOSErrorwriterVr_saverU)rr*rr]headr8 row_orders r"rrMs~ w#~~$  C"  M ! !&  O # #$  C& 327333cllHHTL27* *+++ u}}   c>> HHX     HHZ  gnn!I O B(8!gq)=TUUVr$rGr>)z.pbmz.pgmz.ppmz.pnmz.pfmzimage/x-portable-anymap)rrrr)rrr*rrrrr;) __future__rrQtypingrrr_binaryrrr r rr-rIr#r& PyDecoderrhrr register_openrd register_saveregister_decoderregister_extensions register_mimerfr$r"rs #""""" !!!!!!!!!!!! +           $VVVVc c c c c 9&c c c TFFFFFi)FFFR$BDL'w???L'///uj))){O444,-/W/W/WXXXL')BCCCCCr$