+
    …WÝjšR  ã                  óB  € R t ^ RIHt ^ RIHtHt ^ RIt^ RIH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Ht ^ RIHtHtHt ^ R	IHt R
 tR R lt R R lt!R]"R]#R]$R]%R]&R]'R](/t)R R lt*RRRRRR/R lt+RRRRRR R!RRRR"R/R# R$ llt,R]RRR%RR&RRRR'R/R( R) lllt-R* R+ lt.R!R/R, R- llt/R. R/ lt0R0RR1RR2RR3R^R4R^R5RR6RR7R R8RR9RRRR:R;/R< R= llt1R>RR0RR2RR1RR9RRR/R? R@ llt2RARR9RRBRR1R/RC RD llt3RERRRR:R;/RF RG llt4R3R^R4R^RERRRR:R;/RH RI llt5RERRRR:R;/RJ RK llt6R3RR%RRR/RL RM llt7R0RR1RR2RR9RRRRNR/RO RP llt8R3R^R0RR1RR2RRR/RQ RR llt9R0RR1RR2RRBRR9RR8RRRRSR/RT RU llt:R1R/RV RW llt;RX RY lt<RZR/R[ R\ llt=R# )_zMSynchronous PM mutations in an isolated interpreter, never the app's imports.)Úannotations)ÚMappingÚSequenceN)ÚPath)ÚpathsÚplugin_inputs)ÚInstallErrorÚRunnerÚStatePackage)Ú
