+
    ª¬‚j£  ã                  ó  € ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt ]P                  ! ]4      t]P"                  R R l4       t]P"                  R	 R
 l4       t ! R R]4      t ! R R4      tR# )é    )ÚannotationsN)Ú	Generator)ÚTracebackType)ÚInstallRequirement)ÚTempDirectoryc               ó    € V ^8„  d   QhRRRR/# )é   ÚchangesÚstrÚreturnúGenerator[None, None, None]© )Úformats   "Úi/Users/cheyod/AIGC/DSH/.venv/lib/python3.14/site-packages/pip/_internal/operations/build/build_tracker.pyÚ__annotate__r      s   € ÷ .ñ .¨#ð .Ð2Mñ .ó    c               +  óÌ  "  € \         P                  p\        4       p/ pV P                  4        F  w  rE W,          W4&   WQV&   K  	   R x € VP                  4        F*  w  rFWbJ d   W K  \        V\        4      '       g   Q hWaV&   K,  	  R #   \         d    Y#T&    L^i ; i  TP                  4        F*  w  rFYbJ d   Y K  \        T\        4      '       g   Q hYaT&   K,  	  i ; i5i©N)ÚosÚenvironÚobjectÚitemsÚKeyErrorÚ
isinstancer   )r
   ÚtargetÚnon_existent_markerÚsaved_valuesÚnameÚ	new_valueÚoriginal_values   ,      r   Úupdate_env_context_managerr!      sâ   é € ä�Z‰Z€Fô !›(ÐØ,.€LØ"Ÿ=™=ž?‰ˆð	5Ø!'¥ˆLÑð !ˆt‹ñ +ð	.Ûð %1×$6Ñ$6Ö$8Ñ ˆDØÓ4Ø’Lä! .´#×6Ò6Ð6Ð6Ø-�t“ó %9øô ô 	5Ø!4˜Óð	5ûð %1×$6Ñ$6Ö$8Ñ ˆDØÓ4Ø’Lä! .´#×6Ò6Ð6Ð6Ø-�t“ò %9üsA   ‚2C$µ
B¿C$ÁB! ÁA C$ÂBÂC$ÂBÂC$Â!A C!Ã!C$c               ó   € V ^8„  d   QhRR/# )r	   r   z#Generator[BuildTracker, None, None]r   )r   s   "r   r   r   +   s   € ÷ 	ñ 	Ð>ñ 	r   c            	   #  óÚ  "  € \         P                  P                  R 4      p \        P                  ! 4       ;_uu_ 4       pV fW   VP                  \        RR7      4      P                  p VP                  \        V R7      4       \        P                  RV 4       \        V 4      ;_uu_ 4       pVx € RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i5i)ÚPIP_BUILD_TRACKERNzbuild-tracker)Úkind)r$   z Initialized build tracking at %s)r   r   ÚgetÚ
contextlibÚ	ExitStackÚenter_contextr   Úpathr!   ÚloggerÚdebugÚBuildTracker)ÚrootÚctxÚtrackers      r   Úget_build_trackerr1   *   sŸ   é € ä�:‰:�>‰>Ð-Ó.€DÜ	×	Ò	×	Ô	 3ØŠ<Ø×$Ñ$¤]¸Ô%HÓI×NÑNˆDØ×ÑÔ8È4ÔPÔQÜ�L‰LÐ;¸TÔBä˜$×Ô 7ØŠM÷  ÷ 
 Ñ	÷  ×ú÷ 
 ×	Ð	üs5   ‚=C+¿A.CÂ-C	Â2CÂ:
C+ÃCÃCÃC(	Ã"	C+c                  ó   € ] tR t^7tRtRtR# )Ú	TrackerIdz:Uniquely identifying string provided to the build tracker.r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   r   r   r3   r3   7   s   † ÝDr   r3   c                  ó˜   € ] tR t^;tRtR R ltR R ltR R ltR R	 ltR
 R lt	R R lt
R R lt]P                  R R l4       tRtR# )r-   a'  Ensure that an sdist cannot request itself as a setup requirement.

When an sdist is prepared, it identifies its setup requirements in the
context of ``BuildTracker.track()``. If a requirement shows up recursively, this
raises an exception.

This stops fork bombs embedded in malicious packages.c               ó    € V ^8„  d   QhRRRR/# )r	   r.   r   r   ÚNoner   )r   s   "r   r   ÚBuildTracker.__annotate__D   s   € ÷ >ñ >˜Sð > Tñ >r   c                	ó`   € Wn         / V n        \        P                  R V P                   4       R# )zCreated build tracker: %sN)Ú_rootÚ_entriesr+   r,   )Úselfr.   s   &&r   Ú__init__ÚBuildTracker.__init__D   s!   € ØŒ
Ø=?ˆŒÜ�‰Ð0°$·*±*Ö=r   c               ó   € V ^8„  d   QhRR/# )r	   r   r-   r   )r   s   "r   r   r=   I   s   € ÷ ñ ˜<ñ r   c                	óF   € \         P                  R V P                  4       V # )zEntered build tracker: %s)r+   r,   r?   )rA   s   &r   Ú	__enter__ÚBuildTracker.__enter__I   s   € Ü�‰Ð0°$·*±*Ô=Øˆr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r	   Úexc_typeztype[BaseException] | NoneÚexc_valzBaseException | NoneÚexc_tbzTracebackType | Noner   r<   r   )r   s   "r   r   r=   M   s2   € ÷ ñ à,ðð &ðð %ð	ð
 
