
    daf                        	 g d Z ddlZddlZddlmZ ddlmZ ddlm	Z
 ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ 	 ddlmZ ej6                  j9                  e       	 ddlmZ 	 ddlmZ  G d dej@                        Z! G d dejD                        Z# G d dejH                        Z% G d de&      Z' G d de(      Z)	 ddlm)Z) 	 ddlm*Z* dddddZ+d Z,	 ddlm,Z,  G d  d!e(      Z- G d" d#ej\                        Z/ G d$ d%ej\                        Z0 G d& d'ej6                        Z1 G d( d)ejd                        Z3y# e$ r Y w xY w# e$ r Y w xY w# e$ r Y w xY w# e$ r Y w xY w# e$ r d Z*Y w xY w# e$ r Y w xY w)*)	ChainMapCounterOrderedDictUserDictUserList
UserStringdefaultdictdeque
namedtuple    N)chain)repeat)starmap)	iskeyword)eq)
itemgetter)recursive_repr)proxy)r	   )_deque_iterator)r   c                       e Zd Zd Zy)_OrderedDictKeysViewc              #   J   K   t        | j                        E d {    y 7 wNreversed_mappingselfs    //root/Python-3.12.4/Lib/collections/__init__.py__reversed__z!_OrderedDictKeysView.__reversed__A   s     DMM***s   #!#N__name__
__module____qualname__r        r   r   r   ?   s    +r%   r   c                       e Zd Zd Zy)_OrderedDictItemsViewc              #   f   K   t        | j                        D ]  }|| j                  |   f  y wr   r   r   keys     r   r   z"_OrderedDictItemsView.__reversed__F   s2     DMM* 	,Cc*++	,s   /1Nr    r$   r%   r   r'   r'   D   s    ,r%   r'   c                       e Zd Zd Zy)_OrderedDictValuesViewc              #   b   K   t        | j                        D ]  }| j                  |     y wr   r   r)   s     r   r   z#_OrderedDictValuesView.__reversed__L   s-     DMM* 	%C--$$	%s   -/Nr    r$   r%   r   r,   r,   J   s    %r%   r,   c                       e Zd ZdZy)_Link)prevnextr*   __weakref__N)r!   r"   r#   	__slots__r$   r%   r   r/   r/   P   s    4Ir%   r/   c                   b   e Zd Z	 d ZddZej                  eefdZej                  fdZ	d Z
d Zd ZddZdd	Zd
 Zej"                  j$                  xZZd Zd Zd Zej"                  j.                  Z e       ZefdZddZ e       d        Zd Zd Ze dd       Z!d Z"d Z#d Z$d Z%y)r   c                    	 t         j                  |       }t               |_        t	        |j                        x|_        }|x|_        |_        i |_        |S r   )	dict__new__r/   _OrderedDict__hardroot_proxy_OrderedDict__rootr0   r1   _OrderedDict__map)clsargskwdsr   roots        r   r7   zOrderedDict.__new__b   sK    N||C '#DOO44d $$	DI
r%   c                ,    	  | j                   |fi | y r   )_OrderedDict__update)r   otherr>   s      r   __init__zOrderedDict.__init__k   s    	 	e$t$r%   c                     	 || vrX |       x| j                   |<   }| j                  }|j                  }|||c|_        |_        |_        ||_         ||      |_         || ||       y r   )r;   r:   r0   r1   r*   )	r   r*   valuedict_setitemr   Linklinkr?   lasts	            r   __setitem__zOrderedDict.__setitem__q   sh    + d?%)V+DJJsOd;;D99D-14*DIty$(DIdDIT3&r%   c                     	  || |       | j                   j                  |      }|j                  }|j                  }||_        ||_        d |_        d |_        y r   )r;   popr0   r1   )r   r*   dict_delitemrH   	link_prev	link_nexts         r   __delitem__zOrderedDict.__delitem__   sQ    * 	T3zz~~c"II	II	"	"			r%   c              #      K   	 | j                   }|j                  }||ur |j                   |j                  }||ury y wr   )r:   r1   r*   r   r?   currs      r   __iter__zOrderedDict.__iter__   s?     %{{yy$((N99D $
   <AAc              #      K   	 | j                   }|j                  }||ur |j                   |j                  }||ury y wr   )r:   r0   r*   rR   s      r   r   zOrderedDict.__reversed__   s?     -{{yy$((N99D $rU   c                     	 | j                   }|x|_        |_        | j                  j	                          t
        j	                  |        y r   )r:   r0   r1   r;   clearr6   )r   r?   s     r   rX   zOrderedDict.clear   s8    8{{ $$	DI



4r%   c                 :   	 | st        d      | j                  }|r'|j                  }|j                  }||_        ||_        n&|j                  }|j                  }||_        ||_        |j                  }| j
                  |= t        j                  | |      }||fS )Nzdictionary is empty)KeyErrorr:   r0   r1   r*   r;   r6   rL   )r   rI   r?   rH   rN   rO   r*   rE   s           r   popitemzOrderedDict.popitem   s    	 011{{99D		I!IN!DI99D		I!DI!INhhJJsOs#Ezr%   c                 F   	 | j                   |   }|j                  }|j                  }|j                  }||_        ||_        | j                  }|r)|j                  }||_        ||_        ||_        ||_        y |j                  }||_        ||_        ||_        ||_        y r   )r;   r0   r1   r:   )	r   r*   rI   rH   rN   rO   	soft_linkr?   firsts	            r   move_to_endzOrderedDict.move_to_end   s    	 zz#II	II	NN	"	"	{{99DDIDI!DIDIIIEDIDI"EJDIr%   c                     t         j                  }t        |       dz   } || j                        }| || j                        dz  z  }| || j
                        |z  z  }| || j                        |z  z  }|S )N      )_sys	getsizeoflen__dict__r;   r8   r:   )r   sizeofnsizes       r   
