+
    ª¬‚jæO  ã                  ó  € ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIHtHtH	t	H
t
 ^ RIHt ^ RIHtHt ^ RIHt ^ RIHtHtHtHtHtHt ^ R	IHt ^ R
IHtHt ^ RIHt ^ RI H!t!H"t" ^ RI#H$t$ ^ RI%H&t& ^ RI'H(t( ^RI)H*t*H+t+H,t, ]'       d   ^RI-H.t. ]P^                  ! ]04      t1]	R',          t2]
! ]R4      t3R R lt4R R lt5R R lt6R R lt7 ! R R]*4      t8 ! R  R]84      t9 ! R! R]84      t: ! R" R]*4      t; ! R# R$]*4      t< ! R% R&]*4      t=R# )(é    )ÚannotationsN)ÚIterable)ÚTYPE_CHECKINGÚAnyÚUnionÚcast)ÚInvalidRequirement)ÚNormalizedNameÚcanonicalize_name)ÚVersion)ÚFailedToPrepareCandidateÚ	HashErrorÚInstallationSubprocessErrorÚInvalidInstalledPackageÚMetadataInconsistentÚMetadataInvalid)ÚBaseDistribution)ÚLinkÚlinks_equivalent)ÚWheel)Úinstall_req_from_editableÚinstall_req_from_line)ÚInstallRequirement)Údirect_url_from_link)Únormalize_version_info)Ú	CandidateÚRequirementÚformat_name)ÚFactoryÚAlreadyInstalledCandidateÚEditableCandidateÚLinkCandidatez<Python from Requires-Python>c               ó    € V ^8„  d   QhRRRR/# )é   Ú	candidater   ÚreturnzBaseCandidate | None© )Úformats   "Úk/Users/cheyod/AIGC/DSH/.venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/candidates.pyÚ__annotate__r*   0   s   € ÷ 	ñ 	 ð 	Ð/Cñ 	ó    c                óN   € \         \        \        3p\        W4      '       d   V # R# )z%The runtime version of BaseCandidate.N)r    r!   r"   Ú
isinstance)r%   Úbase_candidate_classess   & r)   Úas_base_candidater/   0   s+   € ô 	"ÜÜðÐô
 �)×4Ò4ØÐÙr+   c               ó$   € V ^8„  d   QhRRRRRR/# ©r$   Úlinkr   Útemplater   r&   r'   )r(   s   "r)   r*   r*   <   s$   € ÷ ñ Ø
ðØ,ðàñr+   c           
     óŒ  € VP                   '       d   Q R 4       hVP                  '       d   \        VP                  4      pMV P                  p\	        VVP
                  VP                  VP                  VP                  VP                  VP                  R7      pVP                  Vn        Wn        VP                  Vn        V# )ztemplate is editable©Úuser_suppliedÚ
comes_fromÚisolatedÚ
constraintÚhash_optionsÚconfig_settings)ÚeditableÚreqÚstrÚurlr   r6   r7   r8   r9   r:   r;   Úoriginal_linkr2   Úextras)r2   r3   ÚlineÚireqs   &&  r)   Úmake_install_req_from_linkrD   <   s¤   € ð × × Ð Ð8Ð"8Ó8Ð Ø‡|‡|€|Ü�8—<‘<Ó ‰à�x‰xˆÜ ØØ×,Ñ,Ø×&Ñ&Ø×"Ñ"Ø×&Ñ&Ø×*Ñ*Ø ×0Ñ0ô€Dð "×/Ñ/€DÔØ„IØ—/‘/€D„KØ€Kr+   c               ó$   € V ^8„  d   QhRRRRRR/# r1   r'   )r(   s   "r)   r*   r*   S   s$   € ÷ ñ Ø
ðØ,ðàñr+   c                ó€  € VP                   '       g   Q R 4       hVP                  '       d   VP                   RV P                   2pMV P                  p\        VVP                  VP
                  VP                  VP                  VP                  VP                  VP                  R7      pVP                  Vn        V# )ztemplate not editableú @ )r6   r7   r8   r9   Úpermit_editable_wheelsr:   r;   )r<   Únamer?   r   r6   r7   r8   r9   rH   r:   r;   rA   )r2   r3   Ú
req_stringrC   s   &&  r)   Úmake_install_req_from_editablerK   S   s¤   € ð ××ÐÐ5Ð5Ó5ÐØ‡}‡}€}Ø Ÿ™� c¨$¯(©(¨Ð4‰
à—X‘Xˆ
Ü$ØØ×,Ñ,Ø×&Ñ&Ø×"Ñ"Ø×&Ñ&Ø'×>Ñ>Ø×*Ñ*Ø ×0Ñ0ô	€Dð —/‘/€D„KØ€Kr+   c               ó$   € V ^8„  d   QhRRRRRR/# )r$   Údistr   r3   r   r&   r'   )r(   s   "r)   r*   r*   i   s$   € ÷ ñ Ø
ðØ&8ðàñr+   c           
     ó¤  € VP                   '       d   \        VP                   4      pMSVP                  '       d'   V P                   R VP                  P                   2pMV P                   RV P
                   2p\        VVP                  VP                  VP                  VP                  VP                  VP                  R7      pWn        V# )rG   z==r5   )r=   r>   r2   Úcanonical_namer?   Úversionr   r6   r7   r8   r9   r:   r;   Úsatisfied_by)rM   r3   rB   rC   s   &&  r)   Ú_make_install_req_from_distrR   i   s±   € ð ‡|‡|€|Ü�8—<‘<Ó ‰Ø	��ˆØ×%Ñ%Ð& c¨(¯-©-×*;Ñ*;Ð)<Ð=‰à×%Ñ%Ð& b¨¯©¨Ð7ˆÜ ØØ×,Ñ,Ø×&Ñ&Ø×"Ñ"Ø×&Ñ&Ø×*Ñ*Ø ×0Ñ0ô€Dð ÔØ€Kr+   c                  ó
  € ] tR t^t$ RtR]R&   RtR%R R lltR R	 ltR
 R lt	R R lt
