Ë
    nûàg  ã                  óà   — 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	m
Z
mZ d dlmZmZmZ d dlmZ d dlmZmZmZ  ej,                  dej.                  «      ZdZdd	„Z G d
„ de«      Zy)é    )ÚannotationsN)ÚStringIOÚTextIOWrapper)ÚZIP_DEFLATEDÚZipFileÚZipInfo)Ú
WheelError)ÚlogÚurlsafe_b64decodeÚurlsafe_b64encodezŠ^(?P<namever>(?P<name>[^\s-]+?)-(?P<ver>[^\s-]+?))(-(?P<build>\d[^\s-]*))?
     -(?P<pyver>[^\s-]+?)-(?P<abi>[^\s-]+?)-(?P<plat>\S+)\.whl$i ¦Îc                óÐ   — t        t        j                  j                  d| xs t	        j                  «       «      «      } t        | t        «      } t	        j                  | «      dd S )NÚSOURCE_DATE_EPOCHr   é   )ÚintÚosÚenvironÚgetÚtimeÚmaxÚMINIMUM_TIMESTAMPÚgmtime)Ú	timestamps    ú`/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/setuptools/_vendor/wheel/wheelfile.pyÚget_zipinfo_datetimer      sL   € ô ”B—J‘J—N‘NÐ#6¸	Ò8PÄTÇYÁYÃ[ÓQÓR€IÜ�IÔ0Ó1€IÜ�;‰;�yÓ! ! AÐ&Ð&ó    c                  óX   — e Zd ZdZej
                  Zdefd„Zd
d„Z	d„ Z
dd„Zdd„Zd	„ Zy)Ú	WheelFilez‚A ZipFile derivative class that also reads SHA-256 hashes from
    .dist-info/RECORD and checks any read files against those.
    Úrc                ó†  — t         j                  j                  |«      }t        j	                  |«      | _        |j                  d«      r| j
                  €t        d|›�«      ‚t        j                  | |||d¬«       dj                  | j
                  j                  d«      «      | _        | j                  dz   | _        i | _        i | _        |dk(  �rd	| j                  | j                  <   d	| j                  | j                  d
z   <   d	| j                  | j                  dz   <   	 | j!                  | j                  «      }|5  t%        j&                  t)        |dd¬«      «      D ]  }|\  }}}	|sŒ|j+                  d«      \  }
}	 t-        j.                  |
«       |
j3                  «       dv rt        d|
› d�«      ‚|
t5        |j7                  d«      «      f| j                  |<   Œ� 	 d d d «       y y # t"        $ r t        d| j                  › d�«      d ‚w xY w# t0        $ r t        d|
› �«      d ‚w xY w# 1 sw Y   y xY w)Nz.whlzBad wheel filename T)ÚcompressionÚ
allowZip64z{}.dist-infoÚnameverz/RECORDr   ©NNz.jwsz.p7szMissing z fileÚ úutf-8)ÚnewlineÚencodingú=zUnsupported hash algorithm: >   Úmd5Úsha1zWeak hash algorithm (z) is not permitted by PEP 427Úascii)r   ÚpathÚbasenameÚWHEEL_INFO_REÚmatchÚparsed_filenameÚendswithr	   r   Ú__init__ÚformatÚgroupÚdist_info_pathÚrecord_pathÚ_file_hashesÚ_file_sizesÚopenÚKeyErrorÚcsvÚreaderr   ÚsplitÚhashlibÚnewÚ
ValueErrorÚlowerr   Úencode)ÚselfÚfileÚmoder    r-   ÚrecordÚliner,   Úhash_sumÚsizeÚ	algorithms              r   r2   zWheelFile.__init__(   sU  € Ü—7‘7×#Ñ# DÓ)ˆÜ,×2Ñ2°8Ó<ˆÔØ× Ñ  Ô(¨D×,@Ñ,@Ð,HÜÐ2°8°,Ð?Ó@Ð@ä×Ñ˜˜t T°{ÈtÕTà,×3Ñ3Ø× Ñ ×&Ñ& yÓ1ó
ˆÔð  ×.Ñ.°Ñ:ˆÔØˆÔØˆÔØ�3‹;à2<ˆD×Ñ˜d×.Ñ.Ñ/Ø;EˆD×Ñ˜d×.Ñ.°Ñ7Ñ8Ø;EˆD×Ñ˜d×.Ñ.°Ñ7Ñ8ðOØŸ™ 4×#3Ñ#3Ó4�ð ñ ÜŸJ™JÜ! &°"¸wÔGóò �Dð ,0Ñ(�D˜( DÙ#Ø à*2¯.©.¸Ó*=Ñ'�I˜xð$ÜŸ™ IÔ.ð !—‘Ó(¨OÑ;Ü(Ø3°I°;ð ?&ð 'óð ð "Ü)¨(¯/©/¸'Ó*BÓCð/�D×%Ñ% dÒ+ñ+÷ð ð øô ò OÜ  8¨D×,<Ñ,<Ð+=¸UÐ!CÓDÈ$ÐNðOûô &ò $Ü(Ø:¸9¸+ÐFóà#ð$ð$ú÷ð ús2   Ä(G4 ÅAH7ÆHÆAH7Ç4$HÈH4È4H7È7I Nc                óš  ‡‡‡‡	‡
— ˆˆˆˆ	ˆ
fd„}t        |t        «      r|j                  n|Š|dk(  r.‰j                  d«      s‰| j                  vrt        d‰› d�«      ‚t        j                  | |||«      Š|dk(  rN‰j                  d«      s=| j                  ‰   \  }Š‰�)t        j                  |«      Š	‰j                  |cŠ
‰_
        ‰S )Nc                óš   •— ‰j                   } ‰| «       ‰j                  | «       |r#‰j                  «       ‰k7  rt        d‰› d�«      ‚y y )NzHash mismatch for file 'ú')Ú_eofÚupdateÚdigestr	   )ÚnewdataÚeofÚefÚef_nameÚexpected_hashÚrunning_hashÚupdate_crc_origs     €€€€€r   Ú_update_crcz#WheelFile.open.<locals>._update_crc^   sQ   ø€ Ø—'‘'ˆCÙ˜GÔ$Ø×Ñ Ô(Ù�|×*Ñ*Ó,°Ò=Ü Ð#;¸G¸9ÀAÐ!FÓGÐGð >ˆsr   r   ú/zNo hash found for file 'rM   )Ú
isinstancer   Úfilenamer1   r7   r	   r   r9   r>   r?   rX   )rC   Úname_or_inforE   ÚpwdrX   rJ   rS   rT   rU   rV   rW   s         @@@@@r   r9   zWheelFile.open]   sÎ   ü€ ÷	Hð 	Hô &0°¼gÔ%FˆL×!Ò!ÈLð 	ð �CŠKØ×$Ñ$ SÔ)Ø˜t×0Ñ0Ñ0äÐ7¸°yÀÐBÓCÐCä�\‰\˜$ ¨d°CÓ8ˆØ�3Š;˜w×/Ñ/°Ô4Ø'+×'8Ñ'8¸Ñ'AÑ$ˆI�}ØÐ(ô  'Ÿ{™{¨9Ó5�Ø24·.±.À+Ð/� ¤àˆ	r   c                ó  — t        j                  d| j                  › d|› d�«       g }t        j                  |«      D �]  \  }}}|j                  «        t        |«      D ]î  }t        j                  j                  t        j                  j                  ||«      «      }t        j                  j                  |«      sŒ`t        j                  j                  ||«      j                  t        j                  j                  d«      }|| j                  k(  rŒ¸|j                  d«      r|j!                  ||f«       ŒÝ| j#                  ||«       Œð �Œ |j                  «        |D ]  \  }}| j#                  ||«       Œ y )Nz
creating 'z' and adding 'z' to itrY   z
.dist-info)r
   Úinfor[   r   ÚwalkÚsortÚsortedr,   ÚnormpathÚjoinÚisfileÚrelpathÚreplaceÚsepr6   r1   ÚappendÚwrite)	rC   Úbase_dirÚdeferredÚrootÚdirnamesÚ	filenamesÚnamer,   Úarcnames	            r   Úwrite_fileszWheelFile.write_filesz   s(  € Ü�‰�:˜dŸm™m˜_¨N¸8¸*ÀGÐLÔMØˆÜ)+¯©°Ó):ó 	2Ñ%ˆD�(˜Ið �M‰MŒOÜ˜yÓ)ò 	2�Ü—w‘w×'Ñ'¬¯©¯©°T¸4Ó(@ÓA�Ü—7‘7—>‘> $Õ'Ü Ÿg™gŸo™o¨d°HÓ=×EÑEÄbÇgÁgÇkÁkÐSVÓW�GØ $×"2Ñ"2Ò2ØØŸ™ |Ô4Ø Ÿ™¨¨w¨Õ8àŸ
™
 4¨Õ1ò	2ð		2ð 	�‰ŒØ%ò 	&‰MˆD�'Ø�J‰J�t˜WÕ%ñ	&r   c                óÒ  — t        |d«      5 }t        j                  |j                  «       «      }|j	                  «       }d d d «       t        |xs |t        j                  «      ¬«      }t        j                  |j                  «      t        j                  |j                  «      z  dz  |_        |xs | j                  |_        | j                  ||«       y # 1 sw Y   Œ�xY w)NÚrb©Ú	date_timeé   )r9   r   ÚfstatÚfilenoÚreadr   r   Úst_mtimeÚstatÚS_IMODEÚst_modeÚS_IFMTÚexternal_attrr    Úcompress_typeÚwritestr)rC   r[   rq   r�   ÚfÚstÚdataÚzinfos           r   rj   zWheelFile.write�   s´   € Ü�(˜DÓ!ð 	 QÜ—‘˜!Ÿ(™(›*Ó%ˆBØ—6‘6“8ˆD÷	ô ØÒ�xÔ+?ÀÇÁÓ+Lô
ˆô  $Ÿ|™|¨B¯J©JÓ7¼$¿+¹+ÀbÇjÁjÓ:QÑQÐVXÑXˆÔØ+Ò?¨t×/?Ñ/?ˆÔØ�‰�e˜T =Õ1÷	ð 	ús   �4CÃC&c                óz  — t        |t        «      rAt        |t        «       ¬«      }| j                  |_        dt        j                  z  dz  |_        t        |t        «      r|j                  d«      }t        j                  | |||«       t        |t        «      r|j                  n|}t        j                  d|› d�«       || j                  k7  rk| j!                  |«      }|j"                  t%        |j'                  «       «      j)                  d«      f| j*                  |<   t-        |«      | j.                  |<   y y )Nru   i´  rw   r%   zadding 'rM   r+   )rZ   Ústrr   r   r    r�   r|   ÚS_IFREGr€   rB   r   r‚   r[   r
   r_   r6   Ú_default_algorithmrp   r   rP   Údecoder7   Úlenr8   )rC   Úzinfo_or_arcnamer…   r�   ÚfnameÚhash_s         r   r‚   zWheelFile.writestrœ   s  € ÜÐ&¬Ô,Ü&Ø Ô,@Ó,Bô Ðð .2×-=Ñ-=ÐÔ*Ø.3´d·l±lÑ.BÀrÑ-IÐÔ*ä�dœCÔ Ø—;‘;˜wÓ'ˆDä×Ñ˜Ð/°°}ÔEô Ð*¬GÔ4ð ×%Ò%à!ð 	ô
 	�‰�8˜E˜7 !Ð$Ô%Ø�D×$Ñ$Ò$Ø×+Ñ+¨DÓ1ˆEà—
