
    QVji                        d dl mZ d dlmZmZmZmZmZmZ	 d dl
mZmZmZmZ  ede          Z eded          Zd	gZ G d
 d	ee         ee                   ZdS )    )annotations)HashableIterableIterator
MutableSet
ReversibleSet)AnycastOptionalTypeVarT)boundT_coT)r   	covariant
OrderedSetc                  b    e Zd ZdZdZd;d<dZed=d            Zd>dZd?dZ	d@dZ
d?dZdAdZdAdZdBdZedCd            ZdDdZdEdZdFd!ZdGd"ZdGd#ZdFd$ZdGd%ZdHd&ZdHd'ZdId(ZdJd)ZdFd*ZdK fd,ZdI fd-ZdL fd.ZdL fd/Z dK fd0Z!dK fd1Z"dK fd2Z#dMd4Z$dNd6Z%dOd8Z&dPd:Z' xZ(S )Qr   z8
    Insertion ordered set, similar to OrderedDict.
    _dictNiterableOptional[Iterable[T]]c                N    |t                               |d           ni | _        d S Ndictfromkeysr   )selfr   s     R/root/voice-cloning/.venv/lib/python3.11/site-packages/torch/utils/_ordered_set.py__init__zOrderedSet.__init__   s&    6>6JT]]8T222PR


    dict_inpdict[T, None]returnOrderedSet[T]c                0    t                      }| |_        |S r   )r   r   )r!   ss     r   
