
    #h                     p    S SK r S SKJrJrJrJrJrJr  S SKJ	r	J
r
  \
" S5      r " S S\\   \\   5      rg)    N)IterableIteratorMappingMutableSequence
MutableSetSequence)AnyTypeVarTc                      \ rS rSrS%S\\   S-  4S jjrS rS rS r	S&S
 jr
S rS rS\S\4S jrS\4S jrS\\   4S jrS\4S jrS\4S jrS rS\\   4S jrS\4S jrS\S\4S jrS\\   SS	4S jrS\\\      SS	4S jrS\\\      SS	4S jrS\\   SS	4S jrS\\   S\4S jrS\\   S\4S jr S\\   SS	4S  jr!S\\   4S! jr"S\\\      4S" jr#S\\   4S# jr$S$r%g)'
OrderedSet   Niterablec                 \    Ub  [         R                  U5      U l        O0 U l        S U l        g N)dictfromkeys_map_list_cache)selfr   s     \/Users/user/Downloads/htwk/venv/lib/python3.13/site-packages/tatsu/collections/orderedset.py__init__OrderedSet.__init__   s'    h/DIDI/3    c                 6    U R                   R                  5       $ r   )r   __hash__r   s    r   r   OrderedSet.__hash__   s    yy!!##r   c                 ,    [        U R                  5      $ r   )lenr   r   s    r   __len__OrderedSet.__len__   s    499~r   c                     U R                   c(  [        U R                  R                  5       5      U l         U R                   U   $ r   )r   listr   keys)r   is     r   __getitem__OrderedSet.__getitem__   s7    ##DIINN$45D""r   returnOrderedSet[T]c                 $    U R                  U 5      $ r   )	__class__r   s    r   copyOrderedSet.copy#   s    ~~d##r   c                 8    [        U 5      S:X  a  g[        U 5      $ )Nr   r   )r    r$   r   s    r   __getstate__OrderedSet.__getstate__&   s    t9>:r   c                 V    US:X  a  U R                  / 5        g U R                  U5        g )Nr   )r   )r   states     r   __setstate__OrderedSet.__setstate__,   s"    GMM"MM% r   keyc                     XR                   ;   $ r   )r   r   r6   s     r   __contains__OrderedSet.__contains__2   s    iir   valuec                 V    [        U R                  5      U R                  U'   S U l        g r   )r    r   r   r   r;   s     r   addOrderedSet.add5   s     tyy>		%r   sequencec                 n    U R                   R                  [        R                  U5      5        S U l        g r   )r   updater   r   r   )r   r@   s     r   rB   OrderedSet.update9   s%    		x01r   c                     [        [        U R                  R                  5       5      5      nU R                  R	                  U5        S U l        U$ r   )nextiterr   r%   popr   r8   s     r   rG   OrderedSet.pop=   s9    4		()*		c
r   c                 J    U R                   R                  US 5        S U l        g r   )r   rG   r   r=   s     r   discardOrderedSet.discardC   s    		eT"r   c                      0 U l         S U l        g r   )r   r   r   s    r   clearOrderedSet.clearG   s    	r   c                 H    [        U R                  R                  5       5      $ r   )rF   r   r%   r   s    r   __iter__OrderedSet.__iter__K   s    DIINN$%%r   c                 P    SR                  SR                  S U  5       5      5      $ )Nz{{{}}}z, c              3   8   #    U  H  n[        U5      v   M     g 7fr   )repr).0es     r   	<genexpr>&OrderedSet.__repr__.<locals>.<genexpr>O   s     (?$Qa$s   )formatjoinr   s    r   __repr__OrderedSet.__repr__N   s     tyy(?$(??@@r   otherc                 .   ^ [        U4S jU  5       5      $ )Nc              3   ,   >#    U  H	  oT;   v   M     g 7fr    rU   itemr]   s     r   rW   $OrderedSet.__eq__.<locals>.<genexpr>R        2TT5=T   allr   r]   s    `r   __eq__OrderedSet.__eq__Q       2T222r   c                     [        S U 5       5      n[        R                  " U //UQ76 n[        R                  R                  U5      n[	        U 5      " [        R                  " U5      5      $ )Nc              3   r   #    U  H-  n[        U[        [        -  [        -  5      (       d  U/OUv   M/     g 7fr   )
isinstancesetr   r   )rU   os     r   rW   #OrderedSet.union.<locals>.<genexpr>V   s3      
 "!S7]_%DEEQC1Ls   57)tuple	itertoolschainfrom_iterabletype)r   r]   outerinneritemss        r   unionOrderedSet.unionT   s\     

 
 //--e4Dz)//%011r   c                 $    U R                  U5      $ r   )intersectionrh   s     r   __and__OrderedSet.__and__^   s      ''r   c                 d   ^ [         R                  " U6 mU4S jU  5       n[        U 5      " U5      $ )Nc              3   6   >#    U  H  oT;   d  M
  Uv   M     g 7fr   r`   )rU   rb   commons     r   rW   *OrderedSet.intersection.<locals>.<genexpr>c   s     9$$&.$   		)ro   r}   rv   )r   r]   ry   r   s      @r   r}   OrderedSet.intersectiona   s,    !!5)9$9Dz%  r   c                 d   ^ [         R                  " T6 mU4S jU  5       n[        U 5      " U5      $ )Nc              3   6   >#    U  H  oT;  d  M
  Uv   M     g 7fr   r`   ra   s     r   rW   (OrderedSet.difference.<locals>.<genexpr>h   s     <$$e*;$r   )ro   rz   rv   )r   r]   ry   s    ` r   
differenceOrderedSet.differencef   s*    		5!<$<Dz%  r   c                 .   ^ [        U4S jU  5       5      $ )Nc              3   ,   >#    U  H	  oT;   v   M     g 7fr   r`   ra   s     r   rW   &OrderedSet.issubset.<locals>.<genexpr>l   rd   re   rf   rh   s    `r   issubsetOrderedSet.issubsetk   rk   r   c                 `   ^  [        T 5      [        U5      :  a  g[        U 4S jU 5       5      $ )NFc              3   ,   >#    U  H	  oT;   v   M     g 7fr   r`   )rU   rb   r   s     r   rW   (OrderedSet.issuperset.<locals>.<genexpr>q   s     2ED4<Ere   )r    rg   rh   s   ` r   
issupersetOrderedSet.issupersetn   s'    t9s5z!2E222r   c                     [        U 5      nU" U 5      R                  U5      nU" U5      R                  U 5      nU" 5       R                  X45      $ r   )rv   r   rz   )r   r]   clsdiff1diff2s        r   symmetric_differenceOrderedSet.symmetric_differences   sD    4jD	$$U+E
%%d+u{{5((r   c                 R    [         R                  U R                  " U6 5      U l        g r   r   r   r   r   rh   s     r   difference_updateOrderedSet.difference_updatey       MM$//5"9:	r   c                 R    [         R                  U R                  " U6 5      U l        g r   )r   r   r}   r   rh   s     r   intersection_updateOrderedSet.intersection_update|   s    MM$"3"3U";<	r   c                 R    [         R                  U R                  " U6 5      U l        g r   r   rh   s     r   symmetric_difference_update&OrderedSet.symmetric_difference_update   r   r   )r   r   r   )r)   r*   )&__name__
__module____qualname____firstlineno__r   r   r   r   r!   r'   r-   r0   r4   r	   boolr9   r>   rB   rG   rJ   rM   r   rP   strr[   ri   rz   r~   r}   r   ro   r   r   r   r   r   r   __static_attributes__r`   r   r   r   r      s   4!t!3 4$#
$!         x{  Q  Q   &(1+ &A# A3C 3D 32HQK 2O 2(Xhqk2 ( (!8HQK#8 !_ !
!! ! !
3c!f 3 33A 34 3
)#a& )_ ); ;=(8A;*? =;(1+ ;r   r   )rs   collections.abcr   r   r   r   r   r   typingr	   r
   r   r   r`   r   r   <module>r      s8       CLp;A p;r   