CandidatesÚMembersÚPluginInputÚ	Selection)Ú
is_runtimeÚruntime_commandÚruntime_environment)Ú
OPERATIONSc                ó˜  € ^ RI HpHpHpHp ^ RIHpHp V! V .4       Uu. uF(  qs! VP                  4      '       d   K  VP                  NK*  	  ppV'       d   V! 4       MRp	V F1  p
V! V
4      P                  V	4      pVf   K   \        V
RV	 RV 2R4      h	  V'       d&   V! 4       '       g   V! V RP                  V4      4      hV# u upi )é    )Ú_refuse_lazyÚcurrent_targetÚis_installedÚlazy_installs_allowed)Úget_packageÚwalkNzunavailable on ú: Únonez, )Ú
pm.installr   r   r   r   Úpm.registryr   r   ÚnameÚmissing_reasonr   Újoin)r   r   r   r   r   r   r   ÚpackageÚmissingÚtargetÚgapÚreasons   &           Ú=C:\Users\johnn\AppData\Local\hermes\hermes-agent\pm\client.pyÚ_missing_or_refuser(      s´   € ß\Ó\ß-á+/°°¬<ÓZ©< ¸|ÈGÏLÉL×?YŒ|ˆw�|Œ|©<€GÐZß!(‰^Ô¨d€FÛˆñ
 ˜SÓ!×0Ñ0°Ó8ˆØÔÜ˜s o°f°X¸RÀ¸xÐ$HÈ&ÓQÐQñ ÷ Ñ,×.Ò.Ù˜4 §¡¨7Ó!3Ó4Ð4Ø€Nùò [s
    C¾Cc               ó    € V ^8„  d   QhRRRR/# )é   Úcoldr   Úreturn© )Úformats   "r'   Ú__annotate__r/   &   s   € ÷ ñ ˜|ð ¸<ñ ó    c           
     ó$  a€ ^ RI Hp T pVP                  R4      '       dk   ^ RIHo \        V P                  V P                   R\        VR,          4       2RRP                  V3R lVR,           4       4      ,           R,           4      pVP                  R	4      p VP                  R
\        V4      4       VP                  RR\        V4      P                   RV 24       VP!                  R^VR7       V#   TP!                  R^TR7       i ; i)zZRecord a lazy sync refused because PM's own runtime is missing; return the error to raise.©ÚreceiptÚextras)Úinstall_hintz while enabling zrun `z`, `c              3  ó4   <"  € T F  pS! V4      x € K  	  R # 5i©Nr-   )Ú.0Úextrar5   s   & €r'   Ú	<genexpr>Ú'_refuse_cold_runtime.<locals>.<genexpr>1   s   øé € Ð0fÑReÈ±¸e×1DÐ1DÓReùs   ƒÚ`Úsynczlazy-installzdependency-syncFr   Úfailed)Útoken)Úpmr3   ÚgetÚ	pm.extrasr5   r   r"   ÚcauseÚlistr!   ÚbeginÚrecord_refusalÚstrÚrecord_stepÚtypeÚ__name__Úfinalize)r+   Ú	argumentsr3   Úexcr?   r5   s   &&   @r'   Ú_refuse_cold_runtimerN   &   sõ   ø€ åà
€CØ‡}�}�X×Òõ 	+ä˜4Ÿ<™<¨D¯J©J¨<Ð7GÌÈYÐW_ÕM`ÓHaÐGbÐ)cØ" V§[¡[Ô0fÐR[Ð\dÖReÓ0fÓ%fÕfÐilÕlónˆà�M‰M˜&Ó!€Eð3Ø×Ñ˜~¬s°3«xÔ8Ø×ÑÐ-¨u¼¸c»×9KÑ9KÐ8LÈBÈsÈeÐ6TÔUà×Ñ˜ 1¨EÐÔ2Ø€Jøð 	×Ñ˜ 1¨EÐÕ2ús   ÂAC9 Ã9Dc               ó$   € V ^8„  d   QhRRRRRR/# )r*   Úworkerr   ÚenvironmentÚdictr,   z	list[str]r-   )r.   s   "r'   r/   r/   ;   s!   € ÷ 0ñ 0¨Tð 0Àð 0Èñ 0r0   c                óD  € ^ RI Hp ^ RIHp VP	                  R4      e   \        VR,          4      MRpV P                  R8H  ;'       g5    V P                  R8H  ;'       d    \        V! VR,          4      \        4      pV'       dR   VP	                  R4      '       g;   VP	                  R	4      '       g$   V! 4       '       g    \        VR
VR7      pRTR&   T# V P                  R8X  d   \        VR
VR7      # \        W&R7      #   \         d   p	\        Y‘4      RhRp	?	ii ; i)zDHow to start the worker; may disable lazy installs in *environment*.)r   ©r   ÚcacheNÚpolicyÚstater   ÚexplicitÚrepairF)Ú	bootstraprU   Ú1ÚHERMES_DISABLE_LAZY_INSTALLSÚnever)rU   )r   r   r   r   rA   r   rZ   Ú
isinstancer
   r   r   rN   )
ÚspecrL   rP   rQ   r   r   rU   Ú
state_syncÚcommandr+   s
   &&&&      r'   Ú_worker_commandrb   ;   s  € å0Ý'ð )2¯©°gÓ(>Ò(JŒD�˜7Õ#Ô$ÐPT€EØ—‘ 8Ñ+÷ `ð `Ø�‰˜'Ñ!×^Ð^¤j±¸YÀvÕ=NÓ1OÔQ]Ó&^ð ç˜9Ÿ=™=¨×4Ò4¸Y¿]¹]È8×=TÒ=TÙ)×+Ò+ð	BÜ% f¸ÀUÔKˆGð 7:ˆÐ2Ñ3ØˆØ‡~�~˜Ô Ü˜v°¸eÔDÐDÜ˜6Ô/Ð/øô ô 	BÜ& tÓ7¸TÐAûð	Bús   ÃD ÄDÄDÄDÚ
ValueErrorÚ	TypeErrorÚKeyErrorÚOSErrorÚFileExistsErrorÚFileNotFoundErrorÚPermissionErrorc               ó   € V ^8„  d   QhRR/# )r*   ÚerrorrR   r-   )r.   s   "r'   r/   r/   X   s   € ÷ 	Lñ 	L˜tñ 	Lr0   c                ó(  € RV 9   d<   ^ RI Hp V R,          R8X  d   TM\        pV! V R,          V R,          V R,          4      hV R,          R8X  d   ^ RIHp V! V R	,          4      h\
        P                  V R,          \        4      ! V R	,          4      h)
z@Re-raise a worker failure as the caller-side exception it names.r"   )ÚResolutionConflictrI   rm   rC   ÚremedyÚDownloadPaused©ro   Úmessage)Úpm.workspacerm   r   Úpm.downloaderro   Ú_WORKER_ERRORSrA   ÚRuntimeError)rk   rm   Úkindro   s   &   r'   Ú_raise_worker_errorrw   X   s   € à�EÔÝ3Ø%*¨6¥]Ð6JÔ%JÑ!ÔP\ˆÙ�5˜Õ# U¨7¥^°U¸8µ_ÓEÐEØˆV…}Ð(Ô(Ý0Ù˜U 9Õ-Ó.Ð.Ü
×
Ñ
˜U 6�]¬LÔ
9¸%À	Õ:JÓ
KÐKr0   Ú	callbacksÚpause_eventÚproject_rootc               ó@	  aaaaaa€ ^ RI Hp ^ RIHp \        P
                  ! 4       P                  oVP                  4       pT;'       g    / p\        V ,          pVP                  e   \        VP                  4      MRV9   d
   VR,          M	VR,          .p	RSRT RTR	TR
\        V4      RV! V	4      RR\        Ve   \        V4      P                  4       M\        P                  ! 4       4      R\        \        P                   ! 4       4      //p
\        \"        4      P%                  R4      P'                  4       p\)        4       p\+        W�W¼4      pRp\,        P.                  ! 4       o\,        P0                  ! 4       oRp\2        P4                  ! V\2        P6                  \2        P6                  RRVR7      ;_uu_ 4       pVP8                  e   VP:                  f   Q hVP8                  oVVVV3R loVVV3R lp S! V
4       Se)   \,        P<                  ! VRR7      pVP?                  4         VP:                  PA                  4       pV'       g   \C        RRR4      h\D        PF                  ! V4      pVR,          S8w  d   \C        RR4      hVR,          R8X  d   M>VR,          p VV,          ! VPI                  R. 4      !   S! RRRVR,          RR/4       K­  SPQ                  4        Ve   VPS                  4        SPU                  4        VPW                  ^R"7      '       d   \C        RR#4      hVPY                  VPI                  R$4      V4       Ve   VhR V9   d   \[        VR ,          4       VR,          SPQ                  4        Ve   VPS                  4        VP]                  4       f#   VP_                  4        VPW                  ^R"7       uuRRR4       #   \J         d@   pTf   TpS! RRRTR,          R \M        T4      PN                   R!T 2/4        Rp?EKõ  Rp?ii ; i  SPQ                  4        Te   TPS                  4        TP]                  4       f$   TP_                  4        TPW                  ^R"7       i i ; i  + '       g   i     R# ; i)%r   r2   )Úpackage_definitionsNÚnamesr   ÚidÚ	operationrL   Ú	update_idrx   ÚpackagesÚcontextÚrepoÚlockfilez	worker.pyTzutf-8)ÚstdinÚstdoutÚtextÚencodingÚenvc           
     ó  <€ S;_uu_ 4        SR J;'       d    SP                  4       pSP                  \        P                  ! RSRV/V C4      R,           4       SP	                  4        R R R 4       R #   + '       g   i     R # ; i)Nr~   ÚcancelÚ
)Úis_setÚwriteÚjsonÚdumpsÚflush)ÚdataÚ	cancelledry   Ú
request_idÚ
write_lockÚwriters   & €€€€r'   ÚsendÚ_request.<locals>.send‚   sb   ø€ ß’Ø'¨tÐ3×LÐL¸×8JÑ8JÓ8L�	Ø—‘œTŸZšZ¨¨z¸8ÀYÐ(WÐRVÐ(WÓXÐ[_Õ_Ô`Ø—‘”÷ ——’ús   ŒAA5Á5B	c                 ó¼   <€ S f   Q hSP                  R4      '       g&   S P                  4       '       g   K/   S! RR/4       R # R #   \        \        3 d     R # i ; i)Ngš™™™™™©?rI   r‹   )Úwaitr�   rf   rc   )ry   r—   Ústoppeds   €€€r'   Úwatch_pauseÚ_request.<locals>.watch_pauseˆ   sb   ø€ ØÒ*Ð*Ð*Ø—l‘l 4×(Ò(Ø×%Ñ%×'Ô'ðÙ˜f hÐ/Ô0ñ ñ )øô $¤ZÐ0ô Úðús   ¸
A ÁAÁA)r$   Údaemonr@   zworker exited without a resultz&check the worker diagnostics on stderrz&worker returned a different request idrI   ÚresultÚcallbackÚargsÚcallback_resultÚcallrk   r   )Útimeoutzworker exited unsuccessfullyr3   )0r@   r3   r   r|   ÚuuidÚuuid4ÚhexÚ_ambient_update_idr   r�   rD   rG   r   Úabsoluter   Ú	repo_rootÚlockfile_pathÚ__file__Ú	with_nameÚresolver   rb   Ú	threadingÚEventÚLockÚ
subprocessÚPopenÚPIPEr…   r†   ÚThreadÚstartÚreadliner   r�   ÚloadsrA   ÚBaseExceptionrI   rJ   Úsetr!   Úcloserš   Úaccept_worker_receiptrw   ÚpollÚ	terminate)r   rL   rx   ry   rz   r3   r|   r€   r_   r}   rq   rP   rQ   ra   Úcallback_errorÚmonitorÚprocessrœ   ÚlineÚresponser   rM   r”   r—   r›   r•   r–   s   &&$d$                 @@@@@r'   Ú_requestrÄ   d   sí  ý€ ÝÝ/ä—’“×!Ñ!€JØ×*Ñ*Ó,€IØ—�˜R€IÜ�iÕ €DØ#'§=¡=Ò#<ŒD�—‘ÔØ%¨Ô2ˆ	�'Ö¸À6Õ9JÐ8Kð 
ð 	ˆj˜+ y°+¸yØ�YØ”T˜)“_ØÑ'¨Ó.Ø�FœCÀÒAY¤ \Ó 2× ;Ñ ;Ô =Ô_d×_nÒ_nÓ_pÓqØ¤¤E×$7Ò$7Ó$9Ó :ð<ð€Gô ”(‹^×%Ñ% kÓ2×:Ñ:Ó<€FÜ%Ó'€KÜ˜d¨vÓC€GØ€NÜ�oŠoÓ€GÜ—’Ó!€JØ€GÜ	×	Ò	˜'¬¯©ÄÇÁØ#¨g¸;÷
Hõ 
HØKRØ�}‰}Ò(¨W¯^©^Ò-GÐGÐGØ—‘ˆ÷	ð 	÷	ð)	(Ù�ŒMØÒ&Ü#×*Ò*°+ÀdÔK�Ø—‘”ØØ—~‘~×.Ñ.Ó0�ßÜ& tÐ-MÐOwÓxÐxÜŸ:š: dÓ+�Ø˜D•> ZÔ/Ü& tÐ-UÓVÐVØ˜FÕ# xÔ/ØØ 
Õ+�ðDØ˜d–O X§\¡\°&¸"Ó%=Ò>Ù˜&Ð"3°V¸XÀfÕ=MÈxÐY]Ð^Ö_ð �K‰KŒMØÒ"Ø—‘”Ø�L‰LŒNØ�|‰| Aˆ|×&Ò&Ü" 4Ð)GÓHÐHØ×)Ñ)¨(¯,©,°yÓ*AÀ9ÔMØÒ)Ø$Ð$Ø˜(Ô"Ü# H¨WÕ$5Ô6Ø˜HÕ%à�K‰KŒMØÒ"Ø—‘”Ø�|‰|‹~Ò%Ø×!Ñ!Ô#Ø—‘ Q�Ô'÷}
Hò 
HøôN %ô DØ%Ò-Ø),˜Ù˜&Ð"3°V¸XÀfÕ=MØ!¤d¨3£i×&8Ñ&8Ð%9¸¸C¸5Ð#AðC÷ Dó DûðDûð$ �K‰KŒMØÒ"Ø—‘”Ø�|‰|‹~Ò%Ø×!Ñ!Ô#Ø—‘ Q�Õ'ð &ú÷y
H÷ 
Hð 
Hús`   Ç <RÇ=AP.ÉAP.Ê*2O!ËAP.Ì*AP.Í>ARÏ!P+Ï,3P&ÐP.Ð&P+Ð+P.Ð.AR	Ò	RÒR	Úbase_envrX   FÚverifyTÚprogressÚdownload_progressc               ó   € V ^8„  d   QhRR/# )r*   r,   r	   r-   )r.   s   "r'   r/   r/   ¾   s   € ÷ :ñ :Ø&,ñ:r0   c          
     óÒ  a€ ^ RI Hp ^ RIHp \	        4       '       d   ^ RI Hp	 V	! WW#VVSR7      # V'       g@   \        V! V 4      \        4      '       g$   \        V 4      '       g   \        W! WR7      4      # Ve%   VP                  4       '       d   ^ RIHp
 V
! R4      h/ pVe   WKR&   Se
   V3R	 lVR
&   \        RRV RV/V'       d   / MRR/CWµR7       \        W! WR7      4      # )r   )Úenv_forrT   )Úensure)rÅ   rX   rÆ   rÇ   ry   rÈ   )rÅ   rp   zinstall pausedrÇ   c                ó¨   <€ S! YVP                  4        UUUu/ uF   w  r4Y4 Uu. uF  p\        V4      NK  	  upbK"  	  uppp4      # u upi u upppi r7   )ÚitemsÚtuple)ÚdoneÚtotalÚrangesÚkeyÚrowsÚrowrÈ   s   &&&   €r'   Ú<lambda>Úensure.<locals>.<lambda>Ñ   sG   ø€ ÑEVØÈVÏ\É\Ì^Õ\É^Á	À˜#°dÓ;±d¨s¤ c¦
±dÑ;Ò;É^Ó\ôF^ùÚ;ùÔ\s   ™A¤A¸AÁArÈ   rÌ   r   rX   rÆ   F)rx   ry   )r   rË   r   r   r   rÌ   r^   r
   r(   r	   r�   rs   ro   rÄ   )r   rÅ   rX   rÆ   rÇ   ry   rÈ   rË   r   Údirectro   rx   s   &$$$$$d     r'   rÌ   rÌ   ¾   sæ   ø€ å"Ý'ä‡|‚|Ý/Ù�d¸ÐZbØ"-ÐARôTð 	TçœJ¡{°4Ó'8¼,×GÒGÜ! $×'Ò'Ü˜$ ¨Ô @ÓAÐAØÒ ;×#5Ñ#5×#7Ò#7Ý0ÙÐ-Ó.Ð.Ø€IØÒØ (�*ÑØÒ$ô*^ˆ	Ð%Ñ&ô ˆX˜  j°(ÐdÇV¹rÐRZÐ\aÐQbÐdØ õ;ä�$˜ Ô8Ó9Ð9r0   ÚpluginsrY   Úevict_incompatible_pluginsc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r*   rÙ   zPluginInput | Nonerz   úPath | NonerÚ   Úboolr,   ÚNoner-   )r.   s   "r'   r/   r/   Ù   s2   € ÷ pñ pÐ7Ið pØ'ðpØLPðpØ]añpr0   c               ó(  € ^ RI Hp V '       dm   V'       ge   V'       g]   T! Vf   \        P                  ! 4       M
\	        V4      4      '       g-   ^ RIHp V! R\        V 4       R\        P                   R24      h\        V\        4      '       dd   RVP                  9  dS   ^ RIHp \        / VP                  CRV! \	        VP                  R	,          4      R
,          4      ;'       g    R/C4      pVRJ;'       d>    \	        V4      P                  4       \        P                  ! 4       P                  4       8g  p	\!        4       '       d   V	'       g   ^ RIHp
 V
! WW#VR7      # \%        RRV RVRVR\&        P(                  ! V4      RV/VR7       R# )r   )Ú!running_from_selected_environmentN)r   ÚvenvzI: this process is not running from the install's dependency environment (zE); only an explicit install may change what later processes boot intoÚexpected_config)Úfile_digestÚhomezconfig.yamlr#   )Ú	sync_venv)rX   rÙ   rY   rÚ   rå   r4   rX   rY   rÙ   rÚ   ©rz   )Úpm.environmentsrà   r   rª   r   r   r   rD   ÚsysÚprefixr^   r   r’   Úpm.filesystemrã   r®   r   rå   rÄ   r   Úencode)r4   rX   rÙ   rY   rz   rÚ   rà   r   rã   ÚforeignrØ   s   &$$$$$     r'   rå   rå   Ù   s[  € åAç—h§vÑ6WØ!-Ò!5ŒE�OŠOÔ¼4ÀÓ;M÷7Oò 7Oõ 	,ÙØÜ�F‹|ˆnð Ü—
‘
ˆ|Ð`ðbó
ð 	
ô
 �'œ9×%Ò%Ð*;À7Ç<Á<Ô*OÝ-Üð v˜wŸ|™|ð vØ.±¼DÀÇÁÈfÕAUÓ<VÐYfÕ<fÓ0g×0tÐ0tÐktñvó wˆà $Ð&×fÐf¬4°Ó+=×+EÑ+EÓ+GÌ5Ï?Ê?ÓK\×KdÑKdÓKfÑ+f€GÜ‡|‚|ŸGÝ2Ù�f¸Ø1KôMð 	Mäˆ[˜8 V¨Z¸À8ÈVØ#¤]×%9Ò%9¸'Ó%BØ6Ð8RðTàbn÷pr0   c               ó   € V ^8„  d   QhRR/# )r*   r,   rÞ   r-   )r.   s   "r'   r/   r/   ÷   s   € ÷ Yñ Y˜tñ Yr0   c                 ó&  € ^ RI Hp  ^ RIHp ^ RIHp ^ RIHp V! 4        V! V! \        P                  ! 4       4      P                  4       4       F  p\        VRR7       K  	  V ! RR7      pV'       d   \        RR	P                  V4       24      hR
