+
    ®¾j¦  ã                   ó  € ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtHtH	t	H
t
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# )é    N)ÚTracebackType)ÚDictÚ	GeneratorÚOptionalÚTypeÚUnion)ÚInstallRequirement)ÚTempDirectoryc                ó>   € V ^8„  d   QhR\         R\        R,          /# )é   ÚchangesÚreturn©NNN)Ústrr   )Úformats   "Úk/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/pip/_internal/operations/build/build_tracker.pyÚ__annotate__r      s    € ÷ .ñ .¬#ð .´)Ð<LÕ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ô !›(ÐØ24€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                ó2   € V ^8„  d   QhR\         R,          /# )r   r   )ÚBuildTrackerNN)r   )r   s   "r   r   r   )   s   € ÷ 	ñ 	œ9Ð%?Õ@ñ 	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Údebugr%   )ÚrootÚctxÚtrackers      r   Úget_build_trackerr3   (   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^5tRtRtR# )Ú	TrackerIdz:Uniquely identifying string provided to the build tracker.© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r6   r   r   r5   r5   5   s   † ÝDr   r5   c                   óÒ   a € ] tR t^9t o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	V 3R lR lt
V 3R lR lt]P                  V 3R lR l4       tRtV 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S[ RR/# )r   r0   r   N)r   )r   Ú__classdict__s   "€r   r   ÚBuildTracker.__annotate__B   s   ø€ ÷ >ñ >™Sð > Tñ >r   c                ó`   € Wn         / V n        \        P                  R V P                   4       R# )zCreated build tracker: %sN)Ú_rootÚ_entriesr.   r/   )Úselfr0   s   &&r   Ú__init__ÚBuildTracker.__init__B   s!   € ØŒ
Ø=?ˆŒÜ�‰Ð0°$·*±*Ö=r   c                ó   <€ V ^8„  d   QhRR/# )r   r   r%   r6   )r   r?   s   "€r   r   r@   G   s   ø€ ÷ ñ ˜>ñ r   c                óF   € \         P                  R V P                  4       V # )zEntered build tracker: %s)r.   r/   rB   )rD   s   &r   Ú	__enter__ÚBuildTracker.__enter__G   s   € Ü�‰Ð0°$·*±*Ô=Øˆr   c                óp   <€ V ^8„  d   QhRS[ S[S[,          ,          RS[ S[,          RS[ S[,          RR/# )r   Úexc_typeÚexc_valÚexc_tbr   N)r   r   ÚBaseExceptionr   )r   r?   s   "€r   r   r@   K   sG   ø€ ÷ ñ á™4¡Õ.Õ/ðñ ™-Õ(ðñ ™Õ'ð	ð
 
ñr   c                ó&   € V P                  4        R # r   )Úcleanup)rD   rL   rM   rN   s   &&&&r   Ú__exit__ÚBuildTracker.__exit__K   s   € ð 	�‰Žr   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Úkeyr   )r5   r   )r   r?   s   "€r   r   r@   S   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-   ÚjoinrB   )rD   rU   Úhasheds   && r   Ú_entry_pathÚBuildTracker._entry_pathS   s8   € Ü—’ §
¡
£Ó-×7Ñ7Ó9ˆÜ�w‰w�|‰|˜DŸJ™J¨Ó/Ð/r   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# ©r   ÚreqrU   r   N©r	   r5   )r   r?   s   "€r   r   r@   W   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)r]   ÚopenÚreadÚlinkÚLookupErrorÚFileNotFoundErrorrC   Úwriter   r.   r/   rB   )rD   ra   rU   Ú
entry_pathÚfpÚcontentsÚmessages   &&&    r   ÚaddÚBuildTracker.addW   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S[ RS[RR/# r`   rb   )r   r?   s   "€r   r   r@   r   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   Úunlinkr]   rC   r.   r/   rB   )rD   ra   rU   s   &&&r   ÚremoveÚBuildTracker.remover   s:   € ô 	�	Š	�$×"Ñ" 3Ó'Ô(Ø�M‰M˜#Ðä�‰Ð7¸¿j¹jÖIr   c                ó   <€ V ^8„  d   QhRR/# )r   r   Nr6   )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)ÚlistrC   r   ru   r.   r/   rB   )rD   rU   ra   s   &  r   rQ   ÚBuildTracker.cleanup{   sA   € Ü˜TŸ]™]×0Ñ0Ó2Ö3‰HˆCØ�K‰K˜Ö!ñ 4ô 	�‰Ð0°$·*±*Ö=r   c                ó:   <€ V ^8„  d   QhRS[ RS[RS[R,          /# )r   ra   rU   r   r   )r	   r   r   )r   r?   s   "€r   r   r@   ‚   s)   ø€ ÷ %ñ %Ñ+ð %±#ð %¹)ÐDTÕ: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)r5   rp   ru   )rD   ra   rU   Ú
tracker_ids   &&& r   ÚtrackÚBuildTracker.track�   s+   é € ô ˜s“^ˆ
Ø�‰�Ô!ÛØ�‰�CÖ$ùs   ‚46)rC   rB   N)r7   r8   r9   r:   r;   rE   rI   rR   r]   rp   ru   rQ   r*   Úcontextmanagerr~   r<   Ú__classdictcell__)r?   s   @r   r%   r%   9   sn   ø‡ € ñ=÷>ð >÷
ð ÷ð ÷0ð 0÷Fð F÷6Jð J÷>ð >ð ×Ñ÷%ó ö%r   r%   )r*   rW   Úloggingr   Útypesr   Útypingr   r   r   r   r   Úpip._internal.req.req_installr	   Úpip._internal.utils.temp_dirr
   Ú	getLoggerr7   r.   r€   r#   r3   r   r5   r%   r6   r   r   Ú<module>rˆ      s~   ðÛ Û Û Û 	Ý ß 9Õ 9å <Ý 6à	×	Ò	˜8Ó	$€ð ×Ñô.ó ð.ð2 ×Ñô	ó ð	ôE�ô E÷Q%ó Q%r   