__sizeof__zOrderedDict.__sizeof__   ss    IMdmm$tzz"Q&&t'!++t{{#a''r%   c                     	 t        |       S r   )r   r   s    r   keyszOrderedDict.keys   s    D#D))r%   c                     	 t        |       S r   )r'   r   s    r   itemszOrderedDict.items   s    F$T**r%   c                     	 t        |       S r   )r,   r   s    r   valueszOrderedDict.values   s    @%d++r%   c                    	 | j                   }t        j                  | ||      }||urQ| j                  j                  |      }|j                  }|j
                  }||_        ||_        d |_        d |_        |S ||u rt        |      |S r   )_OrderedDict__markerr6   rL   r;   r0   r1   rZ   )r   r*   defaultmarkerresultrH   rN   rO   s           r   rL   zOrderedDict.pop   s    	
 $V,::>>#&D		I		I&IN&INDIDIMf3-r%   Nc                 $    	 || v r| |   S || |<   |S r   r$   r   r*   rs   s      r   
setdefaultzOrderedDict.setdefault  s(    	 $;9S	r%   c                     	 | s| j                   j                  dS | j                   j                  dt        | j                               dS Nz()())	__class__r!   r6   rn   r   s    r   __repr__zOrderedDict.__repr__  s;    %!^^4466>>22D4FGGr%   c                 z   	 | j                         }|rt        |t              r|\  }}ni }|j                         }|j                         }t	        t                     D ]&  }|j                  |d        |j                  |d        ( |r||f}n|xs d }| j                  d|d t        | j                               fS )Nr$   )
__getstate__
isinstancetuplecopyvarsr   rL   r}   iterrn   )r   stateslotsks       r   
__reduce__zOrderedDict.__reduce__  s    /!!#%'$uJJLEJJLE+-( #		!T"		!T"# u~~r5$TZZ\0BBBr%   c                 &    	 | j                  |       S r   r}   r   s    r   r   zOrderedDict.copy*  s    +~~d##r%   c                 .    	  |        }|D ]  }|||<   	 |S r   r$   )r<   iterablerE   r   r*   s        r   fromkeyszOrderedDict.fromkeys.  s+    	u 	CDI	r%   c                     	 t        |t              r2t        j                  | |      xr t	        t        t        | |            S t        j                  | |      S r   )r   r   r6   __eq__allmap_eqr   rB   s     r   r   zOrderedDict.__eq__7  sH    	 e[);;tU+JCT54I0JJ{{4''r%   c                 (    | j                  |       | S r   )updater   s     r   __ior__zOrderedDict.__ior__@  s    Er%   c                 v    t        |t              st        S | j                  |       }|j	                  |       |S r   r   r6   NotImplementedr}   r   r   rB   news      r   __or__zOrderedDict.__or__D  s1    %&!!nnT"

5
r%   c                 v    t        |t              st        S | j                  |      }|j	                  |        |S r   r   r   s      r   __ror__zOrderedDict.__ror__K  s1    %&!!nnU#

4
r%   )r$   )Tr   )&r!   r"   r#   r7   rC   r6   rJ   r9   r/   rP   rT   r   rX   r[   r_   rj   _collections_abcMutableMappingr   rA   rl   rn   rp   __ne__objectrr   rL   rx   _recursive_reprr~   r   r   classmethodr   r   r   r   r   r$   r%   r   r   r   S   s    /% "&!1!1e' -1,<,< .2 )77>>>FX*+, ,,33FxH' , H HC&$  (r%   r   )r   )_tuplegetterc                 .    t        t        |       |      S )N)doc)property_itemgetter)indexr   s     r   <lambda>r   a  s    h{5/As&K r%   F)renamedefaultsmodulec                4   	 t        t              r j                  dd      j                         t	        t        t                    t        j                  t        |             } |rft               }t              D ]N  \  }}|j                         r t        |      s|j                  d      s||v rd| |<   |j                  |       P | gz   D ]U  }t        |      t        urt        d      |j                         st!        d|      t        |      sIt!        d|       t               }D ]F  }|j                  d      r|st!        d|      ||v rt!        d|      |j                  |       H i }|ft#        |      }t%        |      t%              kD  rt        d	      t'        t)        t	        t+        t)              t)        |                              }t#        t        t        j                              t%              d
j-                        }	dk(  r|	dz  }	dd
j-                  d D              z   dz   t"        j.                  t&        t"        t$        t
        t*        f\  i d|  d}
d|	 d|	 d}t1        ||
      }d|_        d|  d|	 d|_        |||_        t8        fd       }d|  d|j:                  _        fd}d|  d|_        fd}fd}fd}||j:                  ||||fD ]  }|  d|j2                   |_         |  d|	 dd |||||||d!}t              D ],  \  }}t        j                  d"|       }t?        ||      ||<   . t        | t"        f|      }|	 t        j@                  d      xs d#}|||_%        |S # tB        $ rI 	 t        jD                  d      jF                  jI                  d$d#      }n# tB        t         f$ r Y nw xY wY \w xY w)%N, _z*Type names and field names must be stringsz6Type names and field names must be valid identifiers: z0Type names and field names cannot be a keyword: z-Field names cannot start with an underscore: z"Encountered duplicate field name: z(Got more default values than field names, ra   r{   c              3   &   K   | ]	  }| d   yw)z=%rNr$   ).0names     r   	<genexpr>znamedtuple.<locals>.<genexpr>  s     D$s|Ds   r|   namedtuple_)
