
    q"h*                     x    S SK r S SKJr  S SKJrJr  S SKJr  S SKJ	r	  \ R                  " \5      r " S S5      rg)    N)OrderedDict)DictList)canonicalize_name)InstallRequirementc                       \ rS rSrSS\SS4S jjrS\4S jrS\4S jrS\	SS4S	 jr
S\	SS4S
 jrS\S\4S jrS\S\	4S jr\S\\	   4S j5       r\S\\	   4S j5       rSrg)RequirementSet   check_supported_wheelsreturnNc                 <    [        5       U l        Xl        / U l        g)zCreate a RequirementSet.N)r   requirementsr   unnamed_requirements)selfr   s     K/var/www/html/env/lib/python3.13/site-packages/pip/_internal/req/req_set.py__init__RequirementSet.__init__   s     <G=&<#>@!    c                     [        S U R                  R                  5        5       S S9nSR                  S U 5       5      $ )Nc              3   J   #    U  H  oR                   (       a  M  Uv   M     g 7fN)
comes_from.0reqs     r   	<genexpr>)RequirementSet.__str__.<locals>.<genexpr>   s     M6SnnSS6s   #	#c                 >    [        U R                  =(       d    S5      $ N r   namer   s    r   <lambda>(RequirementSet.__str__.<locals>.<lambda>       -chhn"=r   key c              3   L   #    U  H  n[        UR                  5      v   M     g 7fr   strr   r   s     r   r   r      s     =CGG   "$)sortedr   valuesjoin)r   r   s     r   __str__RequirementSet.__str__   s=    MD--446M=
 xx====r   c                     [        U R                  R                  5       S S9nSnUR                  U R                  R
                  [        U5      SR                  S U 5       5      S9$ )Nc                 >    [        U R                  =(       d    S5      $ r   r!   r#   s    r   r$   )RequirementSet.__repr__.<locals>.<lambda>   r&   r   r'   z4<{classname} object; {count} requirement(s): {reqs}>z, c              3   L   #    U  H  n[        UR                  5      v   M     g 7fr   r+   r   s     r   r   *RequirementSet.__repr__.<locals>.<genexpr>&   s     @<C3sww<<<r-   )	classnamecountreqs)r.   r   r/   format	__class____name__lenr0   )r   r   format_strings      r   __repr__RequirementSet.__repr__   sh    $$&=

 O##nn--l#@<@@ $ 
 	
r   install_reqc                 `    UR                   (       a   eU R                  R                  U5        g r   )r"   r   appendr   rB   s     r   add_unnamed_requirement&RequirementSet.add_unnamed_requirement)   s%    ####!!((5r   c                 p    UR                   (       d   e[        UR                   5      nXR                  U'   g r   )r"   r   r   )r   rB   project_names      r   add_named_requirement$RequirementSet.add_named_requirement-   s/    ()9)9:*5,'r   r"   c                 ~    [        U5      nX R                  ;   =(       a    U R                  U   R                  (       + $ r   )r   r   
constraintr   r"   rI   s      r   has_requirementRequirementSet.has_requirement3   s;    (. --- ?%%l3>>>	
r   c                 r    [        U5      nX R                  ;   a  U R                  U   $ [        SU< 35      e)NzNo project with the name )r   r   KeyErrorrN   s      r   get_requirementRequirementSet.get_requirement;   s<    (.,,,$$\2224(;<<r   c                 b    U R                   [        U R                  R                  5       5      -   $ r   )r   listr   r/   )r   s    r   all_requirementsRequirementSet.all_requirementsC   s'    ((40A0A0H0H0J+KKKr   c                     U R                    Vs/ s H+  nUR                  (       a  M  UR                  (       a  M)  UPM-     sn$ s  snf )zReturn the list of requirements that need to be installed.

TODO remove this property together with the legacy resolver, since the new
     resolver only returns requirements that need to be installed.
)rW   rM   satisfied_byrE   s     r   requirements_to_install&RequirementSet.requirements_to_installG   sF      $44
4)) 2=2J2J 4
 	
 
s   AAA)r   r   r   )T)r=   
__module____qualname____firstlineno__boolr   r,   r1   r@   r   rF   rJ   rO   rS   propertyr   rW   r[   __static_attributes__ r   r   r	   r	      s    At At A> >
# 
63E 6$ 661C 6 6
C 
D 
=C =,> = L$'9": L L 

.@)A 

 

r   r	   )loggingcollectionsr   typingr   r   pip._vendor.packaging.utilsr   pip._internal.req.req_installr   	getLoggerr=   loggerr	   rc   r   r   <module>rk      s0     #  9 <			8	$F
 F
r   