§
    ˜Štjy  ã                   óÂ   — d dl mZ d dlmZmZmZmZ d dlmZm	Z	  ededef         ¬¦  «        Z
 edee         ¬¦  «        Z G d„ d	e¦  «        Z G d
„ de¦  «        ZdS )é    )Úabstractmethod)Ú	AwaitableÚCallableÚTypeVarÚAny)Ú	ComponentÚSystemÚT.)ÚboundÚAc                   óL   ‡ — e Zd ZdZdeddfˆ fd„Zededefd„¦   «         Zˆ xZ	S )ÚRateLimitEnforcerzƒ
    Rate limit enforcer.

    Implemented as a wrapper around server functions to block requests if rate limits are exceeded.
    ÚsystemÚreturnNc                 óJ   •— t          ¦   «                              |¦  «         d S ©N©ÚsuperÚ__init__©Úselfr   Ú	__class__s     €úZ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/chromadb/rate_limit/__init__.pyr   zRateLimitEnforcer.__init__   ó!   ø€ Ý‰Œ×Ò˜Ñ Ô Ð Ð Ð ó    Úfuncc                 ó   — d S r   © ©r   r   s     r   Ú
rate_limitzRateLimitEnforcer.rate_limit   ó   € àˆr   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r	   r   r   r
   r    Ú__classcell__©r   s   @r   r   r   	   óƒ   ø€ € € € € ðð ð!˜vð !¨$ð !ð !ð !ð !ð !ð !ð ð˜qð  Qð ð ð ñ „^ðð ð ð ð r   r   c                   óL   ‡ — e Zd ZdZdeddfˆ fd„Zededefd„¦   «         Zˆ xZ	S )ÚAsyncRateLimitEnforcerz‚
    Rate limit enforcer.

    Implemented as a wrapper around async functions to block requests if rate limits are exceeded.
    r   r   Nc                 óJ   •— t          ¦   «                              |¦  «         d S r   r   r   s     €r   r   zAsyncRateLimitEnforcer.__init__   r   r   r   c                 ó   — d S r   r   r   s     r   r    z!AsyncRateLimitEnforcer.rate_limit"   r!   r   )
r"   r#   r$   r%   r	   r   r   r   r    r&   r'   s   @r   r*   r*      r(   r   r*   N)Úabcr   Útypingr   r   r   r   Úchromadb.configr   r	   r
   r   r   r*   r   r   r   ú<module>r0      sæ   ðØ Ð Ð Ð Ð Ð Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -à€GˆC�x  S Ô)Ð*Ñ*Ô*€Ø€GˆC�y ”~Ð&Ñ&Ô&€ðð ð ð ð ˜	ñ ô ð ðð ð ð ð ˜Yñ ô ð ð ð r   