R R lt]R R l4       t]R R l4       t]R R l4       t]R R l4       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$tR# )&Ú"_InstallRequirementBackedCandidateaË  A candidate backed by an ``InstallRequirement``.

This represents a package request with the target not being already
in the environment, and needs to be fetched and installed. The backing
``InstallRequirement`` is responsible for most of the leg work; this
class exposes appropriate information to the resolver.

:param link: The link passed to the ``InstallRequirement``. The backing
    ``InstallRequirement`` will use this link to fetch the distribution.
:param source_link: The link this candidate "originates" from. This is
    different from ``link`` when the link is found in the wheel cache.
    ``link`` would point to the wheel cache, while this points to the
    found remote link (e.g. from pypi.org).
r   rM   FNc               ó4   € V ^8„  d   QhRRRRRRRRRR	R
RRR/# )r$   r2   r   Úsource_linkrC   r   Úfactoryr   rI   úNormalizedName | NonerP   úVersion | Noner&   ÚNoner'   )r(   s   "r)   r*   Ú/_InstallRequirementBackedCandidate.__annotate__’   sP   € ÷ &ñ &àð&ð ð&ð !ð	&ð
 ð&ð $ð&ð  ð&ð 
ñ&r+   c                	ó†   € Wn         W n        W@n        W0n        WPn        W`n        V P                  4       V n        R V n        R # ©N)	Ú_linkÚ_source_linkÚ_factoryÚ_ireqÚ_nameÚ_versionÚ_preparerM   Ú_hash)Úselfr2   rV   rC   rW   rI   rP   s   &&&&&&&r)   Ú__init__Ú+_InstallRequirementBackedCandidate.__init__’   s7   € ð Œ
Ø'ÔØŒØŒ
ØŒ
ØŒØ—M‘M“OˆŒ	Ø!%ˆŽ
r+   c               ó   € V ^8„  d   QhRR/# ©r$   r&   r>   r'   )r(   s   "r)   r*   r[   ¤   s   € ÷ -ñ -˜ñ -r+   c                	ó8   € V P                    R V P                   2# )Ú ©rI   rP   ©rf   s   &r)   Ú__str__Ú*_InstallRequirementBackedCandidate.__str__¤   s   € Ø—)‘)�˜A˜dŸl™l˜^Ð,Ð,r+   c               ó   € V ^8„  d   QhRR/# rj   r'   )r(   s   "r)   r*   r[   §   s   € ÷ Añ A˜#ñ Ar+   c                	ób   € V P                   P                   R \        V P                  4      : R2# ©Ú(Ú))Ú	__class__Ú__name__r>   r^   rn   s   &r)   Ú__repr__Ú+_InstallRequirementBackedCandidate.__repr__§   s)   € Ø—.‘.×)Ñ)Ð*¨!¬C°·
±
«OÑ+>¸aÐ@Ð@r+   c               ó   € V ^8„  d   QhRR/# ©r$   r&   Úintr'   )r(   s   "r)   r*   r[   ª   s   € ÷ ñ ˜#ñ r+   c                	óš   € V P                   e   V P                   # \        V P                  V P                  34      V n         V P                   # r]   )re   Úhashrv   r^   rn   s   &r)   Ú__hash__Ú+_InstallRequirementBackedCandidate.__hash__ª   s9   € Ø�:‰:Ò!Ø—:‘:Ðä˜4Ÿ>™>¨4¯:©:Ð6Ó7ˆŒ
Ø�z‰zÐr+   c               ó    € V ^8„  d   QhRRRR/# ©r$   Úotherr   r&   Úboolr'   )r(   s   "r)   r*   r[   ±   ó   € ÷ ñ ˜Cð  Dñ r+   c                	ó|   € \        WP                  4      '       d!   \        V P                  VP                  4      # R # ©F)r-   rv   r   r^   ©rf   rƒ   s   &&r)   Ú__eq__Ú)_InstallRequirementBackedCandidate.__eq__±   s)   € Ü�eŸ^™^×,Ò,Ü# D§J¡J°·±Ó<Ð<Ùr+   c               ó   € V ^8„  d   QhRR/# ©r$   r&   zLink | Noner'   )r(   s   "r)   r*   r[   ·   s   € ÷ !ñ !˜[ñ !r+   c                	ó   € V P                   # r]   )r_   rn   s   &r)   rV   Ú._InstallRequirementBackedCandidate.source_link¶   ó   € à× Ñ Ð r+   c               ó   € V ^8„  d   QhRR/# ©r$   r&   r
   r'   )r(   s   "r)   r*   r[   »   s   € ÷ ñ ˜nñ r+   c                ól   € V P                   f   V P                  P                  V n         V P                   # ©z:The normalised name of the project the candidate refers to)rb   rM   rO   rn   s   &r)   Úproject_nameÚ/_InstallRequirementBackedCandidate.project_nameº   s)   € ð �:‰:ÒØŸ™×1Ñ1ˆDŒJØ�z‰zÐr+   c               ó   € V ^8„  d   QhRR/# rj   r'   )r(   s   "r)   r*   r[   Â   ó   € ÷ !ñ !�cñ !r+   c                	ó   € V P                   # r]   ©r”   rn   s   &r)   rI   Ú'_InstallRequirementBackedCandidate.nameÁ   r�   r+   c               ó   € V ^8„  d   QhRR/# ©r$   r&   r   r'   )r(   s   "r)   r*   r[   Æ   ó   € ÷ ñ ˜ñ r+   c                	ól   € V P                   f   V P                  P                  V n         V P                   # r]   ©rc   rM   rP   rn   s   &r)   rP   Ú*_InstallRequirementBackedCandidate.versionÅ   ó'   € à�=‰=Ò Ø ŸI™I×-Ñ-ˆDŒMØ�}‰}Ðr+   c               ó   € V ^8„  d   QhRR/# rj   r'   )r(   s   "r)   r*   r[   Ë   s   € ÷ 
ñ 
 #ñ 
r+   c                	ó¸   € V P                    R V P                   RV P                  P                  '       d   V P                  P                  MV P                   R2# )rl   z (from ru   )rI   rP   r^   Úis_fileÚ	file_pathrn   s   &r)   Úformat_for_errorÚ3_InstallRequirementBackedCandidate.format_for_errorË   sM   € à�y‰yˆk˜˜4Ÿ<™<˜.ð )Ø-1¯Z©Z×-?×-?Ð-?�T—Z‘Z×)Ò)ÀTÇZÁZÐPÐPQðSð	
r+   c               ó   € V ^8„  d   QhRR/# ©r$   r&   r   r'   )r(   s   "r)   r*   r[   Ñ   s   € ÷ :ñ :Ð'7ñ :r+   c                	ó   € \        R 4      h)zOverride in subclass)ÚNotImplementedErrorrn   s   &r)   Ú_prepare_distributionÚ8_InstallRequirementBackedCandidate._prepare_distributionÑ   s   € Ü!Ð"8Ó9Ð9r+   c               ó    € V ^8„  d   QhRRRR/# )r$   rM   r   r&   rZ   r'   )r(   s   "r)   r*   r[   Ô   s   € ÷ 6ñ 6Ð0@ð 6ÀTñ 6r+   c                óF  € V P                   eH   V P                   VP                  8w  d-   \        V P                  RV P                   VP                  4      hV P                  eZ   V P                  VP
                  8w  d?   \        V P                  R\        V P                  4      \        VP
                  4      4      h \        VP                  \        VP                  4       4      4      4       R#   \         d%   p\        T P                  \        T4      4      hRp?ii ; i)z:Check for consistency of project name and version of dist.NrI   rP   )rb   rO   r   ra   rc   rP   r>   ÚlistÚiter_dependenciesÚiter_provided_extrasr	   r   )rf   rM   Úes   && r)   Ú_check_metadata_consistencyÚ>_InstallRequirementBackedCandidate._check_metadata_consistencyÔ   sÙ   € à�:‰:Ò! d§j¡j°D×4GÑ4GÔ&GÜ&Ø—
‘
ØØ—
‘
Ø×#Ñ#ó	ð ð �=‰=Ò$¨¯©¸$¿,¹,Ô)FÜ&Ø—
‘
ØÜ�D—M‘MÓ"Ü�D—L‘LÓ!ó	ð ð	6Ü�×'Ñ'¬¨T×-FÑ-FÓ-HÓ(IÓJÖKøÜ!ô 	6Ü! $§*¡*¬c°!«fÓ5Ð5ûð	6ús   Â>1C1 Ã1D Ã<DÄD c               ó   € V ^8„  d   QhRR/# r©   r'   )r(   s   "r)   r*   r[   ì   s   € ÷ ñ Ð*ñ r+   c                	ó  €  V P                  4       pT P                  T4       T#   \         d   pT P                  Tn        h R p?i\         dº   p\        T P                  P                  \        4      '       d&   T P                  P                  P                  4       pMT P                  P                  pTf   Rp\        T P                  P                  ;'       g    \        T P                  4      TTP                  R7      hR p?ii ; i)Nzdirectly requested)Úpackage_nameÚrequirement_chainÚfailed_step)r¬   r   ra   r=   r   r-   r7   r   Ú	from_pathr   rI   r>   r^   Úcommand_descriptionr´   )rf   rM   r³   ÚexcÚrequest_chains   &    r)   rd   Ú+_InstallRequirementBackedCandidate._prepareì   sÓ   € ð	Ø×-Ñ-Ó/ˆDð, 	×(Ñ(¨Ô.Øˆøô- ô 	ð —J‘JˆAŒEØûÜ*ô 	Ü˜$Ÿ*™*×/Ñ/Ô1C×DÒDØ $§
¡
× 5Ñ 5× ?Ñ ?Ó A‘à $§
¡
× 5Ñ 5�àÒ$Ø 4�ä*Ø!ŸZ™ZŸ_™_×?Ð?´°D·J±J³Ø"/Ø×3Ñ3ôð ûð	ús-   ‚% ¥D	°AÁD	ÁD	ÁBDÃ'DÄD	c               ó    € V ^8„  d   QhRRRR/# ©r$   Úwith_requiresr„   r&   zIterable[Requirement | None]r'   )r(   s   "r)   r*   r[     s   € ÷ Uñ U¨tð UÐ8Tñ Ur+   c              #  	ó<  "  € V P                   P                  V P                  P                  4      x € V'       d   V P                  P	                  4       MRpV F:  pV P                   P                  \        V4      V P                  4       R j  x€L
  K<  	  R #  L
5i©Nr'   )r`   Ú make_requires_python_requirementrM   Úrequires_pythonr±   Úmake_requirements_from_specr>   ra   )rf   rÂ   ÚrequiresÚrs   &&  r)   r±   Ú4_InstallRequirementBackedCandidate.iter_dependencies  sk   é € ð �m‰m×<Ñ<¸T¿Y¹Y×=VÑ=VÓWÒWß4A�4—9‘9×.Ñ.Ô0ÀrˆÛˆAØ—}‘}×@Ñ@ÄÀQÃÈÏÉÓT×TÒTó ÙTùs   ‚BBÂBÂBc               ó   € V ^8„  d   QhRR/# ©r$   r&   úInstallRequirement | Noner'   )r(   s   "r)   r*   r[     s   € ÷ ñ Ð)Bñ r+   c                	ó   € V P                   # r]   )ra   rn   s   &r)   Úget_install_requirementÚ:_InstallRequirementBackedCandidate.get_install_requirement  s   € Ø�z‰zÐr+   )r`   re   ra   r^   rb   r_   rc   rM   ©NN)rw   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__Úis_installedrg   ro   rx   r   r‰   ÚpropertyrV   r”   rI   rP   r¦   r¬   r´   rd   r±   rÏ   Ú__static_attributes__r'   r+   r)   rT   rT      s¢   ‡ ñð ÓØ€L÷&õ$-õAõõð
 ô!ó ð!ð ôó ðð ô!ó ð!ð ôó ðõ