# )a0  Publish every required tool in this tree's lockfile, then put them on PATH.

Updates call this before the venv sync: the sync only pulls uv/python in
through its own dependency, so a bumped ripgrep/ffmpeg/node pin was never
installed and activation skipped the managed tool dirs on every start.
Publishing tools first also lets native builds resolve compilers and git
from the pinned store instead of the host (as `hermes pm install` does).
An update is an explicit user action, so the lazy-install policy does not
gate it; a failed download fails the update.
)Úactivate)Úinstall_before_lock)ÚLockfile)Ú
tool_rootsT)rX   )Úallow_incompletez$tools not on PATH before venv sync: z; N)r   rï   Úpm.libatomicrð   Úpm.lockrñ   r   rò   r   r«   r}   rÌ   ru   r!   )rï   rð   rñ   rò   r   Úproblemss         r'   Úensure_tools_for_syncr÷   ÷   sv   € õ $Ý0Ý Ý&áÔÙ™8¤E×$7Ò$7Ó$9Ó:×@Ñ@ÓBÖCˆÜˆt˜d×#ñ Dá¨Ô.€HßÜÐAÀ$Ç)Á)ÈHÓBUÐAVÐWÓXÐXñ r0   c               ó   € V ^8„  d   QhRR/# )r*   r,   r   r-   )r.   s   "r'   r/   r/     s   € ÷ _ñ _°$ñ _r0   c          	     óŒ   € \        4       '       d   ^ RIHp V! WVR7      # Ve   RV/M/ p\        \	        RRV RV/VR7      4      # )r   )Ú
stage_only)rÇ   rÇ   rú   r   r$   )rx   )r   r   rú   r   rÄ   )r   r$   rÇ   rØ   rx   s   &&$  r'   rú   rú     sH   € Ü‡|‚|Ý3Ù�d¨XÔ6Ð6Ø*2Ò*>�˜XÑ&ÀB€IÜ”˜¨°°hÀÐ'GÐS\Ô]Ó^Ð^r0   c               ó    € V ^8„  d   QhRRRR/# )r*   r   rG   rL   rR   r-   )r.   s   "r'   r/   r/     s   € ÷ (ñ ( ð (°ñ (r0   c           	     ó.  € \        4       '       d#   \        V ,          P                  V 4      ! R/ VB # VP                  4        UUu/ uF7  w  r#T\	        V\
        4      '       d   \        VP                  4       4      MTbK9  	  ppp\        W4      # u uppi )Nr-   )	r   r   r®   rÎ   r^   r   rG   r©   rÄ   )r   rL   rÓ   ÚvalueÚpayloads   &&   r'   Ú_python_operationrÿ     s   € Ü‡|‚|Ü˜)Õ$×,Ñ,¨YÔ7ÑD¸)ÑDÐDà!*§¡Ô!2ô4Ù!2‘:�3ð ¬Z¸¼t×-DÒ-D”C˜Ÿ™Ó(Ô)È%ÒOÙ!2ð ñ 4ä�IÓ'Ð'ùó4s   Á=BÚpythonrU   r‰   r4   ÚgroupsÚ
