HOME


Mini Shell 1.0
DIR: /usr/lib/python3/dist-packages/pygments/lexers/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/data.cpython-312.pyc
�

|�e�i����dZddlmZmZmZmZmZddlmZm	Z	m
Z
mZmZm
Z
mZmZmZgd�ZGd�de�ZGd�de�ZGd	�d
e�ZGd�de�ZGd
�de�Zy)z�
    pygments.lexers.data
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for data file format.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�)�Lexer�ExtendedRegexLexer�LexerContext�include�bygroups)	�Comment�Error�Keyword�Literal�Name�Number�Punctuation�String�
Whitespace)�	YamlLexer�	JsonLexer�JsonBareObjectLexer�JsonLdLexerc�"��eZdZdZ�fd�Z�xZS)�YamlLexerContextz'Indentation context for the YAML lexer.c�\��t�|�|i|��g|_d|_d|_d|_y�N���r)�super�__init__�indent_stack�indent�next_indent�block_scalar_indent)�self�args�kwds�	__class__s   ��6/usr/lib/python3/dist-packages/pygments/lexers/data.pyrzYamlLexerContext.__init__s4���
���$�'�$�'����������#'�� �)�__name__�
__module__�__qualname__�__doc__r�
__classcell__�r#s@r$rrs���1�(�(r%rc
���eZdZdZdZdZdgZddgZdgZd�Z	d	�Z
dbd
�Zdbd�Zd�Z
d
�Zd�Zd�Ziddefdefdej&fde
ej*�dfde
ej*�dfde
ej,�dfdeed��dfg�ddefdej&fded fg�dd!eee�dfg�dd"eeej4eej4�dfg�d#d$e	e�d fd%ee�fd&eej8�fd'ee�d(fg�dd)e	e�d(fd*efd+eej*eed�,��fed-�ed.�ed/�d0e	ej<�d1fg�d-d2ej4fd3ej4fd4ej>fd5ej<fg�d.d6eej8d�,�fd7ej8d8fg�d/d9ej8d:fd;ej8d<fd=e d>fd?e d@fg�dAd*efdefdej&fdBej8fed-�ed/�dCe	ej<�dDfg�d:edA�dEej8d(fg�d<dFeej*e�fedA�dGej8d(fg�dHdefdIeeejB�fdJee�fdKejBfg�dLdMe
ej8�dfdNe
ej8�dfg�dOdPefdQefdefd*ej<fg�d>edO�dRe jDfdSe fd=e d(fg�d@edO�dTe fdUe jDfdVe fdWe d(fg�dIefdefdXe	ej,�dYfdJee�d(fgdZe	e�d(fd[ed(fdQefded\fd*e#jHjJfd]e#jHjJfgd^e	e�d(fd[ed(fdPefdQefdefd*ej<fd_ej<fgd`��Z&dc�fda�	Z'�xZ(S)drzg
    Lexer for YAML, a human-friendly data serialization
    language.

    .. versionadded:: 0.11
    �YAMLzhttp://yaml.org/�yamlz*.yamlz*.ymlztext/x-yamlc����fd�}|S)zDo not produce empty tokens.c3��K�|j�}|sy|j��|f��|j�|_y�w�N)�group�start�end�pos��lexer�match�context�text�token_classs    �r$�callbackz%YamlLexer.something.<locals>.callback.s8������;�;�=�D����+�+�-��d�2�2��)�)�+�G�K�s�?A��r;r<s` r$�	somethingzYamlLexer.something,s���	&��r%c����fd�}|S)zReset the indentation levels.c3��K�|j�}g|_d|_d|_d|_|j��|f��|j
�|_y�wr)r2rrrrr3r4r5r6s    �r$r<z(YamlLexer.reset_indent.<locals>.callback8sQ������;�;�=�D�#%�G� ��G�N�"#�G��*.�G�'��+�+�-��d�2�2��)�)�+�G�K�s�AAr=r>s` r$�reset_indentzYamlLexer.reset_indent6s���	&��r%c������fd�}|S)z"Save a possible indentation level.c3��K�|j�}d}�r�t|�|_|j|jkr�|j|jkr9|jj�|_|j|jkr�9|j|jkDr=||jd}|d|j}n|xjt|�z
c_|r|j
��|f��|r+|j
�t|�z�j|f��|j�|_	y�w)N�)
r2�lenrrr�popr3r	r4r5)r7r8r9r:�extrar3r;s     ��r$r<z'YamlLexer.save_indent.<locals>.callbackDs������;�;�=�D��E��&)�$�i��#��&�&����7�!�-�-����>�)0�)=�)=�)A�)A�)C���"�-�-����>��*�*�W�^�^�;� $�W�^�^�_� 5��#�O�W�^�^�4���#�#�s�4�y�0�#���k�k�m�[�$�6�6���k�k�m�C��I�-�{�/@�/@�%�G�G��)�)�+�G�K�s
�BE�B0Er=)r;r3r<s`` r$�save_indentzYamlLexer.save_indentBs���	&�$�r%c������fd�}|S)z+Set the previously saved indentation level.c3�`�K�|j�}|j|jkr6|jj	|j�|j|_�s|xjt|�z
c_|j
��|f��|j�|_y�wr1)	r2rrr�appendrFr3r4r5)r7r8r9r:�implicitr;s    ��r$r<z&YamlLexer.set_indent.<locals>.callbackZs�������;�;�=�D��~�~�� 3� 3�3��$�$�+�+�G�N�N�;�!(�!4�!4�����#�#�s�4�y�0�#��+�+�-��d�2�2��)�)�+�G�K�s�B+B.r=)r;rMr<s`` r$�
set_indentzYamlLexer.set_indentXs���	&��r%c����fd�}|S)z5Set an explicit indentation level for a block scalar.c3��K�|j�}d|_|sy|jd�}|r+t|jd�}t	|�}||z|_|r+|j��|f��|j
�|_yy�w)N�r)r2r�maxr�intr3r4r5)r7r8r9r:�	increment�current_indentr;s      �r$r<z3YamlLexer.set_block_scalar_indent.<locals>.callbackgs~������;�;�=�D�*.�G�'������A��I��!$�W�^�^�Q�!7���	�N�	�.<�y�.H��+���k�k�m�[�$�6�6�#�i�i�k����s�BB
r=r>s` r$�set_block_scalar_indentz!YamlLexer.set_block_scalar_indentes���	*��r%c������fd�}|S)z(Process an empty line in a block scalar.c3�z�K�|j�}|j�t|�|jkr|rk|j��|f��nU|d|j}||jd}|j��|f��|j�|jz�|f��|j	�|_y�wr1)r2rrFr3r4r5)r7r8r9r:�indentation�content�content_token_class�indent_token_classs      ��r$r<z9YamlLexer.parse_block_scalar_empty_line.<locals>.callbackxs�������;�;�=�D��+�+�3���I��!<�!<�<���+�+�-�);�T�A�A�"�#?�G�$?�$?�@���w�:�:�;�<���k�k�m�%7��D�D��{�{�}�W�%@�%@�@�*�G�5�5��)�)�+�G�K�s�B8B;r=)r\r[r<s`` r$�parse_block_scalar_empty_linez'YamlLexer.parse_block_scalar_empty_linevs���	&��r%c����fd�}|S)z-Process indentation spaces in a block scalar.c3�
�K�|j�}|j�ht|�t|jd�kr5|j
j
�|j
j
�yt|�|_nMt|�|jkr5|j
j
�|j
j
�y|r+|j��|f��|j�|_	yy�w�Nr)
r2rrFrRr�stackrGr3r4r5r6s    �r$r<z5YamlLexer.parse_block_scalar_indent.<locals>.callback�s�������;�;�=�D��*�*�2��t�9��G�N�N�A� 6�6��M�M�%�%�'��M�M�%�%�'��.1�$�i��+��t�9�w�:�:�:��M�M�%�%�'��M�M�%�%�'����k�k�m�[�$�6�6�#�i�i�k����s�DDr=r>s` r$�parse_block_scalar_indentz#YamlLexer.parse_block_scalar_indent�s���	*� �r%c����fd�}|S)z-Process indentation spaces in a plain scalar.c3�"�K�|j�}t|�|jkr5|jj	�|jj	�y|r+|j��|f��|j
�|_yy�wr1)r2rFrrarGr3r4r5r6s    �r$r<z5YamlLexer.parse_plain_scalar_indent.<locals>.callback�sm������;�;�=�D��4�y�G�N�N�*��
�
�!�!�#��
�
�!�!�#����k�k�m�[�$�6�6�#�i�i�k����s�BBr=r>s` r$�parse_plain_scalar_indentz#YamlLexer.parse_plain_scalar_indent�s���	*��r%�rootz[ ]+(?=#|$)z\n+z#[^\n]*z^%YAML(?=[ ]|$)zyaml-directivez^%TAG(?=[ ]|$)z
tag-directivez^(?:---|\.\.\.)(?=[ ]|$)�
block-linez[ ]*(?!\s|$)T)r3)rgrYzignored-linez\nz#pop:2z([ ]+)([0-9]+\.[0-9]+)z;([ ]+)(!|![\w-]*!)([ ]+)(!|!?[\w;/?:@&=+$,.!~*\'()\[\]%-]+)rYz[ ]*$z[ ]+(?=[?:-](?:[ ]|$))z[?:-](?=[ ]|$)z[ ]*z#popz[ ]*(?=#|$)z[ ]+z([^#,?\[\]{}"'\n]+)(:)(?=[ ]|$))rM�descriptorszblock-nodesz
flow-nodesz'(?=[^\s?:,\[\]{}#&*!|>\'"%@`-]|[?:-]\S)�plain-scalar-in-block-contextz!!<[\w#;/?:@&=+$,.!~*\'()\[\]%-]+>z+!(?:[\w-]+!)?[\w#;/?:@&=+$,.!~*\'()\[\]%-]*z&[\w-]+z\*[\w-]+z
:(?=[ ]|$)z[|>])�block-scalar-content�block-scalar-headerz\[z
flow-sequencez\{zflow-mappingz\'zsingle-quoted-scalarz\"zdouble-quoted-scalarzflow-collectionz[?:,]z(?=[^\s?:,\[\]{}#&*!|>\'"%@`])�plain-scalar-in-flow-contextz\]z([^,:?\[\]{}"'\n]+)(:)(?=[ ]|$)z\}rjz^[ ]+$z^[ ]*z[\S\t ]+rkz([1-9])?[+-]?(?=[ ]|$)z[+-]?([1-9])?(?=[ ]|$)zquoted-scalar-whitespacesz^[ ]+z[ ]+$z\'\'z[^\s\']+z\\[0abt\tn\nvfre "\\N_LP]z5\\(?:x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})z	[^\s"\\]+�"z^(?=---|\.\.\.)z#pop:3z[ ]*(?=:[ ]|:$)z	[ ]+(?=#)�&plain-scalar-in-block-context-new-linez(?::(?!\s)|[^\s:])+z[ ]*(?=[,:?\[\]{}])z[^\s,:?\[\]{}]+)rnrirlc�@��|�t|d�}t�|�	||�Sr`)rr�get_tokens_unprocessed)r r:r9r#s   �r$rpz YamlLexer.get_tokens_unprocessed�s&����?�&�t�Q�/�G��w�-�d�G�<�<r%)F)NN))r&r'r(r)�name�url�aliases�	filenames�	mimetypesr?rBrIrNrVr]rbrerr�Singler�Tag�	Namespacerr
r
�Typer�	Indicatorr�Variable�Labelr�Constant�Escaper�Scalar�Plain�tokensrpr*r+s@r$rrs�����D�
�C��h�G��7�#�I���I��
��,��"�"�(�E��
�Z�(�
�Z� �
����(�
��d�h�h�!7�9I�J�
��T�X�X� 6��H�
(�,�t�~�~�*F�
�
��k�*�D�A�
*�
,�
�E�,	�
�Z�(�
����(�
�J��)�

�-E�@	�
&�
�j�&�
)�>�
;�
�AE�N	�:�
�j�'�,�,�
�G�L�L�
I�
�
�
�OE�`	�
�y��,�h�7�
&��J�(?�@�
�
�;�+@�+@� A�B�
�k�*�-�v�6�	
�aE�x	�
�Y�z�2�F�;�
�j�!�
3�
�d�h�h�
�;�� F�
G�
I�
�M�"��M�"��L�!�
7�
�t�}�}�
%�
,�
.�
�yE�b	�
1�7�<�<�@�/�07���
>�����$�
�$�-�-�(�

�cE�|	�
�J�{�'<�'<�t�L�M�
�k�+�+�
<�
>�	
�}E�N	�
�K�)�)�?�;�
�K�)�)�>�:�
�F�2�3�
�F�2�3�	
�OE�f	�
�j�!�
�Z� �
����(�
�{�,�,�-��M�"��L�!�
.�
�t�}�}�
%�
+�
-�
�gE�N	��%�&�
�K�)�)�6�2�	
�OE�^	�
3�
�d�h�h��
,�
.�
�%�&�
�K�)�)�6�2�
�_E�t	�
�J��
�
*�:�t�}�}�
E�
G��0��<�=�
�$�-�-�(�
!
�uE�N	�
&�
$�[�%:�%:�
;�
�
�'�
$�[�%:�%:�
;�
�
�
	 
�OE�f	$�
�z�"�
�z�"�
�Z� �
�d�m�m�$�&
�gE�|	��/�0�
�f�m�m�$�
�&�!�
�F�F�#�	!
�}E�T	��/�0�
)�6�2�
E�
�]�]�
��6�"�
�6�6�"�!
�UE�v�
�#�
�Z� �
��4�>�>�!:�H�E�
�0��<�f�E�	3
� ��:�!6��?�
�:�v�.�
�z�"�
�Z�!I�J�
�g�n�n�*�*�+�
#�W�^�^�%9�%9�:�
*
�$$�Y�z�%:�F�C�
�:�v�.�
�z�"�
�z�"�
�Z� �
�d�m�m�$�
����/�)
�kE�F�N=�=r%rc��eZdZdZdZdZddgZgd�Zgd�Ze	d�Z
e	d	�Ze	d
�Ze	d�Z
e	d�Zhd
�Zd�Zy)raC
    For JSON data structures.

    Javascript-style comments are supported (like ``/* */`` and ``//``),
    though comments are not part of the JSON specification.
    This allows users to highlight JSON as it is used in the wild.

    No validation is performed on the input JSON document.

    .. versionadded:: 1.5
    �JSONzhttps://www.json.org�jsonzjson-object)z*.jsonz*.jsonlz*.ndjsonzPipfile.lock)zapplication/jsonzapplication/json-objectzapplication/x-ndjsonzapplication/jsonlzapplication/json-seqz-0123456789z.eE+�
truefalsenull�0123456789abcdefABCDEFz{}[],>�	�
�
� c	#��K�d}d}d}d}d}d}d}d}	d}
d}d}d}
d}g}t|�D�]\\}}|rh|r||jvr
|dz}|sPd}nMd}d}nH|r|dk(rd}n>d}n;|dk(rd}n3|dk(r.|j|tj|||dzf�d}d}d}�q|r?||j
vr��|r|j|t|||f�n|t|||f��d}�n�|r+||jvr��|tj|||f��d}�nf|rZ||jvr��||jvrd}��|r|tj|||f��n|tj|||f��d}d}�n
|	r!||jvr��M|t |||f��d}	n�|
rJ|d	k7r��g|r&|j|t"j$|||f�n|t"j$|||f��d}
n�|r[|d
k(rd}
nQ|
rOd}
|dk(rH|r)|j|t"j&|||dzf�n|t"j&|||dzf��d}��|r<d}|dk(rd}
��|d
k(rd}��|Ed{���|j)�|t*|||f��|}|dk(rd}��P||j
vrd}��b|d
vr|Ed{���|j)�d}���||jvr|Ed{���|j)�d}���|dk(rN|D]5\}}}|tjur|t,j.|f���/|||f���7|j)�d}	��||jvr|Ed{���|j)�d}	��/|dk(rd}��8|Ed{���|j)�|t*|f����_|Ed{���|r|t*||df��y|r|tj||df��y|r|tj||df��y|r|tj||df��y|r|t||df��y|	r|t ||df��y|
r|t"j$||df��y|r|t*||df��y|r|t*||df��yy7��
7���7���7��7��7�ԭw)zParse JSON data.FrrQ�u��\Trmr��*�/N>�f�n�t�:)�	enumerate�hexadecimalsrLr�Double�whitespacesr�	constantsr
r}�integers�floatsr
�Float�Integer�punctuationsrrrv�	Multiline�clearr	rrw)r r:�	in_string�	in_escape�in_unicode_escape�
in_whitespace�in_constant�	in_number�in_float�in_punctuation�in_comment_single�in_comment_multiline�expecting_second_comment_opener�expecting_second_comment_closerr3�queue�stop�	character�_start�_token�_texts                     r$rpz JsonLexer.get_tokens_unprocessed�sK�����	��	����
����	�����!��$��*/�'�*/�'���(��(���j	.�O�D�)��$� �D�$5�$5�5�)�Q�.�)�0�(-�I�,-�)�$)�	�� �C�'�,-�)�$)�	��$�&� $�I��#�%��L�L�%�����U�4�!�8�8L�!M�N� %�I� %�I�()�%����� 0� 0�0����L�L�%��T�%��5E�!F�G���T�%��-=�=�=� %�
������.���W�-�-�t�E�$�/?�?�?�#�����
�
�-���$�+�+�-�#�H�������t�E�$�/?�?�?������e�D�1A�A�A�!�	� �� ��� 1� 1�1���[�$�u�T�*:�:�:�!&��#���$����L�L�%�����e�D�9I�!J�K������e�D�1A�A�A�$)�!�&���#�6:�3�4�6;�3� �C�'� �!�L�L�%��1B�1B�D��t�VW�x�DX�)Y�Z�"'��):�):�D��t�a�x�<P�"P�P�/4�,��0�27�/���#�(,�%���#�%�+/�(��!� � ����
��U�D��t�$4�4�4��E��C�� �	��d�.�.�.� $�
��o�-� � � ����
�"���d�m�m�+� � � ����
� �	��c�!�-2�4�)�F�F�E�����.�$�d�h�h��5�5�$�f�e�3�3�4����
�!%���d�/�/�/� � � ����
�!%���c�!�26�/�!� � ����
��U�I�-�-�Uj	.�Z�������U�V��,�,�
�����t�E�F�|�3�3�
������e�f��5�5�
���)�)�4���<�7�7�
���T�%�&�\�1�1�
���d�5�6�l�2�2�
������e�f��5�5�
!����U�V��,�,�
,����U�V��,�,�-�g!�� !��!��4!��!��	�so�I
Q&�Q�
AQ&�Q�+Q&�Q�A>Q&�Q�&Q&�'Q"�('Q&�Q$�CQ&�Q&�Q&�Q&�"Q&�$Q&N)r&r'r(r)rqrrrsrtru�setr�r�r�r�r�r�rpr=r%r$rr�sh��
��D�
 �C��}�%�G�A�I�E�I��=�!�H�
��[�F��O�$�I��/�0�L��w�<�L�:�K�e-r%rc� �eZdZdZdZgZgZgZy)rz�
    For JSON data structures (with missing object curly braces).

    .. versionadded:: 2.2

    .. deprecated:: 2.8.0

       Behaves the same as `JsonLexer` now.
    �JSONBareObjectN)r&r'r(r)rqrsrtrur=r%r$rr�s����D��G��I��Ir%rc�t��eZdZdZdZdZddgZdgZdgZdD��chc]}d	|z��	c}}Z	�fd
�Z
�xZScc}}w)rz=
    For JSON-LD linked data.

    .. versionadded:: 2.0
    zJSON-LDzhttps://json-ld.org/�jsonldzjson-ldz*.jsonldzapplication/ld+json)�base�	containerr9�	direction�graph�id�import�included�indexr��language�list�nest�none�prefix�	propagate�	protected�reverser��type�value�version�vocabz"@%s"c#��K�t�|�|�D]C\}}}|tjur$||jvr|tj
|f���=|||f���Ey�wr1)rrprrw�json_ld_keywords�	Decorator)r r:r3�tokenr�r#s     �r$rpz"JsonLdLexer.get_tokens_unprocessed�s^�����#(�7�#A�$�#G�	*��E�5�%����� �U�d�.C�.C�%C��T�^�^�U�2�2��U�E�)�)�		*�s�AA)r&r'r(r)rqrrrsrtrur�rpr*)�.0�keywordr#s00@r$rr�s\�����D�
 �C���#�G���I�&�'�I�
���	�'����:*�*��;s�4rN)r)�pygments.lexerrrrrr�pygments.tokenrr	r
rrr
rrr�__all__rrrrrr=r%r$�<module>r�sn�����$�$�$�K��(�|�(�T=�"�T=�nG-��G-�T�)��"/*�)�/*r%