
    ,:j%                    v    d dl mZ d dlmZmZ d dlmZmZmZm	Z	 d dl
mZmZ  ed      Z G d dee   e      Zy)	    )annotations)ABCabstractmethod)GenericTypeVarIterablecast)ClassVaroverrideTc                      e Zd ZU dZdZded<   ddZddZedd       Z	edd       Z
edd	       Zeedd
              ZddZddZddZedd       Zy)	LazyProxyzImplements data methods to pretend that an instance is another instance.

    This includes forwarding attribute access and othe methods.
    FzClassVar[bool]should_cachec                    d | _         y N_LazyProxy__proxiedselfs    V/var/www/html/tokenscope/api/venv/lib/python3.12/site-packages/openai/_utils/_proxy.py__init__zLazyProxy.__init__   s	    #'    c                6    t        | j                         |      S r   )getattr__get_proxied__)r   attrs     r   __getattr__zLazyProxy.__getattr__   s    t++-t44r   c                4    t        | j                               S r   )reprr   r   s    r   __repr__zLazyProxy.__repr__   s    D((*++r   c                4    t        | j                               S r   )strr   r   s    r   __str__zLazyProxy.__str__   s    4'')**r   c                >    | j                         j                         S r   )r   __dir__r   s    r   r%   zLazyProxy.__dir__    s    ##%--//r   c                6    | j                         j                  S r   )r   	__class__r   s    r   r'   zLazyProxy.__class__$   s     ##%///r   c                    | j                   s| j                         S | j                  }||S | j                         x| _        }|S r   )r   __load__r   )r   proxieds     r   r   zLazyProxy.__get_proxied__)   sB      ==?"..N#'==?2r   c                    || _         y r   r   )r   values     r   __set_proxied__zLazyProxy.__set_proxied__4   s	    r   c                "    t        t        |       S )zHHelper method that returns the current proxy, typed as the loaded object)r	   r   r   s    r   __as_proxied__zLazyProxy.__as_proxied__7   s    At}r   c                     y r    r   s    r   r)   zLazyProxy.__load__;   s    r   N)returnNone)r   r"   r2   object)r2   r"   )r2   zIterable[str])r2   type)r2   r   )r,   r   r2   r3   )__name__
__module____qualname____doc__r   __annotations__r   r   r   r    r#   r%   propertyr'   r   r-   r/   r   r)   r1   r   r   r   r   
   s    
 $)L.((5 , , + + 0 0 0  0	  r   r   N)
__future__r   abcr   r   typingr   r   r   r	   typing_extensionsr
   r   r   r   r1   r   r   <module>r@      s/    " # 3 3 0CL3
C 3r   