
    Ig                        d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZm	Z	  e
d          Z G d d          Z ed          d	ed
edefd            Z ed          d	ed
edefd            Z ed          d	ed
edefd            Z G d d          Z G d d          Z G d d          Z G d de          ZdedefdZ	 ddeee	e         f         dedefdZdedefdZdS )    N)	lru_cache)ListUnionIterable\   c                       e Zd ZU dZg Zee         ed<   g Zee         ed<   dZ	e
d             Z e
d           Z e
d           ZdS )	__config_flagsz=Internal class for defining compatibility and debugging flags
_all_names_fixed_namesconfigurationc                 b   || j         v rct          j        d                    | j        || j        t          t          | |                                                                         d S || j	        v rt          | ||           d S t          d                    | j        |                    )Nz'{}.{} {} is {} and cannot be overriddenzno such {} {!r})r   warningswarnformat__name__
_type_descstrgetattrupperr
   setattr
ValueError)clsdnamevalues      `/var/www/html/4nations/venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/util.py_setz__config_flags._set   s    C$$$M9@@LNU++,,2244	    FCN""C&&&&&.55cneLLMMM    c                 .    |                      |d          S )NTr   r   names     r   <lambda>z__config_flags.<lambda>$   s    388D$+?+? r   c                 .    |                      |d          S )NFr   r    s     r   r"   z__config_flags.<lambda>%   s    CHHT5,A,A r   N)r   
__module____qualname____doc__r
   r   r   __annotations__r   r   classmethodr   enabledisable r   r   r	   r	      s         GGJS	 L$s)    JN N [N  [??@@FkAABBGGGr   r	      )maxsizelocstrgreturnc                     |}d| cxk     rt          |          k     rn n|| dz
           dk    rdn| |                    dd|           z
  S )a  
    Returns current column within a string, counting newlines as line separators.
    The first column is number 1.

    Note: the default parsing behavior is to expand tabs in the input string
    before starting the parsing process.  See
    :class:`ParserElement.parseString` for more
    information on parsing strings containing ``<TAB>`` s, and suggested
    methods to maintain a consistent view of the parsed string, the parse
    location, and line and column positions within the parsed string.
    r      
)lenrfind)r.   r/   ss      r   colr7   (   sc     	AC    #a&&     QsQwZ4%7%711S1774QRTWCXCX=XXr   c                 6    |                     dd|           dz   S )a  Returns current line number within a string, counting newlines as line separators.
    The first line is number 1.

    Note - the default parsing behavior is to expand tabs in the input string
    before starting the parsing process.  See :class:`ParserElement.parseString`
    for more information on parsing strings containing ``<TAB>`` s, and
    suggested methods to maintain a consistent view of the parsed string, the
    parse location, and line and column positions within the parsed string.
    r3   r   r2   )count)r.   r/   s     r   linenor:   9   s     ::dAs##a''r   c                     |                     dd|           }|                    d|           }|dk    r||dz   |         n||dz   d         S )zh
    Returns the line of text containing loc within a string, counting newlines as line separators.
    r3   r   r2   N)r5   find)r.   r/   last_crnext_crs       r   liner?   G   sZ    
 jjq#&&Giic""G*1Q,,4!g%&&D1<OOr   c                       e Zd Zd ZdS )_UnboundedCachec                    i j         t                      x| _        fd}fd}fd}d | _        t	          j        ||           | _         t	          j        ||           | _        t	          j        ||           | _        d S )Nc                      |          S Nr+   _key	cache_getnot_in_caches     r   getz%_UnboundedCache.__init__.<locals>.getW       9S,///r   c                     ||<   d S rD   r+   )rF   rG   r   caches      r   set_z&_UnboundedCache.__init__.<locals>.set_Z   s    E#JJJr   c                 0                                      d S rD   clearrF   rM   s    r   rQ   z'_UnboundedCache.__init__.<locals>.clear]       KKMMMMMr   )rJ   objectrI   sizetypes
MethodTypesetrQ   )selfrJ   rN   rQ   rM   rH   rI   s       @@@r   __init__z_UnboundedCache.__init__R   s    I	+1883L	0 	0 	0 	0 	0 	0	 	 	 	 		 	 	 	 	 	#C..#D$//%eT22


r   Nr   r$   r%   rZ   r+   r   r   rA   rA   Q   s#        3 3 3 3 3r   rA   c                       e Zd Zd ZdS )
_FifoCachec                 8   t                      x| _        t          j                    j        fd}fd}fd}| _        t          j        ||           | _        t          j        ||           | _        t          j        ||           | _	        d S )Nc                      |          S rD   r+   rE   s     r   rJ   z _FifoCache.__init__.<locals>.getl   rK   r   c                     ||<   t                    k    r+                    d           t                    k    )d S d S NF)last)r4   popitem)rF   rG   r   rM   rU   s      r   rN   z!_FifoCache.__init__.<locals>.set_o   sP    E#Je**t##5))) e**t######r   c                 0                                      d S rD   rP   rR   s    r   rQ   z"_FifoCache.__init__.<locals>.cleart   rS   r   )
rT   rI   collectionsOrderedDictrJ   rU   rV   rW   rX   rQ   )rY   rU   rJ   rN   rQ   rM   rH   rI   s    `   @@@r   rZ   z_FifoCache.__init__g   s    +1883L'))I		0 	0 	0 	0 	0 	0	* 	* 	* 	* 	* 	*
	 	 	 	 	 	#C..#D$//%eT22


