+
    UiQ                       ^ 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 R l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   "l/var/www/html/photoedit/myenv/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R/# )r$   linkr   templater   versionVersion | Noner&   r'   )r(   s   "r)   r*   r*   <   s0      
   	r+   c           
        VP                   '       d   Q R 4       hVeA   VP                  '       d/   VP                  '       d   VP                  P                   RV 2pM4V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reqr<   namestrurlr   r8   r9   r:   r;   r=   original_linkr1   extras)r1   r2   r3   lineireqs   &&&  r)   make_install_req_from_linkrG   <   s    
    8"88 x|||0E0E0E ,,##$Bwi0	8<< xx ,,&&""&&** 00D "//DI//DKKr+   c               $    V ^8  d   QhRRRRRR/# )r$   r1   r   r2   r   r&   r'   )r(   s   "r)   r*   r*   Z   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 @ )r8   r9   r:   r;   permit_editable_wheelsr<   r=   )r>   r@   rB   r   r8   r9   r:   r;   rK   r<   r=   rD   )r1   r2   
req_stringrF   s   &&  r)   make_install_req_from_editablerM   Z   s     555}}} c$((4
XX
$,,&&""&&'>>** 00	D //DKKr+   c               $    V ^8  d   QhRRRRRR/# )r$   distr   r2   r   r&   r'   )r(   s   "r)   r*   r*   p   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# )rJ   r6   r7   )r?   rA   r1   canonical_namerB   r3   r   r8   r9   r:   r;   r<   r=   satisfied_by)rO   r2   rE   rF   s   &&  r)   _make_install_req_from_distrS   p   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   rO   FNc               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# )r$   r1   r   source_linkrF   r   factoryr   r@   NormalizedName | Noner3   r4   r&   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_preparerO   _hash)selfr1   rW   rF   rX   r@   r3   s   &&&&&&&r)   __init__+_InstallRequirementBackedCandidate.__init__   s7     
'

MMO	!%
r+   c                   V ^8  d   QhRR/# r$   r&   rA   r'   )r(   s   "r)   r*   r[      s     - - -r+   c                	8    V P                    R V P                   2# ) r@   r3   rf   s   &r)   __str__*_InstallRequirementBackedCandidate.__str__   s    ))Adll^,,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__rA   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
zz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^^,,#DJJ<<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)   rW   ._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   rO   rQ   rn   s   &r)   project_name/_InstallRequirementBackedCandidate.project_name   s)     ::11DJzz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)   r@   '_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   rO   r3   rn   s   &r)   r3   *_InstallRequirementBackedCandidate.version   '    ==  II--DM}}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                  '       d   RMR V P                  P                  '       d   V P                  P
                  MV P                   R2# )rl   z (from z	editable  ru   )r@   r3   is_editabler^   is_file	file_pathrn   s   &r)   format_for_error3_InstallRequirementBackedCandidate.format_for_error   s_    yyk4<<. )$($4$4$4["='+zz'9'9'9tzz##tzzJ!M	
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_distribution8_InstallRequirementBackedCandidate._prepare_distribution   s    !"899r+   c                    V ^8  d   QhRRRR/# )r$   rO   r   r&   rZ   r'   )r(   s   "r)   r*   r[      s     6 60@ 6T 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.Nr@   r3   )rb   rQ   r   ra   rc   r3   rA   listiter_dependenciesiter_provided_extrasr	   r   )rf   rO   es   && r)   _check_metadata_consistency>_InstallRequirementBackedCandidate._check_metadata_consistency   s    ::!djjD4G4G&G&



##	  ==$$,,)F&

DMM"DLL!	 	6''T-F-F-H(IJK! 	6!$**c!f55	6s   >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-   r9   r   	from_pathr   r@   rA   r^   command_descriptionr   )rf   rO   r   excrequest_chains   &    r)   rd   +_InstallRequirementBackedCandidate._prepare   s    	--/D, 	((.-  	 JJAE* 	$**//1CDD $

 5 5 ? ? A $

 5 5$ 4*!ZZ__??DJJ"/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_requirementrO   requires_pythonr   make_requirements_from_specrA   ra   )rf   r   requiresrs   &&  r)   r   4_InstallRequirementBackedCandidate.iter_dependencies  sk      mm<<TYY=V=VWW4A499..0rA}}@@QTTT Ts   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    zzr+   )r`   re   ra   r^   rb   r_   rc   rO   NN)rw   
__module____qualname____firstlineno____doc____annotations__is_installedrg   ro   rx   r   r   propertyrW   r   r@   r3   r   r   r   rd   r   r   __static_attributes__r'   r+   r)   rU   rU      s     L&$-A
 ! !   ! !  

:606U r+   rU   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$   r1   r   r2   r   rX   r   r@   rY   r3   r4   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VR7      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: %sr3   z != z
 for wheelz for wheel )link_is_in_wheel_cacher1   rW   rF   rX   r@   r3   )get_wheel_cache_entryloggerdebugr1   rG   is_wheelr   r   filenamer@   r   r3   
