a
    ¢Ž$i¤  ã                   @   sD   zd dl mZ W n ey.   d dl mZ Y n0 G dd„ deƒZdS )é    )Ú
MutableSetc                   @   s€   e Zd ZdZdd„ Zdd„ ZejZej	Z
ejZejZejZejZdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Zedd„ ƒZdS )ÚSetMixinzA
    Mix-in for sets.  You must define __iter__, add, remove
    c                 C   s   d}| D ]}|d7 }q|S )Nr   é   © )ÚselfÚlengthÚitemr   r   úa/var/www/staging/api/virtual_environments/venv/lib/python3.9/site-packages/lxml/html/_setmixin.pyÚ__len__   s    
zSetMixin.__len__c                 C   s   | D ]}||kr dS qdS )NTFr   )r   r   Zhas_itemr   r   r	   Ú__contains__   s    zSetMixin.__contains__c                 C   s   t | ƒS ©N©Úset)r   r   r   r	   Úcopy!   s    zSetMixin.copyc                 C   s   | |O } d S r   r   ©r   Úotherr   r   r	   Úupdate$   s    zSetMixin.updatec                 C   s   | |M } d S r   r   r   r   r   r	   Úintersection_update'   s    zSetMixin.intersection_updatec                 C   s   | |8 } d S r   r   r   r   r   r	   Údifference_update*   s    zSetMixin.difference_updatec                 C   s   | |N } d S r   r   r   r   r   r	   Úsymmetric_difference_update-   s    z$SetMixin.symmetric_difference_updatec                 C   s&   z|   |¡ W n ty    Y n0 d S r   )ÚremoveÚKeyError)r   r   r   r   r	   Údiscard0   s    zSetMixin.discardc                 C   s   t |ƒS r   r   )ÚclsÚitr   r   r	   Ú_from_iterable6   s    zSetMixin._from_iterableN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   r   r   Ú__le__ÚissubsetÚ__ge__Ú
issupersetÚ__or__ÚunionÚ__and__ÚintersectionÚ__sub__Ú
differenceÚ__xor__Úsymmetric_differencer   r   r   r   r   r   Úclassmethodr   r   r   r   r	   r      s"   r   N)Úcollections.abcr   ÚImportErrorr   r   r   r   r	   Ú<module>   s   