Ë
    ^ãjA  ã                  ó.  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m	Z	 ddl
mZ ddlmZmZmZmZ ddlmZ ddlmZmZmZmZmZ dd	lmZ ej6                  rd d
lmZ d dlmZmZ ddl m!Z!  G d„ de«      Z" G d„ de«      Z# G d„ de«      Z$y)é    )ÚannotationsN)Údatetimeé   )ÚFS)ÚFileExpectedÚIllegalBackReferenceÚResourceNotFoundÚResourceReadOnly)ÚInfo)ÚdirnameÚescapes_rootÚforcedirÚnormpathÚrelpath)ÚTempFS)Ú
Collection)ÚIOÚAny)ÚSubFSc                  óV   — e Zd ZdZ	 d	 	 	 	 	 dd„Zej                  r	 d	 	 	 	 	 dd„Zyy)ÚZipFSzRead and write zip files.c                ó6   — |rt        ||«      S t        ||«      S ©N)Ú
WriteZipFSÚ	ReadZipFS)ÚclsÚfileÚwriteÚencodings       úb/var/www/html/metafoliadorv2/venv/lib/python3.12/site-packages/fontTools/misc/filesystem/_zipfs.pyÚ__new__zZipFS.__new__!   s!   € ñ Ü˜d HÓ-Ð-ä˜T 8Ó,Ð,ó    c                 ó   — y r   © )Úselfr   r   r   s       r    Ú__init__zZipFS.__init__+   s   € ð r"   N)Fúutf-8)r   ústr | os.PathLiker   Úboolr   Ústr)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r!   ÚtypingÚTYPE_CHECKINGr&   r$   r"   r    r   r      s]   „ Ù#ð LSð-Ø$ð-Ø-1ð-ØEHó-ð ×Òð QXð	Ø)ð	Ø26ð	ØJMô	ð r"   r   c                  óÌ   ‡ — e Zd ZdZddˆ fd„Zdd„Zdd„Zdd„Zedd„«       Z	ˆ fd„Z
ddd„Zdd	„Zdd
„Zdd„Zdd„Zddd„Zddd„Zdd„Zdd„Zdd„Zdd d„Zd!d„Zd"d#d„Zˆ xZS )$r   zA readable zip file.c                ó¨   •— t         ‰| �  «        t        j                  |«      | _        || _        t        j                  |d«      | _        d | _	        y )NÚr)
Úsuperr&   ÚosÚfspathÚ_filer   ÚzipfileÚZipFileÚ_zipÚ_directory_fs©r%   r   r   Ú	__class__s      €r    r&   zReadZipFS.__init__4   s>   ø€ Ü‰ÑÔÜ—Y‘Y˜t“_ˆŒ
Ø ˆŒÜ—O‘O D¨#Ó.ˆŒ	Ø!ˆÕr"   c                ó"   — d| j                   ›d�S )Nz
ReadZipFS(ú)©r7   ©r%   s    r    Ú__repr__zReadZipFS.__repr__;   s   € Ø˜DŸJ™J˜>¨Ð+Ð+r"   c                ó"   — d| j                   › d�S )Nz<zipfs 'ú'>r@   rA   s    r    Ú__str__zReadZipFS.__str__>   s   € Ø˜$Ÿ*™*˜ RÐ(Ð(r"   c                óz   — t        t        |«      «      }| j                  j                  |«      rt	        |«      }|S )z"Convert a path to a zip file name.)r   r   Ú
_directoryÚisdirr   ©r%   Úpaths     r    Ú_path_to_zip_namezReadZipFS._path_to_zip_nameA   s0   € ä”x “~Ó&ˆØ�?‰?× Ñ  Ô&Ü˜D“>ˆDØˆr"   c                óä  — | j                   €»| j                  j                  «       D ]  }t        |«      sŒt	        |«      ‚ t        «       }	 | j                  j                  «       D ]V  }|}|j                  d«      r|j                  |d¬«       Œ*|j                  t        |«      d¬«       |j                  |«       ŒX 	 || _         | j                   S # t        $ r |j                  «        ‚ w xY w)Nú/T)Úrecreate)r;   r:   Únamelistr   r   r   ÚendswithÚmakedirsr   ÚcreateÚ	ExceptionÚclose)r%   Úzip_nameÚ_fsÚresource_names       r    rG   zReadZipFS._directoryH   sà   € à×ÑÐ%ð !ŸI™I×.Ñ.Ó0ò 9�Ü Õ)Ü.¨xÓ8Ð8ð9ô “(ˆCð
Ø $§	¡	× 2Ñ 2Ó 4ò 2�HØ$,�MØ$×-Ñ-¨cÔ2ØŸ™ ]¸T˜ÕBàŸ™¤W¨]Ó%;Àd˜ÔKØŸ
™
 =Õ1ñ2ð "%ˆDÔØ×!Ñ!Ð!øô	 ò Ø—	‘	”Øðús   ÁA3C ÃC/c                ó¬   •— t         t        | �  «        | j                  j                  «        | j                  �| j                  j                  «        y y r   )r4   r   rT   r:   r;   )r%   r=   s    €r    rT   zReadZipFS.closee   sA   ø€ ÜŒi˜Ñ$Ô&Ø�	‰	�‰ÔØ×ÑÐ)Ø×Ñ×$Ñ$Õ&ð *r"   c                ór  — |xs d}i }|dk(  r,dddœ|d<   d|v rûdt         j                  i|d<   t        |«      S | j                  j                  |«      }|j                  |j
                  dœ|d<   d|v r | j                  |«      }	 | j                  j                  |«      }d|v ro|j                  t        |j
                  rt         j                  nt         j                  «      t        |j                  Ž j                  «       d	œ|d<   t        |«      S t        |«      S # t        $ r Y t        |«      S w xY w)
