HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/__pycache__/erlang.cpython-311.pyc
�

�;f�J����dZddlZddlmZmZmZmZmZmZm	Z	m
Z
ddlmZm
Z
mZmZmZmZmZmZmZgd�ZGd�de��ZGd�d	e��Zd
�Zdd�ZGd
�de��ZGd�de��ZdS)z�
    pygments.lexers.erlang
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Erlang.

    :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�Lexer�
RegexLexer�bygroups�words�
do_insertions�include�default�line_re)	�Comment�Operator�Keyword�Name�String�Number�Punctuation�Generic�
Whitespace)�ErlangLexer�ErlangShellLexer�ElixirConsoleLexer�ElixirLexerc��eZdZdZdZdZdgZgd�ZdgZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdezdzezdzezdzezdzZdezdzezdzZdZdefdeee��fee
d���efeed���ejfee
d���ejfde dfeefde!dfd ej"fd!ej"fd"ezd#zeej#e ��fd$ezd%zeej$ee ��fd&ezd'ze%j&fd(e%j&fd)e%j'fd*e feej(feefd+ezej)fd,ezd-ze!j*fd.ezd/zezd0zej"fd1ej+fd2e d3fgee!j,fde!d4fd5e!j-fd6e!fd7e!fgd8ezdzeej.ee ej)��d4fd9ezdzeej.ee ej"��d4feej.d4fge/d:��d;e d<fd=e d<fd>e d4fge/d:��d?e d4fd@e d4fgdA�Z0dBS)Crz9
    For the Erlang functional programming language.
    �Erlang�https://www.erlang.org/�erlang)z*.erlz*.hrlz*.esz	*.escriptz