õ:õ6õ0õ6U÷ñ r+   rT   c                  óB   a € ] tR tRtRtRR V 3R llltR R ltRtV ;t# )	r"   i  Fc               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# ©r$   r2   r   r3   r   rW   r   rI   rX   rP   rY   r&   rZ   r'   )r(   s   "r)   r*   ÚLinkCandidate.__annotate__  sF   € ÷ /
ñ /
àð/
ð %ð/
ð ð	/
ð
 $ð/
ð  ð/
ð 
ñ/
r+   c           	     	óž  <€ TpVP                  Wd4      pVe-   \        P                  RVP                  4       VP                  p\	        W4      pVP                  V8X  g   Q hVP                  P
                  '       d�   VP                  P                  '       gq   \        VP                  P                  4      p	V	P                  p
WJ8X  g   Q V: RV
: R24       hVe-   \        V	P                  4      pW[8X  g   Q V: RV: RV 24       hVeª   VP                  P
                  '       g   Q hVP                  P                  '       g   Q hVP                  '       d!   VP                  VP                  J d   Whn        VP                  e   VP                  Vn        M\#        WgP                  R7      Vn        \$        SV `M  VVVVVVR7       R # )NzUsing cached wheel link: %sz != z
 for wheelz for wheel )Úlink_is_in_wheel_cache©r2   rV   rC   rW   rI   rP   )Úget_wheel_cache_entryÚloggerÚdebugr2   rD   Úis_wheelr¤   r   ÚfilenamerI   r   rP   Ú
