AlkantarClanX12
Current Path : /opt/imunify360/venv/lib/python3.11/site-packages/jinja2/__pycache__/ |
Current File : //opt/imunify360/venv/lib/python3.11/site-packages/jinja2/__pycache__/compiler.cpython-311.pyc |
� l��f� � �� � d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl mZ ddl mZ dd l mZ dd lmZ ddlmZ ddlmZ dd lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl m!Z! ddl"m#Z# ddl$m%Z% dddddd d!d"d#�Z& e'e(d$� � rd$Z)nd%Z)d&gZ* e+d'� � e*�, d(� � n# e-$ r Y nw xY w e+d)� � d*Z.n # e-$ r d+Z.Y nw xY wd,� Z/ d?d.�Z0d/� Z1d0� Z2 G d1� d2e3� � Z4 G d3� d4e3� � Z5 G d5� d6e6� � Z7 G d7� d8e%� � Z8 G d9� d:e%� � Z9 G d;� d<e:� � Z; G d=� d>e%� � Z<d-S )@z0Compiles nodes from the parser into Python code.� )� namedtuple��update_wrapper)�chain)� iskeyword)�escape)�Markup� )�nodes)�imap)� iteritems)�izip)�NativeStringIO)� range_type)�string_types)� text_type)�TemplateAssertionError)�Symbols)�VAR_LOAD_ALIAS)�VAR_LOAD_PARAMETER)�VAR_LOAD_RESOLVE)�VAR_LOAD_UNDEFINED)�EvalContext)� Optimizer)�concat)�NodeVisitorz==z!=�>z>=�<z<=�inznot in)�eq�ne�gt�gteq�lt�lteqr �notinr �items�divisionz%from __future__ import generator_stop�generator_stopzdef f(): yield from x()TFc �. � � � fd�}t |� � � S )Nc � �� | j rH|j j s<| j � ||j � � }||k r| � ||� � S �| ||fi |��S �N)� optimized�eval_ctx�volatile� optimizer�visit)�self�node�frame�kwargs�new_node�fs ��o/builddir/build/BUILD/imunify360-venv-2.3.5/opt/imunify360/venv/lib/python3.11/site-packages/jinja2/compiler.py�new_funczoptimizeconst.<locals>.new_funcC sm �� ��>� 3�%�.�"9� 3��~�+�+�D�%�.�A�A�H��4����z�z�(�E�2�2�2��q��t�U�-�-�f�-�-�-� r )r7 r9 s ` r8 � optimizeconstr; B s. �� �.� .� .� .� .� �(�A�&�&�&r: Nc �� � t | t j � � st d� � �|� ||||||� � }|� | � � |�|j � � � S dS )z+Generate the python source for a node tree.z Can't compile non template nodesN)� isinstancer �Template� TypeError�code_generator_classr1 �stream�getvalue)r3 �environment�name�filenamerA � defer_initr- � generators r8 �generaterH N s~ � � �d�E�N�+�+� <��:�;�;�;��0�0��T�8�V�Z��� �I� �O�O�D���� �~���(�(�*�*�*� �~r: c �� � | �| t u s | t u rdS t | � � t t t t t t ft z v rdS t | � � t t t t fv r| D ]}t |� � s dS �dS t | � � t u r;t! | � � D ])\ }} t |� � s dS t | � � s dS �*dS dS )z)Does the node have a safe representation?NTF)�NotImplemented�Ellipsis�type�bool�int�float�complexr r r �tuple�list�set� frozenset� has_safe_repr�dictr )�value�item�keys r8 rU rU \ s� � ��}���/�/�5�H�3D�3D��t��E�{�{�t�S�%��*�f�E��T�T�T��t��E�{�{�u�d�C��3�3�3�� � �D� ��&�&� ��u�u� ��t� �e���� � �#�E�*�*� � �J�C�� ��%�%� ��u�u� ��'�'� ��u�u� ��t��5r: c � � t |� � } | D ]}|� |� � �n# t $ r Y nw xY w|j S )z�Check if the names passed are accessed undeclared. The return value is a set of all the undeclared names from the sequence of names found. )�UndeclaredNameVisitorr1 �VisitorExit� undeclared)r �names�visitorr3 s r8 �find_undeclaredr` q sh � � $�E�*�*�G� �� � �D��M�M�$����� ��� � � ��� ������s �, � 9�9c � � e Zd Zd� ZdS )�MacroRefc �>