text/x-erlangz0.9)�after�begin�case�catch�cond�end�fun�if�let�of�query�receive�try�when){�abs�append_element�apply�atom_to_list�binary_to_list�bitstring_to_list�binary_to_term�bit_size�bump_reductions�	byte_size�cancel_timer�check_process_code�
delete_module�	demonitor�disconnect_node�display�element�erase�exit�float�
float_to_list�fun_info�fun_to_list�function_exported�garbage_collect�get�get_keys�group_leader�hash�hd�integer_to_list�iolist_to_binary�iolist_size�is_atom�	is_binary�is_bitstring�
is_boolean�
is_builtin�is_float�is_function�
is_integer�is_list�	is_number�is_pid�is_port�is_process_alive�	is_record�is_reference�is_tuple�length�link�list_to_atom�list_to_binary�list_to_bitstring�list_to_existing_atom�
list_to_float�list_to_integer�list_to_pid�
list_to_tuple�load_module�localtime_to_universaltime�
make_tuple�md5�	md5_final�
md5_update�memory�
module_loaded�monitor�monitor_node�node�nodes�	open_port�phash�phash2�pid_to_list�
port_close�port_command�port_connect�port_control�	port_call�	port_info�port_to_list�process_display�process_flag�process_info�purge_module�put�
read_timer�ref_to_list�register�resume_process�round�send�
send_after�send_nosuspend�
set_cookie�
setelement�size�spawn�
spawn_link�
spawn_monitor�	spawn_opt�split_binary�start_timer�
statistics�suspend_process�system_flag�system_info�system_monitor�system_profile�term_to_binary�tl�trace�trace_delivered�
trace_info�
trace_pattern�trunc�
tuple_size�
tuple_to_list�universaltime_to_localtime�unlink�
unregister�whereisz1(\+\+?|--?|\*|/|<|>|/=|=:=|=/=|=<|>=|==?|<-|!|\?))�and�andalso�band�bnot�bor�bsl�bsr�bxor�div�not�or�orelse�rem�xorz(?:[a-z]\w*|'[^\n']*[^\\]')z
(?:[A-Z_]\w*)z[bdefnrstv\'"\\]z[0-7][0-7]?[0-7]?z%(?:x[0-9a-fA-F]{2}|x\{[0-9a-fA-F]+\})z
\^[a-zA-Z]z(?:\\(?:�|z))�(?:�)z(?:[2-9]|[12][0-9]|3[0-6])�\s+z	(%.*)(\n)z\b)�suffixz^-�	directive�"�string�<<�>>�(z)(:)z
(?:^|(?<=:))(z
)(\s*)(\()z[+-]?z
#[0-9a-zA-Z]+z[+-]?\d+z[+-]?\d+.\d+z[]\[:_@\".{}()|;,]z\?z\$(?:z|\\[ %]|[^\\])�#z(:?\.z)?z\A#!.+\n�#\{�map_key�#popz~[0-9.*]*[~#+BPWXb-ginpswx]z[^"\\~]+�~z(define)(\s*)(\()(z(record)(\s*)(\()(�root�=>�map_valz:=�\}�,�(?=\}))r�r�r�r�r�N)1�__name__�
__module__�__qualname__�__doc__�name�url�aliases�	filenames�	mimetypes�
version_added�keywords�builtins�	operators�word_operators�atom_re�variable_re�esc_char_re�esc_octal_re�
esc_hex_re�esc_ctrl_re�	escape_re�macro_re�base_rerrrrr
r�Builtinr�Wordrr�Label�	Namespace�Functionr�Integer�Float�Variable�Constant�Char�Hashbang�Escape�Interpol�Entityr�tokens���I/opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/erlang.pyrrsJ���������D�
#�C��j�G�7�7�7�I� �!�I��M��H�
�H�<E�I��N�
-�G�"�K�%�K�'�L�9�J��K��K�'��,�\�9�$�>�z�I�$�N�{�Z�[`�`�I��k�!�$�&�w�.�t�3�H�+�G��Z� �
�8�8�G�Z�8�8�9�
�U�8�E�
*�
*�
*�G�4�
�U�8�E�
*�
*�
*�D�L�9�
�U�>�%�
0�
0�
0�(�-�@�
�K��-�
��!�
�6�8�$�
�D�J��
�D�J��
�7�]�V�
#�X�X�d�n�k�%J�%J�K�
�w�
&��
6�
�X�d�m�Z��
=�
=�
?�
��
�"2�
2�F�N�C�
�&�.�)�
�f�l�+�
"�K�0�
�$�-�(�
�d�O�
�8�^�T�]�+�
�i�
� 1�
1�6�;�?�
�'�\�(�
"�7�
*�5�
0�$�*�=��'�*�+��[�)�,�;
�@��
�&�
�6�6�"�
+�V�_�=�
�&�!�
�6�N�
�#�8�
+�D�
0�
�X�d�k�:�{�D�M�
J�
J�F�
T�
"�8�
+�D�
0�
�X�d�k�:�{�D�J�
G�
G��
Q�
�d�k�6�*�
�
�G�F�O�O�
�K��+�
�K��+�
�K��(�	
�
�G�F�O�O�
�;��'�
��V�,�
�i9�9�F�F�Fr�rc�V�eZdZdZdZdgZdgZdgZdZdZ	e
jd��Zd	�Z
d
S)rz2
    Shell sessions in erl (for Erlang code).
    zErlang erl session�erlz*.erl-shztext/x-erl-shellsessionrz1.1z(?:\([\w@_.]+\))?\d+>(?=\s|\Z)c	#��K�tdi|j��}d}g}tj|��D�]}|���}|j�|��}|�\|���}|�t|��dtj|d|�fgf��|||d�z
}��|r-t||�
|����Ed{V��d}g}|�d��r$|���tj|fV���|���tj|fV���|r+t||�
|����Ed{V��dSdS)N�r�*r�)r�optionsr
�finditer�group�
_prompt_re�matchr!�append�lenr�Promptr�get_tokens_unprocessed�
startswith�start�	Traceback�Output)	�self�text�erlexer�curcode�
insertionsr��line�mr!s	         r�r�z'ErlangShellLexer.get_tokens_unprocessed�s������-�-���-�-�����
��%�d�+�+�	>�	>�E��;�;�=�=�D���%�%�d�+�+�A��}��e�e�g�g���!�!�3�w�<�<�%&����T�c�T�
�$C�#D�#F�G�G�G��4����:�%����$�,�Z�-4�-K�-K�G�-T�-T� V� V�V�V�V�V�V�V�V� �G�!#�J��?�?�3�'�'�>��+�+�-�-��):�D�@�@�@�@�@��+�+�-�-����=�=�=�=�=��	N�$�Z�%,�%C�%C�G�%L�%L�N�N�
N�
N�
N�
N�
N�
N�
N�
N�
N�	N�	Nr�N)r�r�r�r�r�r�r�r�r�r��re�compiler�r�r�r�r�rr�sk�������� �D��g�G���I�*�+�I�
#�C��M����=�>�>�J�N�N�N�N�Nr�rc��i}d|�d�|ftd��d|fd|�d�t|��dftd��g|d	|z<|S)
N�[^#�\\]+�escapes�\\.r�r�r��interpol�string_)rr)r��symbol�token�statess    r��gen_elixir_string_rulesr�sg��
�F�	��	�	�	�e�$��	���	���	�f�����%���&�1��
��� �F�9�t����Mr�Tc��|r/d|�d�|ftd��d|f|�d�|dftd��gSd|�d�|fd|f|�d�|dfgS)	Nrrrrz	[a-zA-Z]*r�rz[^)r)�term�
term_classrrs    r��gen_elixir_sigstr_rulesr�s����

�
$�J�
$�
$�
$�e�,��I���
�U�O��
 �
 �
 �%��0��J���
�	
�$�:�
#�
#�
#�U�+�
�U�O��
 �
 �
 �%��0�
�	
r�c�(�eZdZdZdZdZgd�Zgd�ZdgZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZd�Zd�Zd�d�eD����Zd�d�eD����Zd�d�eD����Zde�de�de�d�Zd�d�eD����ZdZde�d�Zde�d e�d!�Zde�de�de�d�Z d"Z!d#Z"d$Z#d%Z$gd&e%f�d'e&j'f�d(e"ze(e)j*e)j+e,j-e)j+��f�d(e#ze(e)j*e)j+��f�d(e$ze(e)j*e)j+��f�d)e)j*f�d*e)j.f�d+e/f�d,e!ze)j.f�d,e ze)j.f�d-e)j.d.f�d/e)j.d0f�d1e!�de �d2�e(e)j.e0��f�d3eze1j2f�ee1f�d4e�d�e(e0e1j3��f�ee/f�ee/f�ee0f�d5e1j4f�ee/f�d6e,j5f�d7e,j6f�d8e,j-f�d9e,j7f�d:e,j8f�d;e(e)j9e%��d<f�d=e(e)j9e%��d>f�d?e)j:d@f�dAe)j'dBf�e;dC���dDe0dEf�dFe0dGf�dHe(e%e)j9��dIfe;dJ��gdKe)j9dIfe;dJ��gdLe)j9fe;dM��dNe)j9fdOe)j9fe;dP��gdQe)j9fdNe)j9fdOe%fge"e(e)j+e,j-e)j+��fe#e)j+fe$e)j+fgdRe)j<dSfgdTe)j<dIfe;dU��ge;dU��d,e0dVfdWe0dVfdTe0dIfge;dU��dXe0dIfdYe0dIfge;dU��dTe0dIfgdZ�Z=e=�>e?d[d?e)j:����e=�>e?d\dAe)j'����e=�>e?d]d?e)j.����e=�>e?d^dAe)j.����e=�>e����d_S)`rz"
    For the Elixir language.
    �Elixir�https://elixir-lang.org)�elixir�ex�exs)z*.exz*.eexz*.exsz*.leexz
text/x-elixir�1.5)�fn�dor!r�else�rescuer)r�r�r�r)�in)
rr �forr#�unlessr(r'�raise�quote�unquote�unquote_splicing�throw�super)�def�defp�	defmodule�defprotocol�defmacro�	defmacrop�defdelegate�defexception�	defstruct�defimpl�defcallback)�import�require�use�alias)�nil�true�false)�_�
__MODULE__�__DIR__�__ENV__�
__CALLER__)z<<<z>>>z|||z&&&z^^^z~~~z===z!==z~>>z<~>z|~>z<|>)z==z!=z<=z>=z&&z||z<>z++z--z|>z=~z->z<-r��.�=z~>z<~)	�<�>�+�-r��/�!�^�&)z\\r�r�r�r�r��:�;r��[�]c#��K�tj||��D]�\}}}|tur�||jvr
|t|fV��%||jvr|tj|fV��@||jvr
|t|fV��V||j	vr|tj
|fV��q||jvr|tj|fV���||j
vr|tj|fV���||jvr|tjj|fV���|||fV���|||fV���dS�N)rr�r�KEYWORDr
�KEYWORD_OPERATORrr��BUILTIN�BUILTIN_DECLARATION�Declaration�BUILTIN_NAMESPACEr��CONSTANTr��
PSEUDO_VARr��Pseudo)rr�indexr�values     r�r�z"ElixirLexer.get_tokens_unprocessedso����#-�#D�T�4�#P�#P�	*�	*��E�5�%���}�}��D�L�(�(���%�/�/�/�/�/��d�3�3�3�����5�5�5�5�5��d�l�*�*���%�/�/�/�/�/��d�6�6�6���!4�e�;�;�;�;�;��d�4�4�4���!2�E�9�9�9�9�9��d�m�+�+�����5�5�5�5�5��d�o�-�-����!4�e�;�;�;�;�;����-�-�-�-�-��U�E�)�)�)�)�)�'	*�	*r�c
���gd�}ddg}tj}dgi}|D]�\}}|dxxd|�d�t|tj��|dz|dzffd	|�d�t|tj��|dz|d
zffgz
cc<d|dft	d��g||dz<d
|zdztt
tj��dft
d��g||dz<d
|zdztt
tj��dft
d��g||d
z<��|D][\}}}}|dxxd|z||dzfd|z||d
zfgz
cc<t|||��||dz<t|||d���||d
z<�\|S)N))�\{r��}�cb)z\[�\]rf�sb)z\(z\)r��pa)rIrJrJ�ab)rMrMrM�slas)�\|rkr��pipe)r�r�r��quot)�'rnrn�apos)z"""�triquot)z'''�triapos�sigilsz	(~[a-z])(r�z-endz-intpz	(~[A-Z])(z-no-intpz	[a-zA-Z]+r�z^(\s*)(�heredoc_interpol�heredoc_no_interpolz~[a-z]z~[A-Z]F)r)r�Otherr�Heredocr	rrr)	�terminators�	triquotesrrrr��lterm�rterm�rterm_classs	         r��gen_elixir_sigil_rulesz"ElixirLexer.gen_elixir_sigil_ruless��	
�	
�	
��)�*=�>�	�����B���#�	�	�J�D�$��8����%�d�%�%�%�x��v�~�'F�'F��F�]�D�7�N�3�5�%�d�%�%�%�x��v�~�'F�'F��F�]�D�:�$5�6�8�!�
�����u�f�-�����%�F�4�&�=�!�
�d�"�S�(�(�:�v�~�*N�*N�PV�W��*�+�+�&�F�4�'�>�"�
�d�"�C�'��*�f�n�)M�)M�v�V��-�.�.�)�F�4�*�$�%�%�
0;�	S�	S�+�E�5�+�t��8�����U�"�E�4�'�>�:��U�"�E�4�*�+<�=�!�
����
(��{�E�B�B�
�4�'�>�"�(��{�E�E�R�R�R�
�4�*�$�%�%��
r�r�c#�>K�|]}tj|��V��dSrV�r�escape��.0�ss  r��	<genexpr>zElixirLexer.<genexpr>O�*����7�7�q�b�i��l�l�7�7�7�7�7�7r�c#�>K�|]}tj|��V��dSrVr~r�s  r�r�zElixirLexer.<genexpr>Pr�r�c#�>K�|]}tj|��V��dSrVr~r�s  r�r�zElixirLexer.<genexpr>Qr�r�r�r�c#�>K�|]}tj|��V��dSrVr~r�s  r�r�zElixirLexer.<genexpr>Ss*����@�@�q�b�i��l�l�@�@�@�@�@�@r�z\wz(?:\.\.\.|[a-z_]z*[!?]?)z[A-Z]z*(?:\.[A-Z]z*)*z(?:\.\.\.|<<>>|%\{\}|%|\{\})z(\\x\{)([\da-fA-F]+)(\})z(\\x[\da-fA-F]{1,2})z(\\[abdefnrstv])r�z#.*$z(\?)z\?\\?.z:::z::rQz:"�string_double_atomz:'�string_single_atomr�z
)(:)(?=\s|\n)�@z(%?)(z&\dz0b[01]+z0o[0-7]+z
0x[\da-fA-F]+z)\d(_?\d)*\.\d(_?\d)*([eE][-+]?\d(_?\d)*)?z	\d(_?\d)*z
(""")(\s*)�heredoc_doublez(''')(\s*)$�heredoc_singler��
string_doublern�
string_singlerrz%\{r�rc�tuplez^(\s*)(""")r�rsz^\s*'''z	[^#\\\n]+rrz\n+rz[^\\\n]+r��interpol_stringr�r�r�r�r�r�)r�r�r�rsrtrrr�r�r�r��double�single�double_atom�single_atomN)@r�r�r�r�r�r�r�r�r�r�rWrXrYrZr\r]r^�
OPERATORS3�
OPERATORS2�
OPERATORS1�PUNCTUATIONr�r|�join�op3_re�op2_re�op1_re�ops_re�punctuation_re�alnum�name_re�
modname_re�complex_name_re�special_atom_re�long_hex_char_re�hex_char_re�escape_char_rerr�Singlerrr�r�r�Hex�Symbolrrr�	Attribute�Classr��Bin�Octr�r�rv�Doublerr�r��updaterr�r�r�rr�s���������D�
#�C�%�%�%�G�4�4�4�I� �!�I��M�E�G�9���G���
>��'�H�H�J��J��J�?�J��K�*�*�*�,2�2�2�h�X�X�7�7�J�7�7�7�
7�
7�F�
�X�X�7�7�J�7�7�7�
7�
7�F�
�X�X�7�7�J�7�7�7�
7�
7�F�
/�F�
/�
/�V�
/�
/�f�
/�
/�
/�F��X�X�@�@�K�@�@�@�@�@�N��E�0�%�0�0�0�G�6�%�6�6�E�6�6�6�J�=�W�=�=�z�=�=�F�=�=�=�O�5�O�2��)�K�(�N�=
�
�Z� �=
�
�g�n�%�=
�
�'�
'��������
�F�M�C�C�
D�=
��{�
"�����f�m�4�4�
6�=
��~�
%�����f�m�4�4�
6�=
����$�=
��V�]�#�=
� �H��!=
�&�O�
#�V�]�3�'=
�(�O�
#�V�]�3�)=
�*�F�M�#7�8�+=
�,�F�M�#7�8�-=
�2C�/�
B�
B�O�
B�
B�
B������4�4�
6�3=
�:�G�^�T�^�,�;=
�@�d�O�A=
�B$�j�
#�
#�
#�X�X�k�4�:�%F�%F�G�C=
�H�X��I=
�J�X��K=
�L�[�)�M=
�N�T�[�!�O=
�P�X��Q=
�V���$�W=
�X�&�*�%�Y=
�Z�v�z�*�[=
�\:�6�<�H�]=
�^�6�>�*�_=
�d�H�H�V�^�Z�@�@� �
"�e=
�h�X�X�f�n�j�A�A� �
"�i=
�l�6�=�/�2�m=
�n�6�=�/�2�o=
�r
�G�H���s=
�v�[�)�,�w=
�x�K��)�y=
�~�X�X�j�&�.�A�A�6�J��G�&�'�'�
�
����0��G�&�'�'�
�
�6�>�*��G�I���
�V�^�$�
�V�^�$��G�J���
��&�.�)�
�V�^�$�
�Z� � 
�������
�F�M�B�B�
D�
�&�-�(�
�V�]�+�	
��V�_�&7�8�
��F�O�V�,��G�F�O�O�
�

�G�F�O�O�
�;�	�*�
�K��+�
�K��(�	
�
�G�F�O�O�
�;��'�
��V�,�
�
�G�F�O�O�
�K��(�
�Wo�o�F�`�M�M�)�)�(�C���G�G�H�H�H�
�M�M�)�)�(�C���G�G�H�H�H�
�M�M�)�)�-��f�m�L�L�M�M�M�
�M�M�)�)�-��f�m�L�L�M�M�M�
�M�M�(�(�*�*�+�+�+�+�+r�rc�P�eZdZdZdZdgZdgZdZdZe	j
d��Zd�Zd	S)
ra
    For Elixir interactive console (iex) output like:

    .. sourcecode:: iex

        iex> [head | tail] = [1,2,3]
        [1,2,3]
        iex> head
        1
        iex> tail
        [2,3]
        iex> [head | tail]
        [1,2,3]
        iex> length [head | tail]
        3
    zElixir iex session�iexztext/x-elixir-shellsessionrr"z,(iex|\.{3})((?:\([\w@_.]+\))?\d+|\(\d+\))?> c	#�bK�tdi|j��}d}d}g}tj|��D�]R}|���}|�d��rJd}|�t|��dtj	|dd�fgf��||dd�z
}�v|j
�|��}|�^d}|���}	|�t|��dtj
|d|	�fgf��|||	d�z
}��|r-t||�|����Ed{V��d}g}|rtj	ntj}
|���|
|fV���T|r+t||�|����Ed{V��dSdS)Nr�Fz** Tr���r�)rr�r
r�r�rr�r�r�Errorr�r�r!r�rr�rr)rr�exlexerr�in_errorrr�r	r
r!rs           r�r�z)ElixirConsoleLexer.get_tokens_unprocessed�s9�����-�-���-�-�������
��%�d�+�+�	5�	5�E��;�;�=�=�D����u�%�%�
5����!�!�3�w�<�<�%&��
�t�C�R�C�y�$A�#B�#D�E�E�E��4����9�$����O�)�)�$�/�/���=�$�H��%�%�'�'�C��%�%�s�7�|�|�)*�G�N�D��#��J�(G�'H�'J�K�K�K��t�C�D�D�z�)�G�G��(�#0�&��(F�(F�w�(O�(O�$Q�$Q�Q�Q�Q�Q�Q�Q�Q�"$��%'�
�-5�I�G�M�M�7�>�E��+�+�-�-���4�4�4�4�4��	E�$��G�:�:�7�C�C�E�E�
E�
E�
E�
E�
E�
E�
E�
E�
E�	E�	Er�N)
r�r�r�r�r�r�r�r�r�rrr�r�r�r�r�rr�sd��������" �D��g�G�-�.�I�
#�C��M����K�L�L�J�E�E�E�E�Er�r)T)r�r�pygments.lexerrrrrrrr	r
�pygments.tokenrrr
rrrrrr�__all__rrrrrrr�r�r��<module>r�s�����
�	�	�	���������������������-�-�-�-�-�-�-�-�-�-�-�-�-�-�-�-�-�-�-�-�-�-�����|�|�|�|�|�*�|�|�|�~&N�&N�&N�&N�&N�u�&N�&N�&N�R	�	�	�
�
�
�
�"w,�w,�w,�w,�w,�*�w,�w,�w,�t9E�9E�9E�9E�9E��9E�9E�9E�9E�9Er