+
    …WÝjB  ã                  ó@  € R t ^ RIHt ^ RIt^ RIt^ RIHtHt ^ RIH	t	H
t
 ^ RIHt ]	'       d   ^ RIHt  ! R R]4      tR!R	 R
 llt ! R R4      t ! R R]4      tR R ltR R ltR R lt ! R R]4      tR R ltR"R R lltR R ltR R lt ! R R 4      tR# )#uq   Package definitions: what a package IS. No versions, no hashes â€” those
live in lock.json, written by `pm lock`.)ÚannotationsN)ÚPathÚPurePosixPath)ÚTYPE_CHECKINGÚOptional©Únative)ÚStorec                  ó2   a € ] tR t^tRR V 3R llltRtV ;t# )ÚInstallErrorc               ó$   € V ^8„  d   QhRRRRRR/# )é   ÚpackageÚstrÚcauseÚremedy© )Úformats   "Ú>C:\Users\johnn\AppData\Local\hermes\hermes-agent\pm\package.pyÚ__annotate__ÚInstallError.__annotate__   s&   € ÷ Bñ B ð B¨Cð B¸ñ Bó    c                	ó„   <€ Wn         W n        T;'       g    R V n        \        SV `  V RV RV P                   24       R# )z retry, or run `hermes pm doctor`ú: u    â€” N)r   r   r   ÚsuperÚ__init__)Úselfr   r   r   Ú	__class__s   &&&&€r   r   ÚInstallError.__init__   s?   ø€ ØŒØŒ
Ø×BÐBÐ BˆŒÜ‰Ñ˜G˜9 B u g¨U°4·;±;°-Ð@ÖAr   )r   r   r   )Ú )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      s   ø† ÷B÷ Bð Br   r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Údiffsz
list[dict]ÚbasezOptional[dict]Úreturnúdict[str, str]r   )r   s   "r   r   r      s!   € ÷ ñ �zð ¨ð À>ñ r   c                ó|  a	€ \        Vf   \        P                  MT4      p. o	\        V 4       F[  pVP	                  4        FD  w  rEVR8X  g   K  \        V\        4      '       d   TMV.pS	P                  V	3R lV 4       4       KF  	  K]  	  V  F;  pVP	                  4        F$  w  rEVR8w  g   K  \        \        V4      4      W$&   K&  	  K=  	  S	'       dg   \        R V 4       R4      pVP                  VR4      p\        P                  P                  S	4      pV'       d   V \        P                   V 2MTW$&   V# )u‰  Dependents win over their dependencies for every key: diffs arrive
deps-first, later ones take precedence â€” npm's pinned shim must shadow
the npm bundled inside node, and a package's exports beat inherited env.
'PATH' values are lists of dirs, prepended.

Diff values are paths under a store root, which PM spells extended-length
on Windows; a child environment gets their ordinary spelling.ÚPATHc              3  ó^   <"  € T F"  p\        V4      S9  g   K  \        V4      x € K$  	  R # 5i©Nr   )Ú.0ÚdÚ	path_dirss   & €r   Ú	<genexpr>Úcompose_env.<locals>.<genexpr>'   s$   øé € Ð W±D¨q¼FÀ1»IÈYÑ<V¤¤¨§ ³Dùs   ƒ-š-c              3  óR   "  € T F  qP                  4       R 8X  g   K  Vx € K  	  R# 5i)r,   N)Úupper)r/   Úks   & r   r2   r3   -   s   é € Ð:™s˜!§g¡g£i°6Ñ&9—A’A›sùs   ‚'�
'r   )ÚdictÚosÚenvironÚreversedÚitemsÚ
isinstanceÚlistÚextendr   r   ÚnextÚgetÚpathsepÚjoin)
r'   r(   ÚenvÚdiffÚkeyÚvalueÚdirsÚexistingÚprefixr1   s
   &&       @r   Úcompose_envrJ      sý   ø€ ô ˜Tš\Œr�zŠz¨tÓ
