HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/jmespath/__pycache__/lexer.cpython-310.pyc
o

�N�g~!�@s@ddlZddlZddlmZddlmZmZGdd�de�ZdS)�N)�loads)�
LexerError�EmptyExpressionErrorc@s�eZdZeejd�Zeejejd�Zeej�Z	ed�Z
ddddddd	d
ddd
�
Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd S)!�Lexer�_z 	

�dotZstarZrbracketZcomma�colon�currentZlparenZrparenZlbrace�rbrace)
�.�*�]�,�:�@�(�)�{�}ccsH�|�|�|jdu�r�|j|jvr)|j|j|j|j|jdd�V|���nj|j|jvrV|j}|j}|��|jvrH||j7}|��|jvs<d|||t|�d�V�n=|j|jvrb|���n1|jdkr�|j}|��}|dkr�|��dd||dd�V�n|d	kr�|��d
d||dd�Vn�dd||dd�Vn�|jd
kr�|�	�Vn�|jdkr�|�
ddd�Vn�|jdkr�|�
ddd�Vn�|jdkr�|��Vn�|j|jvr�|j}|�
�}dt|�||t|�d�Vn�|jdk�r|j}|�
�}t|�dk�rdt|�||t|�d�Vn�t||d|d��|jdk�r&|��Vnm|jdk�r5|�
ddd�Vn^|jdk�rD|�
ddd �VnO|jd!k�rS|�
dd"d#�Vn@|jdk�r�|��dk�rqd$d%|jd|jd�V|��n"|jdu�r{|j}n|jd}t|dd&d��t|j|jd'|jd��|jdusd(d)|j|jd�VdS)*N���type�value�start�endZunquoted_identifier�[r
�flattenz[]��?�filterz[?Zlbracket�'�|�or�pipe�&�andZexpref�`�number�-zUnknown token '%s'�Zlexer_positionZlexer_value�message�"�<�=Zlte�lt�>Zgte�gt�!�ne�not�eqz==zUnknown token '='zUnknown token %s�eof�)�_initialize_for_expression�_current�
SIMPLE_TOKENS�	_position�_next�START_IDENTIFIER�VALID_IDENTIFIER�len�
WHITESPACE�_consume_raw_string_literal�_match_or_else�_consume_literal�VALID_NUMBER�_consume_number�intr�_consume_quoted_identifier�_length)�self�
expressionr�buff�	next_char�position�rM�B/opt/saltstack/salt/lib/python3.10/site-packages/jmespath/lexer.py�tokenizes��

�
��
�
�
�




�
���

��
�R�zLexer.tokenizecCs6|j}|j}|��|jvr||j7}|��|jvs
|S)N)r:r8r;rC)rHrrJrMrMrNrDqs
�zLexer._consume_numbercCs@|st��d|_||_t|j�|_|j|j|_t|j�|_dS)Nr)rr:�_expression�list�_charsr8r>rG)rHrIrMrMrNr7xsz Lexer._initialize_for_expressioncCs>|j|jdkrd|_|jS|jd7_|j|j|_|jS)Nr)r:rGr8rR)rHrMrMrNr;�s�zLexer._nextcCs�|j}d}|��|j|kr<|jdkr|d7}|��|jdur.t||j|d�d|d��||j7}|��|j|ks|��|S)Nr6�\zUnclosed %s delimiterr))r:r;r8rrP)rH�	delimiterrrJrMrMrN�_consume_until�s"


�

�zLexer._consume_untilcCs�|j}|�d��dd�}zt|�}Wn/tyAztd|���}t�dt�Wnty>t	||j
|d�d|d��wYnw|j|}d|||d�S)	Nr&z\`z"%s"z deprecated string literal syntaxzBad token %sr)�literalr)r:rU�replacer�
ValueError�lstrip�warnings�warn�PendingDeprecationWarningrrP)rHr�lexemeZparsed_json�	token_lenrMrMrNrB�s,�����
�zLexer._consume_literalc
Csp|j}d|�d�d}z|j|}dt|�||d�WSty7}zt|��d�d}t|||d��d}~ww)Nr+Zquoted_identifierrrrr))r:rUrrX�str�splitr)rHrr]r^�eZ
error_messagerMrMrNrF�s
����z Lexer._consume_quoted_identifiercCs0|j}|�d��dd�}|j|}d|||d�S)Nr z\'rVr)r:rUrW)rHrr]r^rMrMrNr@�s
�z!Lexer._consume_raw_string_literalcCsH|j}|j}|��}||kr|��|||||dd�S||||d�S)Nrr)r:r8r;)rH�expectedZ
match_typeZ	else_typerr	rKrMrMrNrA�s��zLexer._match_or_elseN)�__name__�
__module__�__qualname__�set�string�
ascii_lettersr<�digitsr=rCr?r9rOrDr7r;rUrBrFr@rArMrMrMrNrs2
�
W	
r)	rgrZ�jsonrZjmespath.exceptionsrr�objectrrMrMrMrN�<module>s