all_extrasÚno_install_projectÚfrozenÚsealedÚoffliner¤   i  c               óT   € V ^8„  d   QhRRRRRRRRRRR	R
RR
RRRRRRRRRRRRRRRR/# )r*   Úsourcer   Úoutr   rÜ   rU   r‰   úMapping[str, str] | Noner4   úSequence[str]r  r  rÝ   r  r  r  r  rX   r¤   Úintr,   r-   )r.   s   "r'   r/   r/     s˜   € ÷ ñ ØðØðØ(3ðàðà$<ðð ðð )6ðð ð	ð 37ð	ð
 ðð
 "&ðð
 9=ðð ðð &)ðð 
ñr0   c           !     óÊ   € \        \        RR\        V 4      R\        V4      RTRTRVe   \        V4      MRR\        V4      R	\        V4      R
VRVRV	RV
RVRVRV/4      4      # )zHBuild a validated Python environment without exposing install machinery.Úbuild_environmentr  r	  r   rU   r‰   Nr4   r  r  r  r  r  r  rX   r¤   )r   rÿ   rR   rD   )r  r	  r   rU   r‰   r4   r  r  r  r  r  r  rX   r¤   s   $$$$$$$$$$$$$$r'   r  r    s}   € ô Ô!Ð"5Ø”$�v“, ¤t¨C£y°(¸FÀGÈUØ˜CšOŒt�CŒy°°xÄÀfÃÈxÔY]Ð^dÓYeØ�jÐ"6Ð8JØ�&˜( F¨I°wØ�H˜i¨ð8ó ó ð r0   Úupgradec               ó8   € V ^8„  d   QhRRRRRRRRR	RR
RRRRR/# )r*   r  r   r  rÝ   r   rÜ   r‰   r
  rU   r  rX   r,   rÞ   r-   )r.   s   "r'   r/   r/   1  sR   € ÷ 
