o
    i<                     @   s   d dl Z d dlZd dlmZ d dlmZ dZdZee j	
dZeG dd deZeZesEzd	d
lmZ W n
 ey@   Y dS w eZdS dS )    N)MutableSequence)total_orderingz1.8.0)
FrozenListPyFrozenListZFROZENLIST_NO_EXTENSIONSc                   @   s   e Zd ZdZeej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_itemsNc                 C   s&   d| _ |d urt|}ng }|| _d S )NF)r   listr   )selfitems r   M/home/kim/smarthome/.venv/lib/python3.10/site-packages/frozenlist/__init__.py__init__   s
   

zFrozenList.__init__c                 C   s   | j S N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__*   s   zFrozenList.__delitem__c                 C   
   | j  S r   )r   __len__r   r   r   r   r   /   r   zFrozenList.__len__c                 C   r   r   )r   __iter__r   r   r   r   r    2   r   zFrozenList.__iter__c                 C   r   r   )r   __reversed__r   r   r   r   r!   5   r   zFrozenList.__reversed__c                 C   s   t | |kS r   r	   r
   otherr   r   r   __eq__8      zFrozenList.__eq__c                 C   s   t | |kS r   r"   r#   r   r   r   __le__;   r&   zFrozenList.__le__c                 C   s    | j rtd| j|| d S r   )r   r   r   insert)r
   positemr   r   r   r(   >   s   zFrozenList.insertc                 C   s   d| j  d| jdS )Nz<FrozenList(frozen=z, z)>r   r   r   r   r   __repr__C   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__F   s   zFrozenList.__hash__r   )__name__
__module____qualname__	__slots__classmethodtypesGenericAlias__class_getitem__r   propertyr   r   r   r   r   r   r    r!   r%   r'   r(   r+   r.   r   r   r   r   r      s$    


r      )r   )osr4   collections.abcr   	functoolsr   __version____all__boolenvirongetZNO_EXTENSIONSr   r   Z_frozenlistZCFrozenListImportErrorr   r   r   r   <module>   s$    >