r   Nr[   r+   r   r   r]   r]   f   s#        3 3 3 3 3r   r]   c                   0    e Zd ZdZd Zd Zd Zd Zd ZdS )LRUMemoz
    A memoizing mapping that retains `capacity` deleted items

    The memo tracks retained items by their access order; once `capacity` items
    are retained, the least recently used item is discarded.
    c                 R    || _         i | _        t          j                    | _        d S rD   )	_capacity_activere   rf   _memory)rY   capacitys     r   rZ   zLRUMemo.__init__   s$    !".00r   c                     	 | j         |         S # t          $ r* | j                            |           | j        |         cY S w xY wrD   )rk   KeyErrorrl   move_to_endrY   rG   s     r   __getitem__zLRUMemo.__getitem__   sX    	%<$$ 	% 	% 	%L$$S)))<$$$$	%s    1AAc                 P    | j                             |d            || j        |<   d S rD   )rl   poprk   rY   rG   r   s      r   __setitem__zLRUMemo.__setitem__   s,    d###!Sr   c                    	 | j                             |          }t          | j                  | j        k    r8| j                            d           t          | j                  | j        k    8|| j        |<   d S # t          $ r Y d S w xY wra   )rk   rt   r4   rl   rj   rc   ro   ru   s      r   __delitem__zLRUMemo.__delitem__   s    	&L$$S))E dl##t~55$$%$000 dl##t~55 %DL  	 	 	DD	s   A= =
B
Bc                 j    | j                                          | j                                         d S rD   )rk   rQ   rl   )rY   s    r   rQ   zLRUMemo.clear   s0    r   N)	r   r$   r%   r&   rZ   rr   rv   rx   rQ   r+   r   r   rh   rh   }   si         1 1 1
% % %" " "& & &    r   rh   c                       e Zd ZdZd ZdS )UnboundedMemoz<
    A memoizing mapping that retains all deleted items
    c                     d S rD   r+   rq   s     r   rx   zUnboundedMemo.__delitem__   s    r   N)r   r$   r%   r&   rx   r+   r   r   r{   r{      s-             r   r{   r6   c                     dD ] }|                      |t          |z             } !|                      dd          } |                      dd          } t          |           S )Nz\^-[]r3   z\n	z\t)replace_bslashr   )r6   cs     r   _escape_regex_range_charsr      s[     & &IIa1%%			$A			$Aq66Mr   T	re_escapec           
      <  	
 
fd
d
_         t          j                    
_        d
_        d 	d }|s|	g }d                    t          t          |                               } t          |           dk    rt          j	        | 
          D ]\  }}t          |          x}}t          j        t          j        t          |g          |          d	
                                          }||k    r|                     	|                     t#          |          t#          |          d	z   k    rdnd}|                    d                     	|          | 	|                               n	fd| D             }d                    |          S )Nc                     t          |           }|j        c_        }||z
  dk    rt          j                  _        j        S )Nr2   )ordprevnextcounterr   )r   c_intr   is_consecutives      r   r   z2_collapse_string_to_ranges.<locals>.is_consecutive   sK    A$)>+>!T4<!#'(>#?#?N ##r   r   c                     | dv rd| z   n| S )Nz\^-][\r+   r   s    r   escape_re_range_charz8_collapse_string_to_ranges.<locals>.escape_re_range_char   s    ==taxxa/r   c                     | S rD   r+   r   s    r   no_escape_re_range_charz;_collapse_string_to_ranges.<locals>.no_escape_re_range_char   s    r       )rG   r2   )maxlen-z{}{}{}c                 &    g | ]} |          S r+   r+   ).0r   r   s     r   
<listcomp>z._collapse_string_to_ranges.<locals>.<listcomp>   s%    2221##A&&222r   )r   	itertoolsr9   r   r   joinsortedrX   r4   groupbyr   re   dequechainiterrt   appendr   r   )r6   r   r   retrF   charsfirstrb   sepr   r   s            @@r   _collapse_string_to_rangesr      s   $ $ $ $ $ N&_..NN0 0 0    76
C
s1vvA
1vvzz!)!@@@ 	 	HAu;;&ED$dVe44Q  cee  }}

//667777IIUa77bbS

OO,,U33S:N:Nt:T:T    	 3222222773<<r   llc                     g }| D ]O}t          |t                    r#|                    t          |                     :|                    |           P|S rD   )
isinstancelistextend_flattenr   )r   r   is      r   r   r      sY    
C  a 	JJx{{####JJqMMMMJr   )T)r   rV   re   r   	functoolsr   typingr   r   r   chrr   r	   intr   r7   r:   r?   rA   r]   rh   dictr{   r   boolr   r   r   r+   r   r   <module>r      s                   ( ( ( ( ( ( ( ( ( (
#b''C C C C C C C C8 3YS Y Y Y Y Y Y  3
( 
(3 
(3 
( 
( 
( 
( 3Pc P P P P P P3 3 3 3 3 3 3 3*3 3 3 3 3 3 3 3.$ $ $ $ $ $ $ $N    D         59+ +S(3- +-1++ + + +\ $      r   