Your IP : 216.73.216.213
�
N�X� � �� � d dl mZmZmZ d dlZd dlZd dlmZmZm Z m
Z
d dlmZmZm
Z
mZmZ d dlmZ d dlmZ ddlmZmZ dd lmZmZmZ G d
� de� � Z eej ej z � � Z ed� � �! � � Z" ed
� � �! � � Z# ed� � �! � � Z$ ed� � �! � � Z% ed� � �! � � Z& ed� � �! � � Z' ed� � �! � � Z( ed� � Z)e ee)� � e z z Z* ee ee*� � z � � Z+ e+d� � Z,e+Z- ed� � d� � Z.e(e.z Z/e- ee&e-z � � z Z0 e" e
e0� � z e#z d� � Z1 eej2 ej3 ej4 z � � Z5 eej2 ej3 ej4 z � � Z6e5e6z Z7 ee7 ee&e7z � � z dd�� � d� � Z8 e
e$e8z e%z e8z � � Z9e9�: d� � � e e9� � d� � Z;e;�: d� � � e e� � � � d� � Z ej: d� � � e'Z<e<ez Z=e; e
e=� � z Z>e/ e
e=� � z Z?e, e
e1� � z e?e>z z Z@ee@z ez ZA G d � d!eB� � ZCdS )"� )�absolute_import�division�print_functionN)�stringStart� stringEnd�originalTextFor�ParseException)�
ZeroOrMore�Word�Optional�Regex�Combine)�Literal)�parse� )�MARKER_EXPR�Marker)�LegacySpecifier� Specifier�SpecifierSetc � � e Zd ZdZdS )�InvalidRequirementzJ
An invalid requirement was found, users should refer to PEP 508.
N)�__name__�
__module__�__qualname__�__doc__� � �I/opt/alt/python311/lib/python3.11/site-packages/packaging/requirements.pyr r s � � � � � �� � � r r �[�]�(�)�,�;�@z-_.�namez[^ ]+�url�extrasF)�
joinString�adjacent� _raw_specc � � |j pdS )N� )r, ��s�l�ts r �<lambda>r3 6 s
� �Q�[�->�B� r � specifierc � � |d S )Nr r r/ s r r3 r3 9 s
� �A�a�D� r �markerc �D � t | |j |j � � � S )N)r �_original_start�
_original_endr/ s r r3 r3 = s � �F�1�Q�.�q��>�?�@�@� r c �$ � e Zd ZdZd� Zd� Zd� ZdS )�Requirementz�Parse a requirement.
Parse a given requirement string into its parts, such as name, specifier,
URL, and extras. Raises InvalidRequirement on a badly-formed requirement
string.
c �j � t � |� � }nI# t $ r<}t d� ||j |j dz � � � � � �d }~ww xY w|j | _ |j rQt j |j � � }|j r|j
r|j s|j
st d� � �|j | _ nd | _ t |j r|j �
� � ng � � | _ t |j � � | _ |j r|j nd | _ d S )Nz+Invalid requirement, parse error at "{0!r}"� zInvalid URL given)�REQUIREMENT�parseStringr r �format�locr'