‘
Ü! %§,¡,£.Ó1×8Ñ8¸ÓAð(ˆD×Ñ˜eÑ$ô '*¨$£iˆD×Ñ˜UÒ#ð %r   c                óÊ  ‡ — ‰ j                   �Á‰ j                  dk(  r²‰ j                  r¦t        «       }t	        j
                  |ddd¬«      }|j                  ˆ fd„‰ j                  j                  «       D «       «       |j                  t        ‰ j                  «      ddf«       ‰ j                  ‰ j                  |j                  «       «       t        j                  ‰ «       y )NÚwú,ú"ú
)Ú	delimiterÚ	quotecharÚlineterminatorc              3  óZ   •K  — | ]"  \  }\  }}||d z   |z   ‰j                   |   f–— Œ$ y­w)r(   N)r8   )Ú.0rŽ   rJ   r�   rC   s       €r   ú	<genexpr>z"WheelFile.close.<locals>.<genexpr>¼   s=   øè ø€ ò á1˜Ñ1 	¨5ð ˜I¨™O¨eÑ3°T×5EÑ5EÀeÑ5LÔMñùs   ƒ(+r$   )ÚfprE   r7   r   r;   ÚwriterÚ	writerowsÚitemsÚwriterowr3   r6   r‚   Úgetvaluer   Úclose)rC   r…   rœ   s   `  r   r¡   zWheelFile.close¶   s¬   ø€ à�7‰7Ð 4§9¡9°Ò#3¸×8IÒ8IÜ“:ˆDÜ—Z‘Z °¸sÐSWÔXˆFØ×Ñóà59×5FÑ5F×5LÑ5LÓ5Nôôð �O‰OœV D×$4Ñ$4Ó5°r¸2Ð>Ô?Ø�M‰M˜$×*Ñ*¨D¯M©M«OÔ<ä�‰�dÕr   )r   Nr#   ©N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r>   Úsha256rŠ   r   r2   r9   rr   rj   r‚   r¡   © r   r   r   r   !   s7   „ ñð !Ÿ™Ðà"%°<ó 3ójò:&ó,
2ó0ó4r   r   r¢   )Ú
__future__r   r;   r>   Úos.pathr   Úrer|   r   Úior   r   Úzipfiler   r   r   Ú	wheel.clir	   Ú
wheel.utilr
   r   r   ÚcompileÚVERBOSEr.   r   r   r   r¨   r   r   ú<module>r²      sf   ðÝ "ã 
Û Û Û 	Û Û ß &ß 2Ñ 2å  ß @Ñ @ð �—
‘
ðCà‡J�Jó€ð
 Ð ó'ôc�õ cr   