persistentrC   cached_wheel_source_linkorigindownload_infor   superrg   )rf   r1   r2   rX   r@   r3   rW   cache_entryrF   wheel
wheel_namewheel_versionrv   s   &&&&&&      r)   rg   LinkCandidate.__init__  s    33KF"LL68H8HI##D)$'JyyD   99dii&7&7&7$)),,-EJ%N$j^:'NN%" ' 6,H[]$5[GH, "99%%%%%99$$$$$%%%(--8;Q;Q*Q0;-!!-%0%7%7" &:8N8N&" 	# 	 	
r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   r   O  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_distributionO  s+    ==))224::t2TTr+   r'   r   	rw   r   r   r   r   rg   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!   iT  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__W  sF     
 

 %
 	

 $
  
 

r+   c           	     	D   < \         SV `  VV\        W4      VVVR 7       R# )r   N)r   rg   rM   )rf   r1   r2   rX   r@   r3   rv   s   &&&&&&r)   rg   EditableCandidate.__init__W  s.     	/? 	 	
r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   r   h  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_distributionh  s!    }}%%BB4::NNr+   r'   r   r   r   s   @r)   r!   r!   T  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    il  TNc               (    V ^8  d   QhRRRRRRRR/# )	r$   rO   r   r2   r   rX   r   r&   rZ   r'   )r(   s   "r)   r*   &AlreadyInstalledCandidate.__annotate__p  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)rO   rS   ra   r`   rc   r   prepare_installed_requirement)rf   rO   r2   rX   skip_reasons   &&&& r)   rg   "AlreadyInstalledCandidate.__init__p  sB     	0@
 *66tzz;Or+   c                   V ^8  d   QhRR/# rj   r'   )r(   s   "r)   r*   r    s       r+   c                	,    \        V P                  4      # r]   )rA   rO   rn   s   &r)   ro   !AlreadyInstalledCandidate.__str__  s    499~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   rO   rn   s   &r)   rx   "AlreadyInstalledCandidate.__repr__  s$    ..))*!DII=::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    NotImplementedr@   r3   r   s   &&r)   r    AlreadyInstalledCandidate.__eq__  s>    %!:;;!!yyEJJ&HH4<<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~   r@   r3   rn   s   &r)   r   "AlreadyInstalledCandidate.__hash__  s    TYY-..r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   r    s     ( (n (r+   c                	.    V P                   P                  # r]   )rO   rQ   rn   s   &r)   r   &AlreadyInstalledCandidate.project_name  s    yy'''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)   r@   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)   r3   !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]   )rO   r>   rn   s   &r)   r   %AlreadyInstalledCandidate.is_editable  s    yy!!!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    ))Adll^<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)rO   invalid_exc)rO   r   r`   r   rA   ra   r	   r   )rf   r   r   r   s   &&  r)   r   +AlreadyInstalledCandidate.iter_dependencies  sr     	UYY002==DDSVTZZXXX 3X! 	U)tyycJPT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   rO   )rw   r   r   r   r   rW   rg   ro   rx   r   r   r   r   r@   r3   r   r   r   r   r   r'   r+   r)   r    r    l  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.
