U e5d4@sZddlmZddlmZdgZGdddZeddZGdddZdd lm Z m Z d S) )ref)contextmanagerlocalc@s(eZdZdZddZddZddZdS) _localimpl)keydicts localargs locallock __weakref__cCsdtt||_i|_dS)Nz_threading_local._localimpl.)stridrr)selfr(/usr/lib64/python3.8/_threading_local.py__init__sz_localimpl.__init__cCst}|jt|dS)N)current_threadrr )r threadrrrget_dictsz_localimpl.get_dictcshi}|j}t}t|}|ffdd }|ffdd }t||t|||j|<|f|j|<|S)Ncs}|dk r|j|=dSN)__dict__)_rr)wrthreadrr local_deletedsz-_localimpl.create_dict..local_deletedcs}|dk r|j|}dSr)rpop)ridtrdct)wrlocalrrthread_deletedsz._localimpl.create_dict..thread_deleted)rrr rrr)r Z localdictrrrrrr)rrr create_dicts   z_localimpl.create_dictN)__name__ __module__ __qualname__ __slots__rrrrrrrrsrc csvt|d}z |}Wn2tk rJ|}|j\}}|j||YnX|jt|d|dVW5QRXdS)N _local__implr) object__getattribute__rKeyErrorrrrr __setattr__)r implrargskwrrr_patchs   r,c@s0eZdZdZddZddZddZdd Zd S) r)r$rcOsX|s|r|jtjkrtdt|}t}||f|_t|_t|d|| |S)Nz*Initialization arguments are not supportedr$) rr% TypeError__new__rrRLockr r(r)clsr*r+r r)rrrr.s  z local.__new__c Cs,t|t||W5QRSQRXdSr)r,r%r&r namerrrr&s zlocal.__getattribute__c CsF|dkrtd|jjt|t|||W5QRSQRXdSNrz+%r object attribute '__dict__' is read-only)AttributeError __class__r r,r%r()r r2valuerrrr(s zlocal.__setattr__c CsD|dkrtd|jjt|t||W5QRSQRXdSr3)r4r5r r,r% __delattr__r1rrrr7s zlocal.__delattr__N)r r!r"r#r.r&r(r7rrrrrs )rr/N) weakrefr contextlibr__all__rr,rZ threadingrr/rrrrs   , &