ó
    bÄ\jU$  ã                  ó*  • 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
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.                  " \R0                  \\5        \(       aw  \	R2                  " \R0                  \5        \	R4                  " \R0                  \5        \	R6                  " \R0                  SS/5        \	R8                  " \R0                  S5        gg! \ a    S	r Nåf = f)é    )ÚannotationsN)ÚBytesIO)ÚIOé   )ÚExifTagsÚImageÚ	ImageFileÚImageSequence)Ú_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      ÚI/var/www/website/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Úiccr1   Úexif_orientationr0   Ú	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)rG   Úframes     r   rF   Ú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)rV   r9   Ú	get_framerR   Úroundr?   r6   Ú_exclusive_fpÚcloser   ÚsuperrA   )rG   ÚdataÚ	timescaleÚpts_in_timescalesÚduration_in_timescalesÚ	__class__s        €r   rA   Ú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(   )rG   Úposs     r   Ú	load_seekÚAvifImageFile.load_seekˆ   s   € Ør   c                ó   • U R                   $ rh   )rR   )rG   s    r   ÚtellÚAvifImageFile.tell‹   s   € Ø�|‰|Ðr   )Ú__framer9   r=   r;   r6   r>   r<   rV   )ÚreturnÚNone)rW   Úintrp   rq   )rp   zImage.core.PixelAccess | None)ri   rr   rp   rq   ©rp   rr   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚformatÚformat_descriptionrR   rM   rF   rA   rj   rm   Ú__static_attributes__Ú__classcell__)re   s   @r   r+   r+   A   s3   ø† Ø€FØ%ÐØ€Gô)ôVO÷ô÷ò r   r+   c                ó   • [        XUSS9  g )NT)Úsave_all)Ú_save)Úimr6   Úfilenames      r   Ú	_save_allr�   �   s   € Ü	ˆ"�( TÓ*r   c                ó‚
  ^#• U R                   R                  5       nU(       a  [        UR                  S/ 5      5      nO/ n1 Skm#[	        U#4S jU /U-    5       5      n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
U(       a  SO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(       + =(       a    [?        U S$S5      (       + n U /U-    H×  n[@        RB                  " U5       Hº  n U RD                  n!URD                  S%;  a:  URF                  (       a  S&n!OURD                  T#;   a  S'n!OS(n!U RI                  U!5      n [        U	[        [2        45      (       a  U	U   nOU	nURK                  U R)                  S)U!5      UU R:                  U!U5        US-  nU(       a  M¹    MÕ     MÙ     U RM                  U5        URO                  5       n"U"c  S*n[Q        U5      eURS                  U"5        g ! [6         a    S"n GNÆf = f! U RM                  U5        f = f)+NÚappend_images>   Ú1ÚFÚIÚLúI;16úI;16BúI;16LúI;16Nc              3  ó~   >#   • U  H2  n[         R                  " U5        H  nUR                  T;   v •  M     M4     g 7frh   )r
   ÚIteratorrU   )Ú.0ÚimsrW   Úgrayscale_modess      €r   Ú	<genexpr>Ú_save.<locals>.<genexpr>�   s9   øé € ð â'ˆCÜ"×+Ò+¨C×0ˆEð 	�
‰
�oÖ%á0ñ 	&Ú'ùs   ƒ:=ÚqualityéK   r   éd   zInvalid quality settingr[   Úsubsamplingz4:0:0z4:2:0Úspeedé   Úmax_threadsÚcodecr   zInvalid saving codecÚrangeÚfullÚ	tile_rowsÚ	tile_colsÚalpha_premultipliedFÚ
autotilingr/   r   r1   r   r0   zutf-8Úadvancedc              3  óv   #   • U  H/  n[        U[        5      (       + =(       d    [        U5      S :g  v •  M1     g7f)é   N)Ú
isinstanceÚtupler&   )rŽ   Úvs     r   r‘   r’   Ò   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-tuplesr>   >   r‡   ÚRGBÚRGBAr¨   r‡   r§   rP   z1cannot write file as AVIF (encoder returned None))*ÚencoderinfoÚcopyÚlistrB   Úallr¤   rr   r5   r)   r   Úencoder_codec_availableÚboolr?   r   r@   rA   r   rC   rD   ÚpoprE   ÚstrÚencodeÚdictÚitemsr¥   ÚanyÚ	TypeErrorÚAvifEncoderrT   rm   Úgetattrr
   r�   rU   Úhas_transparency_dataÚconvertÚaddrF   ÚfinishÚOSErrorÚwrite)$r   r6   r€   r}   r?   rƒ   Ú	grayscaler“   rH   r[   r–   r—   r™   rš   Úrange_Útile_rows_log2Útile_cols_log2rŸ   r    r/   rJ   r1   rK   r0   r¡   ÚinvalidÚencÚ	frame_idxÚframe_durationÚcur_idxÚis_single_framer�   rW   Úrawmodera   r�   s$                                      @r   r~   r~   “   s�  ø€ ð �>‰>×ÑÓ €DÞÜ˜TŸX™X o°rÓ:Ó;‰àˆâM€OÜô à�4˜-Ò'óó €Ið �h‰h�y "Ó%€GÜ�gœs×#Ñ# w°£{°gÀ³mØ'ˆÜ˜‹oÐà�x‰x˜
 AÓ&€HØ—(‘(˜=¶Y©'ÀGÓL€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´¸¸MÈ5Ó0QÔ,Q€Oð$Ø�4˜-Ô'ˆCÜ&×/Ò/°Ö4�àŸ*™*�Ø—8‘8Ð#7Ó7Ø×0×0Ø"(™ØŸ™ _Ó4Ø"%™à"'˜Ø!ŸM™M¨'Ó2�Eô ˜h¬¬u¨×6Ñ6Ø%-¨iÑ%8‘Nà%-�Nð —‘Ø—M‘M %¨Ó1Ø"Ø—J‘JØØ#ôð ˜Q‘�	ç�xÚó? 5ñ (ðF 	�‰�Ôð �:‰:‹<€DØ�|ØAˆÜ�c‹lÐà‡H�HˆT…Nøôa ó 	Ø‹Gð	ûðP 	�‰�Õús%   ÍT Ï4CT+ Ó	T+ ÔT(Ô'T(Ô+T>z.avifz.avifsz
image/avif)r   r°   rp   z
str | None)r   Úbytesrp   z
bool | strrs   )r   úImage.Imager6   ú	IO[bytes]r€   ústr | bytesrp   rq   )F)
r   rÊ   r6   rË   r€   rÌ   r}   r®   rp   rq   )Ú
__future__r   r%   Úior   Útypingr   Ú r   r   r	   r
   r   r   ÚImportErrorr3   r#   r   r    r)   r+   r�   r~   Úregister_openrx   Úregister_saveÚregister_save_allÚregister_extensionsÚregister_mimer(   r   r   Ú<module>r×      s,  ðÝ "ã 	Ý Ý ç 7Ó 7ðÝà€Ið Ð ØÐ ôôô4#ôK�I×'Ñ'ô Kô\+ð
 MRðLØðLØ"ðLØ.9ðLØEIðLà	õLð^ × Ò �M×(Ñ(¨-¸Ô AÞØ	×Ò˜×,Ñ,¨eÔ4Ø	×Ò˜M×0Ñ0°)Ô<Ø	×Ò˜m×2Ñ2°W¸hÐ4GÔHØ	×Ò˜×,Ñ,¨lÕ;ð	 øðm ó Ø‚Iðús   ¤D ÄDÄD