o
    üÞhÏ*  ã                   @   s˜   d dl Z e  d¡Zddd„Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Z	eeeeee	dœZ
i Zddd„Zddd„Zddd„Zddd„Zddd„ZdS ) é    NzY('[^']*'|"[^"]*"|::|//?|\.\.|\(\)|[/.*:\[\]\(\)@=])|((?:\{[^}]+\})?[^/\[\]\(\)@=\s]+)|\s+Tc           
   	   c   sî   � |r|  d ¡p|  d¡nd }d}t | ¡D ]^}|\}}|rm|d dkrmd|v rQ|rQ| dd¡\}}	z|s7t‚|d|| |	f fV  W n& tyP   td| ƒ‚w | ¡ rY|V  n|rg|sg|d||f fV  n|V  d}q|V  |d	k}qd S )
NÚ Fr   Ú{ú:é   z{%s}%sz!prefix %r not found in prefix mapú@)ÚgetÚxpath_tokenizer_reÚfindallÚsplitÚKeyErrorÚSyntaxErrorÚ	isdecimal)
ÚpatternÚ
namespacesÚwith_prefixesÚdefault_namespaceÚparsing_attributeÚtokenÚttypeÚtagÚprefixÚuri© r   úQ/var/www/html/premium_crap/venv/lib/python3.10/site-packages/lxml/_elementpath.pyÚxpath_tokenizerI   s4   €€ ÿ
ìr   c                    s   |d ‰ ‡ fdd„}|S )Nr   c                 3   ó    � | D ]
}|  ˆ ¡E d H  qd S ©N©Úiterchildren©ÚresultÚelem©r   r   r   Úselectf   ó   €ÿzprepare_child.<locals>.selectr   ©Únextr   r#   r   r"   r   Úprepare_childd   s   r'   c                 C   ó   dd„ }|S )Nc                 s   s    � | D ]
}|  d¡E d H  qd S )NÚ*r   r   r   r   r   r#   l   r$   zprepare_star.<locals>.selectr   r%   r   r   r   Úprepare_stark   s   r*   c                 C   r(   )Nc                 S   s   | S r   r   )r    r   r   r   r#   r   s   zprepare_self.<locals>.selectr   r%   r   r   r   Úprepare_selfq   s   r+   c                    sB   | ƒ }|d dkrd‰ n|d s|d ‰ nt dƒ‚‡ fdd„}|S )Nr   r)   r   zinvalid descendantc                 3   r   r   )Úiterdescendantsr   r"   r   r   r#   ~   r$   z"prepare_descendant.<locals>.select)r   r%   r   r"   r   Úprepare_descendantv   s   
r-   c                 C   r(   )Nc                 s   s&   � | D ]}|  ¡ }|d ur|V  qd S r   )Ú	getparent)r    r!   Úparentr   r   r   r#   „   s   €€ýzprepare_parent.<locals>.selectr   r%   r   r   r   Úprepare_parentƒ   s   r0   c                    sþ  d}g }	 | ƒ }|d dkrn-|dkrq|d r,|d d d… dv r,d|d dd… f}||d p2d	7 }|  |d ¡ q|d
krL|d ‰‡fdd„}|S |dkra|d ‰|d ‰‡‡fdd„}|S |d	kryt d|d ¡sy|d ‰‡fdd„}|S |dks‰|dkr¤t d|d ¡s¤|d ‰|d ‰ˆrœ‡‡fdd„}|S ‡fdd„}|S |d	ks°|dks°|dkrû|d	krÍt|d ƒd ‰ ˆ dk rÌˆ dkrÈtdƒ‚tdƒ‚n&|d dkr×tdƒ‚|dkrñz
t|d ƒd ‰ W n tyð   tdƒ‚w d‰ ‡ fdd„}|S tdƒ‚)Nr   r   r   ú])r   r   z'"ú'éÿÿÿÿú-z@-c                 3   s$   � | D ]}|  ˆ ¡d ur|V  qd S r   ©r   r   )Úkeyr   r   r#   ¡   ó   €€þz!prepare_predicate.<locals>.selectz@-='c                 3   s$   � | D ]}|  ˆ ¡ˆkr|V  qd S r   r5   r   )r6   Úvaluer   r   r#   ª   r7   z-?\d+$c                 3   s&   � | D ]}|  ˆ ¡D ]}|V   qd S r   r   )r    r!   Ú_r"   r   r   r#   ²   s   €€ýz.='z-='c                 3   s<   � | D ]}|  ˆ ¡D ]}d | ¡ ¡ˆkr|V   nq
qd S ©Nr   )r   ÚjoinÚitertext)r    r!   Úe)r   r8   r   r   r#   ½   s   €þ€þc                 3   s(   � | D ]}d  | ¡ ¡ˆ kr|V  qd S r:   )r;   r<   r   )r8   r   r   r#   Ä   s   €€þz-()z-()-z3indices in path predicates are 1-based, not 0-basedzpath index >= 1 expectedÚlastzunsupported functioné   zunsupported expressionc              	   3   sZ   � | D ]'}|  ¡ }|d u rqzt| |j¡ƒ}|ˆ  |u r |V  W q ty*   Y qw d S r   )r.   Úlistr   r   Ú
IndexError)r    r!   r/   Úelems)Úindexr   r   r#   Þ   s   €€ÿ÷zinvalid predicate)ÚappendÚreÚmatchÚintr   Ú
ValueError)r&   r   Ú	signatureÚ	predicater#   r   )rC   r6   r   r8   r   Úprepare_predicate‹   sp   ö üÿûÿrK   )r   r)   Ú.z..z//ú[c                 C   s²  | dd… dkr| d7 } | f}|rLd|v rBd|v r-|d |d kr-t d|d |d f ƒ‚||d fttdd„ | ¡ D ƒƒƒ 7 }n
|tt| ¡ ƒƒ7 }zt| W S  tyZ   Y nw ttƒd	kret ¡  | dd
… dkrqtdƒ‚t	t
| ||d�ƒ}z|j}W n ty‹   |j}Y nw z|ƒ }W n tyœ   tdƒ‚w g }	 z| t|d  ||ƒ¡ W n ty¹   tdƒ‚w z|ƒ }|d dkrÇ|ƒ }W n	 tyÑ   Y nw q |t|< |S )zcompile selector patternr3   Nú/r)   r   z2Ambiguous default namespace provided: %r versus %rc                 s   s    � | ]}|d  dur|V  qdS )r   Nr   )Ú.0Úitemr   r   r   Ú	<genexpr>
  s   € ÿz'_build_path_iterator.<locals>.<genexpr>éd   r   z#cannot use absolute path on element©r   zempty path expressionr   zinvalid path)rH   ÚtupleÚsortedÚitemsÚ_cacher   ÚlenÚclearr   Úiterr   r&   ÚAttributeErrorÚ__next__ÚStopIterationrD   Úops)Úpathr   r   Ú	cache_keyÚstreamÚ_nextr   Úselectorr   r   r   Ú_build_path_iteratorü   sf   ÿÿ
ÿ

þ
ÿÿ€ÿ÷rd   c                 C   s.   t |||d�}t| fƒ}|D ]}||ƒ}q|S ©NrS   )rd   rZ   )r!   r_   r   r   rc   r    r#   r   r   r   Úiterfind5  s
   

rf   c                 C   s0   t | |||d�}zt|ƒW S  ty   Y d S w re   )rf   r&   r]   )r!   r_   r   r   Úitr   r   r   Úfind@  s   
ÿrh   c                 C   s   t t| ||ƒƒS r   )r@   rf   )r!   r_   r   r   r   r   r   r	   K  s   r	   c                 C   s&   t | |||d�}|d u r|S |jpdS )NrS   r   )rh   Útext)r!   r_   Údefaultr   r   Úelr   r   r   ÚfindtextR  s   
rl   )NT)T)NNT)rE   Úcompiler   r   r'   r*   r+   r-   r0   rK   r^   rW   rd   rf   rh   r	   rl   r   r   r   r   Ú<module>   s0   :ÿ
cú

9

