+
     h   c                  s   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
Ht ^ RIHtHtHt ^ RIHtHtHt ^ RIHt ^ RIHtHtHt ]'       d:   ^ RIHtHtHt ^ R	IHt ]]]P@                  ],          3,          t! ! R
 R]]]4      t"]PF                  ! R]PH                  4      t%Rt&RR R llt' ! R R]4      t(R# )    )annotationsN)StringIOTextIOWrapper)IOTYPE_CHECKINGLiteral)ZIP_DEFLATEDZipFileZipInfo)
WheelError)logurlsafe_b64decodeurlsafe_b64encode)ProtocolSizedUnion)Bufferc                  s    ] tR t^tRtR# )SizedBuffer N)__name__
__module____qualname____firstlineno____static_attributes__r       G/usr/lib/python3.14/site-packages/setuptools/_vendor/wheel/wheelfile.pyr   r      s    r   r   z^(?P<namever>(?P<name>[^\s-]+?)-(?P<ver>[^\s-]+?))(-(?P<build>\d[^\s-]*))?
     -(?P<pyver>[^\s-]+?)-(?P<abi>[^\s-]+?)-(?P<plat>\S+)\.whl$i c                   V ^8  d   QhRR/# )   	timestampzfloat | Noner   format   "r   __annotate__r!   $   s     ' 'L 'r   c                s    \        \        P                  P                  R T ;'       g    \        P                  ! 4       4      4      p \        V \        4      p \        P                  ! V 4      R,          # )ZSOURCE_DATE_EPOCH:r    i   N)intosZenvironZgettimeZmaxMINIMUM_TIMESTAMPZgmtime)r   s   &r   get_zipinfo_datetimer&   $   sM     BJJNN#6	8P8PTYY[QRII01I;;y!#&&r   c                  s    ] tR t^,tRt]P                  tR]3R R llt	RR R llt
R R	 ltRR
 R lltRR R lltR tRtR# )	WheelFilezzA ZipFile derivative class that also reads SHA-256 hashes from
.dist-info/RECORD and checks any read files against those.
rc               $    V ^8  d   QhRRRRRR/# )r   fileStrPathmodezLiteral['r', 'w', 'x', 'a']compressionr"   r   r   r    r   r!   WheelFile.__annotate__3   s(     8 88 *8 	8r   c           
     	s   \         P                  P                  V4      p\        P	                  V4      V n        VP                  R 4      '       d   V P
                  f   \        RV: 24      h\        P                  ! WW#RR7       RP                  V P
                  P                  R4      4      V n        V P                  R,           V n        / V n        / V n        VR8X  Ed:   RV P                  V P                  &   RV P                  V P                  R	,           &   RV P                  V P                  R
,           &    V P!                  V P                  4      pT;_uu_ 4        \$        P&                  ! \)        TRRR7      4       F  pTw  rxp	T'       g   K  TP+                  R4      w  r \,        P.                  ! T
4       T
P3                  4       R9   d   \        RT
 R24      hT
\5        TP7                  R4      4      3T P                  T&   K  	  RRR4       R# R#   \"         d    \        RT P                   R24      Rhi ; i  \0         d    \        RT
 24      Rhi ; i  + '       g   i     R# ; i)z.whlNzBad wheel filename T)r-   Z
allowZip64z{}.dist-infoZnameverz/RECORDr(   z.jwsz.p7szMissing z file utf-8)ZnewlineZencoding=zUnsupported hash algorithm: zWeak hash algorithm (z) is not permitted by PEP 427asciiNN>   Zmd5Zsha1)r#   pathbasenameWHEEL_INFO_REZmatchparsed_filenameendswithr
   r   __init__r   Zgroupdist_info_pathrecord_path_file_hashes_file_sizesopenZKeyErrorcsvZreaderr   ZsplithashlibnewZ
ValueErrorZlowerr   encode)selfr*   r,   r-   r5   ZrecordZliner4   Zhash_sumZsize	algorithms   &&&&       r   r9   ZWheelFile.__init__3   sF    77##D),228<  ((D,@,@,H28,?@@TtT,33  &&y1
  ..:NP3;2<Dd../;EDd..78;EDd..78O4#3#34 JJ!&"wGD ,0(DD# *2..*='I$I. !(O;(3I; ?& '  ")(//'*BC/D%%d++    O 8D,<,<+=U!CD$NO & $(:9+F#$$ s2   >H #AI&,IAI&&II#	#I&&I7	Nc               (    V ^8  d   QhRRRRRRRR/# )	r   name_or_infostr | ZipInfor,   zLiteral['r', 'w']pwdzbytes | Nonereturnz	IO[bytes]r   r   r    r   r!   r.   m   s2        #     	 
 
 r   c                	s  aaaa	a
 R  VVVV	V
3R llp\        V\        4      '       d   VP                  MToVR8X  d8   SP                  R4      '       g!   SV P                  9  d   \        RS R24      h\        P                  ! WW#4      oVR8X  d\   SP                  R4      '       gE   V P                  S,          w  poSe+   \        P                  ! V4      o	SP                  Vuo
Sn
        S# )c               s     V ^8  d   QhRRRR/# )r   newdataZbytesrI   Noner   r   r    r   r!   Z$WheelFile.open.<locals>.__annotate__s   s     	H 	H 	H4 	Hr   c                s   < SP                   pS! V 4       SP                  V 4       V'       d'   SP                  4       S8w  d   \        R S R24      hR# R# )zHash mismatch for file ''N)Z_eofZupdatedigestr
   )rJ   Zeofefef_nameexpected_hashrunning_hashupdate_crc_origs   & r   _update_crcZ#WheelFile.open.<locals>._update_crcs   sQ    ''CG$(|**,= #;G9A!FGG >sr   r(   /zNo hash found for file 'rL   )
