a �DOg4�@sZddlmZddlmZdgZGdd�d�Zedd��ZGdd�d�Zdd lm Z m Z d S) �)�ref)�contextmanager�localc@s(eZdZdZdd�Zdd�Zdd�ZdS) � _localimpl)�key�dicts� localargs� locallock� __weakref__cCsdtt|��|_i|_dS)Nz_threading_local._localimpl.)�str�idrr)�self�r�(/usr/lib64/python3.9/_threading_local.py�__init__�sz_localimpl.__init__cCst�}|jt|�dS)N�)�current_threadrr )r �threadrrr�get_dict�sz_localimpl.get_dictcshi}|j}t�}t|�}|f�fdd� }|f�fdd� }t||��t||���|j|<�|f|j|<|S)Ncs��}|dur|j|=dS�N)�__dict__)�_rr)�wrthreadrr� local_deleted�sz-_localimpl.create_dict..local_deletedcs��}|dur|j�|�}dSr)r�pop)r�idtr�dct)�wrlocalrr�thread_deleted�sz._localimpl.create_dict..thread_deleted)rrr rrr)r Z localdictrrrrrr)rrr� create_dict�s   z_localimpl.create_dictN)�__name__� __module__� __qualname__� __slots__rrrrrrrr�srccs�t�|d�}z |��}Wn4tyL|��}|j\}}|j|i|��Yn0|j�$t�|d|�dVWd�n1s~0YdS)N� _local__implr) �object�__getattribute__r�KeyErrorrrrr � __setattr__)r �implr�args�kwrrr�_patch�s    r,c@s0eZdZdZdd�Zdd�Zdd�Zdd �Zd S) r)r$rcOsX|s|r|jtjurtd��t�|�}t�}||f|_t�|_t�|d|�|� �|S)Nz*Initialization arguments are not supportedr$) rr%� TypeError�__new__rr�RLockr r(r)�clsr*r+r r)rrrr.�s  z local.__new__cCs8t|��t�||�Wd�S1s*0YdSr)r,r%r&�r �namerrrr&�s zlocal.__getattribute__cCsR|dkrtd|jj��t|��t�|||�Wd�S1sD0YdS�Nrz+%r object attribute '__dict__' is read-only)�AttributeError� __class__r r,r%r()r r2�valuerrrr(�s�� zlocal.__setattr__cCsP|dkrtd|jj��t|��t�||�Wd�S1sB0YdSr3)r4r5r r,r%� __delattr__r1rrrr7�s�� zlocal.__delattr__N)r r!r"r#r.r&r(r7rrrrr�s )rr/N) �weakrefr� contextlibr�__all__rr,r� threadingrr/rrrr��s   , &