Nr$   rM   Ú T)ÚnameÚis_dirÚbasicÚdetailsÚtype)Úsizer_   Úmodified)ÚstatÚS_IFDIRrG   Úgetinfor[   r\   rK   r:   Ú	file_sizeÚintÚS_IFREGr   Ú	date_timeÚ	timestampÚKeyErrorr   )r%   rJ   Ú
namespacesÚraw_infoÚ
basic_inforU   Úzip_infos          r    rd   zReadZipFS.getinfok   s8  € ØÒ% 2ˆ
Øˆà�3Š;Ø)+°tÑ <ˆH�WÑØ˜JÑ&Ø'-¬t¯|©|Ð&<�˜Ñ#ô* �H‹~Ðð' Ÿ™×0Ñ0°Ó6ˆJØ)3¯©ÀJ×DUÑDUÑ VˆH�WÑà˜JÑ&Ø×1Ñ1°$Ó7�ðØ#Ÿy™y×0Ñ0°Ó:�Hð ! JÑ.à$,×$6Ñ$6Ü$'Ø0:×0AÒ0A¤§¢ÄtÇ|Á|ó%ô )1°(×2DÑ2DÐ(E×(OÑ(OÓ(Qñ/˜ Ñ+ô �H‹~ÐŒt�H‹~Ðøô  ò Øô �H‹~Ððús   ÂD  Ä 	D6Ä5D6c                óX   — | j                  «        | j                  j                  |«      S r   )ÚcheckrG   ÚexistsrI   s     r    rq   zReadZipFS.exists‰   ó    € Ø�
‰
ŒØ�‰×%Ñ% dÓ+Ð+r"   c                óX   — | j                  «        | j                  j                  |«      S r   )rp   rG   rH   rI   s     r    rH   zReadZipFS.isdir�   s    € Ø�
‰
ŒØ�‰×$Ñ$ TÓ*Ð*r"   c                óX   — | j                  «        | j                  j                  |«      S r   )rp   rG   ÚisfilerI   s     r    ru   zReadZipFS.isfile‘   rr   r"   c                óX   — | j                  «        | j                  j                  |«      S r   )rp   rG   ÚlistdirrI   s     r    rw   zReadZipFS.listdir•   s    € Ø�
‰
ŒØ�‰×&Ñ& tÓ,Ð,r"   c                ó8   — | j                  «        t        |«      ‚r   ©rp   r
   ©r%   rJ   rN   s      r    ÚmakedirzReadZipFS.makedir™   ó   € Ø�
‰
ŒÜ˜tÓ$Ð$r"   c                ó8   — | j                  «        t        |«      ‚r   ry   rz   s      r    rQ   zReadZipFS.makedirs�   r|   r"   c                ó8   — | j                  «        t        |«      ‚r   ry   rI   s     r    ÚremovezReadZipFS.remove¡   r|   r"   c                ó8   — | j                  «        t        |«      ‚r   ry   rI   s     r    Ú	removedirzReadZipFS.removedir¥   r|   r"   c                ó8   — | j                  «        t        |«      ‚r   ry   rI   s     r    Ú
removetreezReadZipFS.removetree©   r|   r"   c                ó8   — | j                  «        t        |«      ‚r   ry   )r%   ÚsrcÚdstrR   s       r    ÚmovedirzReadZipFS.movedir­   s   € Ø�
‰
ŒÜ˜sÓ#Ð#r"   c                óÊ   — | j                  «        | j                  j                  |«      st        |«      ‚| j	                  |«      }| j
                  j                  |«      }|S r   )rp   rG   ru   r	   rK   r:   Úread)r%   rJ   rU   Ú	zip_bytess       r    Ú	readbyteszReadZipFS.readbytes±   sP   € Ø�
‰
ŒØ�‰×%Ñ% dÔ+Ü" 4Ó(Ð(Ø×)Ñ)¨$Ó/ˆØ—I‘I—N‘N 8Ó,ˆ	ØÐr"   c                óÆ  ‡— | j                  «        | j                  j                  |«      rt        |›d�«      ‚‰d   }|dk(  r)| j                  j	                  |«      st        d|›�«      ‚t        ˆfd„dD «       «      rt        |«      ‚| j                  |«      }| j                  j                  ||«      }d‰v r|rt        d«      ‚|S t        j                  |fi |¤ŽS )	Nz is a directoryr   r3   zNo such file or directory: c              3  ó&   •K  — | ]  }|‰v –— Œ
 y ­wr   r$   )Ú.0ÚmÚmodes     €r    ú	<genexpr>z!ReadZipFS.open.<locals>.<genexpr>Â   s   øè ø€ Ò)˜Qˆq�DŒyÑ)ùs   ƒzwax+Úbz*encoding args invalid for binary operation)rp   rG   rH   r   rq   r	   Úanyr
   rK   r:   ÚopenÚ