isinstancer	   filenamer8   r<   r
   r   r>   r@   rA   rS   )rC   rF   r,   rH   rS   rD   rN   rO   rP   rQ   rR   s   &&&&  @@@@@r   r>   ZWheelFile.openm   s    	H 	H &0g%F%FL!!L 	 CK$$S))t0007yBCC\\$d83;w//44'+'8'8'A$I}(  '{{9524..+/	r   c               r   )r   base_dirstrr   r   r    r   r!   r.      s     & &C &r   c                	s(   \         P                  ! R V P                   RV R24       . p\        P                  ! V4       EF!  w  r4pVP                  4        \        V4       F  p\        P                  P                  \        P                  P                  W64      4      p\        P                  P                  V4      '       g   Kf  \        P                  P                  Wq4      P                  \        P                  P                  R4      pWP                  8X  d   K  VP                  R4      '       d   VP!                  Wx34       K  V P#                  Wx4       K  	  EK$  	  VP                  4        V F  w  rxV P#                  Wx4       K  	  R# )z
creating 'z' and adding 'z' to itrT   z
.dist-infoN)r   inforV   r#   ZwalkZsortZsortedr4   ZnormpathZjoinZisfileZrelpathZreplaceZsepr;   r8   Zappendwrite)	rC   rW   ZdeferredZrootZdirnamesZ	filenamesnamer4   arcnames	   &&       r   write_filesZWheelFile.write_files   s   :dmm_N8*GLM*,)+):%DI MMOy)ww''T(@A77>>$'' ggood=EEbggkkSVWG"2"22|44 8

41 *	 *; 	%MDJJt% &r   c               rE   )	r   rV   rX   r\   z
str | Nonecompress_type
int | NonerI   rK   r   r   r    r   r!   r.      s2     2 22 2 "	2
 
2r   c                	s    \        VR 4      ;_uu_ 4       p\        P                  ! VP                  4       4      pVP	                  4       pRRR4       \        T;'       g    T\        XP                  4      R7      p\        P                  ! VP                  4      \        P                  ! VP                  4      ,          ^,          Vn        T;'       g    V P                  Vn        V P                  VXV4       R#   + '       g   i     L; i)ZrbNZ	date_time)r>   r#   ZfstatZfilenoZreadr	   r&   Zst_mtimestatZS_IMODEZst_modeZS_IFMTexternal_attrr-   r^   writestr)rC   rV   r\   r^   ZfZstdataZzinfos   &&&&    r   rZ   ZWheelFile.write   s     (D!!Q!((*%B668D " x+?+L
  $||BJJ7$++bjj:QQVXX+??t/?/?eT=1 "!s   5C==D	c               r)   )r   zinfo_or_arcnamerG   rd   zSizedBuffer | strr^   r_   r   r   r    r   r!   r.      s(     0 0'0  0 "	0r   c                	s   \        V\        4      '       dJ   \        V\        4       R 7      pV P                  Vn        R\        P                  ,          ^,          Vn        \        V\        4      '       d   VP                  R4      p\        P                  ! WW#4       \        V\        4      '       d   VP                  MTp\        P                  ! RV R24       W@P                  8w  dm   V P!                  V4      pVP"                  \%        VP'                  4       4      P)                  R4      3V P*                  V&   \-        V4      V P.                  V&   R# R# )r`   i  r0   zadding 'rL   r2   N)rU   rX   r	   r&   r-   r^   ra   ZS_IFREGrb   rB   r   rc   rV   r   rY   r;   _default_algorithmr[   r   rM   Zdecoder<   Zlenr=   )rC   re   rd   r^   fnamehash_s   &&&&  r   rc   ZWheelFile.writestr   s    &,,& ,@,B  .2-=-=*.3dll.Br-I*dC  ;;w'DE *G44 %%! 	
 	8E7!$%$$$++D1E

!%,,.188A(De$ '*$iDU# %r   c                	s  a  S P                   e   S P                  R8X  d   S P                  '       d   \        4       p\        P
                  ! VRRRR7      pVP                  V 3R lS P                  P                  4        4       4       VP                  \        S P                  4      RR34       S P                  S P                  VP                  4       4       \        P                  ! S 4       R # )NZwZ,Z"Z
)Z	delimiterZ	quotecharZlineterminatorc              3  st   <"   T F-  w  pw  r#WR ,           V,           SP                   V,          3x  K/  	  R# 5i)r1   N)r=   )Z.0rg   rD   rh   rC   s   &   r   Z	<genexpr>Z"WheelFile.close.<locals>.<genexpr>   s9      5N11	 Oe3T5E5Ee5LM5Ns   58r/   )Zfpr,   r<   r   r?   writerZ	writerowsZitemsZwriterowr   r;   rc   Zgetvaluer   close)rC   rd   ri   s   f  r   rj   ZWheelFile.close   s    77499#38I8I8I:DZZsSWXF595F5F5L5L5N OOVD$4$45r2>?MM$**DMMO<dr   )r<   r=   r:   r7   r;   )r(   Nr3   N)r   r   r   r   Z__doc__r@   Zsha256rf   r   r9   r>   r]   rZ   rc   rj   r   r   r   r   r'   r'   ,   s;     !
 -0'	8t D&,2"0>r   r'   rk   ))Z
__future__r   r?   r@   Zos.pathr#   Zrera   r$   Zior   r   Ztypingr   r   r   Zzipfiler   r   r	   Z	wheel.clir
   Z
wheel.utilr   r   r   r   r   r   Ztyping_extensionsr   rX   ZPathLiker+   r   ZcompileZVERBOSEr6   r%   r&   r'   r   r   r   <module>rl      s    " 
   	   & - - 2 2   @ @--(CS))*G3eVX3
 

CJJ
  'w wr   