
    1\h4                         	 d dl mZ d dlmZ dgZ G d d          Zed             Z G d d          Zd dlm	Z	m
Z
 d	S )
    )ref)contextmanagerlocalc                   &    e Zd Z	 dZd Zd Zd ZdS )
_localimpl)keydicts	localargs	locallock__weakref__c                 \    dt          t          |                     z   | _        i | _        d S )Nz_threading_local._localimpl.)stridr   r	   )selfs    :/opt/python-3.11.14/usr/lib/python3.11/_threading_local.py__init__z_localimpl.__init__   s'     2C4MMA


    c                 `    	 t                      }| j        t          |                   d         S )N   )current_threadr	   r   )r   threads     r   get_dictz_localimpl.get_dict   s*    	!!z"V**%a((r   c                     	 i }| j         }t                      }t          |          }|ffd	}|ffd	}t          | |          t          ||          |j        |<   |f| j        |<   |S )Nc                 4                 }|
|j         |= d S d S N)__dict__)_r   r   wrthreads      r   local_deletedz-_localimpl.create_dict.<locals>.local_deleted   s,    XZZF!OC((( "!r   c                 X                 }||j                             |          }d S d S r   )r	   pop)r   idtr   dctwrlocals       r   thread_deletedz._localimpl.create_dict.<locals>.thread_deleted   s5    
 GIIE kooc** ! r   )r   r   r   r   r   r	   )	r   	localdictr   r   r"   r   r%   r$   r   s	          @@r   create_dictz_localimpl.create_dict   s    F	h!!jj!$ 	) 	) 	) 	) 	) 	)
 #& 	+ 	+ 	+ 	+ 	+ 	+ dM**v~..&"I-
3r   N)__name__
__module____qualname__	__slots__r   r   r'    r   r   r   r      sI        -GI  ) ) )    r   r   c              #   b  K   t                               | d          }	 |                                }n;# t          $ r. |                                }|j        \  }} | j        |i | Y nw xY w|j        5  t                               | d|           d V  d d d            d S # 1 swxY w Y   d S )N_local__implr   )	object__getattribute__r   KeyErrorr'   r
   r   r   __setattr__)r   implr#   argskws        r   _patchr6      s     ""488D#mmoo # # #  >bt"r"""""# 
  4S111                 s!   4 5A,+A,6!B$$B(+B(c                   *    e Zd ZdZd Zd Zd Zd ZdS )r   )r.   r   c                :   |s|r"| j         t          j         u rt          d          t                              |           }t	                      }||f|_        t                      |_        t                              |d|           |	                                 |S )Nz*Initialization arguments are not supportedr.   )
r   r/   	TypeError__new__r   r
   RLockr   r2   r'   )clsr4   r5   r   r3   s        r   r:   zlocal.__new__   s     	JB 	JS\V_<<HIII~~c""||4666 	r   c                     t          |           5  t                              | |          cd d d            S # 1 swxY w Y   d S r   )r6   r/   r0   r   names     r   r0   zlocal.__getattribute__   s    D\\ 	7 	7**466	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7s   8<<c                     |dk    rt          d| j        j        z            t          |           5  t                              | ||          cd d d            S # 1 swxY w Y   d S Nr   z+%r object attribute '__dict__' is read-only)AttributeError	__class__r(   r6   r/   r2   )r   r?   values      r   r2   zlocal.__setattr__   s    : =.)*+ + + D\\ 	9 	9%%dD%88	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9s   AA"Ac                     |dk    rt          d| j        j        z            t          |           5  t                              | |          cd d d            S # 1 swxY w Y   d S rA   )rB   rC   r(   r6   r/   __delattr__r>   s     r   rF   zlocal.__delattr__   s    : =.)*+ + + D\\ 	2 	2%%dD11	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2s   AA!AN)r(   r)   r*   r+   r:   r0   r2   rF   r,   r   r   r   r      sU        *I  7 7 79 9 92 2 2 2 2r   )r   r;   N)weakrefr   
contextlibr   __all__r   r6   r   	threadingr   r;   r,   r   r   <module>rK      s   @D       % % % % % %)) ) ) ) ) ) ) )X 
 
 
#2 #2 #2 #2 #2 #2 #2 #2L , + + + + + + + + +r   