shell bypass 403
�
|��g�? � �T � d Z ddlZddlZddlmZ ddlmZ ddlmZ i Z G d� d� Z y)zGprovides the Lexer class for parsing template strings into parse trees.� N)�
exceptions)� parsetree)�adjust_whitespacec � � e Zd Z dd�Zed� � Zdd�Zd� Zd� Zd� Z e
j d� Zd � Z
d
� Zd� Zd� Zd
� Zd� Zd� Zd� Zd� Zd� Zd� Zy)�LexerNc �$ � || _ || _ t j | j � | _ d| _ d| _ d| _ d| _ g | _ g | _
g | _ || _ |�g | _
y t |d� s |g| _
y || _
y )N� r �__iter__)�text�filenamer �TemplateNode�template�matched_lineno�matched_charpos�lineno�match_position�tag�control_line�
ternary_stack�encoding�preprocessor�hasattr)�selfr r �input_encodingr s �9/opt/hc_python/lib/python3.12/site-packages/mako/lexer.py�__init__zLexer.__init__ s� � � �� � ��
�!�.�.�t�}�}�=��
���� ������������������&��
��� "�D����z�2�!-��D�� ,�D�� c �` � | j | j | j | j d�S )N)�sourcer �posr )r r r r )r s r �exception_kwargszLexer.exception_kwargs* s. � � �i�i��)�)��'�'��
�
�
�
r c �� � t ||f }| j |� S # t $ r; |rt j ||� nt j |� }|t ||f<