§
    �’j,  ã                  ó€   — d dl mZ d dlmZmZmZ ddlmZmZm	Z	m
Z
mZ erddlmZ  G d„ dee	eef         ¦  «        ZdS )	é    )Úannotations)ÚTYPE_CHECKINGÚ
CollectionÚGenericé   )ÚCTÚKTÚRTÚRequirementInformationÚState)Ú	Criterionc                  óR   — e Zd ZdZdd„Zdd„Zdd
„Zdd„Zdd„Zd d„Z	d!d„Z
d"d„ZdS )#ÚBaseReporterz>Delegate class to provide progress reporting for the resolver.ÚreturnÚNonec                ó   — dS )z-Called before the resolution actually starts.N© )Úselfs    úNC:\Projects\DSCons\.venv\Lib\site-packages\pip\_vendor\resolvelib\reporters.pyÚstartingzBaseReporter.starting   ó   € € € ó    ÚindexÚintc                ó   — dS )zYCalled before each round of resolution starts.

        The index is zero-based.
        Nr   )r   r   s     r   Ústarting_roundzBaseReporter.starting_round   r   r   ÚstateúState[RT, CT, KT]c                ó   — dS )zÉCalled before each round of resolution ends.

        This is NOT called if the resolution ends at this round. Use `ending`
        if you want to report finalization. The index is zero-based.
        Nr   )r   r   r   s      r   Úending_roundzBaseReporter.ending_round   r   r   c                ó   — dS )z/Called before the resolution ends successfully.Nr   )r   r   s     r   ÚendingzBaseReporter.ending   r   r   Úrequirementr
   Úparentú	CT | Nonec                ó   — dS )a�  Called when adding a new requirement into the resolve criteria.

        :param requirement: The additional requirement to be applied to filter
            the available candidaites.
        :param parent: The candidate that requires ``requirement`` as a
            dependency, or None if ``requirement`` is one of the root
            requirements passed in from ``Resolver.resolve()``.
        Nr   )r   r#   r$   s      r   Úadding_requirementzBaseReporter.adding_requirement!   r   r   Úcausesú*Collection[RequirementInformation[RT, CT]]c                ó   — dS )z Called when starting to attempt requirement conflict resolution.

        :param causes: The information on the collision that caused the backtracking.
        Nr   )r   r(   s     r   Úresolving_conflictsz BaseReporter.resolving_conflicts+   r   r   Ú	criterionúCriterion[RT, CT]Ú	candidater   c                ó   — dS )z6Called when rejecting a candidate during backtracking.Nr   )r   r,   r.   s      r   Úrejecting_candidatez BaseReporter.rejecting_candidate3   r   r   c                ó   — dS )z9Called when adding a candidate to the potential solution.Nr   )r   r.   s     r   ÚpinningzBaseReporter.pinning6   r   r   N)r   r   )r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   )r#   r
   r$   r%   r   r   )r(   r)   r   r   )r,   r-   r.   r   r   r   )r.   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r    r"   r'   r+   r0   r2   r   r   r   r   r      sÄ   € € € € € ØHÐHð<ð <ð <ð <ðð ð ð ðð ð ð ð>ð >ð >ð >ðð ð ð ðð ð ð ðEð Eð Eð EðHð Hð Hð Hð Hð Hr   r   N)Ú
__future__r   Útypingr   r   r   Ústructsr   r	   r
   r   r   Ú	resolversr   r   r   r   r   ú<module>r;      sÂ   ðØ "Ð "Ð "Ð "Ð "Ð "à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5à >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >àð %Ø$Ð$Ð$Ð$Ð$Ð$ð,Hð ,Hð ,Hð ,Hð ,H�7˜2˜r 2˜:Ô&ñ ,Hô ,Hð ,Hð ,Hð ,Hr   