/usr/local/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__
a ���h� � @ s� d dl mZ d dlmZ d dlmZ d dlmZmZ d dl m Z d dlmZ ddl mZmZmZmZ G d d � d e�ZG dd� de�ZG d d� de�ZG dd� de�ZG dd� de�ZdS )� )�annotations)�Any)�SpecifierSet)�NormalizedName�canonicalize_name)�install_req_drop_extras)�InstallRequirement� )� Candidate�CandidateLookup�Requirement�format_namec @ s� e Zd Zddd�dd�Zdd�dd �Zdd�d d�Zdd�d d�Zddd�dd�Zedd�dd��Z edd�dd��Z dd�dd�Zdd�dd�Zddd�dd�Z d S )!�ExplicitRequirementr �None�� candidate�returnc C s || _ d S �N�r ��selfr � r �Z/usr/local/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/requirements.py�__init__ s zExplicitRequirement.__init__�str�r c C s t | j�S r )r r �r r r r �__str__ s zExplicitRequirement.__str__c C s | j j� d| j�d�S �N�(�))� __class__�__name__r r r r r �__repr__ s zExplicitRequirement.__repr__�intc C s t | j�S r )�hashr r r r r �__hash__ s zExplicitRequirement.__hash__r �bool��otherr c C s t |t�sdS | j|jkS �NF)� isinstancer r �r r) r r r �__eq__ s zExplicitRequirement.__eq__r c C s | j jS r )r �project_namer r r r r. s z ExplicitRequirement.project_namec C s | j jS r )r �namer r r r r/ % s zExplicitRequirement.namec C s | j �� S r )r �format_for_errorr r r r r0 * s z$ExplicitRequirement.format_for_errorr c C s | j d fS r r r r r r �get_candidate_lookup- s z(ExplicitRequirement.get_candidate_lookupc C s || j kS r r r r r r �is_satisfied_by0 s z#ExplicitRequirement.is_satisfied_byN)r"