_from_dictzOrderedSet._from_dict   s    %<<r    elemobjectboolc                    || j         v S r   r   r   r(   s     r   __contains__zOrderedSet.__contains__'   s    tz!!r    Iterator[T]c                *    t          | j                  S r   )iterr   r   s    r   __iter__zOrderedSet.__iter__*   s    DJr    intc                *    t          | j                  S r   )lenr   r1   s    r   __len__zOrderedSet.__len__-   s    4:r    c                *    t          | j                  S r   )reversedr   r1   s    r   __reversed__zOrderedSet.__reversed__0   s    
###r    r   Nonec                    d | j         |<   d S r   r   r,   s     r   addzOrderedSet.add3   s    
4r    c                <    | j                             |d            d S r   )r   popr,   s     r   discardzOrderedSet.discard6   s    
tT"""""r    c                8    | j                                          d S r   )r   clearr1   s    r   rA   zOrderedSet.clear9   s    
r    otherr
   c                p    t          |t                    s t          |t                    r | |          S |S )z
        Wrap non-Set Iterables in OrderedSets

        Some of the magic methods are more strict on input types than
        the public apis, so we need to wrap inputs in sets.
        )
isinstanceAbstractSetr   )clsrB   s     r   _wrap_iter_in_setzOrderedSet._wrap_iter_in_set?   s:     %-- 	*UH2M2M 	3u::Lr    c                b    | st          d          | j                                        d         S )Nzpop from an empty setr   )KeyErrorr   popitemr1   s    r   r>   zOrderedSet.popM   s2     	42333z!!##A&&r    c                d    t                               | j                                                  S r   )r   r'   r   copyr1   s    r   rL   zOrderedSet.copyR   s"    $$TZ__%6%6777r    othersIterable[T]c                B    |                                  } |j        |  |S r   )rL   difference_update)r   rM   ress      r   
differencezOrderedSet.differenceU   s$    iikkv&&
r    c                    |D ]}| |z  } d S r    r   rM   rB   s      r   rP   zOrderedSet.difference_updateZ   &     	 	EEMDD	 	r    c                    |D ]}| |z  } d S r   rT   rU   s      r   updatezOrderedSet.update^   rV   r    c                J    |                                  }|D ]}|| ur||z  }|S r   rL   r   rM   rQ   rB   s       r   intersectionzOrderedSet.intersectionb   s8    iikk 	 	ED  u
r    c                    |D ]}| |z  } d S r   rT   rU   s      r   intersection_updatezOrderedSet.intersection_updatei   rV   r    c                4    | |                      |          k    S r   rG   r   rB   s     r   issubsetzOrderedSet.issubsetm       t--e4444r    c                4    | |                      |          k    S r   r`   ra   s     r   
issupersetzOrderedSet.issupersetp   rc   r    c                    | |z  S r   rT   ra   s     r   symmetric_differencezOrderedSet.symmetric_differences   s    e|r    c                    | |z  } d S r   rT   ra   s     r   symmetric_difference_updatez&OrderedSet.symmetric_difference_updatev   s    r    c                L    |                                  }|D ]}|| u r||z  }|S r   rZ   r[   s       r   unionzOrderedSet.uniony   s:    iikk 	 	E}}5LCC
r    AbstractSet[T_co]c                (   t          |t                    r>t          |           dz  t          |          k    r|                                 }||z  }|S t	          t          t
                   t                                          |                    S )N   )rD   r   r5   rL   r   r   super__sub__)r   rB   out	__class__s      r   rp   zOrderedSet.__sub__   sn    eZ(( 	c$ii!ms5zz-I-I))++C5LCJJqM577??5#9#9:::r    c                    t          |t                    r!| j                            |j                   | S t	                                          |          S r   )rD   r   r   rX   ro   __ior__r   rB   rr   s     r   rt   zOrderedSet.__ior__   sH    eZ(( 	Jek***Kwwu%%%r    c                    t          |t                    r| j        |j        k    S t                                          |          S r   )rD   r   r   ro   __eq__ru   s     r   rw   zOrderedSet.__eq__   :    eZ(( 	-:,,ww~~e$$$r    c                    t          |t                    r| j        |j        k    S t                                          |          S r   )rD   r   r   ro   __ne__ru   s     r   rz   zOrderedSet.__ne__   rx   r    c                    t          t          t                   t                                          |                    S r   )r   r   r   ro   __or__ru   s     r   r|   zOrderedSet.__or__   s'    JqM577>>%#8#8999r    c                    t          |t                    r%t          |           t          |          k     r|| z  S t          t          t                   t                                          |                    S r   )rD   r   r5   r   r   ro   __and__ru   s     r   r~   zOrderedSet.__and__   sY    eZ(( 	 SYYU-C-C4<JqM577??5#9#9:::r    c                    t          t          t                   t                                          |                    S r   )r   r   r   ro   __xor__ru   s     r   r   zOrderedSet.__xor__   s'    JqM577??5#9#9:::r    strc                @    | j         j         dt          |            dS )N())rr   __name__listr1   s    r   __repr__zOrderedSet.__repr__   s$    .)99DJJ9999r    list[T]c                N    t          | j                                                  S r   )r   r   keysr1   s    r   __getstate__zOrderedSet.__getstate__   s    DJOO%%&&&r    statec                F    t                               |d           | _        d S r   r   )r   r   s     r   __setstate__zOrderedSet.__setstate__   s    ]]5$//


r    *tuple[type[OrderedSet[T]], tuple[list[T]]]c                0    t           t          |           ffS r   )r   r   r1   s    r   
__reduce__zOrderedSet.__reduce__   s    T$ZZM**r    r   )r   r   )r!   r"   r#   r$   )r(   r)   r#   r*   )r#   r.   )r#   r3   )r(   r   r#   r:   )r#   r:   )rB   r
   r#   r
   )r#   r   )r#   r$   )rM   rN   r#   r$   )rM   rN   r#   r:   )rB   rN   r#   r*   )rB   rN   r#   r$   )rB   rN   r#   r:   )rB   rl   r#   r$   )rB   r)   r#   r*   )r#   r   )r#   r   )r   r   r#   r:   )r#   r   ))r   
__module____qualname____doc__	__slots__r   staticmethodr'   r-   r2   r6   r9   r<   r?   rA   classmethodrG   r>   rL   rR   rP   rX   r\   r^   rb   re   rg   ri   rk   rp   rt   rw   rz   r|   r~   r   r   r   r   r   __classcell__)rr   s   @r   r   r      s,         IS S S S S    \" " " "          $ $ $ $       # # # #       [' ' ' '
8 8 8 8   
            5 5 5 55 5 5 5         ; ; ; ; ; ;& & & & & &% % % % % %
% % % % % %
: : : : : :; ; ; ; ; ;; ; ; ; ; ;: : : :' ' ' '0 0 0 0+ + + + + + + +r    N)
__future__r   collections.abcr   r   r   r   r   r	   rE   typingr
   r   r   r   r   r   __all__r   rT   r    r   <module>r      s   " " " " " "                0 / / / / / / / / / / / GCx   wvX666.]+ ]+ ]+ ]+ ]+A
1 ]+ ]+ ]+ ]+ ]+r    