o
    h                     @   s(   d dl mZ G dd deeef ZdS )    )Anyc                   @   s   e Zd ZdZdd ZejZdS )AttributeDictionarya  
    A dictionary subclass that supports attribute-style access.

    This class extends the functionality of a standard dictionary to allow items to be accessed
    via attribute-style dot notation in addition to the traditional key-based access. If a dictionary
    item is accessed and is itself a dictionary, it is automatically wrapped in another `AttributeDictionary`,
    enabling recursive attribute-style access.
    c              
   C   s\   z|  |}t|trt|W S |W S  ty- } ztdt| j d| d|d }~ww )N'z' object has no attribute ')__getitem__
isinstancedictr   KeyErrorAttributeErrortype__name__)selfkeyitemerr r   V/var/www/vscode/kcb/lib/python3.10/site-packages/streamlit/elements/lib/event_utils.py__getattr__   s   
zAttributeDictionary.__getattr__N)r   
__module____qualname____doc__r   r   __setitem____setattr__r   r   r   r   r      s    	
	r   N)typingr   r   r   r   r   r   r   <module>   s   