_tuple_new__builtins__r!   zlambda _cls, z: _tuple_new(_cls, (z))r7   zCreate new instance of c                 d     | |      } |      k7  rt        d dt        |             |S )Nz	Expected z arguments, got )	TypeErrorre   )r<   r   ru   _len
num_fields	tuple_news      r   _makeznamedtuple.<locals>._make  s=    3)<:%i
|3CCK=QRRr%   zMake a new z# object from a sequence or iterablec                    | j                   |j                  |             }|rt        dt        |            |S )NzGot unexpected field names: )r   rL   
ValueErrorlist)r   r>   ru   _mapfield_namess      r   _replaceznamedtuple.<locals>._replace  s=    D;=>;DJ>JKKr%   zReturn a new z2 object replacing specified fields with new valuesc                 >    	 | j                   j                  | z  z   S r   )r}   r!   )r   repr_fmts    r   r~   znamedtuple.<locals>.__repr__  s    9~~&&D88r%   c                 8    	   | j                   |             S r   )_fields)r   _dict_zips    r   _asdictznamedtuple.<locals>._asdict  s    CT$,,-..r%   c                     	  |       S r   r$   )r   _tuples    r   __getnewargs__z"namedtuple.<locals>.__getnewargs__  s    Ad|r%   .r$   )__doc__r3   r   _field_defaultsr7   r   r   r~   r   r   __match_args__zAlias for field number __main__r!   )&r   strreplacesplitr   r   rc   internset	enumerateisidentifier
_iskeyword
startswithaddtyper   r   r   re   r6   r   zipjoinr7   evalr!   r   __defaults__r   __func__r#   r   _getframemodulenameAttributeError	_getframe	f_globalsgetr"   )typenamer   r   r   r   seenr   r   field_defaultsarg_list	namespacecoder7   r   r   r~   r   r   methodclass_namespacer   ru   r   r   r   r   r   r   r   r   s    `                    @@@@@@@@r   r
   r
   c  s   2 +s#!))#s399;s3,-K{{3x=)Hu$[1 	KE4%%'d#??3'4<'([E"HHTN	 
[( 3:S HII  " --1H6 7 7d ))-2 3 33 5D ??3L $x) * *4<A$JKK N?x=3{++FGGhtC0E080B-D (E F G DKK56K[!Jyy%HQCTYYDDDDsJHI&*E3S&@#E64t
  !(,I
 8*$8
"ED4#G G/z8*AFGO'  !,H: 6, ,ENN (z 21 1H9/ 	 > "*
!FOO+<=> Zq
!,)(%O !- 9tkk3E7;< ,UC 89 (UHo6F ~	--a0>JF "M  	*4488ZP"J/ 	s6   !O 	P/O?>P?PPPPPc                 J    	 | j                   }|D ]  } ||d      dz   | |<    y Nr   ra   )r   )mappingr   mapping_getelems       r   _count_elementsr     s2    '++K 1#D!,q01r%   )r   c                        e Zd Z	 d fd	Zd Zd ZddZd Zedd       Z	d fd	Z
ddZd	 Zd
 Z fdZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z  xZ!S )r   c                J    	 t         |            | j                  |fi | y r   )superrC   r   )r   r   r>   r}   s      r   rC   zCounter.__init__S  s(    		 	H%%r%   c                      	 yNr   r$   r)   s     r   __missing__zCounter.__missing__a  s    ;r%   c                 6    	 t        | j                               S r   )sumrp   r   s    r   totalzCounter.totalf  s    4;;=!!r%   c                     	 |%t        | j                         t        d      d      S dd l}|j	                  || j                         t        d            S )Nra   T)r*   reverser   )r*   )sortedrn   r   heapqnlargest)r   rh   r  s      r   most_commonzCounter.most_commonj  sK    	 9$**,KNDII 	~~a;q>~BBr%   c                 f    	 t        j                  t        t        | j	                                     S r   )_chainfrom_iterable_starmap_repeatrn   r   s    r   elementszCounter.elementsz  s'    	$ ##HWdjjl$CDDr%   c                     t        d      )Nz@Counter.fromkeys() is undefined.  Use Counter(iterable) instead.)NotImplementedError)r<   r   vs      r   r   zCounter.fromkeys  s     "NP 	Pr%   c                   	 |lt        |t        j                        rF| r4| j                  }|j	                         D ]  \  }}| ||d      z   | |<    nt
        |   |       nt        | |       |r| j                  |       y y r   )r   r   Mappingr   rn   r   r   r   )r   r   r>   self_getr   countr}   s         r   r   zCounter.update  s    	& ($4$<$<=#xxH'/~~'7 ?e%*XdA->%>T
? GN8,h/KK r%   c                    	 |d| j                   }t        |t        j                        r(|j	                         D ]  \  }} ||d      |z
  | |<    n|D ]  } ||d      dz
  | |<    |r| j                  |       y y r   )r   r   r   r  rn   subtract)r   r   r>   r  r   r  s         r   r  zCounter.subtract  s    	 xxH($4$<$<=#+>>#3 ;KD%!)$!2U!:DJ; % 7D!)$!2Q!6DJ7MM$ r%   c                 &    	 | j                  |       S r   r   r   s    r   r   zCounter.copy  s     ~~d##r%   c                 2    | j                   t        |       ffS r   )r}   r6   r   s    r   r   zCounter.__reduce__  s    ~~T
},,r%   c                 0    	 || v rt         |   |       y y r   )r   rP   )r   r   r}   s     r   rP   zCounter.__delitem__  s    Q4<G% r%   c                     | s| j                   j                   dS 	 t        | j                               }| j                   j                   d|dS # t        $ r t        |       }Y 2w xY wrz   )r}   r!   r6   r  r   )r   ds     r   r~   zCounter.__repr__  so    nn--.b11	T%%'(A ..))*!A522  	T
A	s   A A)(A)c                 b     	 t        t              st        S t         fd fD              S )Nc              3   B   K   | ]  }|D ]  }|   |   k(     y wr   r$   r   cerB   r   s      r   r   z!Counter.__eq__.<locals>.<genexpr>  +     I1qI!47eAh&I&I   r   r   r   r   r   s   ``r   r   zCounter.__eq__  s+    G%)!!IuIIIr%   c                 <    	 t        |t              st        S | |k(   S r   r   r   r   r   s     r   r   zCounter.__ne__  s"    J%)!!5=  r%   c                 b     	 t        t              st        S t         fd fD              S )Nc              3   B   K   | ]  }|D ]  }|   |   k     y wr   r$   r  s      r   r   z!Counter.__le__.<locals>.<genexpr>#  r"  r#  r$  r   s   ``r   __le__zCounter.__le__  s+    D%)!!IuIIIr%   c                 H    	 t        |t              st        S | |k  xr | |k7  S r   r&  r   s     r   __lt__zCounter.__lt__%  s(    K%)!!u}..r%   c                 b     	 t        t              st        S t         fd fD              S )Nc              3   B   K   | ]  }|D ]  }|   |   k\     y wr   r$   r  s      r   r   z!Counter.__ge__.<locals>.<genexpr>/  r"  r#  r$  r   s   ``r   __ge__zCounter.__ge__+  s+    F%)!!IuIIIr%   c                 H    	 t        |t              st        S | |k\  xr | |k7  S r   r&  r   s     r   __gt__zCounter.__gt__1  s(    M%)!!u}..r%   c                     	 t        |t              st        S t               }| j                         D ]  \  }}|||   z   }|dkD  s|||<    |j                         D ]  \  }}|| vs|dkD  s|||<    |S r   r   r   r   rn   r   rB   ru   r   r  newcounts         r   __add__zCounter.__add__7  s    	 %)!!::< 	(KD%uT{*H!|'t	( !;;= 	%KD%4EAI$t	% r%   c                     	 t        |t              st        S t               }| j                         D ]  \  }}|||   z
  }|dkD  s|||<    |j                         D ]  \  }}|| vs|dk  sd|z
  ||<    |S r   r2  r3  s         r   __sub__zCounter.__sub__J  s    	 %)!!::< 	(KD%uT{*H!|'t	( !;;= 	)KD%4EAI 5yt	) r%   c                     	 t        |t              st        S t               }| j                         D ]  \  }}||   }||k  r|n|}|dkD  s|||<     |j                         D ]  \  }}|| vs|dkD  s|||<    |S r   r2  r   rB   ru   r   r  other_countr4  s          r   r   zCounter.__or__]  s    	 %)!!::< 	(KD%+K&+k&9{uH!|'t		(
 !;;= 	%KD%4EAI$t	% r%   c                     	 t        |t              st        S t               }| j                         D ]  \  }}||   }||k  r|n|}|dkD  s|||<     |S r   r2  r9  s          r   __and__zCounter.__and__q  sg    	 %)!!::< 	(KD%+K % 3uH!|'t		(
 r%   c                 b    	 t               }| j                         D ]  \  }}|dkD  s|||<    |S r   r   rn   r   ru   r   r  s       r   __pos__zCounter.__pos__  s<    O::< 	%KD%qy$t	% r%   c                 h    	 t               }| j                         D ]  \  }}|dk  sd|z
  ||<    |S r   r>  r?  s       r   __neg__zCounter.__neg__  sD    	 ::< 	)KD%qy 5yt	) r%   c                 x    	 | j                         D cg c]  \  }}|dkD  r| }}}|D ]  }| |=  | S c c}}w r   )rn   )r   r   r  nonpositives       r   _keep_positivezCounter._keep_positive  sI    M/3zz|Me519tMM 	DT
	 Ns   66c                 n    	 |j                         D ]  \  }}| |xx   |z  cc<    | j                         S r   rn   rE  r   rB   r   r  s       r   __iadd__zCounter.__iadd__  ?    	 !;;= 	 KD%J%J	 ""$$r%   c                 n    	 |j                         D ]  \  }}| |xx   |z  cc<    | j                         S r   rG  rH  s       r   __isub__zCounter.__isub__  rJ  r%   c                 t    	 |j                         D ]  \  }}| |   }||kD  s|| |<    | j                         S r   rG  )r   rB   r   r:  r  s        r   r   zCounter.__ior__  sN    	 "' 	)D+JEU"(T
	) ""$$r%   c                 t    	 | j                         D ]  \  }}||   }||k  s|| |<    | j                         S r   rG  )r   rB   r   r  r:  s        r   __iand__zCounter.__iand__  sM    	  ::< 	)KD%+KU"(T
	) ""$$r%   r   )"r!   r"   r#   rC   r   r  r  r  r   r   r   r  r   r   rP   r~   r   r   r)  r+  r.  r0  r5  r7  r   r<  r@  rB  rE  rI  rL  r   rO  __classcell__r   s   @r   r   r      s    *d&