persistentr@   Úcached_wheel_source_linkÚoriginÚdownload_infor   Úsuperrg   )rf   r2   r3   rW   rI   rP   rV   Úcache_entryrC   ÚwheelÚ
wheel_nameÚwheel_versionrv   s   &&&&&&      €r)   rg   ÚLinkCandidate.__init__  s£  ø€ ð ˆØ×3Ñ3°KÓFˆØÒ"Ü�L‰LÐ6¸×8HÑ8HÔIØ×#Ñ#ˆDÜ)¨$Ó9ˆØ�y‰y˜DÔ Ð Ð Ø�9‰9××Ð d§i¡i×&7×&7Ð&7Ü˜$Ÿ)™)×,Ñ,Ó-ˆEØŸ™ˆJØÔ%ÐN¨$©°°j±^À:Ð'NÓNÐ%àÒ"Ü '¨¯©Ó 6�àÔ,ðHà‘[  ]Ñ$5°[ÀÀÐGóHØ,ð Ò"Ø—9‘9×%×%Ð%Ð%Ð%Ø—9‘9×$×$Ð$Ð$Ð$Ø×%×%Ð%¨(¯-©-¸8×;QÑ;QÓ*QØ0;Ô-Ø×!Ñ!Ò-Ø%0×%7Ñ%7�Õ"ô &:Ø×8NÑ8Nô&�Ô"ô 	‰ÑØØ#ØØØØð 	ö 	
r+   c               ó   € V ^8„  d   QhRR/# r©   r'   )r(   s   "r)   r*   rÝ   G  s   € ÷ Uñ UÐ'7ñ Ur+   c                	óh   € V P                   P                  pVP                  V P                  R R7      # )T)Úparallel_builds)r`   ÚpreparerÚprepare_linked_requirementra   )rf   ró   s   & r)   r¬   Ú#LinkCandidate._prepare_distributionG  s+   € Ø—=‘=×)Ñ)ˆØ×2Ñ2°4·:±:ÈtÐ2ÓTÐTr+   r'   rÑ   ©	rw   rÒ   rÓ   rÔ   Úis_editablerg   r¬   rÙ   Ú__classcell__©rv   s   @r)   r"   r"     s   ø† Ø€K÷/
ò /
÷bUó Ur+   c                  óB   a € ] tR tRtRtRR V 3R llltR R ltRtV ;t# )	r!   iL  Tc               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# rÜ   r'   )r(   s   "r)   r*   ÚEditableCandidate.__annotate__O  sF   € ÷ 
ñ 
àð
ð %ð
ð ð	
ð
 $ð
