§
    aÒ³gM'  ã                  ó¤  — d dl mZ d dlmZ d dlmZmZ ddlmZm	Z	 	 ddlm
Z
 dZn# e$ r dZY nw xY wd	d
d
dœZd d„Z G d„ de	j	        ¦  «        Zd!d„Zd"d„Zd"d„Z ej        ej        ee¦  «         erZ ej        ej        e¦  «          ej        ej        e¦  «          ej        ej        d¦  «          ej        ej        d¦  «         dS dS )#é    )Úannotations)ÚBytesIO)ÚIOÚAnyé   )ÚImageÚ	ImageFile)Ú_webpTFÚRGBÚRGBA)s   VP8 s   VP8Xs   VP8LÚprefixÚbytesÚreturnú
bool | strc                ó„   — | d d…         dk    }| dd…         dk    }| dd…         t           v }|r|r|rt          s	 dS dS d	S )
Né   s   RIFFé   é   s   WEBPé   zEimage file could not be identified because WEBP support not installedTF)Ú_VP8_MODES_BY_IDENTIFIERÚ	SUPPORTED)r   Úis_riff_file_formatÚis_webp_fileÚis_valid_vp8_modes       úQ/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/PIL/WebPImagePlugin.pyÚ_acceptr      ss   € Ø   ! œ*¨Ò/ÐØ˜!˜B˜$”< 7Ò*€LØ˜r "˜uœÕ)AÐAÐàð ˜|ð Ð0Að Ýð 	àWðð ð ˆtØˆ5ó    c                  ór   ‡ — e Zd ZdZdZdZdZdd„Zdd„Zdd„Z	ddd„Z
dd„Zdd„Zdˆ fd„Zdd„Zd d„Zˆ xZS )!ÚWebPImageFileÚWEBPz
WebP imager   r   ÚNonec                ó’  — t          j        | j                             ¦   «         ¦  «        | _        | j                             ¦   «         \  }}}}}}||f| _        || j        d<   |dz	  dz  |dz	  dz  |dz	  dz  |dz  f\  }}}	}
||	|
|f| j        d<   || _        | j        dk    | _	        |dk    rd	n|| _
        || _        | j                             d
¦  «        }| j                             d¦  «        }| j                             d¦  «        }|r
|| j        d<   |r
|| j        d<   |r
|| j        d<   |                      d¬¦  «         d S )NÚloopé   éÿ   r   r   Ú
backgroundr   ÚRGBXr   ÚICCPÚEXIFzXMP Úicc_profileÚexifÚxmpF)Úreset)r
   ÚWebPAnimDecoderÚfpÚreadÚ_decoderÚget_infoÚ_sizeÚinfoÚn_framesÚis_animatedÚ_modeÚrawmodeÚ	get_chunkÚ_reset)ÚselfÚwidthÚheightÚ