ñ 
Øð
Ø"ð
Ø4?ð
à	!ð
à1<ð
ð ð
ð &*ð
ð 
ñ	
r0   c               ój   € \        RR\        V 4      RTRTRVe   \        V4      MRRVRVR	V/4       R# )
zFResolve a project's lock without creating or selecting an environment.Úlock_projectr  r  r   r‰   NrU   r  rX   ©rÿ   r   rR   )r  r  r   r‰   rU   r  rX   s   &$$$$$$r'   r  r  1  s@   € ô �nØ”$�v“, 	¨7°H¸fØ˜CšOŒt�CŒy°°wÀØ�7˜J¨ð'ö r0   ÚprojectÚ
wheelhousec               ó4   € V ^8„  d   QhRRRRRRRRRRR	RR
R/# )r*   r   r   Údestinationr  rÜ   r  rÝ   r  rU   r,   r-   )r.   s   "r'   r/   r/   >  sO   € ÷ Fñ FØðFØ"&ðFØ1<ðFàðFà'2ðFàBMðFð 
ñFr0   c           	     óL   € ^ RI Hp V! \        V 4      \        V4      VW4VR7      # )r   )Ústage_manager_runtime)r   r  r  r  r  rU   )Úpm.operationsr  r   )r   r  r  r  r  rU   Ústages   $$$$$$ r'   r  r  >  s*   € õ =Ùœ˜V›´$°{Ó2CÈWØ ¸uôFð Fr0   Úrootc               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )r*   r   rG   Úrequirementsr  r  rÜ   rX   rÝ   r¤   r  r,   r   r-   )r.   s   "r'   r/   r/   I  s>   € ÷ 
ñ 
Ø
ð
Ø*ð
Ø5@ð
àð
à%(ð
ð 
ñ
r0   c               ó”   € \        V\        4      '       d   \        R4      h\        \	        RRV R\        V4      RVRVRV/4      4      # )zMSelect a complete isolated dependency generation, retaining the previous one.ú-requirements must be a sequence, not a stringÚensure_environmentr   r  r  rX   r¤   ©r^   rG   rd   r   rÿ   rD   )r   r  r  rX   r¤   s   &&$$$r'   r!  r!  I  sU   € ô
 �,¤×$Ò$ÜÐGÓHÐHÜÔ!Ð"6Ø��n¤d¨<Ó&8¸&À$Ø�H˜i¨ð9ó ó ð r0   c               ó8   € V ^8„  d   QhRRRRRRRRRR	R
RRRRR/# )r*   r   rG   r  r   r4   r  r  r  rÜ   rX   rÝ   r¤   r  r,   r-   )r.   s   "r'   r/   r/   V  sN   € ÷ ñ Ø
ðØðØ)6ðØERðà
ðà(,ðà?Bðð 
ñr0   c               ó~   € \        \        RRV R\        V4      R\        V4      R\        V4      RVRVRV/4      4      # )	zDSelect an isolated environment of the project's locked dependencies.Úensure_project_environmentr   r  r4   r  r  rX   r¤   )r   rÿ   rD   )r   r  r4   r  r  rX   r¤   s   &&$$$$$r'   r%  r%  V  sO   € ô
 Ô!Ð">Ø��i¤ g£°¼$¸v»,ÈÔRVÐW]ÓR^Ø��j (¨I°wðAó ó ð r0   c               ó4   € V ^8„  d   QhRRRRRRRRRR	R
RRR/# )r*   r   rG   r  r  Ú
executabler  rÜ   rX   rÝ   r¤   r  r,   r   r-   )r.   s   "r'   r/   r/   a  sF   € ÷ 
ñ 
Ø
ð
Ø*ð
Ø8;ð
ØFQð
àð
à%(ð
ð 
ñ
r0   c               ó˜   € \        V\        4      '       d   \        R4      h\        \	        RRV R\        V4      RVRVRVRV/4      4      # )	zIInstall an isolated tool and return its validated executable, not uv/uvx.r   Úensure_python_toolr   r  r'  r  rX   r¤   r"  )r   r  r'  r  rX   r¤   s   &&&$$$r'   r)  r)  a  sY   € ô
 �,¤×$Ò$ÜÐGÓHÐHÜÔ!Ð"6Ø��n¤d¨<Ó&8¸,È
Ø��j (¨I°wð9ó ó ð r0   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r*   r4   zlist[str] | NonerÙ   zMembers | Candidates | Nonerz   rÜ   r,   rÝ   r-   )r.   s   "r'   r/   r/   n  s,   € ÷ ñ Ð/ð ÐA\ð Ø"-ðØ9=ñr0   c                ó~  € \        4       '       dT   Ve@   \        V4      P                  4       \        P                  ! 4       P                  4       8X  d   ^ RIHp V! WVR7      #  \        \        RRV R\        P                  ! V4      /VR7      4      #   \         d   pTP                  R8X  d    Rp?R	# h Rp?ii ; i)
zCCheck through a ready PM, never bootstrap dependencies for a probe.N)Úvenv_is_current)r4   rÙ   rz   r,  r4   rÙ   ræ   z
pm-runtimeF)r   r   r®   r   rª   r   r,  rÝ   rÄ   r   rë   r   r"   )r4   rÙ   rz   rØ   rM   s   $$$  r'   r,  r,  n  s    € ô ‡|‚|˜Ò-´°lÓ1C×1KÑ1KÓ1MÔQV×Q`ÒQ`ÓQb×QjÑQjÓQlÔ1lÝ8Ù˜VÀ<ÔPÐPðÜ”HÐ.°¸6À9Ìm×NbÒNbÐcjÓNkÐ0lØ*6ô8ó 9ð 	9øäô Ø�;‰;˜,Ô&ÝØûðús   Á%.B ÂB<ÂB7Â6B7Â7B<Úquietc               ó8   € V ^8„  d   QhRRRRRRRRRR	R
R	RR	RR/# )r*   r  r   r   rÜ   rU   r‰   r
  r  rÝ   rX   r-  r,   rÞ   r-   )r.   s   "r'   r/   r/   }  sI   € ÷ ñ ˜tð °ð È;ð Ø4ðØFJðà!%ðà6:ðàGKñr0   c               ój   € \        R R\        V 4      RTRTRVe   \        V4      MRRVRVRV/4       R# )	Úcheck_project_lockr  r   rU   r‰   Nr  rX   r-  r  )r  r   rU   r‰   r  rX   r-  s   &$$$$$$r'   r0  r0  }  sB   € ô Ð*Ø”$�v“, ¨&°'¸5Ø˜CšOŒt�CŒy°°yÀ'È:ÐW_Ø�ð-ö r0   c               ó8   € V ^8„  d   QhRRRRRRRRRRR	R