ð  ð
ð 
ñ
r+   c           	     	óD   <€ \         SV `  VV\        W4      VVVR 7       R# )rà   N)rê   rg   rK   )rf   r2   r3   rW   rI   rP   rv   s   &&&&&&€r)   rg   ÚEditableCandidate.__init__O  s.   ø€ ô 	‰ÑØØÜ/°Ó?ØØØð 	ö 	
r+   c               ó   € V ^8„  d   QhRR/# r©   r'   )r(   s   "r)   r*   rü   `  s   € ÷ Oñ OÐ'7ñ Or+   c                	ó`   € V P                   P                  P                  V P                  4      # r]   )r`   ró   Úprepare_editable_requirementra   rn   s   &r)   r¬   Ú'EditableCandidate._prepare_distribution`  s!   € Ø�}‰}×%Ñ%×BÑBÀ4Ç:Á:ÓNÐNr+   r'   rÑ   rö   rù   s   @r)   r!   r!   L  s   ø† Ø€K÷
ò 
÷"Oó Or+   c                  óÖ   € ] tR tRtR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4       t]R R l4       t]R R l4       t]R R l4       tR R ltR R ltR R ltRtR# )r    id  TNc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r$   rM   r   r3   r   rW   r   r&   rZ   r'   )r(   s   "r)   r*   Ú&AlreadyInstalledCandidate.__annotate__h  s8   € ÷ Pñ PàðPð %ðPð ð	Pð
 
ñPr+   c                	óœ   € Wn         \        W4      V n        W0n        R V n        RpVP
                  P                  V P                  V4       R # )Nzalready satisfied)rM   rR   ra   r`   rc   ró   Úprepare_installed_requirement)rf   rM   r3   rW   Úskip_reasons   &&&& r)   rg   Ú"AlreadyInstalledCandidate.__init__h  sB   € ð Œ	Ü0°Ó@ˆŒ
ØŒØˆŒð *ˆØ×Ñ×6Ñ6°t·z±zÀ;ÖOr+   c               ó   € V ^8„  d   QhRR/# rj   r'   )r(   s   "r)   r*   r  z  s   € ÷ ñ ˜ñ r+   c                	ó,   € \        V P                  4      # r]   )r>   rM   rn   s   &r)   ro   Ú!AlreadyInstalledCandidate.__str__z  s   € Ü�4—9‘9‹~Ðr+   c               ó   € V ^8„  d   QhRR/# rj   r'   )r(   s   "r)   r*   r  }  s   € ÷ ;ñ ;˜#ñ ;r+   c                	óP   € V P                   P                   R V P                  : R2# rs   )rv   rw   rM   rn   s   &r)   rx   Ú"AlreadyInstalledCandidate.__repr__}  s$   € Ø—.‘.×)Ñ)Ð*¨!¨D¯I©I©=¸Ð:Ð:r+   c               ó    € V ^8„  d   QhRRRR/# )r$   rƒ   Úobjectr&   r„   r'   )r(   s   "r)   r*   r  €  s   € ÷ Iñ I˜Fð I tñ Ir+   c                	ó®   € \        V\        4      '       g   \        # V P                  VP                  8H  ;'       d    V P                  VP                  8H  # r]   )r-   r    ÚNotImplementedrI   rP   rˆ   s   &&r)   r‰   Ú AlreadyInstalledCandidate.__eq__€  s>   € Ü˜%Ô!:×;Ò;Ü!Ð!Ø�y‰y˜EŸJ™JÑ&×HÐH¨4¯<©<¸5¿=¹=Ñ+HÐHr+   c               ó   € V ^8„  d   QhRR/# r{   r'   )r(   s   "r)   r*   r  …  s   € ÷ /ñ /˜#ñ /r+   c                	óD   € \        V P                  V P                  34      # r]   )r~   rI   rP   rn   s   &r)   r   Ú"AlreadyInstalledCandidate.__hash__…  s   € Ü�T—Y‘Y §¡Ð-Ó.Ð.r+   c               ó   € V ^8„  d   QhRR/# r‘   r'   )r(   s   "r)   r*   r  ‰  s   € ÷ (ñ (˜nñ (r+   c                	ó.   € V P                   P                  # r]   )rM   rO   rn   s   &r)   r”   Ú&AlreadyInstalledCandidate.project_nameˆ  s   € à�y‰y×'Ñ'Ð'r+   c               ó   € V ^8„  d   QhRR/# rj   r'   )r(   s   "r)   r*   r  �  r—   r+   c                	ó   € V P                   # r]   r™   rn   s   &r)   rI   ÚAlreadyInstalledCandidate.nameŒ  r�   r+   c               ó   € V ^8„  d   QhRR/# rœ   r'   )r(   s   "r)   r*   r  ‘  r�   r+   c                	ól   € V P                   f   V P                  P                  V n         V P                   # r]   rŸ   rn   s   &r)   rP   Ú!AlreadyInstalledCandidate.version�  r¡   r+   c               ó   € V ^8„  d   QhRR/# ©r$   r&   r„   r'   )r(   s   "r)   r*   r  —  s   € ÷ "ñ "˜Tñ "r+   c                	ó.   € V P                   P                  # r]   )rM   r<   rn   s   &r)   r÷   Ú%AlreadyInstalledCandidate.is_editable–  s   € à�y‰y×!Ñ!Ð!r+   c               ó   € V ^8„  d   QhRR/# rj   r'   )r(   s   "r)   r*   r  š  s   € ÷ 9ñ 9 #ñ 9r+   c                	ó:   € V P                    R V P                   R2# )rl   z (Installed)rm   rn   s   &r)   r¦   Ú*AlreadyInstalledCandidate.format_for_errorš  s   € Ø—)‘)�˜A˜dŸl™l˜^¨<Ð8Ð8r+   c               ó    € V ^8„  d   QhRRRR/# rÁ   r'   )r(   s   "r)   r*   r  �  s   € ÷ Uñ U¨tð UÐ8Tñ Ur+   c              #  	ó.  "  € V'       g   R #  V P                   P                  4        F:  pV P                  P                  \	        V4      V P
                  4       R j  x€L
  K<  	  R #  L
  \         d   p\        T P                   TR7      R hR p?ii ; i5i)N)rM   Úinvalid_exc)rM   r±   r`   rÇ   r>   ra   r	   r   )rf   rÂ   rÉ   r½   s   &&  r)   r±   Ú+AlreadyInstalledCandidate.iter_dependencies�  sr   é € ßÙð	UØ—Y‘Y×0Ñ0Ö2�ØŸ=™=×DÑDÄSÈÃVÈTÏZÉZÓX×XÒXó 3ÙXøÜ!ô 	UÜ)¨t¯y©yÀcÔJÐPTÐTûð	Uüs;   ‚BŽAA* ÁA(ÁA* Á&BÁ(A* Á*BÁ5BÂBÂBc               ó   € V ^8„  d   QhRR/# rÌ   r'   )r(   s   "r)   r*   r  §  ó   € ÷ ñ Ð)Bñ r+   c                	ó   € R # r]   r'   rn   s   &r)   rÏ   Ú1AlreadyInstalledCandidate.get_install_requirement§  ó   € Ùr+   )r`   ra   rc   rM   )rw   rÒ   rÓ   rÔ   r×   rV   rg   ro   rx   r‰   r   rØ   r”   rI   rP   r÷   r¦   r±   rÏ   rÙ   r'   r+   r)   r    r    d  sŒ   † Ø€LØ€KõPõ$õ;õIõ