loop_countÚbgcolorÚframe_countÚmodeÚbg_aÚbg_rÚbg_gÚbg_br*   r+   r,   s                 r   Ú_openzWebPImageFile._open+   sv  € õ Ô-¨d¬g¯lªl©n¬nÑ=Ô=ˆŒð AEÄ×@VÒ@VÑ@XÔ@XÑ=ˆˆv�z 7¨K¸Ø˜F�]ˆŒ
Ø&ˆŒ	�&Ñà˜‰]˜dÑ"Ø˜‰]˜dÑ"Ø˜‰\˜TÑ!Ø�d‰Nð	"
Ñˆˆd�D˜$ð $(¨¨t°TÐ":ˆŒ	�,ÑØ#ˆŒØœ=¨1Ò,ˆÔØ" fšn˜n�U�U°$ˆŒ
ØˆŒð ”m×-Ò-¨fÑ5Ô5ˆØŒ}×&Ò& vÑ.Ô.ˆØŒm×%Ò% fÑ-Ô-ˆØð 	3Ø'2ˆDŒI�mÑ$Øð 	%Ø $ˆDŒI�fÑØð 	#Ø"ˆDŒI�eÑð 	�Š˜%ˆÑ Ô Ð Ð Ð r   údict[int, Any] | Nonec                ód   — d| j         vrd S |                      ¦   «                              ¦   «         S )Nr+   )r4   ÚgetexifÚ_get_merged_dict©r;   s    r   Ú_getexifzWebPImageFile._getexifN   s.   € Ø˜œÐ"Ð"Ø�4Ø�|Š|‰~Œ~×.Ò.Ñ0Ô0Ð0r   ÚframeÚintc                óB   — |                       |¦  «        sd S || _        d S ©N)Ú_seek_checkÚ_WebPImageFile__logical_frame©r;   rM   s     r   ÚseekzWebPImageFile.seekS   s-   € Ø×Ò Ñ&Ô&ð 	ØˆFð  %ˆÔÐÐr   Tr-   Úboolc                óf   — |r| j                              ¦   «          d| _        d| _        d| _        d S )Nr   éÿÿÿÿ)r1   r-   Ú_WebPImageFile__physical_frameÚ_WebPImageFile__loadedÚ_WebPImageFile__timestamp)r;   r-   s     r   r:   zWebPImageFile._resetZ   s;   € Øð 	"ØŒM×ÒÑ!Ô!Ð!Ø !ˆÔØˆŒØˆÔÐÐr   útuple[bytes, int, int]c                ó  — | j                              ¦   «         }| xj        dz  c_        |€:|                      ¦   «          |                      d¦  «         d}t          |¦  «        ‚|\  }}|| j        z
  }|| _        ||z  }|||fS )Nr   r   z(failed to decode next frame in WebP file)r1   Úget_nextrX   r:   rT   ÚEOFErrorrZ   )r;   ÚretÚmsgÚdataÚ	timestampÚdurations         r   Ú	_get_nextzWebPImageFile._get_nexta   s–   € àŒm×$Ò$Ñ&Ô&ˆØÐÔ Ñ"ÐÔð ˆ;Ø�KŠK‰MŒMˆMØ�IŠI�a‰LŒLˆLØ<ˆCÝ˜3‘-”-Ðð ‰ˆˆiØ˜tÔ/Ñ/ˆØ$ˆÔð 	�XÑˆ	Ø�Y Ð(Ð(r   c                ó¶   — | j         |k    rd S || j         k     r|                      ¦   «          | j         |k     r!|                      ¦   «          | j         |k     °d S d S rP   )rX   r:   rd   rS   s     r   Ú_seekzWebPImageFile._seekv   sj   € ØÔ  EÒ)Ð)ØˆFØ�4Ô(Ò(Ð(Ø�KŠK‰MŒMˆMØÔ# eÒ+Ð+Ø�NŠNÑÔÐð Ô# eÒ+Ð+Ð+Ð+Ð+Ð+r   úImage.core.PixelAccess | Nonec                óÒ  •— | j         | j        k    r·|                      | j        ¦  «         |                      ¦   «         \  }}}|| j        d<   || j        d<   | j        | _         | j        r | j        r| j                             ¦   «          t          |¦  «        | _        t          j
        dd| j        z   d| j        ¦  «        g| _        t          ¦   «                              ¦   «         S )Nrb   rc   Úraw)r   r   r   )rY   rR   rf   rd   r4   r/   Ú_exclusive_fpÚcloser   r	   Ú_TileÚsizer8   ÚtileÚsuperÚload)r;   ra   rb   rc   Ú	__class__s       €r   rp   zWebPImageFile.load~   sÉ   ø€ ØŒ=˜DÔ0Ò0Ð0Ø�JŠJ�tÔ+Ñ,Ô,Ð,ð )-¯ªÑ(8Ô(8Ñ%ˆD�)˜XØ%.ˆDŒI�kÑ"Ø$,ˆDŒI�jÑ!Ø Ô0ˆDŒMð Œwð  ˜4Ô-ð  Ø”—’‘”�Ý˜d‘m”mˆDŒGÝ"œ¨°¸¼Ñ0BÀAÀtÄ|ÑTÔTÐUˆDŒIå‰wŒw�|Š|‰~Œ~Ðr   Úposc                ó   — d S rP   © )r;   rr   s     r   Ú	load_seekzWebPImageFile.load_seek�   s   € Øˆr   c                ó   — | j         S rP   )rR   rK   s    r   ÚtellzWebPImageFile.tell“   s   € ØÔ#Ð#r   )r   r!   )r   rG   )rM   rN   r   r!   )T)r-   rU   r   r!   )r   r[   )r   rg   )rr   rN   r   r!   )r   rN   )Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionrY   rR   rF   rL   rT   r:   rd   rf   rp   ru   rw   Ú__classcell__)rq   s   @r   r   r   %   sø   ø€ € € € € Ø€FØ%ÐØ€HØ€Oð!!ð !!ð !!ð !!ðF1ð 1ð 1ð 1ð