ñr   c                	ó&   € V P                  4        R # r   )Úcleanup)rA   rI   rJ   rK   s   &&&&r   Ú__exit__ÚBuildTracker.__exit__M   s   € ð 	�‰Žr   c               ó    € V ^8„  d   QhRRRR/# )r	   Úkeyr3   r   r   r   )r   s   "r   r   r=   U   s   € ÷ 0ñ 0˜yð 0¨Sñ 0r   c                	óº   € \         P                  ! VP                  4       4      P                  4       p\        P
                  P                  V P                  V4      # r   )ÚhashlibÚsha224ÚencodeÚ	hexdigestr   r*   Újoinr?   )rA   rQ   Úhasheds   && r   Ú_entry_pathÚBuildTracker._entry_pathU   s8   € Ü—’ §
¡
£Ó-×7Ñ7Ó9ˆÜ�w‰w�|‰|˜DŸJ™J¨Ó/Ð/r   c               ó$   € V ^8„  d   QhRRRRRR/# ©r	   Úreqr   rQ   r3   r   r<   r   )r   s   "r   r   r=   Y   s'   € ÷ Fñ FÐ)ð F°	ð F¸dñ Fr   c                ó  € V P                  V4      p \        V4      ;_uu_ 4       pVP                  4       pRRR4       VP                   RX 2p\	        V4      h  + '       g   i     L,; i  \
         d     Mi ; iY P                  9  g   Q h\        TRRR7      ;_uu_ 4       pTP                  \        T4      4       RRR4       M  + '       g   i     M; iYP                  T&   \        P                  RYP                  4       R# )z,Add an InstallRequirement to build tracking.Nz is already being built: Úwzutf-8)ÚencodingzAdded %s to build tracker %r)rY   ÚopenÚreadÚlinkÚLookupErrorÚFileNotFoundErrorr@   Úwriter   r+   r,   r?   )rA   r]   rQ   Ú
entry_pathÚfpÚcontentsÚmessages   &&&    r   ÚaddÚBuildTracker.addY   sÕ   € ð ×%Ñ% cÓ*ˆ
ð	'Ü�j×!Ô! RØŸ7™7›9�÷ "ð
 Ÿ™˜
Ð";¸H¸:ÐFˆGÜ˜gÓ&Ð&÷ "×!ûä ô 	Ùð	úð Ÿ-™-Ô'Ð'Ð'ô �*˜c¨G×4Õ4¸Ø�H‰H”S˜“XÔ÷ 5×4×4Ð4úà �‰�cÑä�‰Ð3°S¿*¹*ÖEs3   “A. ¦A·A. ÁA+	Á&A. Á.A<Á;A<Â'CÃC	c               ó$   € V ^8„  d   QhRRRRRR/# r\   r   )r   s   "r   r   r=   t   s'   € ÷ Jñ JÐ,ð J°9ð JÀñ Jr   c                óª   € \         P                  ! V P                  V4      4       V P                  V \        P                  RWP                  4       R# )z1Remove an InstallRequirement from build tracking.z Removed %s from build tracker %rN)r   ÚunlinkrY   r@   r+   r,   r?   )rA   r]   rQ   s   &&&r   ÚremoveÚBuildTracker.removet   s:   € ô 	�	Š	�$×"Ñ" 3Ó'Ô(Ø�M‰M˜#Ðä�‰Ð7¸¿j¹jÖIr   c               ó   € V ^8„  d   QhRR/# )r	   r   r<   r   )r   s   "r   r   r=   }   s   € ÷ >ñ >˜ñ >r   c                	óÀ   € \        V P                  P                  4       4       F  w  rV P                  W!4       K  	  \        P                  R V P                  4       R# )zRemoved build tracker: %rN)Úlistr@   r   rp   r+   r,   r?   )rA   rQ   r]   s   &  r   rM   ÚBuildTracker.cleanup}   sA   € Ü˜TŸ]™]×0Ñ0Ó2Ö3‰HˆCØ�K‰K˜Ö!ñ 4ô 	�‰Ð0°$·*±*Ö=r   c               ó$   € V ^8„  d   QhRRRRRR/# )r	   r]   r   rQ   r   r   r   r   )r   s   "r   r   r=   „   s#   € ÷ %ñ %Ð+ð %°#ð %Ð:Uñ %r   c              #  óp   "  € \        V4      pV P                  W4       Rx € V P                  W4       R# 5i)zÉEnsure that `key` cannot install itself as a setup requirement.

:raises LookupError: If `key` was already provided in a parent invocation of
                     the context introduced by this method.N)r3   rk   rp   )rA   r]   rQ   Ú
tracker_ids   &&& r   ÚtrackÚBuildTracker.trackƒ   s+   é € ô ˜s“^ˆ
Ø�‰�Ô!ÛØ�‰�CÖ$ùs   ‚46)r@   r?   N)r4   r5   r6   r7   r8   rB   rF   rN   rY   rk   rp   rM   r'   Úcontextmanagerry   r9   r   r   r   r-   r-   ;   sF   † ñ=õ>õ
õõ0õFõ6Jõ>ð ×Ñô%ó ô%r   r-   )Ú
__future__r   r'   rS   Úloggingr   Úcollections.abcr   Útypesr   Úpip._internal.req.req_installr   Úpip._internal.utils.temp_dirr   Ú	getLoggerr4   r+   r{   r!   r1   r   r3   r-   r   r   r   Ú<module>rƒ      s~   ðÝ "ã Û Û Û 	Ý %Ý å <Ý 6à	×	Ò	˜8Ó	$€ð ×Ñô.ó ð.ð2 ×Ñô	ó ð	ôE�ô E÷Q%ó Q%r   