
    }fm                     p    d dl Z d dlmZmZmZmZmZmZ d dlm	Z	m
Z
  e
d      Z G d dee   ee         Zy)    N)IterableIteratorMappingMutableSequence
MutableSetSequence)AnyTypeVarTc                      e Zd Zd"dee   dz  fdZd Zd Zd#dZd	 Z	d
 Z
dedefdZdefdZdee   fdZdefdZdefdZd Zdee   fdZdefdZdedefdZdee   ddfdZdeee      ddfdZdeee      ddfdZdee   ddfdZdee   defdZdee   defdZdee   ddfdZdee   fdZ deee      fd Z!dee   fd!Z"y)$
OrderedSetNiterablec                 h    |"t         j                  |      | _        d | _        y i | _        d | _        y N)dictfromkeys_map_list_cache)selfr   s     [/var/www/feuerwehr-webapp/venv/lib/python3.12/site-packages/tatsu/collections/orderedset.py__init__zOrderedSet.__init__   s3    h/DI 04 DI/3    c                 ,    t        | j                        S r   )lenr   r   s    r   __len__zOrderedSet.__len__   s    499~r   c                     | j                   (t        | j                  j                               | _         | j                   |   S r   )r   listr   keys)r   is     r   __getitem__zOrderedSet.__getitem__   s7    ##DIINN$45D""r   returnOrderedSet[T]c                 $    | j                  |       S r   )	__class__r   s    r   copyzOrderedSet.copy    s    ~~d##r   c                 6    t        |       dk(  ryt        |       S )Nr   r   )r   r   r   s    r   __getstate__zOrderedSet.__getstate__#   s    t9>:r   c                 T    |dk(  r| j                  g        y | j                  |       y )Nr   )r   )r   states     r   __setstate__zOrderedSet.__setstate__)   s"    GMM"MM% r   keyc                     || j                   v S r   )r   r   r,   s     r   __contains__zOrderedSet.__contains__/   s    diir   valuec                 V    t        | j                        | j                  |<   d | _        y r   )r   r   r   r   r0   s     r   addzOrderedSet.add2   s     tyy>		%r   sequencec                 n    | j                   j                  t        j                  |             d | _        y r   )r   updater   r   r   )r   r4   s     r   r6   zOrderedSet.update6   s%    		x01r   c                     t        t        | j                  j                                     }| j                  j	                  |       d | _        |S r   )nextiterr   r   popr   r.   s     r   r:   zOrderedSet.pop:   s9    4		()*		c
r   c                 J    | j                   j                  |d        d | _        y r   )r   r:   r   r2   s     r   discardzOrderedSet.discard@   s    		eT"r   c                      i | _         d | _        y r   )r   r   r   s    r   clearzOrderedSet.clearD   s    	r   c                 H    t        | j                  j                               S r   )r9   r   r   r   s    r   __iter__zOrderedSet.__iter__H   s    DIINN$%%r   c                 P    dj                  dj                  d | D                    S )Nz{{{}}}z, c              3   2   K   | ]  }t        |        y wr   )repr).0es     r   	<genexpr>z&OrderedSet.__repr__.<locals>.<genexpr>L   s     (?Qa(?s   )formatjoinr   s    r   __repr__zOrderedSet.__repr__K   s     tyy(?$(??@@r   otherc                 ,    t        fd| D              S )Nc              3   &   K   | ]  }|v  
 y wr    rD   itemrJ   s     r   rF   z$OrderedSet.__eq__.<locals>.<genexpr>O        2T45=2   allr   rJ   s    `r   __eq__zOrderedSet.__eq__N       2T222r   c                     t        d |D              }t        j                  | gg| }t        j                  j                  |      } t	        |       t        j                  |            S )Nc              3   b   K   | ]'  }t        |t        t        z  t        z        s|gn| ) y wr   )
isinstancesetr   r   )rD   os     r   rF   z#OrderedSet.union.<locals>.<genexpr>S   s1      
 "!S7]_%DEQC1L
s   -/)tuple	itertoolschainfrom_iterabletype)r   rJ   outerinneritemss        r   unionzOrderedSet.unionQ   s^     

 
 //--e4tDz)//%011r   c                 $    | j                  |      S r   )intersectionrT   s     r   __and__zOrderedSet.__and__[   s      ''r   c                 `    t        j                  | fd| D        } t        |       |      S )Nc              3   ,   K   | ]  }|v s|  y wr   rM   )rD   rO   commons     r   rF   z*OrderedSet.intersection.<locals>.<genexpr>`   s     9$$&.9   	)rZ   rf   r`   )r   rJ   rc   rj   s      @r   rf   zOrderedSet.intersection^   s.    !!5)9$9tDz%  r   c                 `    t        j                   fd| D        } t        |       |      S )Nc              3   ,   K   | ]  }|vs|  y wr   rM   rN   s     r   rF   z(OrderedSet.difference.<locals>.<genexpr>e   s     <$$e*;<rk   )rZ   rd   r`   )r   rJ   rc   s    ` r   
differencezOrderedSet.differencec   s,    		5!<$<tDz%  r   c                 ,    t        fd| D              S )Nc              3   &   K   | ]  }|v  
 y wr   rM   rN   s     r   rF   z&OrderedSet.issubset.<locals>.<genexpr>i   rP   rQ   rR   rT   s    `r   issubsetzOrderedSet.issubseth   rV   r   c                 \     t               t        |      k  ryt         fd|D              S )NFc              3   &   K   | ]  }|v  
 y wr   rM   )rD   rO   r   s     r   rF   z(OrderedSet.issuperset.<locals>.<genexpr>n   s     2D44<2rQ   )r   rS   rT   s   ` r   
issupersetzOrderedSet.issupersetk   s'    t9s5z!2E222r   c                     t        |       } ||       j                  |      } ||      j                  |       } |       j                  ||      S r   )r`   rn   rd   )r   rJ   clsdiff1diff2s        r   symmetric_differencezOrderedSet.symmetric_differencep   sF    4jD	$$U+E
%%d+u{{5%((r   c                 R    t         j                   | j                  |       | _        y r   r   r   rn   r   rT   s     r   difference_updatezOrderedSet.difference_updatev       MM/$//5"9:	r   c                 R    t         j                   | j                  |       | _        y r   )r   r   rf   r   rT   s     r   intersection_updatezOrderedSet.intersection_updatey   s     MM"3$"3"3U";<	r   c                 R    t         j                   | j                  |       | _        y r   r{   rT   s     r   symmetric_difference_updatez&OrderedSet.symmetric_difference_update|   r}   r   r   )r"   r#   )#__name__
__module____qualname__r   r   r   r   r!   r&   r(   r+   r	   boolr/   r3   r6   r:   r<   r>   r   r@   strrI   rU   rd   rg   rf   rn   rZ   rq   rt   ry   r|   r   r   rM   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   )r]   collections.abcr   r   r   r   r   r   typingr	   r
   r   r   rM   r   r   <module>r      s8       CLm;A m;r   