/ð ô(ó ð(ð ô!ó ð!ð ôó ðð
 ô"ó ð"õ9õU÷ñ r+   c                  ó  € ] tR tRtRtRR/R R lltR R ltR	 R
 ltR R ltR R lt	]
R R l4       t]
R R l4       t]
R R l4       tR R lt]
R R l4       t]
R R l4       t]
R R l4       tR R ltR R  ltR!tR# )"ÚExtrasCandidatei«  a¥  A candidate that has 'extras', indicating additional dependencies.

Requirements can be for a project with dependencies, something like
foo[extra].  The extras don't affect the project/version being installed
directly, but indicate that we need additional dependencies. We model that
by having an artificial ExtrasCandidate that wraps the "base" candidate.

The ExtrasCandidate differs from the base in the following ways:

1. It has a unique name, of the form foo[extra]. This causes the resolver
   to treat it as a separate node in the dependency graph.
2. When we're getting the candidate's dependencies,
   a) We specify that we want the extra dependencies as well.
   b) We add a dependency on the base candidate.
      See below for why this is needed.
3. We return None for the underlying InstallRequirement, as the base
   candidate will provide it, and we don't want to end up with duplicates.

The dependency on the base candidate is needed so that the resolver can't
decide that it should recommend foo[extra1] version 1.0 and foo[extra2]
version 2.0. Having those candidates depend on foo=1.0 and foo=2.0
respectively forces the resolver to recognise that this is a conflict.
r7   Nc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r$   ÚbaseÚBaseCandidaterA   zfrozenset[str]r7   rÍ   r&   rZ   r'   )r(   s   "r)   r*   ÚExtrasCandidate.__annotate__Ä  s8   € ÷ Uñ UàðUð ðUð
 .ðUð 
ñUr+   c               óŽ   € Wn         \        R V 4       4      V n        Ve	   W0n        R# V P                   P                  V n        R# )a‡  
:param comes_from: the InstallRequirement that led to this candidate if it
    differs from the base's InstallRequirement. This will often be the
    case in the sense that this candidate's requirement has the extras
    while the base's does not. Unlike the InstallRequirement backed
    candidates, this requirement is used solely for reporting purposes,
    it does not do any leg work.
c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5ir]   )r   )Ú.0r³   s   & r)   Ú	<genexpr>Ú+ExtrasCandidate.__init__.<locals>.<genexpr>Ô  s   é € ÐE¹f¸Ô 1°!× 4Ð 4»fùó   ‚N)r4  Ú	frozensetrA   ra   Ú_comes_from)rf   r4  rA   r7   s   &&&$r)   rg   ÚExtrasCandidate.__init__Ä  s5   € ð Œ	ÜÑE¹fÓEÓEˆŒØ)3Ò)?˜:ÖÀTÇYÁYÇ_Á_ˆÖr+   c               ó   € V ^8„  d   QhRR/# rj   r'   )r(   s   "r)   r*   r6  ×  s   € ÷ Eñ E˜ñ Er+   c                	ó¨   € \        V P                  4      P                  R ^4      w  rRP                  VRP	                  V P
                  4      V4      # )rl   z	{}[{}] {}Ú,)r>   r4  Úsplitr(   ÚjoinrA   )rf   rI   Úrests   &  r)   ro   ÚExtrasCandidate.__str__×  s@   € Ü˜Ÿ™“^×)Ñ)¨#¨qÓ1‰
