Ë
    iKêj   ã                   ó8   — d dl Z d dlmZ d dlmZ  G d„ d«      Zy)é    N)ÚCallable)ÚAnyc                   óP   ‡ — e Zd ZdZdeddfd„Zdedefd„Zdededdfˆ fd	„Z	ˆ xZ
S )
ÚThreadLocala.  
    Manages thread-local state. ThreadLocal forwards getattr and setattr to a
    threading.local() instance. The passed kwargs defines the available attributes
    on the threadlocal and their default values.

    The only supported names to geattr and setattr are the keys of the passed kwargs.
    ÚkwargsÚreturnNc                 óÈ   — |j                  «       D ]!  \  }}t        |«      rŒt        d|› d|› �«      ‚ d| _        || _        t        j                  «       | _        d| _        y )Nz
Attribute z must be a callable. Got FT)ÚitemsÚcallableÚ	TypeErrorÚ_ThreadLocal__initializedÚ_ThreadLocal__kwargsÚ	threadingÚlocalÚ_ThreadLocal__threadlocal)Úselfr   ÚnameÚvalues       ú_/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/hypothesis/utils/threading.pyÚ__init__zThreadLocal.__init__   se   € Ø!Ÿ<™<›>ò 	U‰KˆD�%Ü˜E•?Ü *¨T¨FÐ2KÈEÈ7Ð SÓTÐTð	Uð #ˆÔØˆŒÜ&Ÿ_™_Ó.ˆÔØ!ˆÕó    r   c                 óè   — || j                   vrt        d|› �«      ‚t        | j                  |«      s+ | j                   |   «       }t	        | j                  ||«       t        | j                  |«      S )NúNo attribute )r   ÚAttributeErrorÚhasattrr   ÚsetattrÚgetattr)r   r   Údefaults      r   Ú__getattr__zThreadLocal.__getattr__#   sh   € Ø�t—}‘}Ñ$Ü  =°°Ð!7Ó8Ð8ä�t×)Ñ)¨4Ô0Ø)�d—m‘m DÑ)Ó+ˆGÜ�D×&Ñ&¨¨gÔ6ä�t×)Ñ)¨4Ó0Ð0r   r   c                 óÂ   •— d| j                   vs| j                  st        ‰| �  ||«       y || j                  vrt        d|› �«      ‚t        | j                  ||«       y )Nr   r   )Ú__dict__r   ÚsuperÚ__setattr__r   r   r   r   )r   r   r   Ú	__class__s      €r   r#   zThreadLocal.__setattr__-   sV   ø€ à&¨d¯m©mÑ;À4×CUÒCUÜ‰GÑ  eÕ,à˜4Ÿ=™=Ñ(Ü$ }°T°FÐ%;Ó<Ð<Ü�D×&Ñ&¨¨eÕ4r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ústrr   r   r#   Ú__classcell__)r$   s   @r   r   r      sM   ø„ ñð" ð "¨dó "ð1 ð 1¨ó 1ð5 ð 5¨Cð 5°D÷ 5ñ 5r   r   )r   Úcollections.abcr   Útypingr   r   © r   r   ú<module>r.      s   ðó Ý $Ý ÷$5ò $5r   