%ð %ð %ð %ðð ð ð ð ð)ð )ð )ð )ð*ð ð ð ðð ð ð ð ð ð$ð ð ð ð$ð $ð $ð $ð $ð $ð $ð $r   r   ÚimúImage.Imagec                óT   — | j         dvr|                      | j        rdnd¦  «        } | S )N)r'   r   r   r   r   )rA   ÚconvertÚhas_transparency_data)r~   s    r   Ú_convert_framerƒ   —   s2   € à	„wÐ-Ð-Ð-Ø�ZŠZ "Ô":ÐE˜˜ÀÑFÔFˆØ€Ir   r/   ú	IO[bytes]Úfilenameústr | bytesr!   c                ó~	  — | j                              ¦   «         }t          |                     dg ¦  «        ¦  «        }d}| g|z   D ]}|t	          |dd¦  «        z  }Œ|dk    rt          | ||¦  «         d S d}d|v r	|d         }ned| j        v r\| j        d         }t          |t          ¦  «        r:|  	                    ¦   «         }|r||dz  |dz   dz  …         \  }	}
}|	|
|df}n|||df}| j                              d	| j                             d	d¦  «        ¦  «        }| j                              d
d¦  «        }| j                              dd¦  «        }| j                              dd ¦  «        }| j                              dd ¦  «        }| j                              dd¦  «        }d}| j                              dd¦  «        }| j                              dd¦  «        }| j                              dd¦  «        }| j                              dd¦  «        }| j                              d¦  «        pd}| j                              dd¦  «        }t          |t          j        ¦  «        r|                     ¦   «         }| j                              dd¦  «        }|rd}|€|rdnd}|€|rdnd}t          |t          t          f¦  «        r,t          |¦  «        dk    st          d„ |D ¦   «         ¦  «        sd|› �}t!          |¦  «        ‚|\  }}}}|d z  |d!z  z  |d"z  z  |dz  z  }t#          j        | j        d         | j        d         |||||||¦	  «	        }d} d}!|                      ¦   «         }"	 | g|z   D ]´}t	          |dd¦  «        }#t+          |#¦  «        D ]‘}$|                     |$¦  «         t/          |¦  «        }%|                     |%                     ¦   «         t5          |!¦  «        ||||¦  «         t          |t          t          f¦  «        r|!||          z  }!n|!|z  }!| dz  } Œ’Œµ	 |                      |"¦  «         n# |                      |"¦  «         w xY w|                     d t5          |!¦  «        |||d¦  «         |                     |||¦  «        }&|&€d#}t!          |¦  «        ‚|                     |&¦  «         d S )$NÚappend_imagesr   r5   r   )r   r   r   r   r&   é   r%   rc   r#   Úminimize_sizeFÚkminÚkmaxÚallow_mixedÚlosslessÚqualityéP   Úalpha_qualityéd   Úmethodr*   Ú r+   r,   é	   é   é   r   c              3  ó6   K  — | ]}d |cxk    odk     nc V — ŒdS )r   é   Nrt   )Ú.0Úvs     r   ú	<genexpr>z_save_all.<locals>.<genexpr>×   s6   è è € Ð4Ð4 A�1˜�<�<’<�<˜C’<�<�<�<Ð4Ð4Ð4Ð4Ð4Ð4r   z:Background color is not an RGBA tuple clamped to (0-255): r$   r   r   ú1cannot write file as WebP (encoder returned None))ÚencoderinfoÚcopyÚlistÚgetÚgetattrÚ_saver4   Ú
isinstancerN   Ú
getpaletter   ÚExifÚtobytesÚtupleÚlenÚallÚOSErrorr
   ÚWebPAnimEncoderrm   rw   ÚrangerT   rƒ   ÚaddÚgetimÚroundÚassembleÚwrite)'r~   r/   r…   rž   rˆ   ÚtotalÚimsr&   ÚpaletteÚrÚgÚbrc   r#   rŠ   r‹   rŒ   r�   ÚverboserŽ   r�   r‘   r“   r*   r+   r,   r`   rC   rD   rE   rB   ÚencÚ	frame_idxrb   Úcur_idxÚnfrÚidxrM   ra   s'                                          r   Ú	_save_allr¿   ž   s  € Ø”.×%Ò%Ñ'Ô'€KÝ˜Ÿš¨¸"Ñ=Ô=Ñ>Ô>€Mð €EØˆt�mÑ#ð -ð -ˆØ•˜˜j¨!Ñ,Ô,Ñ,ˆˆØ�‚z€zÝˆb�"�hÑÔÐØˆà(4€JØ�{Ð"Ð"Ø  Ô.ˆ
ˆ
Ø	˜œÐ	 Ð	 Ø”W˜\Ô*ˆ
Ý�j¥#Ñ&Ô&ð 	Gð —m’m‘o”oˆGØð GØ! *¨q¡.°JÀ±NÀaÑ3GÐ"GÔH‘��1�aØ  A s˜^�
�
à(¨*°jÀ#ÐF�
àŒ~×!Ò! *¨b¬g¯kªk¸*ÀaÑ.HÔ.HÑIÔI€HØŒ>×Ò˜f aÑ(Ô(€DØ”N×&Ò& ¸Ñ>Ô>€MØŒ>×Ò˜f dÑ+Ô+€DØŒ>×Ò˜f dÑ+Ô+€DØ”.×$Ò$ ]°EÑ:Ô:€KØ€GØŒ~×!Ò! *¨eÑ4Ô4€HØŒn× Ò  ¨BÑ/Ô/€GØ”N×&Ò& ¸Ñ<Ô<€MØŒ^×Ò ¨!Ñ,Ô,€FØ”.×$Ò$ ]Ñ3Ô3Ð9°r€KØŒ>×Ò˜f bÑ)Ô)€DÝ�$�œ
Ñ#Ô#ð Ø�|Š|‰~Œ~ˆØ
Œ.×
Ò
˜U BÑ
'Ô
'€CØð Øˆð €|ØÐ#ˆqˆq !ˆØ€|ØÐ$ˆrˆr 1ˆõ �z¥D­% =Ñ1Ô1ðåˆz‰?Œ?˜aÒÐÝÐ4Ð4¨Ð4Ñ4Ô4Ñ4Ô4ð  ð XÈ:ÐWÐWˆÝ�c‰lŒlÐð (Ñ€Dˆ$��dØ˜"‘* ¨¡Ñ,°¸±	Ñ:¸dÀa¹iÑH€Jõ Ô
Ø
Œ�Œ
Ø
Œ�Œ
ØØØØØØØñ
ô 
€Cð €IØ€IØ�gŠg‰iŒi€GðØ�4˜-Ñ'ð 	ð 	ˆCå˜#˜z¨1Ñ-Ô-ˆCå˜S‘z”zð ð �Ø—’˜‘”�å& sÑ+Ô+�ð —’Ø—K’K‘M”MÝ˜)Ñ$Ô$ØØØ!Øñô ð õ ˜h­­u¨Ñ6Ô6ð *Ø ¨)Ô!4Ñ4�I�Ià Ñ)�IØ˜Q‘�	�	ð)ð		ð6 	�Š�ÑÔÐÐøˆ�Š�ÑÔÐÐøøøð ‡G‚GˆD•%˜	Ñ"Ô" H¨g°}ÀaÑHÔHÐHð �<Š<˜ T¨3Ñ/Ô/€DØ€|ØAˆÝ�c‰lŒlÐà‡H‚HˆT�N„N€N€N€Ns   Í+B;P= Ð=Qc                óV  — | j                              dd¦  «        }| j                              dd¦  «        }| j                              dd¦  «        }| j                              d¦  «        pd}| j                              d	d
¦  «        }t          |t          j        ¦  «        r|                     ¦   «         }|                     d¦  «        r
|dd …         }| j                              dd¦  «        }| j                              dd¦  «        }	| j                              d¦  «        rdnd}
t          | ¦  «        } t          j	        |  
                    ¦   «         |t          |¦  «        t          |¦  «        ||	|