4€CØ€IÜ˜–ˆØŸ*™*ž,‰JˆCØ�fŽ}Ü *¨5´$× 7Ò 7‘u¸e¸W�Ø× Ñ Ô W±DÓ WÖWó 'ñ  ó
 ˆØŸ*™*ž,‰JˆCØ�fŽ}Ü!¤# e£*Ó-�“ó 'ñ ÷ ÜÑ:™sÓ:¸FÓCˆØ—7‘7˜3 Ó#ˆÜ—‘—‘ Ó+ˆß8@�f�XœbŸj™j˜\¨(¨Ñ4Àfˆ‰Ø€Jr   c                  óR  € ] tR t^4t$ RtRtR]R&   R0tR]R&   RtR]R	&   Rt	R]R
&   Rt
R]R&   RtR]R&   RtR]R&   / tR]R&   RtR]R&   ]! 4       tR]R&   R R ltR1R R l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R& R' ltR( R) ltR* R+ ltR, R- ltR. R/ ltR0tR# )2ÚPackageu;  Subclass and register. Declarative for the common case; override
fetch_url()/unpack()/stage()/verify()/env()/migrate() for the rest.

name: unique id.
deps: packages installed before this one.
optional: not part of the root closure; installed on demand.
default: an optional package the default install also carries (installers,
    bare `pm install`, `hermes update`) unless the user declined it
    (pm/defaults.py). It stays optional: a failed download warns instead of
    failing the install, and its absence never blocks PATH activation.
internal: tooling PM uses inside install/build steps â€” never on PATH
    and never selected as an application root. Dependencies and explicit
    build requests can select it. node/npm are shipped runtime tools
    (TUI, plugins), not install machinery.
on_path: contributes PATH dirs.
url: template with {version} and {target} holes. override fetch_url()
    when a platform needs a completely different url.
gaps: targets this package does NOT exist for, with the reason
    (upstream ships no artifact). Everything else is available.
r   r   Únameztuple[str, ...]ÚdepsFÚboolÚoptionalÚdefaultÚinternalTÚon_pathÚurlr*   ÚgapsÚsemverÚversion_stylezfrozenset[str]Úemulated_arch_targetsc               ó    € V ^8„  d   QhRRRR/# )r   Útargetr   r)   úOptional[str]r   )r   s   "r   r   ÚPackage.__annotate__]   s   € ÷ %ñ % Sð %¨]ñ %r   c                	ó8   € V P                   P                  V4      # r.   )rU   r@   ©r   rZ   s   &&r   Úmissing_reasonÚPackage.missing_reason]   s   € Ø�y‰y�}‰}˜VÓ$Ð$r   Nc               ó$   € V ^8„  d   QhRRRRRR/# )r   rZ   r   Úlockedr[   r)   ú	list[str]r   )r   s   "r   r   r\   `   s!   € ÷ ñ  cð °=ð ÈIñ r   c                ó   € . # )uU  Newest-first candidate versions for `target` â€” the "how do I find
latest" hook for `hermes pm update`. Empty list = this package has
no auto-update source (chromium follows agent-browser; venv is a
state; Playwright browsers are revision-pinned by playwright).

