)EjddlmZddlZddlmZmZmZddlmZ ddlm Z ddlm Z ddl mZdd ZGddejZejejeeejejddgdS)) annotationsN)Image ImageFile ImagePalette)i16le)i32leo8) DeferredErrorprefixbytesreturnboolcpt|dko#t|ddvot|ddvS)N)i)r)leni16)r s DC:\PYTHON\MyICR_Suite\python\Lib\site-packages\PIL/FliImagePlugin.py_acceptrs@ F r & NN. . & OOv %cBeZdZdZdZdZddZdd Zdd ZddZ ddZ dS) FliImageFileFLIzAutodesk FLI/FLC AnimationFrNonec|jJ|jd}t|r*|dddkr|dddkr|ddd ksd }t|t |d |_|jd k|_d |_t |dt |df|_t|d}t |d}|dkr|dzdz}||j d<dtdD}|jd}d|_ t |ddkrI|j |j t|z|jd}t |ddkrt |d }d}t|D]}|(|j |d z tj|jd }t |d} | dvr ||| dkrdndnt|}|snt#jddd |D|_d!|_|j|_|j|_| ddS)"Ns*Ps&Xs(znot an FLI/FLC filerP rrriFdurationcg|]}|||fSr.).0as r z&FliImageFile._open..Ns111Aq!9111rii)r r3rRGBrc3|K|]7\}}}t|t|zt|zV8dSNr )r/rgbs r z%FliImageFile._open..jsCKKiq!QBqEEBqEEMBqEE1KKKKKKr)fpreadr SyntaxErrorrn_frames is_animated_mode_sizei32inforange_FliImageFile__offsetseekosSEEK_CUR_paletterrawjoinpalette_FliImageFile__frame_fptell_FliImageFile__rewind) selfsmsgr,magicrNnumber_of_subchunks chunk_size_ chunk_types r_openzFliImageFile._open1sw""" GLL   AJJ #"R%K''"R%L(("##,&&'Cc"" "Aq  =1, AYYAr * q"::Aq  F?? 4B.H ( *21eCjj111 GLL   q!99   GLLQ/ 0 0 0 R  A q!99  "%a)) %)J.//  )GLLa===GLLOO AYY ((MM' b0@0@11aHHHE VV !E$' 388KK7KKKKK    7   ! rrNlist[tuple[int, int, int]]shiftintcd}|jJtt|jdD]}|jd}||dz}|d}|dkrd}|j|dz}tdt |dD]6}|||z}||dz|z}||dz|z} ||| f||<|dz }7dS)Nrr4rr2r)r=rFrr>r) rSrNr]ierTnr8r9r:s rrKzFliImageFile._palettess  w"""s47<<??++,,  A QAAaDA!AAvv QU##A1c!ffa((  aDEMa!eH%a!eH%AY Q    rframec||sdS||jkr|dt|jdz|dzD]}||dS)Nrr) _seek_checkrO_seekrF)rSrcfs rrHzFliImageFile.seeksx&&  F 4<   JJqMMMt|a'33  A JJqMMMM  rct|jtr |jj|dkr.d|_|j|jd|_n|||jdzkrd|}t|||_|j|_ |j |j|j d}|sd}t|t|}||_tjdd |jz|jg|_|xj|z c_dS) Nrr<r!rzcannot seek to frame rzmissing frame sizefli)rr) isinstancerPr exrOrHrRrGload ValueErrorr=r>EOFErrorrDdecodermaxblockr_Tilesizetile)rSrcrUrT framesizes rrfzFliImageFile._seeks# dh . . (+  A::DL HMM$- ( ( (DMM IIKKK DL1$ $ $1%11CS// ! (  T]### GLLOO &C3-- FF (_UFTY,> NNO  " rc|jSr7)rO)rSs rrQzFliImageFile.tells |rN)rr)rNr\r]r^rr)rcr^rr)rr^) __name__ __module__ __qualname__formatformat_description!_close_exclusive_fp_after_loadingr[rKrHrfrQr.rrrr,s F5(-%@@@@D&####@rrz.fliz.flc)r rrr) __future__rrIrrr_binaryrrr rDr _utilr rr register_openrxregister_extensionsr.rrrs"#""""" ,,,,,,,,,,!!!!!!!!!!!! DDDDD9&DDDTL'w???,-/?@@@@@r