
    q"h                        S SK Jr  S SKJrJrJrJr  S SKJr  S SK	J
r
  S SKJr  S SKJrJr  S SKJr  S SKJr  \\S	   \\   4   rS
\
S\\
   S\4S jr\" SS9 " S S5      5       r " S S5      rS\SS	S\4S jr " S S	5      rg)    )	dataclass)	FrozenSetIterableOptionalTuple)SpecifierSet)NormalizedName)Version)Linklinks_equivalent)InstallRequirement)Hashes	Candidateprojectextrasreturnc                 X    U(       d  U $ SR                  [        U5      5      nU  SU S3$ )N,[])joinsorted)r   r   extras_exprs      Z/var/www/html/env/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/base.pyformat_namer      s/    ((6&>*KYa}A&&    T)frozenc                       \ rS rSr% \\S'   \\S'   \\   \S'   \	SS j5       r
\	S\SS 4S j5       rS\4S	 jrS
\SS 4S jrSSS\4S jrSrg)
Constraint   	specifierhasheslinksr   c                 L    [        [        5       [        5       [        5       5      $ N)r   r   r   	frozenset)clss    r   emptyConstraint.empty   s    ,.&(IK@@r   ireqc                     UR                   (       a  [        UR                   /5      O	[        5       n[        UR                  UR	                  SS9U5      $ NF)trust_internet)linkr&   r   r!   r"   )r'   r*   r#   s      r   	from_ireqConstraint.from_ireq    s:    *.))	499+&$..$++U+*KUSSr   c                     [        U R                  5      =(       d1    [        U R                  5      =(       d    [        U R                  5      $ r%   )boolr!   r"   r#   selfs    r   __bool__Constraint.__bool__%   s-    DNN#LtDKK'8LD<LLr   otherc                 ,   [        U[        5      (       d  [        $ U R                  UR                  -  nU R                  UR	                  SS9-  nU R
                  nUR                  (       a  UR                  UR                  /5      n[        X#U5      $ r,   )	
isinstancer   NotImplementedr!   r"   r#   r.   unionr   )r4   r7   r!   r"   r#   s        r   __and__Constraint.__and__(   sr    %!344!!NNU__4	u||5|AA

::KK-E)U33r   	candidater   c                    ^ U R                   (       a%  [        U4S jU R                    5       5      (       d  gU R                  R                  TR                  SS9$ )Nc              3   <   >#    U  H  n[        UT5      v   M     g 7fr%   )_match_link).0r.   r>   s     r   	<genexpr>-Constraint.is_satisfied_by.<locals>.<genexpr>4   s     !V:4+dI">">:s   FT)prereleases)r#   allr!   containsversionr4   r>   s    `r   is_satisfied_byConstraint.is_satisfied_by2   sC    ::c!V4::!VVV ~~&&y'8'8d&KKr    N)r   r   )__name__
__module____qualname____firstlineno__r   __annotations__r   r   r   classmethodr(   r   r/   r2   r5   r<   rJ   __static_attributes__rL   r   r   r   r      s    NT?A A T/ TL T TM$ M4/ 4L 4L L Lr   r   c                   r    \ rS rSr\S\4S j5       r\S\4S j5       rSSS\	4S jr
S\4S jrS\4S	 jrS
rg)Requirement<   r   c                     [        S5      e)zThe "project name" of a requirement.

This is different from ``name`` if this requirement contains extras,
in which case ``name`` would contain the ``[...]`` part, while this
refers to the name of the project.
Subclass should overrideNotImplementedErrorr3   s    r   project_nameRequirement.project_name=   s     ""<==r   c                     [        S5      e)zThe name identifying this requirement in the resolver.

This is different from ``project_name`` if this requirement contains
extras, where ``project_name`` would not contain the ``[...]`` part.
rX   rY   r3   s    r   nameRequirement.nameG   s     ""<==r   r>   r   c                     gNFrL   rI   s     r   rJ   Requirement.is_satisfied_byP   s    r   c                     [        S5      eNrX   rY   r3   s    r   get_candidate_lookup Requirement.get_candidate_lookupS       !"<==r   c                     [        S5      erd   rY   r3   s    r   format_for_errorRequirement.format_for_errorV   rg   r   rL   N)rM   rN   rO   rP   propertyr	   r[   strr^   r2   rJ   CandidateLookupre   ri   rS   rL   r   r   rU   rU   <   sa    >n > > >c > >  >o >># >r   rU   r.   r>   c                 P    UR                   (       a  [        XR                   5      $ gra   )source_linkr   )r.   r>   s     r   rA   rA   Z   s    &;&;<<r   c                       \ rS rSr\S\4S j5       r\S\4S j5       r\S\	4S j5       r
\S\4S j5       r\S\4S j5       r\S\\   4S j5       rS	\S\\\      4S
 jrS\\   4S jrS\4S jrSrg)r   `   r   c                     [        S5      e)zThe "project name" of the candidate.

This is different from ``name`` if this candidate contains extras,
in which case ``name`` would contain the ``[...]`` part, while this
refers to the name of the project.
Override in subclassrY   r3   s    r   r[   Candidate.project_namea   s     ""899r   c                     [        S5      e)zThe name identifying this candidate in the resolver.

This is different from ``project_name`` if this candidate contains
extras, where ``project_name`` would not contain the ``[...]`` part.
rs   rY   r3   s    r   r^   Candidate.namek   s     ""899r   c                     [        S5      eNrs   rY   r3   s    r   rH   Candidate.versiont       !"899r   c                     [        S5      erx   rY   r3   s    r   is_installedCandidate.is_installedx   rz   r   c                     [        S5      erx   rY   r3   s    r   is_editableCandidate.is_editable|   rz   r   c                     [        S5      erx   rY   r3   s    r   ro   Candidate.source_link   rz   r   with_requiresc                     [        S5      erx   rY   )r4   r   s     r   iter_dependenciesCandidate.iter_dependencies       !"899r   c                     [        S5      erx   rY   r3   s    r   get_install_requirement!Candidate.get_install_requirement   r   r   c                     [        S5      erd   rY   r3   s    r   ri   Candidate.format_for_error   rg   r   rL   N)rM   rN   rO   rP   rk   r	   r[   rl   r^   r
   rH   r2   r|   r   r   r   ro   r   rU   r   r   r   ri   rS   rL   r   r   r   r   `   s    :n : : :c : : : : : :d : : :T : : :Xd^ : ::t :+AV8W ::2D)E :># >r   N)dataclassesr   typingr   r   r   r    pip._vendor.packaging.specifiersr   pip._vendor.packaging.utilsr	   pip._vendor.packaging.versionr
   pip._internal.models.linkr   r   pip._internal.req.req_installr   pip._internal.utils.hashesr   rm   rl   r   r   rU   r2   rA   r   rL   r   r   <module>r      s    ! 7 7 9 6 1 < < --x8J/KKL' '>1J 's ' $"L "L "LJ> ><d { t +> +>r   