ValueErrorÚioÚTextIOWrapper)r%   rJ   r�   ÚkwargsÚzip_moderU   Ústreams     `    r    r”   zReadZipFS.open¹   sÒ   ø€ Ø�
‰
ŒØ�?‰?× Ñ  Ô&Ü $ ¨Ð9Ó:Ð:à˜‘7ˆØ�sŠ? 4§?¡?×#9Ñ#9¸$Ô#?Ü"Ð%@ÀÀÐ#IÓJÐJäÓ) &Ô)Ô)Ü" 4Ó(Ð(à×)Ñ)¨$Ó/ˆØ—‘—‘ ¨(Ó3ˆØ�$‰;ÙÜ Ð!MÓNÐNØˆMä×Ñ Ñ1¨&Ñ1Ð1r"   ©r'   ©r   r(   r   r*   ©Úreturnr*   )rJ   r*   rž   r*   )rž   r   r   )rJ   r*   rk   zCollection[str] | Nonerž   r   )rJ   r*   rž   r)   )F)rJ   r*   rN   r)   rž   r   )rJ   r*   )r…   r*   r†   r*   rR   r)   )rJ   r*   rž   Úbytes)Úrb)rJ   r*   r�   r*   rž   zIO[Any])r+   r,   r-   r.   r&   rB   rE   rK   ÚpropertyrG   rT   rd   rq   rH   ru   rw   r{   rQ   r   r�   rƒ   r‡   r‹   r”   Ú__classcell__©r=   s   @r    r   r   1   sy   ø„ Ùö"ó,ó)óð ò"ó ð"ô8'ôó<,ó+ó,ó-ô%ô%ó%ó%ó%ô$ó÷2ð 2r"   r   c                  ó@   ‡ — e Zd ZdZddˆ fd„Zdd„Zdd„Zˆ fd„Zˆ xZS )	r   zA writable zip file.c                ód   •— t         ‰| �  «        t        j                  |«      | _        || _        y r   )r4   r&   r5   r6   r7   r   r<   s      €r    r&   zWriteZipFS.__init__Ò   s$   ø€ Ü‰ÑÔÜ—Y‘Y˜t“_ˆŒ
Ø ˆ�r"   c                ó"   — d| j                   ›d�S )NzWriteZipFS(r?   r@   rA   s    r    rB   zWriteZipFS.__repr__×   s   € Ø˜TŸZ™Z˜N¨!Ð,Ð,r"   c                ó"   — d| j                   › d�S )Nz<zipfs-write 'rD   r@   rA   s    r    rE   zWriteZipFS.__str__Ú   s   € Ø §
¡
˜|¨2Ð.Ð.r"   c                ó  •— | j                  «       ry t        j                  j                  t        j                  j	                  | j
                  «      «      }t        j                  |d¬«       t        j                  |¬«      5 }t        j                  t        j                  j                  |d«      d| j                  ¬«      }t        j                  || j
                  «       d d d «       t        ‰| �=  «        y # 1 sw Y   ŒxY w)NT)Úexist_ok)ÚdirÚarchiveÚzip)ÚformatÚroot_dir)Úisclosedr5   rJ   r   Úabspathr7   rQ   ÚtempfileÚTemporaryDirectoryÚshutilÚmake_archiveÚjoinÚ	_temp_dirÚreplacer4   rT   )r%   Ú
output_dirÚstagingr«   r=   s       €r    rT   zWriteZipFS.closeÝ   s°   ø€ Ø�=‰=Œ?ØÜ—W‘W—_‘_¤R§W¡W§_¡_°T·Z±ZÓ%@ÓAˆ
Ü
�‰�J¨Õ.Ü×(Ñ(¨ZÔ8ð 	,¸GÜ×)Ñ)Ü—‘—‘˜W iÓ0ØØŸ™ôˆGô
 �J‰J�w §
¡
Ô+÷	,ô 	‰‰�÷	,ð 	,ús   ÂA!C>Ã>Dr›   rœ   r�   )	r+   r,   r-   r.   r&   rB   rE   rT   r¢   r£   s   @r    r   r   Ï   s   ø„ Ùö!ó
-ó/÷ð r"   r   )%Ú
__future__r   r–   r5   r³   rb   r±   r/   r8   r   Ú_baser   Ú_errorsr   r   r	   r
   Ú_infor   Ú_pathr   r   r   r   r   Ú_tempfsr   r0   Úcollections.abcr   r   r   Ú_subfsr   r   r   r   r$   r"   r    ú<module>rÂ      st   ðÝ "ã 	Û 	Û Û Û Û Û Ý å ÷ó õ ß EÕ EÝ à	×ÒÝ*ßåôˆBô ô&[2�ô [2ô|�õ r"   