Subclasses resolve their upstream's real release index here; the
update driver intersects across targets (per version_style) and
only ever pins a version every relevant target can serve. ``locked``
is the current lockfile version when the resolver needs it (python
keeps its minor line and takes patch/build identity from the asset).r   )r   rZ   rb   s   &&&r   Úlatest_versionsÚPackage.latest_versions`   s	   € ð ˆ	r   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   Úversionr   rZ   r)   r   )r   s   "r   r   r\   n   s!   € ÷ ?ñ ? ð ?¨cð ?°cñ ?r   c                	óŠ   € V P                   '       g   \        V P                  R 4      hV P                   P                  WR7      # )zpackage has no download url)ri   rZ   )rT   r   rM   r   ©r   ri   rZ   s   &&&r   Ú	fetch_urlÚPackage.fetch_urln   s2   € Ø�x�xˆxÜ˜tŸy™yÐ*GÓHÐHØ�x‰x�‰ wˆÓ>Ð>r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   ri   r   rZ   r)   rc   r   )r   s   "r   r   r\   s   s!   € ÷ 1ñ 1 #ð 1¨sð 1°yñ 1r   c                ó&   € V P                  W4      .# )zÛEvery archive this target is built from, in extraction order.
Almost every package is one archive; override this (instead of
fetch_url) when upstream splits a runtime across downloads that
have to land in one directory.)rl   rk   s   &&&r   Ú
fetch_urlsÚPackage.fetch_urlss   s   € ð
 —‘˜wÓ/Ð0Ð0r   c               ó$   € V ^8„  d   QhRRRRRR/# rh   r   )r   s   "r   r   r\   z   s!   € ÷ 1ñ 1 3ð 1°ð 1¸ñ 1r   c                	ó*   € V P                    R V R V 2# )Ú-©rM   rk   s   &&&r   Ústore_entryÚPackage.store_entryz   s   € Ø—)‘)�˜A˜g˜Y a¨ xÐ0Ð0r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   ri   r   rT   r)   r[   r   )r   s   "r   r   r\   }   s!   € ÷ ñ  Cð ¨cð °mñ r   c                ó   € R# )zÂA digest the upstream already publishes, so `pm lock` does not
have to stream the artifact to learn it. Override where a release
API serves digests (GitHub's does); returning None means hash it.Nr   )r   ri   rT   s   &&&r   Úknown_sha256ÚPackage.known_sha256}   s   € ñ r   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©r   Úarchiver   ÚstagedrZ   r   r)   ÚNoner   )r   s   "r   r   r\   ƒ   s(   € ÷ 
!ñ 
!˜dð 
!¨Dð 
!¸#ð 
!À$ñ 
!r   c                ó"   € ^ RI Hp V! W4       R# )a*  Turn the verified archive into the staged tree. Default: extract.
Override for self-extractors or install-style unpacks (npm).

Called once per artifact; extract() empties its destination, so a
multi-archive package receives each later archive in a scratch dir
that pm merges into the staged tree.
)ÚextractN)Úpm.storer‚   )r   r~   r   rZ   r‚   s   &&&& r   ÚunpackÚPackage.unpackƒ   s   € õ 	%á�Ö r   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r   Ústorer	   r   r   ri   r   rZ   r)   r€   r   )r   s   "r   r   r\   �   s6   € ÷ Kñ K˜5ð K¨$ð K¸ð KÀcð KÈdñ Kr   c                ó   € R# )z<Post-unpack fixups inside the scratch dir. Default: nothing.Nr   )r   r‡   r   ri   rZ   s   &&&&&r   ÚstageÚPackage.stage�   s   ‚ r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úentryr   rZ   r   r)   zOptional[Path]r   )r   s   "r   r   r\   ’   s!   € ÷ ñ ˜Dð ¨#ð °.ñ r   c                	ó   € R # r.   r   )r   rŒ   rZ   s   &&&r   ÚbinaryÚPackage.binary’   s   € Ùr   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   rŒ   r   rZ   r   r)   r   )r   s   "r   r   r\   •   s!   € ÷ :ñ :˜Dð :¨#ð :°#ñ :r   c                óT   € V P                  W4      pVf   R# V P                  W1V4      # )z±Return '' when the entry is usable on target, else why not.
Every subclass check (probe, marker) must keep this shape: '' is
the verified answer, anything else is the diagnosis.r   )rŽ   Ú_binary_reason)r   rŒ   rZ   rŽ   s   &&& r   ÚverifyÚPackage.verify•   s-   € ð —‘˜UÓ+ˆØŠ>ÙØ×"Ñ" 6°&Ó9Ð9r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   rŒ   r   rZ   r   Úreasonr)   ztuple[str, str]r   )r   s   "r   r   r\   ž   s)   € ÷ 	ñ 	°ð 	¸cð 	È3ð 	ÐSbñ 	r   c                ó
   € VR3# )a…  Install-time remediation for a failed staged verification.

verify() is also used by read-only inspection paths such as
hermes pm doctor and must stay side-effect free. The installer
calls this hook only after a freshly staged entry fails verification.
Return (remaining reason, remedy): an empty reason when remediation
made the staged entry usable; an empty remedy keeps InstallError's.
r   r   )r   rŒ   rZ   r—   s   &&&&r   Úrepair_staged_verificationÚ"Package.repair_staged_verificationž   s   € ð �rˆzÐr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   rŽ   r   rŒ   rZ   r   r)   r   )r   s   "r   r   r\   ©   s(   € ÷ ñ  Tð °$ð Àð Èñ r   c                óª   € VP                  4       '       g   \        W4      # \        W4      RJ d#   W0P                  9  d   VP                   RV R2# R# )z;'' when the binary is present and arch-plausible on target.Fz
 is not a z binaryr   )Úis_fileÚ_missing_reasonÚmachine_matches_binaryrX   rM   )r   rŽ   rŒ   rZ   s   &&&&r   r“   ÚPackage._binary_reason©   sL   € à�~‰~×ÒÜ" 6Ó1Ð1Ü! &Ó1°UÓ:¸v×MgÑMgÔ?gØ—k‘k�] *¨V¨H°GÐ<Ð<Ùr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rŒ   r   rZ   r   r)   r7   r   )r   s   "r   r   r\   ±   s!   € ÷ ñ ˜ð  sð ¨tñ r   c                	óŠ   € / pV P                   '       d/   V P                  W4      pVe   \        VP                  4      .VR&   V# )Nr,   )rS   rŽ   r   Úparent)r   rŒ   rZ   rD   rŽ   s   &&&  r   rC   ÚPackage.env±   s>   € ØˆØ�<�<ˆ<Ø—[‘[ Ó/ˆFØÒ!Ü # F§M¡MÓ 2Ð3��V‘Øˆr   r   r.   )r    r!   r"   r#   Ú__doc__rM   Ú__annotations__rN   rP   rQ   rR   rS   rT   rU   rW   Ú	frozensetrX   r_   re   rl   rp   rv   rz   r„   r‰   rŽ   r”   r™   r“   rC   r$   r   r   r   rL   rL   4   s¹   ‡ ñð* €Dˆ#ƒNØ€Dˆ/ÓØ€HˆdÓØ€GˆTÓØ€HˆdÓØ€GˆTÓØ€CˆƒMØ€Dˆ.Óð "€M�3Ó!ñ -6«KÐ˜>Ó7õ%÷õ?õ
1õ1õõ
!õKõõ:õ	õ÷ñ r   rL   c                  ó\   € ] tR t^ºt$ RtRtR]R&   RtR]R&   R R ltR	 R
 lt	R R lt
RtR# )Ú
DebPackagea}  A .deb artifact staged by ar+tar extraction (never dpkg, never
executing package content on the host).

For cross-target interpreter/runtime .debs (Termux's bionic python):
the staged binaries cannot exec on the host that stages them, so
verify() is FILE EVIDENCE -- the control stanza carried inside the
.deb (Package + Version) must match the pin. Digest verification of
the downloaded bytes happens in the store, as for every package.

unpack() pulls data.tar out of the ar container and hands it to
pm.store.extract_tar, the one containment policy for every PM tarball
(symlinks allowed with in-root targets; devices/fifos refused).
r   r   Údeb_packagezdata/data/com.termux/files/usrÚ
prefix_relc               ó(   € V ^8„  d   QhRRRRRRRR/# r}   r   )r   s   "r   r   ÚDebPackage.__annotate__Ð   s(   € ÷ /ñ /˜dð /¨Dð /¸#ð /À$ñ /r   c                	ó2   € \        V P                  W4       R # r.   )Ú
unpack_debrM   )r   r~   r   rZ   s   &&&&r   r„   ÚDebPackage.unpackÐ   s   € Ü�4—9‘9˜gÖ.r   c               ó$   € V ^8„  d   QhRRRRRR/# r‘   r   )r   s   "r   r   r­   Ó   s!   € ÷ ñ ˜Dð ¨#ð °#ñ r   c                óì   € WP                   ,          V P                  V4      ,          pVP                  4       '       g6   VP                  4       '       g    VP	                  V4       R\        V4       2# R# )z¢'' when the staged tree is plausible on target: the expected
main binary is present. No exec (cross-target), no arch probe --
the digest already proved the bytes.ú missing under r   )r«   Úmain_relr�   Ú
is_symlinkÚrelative_tor   )r   rŒ   rZ   Úexpecteds   &&& r   r”   ÚDebPackage.verifyÓ   s_   € ð Ÿ?™?Õ*¨T¯]©]¸6Ó-BÕBˆØ×Ñ×!Ò!¨(×*=Ñ*=×*?Ò*?Ø×*Ñ*¨5Ó1Ð2°/Ä&ÈÃ-ÀÐQÐQÙr   c               ó    € V ^8„  d   QhRRRR/# )r   rZ   r   r)   r   )r   s   "r   r   r­   Ü   s   € ÷ "ñ "˜sð " sñ "r   c                	ó   € \         hr.   ©ÚNotImplementedErrorr^   s   &&r   r´   ÚDebPackage.main_relÜ   ó   € Ü!Ð!r   r   N)r    r!   r"   r#   r¥   rª   r¦   r«   r„   r”   r´   r$   r   r   r   r©   r©   º   s3   ‡ ñð  €K�Óð 7€J�Ó6õ/õ÷"ñ "r   r©   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rM   r   r~   r   r)   Úbytesr   )r   s   "r   r   r   à   s&   € ÷ Fñ F�sð F Tð F¨eñ Fr   c                óŽ  € VP                  4       pVR,          R8w  d   \        V RVP                   24      h^pV^<,           \        V4      8:  Ed   W#V^<,            pVR,          P	                  RR4      P                  4       p \        VR,          P	                  RR4      P                  4       4      pT^<,           pY'Yv,            pTP                  R	4      '       de   TP                  R
4      '       d   \        T RT RTP                   24      hTP                  R4      '       d    ^ RIHp	 T	P                  T4      # T# Yv,           T^,          ,           pEK"  \        V RVP                   24      h  \         d    \        T RTP                   24      hi ; i  \         d    \        Y RTP                   R24      hi ; i)zÄA .deb's data.tar, ready for tarfile. Ubuntu compresses it with zstd
(default since 21.10), decompressed here with the stdlib module PM's
3.14 runtime carries; lzma (the pre-xz format) is refused.:Né   Ns   !<arch>
znot an ar archive: :é    é   NÚasciiÚreplace:é0   é:   Nzbad ar member size in zdata.tarz.lzmazunsupported data compression z in z.zst)Úzstdz needs Python 3.14+ (zstd)zno data.tar member in )Ú
read_bytesr   rM   ÚlenÚdecodeÚrstripÚintÚstripÚ
ValueErrorÚ
startswithÚendswithÚcompressionrÉ   ÚImportErrorÚ
decompress)
rM   r~   ÚrawÚoffsetÚhdrÚmemberÚsizeÚstartÚdatarÉ   s
   &&        r   Údeb_data_tarrÝ   à   s°  € ð ×
Ñ
Ó
€CØ
ˆ2…w�,ÔÜ˜4Ð#6°w·|±|°nÐ!EÓFÐFØ€FØ
�2�+œ˜S›Õ
!Ø˜ "�Ð%ˆØ�T•×!Ñ! '¨9Ó5×<Ñ<Ó>ˆð	NÜ�s˜5•z×(Ñ(¨°)Ó<×BÑBÓDÓEˆDð ˜•ˆØ˜�Ð&ˆØ×Ñ˜Z×(Ò(Ø�‰˜w×'Ò'Ü" 4Ð+HÈÈÐPTÐU\×UaÑUaÐTbÐ)cÓdÐdØ�‰˜v×&Ò&ðfÝ0ð —‘ tÓ,Ð,ØˆKØ• ¨¥Õ*‹Ü
�tÐ5°g·l±l°^ÐDÓ
EÐEøô ô 	NÜ˜tÐ'=¸g¿l¹l¸^Ð%LÓMÐMð	Nûô #ô fÜ& t¨x°t¸G¿L¹L¸>ÐIcÐ-dÓeÐeðfús   Â0E5 Ä*F Å5%FÆ'Gc               ó(   € V ^8„  d   QhRRRRRRRR/# )r   rM   r   r~   r   r   r)   r€   r   )r   s   "r   r   r   ÿ   s.   € ÷ Bñ B�Sð B 4ð B°ð B¸$ñ Br   c                ó2   € \        V \        W4      V4       R# )zàStage a .deb by ar+tar extraction: never dpkg, never package scripts.
The tar goes through pm.store.extract_tar, the one containment policy for
every PM tarball (symlinks allowed with in-root targets; devices/fifos refused).N)Ú_untar_deb_payloadrÝ   )rM   r~   r   s   &&&r   r¯   r¯   ÿ   s   € ô �tœ\¨$Ó8¸&ÖAr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   rM   r   ÚpayloadrÀ   r   r   r)   r€   r   )r   s   "r   r   r     s(   € ÷ (ñ (˜Sð (¨5ð (¸$ð (À4ñ (r   c                óà  € ^ RI p^ RIp^ RIp^ RIHp  V! VP                  V4      V4       \        P                  P                  T4      p	\        P                  ! T4       EF
  w  r«pT Uu. uF-  p\        T
4      T,          P                  4       '       d   K+  TNK/  	  upTR&   T FÀ  p\        T
4      T,          p TP!                  4       P"                  pTP'                  T4      '       d   KI  \        P                  P                  T4      P)                  T	\        P*                  ,           4      '       g   K”  RT^I,          '       d   ^IM^ ,          p TP-                  T4       KÂ  	  EK  	  R#   TP                   d@   pTP                  e   TP                  P                  MRp\        T RT: RT 24      ThRp?ii ; iu upi   \$         d     EK2  i ; i  \$         d     EKE  i ; i)rÃ   N)Úextract_tarÚ?zunsafe member r   :NNNi¤  )ÚioÚstatÚtarfilerƒ   rä   ÚBytesIOÚFilterErrorÚtarinforM   r   r8   ÚpathÚrealpathÚwalkr   rµ   ÚlstatÚst_modeÚOSErrorÚS_ISLNKrÑ   ÚsepÚchmod)rM   râ   r   ræ   Ústat_modrè   rä   ÚexcrÙ   Úreal_stagedÚrootrG   Úfilesr0   Ú	file_nameÚfÚmodeÚwanteds   &&&               r   rà   rà     s•  € ÛÛÛå$ðNÙ�B—J‘J˜wÓ'¨Ô0ô —'‘'×"Ñ" 6Ó*€Kô  ŸWšW VŸ_Ñˆ�EÙ"ÓH™d˜¬4°«:¸­>×*EÑ*E×*G—1�1™dÑHˆˆQ‰ÛˆIÜ�T“
˜YÕ&ˆAðØ—w‘w“y×(Ñ(�ð ×Ñ ×%Ò%ÙÜ—7‘7×#Ñ# AÓ&×1Ñ1°+ÄÇÁÕ2F×GÒGÙØ t¨e§|¤|™e¸Õ;ˆFðØ—‘˜–ô ó -øð ×Ñô NØ%(§[¡[Ò%<�—‘×!Ò!À#ˆÜ˜4 >°&±¸2¸c¸UÐ!CÓDÈ#ÐMûðNüò Iøô
 ô Ûðûô ô ó ðúsG   ”E2 Á,(GÂGÂ=G
ÅGÅ2GÆ:F=Æ=GÇ
GÇGÇG-Ç,G-c                  ó>   € ] tR tRtRtRtR R ltRR/R R lltR	tR
# )ÚStatePackagei1  z„A package that is a STATE of this install (the python venv), not a
store entry. Verified by comparing a stamp; made true by apply().Fc               ó    € V ^8„  d   QhRRRR/# )r   Úextrasrc   r)   r   r   )r   s   "r   r   ÚStatePackage.__annotate__7  s   € ÷ "ñ " Yð "°3ñ "r   c                	ó   € \         hr.   r»   )r   r  s   &&r   Úexpected_stampÚStatePackage.expected_stamp7  r¾   r   Úexplicitc               ó$   € V ^8„  d   QhRRRRRR/# )r   r  rc   r  rO   r)   r€   r   )r   s   "r   r   r  :  s!   € ÷ "ñ "˜Ið "°Dð "ÀTñ "r   c               	ó   € \         hr.   r»   )r   r  r  s   &&$r   ÚapplyÚStatePackage.apply:  r¾   r   r   N)	r    r!   r"   r#   r¥   rS   r  r	  r$   r   r   r   rÿ   rÿ   1  s%   † ñIð €Gõ"ð"¸5÷ "ó "r   rÿ   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rŽ   r   rZ   r   r)   zOptional[bool]r   )r   s   "r   r   r   >  s!   € ÷ ñ  4ð °ð ¸ñ r   c                óœ  € ^ RI pVP                  R4      ^,          p \        V R4      ;_uu_ 4       pVP                  ^@4      pVR,          R8X  d–   VP	                  \
        P                  VR,          R4      4       VP                  ^4      pVR,          R	8w  d    RRR4       R# \
        P                  VR
,          R4      pVRRRR/P                  V4      8H  uuRRR4       # VR,          R8X  d@   \
        P                  VR,          R4      pVR^>R^·/P                  V4      8H  uuRRR4       # VR,          R9   dC   VP                  RVR,          4      ^ ,          pVRRRR/P                  V4      8H  uuRRR4       # VR,          R9   d    RRR4       R#  RRR4       R#   + '       g   i     R# ; i  \         d     R# i ; i)zŸDoes this executable's architecture match the target? Reads the
PE/ELF/Mach-O header directly. None = unknown format (scripts, shims),
which is not a mismatch.Nrt   Úrb:Nr   Ns   MZ:é<   é@   NÚlittle:Né   Ns   PE  :r  é   NÚx64id†  Úarm64idª  s   ELF:é   é   Nz<I:r  rÂ   Ni  i  T)s   Ïúíþs   þíúÏ)s   Êþº¾s   ¾ºþÊ)
ÚstructÚsplitÚopenÚreadÚseekrÎ   Ú
from_bytesr@   r„   rñ   )	rŽ   rZ   r  Úarchrû   ÚheadÚsigÚmachineÚcpus	   &&       r   rŸ   rŸ   >  s�  € ó à�<‰<˜Ó˜QÕ€DðÜ�&˜$×Ô 1Ø—6‘6˜"“:ˆDØ�B�x˜5Ô Ø—‘”s—~‘~ d¨5¥k°8Ó<Ô=Ø—f‘f˜Q“i�Ø�r•7˜iÔ'Ø÷  Ñô Ÿ.™.¨¨S­°8Ó<�Ø 5¨&°'¸6Ð"B×"FÑ"FÀtÓ"LÑL÷  Òð �B�x˜:Ô%ÜŸ.™.¨¨e­°hÓ?�Ø 5¨$°¸Ð">×"BÑ"BÀ4Ó"HÑH÷  Òð �B�xÐEÔEØ—m‘m D¨$¨s­)Ó4°QÕ7�Ø˜u j°'¸:ÐF×JÑJÈ4ÓPÑP÷  Òð �B�xÐEÔEØ÷!  Ñð F÷  ñ& ÷'  Öñ& ûô ô Úðúsg   žF< ²A,F(ÂF< Â(4F(Ã
F< Ã'AF(Ä)
F< Ä4AF(Å9
F< ÆF(ÆF< ÆF< Æ(F9	Æ3F< Æ9F< Æ<GÇ
Gc               ó$   € V ^8„  d   QhRRRRRR/# )r   rŒ   r   ÚlimitrÎ   r)   r   r   )r   s   "r   r   r   \  s!   € ÷ ñ ˜$ð  sð °Cñ r   c                óê   € V P                  4       '       g   R# \        R V P                  4        4       4      pRP                  VRV 4      p\	        V4      V8”  d   VR\	        V4       R2,          pV# )z=Top-level names of a store entry, for verification diagnoses.zstore entry does not existc              3  ó8   "  € T F  qP                   x € K  	  R # 5ir.   ru   )r/   Úps   & r   r2   Ú!_entry_listing.<locals>.<genexpr>`  s   é € Ð3¡?˜a—6–6£?ùs   ‚z, Nu   , â€¦ (z	 entries))Úis_dirÚsortedÚiterdirrB   rË   )rŒ   r#  ÚnamesÚshowns   &&  r   Ú_entry_listingr-  \  sb   € à�<‰<�>Š>Ù+ÜÑ3 5§=¡=¤?Ó3Ó3€EØ�I‰I�e˜F˜U�mÓ$€EÜ
ˆ5ƒz�EÔØ�7œ3˜u›:˜, iÐ0Õ0ˆØ€Lr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rŽ   r   rŒ   r)   r   r   )r   s   "r   r   r   g  s&   € ÷ Kñ K˜Dð K¨ð K°#ñ Kr   c                óx   € V P                  V4      P                  4       pV R\        V4       R\        V4       2# )u}   Why a package's expected binary is not where it should be â€” the
diagnosis that tells you whether the pin's layout is wrong.r³   z; )r¶   Úas_posixr   r-  )rŽ   rŒ   Úrels   && r   rž   rž   g  s>   € ð ×
Ñ
˜UÓ
#×
,Ñ
,Ó
.€CØˆU�/¤&¨£- °´>À%Ó3HÐ2IÐJÐJr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rŽ   r   Úprocúsubprocess.CompletedProcessr)   r   r   )r   s   "r   r   r   n  s'   € ÷ bñ b˜$ð bÐ&Að bÀcñ br   c                ó  € VP                   ;'       g    RVP                  ;'       g    R,           pVP                  RR7      P                  4       RR p\	        V 4       RVP
                   2V'       d   RV 2,           # R,           # )	z=Why a --version probe failed: the exit code plus output tail.r   rÆ   )ÚerrorsNz --version exited r   r   iÔþÿÿ)ÚstdoutÚstderrrÌ   rÏ   r   Ú
