o
    4ήc	                     @   s   d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZm	Z	 dZ
dZee jdZeG dd	 d	eZeZzd
dlmZ esFeZW dS W dS  eyR   Y dS w )    N)MutableSequence)total_ordering)TupleTypez1.3.3)
FrozenListPyFrozenListFROZENLIST_NO_EXTENSIONSc                   @   s   e Zd ZdZejdkreejZ	nede
d  de
d  fddZ	d$dd	Zed
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# ZdS )%r   _frozen_items)   	   clsreturnc                 C   s   | S N )r   r   r   :/tmp/pip-target-vg8gfxp4/lib/python/frozenlist/__init__.py__class_getitem__   s   zFrozenList.__class_getitem__Nc                 C   s&   d| _ |d urt|}ng }|| _d S )NF)r
   listr   )selfitemsr   r   r   __init__   s
   

zFrozenList.__init__c                 C   s   | j S r   r
   r   r   r   r   frozen%   s   zFrozenList.frozenc                 C   s
   d| _ d S )NTr   r   r   r   r   freeze)      
zFrozenList.freezec                 C   s
   | j | S r   )r   r   indexr   r   r   __getitem__,   r   zFrozenList.__getitem__c                 C   s   | j rtd|| j|< d S NzCannot modify frozen list.r
   RuntimeErrorr   )r   r   valuer   r   r   __setitem__/   s   zFrozenList.__setitem__c                 C   s   | j rtd| j|= d S r    r!   r   r   r   r   __delitem__4   s   zFrozenList.__delitem__c                 C   
   | j  S r   )r   __len__r   r   r   r   r'   9   r   zFrozenList.__len__c                 C   r&   r   )r   __iter__r   r   r   r   r(   <   r   zFrozenList.__iter__c                 C   r&   r   )r   __reversed__r   r   r   r   r)   ?   r   zFrozenList.__reversed__c                 C   s   t | |kS r   r   r   otherr   r   r   __eq__B      zFrozenList.__eq__c                 C   s   t | |kS r   r*   r+   r   r   r   __le__E   r.   zFrozenList.__le__c                 C   s    | j rtd| j|| d S r    )r
   r"   r   insert)r   positemr   r   r   r0   H   s   zFrozenList.insertc                 C   s   d| j  d| jdS )Nz<FrozenList(frozen=z, z)>r	   r   r   r   r   __repr__M   s   zFrozenList.__repr__c                 C   s   | j r	tt| S td)NzCannot hash unfrozen list.)r
   hashtupler"   r   r   r   r   __hash__P   s   zFrozenList.__hash__r   )__name__
__module____qualname__	__slots__sysversion_infoclassmethodtypesGenericAliasr   r   r   propertyr   r   r   r$   r%   r'   r(   r)   r-   r/   r0   r3   r6   r   r   r   r   r      s*    


r      )r   )osr;   r>   collections.abcr   	functoolsr   typingr   r   __version____all__boolenvirongetNO_EXTENSIONSr   r   _frozenlistCFrozenListImportErrorr   r   r   r   <module>   s(    F
