Current File : //usr/lib/python3/dist-packages/wheel/vendored/packaging/__pycache__/_tokenizer.cpython-312.pyc
�

C�e����UddlZddlZddlmZddlmZmZmZmZm	Z	m
Z
ddlmZeGd�d��Z
Gd�d	e�Zid
d�dd
�dd�dd�dd�dd�dej dej"��dd�dd�dd�dd�d ej d!ej"��d"ej ej$ej&zej"ej(z��d#d$�d%d&�d'd(�d)d*�d+d,d-d.��Zd/ed0<Gd1�d2�Zy)3�N)�	dataclass)�Dict�Iterator�NoReturn�Optional�Tuple�Union�)�	Specifierc�,�eZdZUeed<eed<eed<y)�Token�name�text�positionN)�__name__�
__module__�__qualname__�str�__annotations__�int���E/usr/lib/python3/dist-packages/wheel/vendored/packaging/_tokenizer.pyr
r
	s��

�I�

�I��Mrr
c�J��eZdZdZdededeeefddf�fd�Zdefd�Z�xZ	S)	�ParserSyntaxErrorz7The provided source text could not be parsed correctly.�message�source�span�returnNc�L��||_||_||_t�|��y)N)rrr�super�__init__)�selfrrr�	__class__s    �rr"zParserSyntaxError.__init__s%�����	�������
���rc���d|jdzd|jd|jdz
zzdz}dj|j|j|g�S)N� r�~r
�^z
    )r�joinrr)r#�markers  r�__str__zParserSyntaxError.__str__ sV���t�y�y��|�#�c�T�Y�Y�q�\�D�I�I�a�L�-H�&I�I�C�O���}�}�d�l�l�D�K�K��@�A�Ar)
rrr�__doc__rrrr"r+�
__classcell__)r$s@rrrsG���A�����	�
�C��H�o��
�
�B��Brr�LEFT_PARENTHESISz\(�RIGHT_PARENTHESISz\)�LEFT_BRACKETz\[�
RIGHT_BRACKETz\]�	SEMICOLON�;�COMMA�,�
QUOTED_STRINGzk
            (
                ('[^']*')
                |
                ("[^"]*")
            )
        �OPz(===|==|~=|!=|<=|>=|<|>)�BOOLOPz\b(or|and)\b�INz\bin\b�NOTz\bnot\b�VARIABLEa�
            \b(
                python_version
                |python_full_version
                |os[._]name
                |sys[._]platform
                |platform_(release|system)
                |platform[._](version|machine|python_implementation)
                |python_implementation
                |implementation_(name|version)
                |extra
            )\b
        �	SPECIFIER�ATz\@�URLz[^ \t]+�
IDENTIFIERz\b[a-zA-Z0-9][a-zA-Z0-9._-]*\b�VERSION_PREFIX_TRAILz\.\*z\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*z[ \t]+�$)�VERSION_LOCAL_LABEL_TRAIL�WS�END�&Dict[str, Union[str, re.Pattern[str]]]�
DEFAULT_RULESc
���eZdZdZdeddddfd�Zdeddfd	�Zd
d�dededefd
�Zdedede	fd�Z
de	fd�Zddd�dedee
dee
defd�Zej"dededededfd��Zy)�	Tokenizerz�Context-sensitive token parsing.

    Provides methods to examine the input stream to check whether the next token
    matches.
    r�rulesrErNc��||_|j�D��cic]\}}|tj|���c}}|_d|_d|_ycc}}w)Nr)r�items�re�compilerI�
next_tokenr)r#rrIr�patterns     rr"zTokenizer.__init___sO�����;@�;�;�=�2
�*7�$��D�"�*�*�W�%�%�2
��
�,0�����
��	2
s� Arc�H�|j|�r|j�yy)z8Move beyond provided token name, if at current position.N)�check�read)r#rs  r�consumezTokenizer.consumels���:�:�d���I�I�K�rF)�peekrTc�,�|j�Jd|�d|j����||jvs
Jd|����|j|}|j|j|j�}|�y|st||d|j�|_y)z�Check whether the next token has the provided name.

        By default, if the check succeeds, the token *must* be read before
        another check. If `peek` is set to `True`, the token is not loaded and
        would need to be checked again.
        zCannot check for z, already have zUnknown token name: FrT)rNrI�matchrrr
)r#rrT�
expressionrVs     rrQzTokenizer.checkqs���
�O�O�#�	J�
�t�h�o�d�o�o�5H�I�	J�#��t�z�z�!�B�%9�$��#B�B�!��Z�Z��%�
�� � ����d�m�m�<���=���#�D�%��(�D�M�M�B�D�O�r�expectedc�l�|j|�s|jd|����|j�S)zsExpect a certain token name next, failing with a syntax error otherwise.

        The token is *not* read.
        z	Expected )rQ�raise_syntax_errorrR)r#rrXs   r�expectzTokenizer.expect�s4��
�z�z�$���)�)�I�h�Z�*@�A�A��y�y�{�rc��|j}|�J�|xjt|j�z
c_d|_|S)z%Consume the next token and return it.N)rNr�lenr)r#�tokens  rrRzTokenizer.read�s9������� � � ��
�
��U�Z�Z��(�
�����r)�
span_start�span_endrr_r`c�r�|�|jn||�|jn|f}t||j|���)z.Raise ParserSyntaxError at the given position.)rr)rrr)r#rr_r`rs     rrZzTokenizer.raise_syntax_error�sC��(�/�D�M�M�Z�%�-�D�M�M�8�
�� ���;�;��
�	
r�
open_token�close_token�aroundc#��K�|j|�r|j}|j�nd}d��|�y|j|�s|jd|�d|�d|��|��|j�y�w)NzExpected matching z for z, after )r_)rQrrRrZ)r#rbrcrd�
open_positions     r�enclosing_tokenszTokenizer.enclosing_tokens�sz�����:�:�j�!� �M�M�M��I�I�K� �M�
�� ���z�z�+�&��#�#�$�[�M��z�l�(�6�(�S�(�
$�
�
	
�	�	��s�A6A8)rrrr,rr"rS�boolrQr
r[rRrrrrZ�
contextlib�contextmanagerrrgrrrrHrHXs�������8�	�

���C��D��
05��#������*�3��S��U���e��%)�"&�
��
��S�M�	
�
�3�-�
�
�

�$������,/��<?��	�$����rrH)rirL�dataclassesr�typingrrrrrr	�
specifiersrr
�	ExceptionrrM�VERBOSE�_operator_regex_str�_version_regex_str�
IGNORECASErFrrHrrr�<module>rss����	�!�C�C�!������B�	�B�*0;���0;���0;��E�0;��U�	0;�
��0;��T�
0;��Z�R�Z�Z�	�	�
�
�	�0;�"	�
%�#0;�$
�o�%0;�&	�)�'0;�(
�:�)0;�*�
��
�
�	�	�
�
��+0;�J������%�%�	�(D�(D�D�
�
�
�R�]�]�"��K0;�R	�%�S0;�T
�:�U0;�V�3�W0;�X�G�Y0;�Z"D�
��_0;�
�7�0�fh�hr