o
    ßÙ·iI  ã                   @  sž   d dl mZ d dlmZ d dlmZ er0d dlmZmZm	Z	 d dl
mZ d dlmZ d dlmZ G dd	„ d	ƒZG d
d„ dƒZddd„Zddd„Zddd„ZdS )é    )Úannotations)Ú
ContextVar)ÚTYPE_CHECKING)ÚBlockContextÚBlocksÚBlocksConfig)ÚProgress)Ú
Renderable)ÚRequestc                   @  s>   e Zd ZU dZded< dZded< dZded< dZd	ed
< dS )ÚContextNzBlocks | NoneÚ
root_blockúBlockContext | NoneÚblockr   ÚintÚidz
str | NoneÚhf_token)Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__r   r   r   © r   r   úB/home/ubuntu/.local/lib/python3.10/site-packages/gradio/context.pyr      s
   
 r   c                   @  sž   e Zd ZU edƒZded< edƒZded< edƒZded< edƒZded< ed	ƒZ	d
ed	< edƒZ
ded< edƒZded< edƒZded< edƒZded< dS )ÚLocalContextÚblockszContextVar[Blocks | None]Úblocks_configzContextVar[BlocksConfig | None]Ú
renderablezContextVar[Renderable | None]Úrender_blockzContextVar[BlockContext | None]Úin_event_listenerzContextVar[bool]Úevent_idzContextVar[str | None]ÚrequestzContextVar[Request | None]ÚprogresszContextVar[Progress | None]Úkey_to_id_mapz?ContextVar[dict[int | str | tuple[str | int, ...], int] | None]N)r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r   r   r   r   r      s   
 ÿr   Úreturnr   c                   C  s   t j d ¡rt j d ¡S tjS ©N)r   r   Úgetr   r   r   r   r   r   r   Úget_render_context$   s   r%   r   c                 C  s&   t j d ¡rt j | ¡ d S | t_d S r#   )r   r   r$   r   Úsetr   r   )r   r   r   r   Úset_render_context+   s   
r'   úBlocksConfig | Nonec                   C  s*   t j d ¡rt j d ¡S tjrtjjS d S r#   )r   r   r$   r   r   r   Údefault_configr   r   r   r   Úget_blocks_context2   s
   ÿr*   N)r"   r   )r   r   )r"   r(   )Ú
__future__r   Úcontextvarsr   Útypingr   Úgradio.blocksr   r   r   Úgradio.helpersr   Úgradio.renderabler	   Úgradio.routesr
   r   r   r%   r'   r*   r   r   r   r   Ú<module>   s   

