o
    @j                     @   s>   d dl mZmZmZmZ d dlmZmZmZ G dd dZ	dS )    )AnyDictOptionaloverload)BaseStorage	StateType
StorageKeyc                	   @   s  e Zd ZdededdfddZddeddfdd	Zdee	 fd
dZ
dee	ef ddfddZdee	ef fddZede	dee fddZede	dedefddZdde	dee dee fddZ	ddeee	ef  dedee	ef fddZdddZdS )
FSMContextstoragekeyreturnNc                 C   s   || _ || _d S N)r
   r   )selfr
   r    r   b/var/www/www-root/data/www/ai-bot.pdev.uz/venv/lib/python3.10/site-packages/aiogram/fsm/context.py__init__   s   
zFSMContext.__init__statec                       | j j| j|dI d H  d S )N)r   r   )r
   	set_stater   )r   r   r   r   r   r         zFSMContext.set_statec                       | j j| jdI d H S N)r   )r
   	get_stater   r   r   r   r   r         zFSMContext.get_statedatac                    r   N)r   r   )r
   set_datar   )r   r   r   r   r   r      r   zFSMContext.set_datac                    r   r   )r
   get_datar   r   r   r   r   r      r   zFSMContext.get_datac                       d S r   r   )r   r   r   r   r   	get_value      zFSMContext.get_valuedefaultc                    r   r   r   r   r   r"   r   r   r   r       r!   c                    s   | j j| j||dI d H S )N)storage_keydict_keyr"   )r
   r    r   r#   r   r   r   r       s   kwargsc                    s(   |r| | | jj| j|dI d H S r   )updater
   update_datar   )r   r   r&   r   r   r   r(       s   
zFSMContext.update_datac                    s(   | j d dI d H  | i I d H  d S )N)r   )r   r   r   r   r   r   clear'   s   zFSMContext.clearr   )r   N)__name__
__module____qualname__r   r   r   r   r   r   strr   r   r   r   r   r   r    r(   r)   r   r   r   r   r	      s(     

r	   N)
typingr   r   r   r   aiogram.fsm.storage.baser   r   r   r	   r   r   r   r   <module>   s    