
    q"h                    \    S SK Jr  S SKJrJrJrJr  SSKJrJ	r	J
r
   " S S\\	\4   5      rg)    )annotations)
CollectionGenericIterableIterator   )CTRTRequirementInformationc                  P    \ rS rSrSr        S	S jrS
S jrSS jrSS jrSr	g)	Criterion   a  Representation of possible resolution results of a package.

This holds three attributes:

* `information` is a collection of `RequirementInformation` pairs.
  Each pair is a requirement contributing to this criterion, and the
  candidate that provides the requirement.
* `incompatibilities` is a collection of all known not-to-work candidates
  to exclude from consideration.
* `candidates` is a collection containing all possible candidates deducted
  from the union of contributing requirements and known incompatibilities.
  It should never be empty, except when the criterion is an attribute of a
  raised `RequirementsConflicted` (in which case it is always empty).

.. note::
    This class is intended to be externally immutable. **Do not** mutate
    any of its attribute containers.
c                (    Xl         X l        X0l        g N)
candidatesinformationincompatibilities)selfr   r   r   s       \/var/www/html/env/lib/python3.13/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py__init__Criterion.__init__   s     %&!2    c                R    SR                  S U R                   5       5      nSU S3$ )Nz, c              3  <   #    U  H  u  pS U< SU< S3v   M     g7f)(z, via=)N ).0reqparents      r   	<genexpr>%Criterion.__repr__.<locals>.<genexpr>'   s%      !
<L[SawfVJa(<Ls   z
Criterion(r   )joinr   )r   requirementss     r   __repr__Criterion.__repr__&   s4    yy !
<@<L<L!
 
 L>++r   c                (    S U R                    5       $ )Nc              3  8   #    U  H  oR                   v   M     g 7fr   )requirementr   is     r   r!   -Criterion.iter_requirement.<locals>.<genexpr>-   s     8'7!'7   r   r   s    r   iter_requirementCriterion.iter_requirement,   s    8t'7'788r   c                (    S U R                    5       $ )Nc              3  8   #    U  H  oR                   v   M     g 7fr   )r    r*   s     r   r!   (Criterion.iter_parent.<locals>.<genexpr>0   s     3"2Q"2r-   r.   r/   s    r   iter_parentCriterion.iter_parent/   s    3$"2"233r   )r   r   r   N)r   zIterable[CT]r   z*Collection[RequirementInformation[RT, CT]]r   zCollection[CT]returnNone)r7   str)r7   zIterator[RT])r7   zIterator[CT | None])
__name__
__module____qualname____firstlineno____doc__r   r%   r0   r5   __static_attributes__r   r   r   r   r      sB    &3 3 @3 *	3
 
3,94r   r   N)
__future__r   typingr   r   r   r   structsr	   r
   r   r   r   r   r   <module>rC      s(    " : : 4 4(4B (4r   