returncode)rŽ   r3  ÚoutÚtails   &&  r   Ú_probe_reasonr<  n  sw   € à�;‰;×Ð˜# $§+¡+×"4Ð"4°Õ
5€CØ�:‰:˜Yˆ:Ó'×-Ñ-Ó/°°Ð6€DÜ�V‹nÐÐ/°·±Ð/@ÐA×TXÀrÈ$ÈÀ[ÕaÐaÐ^`ÕaÐar   c                  ó2   € ] tR tRtRtR R ltR R ltRtR# )	ÚRunneriu  zBWhat ensure() hands back: a composed environment and a run mirror.c               ó    € V ^8„  d   QhRRRR/# )r   rM   r   rC   r*   r   )r   s   "r   r   ÚRunner.__annotate__x  s   € ÷ ñ ˜Sð  ~ñ r   c                	ó   € Wn         W n        R # r.   )rM   rC   )r   rM   rC   s   &&&r   r   ÚRunner.__init__x  s   € ØŒ	ØŽr   c               ó   € V ^8„  d   QhRR/# )r   r)   r4  r   )r   s   "r   r   r@  |  s   € ÷ -ñ -Ð$?ñ -r   c                	óh   € VP                  R V P                  4       \        P                  ! V3/ VB # )rC   )Ú
setdefaultrC   Ú
subprocessÚrun)r   ÚcmdÚkwargss   &&,r   rG  Ú
Runner.run|  s*   € Ø×Ñ˜% §¡Ô*Ü�~Š~˜cÑ, VÑ,Ð,r   )rC   rM   N)r    r!   r"   r#   r¥   r   rG  r$   r   r   r   r>  r>  u  s   † ÙLõ÷-ñ -r   r>  r.   )é   )r¥   Ú
__future__r   r8   rF  Úpathlibr   r   Útypingr   r   Úpm.filesystemr   rƒ   r	   ÚRuntimeErrorr   rJ   rL   r©   rÝ   r¯   rà   rÿ   rŸ   r-  rž   r<  r>  r   r   r   Ú<module>rQ     s�   ðñ,õ #ã 	Û ß 'ß *å  çÝôB�<ô B÷÷6Cñ CôL#"�ô #"õLFõ>Bõ(ôV
"�7ô 
"õ÷<õKõb÷	-ó 	-r   