||¦	  «	        }|€d}t          |¦  «        ‚|                     |¦  «         d S )NrŽ   Fr�   r�   r‘   r’   r*   r”   r+   r   s   Exif  é   r,   r“   r   Úexactr   r   r�   )rž   r¡   r¤   r   r¦   r§   Ú
startswithrƒ   r
   Ú
WebPEncoder¯   Úfloatr«   r²   )r~   r/   r…   rŽ   r�   r‘   r*   r+   r,   r“   rÂ   ra   r`   s                r   r£   r£     s�  € ØŒ~×!Ò! *¨eÑ4Ô4€HØŒn× Ò  ¨BÑ/Ô/€GØ”N×&Ò& ¸Ñ<Ô<€MØ”.×$Ò$ ]Ñ3Ô3Ð9°r€KØŒ>×Ò˜f cÑ*Ô*€DÝ�$�œ
Ñ#Ô#ð Ø�|Š|‰~Œ~ˆØ‡‚�Ñ'Ô'ð Ø�A�B�BŒxˆØ
Œ.×
Ò
˜U BÑ
'Ô
'€CØŒ^×Ò ¨!Ñ,Ô,€FØ”×#Ò# GÑ,Ô,Ð3ˆAˆA°!€Eå	˜Ñ	Ô	€BåÔØ
�Š‰
Œ
ØÝˆg‰ŒÝˆmÑÔØØØØØñ
ô 
€Dð €|ØAˆÝ�c‰lŒlÐà‡H‚HˆT�N„N€N€N€Nr   z.webpz
image/webpN)r   r   r   r   )r~   r   r   r   )r~   r   r/   r„   r…   r†   r   r!   )Ú
__future__r   Úior   Útypingr   r   r”   r   r	   r
   r   ÚImportErrorr   r   r   rƒ   r¿   r£   Úregister_openr{   Úregister_saveÚregister_save_allÚregister_extensionÚregister_mimert   r   r   ú<module>rÏ      sÓ  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ð Ð ðØÐÐÐÐÐà€I€IøØð ð ð Ø€I€I€Iðøøøð
 ØØðð Ð ðð ð ð ðo$ð o$ð o$ð o$ð o$�IÔ'ñ o$ô o$ð o$ðdð ð ð ðzð zð zð zðzð ð ð ðD €Ô �MÔ(¨-¸Ñ AÔ AÐ AØð <Ø€EÔ˜Ô,¨eÑ4Ô4Ð4Ø€EÔ˜MÔ0°)Ñ<Ô<Ð<Ø€EÔ˜]Ô1°7Ñ;Ô;Ð;Ø€EÔ˜Ô,¨lÑ;Ô;Ð;Ð;Ð;ð	<ð <s   ž' §1°1