Ë
    ¦üà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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ru ej*                  ej(                  e«        ej,                  ej(                  e«        ej.                  ej(                  d«        ej0                  ej(                  d«       yy# e$ r dZY ŒÊw xY w)é    )Úannotations)ÚBytesIO)ÚIOÚAnyé   )ÚImageÚ	ImageFile)Ú_webpTFÚRGBÚRGBA)s   VP8 s   VP8Xs   VP8Lc                óX   — | d d dk(  }| dd dk(  }| dd t         v }|r|r|r	t        s	 yyy	)
Né   s   RIFFé   é   s   WEBPé   zEimage file could not be identified because WEBP support not installedTF)Ú_VP8_MODES_BY_IDENTIFIERÚ	SUPPORTED)ÚprefixÚis_riff_file_formatÚis_webp_fileÚis_valid_vp8_modes       úQ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/PIL/WebPImagePlugin.pyÚ_acceptr      sP   € Ø   !˜*¨Ñ/ÐØ˜!˜B�< 7Ñ*€LØ˜r "˜Ô)AÐAÐá™|Ñ0AÝàWðð Øó    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   c                óÌ  — t        j                  | j                  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kD  | _	        |dk(  rd	n|| _
        || _        | j                  j                  d
«      }| j                  j                  d«      }| j                  j                  d«      }|r|| j                  d<   |r|| j                  d<   |r|| j                  d<   | j                  d¬«       y )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+   s_  € ô ×-Ñ-¨d¯g©g¯l©l«nÓ=ˆŒð AEÇÁ×@VÑ@VÓ@XÑ=ˆˆv�z 7¨K¸Ø˜F�]ˆŒ
Ø&ˆ�	‰	�&Ñà˜‰]˜dÑ"Ø˜‰]˜dÑ"Ø˜‰\˜TÑ!Ø�d‰Nð	"
Ñˆˆd�D˜$ð $(¨¨t°TÐ":ˆ�	‰	�,ÑØ#ˆŒØŸ=™=¨1Ñ,ˆÔØ" fšn‘U°$ˆŒ
ØˆŒð —m‘m×-Ñ-¨fÓ5ˆØ�}‰}×&Ñ& vÓ.ˆØ�m‰m×%Ñ% fÓ-ˆÙØ'2ˆD�I‰I�mÑ$ÙØ $ˆD�I‰I�fÑÙØ"ˆD�I‰I�eÑð 	�‰˜%ˆÕ r   c                ó\   — d| j                   vry | j                  «       j                  «       S )Nr'   )r0   ÚgetexifÚ_get_merged_dict©r7   s    r   Ú_getexifzWebPImageFile._getexifN   s&   € Ø˜Ÿ™Ñ"ØØ�|‰|‹~×.Ñ.Ó0Ð0r   c                ó6   — | j                  |«      sy || _        y ©N)Ú_seek_checkÚ_WebPImageFile__logical_frame©r7   Úframes     r   ÚseekzWebPImageFile.seekS   s   € Ø×Ñ Ô&Øð  %ˆÕr   c                óf   — |r| j                   j                  «        d| _        d| _        d| _        y )Nr   éÿÿÿÿ)r-   r)   Ú_WebPImageFile__physical_frameÚ_WebPImageFile__loadedÚ_WebPImageFile__timestamp)r7   r)   s     r   r6   zWebPImageFile._resetZ   s,   € ÙØ�M‰M×ÑÔ!Ø !ˆÔØˆŒØˆÕr   c                ó
  — | j                   j                  «       }| xj                  dz  c_        |€.| j                  «        | j	                  d«       d}t        |«      ‚|\  }}|| j                  z
  }|| _        ||z  }|||fS )Nr   r   z(failed to decode next frame in WebP file)r-   Úget_nextrQ   r6   rN   ÚEOFErrorrS   )r7   ÚretÚmsgÚdataÚ	timestampÚdurations         r   Ú	_get_nextzWebPImageFile._get_nexta   s‹   € à�m‰m×$Ñ$Ó&ˆØ×Ò Ñ"Õð ˆ;Ø�K‰KŒMØ�I‰I�aŒLØ<ˆCÜ˜3“-Ðð ‰ˆˆiØ˜t×/Ñ/Ñ/ˆØ$ˆÔð 	�XÑˆ	Ø�Y Ð(Ð(r   c                óÂ   — | j                   |k(  ry || j                   k  r| j                  «        | j                   |k  r!| j                  «        | j                   |k  rŒ y y rI   )rQ   r6   r\   rL   s     r   Ú_seekzWebPImageFile._seekv   sR   € Ø× Ñ  EÒ)ØØ�4×(Ñ(Ò(Ø�K‰KŒMØ×#Ñ# eÒ+Ø�N‰NÔð ×#Ñ# eÕ+r   c                óü  •— | j                   | j                  k7  rÕ| j                  | j                  «       | j                  «       \  }}}|| j                  d<   || j                  d<   | j                  | _         | j
                  r&| j                  r| j
                  j                  «        t        |«      | _        t        j                  dd| j                  z   d| j                  «      g| _        t        ‰| �=  «       S )NrZ   r[   Úraw)r   r   r   )rR   rK   r^   r\   r0   r+   Ú_exclusive_fpÚcloser   r	   Ú_TileÚsizer4   ÚtileÚsuperÚload)r7   rY   rZ   r[   Ú	__class__s       €r   rg   zWebPImageFile.load~   sÀ   ø€ Ø�=‰=˜D×0Ñ0Ò0Ø�J‰J�t×+Ñ+Ô,ð )-¯©Ó(8Ñ%ˆD�)˜XØ%.ˆD�I‰I�kÑ"Ø$,ˆD�I‰I�jÑ!Ø ×0Ñ0ˆDŒMð �wŠw˜4×-Ò-Ø—‘—‘”Ü˜d“mˆDŒGÜ"Ÿ™¨°¸¿¹Ñ0BÀAÀtÇ|Á|ÓTÐUˆDŒIä‰w‰|‹~Ðr   c                 ó   — y rI   © )r7   Úposs     r   Ú	load_seekzWebPImageFile.load_seek�   s   € Ør   c                ó   — | j                   S rI   )rK   rF   s    r   ÚtellzWebPImageFile.tell“   s   € Ø×#Ñ#Ð#r   )ÚreturnÚNone)ro   zdict[int, Any] | None)rM   Úintro   rp   )T)r)   Úboolro   rp   )ro   ztuple[bytes, int, int])ro   zImage.core.PixelAccess | None)rk   rq   ro   rp   )ro   rq   )Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionrR   rK   rB   rG   rN   r6   r\   r^   rg   rl   rn   Ú__classcell__)rh   s   @r   r   r   %   sF   ø„ Ø€FØ%ÐØ€HØ€Oó!!óF1ó
