HEX
Server: nginx/1.28.3
System: Linux lightweb-s1 5.15.0-173-generic #183-Ubuntu SMP Fri Mar 6 13:29:34 UTC 2026 x86_64
User: dawonefr-98 (1071)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/lxml/__pycache__/_elementpath.cpython-310.pyc
o

;/b�)�@s�ddlmZddlZe�d�Zddd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zeeee
e	ed�ZiZ
dd�Zddd�Zddd�Zddd�Zddd�ZdS)�)�absolute_importNzY('[^']*'|"[^"]*"|::|//?|\.\.|\(\)|[/.*:\[\]\(\)@=])|((?:\{[^}]+\})?[^/\[\]\(\)@=\s]+)|\s+c		cs��|r
|�d�p|�d�nd}d}t�|�D]T}|\}}|rc|ddkrcd|vrO|�dd�\}}z|s5t�|d|||ffVWntyNtd|��w|r]|s]|d||ffVn|Vd}q|V|d	k}qdS)
N�Fr�{�:�z{%s}%sz!prefix %r not found in prefix map�@)�get�xpath_tokenizer_re�findall�split�KeyError�SyntaxError)	�pattern�
namespaces�default_namespace�parsing_attribute�token�ttype�tag�prefix�uri�r�3/usr/lib/python3/dist-packages/lxml/_elementpath.py�xpath_tokenizerJs0���
�rcs|d��fdd�}|S)Nrc3�&�|D]
}|���D]}|Vq
qdS�N��iterchildren��result�elem�e�rrr�selecte����zprepare_child.<locals>.selectr��nextrr#rr"r�
prepare_childcsr'cC�dd�}|S)Ncss&�|D]
}|�d�D]}|Vq
qdS)N�*rrrrrr#lr$zprepare_star.<locals>.selectrr%rrr�prepare_starksr*cCr()NcSs|Srr)rrrrr#sszprepare_self.<locals>.selectrr%rrr�prepare_selfrsr+csB|�}|ddkrd�n
|ds|d�ntd���fdd�}|S)Nrr)rzinvalid descendantc3rr)�iterdescendantsrr"rrr#r$z"prepare_descendant.<locals>.select)r
r%rr"r�prepare_descendantws
r-cCr()Ncss&�|D]
}|��}|dur|VqdSr)�	getparent)rr �parentrrrr#�s���zprepare_parent.<locals>.selectrr%rrr�prepare_parent�sr0cs�d}g}	|�}|ddkrn-|dkrq|dr,|ddd�dvr,d|ddd�f}||dp2d	7}|�|d�q|d
krL|d��fdd�}|S|d
kra|d�|d���fdd�}|S|d	kryt�d|d�sy|d��fdd�}|S|dks�|dkr�t�d|d�s�|d�|d��r���fdd�}|S�fdd�}|S|d	ks�|dks�|dkr�|d	kr�t|d�d��dkr̈dkr�td��td��n&|ddkr�td��|dkr�z
t|d�d�Wn
ty�td��wd��fdd�}|Std��)Nrrr�])rrz'"�'����-z@-c3s$�|D]}|���dur|VqdSr�r�rr )�keyrrr#�����z!prepare_predicate.<locals>.selectz@-='c3s$�|D]}|����kr|VqdSrr5r6)r7�valuerrr#�r8z-?\d+$c3s&�|D]
}|���D]}|VqdSrr)rr �_r"rrr#�s���z.='z-='c3s<�|D]}|���D]}d�|����kr|Vnq
qdS�Nr)r�join�itertextr)rr9rrr#�s����c3s(�|D]}d�|����kr|VqdSr;)r<r=r6)r9rrr#�s���z-()z-()-z3indices in path predicates are 1-based, not 0-basedzpath index >= 1 expected�lastzunsupported function�zunsupported expressionc	3sZ�|D]'}|��}|durqzt|�|j��}|�|ur |VWqty*YqwdSr)r.�listrr�
IndexError)rr r/�elems)�indexrrr#�s����zinvalid predicate)�append�re�match�intr
�
ValueError)r&r�	signature�	predicater#r)rCr7rr9r�prepare_predicate�sp�
 ����rK)rr)�.z..z//�[cCs�|dd�dkr|d7}|f}|rLd|vrBd|vr-|d|dkr-td|d|df��||dfttdd�|��D���7}n
|tt|����7}zt|WStyZYnwtt�d	kret��|dd
�dkrqtd��t	t
||��}z|j}Wnty�|j
}Ynwz|�}Wnty�td��wg}	z|�t|d
||��Wnty�td��wz|�}|d
dkr�|�}Wn	ty�Ynwq�|t|<|S)zcompile selector patternr3N�/r)rz2Ambiguous default namespace provided: %r versus %rcss �|]}|ddur|VqdS)rNr)�.0�itemrrr�	<genexpr>s��z'_build_path_iterator.<locals>.<genexpr>�drz#cannot use absolute path on elementzempty path expressionrzinvalid path)rH�tuple�sorted�items�_cacher�len�clearr
�iterrr&�AttributeError�__next__�
StopIterationrD�ops)�pathr�	cache_key�stream�_nextr�selectorrrr�_build_path_iterator�sf��
�

�
�����rccCs*t||�}t|f�}|D]}||�}q|Sr)rcrY)r r^rrbrr#rrr�iterfind7s



rdcCs,t|||�}zt|�WStyYdSwr)rdr&r\)r r^r�itrrr�findBs
�rfcCstt|||��Sr)r@rd)r r^rrrrr
Msr
cCs"t|||�}|dur|S|jpdSr;)rf�text)r r^�defaultr�elrrr�findtextTs
rjr)NN)�
__future__rrE�compiler	rr'r*r+r-r0rKr]rVrcrdrfr
rjrrrr�<module>s29�
c�
9