RRRR/# )r*   r  r   r	  r4   r  r   rÜ   rU   r‰   r
  rX   rÝ   r,   rÞ   r-   )r.   s   "r'   r/   r/   ‡  sI   € ÷ ñ  ð ¨4ð ¸Mð Ø +ðØ;Fðà5ðàHLðàY]ñr0   c               óŽ   € \        R R\        V 4      R\        V4      R\        V4      RTRTRVe   \        V4      MRRV/4       R# )	Úexport_requirementsr  r	  r4   r   rU   r‰   NrX   )rÿ   r   rD   rR   )r  r	  r4   r   rU   r‰   rX   s   &&$$$$$r'   r3  r3  ‡  sJ   € ô Ð+Ø”$�v“, ¤t¨C£y°(¼DÀ»LØ�&˜' 5¨%¸cºo´°c´ÐSWØ�Hð.ö r0   Úlockc               óD   € V ^8„  d   QhRRRRRRRRRR	R
RRRRRRRRRRR/# )r*   r  r  r	  r   r   rÜ   rU   r‰   r
  r  r  rÝ   r  rX   r4  r,   r-   )r.   s   "r'   r/   r/   ‘  sr   € ÷ ñ °ð Èð Ø+6ðØFQðà(@ðàU`ðð -1ðð CGðð .2ð	ð BMð	ð Y]ñ	r0   c       	        óØ   € \        V \        4      '       d   \        R 4      h\        \	        RR\        V 4      R\        V4      RTRTRVe   \        V4      MRRVR	VR