%ôó)ó*õó$÷$r   r   c                ó`   — | j                   dvr| j                  | j                  rdnd«      } | S )N)r#   r   r   r   r   )r=   ÚconvertÚhas_transparency_data)Úims    r   Ú_convert_framer}   —   s,   € à	‡w�wÐ-Ñ-Ø�Z‰Z "×":Ò":™ÀÓFˆØ€Ir   c                ó¼  — | j                   j                  «       }t        |j                  dg «      «      }d}| g|z   D ]  }|t	        |dd«      z  }Œ |dk(  rt        | ||«       y d}d|v r|d   }n^d| j                  v rP| j                  d   }t        |t        «      r1| j                  «       }|r||dz  |dz   dz   \  }	}
}|	|
|df}n|||df}| j                   j                  d	| j                  j                  d	d«      «      }| j                   j                  d
d«      }| j                   j                  dd«      }| j                   j                  dd «      }| j                   j                  dd «      }| j                   j                  dd«      }d}| j                   j                  dd«      }| j                   j                  dd«      }| j                   j                  dd«      }| j                   j                  dd«      }| j                   j                  d«      xs d}| j                   j                  dd«      }t        |t        j                  «      r|j                  «       }| j                   j                  dd«      }|rd}|€|rdnd}|€|rdnd}t        |t        t        f«      r t        |«      dk7  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}!| j)                  «       }"	 | g|z   D ]‘  }t	        |dd«      }#t+        |#«      D ]t  }$|j-                  |$«       t/        |«      }%|j1                  |%j3                  «       t5        |!«      ||||«       t        |t        t        f«      r	|!||    z  }!n|!|z  }!| dz  } Œv Œ“ 	 | j-                  |"«       |j1                  d t5        |!«      |||d«       |j7                  |||«      }&|&€d#}t!        |«      ‚|j9                  |&«       y # | j-                  |"«       w xY w)$NÚappend_imagesr   r1   r   )r   r   r   r   r"   é   r!   r[   r   Úminimize_sizeFÚkminÚkmaxÚallow_mixedÚlosslessÚqualityéP   Úalpha_qualityéd   Úmethodr&   Ú r'   r(   é	   é   é   r   c              3  ó<   K  — | ]  }d |cxk  xr dk  nc –— Œ y­w)r   é   Nrj   )Ú.0Úvs     r   ú	<genexpr>z_save_all.<locals>.<genexpr>×   s   è ø€ Ò4 A�1˜–<˜C—<�<Ñ4ùs   ‚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Ú_saver0   Ú
isinstancerq   Ú
getpaletter   ÚExifÚtobytesÚtupleÚlenÚallÚOSErrorr
   ÚWebPAnimEncoderrd   rn   ÚrangerN   r}   ÚaddÚgetimÚroundÚassembleÚwrite)'r|   r+   Úfilenamer•   r   ÚtotalÚimsr"   ÚpaletteÚrÚgÚbr[   r   r�   r‚   rƒ   r„   Úverboser…   r†   rˆ   rŠ   r&   r'   r(   rX   r?   r@   rA   r>   ÚencÚ	frame_idxrZ   Úcur_idxÚnfrÚidxrM   rY   s'                                          r   Ú	_save_allr·   ž   sL  € Ø—.‘.×%Ñ%Ó'€KÜ˜Ÿ™¨¸"Ó=Ó>€Mð €EØˆt�mÑ#ò -ˆØ”˜˜j¨!Ó,Ñ,‰ð-à�‚zÜˆb�"�hÔØà(4€JØ�{Ñ"Ø  Ñ.‰
Ø	˜Ÿ™Ñ	 Ø—W‘W˜\Ñ*ˆ
Ü�j¤#Ô&ð —m‘m“oˆGÙØ! *¨q¡.°JÀ±NÀaÑ3GÐH‘��1�aØ  A s˜^‘
à(¨*°jÀ#ÐF�
à�~‰~×!Ñ! *¨b¯g©g¯k©k¸*ÀaÓ.HÓI€HØ�>‰>×Ñ˜f aÓ(€DØ—N‘N×&Ñ& ¸Ó>€MØ�>‰>×Ñ˜f dÓ+€DØ�>‰>×Ñ˜f dÓ+€DØ—.‘.×$Ñ$ ]°EÓ:€KØ€GØ�~‰~×!Ñ! *¨eÓ4€HØ�n‰n× Ñ  ¨BÓ/€GØ—N‘N×&Ñ& ¸Ó<€MØ�^‰^×Ñ ¨!Ó,€FØ—.‘.×$Ñ$ ]Ó3Ò9°r€KØ�>‰>×Ñ˜f bÓ)€DÜ�$œŸ
™
Ô#Ø�|‰|‹~ˆØ
�.‰.×
Ñ
˜U BÓ
'€CÙØˆð €|Ù‰q !ˆØ€|Ù‰r 1ˆô �z¤D¬% =Ô1Üˆz‹?˜aÒÜÑ4¨Ô4Ô4àJÈ:È,ÐWˆÜ�c‹lÐð (Ñ€Dˆ$��dØ˜"‘* ¨¡Ñ,°¸±	Ñ:¸dÀa¹iÑH€Jô ×
Ñ
Ø
�‰�‰
Ø
�‰�‰
ØØØØØØØó
€Cð €IØ€IØ�g‰g‹i€GðØ�4˜-Ñ'ò 	ˆCä˜#˜z¨1Ó-ˆCä˜S“zò �Ø—‘˜”ä& sÓ+�ð —‘Ø—K‘K“MÜ˜)Ó$ØØØ!Øôô ˜h¬¬u¨Ô6Ø ¨)Ñ!4Ñ4‘Ià Ñ)�IØ˜Q‘‘	ñ)ñ		ð6 	�‰�Ôð ‡G�GˆD”%˜	Ó" H¨g°}ÀaÔHð �<‰<˜ T¨3Ó/€DØ€|ØAˆÜ�c‹lÐà‡H�HˆT…Nøð 	�‰�Õús   Í	BQ ÑQc                ó   — | j                   j                  dd«      }| j                   j                  dd«      }| j                   j                  dd«      }| j                   j                  d«      xs d}| j                   j                  d	d
«      }t        |t        j                  «      r|j                  «       }|j                  d«      r|dd  }| j                   j                  dd«      }| j                   j                  dd«      }	| j                   j                  d«      rdnd}
t        | «      } t        j                  | j                  «       |t        |«      t        |«      ||	|
||«	      }|€d}t        |«      ‚|j                  |«       y )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º   rY   rX   s                r   rš   rš     sL  € Ø�~‰~×!Ñ! *¨eÓ4€HØ�n‰n× Ñ  ¨BÓ/€GØ—N‘N×&Ñ& ¸Ó<€MØ—.‘.×$Ñ$ ]Ó3Ò9°r€KØ�>‰>×Ñ˜f cÓ*€DÜ�$œŸ
™
Ô#Ø�|‰|‹~ˆØ‡��Ô'Ø�A�BˆxˆØ
�.‰.×
Ñ
˜U BÓ
'€CØ�^‰^×Ñ ¨!Ó,€FØ—‘×#Ñ# GÔ,‰A°!€Eä	˜Ó	€Bä×ÑØ
�‰‹
ØÜˆg‹ÜˆmÓØØØØØó
€Dð €|ØAˆÜ�c‹lÐà‡H�HˆT…Nr   z.webpz
image/webpN)r   Úbytesro   z
bool | str)r|   úImage.Imagero   r¿   )r|   r¿   r+   z	IO[bytes]rª   zstr | bytesro   rp   )Ú
__future__r   Úior   Útypingr   r   r‹   r   r	   r
   r   ÚImportErrorr   r   r   r}   r·   rš   Úregister_openrv   Úregister_saveÚregister_save_allÚregister_extensionÚregister_mimerj   r   r   ú<module>rÉ      sø   ðÝ "å ß ç ðÝà€Ið ØØñÐ óôo$�I×'Ñ'ô o$ódózózðD €× Ñ �M×(Ñ(¨-¸Ô AÙØ€E×Ñ˜×,Ñ,¨eÔ4Ø€E×Ñ˜M×0Ñ0°)Ô<Ø€E×Ñ˜]×1Ñ1°7Ô;Ø€E×Ñ˜×,Ñ,¨lÕ;ð	 øðe	 ò Ø‚Iðús   žC' Ã'C1Ã0C1