�
L�g� � � � d dl mZmZmZmZ ddlmZ ddlm Z ddl
mZmZ ddl
mZ ddlmZ G d� d e� � Z G d
� d� � ZdS )
� )�Any�Iterator�Optional�Set� )�parse_requirement)�ParserSyntaxError)�Marker�_normalize_extra_values)�SpecifierSet)�canonicalize_namec � � e Zd ZdZdS )�InvalidRequirementzJ
An invalid requirement was found, users should refer to PEP 508.
N)�__name__�
__module__�__qualname__�__doc__� � �f/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/packaging/requirements.pyr r s � � � � � �� � � r r c �r � e Zd ZdZdeddfd�Zdedee fd�Zdefd�Zdefd �Z de
fd
�Zdede
fd�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.
�requirement_string�returnNc �� � t |� � }n/# t $ r"}t t |� � � � |�d }~ww xY w|j | _ |j pd | _ t
|j r|j ng � � | _ t |j � � | _ d | _
|j
�>t j t � � | _
t |j
� � | j
_ d S d S �N)�_parse_requirementr r �str�name�url�set�extrasr � specifier�markerr
�__new__r �_markers)�selfr �parsed�es r �__init__zRequirement.__init__! s� � � 4�'�(:�;�;�F�F�� � 4� 4� 4�$�S��V�V�,�,�!�3����� 4���� ��� �"(�*�"4���� #�V�]�$J�F�M�M�� K� K���'3�F�4D�'E�'E���(,����=�$� �.��0�0�D�K�#:�6�=�#I�#I�D�K� � � � %�$s � �
>�9�>r c # � K � |V � | j r/d� t | j � � � � }d|� d�V � | j rt | j � � V � | j rd| j � �V � | j rdV � | j rd| j � �V � d S d S )N�,�[�]z@ � z; )r"