VRVRV	/
4      4      # )r   Úbuild_requirements_environmentr  r	  r   rU   r‰   Nr  r  r  rX   r4  )r^   rG   rd   r   rÿ   rD   rR   )
r  r	  r   rU   r‰   r  r  r  rX   r4  s
   &$$$$$$$$$r'   r7  r7  ‘  s{   € ô
 �,¤×$Ò$ÜÐGÓHÐHÜÔ!Ð"BØœ˜\Ó*¨E´4¸³9¸hÈÐPWÐY^Ø˜CšOŒt�CŒy°°|ÀZØ�7˜H f¨j¸(ÀFÈDðEó ó ð r0   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R/# )
r*   r}   r  r	  r   r$   rG   rU   rÜ   r,   r-   )r.   s   "r'   r/   r/   Ÿ  s1   € ÷ ñ ˜ð °ð ¸cð Ø$ðØ04ñr0   c               ó¢   € \        V \        4      '       d   \        R4      h\        \	        RR\        V 4      R\        V4      RVRV/4      4      # )zCRealize build tools without selecting application or profile state.ú&names must be a sequence, not a stringÚprepare_toolsr}   r	  r$   rU   r"  )r}   r	  r$   rU   s   &$$$r'   r;  r;  Ÿ  sR   € ô �%œ×ÒÜÐ@ÓAÐAÜÔ! /Ø”�e“˜e¤T¨#£Y°¸&À'È5ð4ó ó ð r0   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	r*   r}   r  Úsource_storer   r	  r$   rG   r,   r-   )r.   s   "r'   r/   r/   ©  s1   € ÷ ñ �}ð °tð À$ð ÐPSð ÐX\ñ r0   c               ó´   € \        V \        4      '       d   \        R4      h\        \	        RR\        V 4      R\        V4      R\        V4      RV/4      4      # )zEIndependently copy verified pins through a ready PM; never bootstrap.r:  Ústage_toolsr}   r=  r	  r$   r"  )r}   r=  r	  r$   s   &$$$r'   r?  r?  ©  sW   € ä�%œ×ÒÜÐ@ÓAÐAÜÔ! -Ø”�e“˜n¬d°<Ó.@À%ÌÈcËÐT\Ð^dð2ó ó ð r0   Úcic               ó$   € V ^8„  d   QhRRRRRR/# )r*   rU   r   r@  rÝ   r,   rÞ   r-   )r.   s   "r'   r/   r/   ²  s&   € ÷ Gñ G�tð G Dð G°Tñ Gr0   c               ó8   € \        R R\        V 4      RV/4       R# )Úprune_cacherU   r@  N)rÿ   r   )rU   r@  s   &$r'   rC  rC  ²  s   € Ü�m g¬t°E«{¸DÀ"Ð%EÖFr0   r7   r-   )>Ú__doc__Ú
__future__r   Úcollections.abcr   r   r�   Úpathlibr   r²   rè   r¯   r¥   r@   r   r   Ú
pm.packager   r	   r
   Úpm.plugin_inputsr   r   r   r   Ú