"C E. 	P 	P D 6$-&
	3ZJ!J/J/&&("	%%%%r%   r   c                       e Zd Z	 d Zd Zd ZddZd Zd Zd Z	d	 Z
 e       d
        Zed        Zd ZeZddZed        Zd Zd Zd Zd Zd Zd Zd Zd Zy)r   c                 0    	 t        |      xs i g| _        y r   )r   maps)r   rS  s     r   rC   zChainMap.__init__  s    	 J&2$	r%   c                     t        |      r   )rZ   r)   s     r   r   zChainMap.__missing__  s    smr%   c                 r    | j                   D ]	  }	 ||   c S  | j                  |      S # t        $ r Y (w xY wr   )rS  rZ   r   )r   r*   r   s      r   __getitem__zChainMap.__getitem__  sK    yy 	Gs|#	
 $$  s   *	66Nc                     || v r| |   S |S r   r$   rw   s      r   r   zChainMap.get  s    4KtCy4W4r%   c                 V    t         t               j                  | j                         S r   )re   r   unionrS  r   s    r   __len__zChainMap.__len__  s    ;35;;		*++r%   c                     i }t        t        j                  t        | j                              D ]  }||z  }	 t        |      S r   )r   r6   r   r   rS  r   )r   r  r   s      r   rT   zChainMap.__iter__  s<    4==(499*=> 	GLA	Awr%   c                 @    t        fd| j                  D              S )Nc              3   &   K   | ]  }|v  
 y wr   r$   )r   mr*   s     r   r   z(ChainMap.__contains__.<locals>.<genexpr>  s     /3!8/s   anyrS  r)   s    `r   __contains__zChainMap.__contains__  s    /TYY///r%   c                 ,    t        | j                        S r   r_  r   s    r   __bool__zChainMap.__bool__      499~r%   c                     | j                   j                   ddj                  t        t        | j
                               dS )Nr{   r   r|   )r}   r!   r   r   reprrS  r   s    r   r~   zChainMap.__repr__  s5    ..))*!DIIc$		6J,K+LANNr%   c                 <    	  | t        j                  |g|       S r   )r6   r   )r<   r   r=   s      r   r   zChainMap.fromkeys  s    I4==1D122r%   c                 z    	  | j                   | j                  d   j                         g| j                  dd   S r   )r}   rS  r   r   s    r   r   zChainMap.copy  s6    Rt~~diil//1BDIIabMBBr%   c                 n    	 ||}n|r|j                  |        | j                  |g| j                   S r   )r   r}   rS  )r   r^  kwargss      r   	new_childzChainMap.new_child  s<    	 9AHHVt~~a,$)),,r%   c                 <    	  | j                   | j                  dd   S )Nra   )r}   rS  r   s    r   parentszChainMap.parents%  s     %t~~tyy}--r%   c                 (    || j                   d   |<   y r   )rS  )r   r*   rE   s      r   rJ   zChainMap.__setitem__*  s    !		!Sr%   c                 \    	 | j                   d   |= y # t        $ r t        d|      w xY wNr   z$Key not found in the first mapping: )rS  rZ   r)   s     r   rP   zChainMap.__delitem__-  s<    	K		!S! 	KA#IJJ	Ks    +c                 p    	 	 | j                   d   j                         S # t        $ r t        d      w xY w)Nr   z#No keys found in the first mapping.)rS  r[   rZ   r   s    r   r[   zChainMap.popitem3  s?    Z	B99Q<'')) 	B@AA	Bs     5c                 |    	 	  | j                   d   j                  |g| S # t        $ r t        d|      w xY wrp  )rS  rL   rZ   )r   r*   r=   s      r   rL   zChainMap.pop:  sO    a	K#499Q<##C/$// 	KA#IJJ	Ks   # ;c                 @    	 | j                   d   j                          y r   )rS  rX   r   s    r   rX   zChainMap.clearA  s    1		!r%   c                 B    | j                   d   j                  |       | S r   )rS  r   r   s     r   r   zChainMap.__ior__E  s    		!E"r%   c                     t        |t        j                        st        S | j	                         }|j
                  d   j                  |       |S r   )r   r   r  r   r   rS  r   )r   rB   r^  s      r   r   zChainMap.__or__I  s?    %!1!9!9:!!IIK	q	r%   c                     t        |t        j                        st        S t	        |      }t        | j                        D ]  }|j                  |        | j                  |      S r   )	r   r   r  r   r6   r   rS  r   r}   )r   rB   r^  childs       r   r   zChainMap.__ror__P  sT    %!1!9!9:!!Kdii( 	EHHUO	~~a  r%   r   )r!   r"   r#   rC   r   rV  r   rZ  rT   ra  rc  r   r~   r   r   r   __copy__rk  r   rm  rJ   rP   r[   rL   rX   r   r   r   r$   r%   r   r   r     s    '%5,0 O O 3 3C H	- . ."KBK!r%   r   c                   v    e Zd ZddZd Zd Zd Zd Zd Zd Z	dd	Z
d
 Zd Zd Zd Zd Zd Zedd       Zy)r   Nc                `    i | _         || j                  |       |r| j                  |       y y r   )datar   )r   r6   rj  s      r   rC   zUserDict.__init__`  s/    	KKKK r%   c                 ,    t        | j                        S r   re   r{  r   s    r   rZ  zUserDict.__len__g  rd  r%   c                     || j                   v r| j                   |   S t        | j                  d      r| j                  j                  | |      S t	        |      )Nr   )r{  hasattrr}   r   rZ   r)   s     r   rV  zUserDict.__getitem__j  sK    $))99S>!4>>=1>>--dC88smr%   c                 "    || j                   |<   y r   r{  )r   r*   items      r   rJ   zUserDict.__setitem__q  s    		#r%   c                     | j                   |= y r   r  r)   s     r   rP   zUserDict.__delitem__t  s    IIcNr%   c                 ,    t        | j                        S r   )r   r{  r   s    r   rT   zUserDict.__iter__w      DIIr%   c                     || j                   v S r   r  r)   s     r   ra  zUserDict.__contains__|  s    diir%   c                     || v r| |   S |S r   r$   rw   s      r   r   zUserDict.get  s    $;9r%   c                 ,    t        | j                        S r   rf  r{  r   s    r   r~   zUserDict.__repr__  r  r%   c                     t        |t              r(| j                  | j                  |j                  z        S t        |t              r| j                  | j                  |z        S t
        S r   r   r   r}   r{  r6   r   r   s     r   r   zUserDict.__or__  sP    eX&>>$))ejj"899eT">>$))e"344r%   c                     t        |t              r(| j                  |j                  | j                  z        S t        |t              r| j                  || j                  z        S t
        S r   r  r   s     r   r   zUserDict.__ror__  sP    eX&>>%**tyy"899eT">>%$))"344r%   c                     t        |t              r!| xj                  |j                  z  c_        | S | xj                  |z  c_        | S r   )r   r   r{  r   s     r   r   zUserDict.__ior__  s:    eX&II#I  IIIr%   c                     | j                   j                  | j                         }|j                  j                  | j                         | j                  d   j	                         |j                  d<   |S Nr{  )r}   r7   rf   r   r   r   insts     r   rx  zUserDict.__copy__  sU    ~~%%dnn5T]]+ $f 5 : : <fr%   c                 
   | j                   t        u r#t        | j                  j                               S dd l}| j                  }	 i | _        |j                  |       }|| _        |j	                  |        |S # || _        w xY wr   )r}   r   r{  r   r   )r   r   r{  r   s       r   r   zUserDict.copy  sk    >>X%DIINN,--yy	DI		$ADI	 DIs   A9 9	Bc                 ,     |        }|D ]  }|||<   	 |S r   r$   )r<   r   rE   r  r*   s        r   r   zUserDict.fromkeys  s&    E 	CAcF	r%   r   )r!   r"   r#   rC   rZ  rV  rJ   rP   rT   ra  r   r~   r   r   r   rx  r   r   r   r$   r%   r   r   r   ]  s\     
   r%   r   c                       e Zd Z	 d dZd Zd Zd Zd Zd Zd Z	d	 Z
d
 Zd Zd Zd Zd Zd Zd Zd Zd ZeZd Zd Zd Zd Zd!dZd Zd Zd Zd Zd Zd Zd Z d Z!y)"r   Nc                     g | _         |ot        |      t        | j                         k(  r|| j                   d d  y t        |t              r|j                   d d  | j                   d d  y t	        |      | _         y y r   )r{  r   r   r   r   )r   initlists     r   rC   zUserList.__init__  s`    	H~dii0'		!Hh/'}}Q/		! N	  r%   c                 ,    t        | j                        S r   r  r   s    r   r~   zUserList.__repr__  r  r%   c                 >    | j                   | j                  |      k  S r   r{  _UserList__castr   s     r   r+  zUserList.__lt__      yy4;;u---r%   c                 >    | j                   | j                  |      k  S r   r  r   s     r   r)  zUserList.__le__      yyDKK...r%   c                 >    | j                   | j                  |      k(  S r   r  r   s     r   r   zUserList.__eq__  r  r%   c                 >    | j                   | j                  |      kD  S r   r  r   s     r   r0  zUserList.__gt__  r  r%   c                 >    | j                   | j                  |      k\  S r   r  r   s     r   r.  zUserList.__ge__  r  r%   c                 >    t        |t              r|j                  S |S r   )r   r   r{  r   s     r   __castzUserList.__cast  s    'x8uzzCeCr%   c                     || j                   v S r   r  r   r  s     r   ra  zUserList.__contains__  s    tyy  r%   c                 ,    t        | j                        S r   r}  r   s    r   rZ  zUserList.__len__  rd  r%   c                 |    t        |t              r| j                  | j                  |         S | j                  |   S r   )r   slicer}   r{  r   is     r   rV  zUserList.__getitem__  s1    a>>$))A,//99Q<r%   c                 "    || j                   |<   y r   r  r   r  r  s      r   rJ   zUserList.__setitem__  s    		!r%   c                     | j                   |= y r   r  r  s     r   rP   zUserList.__delitem__  s    IIaLr%   c                 :   t        |t              r(| j                  | j                  |j                  z         S t        |t	        | j                              r| j                  | j                  |z         S | j                  | j                  t        |      z         S r   r   r   r}   r{  r   r   r   s     r   r5  zUserList.__add__  sn    eX&>>$))ejj"899tDII/>>$))e"344~~dii$u+566r%   c                 :   t        |t              r(| j                  |j                  | j                  z         S t        |t	        | j                              r| j                  || j                  z         S | j                  t        |      | j                  z         S r   r  r   s     r   __radd__zUserList.__radd__  sn    eX&>>%**tyy"899tDII/>>%$))"344~~d5kDII566r%   c                    t        |t              r!| xj                  |j                  z  c_        | S t        |t        | j                              r| xj                  |z  c_        | S | xj                  t	        |      z  c_        | S r   )r   r   r{  r   r   r   s     r   rI  zUserList.__iadd__  sg    eX&II#I
 	 tDII/III  IIe$Ir%   c                 >    | j                  | j                  |z        S r   r}   r{  r   rh   s     r   __mul__zUserList.__mul__
      ~~dii!m,,r%   c                 0    | xj                   |z  c_         | S r   r  r  s     r   __imul__zUserList.__imul__  s    		Q	r%   c                     | j                   j                  | j                         }|j                  j                  | j                         | j                  d   d d  |j                  d<   |S r  )r}   r7   rf   r   r  s     r   rx  zUserList.__copy__  sQ    ~~%%dnn5T]]+ $f 5a 8fr%   c                 :    | j                   j                  |       y r   )r{  appendr  s     r   r  zUserList.append      		r%   c                 <    | j                   j                  ||       y r   )r{  insertr  s      r   r  zUserList.insert  s    		D!r%   c                 8    | j                   j                  |      S r   )r{  rL   r  s     r   rL   zUserList.pop   s    yy}}Qr%   c                 :    | j                   j                  |       y r   )r{  remover  s     r   r  zUserList.remove#  r  r%   c                 8    | j                   j                          y r   )r{  rX   r   s    r   rX   zUserList.clear&  s    		r%   c                 $    | j                  |       S r   r   r   s    r   r   zUserList.copy)  s    ~~d##r%   c                 8    | j                   j                  |      S r   )r{  r  r  s     r   r  zUserList.count,  s    yyt$$r%   c                 <     | j                   j                  |g| S r   r{  r   )r   r  r=   s      r   r   zUserList.index/  s    tyyt+d++r%   c                 8    | j                   j                          y r   )r{  r  r   s    r   r  zUserList.reverse2  s    		r%   c                <     | j                   j                  |i | y r   )r{  sortr   r=   r>   s      r   r  zUserList.sort5  s    		%%r%   c                     t        |t              r&| j                  j                  |j                         y | j                  j                  |       y r   )r   r   r{  extendr   s     r   r  zUserList.extend8  s4    eX&IIUZZ(IIU#r%   r   )"r!   r"   r#   rC   r~   r+  r)  r   r0  r.  r  ra  rZ  rV  rJ   rP   r5  r  rI  r  __rmul__r  rx  r  r  rL   r  rX   r   r  r   r  r  r  r$   r%   r   r   r     s    K	+.//./D! 77- H" $%,&$r%   r   c                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd ZeZd Zd Zd Zd Zd Zdej:                  fdZd Zd Z dFdZ!dej:                  fdZ"dGdZ#dej:                  fd Z$d! Z%d" Z&dej:                  fd#Z'd$ Z(d% Z)d& Z*d' Z+d( Z,d) Z-d* Z.d+ Z/d, Z0d- Z1d. Z2d/ Z3d0 Z4d1 Z5d2 Z6dHd4Z7e8jr                  Z9d5 Z:dId6Z;dej:                  fd7Z<dej:                  fd8Z=d9 Z>d: Z?dHd;Z@dJd<ZAdJd=ZBdKd>ZCdej:                  fd?ZDdHd@ZEdA ZFdB ZGdC ZHdD ZIdE ZJy3)Lr   c                     t        |t              r|| _        y t        |t              r|j                  d d  | _        y t        |      | _        y r   )r   r   r{  r   r   seqs     r   rC   zUserString.__init__E  s7    c3DIZ(DICDIr%   c                 ,    t        | j                        S r   )r   r{  r   s    r   __str__zUserString.__str__M  rd  r%   c                 ,    t        | j                        S r   r  r   s    r   r~   zUserString.__repr__P  r  r%   c                 ,    t        | j                        S r   )intr{  r   s    r   __int__zUserString.__int__S  rd  r%   c                 ,    t        | j                        S r   )floatr{  r   s    r   	__float__zUserString.__float__V  s    TYYr%   c                 ,    t        | j                        S r   )complexr{  r   s    r   __complex__zUserString.__complex__Y  s    tyy!!r%   c                 ,    t        | j                        S r   )hashr{  r   s    r   __hash__zUserString.__hash__\  r  r%   c                 "    | j                   d d  fS r   r  r   s    r   r   zUserString.__getnewargs___  s    		!r%   c                 r    t        |t              r| j                  |j                  k(  S | j                  |k(  S r   r   r   r{  r   strings     r   r   zUserString.__eq__b  .    fj)99++yyF""r%   c                 r    t        |t              r| j                  |j                  k  S | j                  |k  S r   r  r  s     r   r+  zUserString.__lt__g  .    fj)99v{{**yy6!!r%   c                 r    t        |t              r| j                  |j                  k  S | j                  |k  S r   r  r  s     r   r)  zUserString.__le__l  r  r%   c                 r    t        |t              r| j                  |j                  kD  S | j                  |kD  S r   r  r  s     r   r0  zUserString.__gt__q  r  r%   c                 r    t        |t              r| j                  |j                  k\  S | j                  |k\  S r   r  r  s     r   r.  zUserString.__ge__v  r  r%   c                 V    t        |t              r|j                  }|| j                  v S r   r  )r   chars     r   ra  zUserString.__contains__{  s$    dJ'99Dtyy  r%   c                 ,    t        | j                        S r   r}  r   s    r   rZ  zUserString.__len__  rd  r%   c                 >    | j                  | j                  |         S r   r  )r   r   s     r   rV  zUserString.__getitem__  s    ~~dii.//r%   c                    t        |t              r(| j                  | j                  |j                  z         S t        |t              r| j                  | j                  |z         S | j                  | j                  t	        |      z         S r   )r   r   r}   r{  r   r   s     r   r5  zUserString.__add__  sf    eZ(>>$))ejj"899s#>>$))e"344~~dii#e*455r%   c                     t        |t              r| j                  || j                  z         S | j                  t        |      | j                  z         S r   )r   r   r}   r{  r   s     r   r  zUserString.__radd__  s@    eS!>>%$))"344~~c%j499455r%   c                 >    | j                  | j                  |z        S r   r  r  s     r   r  zUserString.__mul__  r  r%   c                 >    | j                  | j                  |z        S r   r  r   r=   s     r   __mod__zUserString.__mod__  s    ~~dii$.//r%   c                 <    | j                  t        |      | z        S r   )r}   r   )r   templates     r   __rmod__zUserString.__rmod__  s    ~~c(md233r%   c                 T    | j                  | j                  j                               S r   )r}   r{  
capitalizer   s    r   r  zUserString.capitalize  s    ~~dii22455r%   c                 T    | j                  | j                  j                               S r   )r}   r{  casefoldr   s    r   r  zUserString.casefold      ~~dii00233r%   c                 Z    | j                   | j                  j                  |g|       S r   )r}   r{  centerr   widthr=   s      r   r  zUserString.center  s(    ~~.dii..u<t<==r%   r   c                 t    t        |t              r|j                  }| j                  j                  |||      S r   )r   r   r{  r  r   substartends       r   r  zUserString.count  ,    c:&((CyysE3//r%   c                    t        |t              r|j                  }| j                  | j                  j	                  |            S r   )r   r   r{  r}   removeprefix)r   prefixs     r   r  zUserString.removeprefix  3    fj)[[F~~dii44V<==r%   c                    t        |t              r|j                  }| j                  | j                  j	                  |            S r   )r   r   r{  r}   removesuffix)r   suffixs     r   r  zUserString.removesuffix  r  r%   c                 R    |dn|}|dn|}| j                   j                  ||      S )Nutf-8strict)r{  encode)r   encodingerrorss      r   r  zUserString.encode  s0    &.7H#^yy&11r%   c                 <    | j                   j                  |||      S r   )r{  endswith)r   r  r  r  s       r   r  zUserString.endswith  s    yy!!&%55r%   c                 V    | j                  | j                  j                  |            S r   )r}   r{  
expandtabs)r   tabsizes     r   r  zUserString.expandtabs  s     ~~dii227;<<r%   c                 t    t        |t              r|j                  }| j                  j                  |||      S r   )r   r   r{  findr  s       r   r  zUserString.find  s,    c:&((Cyy~~c5#..r%   c                :     | j                   j                  |i |S r   )r{  formatr  s      r   r  zUserString.format  s    tyy...r%   c                 8    | j                   j                  |      S r   )r{  
format_map)r   r   s     r   r!  zUserString.format_map  s    yy##G,,r%   c                 <    | j                   j                  |||      S r   r  r  s       r   r   zUserString.index  s    yysE3//r%   c                 6    | j                   j                         S r   )r{  isalphar   s    r   r$  zUserString.isalpha      yy  ""r%   c                 6    | j                   j                         S r   )r{  isalnumr   s    r   r'  zUserString.isalnum  r%  r%   c                 6    | j                   j                         S r   )r{  isasciir   s    r   r)  zUserString.isascii  r%  r%   c                 6    | j                   j                         S r   )r{  	isdecimalr   s    r   r+  zUserString.isdecimal      yy""$$r%   c                 6    | j                   j                         S r   )r{  isdigitr   s    r   r.  zUserString.isdigit  r%  r%   c                 6    | j                   j                         S r   )r{  r   r   s    r   r   zUserString.isidentifier  s    yy%%''r%   c                 6    | j                   j                         S r   )r{  islowerr   s    r   r1  zUserString.islower  r%  r%   c                 6    | j                   j                         S r   )r{  	isnumericr   s    r   r3  zUserString.isnumeric  r,  r%   c                 6    | j                   j                         S r   )r{  isprintabler   s    r   r5  zUserString.isprintable  s    yy$$&&r%   c                 6    | j                   j                         S r   )r{  isspacer   s    r   r7  zUserString.isspace  r%  r%   c                 6    | j                   j                         S r   )r{  istitler   s    r   r9  zUserString.istitle  r%  r%   c                 6    | j                   j                         S r   )r{  isupperr   s    r   r;  zUserString.isupper  r%  r%   c                 8    | j                   j                  |      S r   )r{  r   r  s     r   r   zUserString.join  s    yy~~c""r%   c                 Z    | j                   | j                  j                  |g|       S r   )r}   r{  ljustr  s      r   r>  zUserString.ljust  %    ~~odiiooe;d;<<r%   c                 T    | j                  | j                  j                               S r   )r}   r{  lowerr   s    r   rA  zUserString.lower      ~~diioo/00r%   Nc                 V    | j                  | j                  j                  |            S r   )r}   r{  lstripr   charss     r   rD  zUserString.lstrip       ~~dii..u566r%   c                 8    | j                   j                  |      S r   )r{  	partitionr   seps     r   rI  zUserString.partition  s    yy""3''r%   c                     t        |t              r|j                  }t        |t              r|j                  }| j                  | j                  j	                  |||            S r   )r   r   r{  r}   r   )r   oldr   maxsplits       r   r   zUserString.replace  sJ    c:&((Cc:&((C~~dii//S(CDDr%   c                 t    t        |t              r|j                  }| j                  j                  |||      S r   )r   r   r{  rfindr  s       r   rP  zUserString.rfind  r	  r%   c                 <    | j                   j                  |||      S r   )r{  rindexr  s       r   rR  zUserString.rindex  s    yyUC00r%   c                 Z    | j                   | j                  j                  |g|       S r   )r}   r{  rjustr  s      r   rT  zUserString.rjust  r?  r%   c                 8    | j                   j                  |      S r   )r{  
rpartitionrJ  s     r   rV  zUserString.rpartition  s    yy##C((r%   c                 V    | j                  | j                  j                  |            S r   )r}   r{  rstriprE  s     r   rX  zUserString.rstrip  rG  r%   c                 :    | j                   j                  ||      S r   )r{  r   r   rK  rN  s      r   r   zUserString.split  s    yysH--r%   c                 :    | j                   j                  ||      S r   )r{  rsplitrZ  s      r   r\  zUserString.rsplit  s    yyX..r%   c                 8    | j                   j                  |      S r   )r{  
splitlines)r   keependss     r   r^  zUserString.splitlines"  s    yy##H--r%   c                 <    | j                   j                  |||      S r   )r{  r   )r   r  r  r  s       r   r   zUserString.startswith%  s    yy##FE377r%   c                 V    | j                  | j                  j                  |            S r   )r}   r{  striprE  s     r   rb  zUserString.strip(      ~~diiooe455r%   c                 T    | j                  | j                  j                               S r   )r}   r{  swapcaser   s    r   re  zUserString.swapcase+  r  r%   c                 T    | j                  | j                  j                               S r   )r}   r{  titler   s    r   rg  zUserString.title.  rB  r%   c                 R    | j                   | j                  j                  |       S r   )r}   r{  	translater  s     r   ri  zUserString.translate1  s#    ~~1dii114899r%   c                 T    | j                  | j                  j                               S r   )r}   r{  upperr   s    r   rk  zUserString.upper4  rB  r%   c                 V    | j                  | j                  j                  |            S r   )r}   r{  zfill)r   r  s     r   rm  zUserString.zfill7  rc  r%   )r  r  )   r   r  )Nr  )F)Kr!   r"   r#   rC   r  r~   r  r  r  r  r   r   r+  r)  r0  r.  ra  rZ  rV  r5  r  r  r  r  r  r  r  r  rc   maxsizer  r  r  r  r  r  r  r  r!  r   r$  r'  r)  r+  r.  r   r1  r3  r5  r7  r9  r;  r   r>  rA  rD  r   	maketransrI  r   rP  rR  rT  rV  rX  r   r\  r^  r   rb  re  rg  ri  rk  rm  r$   r%   r   r   r   C  s   ! "#
"
#
"
#
!
066
- H0464>  !dll 0
>
>
2
 &'DLL 6=  T\\ /
/-  !dll 0###%#(#%'####=17 I(E  !dll 0
 !"t|| 1=)7./. ()dll 8641:16r%   r   )4__all__r   sysrc   	itertoolsr   r
  r   r  r   r  keywordr   r   operatorr   r   r   r   reprlibr   r   _weakrefr   r9   _collectionsr	   MutableSequenceregisterImportErrorr   r   KeysViewr   	ItemsViewr'   
ValuesViewr,   r   r/   r6   r   r   r
   r   r   r   r   r   r   Sequencer   r$   r%   r   <module>r     s   
   % ' ) +  . 5 $5" $$--e4	,	(++44 +
,,66 ,%-88 %5F 5}$ }@	(L) 16T kd1	,r%d r%r}!.. }!HZ.. ZB~$// ~$Ju6!** u6q(  		  		
  		|  		  LKLLz  		sk   E !E (E E$ E/ E= E
EEEE! E!$E,+E,/E:9E:=FF