ó
    EñiF#  ã                  ó&  • S SK Jr  S SKrS SKJr  S SKJr  SSKJrJ	r	J
r
   SSKJr  SrS
rS rSS jrSS jrSS jr " S S\
R                  5      rSS jr S         SS jjr\	R,                  " \R.                  \\5        \(       aw  \	R0                  " \R.                  \5        \	R2                  " \R.                  \5        \	R4                  " \R.                  SS/5        \	R6                  " \R.                  S5        gg! \ a    S	r Nåf = f)é    )ÚannotationsN)ÚBytesIO)ÚIOé   )ÚExifTagsÚImageÚ	ImageFile)Ú_avifTFÚautoc                óÞ   • [         R                  " 5       nUR                  S5       HC  nUR                  S5      S   U :X  d  M  UR                  S5      S   R                  S5      S   s  $    g )Nz, z [r   Ú:éÿÿÿÿÚ )r
   Úcodec_versionsÚsplit)Ú
codec_nameÚversionsÚversions      ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/PIL/AvifImagePlugin.pyÚget_codec_versionr      sb   € Ü×#Ò#Ó%€HØ—>‘> $Ö'ˆØ�=‰=˜Ó˜qÑ! ZÕ/Ø—=‘= Ó% bÑ)×/Ñ/°Ó4°QÑ7Ò7ñ (ð ó    c                óJ   • U SS S:w  a  gU SS nUS;   a  [         (       d   ggg)	Né   é   s   ftypFé   )s   avifs   aviss   mif1s   msf1zEimage file could not be identified because AVIF support not installedT)Ú	SUPPORTED)ÚprefixÚmajor_brands     r   Ú_acceptr      sB   € Øˆa�€{�gÓØØ˜˜2�,€KØð ó ÷ ŠyàWðð Ør   c                 óÈ   • [         (       a  [         $ [        [        S5      (       a  [        [        R                  " S5      5      $ [        R
                  " 5       =(       d    S$ )NÚsched_getaffinityr   r   )ÚDEFAULT_MAX_THREADSÚhasattrÚosÚlenr!   Ú	cpu_count© r   r   Ú_get_default_max_threadsr(   8   sC   € ßÒÜ"Ð"ÜŒrÐ&×'Ñ'Ü”2×'Ò'¨Ó*Ó+Ð+ä�|Š|‹~×" Ð"r   c                  ó`   ^ • \ rS rSrSrSrSrSS jrSS jrSU 4S jjr	SS jr