pm.runtimer   r   r   Úpm.worker_operationsr   r(   rN   rb   rc   rd   re   rf   rg   rh   ri   rt   rw   rÄ   rÌ   rå   r÷   rú   rÿ   r  r  r  r!  r%  r)  r,  r0  r3  r7  r;  r?  rC  r-   r0   r'   Ú<module>rL     sQ  ðÙ SÝ "ç -Û Ý Û Û 
Û Û ç #ß 9Ñ 9ß HÓ Hß GÑ GÝ +òõ&õ*0ð0  
¨K¸ÀJÐPXØ˜WÐ&7¸Ø%Ð'8Ð:KÈ_ð^€õ
	LðW(°ð W(À$ð W(ÐUYô W(ðt:˜Tð :¨Eð :¸$ð :Èð :Ð[_ð :Ø!÷:ñ6p uð pÈDð pÐY^ð pØ*.ðpØSX÷pð põ<Yð0_¨÷ _õ(ðØ6:ðàðà?Cðð ðð 9;ðð ð	ð :?ð	ð
 ðð
 ).ðð
 @Eðð ðð ,0÷ð$
Ø%*ð
ØBFð
à$(ð
à?Cð
ð ð
ð -2÷
ðFØ?CðFàðFà59ðFàPT÷Fð
ØCGð
àð
à+/÷
ðØ9;ðØUWðàðà/4ðàEI÷ð
ØTXð
àð
à+/÷
ð°$ð Ð_cð Ø04÷ð¸dð ÐY]ð Ø7;ðØMRðà(-ðà=B÷ðÈBð Ø.2ðØIMðà8<ðàOT÷ðØ9=ðØTXðàCGðàcgðð 49ðð JOðð 5:ð	ð PT÷	ðØ'+÷õðG¨5÷ Gñ Gr0   