ˆØ×!Ñ! $¨¯©°·±Ó(=¸tÓDÐDr+   c               ó   € V ^8„  d   QhRR/# rj   r'   )r(   s   "r)   r*   r6  Û  s   € ÷ Xñ X˜#ñ Xr+   c                	ól   € V P                   P                   R V P                  : RV P                  : R2# )z(base=z	, extras=ru   )rv   rw   r4  rA   rn   s   &r)   rx   ÚExtrasCandidate.__repr__Û  s/   € Ø—.‘.×)Ñ)Ð*¨&°·±±¸YÀtÇ{Á{ÁoÐUVÐWÐWr+   c               ó   € V ^8„  d   QhRR/# r{   r'   )r(   s   "r)   r*   r6  Þ  s   € ÷ .ñ .˜#ñ .r+   c                	óD   € \        V P                  V P                  34      # r]   )r~   r4  rA   rn   s   &r)   r   ÚExtrasCandidate.__hash__Þ  s   € Ü�T—Y‘Y §¡Ð,Ó-Ð-r+   c               ó    € V ^8„  d   QhRRRR/# r‚   r'   )r(   s   "r)   r*   r6  á  r…   r+   c                	ó°   € \        WP                  4      '       d;   V P                  VP                  8H  ;'       d    V P                  VP                  8H  # R # r‡   )r-   rv   r4  rA   rˆ   s   &&r)   r‰   ÚExtrasCandidate.__eq__á  s<   € Ü�eŸ^™^×,Ò,Ø—9‘9 §
¡
Ñ*×JÐJ¨t¯{©{¸e¿l¹lÑ/JÐJÙr+   c               ó   € V ^8„  d   QhRR/# r‘   r'   )r(   s   "r)   r*   r6  ç  s   € ÷ &ñ &˜nñ &r+   c                	ó.   € V P                   P                  # r]   )r4  r”   rn   s   &r)   r”   ÚExtrasCandidate.project_nameæ  ó   € à�y‰y×%Ñ%Ð%r+   c               ó   € V ^8„  d   QhRR/# rj   r'   )r(   s   "r)   r*   r6  ë  s   € ÷ @ñ @�cñ @r+   c                óV   € \        V P                  P                  V P                  4      # r“   )r   r4  r”   rA   rn   s   &r)   rI   ÚExtrasCandidate.nameê  s   € ô ˜4Ÿ9™9×1Ñ1°4·;±;Ó?Ð?r+   c               ó   € V ^8„  d   QhRR/# rœ   r'   )r(   s   "r)   r*   r6  ð  s   € ÷ !ñ !˜ñ !r+   c                	ó.   € V P                   P                  # r]   )r4  rP   rn   s   &r)   rP   ÚExtrasCandidate.versionï  s   € à�y‰y× Ñ Ð r+   c               ó   € V ^8„  d   QhRR/# rj   r'   )r(   s   "r)   r*   r6  ó  s   € ÷ 
ñ 
 #ñ 
r+   c                	óš   € R P                  V P                  P                  4       RP                  \	        V P
                  4      4      4      # )z{} [{}]z, )r(   r4  r¦   rD  ÚsortedrA   rn   s   &r)   r¦   Ú ExtrasCandidate.format_for_erroró  s9   € Ø×ÑØ�I‰I×&Ñ&Ó(¨$¯)©)´F¸4¿;¹;Ó4GÓ*Hó
ð 	
r+   c               ó   € V ^8„  d   QhRR/# r"  r'   )r(   s   "r)   r*   r6  ù  s   € ÷ &ñ &˜dñ &r+   c                	ó.   € V P                   P                  # r]   )r4  r×   rn   s   &r)   r×   ÚExtrasCandidate.is_installedø  rS  r+   c               ó   € V ^8„  d   QhRR/# r"  r'   )r(   s   "r)   r*   r6  ý  s   € ÷ %ñ %˜Tñ %r+   c                	ó.   € V P                   P                  # r]   )r4  r÷   rn   s   &r)   r÷   ÚExtrasCandidate.is_editableü  ó   € à�y‰y×$Ñ$Ð$r+   c               ó   € V ^8„  d   QhRR/# rŒ   r'   )r(   s   "r)   r*   r6    s   € ÷ %ñ %˜[ñ %r+   c                	ó.   € V P                   P                  # r]   )r4  rV   rn   s   &r)   rV   ÚExtrasCandidate.source_link   rd  r+   c               ó    € V ^8„  d   QhRRRR/# rÁ   r'   )r(   s   "r)   r*   r6    s   € ÷ ñ ¨tð Ð8Tñ r+   c              #  	óÄ  "  € V P                   P                  pVP                  V P                   4      x € V'       g   R # V P                  P	                  V P                   P
                  P                  4       4      pV P                  P                  V P                   P
                  P                  4       4      p\        V4       F9  p\        P                  RV P                   P                  V P                  V4       K;  	  V P                   P
                  P                  V4       F1  pVP                  \        V4      V P                   V4       R j  x€L
  K3  	  R #  L
5i)Nz%%s %s does not provide the extra '%s')r4  r`   Úmake_requirement_from_candidaterA   ÚintersectionrM   r²   Ú
differencer\  râ   ÚwarningrI   rP   r±   rÇ   r>   r>  )rf   rÂ   rW   Úvalid_extrasÚinvalid_extrasÚextrarÉ   s   &&     r)   r±   Ú!ExtrasCandidate.iter_dependencies  s   é € Ø—)‘)×$Ñ$ˆð ×5Ñ5°d·i±iÓ@Ò@ßÙð —{‘{×/Ñ/°·	±	·±×0SÑ0SÓ0UÓVˆØŸ™×/Ñ/°·	±	·±×0SÑ0SÓ0UÓVˆÜ˜NÖ+ˆEÜ�N‰NØ7Ø—	‘	—‘Ø—‘Øö	ñ ,ð —‘—‘×1Ñ1°,Ö?ˆAØ×:Ñ:Ü�A“Ø× Ñ Øó÷ ò ó @ñùs   ‚EE ÅEÅE c               ó   € V ^8„  d   QhRR/# rÌ   r'   )r(   s   "r)   r*   r6     s   € ÷ ñ Ð)Bñ r+   c                	ó   € R # r]   r'   rn   s   &r)   rÏ   Ú'ExtrasCandidate.get_install_requirement   s   € ñ r+   )r>  r4  rA   )rw   rÒ   rÓ   rÔ   rÕ   rg   ro   rx   r   r‰   rØ   r”   rI   rP   r¦   r×   r÷   rV   r±   rÏ   rÙ   r'   r+   r)   r2  r2  «  s¼   † ñð0Uð
 15÷Uõ&EõXõ.õð
 ô&ó ð&ð ô@ó ð@ð ô!ó ð!õ
ð
 ô&ó ð&ð ô%ó ð%ð ô%ó ð%õ÷8ñ r+   r2  c                  ó¨   € ] tR tRtRtRtR R ltR R ltR R	 lt]	R
 R l4       t
]	R R l4       t]	R R l4       tR R ltR R ltR R ltRtR# )ÚRequiresPythonCandidatei'  FNc               ó    € V ^8„  d   QhRRRR/# )r$   Úpy_version_infoztuple[int, ...] | Noner&   rZ   r'   )r(   s   "r)   r*   Ú$RequiresPythonCandidate.__annotate__+  s   € ÷ Hñ HÐ(>ð HÀ4ñ Hr+   c                	ó    € Ve   \        V4      pM\        P                  R,          p\        RP	                  R V 4       4      4      V n        R # )N:Né   NÚ.c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5ir]   )r>   )r9  Úcs   & r)   r:  Ú3RequiresPythonCandidate.__init__.<locals>.<genexpr>0  s   é € Ð(F¹°A¬¨Q¯¨»ùr<  )r   ÚsysÚversion_infor   rD  rc   )rf   rx  r�  s   && r)   rg   Ú RequiresPythonCandidate.__init__+  s=   € ØÒ&Ü1°/ÓB‰Lä×+Ñ+¨BÕ/ˆLÜ §¡Ñ(F¹Ó(FÓ FÓGˆŽr+   c               ó   € V ^8„  d   QhRR/# rj   r'   )r(   s   "r)   r*   ry  6  s   € ÷ )ñ )˜ñ )r+   c                	ó    € R V P                    2# ©zPython ©rc   rn   s   &r)   ro   ÚRequiresPythonCandidate.__str__6  s   € Ø˜Ÿ™˜Ð(Ð(r+   c               ó   € V ^8„  d   QhRR/# rj   r'   )r(   s   "r)   r*   ry  9  s   € ÷ ?ñ ?˜#ñ ?r+   c                	óP   € V P                   P                   R V P                  : R2# rs   )rv   rw   rc   rn   s   &r)   rx   Ú RequiresPythonCandidate.__repr__9  s%   € Ø—.‘.×)Ñ)Ð*¨!¨D¯M©MÑ+<¸AÐ>Ð>r+   c               ó   € V ^8„  d   QhRR/# r‘   r'   )r(   s   "r)   r*   ry  =  s   € ÷ *ñ *˜nñ *r+   c                	ó   € \         # r]   ©ÚREQUIRES_PYTHON_IDENTIFIERrn   s   &r)   r”   Ú$RequiresPythonCandidate.project_name<  ó   € ä)Ð)r+   c               ó   € V ^8„  d   QhRR/# rj   r'   )r(   s   "r)   r*   ry  A  s   € ÷ *ñ *�cñ *r+   c                	ó   € \         # r]   r�  rn   s   &r)   rI   ÚRequiresPythonCandidate.name@  r�  r+   c               ó   € V ^8„  d   QhRR/# rœ   r'   )r(   s   "r)   r*   ry  E  s   € ÷ ñ ˜ñ r+   c                	ó   € V P                   # r]   r†  rn   s   &r)   rP   ÚRequiresPythonCandidate.versionD  s   € à�}‰}Ðr+   c               ó   € V ^8„  d   QhRR/# rj   r'   )r(   s   "r)   r*   ry  H  s   € ÷ (ñ ( #ñ (r+   c                	ó    € R V P                    2# r…  )rP   rn   s   &r)   r¦   Ú(RequiresPythonCandidate.format_for_errorH  s   € Ø˜Ÿ™˜Ð'Ð'r+   c               ó    € V ^8„  d   QhRRRR/# rÁ   r'   )r(   s   "r)   r*   ry  K  s   € ÷ ñ ¨tð Ð8Tñ r+   c                	ó   € R# rÄ   r'   )rf   rÂ   s   &&r)   r±   Ú)RequiresPythonCandidate.iter_dependenciesK  s   € Øˆ	r+   c               ó   € V ^8„  d   QhRR/# rÌ   r'   )r(   s   "r)   r*   ry  N  r-  r+   c                	ó   € R # r]   r'   rn   s   &r)   rÏ   Ú/RequiresPythonCandidate.get_install_requirementN  r0  r+   r†  )rw   rÒ   rÓ   rÔ   r×   rV   rg   ro   rx   rØ   r”   rI   rP   r¦   r±   rÏ   rÙ   r'   r+   r)   rv  rv  '  sl   † Ø€LØ€KõHõ)õ?ð ô*ó ð*ð ô*ó ð*ð ôó ðõ(õ÷ñ r+   rv  )r    r!   r"   )>Ú
__future__r   Úloggingr€  Úcollections.abcr   Útypingr   r   r   r   Ú"pip._vendor.packaging.requirementsr	   Úpip._vendor.packaging.utilsr
   r   Úpip._vendor.packaging.versionr   Úpip._internal.exceptionsr   r   r   r   r   r   Úpip._internal.metadatar   Úpip._internal.models.linkr   r   Úpip._internal.models.wheelr   Úpip._internal.req.constructorsr   r   Úpip._internal.req.req_installr   Ú&pip._internal.utils.direct_url_helpersr   Úpip._internal.utils.miscr   r4  r   r   r   rW   r   Ú	getLoggerrw   râ   r5  rŽ  r/   rD   rK   rR   rT   r"   r!   r    r2  rv  r'   r+   r)   Ú<module>r°     sì   ðÝ "ã Û 
Ý $ß 2Ó 2å Aß IÝ 1÷÷ õ 4ß <Ý ,÷õ =Ý GÝ ;ç 5Ñ 5çÝ à	×	Ò	˜8Ó	$€àðõ€ñ " .Ð2QÓRÐ õ	õõ.õ,ô,Q¨ô Qôh6UÐ6ô 6UôrOÐ:ô Oô0D 	ô DôNy�iô yôx(˜iö (r+   