SS	 jrS
rU =r$ )ÚAvifImageFileéA   ÚAVIFz
AVIF imager   c                ó–  • [         (       d  Sn[        U5      e[        S:w  a,  [        R                  " [        5      (       d  Sn[        U5      eU R                  c   e[        R                  " U R                  R                  5       [        [        5       5      U l
        U R                  R                  5       u  U l        U l        U l        p#pEU R                  S:„  U l        U(       a  X R                   S'   U(       a  XPR                   S'   US:w  d  U(       a‹  ["        R$                  " 5       nU(       a<  UR'                  U5        UR)                  [*        R,                  R.                  S5      nOSnXG:w  a,  XF[*        R,                  R.                  '   UR1                  5       nU(       a  X0R                   S'   U R3                  S5        g )	NzAimage file could not be opened because AVIF support not installedr   zInvalid opening codecr   Úicc_profileÚxmpÚexifr   )r   ÚSyntaxErrorÚDECODE_CODEC_CHOICEr
   Údecoder_codec_availableÚ
ValueErrorÚfpÚAvifDecoderÚreadr(   Ú_decoderÚget_infoÚ_sizeÚn_framesÚ_modeÚis_animatedÚinfor   ÚExifÚloadÚgetr   ÚBaseÚOrientationÚtobytesÚseek)ÚselfÚmsgÚiccr0   Úexif_orientationr/   Ú	exif_dataÚoriginal_orientations           r   Ú_openÚAvifImageFile._openF   s]  € ßŠyØUˆCÜ˜cÓ"Ð"ä &Ó(´×1NÒ1NÜ÷2
ñ 2
ð *ˆCÜ˜S“/Ð!à�w‰wÑ"Ð"Ð"Ü×)Ò)Ø�G‰G�L‰L‹NÜÜ$Ó&ó
ˆŒð �M‰M×"Ñ"Ó$ñ 	PˆŒ
�D”M 4¤:¨sÐ:Jð  Ÿ=™=¨1Ñ,ˆÔæØ'*�I‰I�mÑ$ÞØ"�I‰I�eÑà˜qÓ ¦DÜŸ
š
›ˆIÞØ—‘˜tÔ$Ø'0§}¡}´X·]±]×5NÑ5NÐPQÓ'RÑ$à'(Ð$ØÓ7Ø7Gœ(Ÿ-™-×3Ñ3Ñ4Ø ×(Ñ(Ó*�ÞØ $�I‰I�fÑØ�	‰	�!�r   c                óª   • U R                  U5      (       d  g Xl        [        R                  " SSU R                  -   SU R
                  5      /U l        g )NÚraw)r   r   r   )Ú_seek_checkÚ_AvifImageFile__framer	   Ú_TileÚsizeÚmodeÚtile)rF   Úframes     r   rE   ÚAvifImageFile.seekq   sC   € Ø×Ñ ×&Ñ&Øð ŒÜ—_’_ U¨F°T·Y±YÑ,>ÀÀ4Ç9Á9ÓMÐNˆ�	r   c                óž  >• U R                   (       a®  U R                  R                  U R                  5      u  pp4[	        SX2-  -  5      U R
                  S'   [	        SXB-  -  5      U R
                  S'   U R                  (       a+  U R                  (       a  U R                  R                  5         [        U5      U l        [        TU ]-  5       $ )Niè  Ú	timestampÚduration)rU   r8   Ú	get_framerQ   Úroundr>   r5   Ú_exclusive_fpÚcloser   Úsuperr@   )rF   ÚdataÚ	timescaleÚpts_in_timescalesÚduration_in_timescalesÚ	__class__s        €r   r@   ÚAvifImageFile.loady   sš   ø€ Ø�9�9ð —‘×'Ñ'¨¯©Ó5ñ GˆDÐ.ô &+¨4Ð3DÑ3PÑ+QÓ%RˆD�I‰I�kÑ"Ü$)¨$Ð2HÑ2TÑ*UÓ$VˆD�I‰I�jÑ!à�w�w˜4×-×-Ø—‘—‘”Ü˜d“mˆDŒGä‰w‰|‹~Ðr   c                ó   • g ©Nr'   )rF   Úposs     r   Ú	load_seekÚAvifImageFile.load_seekˆ   s   € Ør   c                ó   • U R                   $ rg   )rQ   )rF   s    r   ÚtellÚAvifImageFile.tell‹   s   € Ø�|‰|Ðr   )Ú__framer8   r<   r:   r5   r=   r;   rU   )ÚreturnÚNone)rV   Úintro   rp   )ro   zImage.core.PixelAccess | None)rh   rq   ro   rp   ©ro   rq   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚformatÚformat_descriptionrQ   rL   rE   r@   ri   rl   Ú__static_attributes__Ú__classcell__)rd   s   @r   r*   r*   A   s3   ø† Ø€FØ%ÐØ€Gô)ôVO÷ô÷ò r   r*   c                ó   • [        XUSS9  g )NT)Úsave_all)Ú_save)Úimr5   Úfilenames      r   Ú	_save_allr€   �   s   € Ü	ˆ"�( TÓ*r   c                ó>
  • U R                   R                  5       nU(       a  [        UR                  S/ 5      5      nO/ nSnU /U-    H  nU[	        USS5      -  nM     UR                  SS5      n[        U[        5      (       a  US:  d  US:”  a  Sn	[        U	5      eUR                  S	S5      n
UR                  S
S5      nUR                  SS5      nUR                  S[        5       5      nUR                  SS5      nUS:w  a(  [        R                  " U5      (       d  Sn	[        U	5      eUR                  SS5      nUR                  SS5      nUR                  SS5      n[        UR                  SS5      5      n[        UR                  SUUs=:H  =(       a    S:H  Os  5      5      nUR                  SU R                  R                  S5      5      nSnUR                  S5      =n(       aØ  [        U[        R                  5      (       a  UnO&[        R                  " 5       nUR                  U5        [         R"                  R$                  U;   aC  UR'                  [         R"                  R$                  5      nU(       a  UR)                  5       OSnO/[        U[        R                  5      (       a  UR)                  5       nUR                  S5      n[        U[*        5      (       a  UR-                  S5      nUR                  S5      nUbW  [        U[.        5      (       a  UR1                  5       n [3        U5      n[5        S U 5       5      nU(       a  S!n	[        U	5      e[        R8                  " U R:                  UUUUUUUUUUU=(       d    SU=(       d    SUU=(       d    SU5      nSnSnU R=                  5       nUS:H  n U /U-    HØ  n[	        USS5      n [?        U 5       H¹  n!URA                  U!5        Un"URB                  n#URB                  S";  a&  URD                  (       a  S#OS$n#URG                  U#5      n"[        U
[        [2        45      (       a  U
U   nOU
nURI                  U"R)                  S%U#5      UU"R:                  U#U5        US-  nU(       a  M¸    MÖ     MÚ     U RA                  U5        URK                  5       n$U$c  S&n	[M        U	5      eURO                  U$5        g ! [6         a    S n GN¬f = f! U RA                  U5        f = f)'NÚappend_imagesr   r;   r   ÚqualityéK   éd   zInvalid quality settingrZ   Úsubsamplingz4:2:0Úspeedé   Úmax_threadsÚcodecr   zInvalid saving codecÚrangeÚfullÚ	tile_rowsÚ	tile_colsÚalpha_premultipliedFÚ
autotilingr.   r0   r   r/   zutf-8Úadvancedc              3  óv   #   • U  H/  n[        U[        5      (       + =(       d    [        U5      S :g  v •  M1     g7f)é   N)Ú
isinstanceÚtupler%   )Ú.0Úvs     r   Ú	<genexpr>Ú_save.<locals>.<genexpr>Ï   s*   é € ÐTÊ8Àaœj¨¬EÓ2Ô2×A´c¸!³fÀ±kÔAÊ8ùs   ‚79Tzcadvanced codec options must be a dict of key-value string pairs or a series of key-value two-tuples>   ÚRGBÚRGBAr›   rš   rO   z1cannot write file as AVIF (encoder returned None))(ÚencoderinfoÚcopyÚlistrA   Úgetattrr”   rq   r4   r(   r
   Úencoder_codec_availableÚboolr>   r   r?   r@   r   rB   rC   ÚpoprD   ÚstrÚencodeÚdictÚitemsr•   ÚanyÚ	TypeErrorÚAvifEncoderrS   rl   r‹   rE   rT   Úhas_transparency_dataÚconvertÚaddÚfinishÚOSErrorÚwrite)%r~   r5   r   r|   r>   r‚   ÚtotalÚimsrƒ   rG   rZ   r†   r‡   r‰   rŠ   Úrange_Útile_rows_log2Útile_cols_log2r�   r�   r.   rI   r0   rJ   r/   r‘   ÚinvalidÚencÚ	frame_idxÚframe_durationÚcur_idxÚis_single_frameÚnfrÚidxrV   Úrawmoder`   s%                                        r   r}   r}   “   su  € ð �>‰>×ÑÓ €DÞÜ˜TŸX™X o°rÓ:Ó;‰àˆà€EØˆt�mÔ#ˆØ”˜˜j¨!Ó,Ñ,Šñ $ð �h‰h�y "Ó%€GÜ�gœs×#Ñ# w°£{°gÀ³mØ'ˆÜ˜‹oÐà�x‰x˜
 AÓ&€HØ—(‘(˜=¨'Ó2€KØ�H‰H�W˜aÓ €EØ—(‘(˜=Ô*BÓ*DÓE€KØ�H‰H�W˜fÓ%€EØ�ƒœu×<Ò<¸U×CÑCØ$ˆÜ˜‹oÐØ�X‰X�g˜vÓ&€FØ—X‘X˜k¨1Ó-€NØ—X‘X˜k¨1Ó-€NÜ˜tŸx™xÐ(=¸uÓEÓFÐÜ�d—h‘h˜|¨^¸~×-RÓ-RÐQRÔ-RÓSÓT€Jà—(‘(˜=¨"¯'©'¯+©+°mÓ*DÓE€KØÐØ�x‰x˜ÓÐ€tÕÜ�dœEŸJ™J×'Ñ'Ø‰IäŸ
š
›ˆIØ�N‰N˜4Ô Ü�=‰=×$Ñ$¨	Ó1Ø(Ÿ}™}¬X¯]©]×-FÑ-FÓGÐÞ*3�9×$Ñ$Ô&¸‰DÜ˜œeŸj™j×)Ñ)Ø×$Ñ$Ó&ˆDà
�(‰(�5‹/€Cä�#”s×ÑØ�j‰j˜Ó!ˆà�x‰x˜
Ó#€HØÑÜ�h¤×%Ñ%Ø—~‘~Ó'ˆHð	UÜ˜X“ˆHô ÑTÉ8ÓTÓTˆGÞð<ð ô ˜S“/Ð!ô ×
Ò
Ø
�‰ØØØØØØØØØØØ×�sØ��ØØ�
ˆsØó!€Cð( €IØ€NØ�g‰g‹i€GØ˜q‘j€Oð%Ø�4˜-Ô'ˆCä˜#˜z¨1Ó-ˆCä˜S–z�Ø—‘˜”ð �ØŸ(™(�Ø—8‘8 ?Ó2Ø(+×(A×(A™fÀu�GØŸK™K¨Ó0�Eô ˜h¬¬u¨×6Ñ6Ø%-¨iÑ%8‘Nà%-�Nð —‘Ø—M‘M %¨Ó1Ø"Ø—J‘JØØ#ôð ˜Q‘�	ç�xÚó; "ñ	 (ðH 	�‰�Ôð �:‰:‹<€DØ�|ØAˆÜ�c‹lÐà‡H�HˆT…Nøôc ó 	Ø‹Gð	ûðR 	�‰�Õús%   Ì<S6 ÏCT	 Ò*	T	 Ó6TÔTÔ	Tz.avifz.avifsz
image/avif)r   r£   ro   z
str | None)r   Úbytesro   z
bool | strrr   )r~   úImage.Imager5   ú	IO[bytes]r   ústr | bytesro   rp   )F)
r~   r¿   r5   rÀ   r   rÁ   r|   r¡   ro   rp   )Ú
__future__r   r$   Úior   Útypingr   Ú r   r   r	   r
   r   ÚImportErrorr2   r"   r   r   r(   r*   r€   r}   Úregister_openrw   Úregister_saveÚregister_save_allÚregister_extensionsÚregister_mimer'   r   r   Ú<module>rÌ      s,  ðÝ "ã 	Ý Ý ç (Ñ (ðÝà€Ið Ð ØÐ ôôô4#ôK�I×'Ñ'ô Kô\+ð
 MRðJØðJØ"ðJØ.9ðJØEIðJà	õJðZ × Ò �M×(Ñ(¨-¸Ô AÞØ	×Ò˜×,Ñ,¨eÔ4Ø	×Ò˜M×0Ñ0°)Ô<Ø	×Ò˜m×2Ñ2°W¸hÐ4GÔHØ	×Ò˜×,Ñ,¨lÕ;ð	 øði ó Ø‚Iðús   ¢D ÄDÄD