Your IP : 216.73.216.213


Current Path : /opt/alt/python311/lib/python3.11/site-packages/packaging/__pycache__/
Upload File :
Current File : //opt/alt/python311/lib/python3.11/site-packages/packaging/__pycache__/requirements.cpython-311.pyc

�

N�X�����ddlmZmZmZddlZddlZddlmZmZm	Z	m
Z
ddlmZmZm
Z
mZmZddlmZddlmZddlmZmZdd	lmZmZmZGd
�de��Zeejejz��Z ed���!��Z"ed
���!��Z#ed���!��Z$ed���!��Z%ed���!��Z&ed���!��Z'ed���!��Z(ed��Z)e ee)��e zzZ*ee ee*��z��Z+e+d��Z,e+Z-ed��d��Z.e(e.zZ/e-ee&e-z��zZ0e"e
e0��ze#zd��Z1eej2ej3ej4z��Z5eej2ej3ej4z��Z6e5e6zZ7ee7ee&e7z��zdd���d��Z8e
e$e8ze%ze8z��Z9e9�:d���e	e9��d��Z;e;�:d���e	e����d��Zej:d���e'Z<e<ezZ=e;e
e=��zZ>e/e
e=��zZ?e,e
e1��ze?e>zzZ@ee@zezZAGd �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��eZdZdZdS)�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.pyrrs���������rr�[�]�(�)�,�;�@z-_.�namez[^ ]+�url�extrasF)�
joinString�adjacent�	_raw_specc��|jpdS)N�)r,��s�l�ts   r�<lambda>r36s
��Q�[�->�B�r�	specifierc��|dS)Nrrr/s   rr3r39s
��A�a�D�r�markerc�D�t||j|j���S)N)r�_original_start�
_original_endr/s   rr3r3=s��F�1�Q�.�q��>�?�@�@�rc�$�eZdZdZd�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<}td�||j|jdz������d}~wwxYw|j|_|jrQtj|j��}|j	r|j
r|j	s|j
std���|j|_nd|_t|jr|j�
��ng��|_t|j��|_|jr|jnd|_dS)Nz+Invalid requirement, parse error at "{0!r}"�zInvalid URL given)�REQUIREMENT�parseStringr	r�format�locr'r(�urlparse�scheme�netloc�setr)�asListrr4r6)�self�requirement_string�req�e�
parsed_urls     r�__init__zRequirement.__init__Xs:��	:��)�)�*<�=�=�C�C���	:�	:�	:�$�?�F�F�&�q�u�Q�U�Q�Y��7�9�9�:�:�
:�����	:����
�H��	��7�	�!�*�3�7�3�3�J��%�
>�*�*;�
>�"�)�
>�2<�2C�
>�(�)<�=�=�=��w�D�H�H��D�H����C�#�*�+�+�-�-�-��D�D���%�c�m�4�4���$'�J�8�c�j�j�D����s��
A#�7A�A#c	��|jg}|jrM|�d�d�t|j��������|jr'|�t|j����|jr-|�d�|j����|j	r-|�d�|j	����d�|��S)Nz[{0}]r$z@ {0}z; {0}r.)
r'r)�appendr@�join�sortedr4�strr(r6)rG�partss  r�__str__zRequirement.__str__ms��������;�	H��L�L����������1D�1D�(E�(E�F�F�G�G�G��>�	.��L�L��T�^�,�,�-�-�-��8�	3��L�L������1�1�2�2�2��;�	6��L�L������4�4�5�5�5��w�w�u�~�~�rc�F�d�t|����S)Nz<Requirement({0!r})>)r@rQ)rGs r�__repr__zRequirement.__repr__~s��%�,�,�S��Y�Y�7�7�7rN)rrrrrLrSrUrrrr;r;KsK��������9�9�9�*���"8�8�8�8�8rr;)D�
__future__rrr�string�re�	pyparsingrrrr	r
rrr
rr�L�six.moves.urllibrrB�markersrr�
specifiersrrr�
ValueErrorr�
ascii_letters�digits�ALPHANUM�suppress�LBRACKET�RBRACKET�LPAREN�RPAREN�COMMA�	SEMICOLON�AT�PUNCTUATION�IDENTIFIER_END�
IDENTIFIER�NAME�EXTRA�URI�URL�EXTRAS_LIST�EXTRAS�
_regex_str�VERBOSE�
IGNORECASE�VERSION_PEP440�VERSION_LEGACY�VERSION_ONE�VERSION_MANY�
_VERSION_SPEC�setParseAction�VERSION_SPEC�MARKER_SEPERATOR�MARKER�VERSION_AND_MARKER�URL_AND_MARKER�NAMED_REQUIREMENTr>�objectr;rrr�<module>r�sI��A�@�@�@�@�@�@�@�@�@�
�
�
�
�	�	�	�	�M�M�M�M�M�M�M�M�M�M�M�M�@�@�@�@�@�@�@�@�@�@�@�@�@�@�"�"�"�"�"�"�.�.�.�.�.�.�(�(�(�(�(�(�(�(�@�@�@�@�@�@�@�@�@�@�����������4��$�v�}�4�5�5���1�S�6�6�?�?�����1�S�6�6�?�?����	
��3�����	�	��	
��3�����	�	��	��#��������
�A�c�F�F�O�O���	��Q�s�V�V�_�_�����d�5�k�k���Z�Z��4�4�x�?�@��
�W�X�
�
�>� :� :�:�
;�
;�
��z�&�������e�e�H�o�o�e����	�C�x���j�j����/�/�/��
5�(�X�X�k�*�*�
*�X�
5�x�	@�	@����y�+�R�Z�"�-�-G�H�H�����1�2�:��
�3M�N�N���~�-��7�w�w�{�Z�Z���0C�%D�%D�D�"%��7�7�7�7B�D�D����6�L�0�6�9�\�I�K�K�
�
���>�>�?�?�?�-���}�-�-�k�:�:�����0�0�1�1�1�,�o�o�k�k�m�m�,�,�X�6�6�����@�@������	�K�	'��!�H�H�V�$4�$4�4���x�x��'�'�'��	�8�8�F����~�0B�B�C���-�-�	�9��48�48�48�48�48�&�48�48�48�48�48r