r9   Nc               (    V ^8  d   QhRRRRRRRR/# )	r$   baseBaseCandidaterD   zfrozenset[str]r9   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     Ef 1! 4 4f   N)r6  	frozensetrD   ra   _comes_from)rf   r6  rD   r9   s   &&&$r)   rg   ExtrasCandidate.__init__  s5     	EfEE)3)?:TYY__r+   c                   V ^8  d   QhRR/# rj   r'   )r(   s   "r)   r*   r8    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	{}[{}] {},)rA   r6  splitr(   joinrD   )rf   r@   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*   r8    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   r6  rD   rn   s   &r)   rx   ExtrasCandidate.__repr__  s/    ..))*&Yt{{oUVWWr+   c                   V ^8  d   QhRR/# r{   r'   )r(   s   "r)   r*   r8    s     . .# .r+   c                	D    \        V P                  V P                  34      # r]   )r~   r6  rD   rn   s   &r)   r   ExtrasCandidate.__hash__  s    TYY,--r+   c                    V ^8  d   QhRRRR/# r   r'   )r(   s   "r)   r*   r8    r   r+   c                	    \        WP                  4      '       d;   V P                  VP                  8H  ;'       d    V P                  VP                  8H  # R # r   )r-   rv   r6  rD   r   s   &&r)   r   ExtrasCandidate.__eq__  s<    e^^,,99

*JJt{{ell/JJr+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   r8    s     & &n &r+   c                	.    V P                   P                  # r]   )r6  r   rn   s   &r)   r   ExtrasCandidate.project_name      yy%%%r+   c                   V ^8  d   QhRR/# rj   r'   )r(   s   "r)   r*   r8    s     @ @c @r+   c                V    \        V P                  P                  V P                  4      # r   )r   r6  r   rD   rn   s   &r)   r@   ExtrasCandidate.name  s     499114;;??r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   r8    s     ! ! !r+   c                	.    V P                   P                  # r]   )r6  r3   rn   s   &r)   r3   ExtrasCandidate.version  s    yy   r+   c                   V ^8  d   QhRR/# rj   r'   )r(   s   "r)   r*   r8    s     
 
# 
r+   c                	    R P                  V P                  P                  4       RP                  \	        V P
                  4      4      4      # )z{} [{}]z, )r(   r6  r   rF  sortedrD   rn   s   &r)   r    ExtrasCandidate.format_for_error  s9    II&&($))F4;;4G*H
 	
r+   c                   V ^8  d   QhRR/# r$  r'   )r(   s   "r)   r*   r8    s     & &d &r+   c                	.    V P                   P                  # r]   )r6  r   rn   s   &r)   r   ExtrasCandidate.is_installed   rU  r+   c                   V ^8  d   QhRR/# r$  r'   )r(   s   "r)   r*   r8    s     % %T %r+   c                	.    V P                   P                  # r]   )r6  r   rn   s   &r)   r   ExtrasCandidate.is_editable      yy$$$r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   r8  	  s     % %[ %r+   c                	.    V P                   P                  # r]   )r6  rW   rn   s   &r)   rW   ExtrasCandidate.source_link  rf  r+   c                    V ^8  d   QhRRRR/# r   r'   )r(   s   "r)   r*   r8    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')r6  r`   make_requirement_from_candidaterD   intersectionrO   r   
differencer^  r   warningr@   r3   r   r   rA   r@  )rf   r   rX   valid_extrasinvalid_extrasextrar   s   &&     r)   r   !ExtrasCandidate.iter_dependencies  s     ))$$ 55dii@@ {{//		0S0S0UV//		0S0S0UVN+ENN7			 , 11,?A::A     @s   EE EE c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   r8  (  s      )B r+   c                	    R # r]   r'   rn   s   &r)   r   'ExtrasCandidate.get_install_requirement(  s     r+   )r@  r6  rD   )rw   r   r   r   r   rg   ro   rx   r   r   r   r   r@   r3   r   r   r   rW   r   r   r   r'   r+   r)   r4  r4    s    0U
 15U&EX.
 & & @ @ ! !

 & & % % % %8 r+   r4  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__3  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]   )rA   )r;  cs   & r)   r<  3RequiresPythonCandidate.__init__.<locals>.<genexpr>8  s     (FAQr>  )r   sysversion_infor   rF  rc   )rf   rz  r  s   && r)   rg    RequiresPythonCandidate.__init__3  s=    &1/BL++B/L(F(F FGr+   c                   V ^8  d   QhRR/# rj   r'   )r(   s   "r)   r*   r{  >  s     ) ) )r+   c                	     R V P                    2# zPython rc   rn   s   &r)   ro   RequiresPythonCandidate.__str__>  s    ((r+   c                   V ^8  d   QhRR/# rj   r'   )r(   s   "r)   r*   r{  A  s     ? ?# ?r+   c                	P    V P                   P                   R V P                  : R2# rs   )rv   rw   rc   rn   s   &r)   rx    RequiresPythonCandidate.__repr__A  s%    ..))*!DMM+<A>>r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   r{  E  s     * *n *r+   c                	    \         # r]   REQUIRES_PYTHON_IDENTIFIERrn   s   &r)   r   $RequiresPythonCandidate.project_nameD      ))r+   c                   V ^8  d   QhRR/# rj   r'   )r(   s   "r)   r*   r{  I  s     * *c *r+   c                	    \         # r]   r  rn   s   &r)   r@   RequiresPythonCandidate.nameH  r  r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   r{  M  s       r+   c                	    V P                   # r]   r  rn   s   &r)   r3   RequiresPythonCandidate.versionL  s    }}r+   c                   V ^8  d   QhRR/# rj   r'   )r(   s   "r)   r*   r{  P  s     ( (# (r+   c                	     R V P                    2# r  r   rn   s   &r)   r   (RequiresPythonCandidate.format_for_errorP  s    ''r+   c                    V ^8  d   QhRRRR/# r   r'   )r(   s   "r)   r*   r{  S  s      t 8T r+   c                	    R# r   r'   )rf   r   s   &&r)   r   )RequiresPythonCandidate.iter_dependenciesS  s    	r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   r{  V  r/  r+   c                	    R # r]   r'   rn   s   &r)   r   /RequiresPythonCandidate.get_install_requirementV  r2  r+   r  )rw   r   r   r   r   rW   rg   ro   rx   r   r   r@   r3   r   r   r   r   r'   r+   r)   rx  rx  /  sl    LKH)? * * * *  ( r+   rx  )r    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   r6  r   r   r   rX   r   	getLoggerrw   r   r7  r  r/   rG   rM   rS   rU   r"   r!   r    r4  rx  r'   r+   r)   <module>r     s    "  
 $ 2 2 A I 1  4 < , = G ; 5 5 			8	$ ".2QR 	<,,R Rj6U6 6UrO: O0D	 DNyi yx(i (r+   