
    nh
                       d dl mZ d dlZd dlZd dlmZmZ d dlmZm	Z	 d dl
mZmZmZmZmZmZ d dlmZ ej&                  dk\  rd dlmZ d d	l
mZ nd dlmZ d d	lmZ d
Zej&                  dk  r	 d dlmZ  ed      Zedee   f   Zedd       Zed d       Zd!dZ edd
      Z  G d dee    ee    ee          Z! G d de      Z" ede"d      Z# G d dee#         Z$e	d"d       Z%d#dZ&y# e$ r dZY w xY w)$    )annotationsN)	Awaitable	Generator)AbstractAsyncContextManagercontextmanager)AnyCallableGenericProtocolTypeVaroverload)Scope)      )iscoroutinefunction)TypeIsT)r      )BaseExceptionGroupFT.c                     y N objs    b/var/www/pru.catia.catastroantioquia-mas.com/tasa/lib/python3.12/site-packages/starlette/_utils.pyis_async_callabler      s    RU    c                     y r   r   r   s    r   r   r   "   s    CFr   c                    t        | t        j                        r'| j                  } t        | t        j                        r't	        |       xs" t        |       xr t	        | j                        S r   )
isinstance	functoolspartialfuncr   callable__call__r   s    r   r   r   &   sR    
S)++
,hh S)++
, s#\([:Mcll:[\r   T_co)	covariantc                      e Zd Zy)AwaitableOrContextManagerN)__name__
__module____qualname__r   r   r   r)   r)   0   s    r   r)   c                      e Zd ZddZy)SupportsAsyncClosec                   K   y wr   r   selfs    r   closezSupportsAsyncClose.close4   s     s   N)returnNone)r*   r+   r,   r2   r   r   r   r.   r.   3   s    &r   r.   SupportsAsyncCloseType)boundr'   c                  0    e Zd ZdZddZddZd	dZd
dZy) AwaitableOrContextManagerWrapperawenteredc                    || _         y r   )r:   )r1   r:   s     r   __init__z)AwaitableOrContextManagerWrapper.__init__=   s	    r   c                6    | j                   j                         S r   )r:   	__await__r0   s    r   r?   z*AwaitableOrContextManagerWrapper.__await__@   s    ww  ""r   c                X   K   | j                    d {   | _        | j                  S 7 wr   r9   r0   s    r   
__aenter__z+AwaitableOrContextManagerWrapper.__aenter__C   s"     !WW}|| %s   *(*c                T   K   | j                   j                          d {    y 7 wr   )r;   r2   )r1   argss     r   	__aexit__z*AwaitableOrContextManagerWrapper.__aexit__G   s$     ll  """ 	#s   (&(N)r:   z!Awaitable[SupportsAsyncCloseType]r3   r4   )r3   z,Generator[Any, None, SupportsAsyncCloseType])r3   r5   )rC   r   r3   zNone | bool)r*   r+   r,   	__slots__r=   r?   rA   rD   r   r   r   r8   r8   :   s    !I#r   r8   c               #    K   	 d  y # t         $ rm} t        r`t        | t              rPt	        | j
                        dk(  r8| j
                  d   } t        | t              rt	        | j
                        dk(  r8| d } ~ ww xY ww)N   r   )BaseExceptionhas_exceptiongroupsr    r   len
exceptions)excs    r   collapse_excgroupsrM   L   so      S"45#cnn:MQR:RnnQ' S"45#cnn:MQR:R 	s+   B	 B	A?A%A:8A::A??Bc                    | d   }| j                  dd      }|s|S |j                  |      s|S ||k(  ry|t        |         dk(  r|t        |      d  S |S )Npath	root_path /)get
startswithrJ   )scoperO   rP   s      r   get_route_pathrV   X   sg    fD		+r*I??9%yC	Ns"C	N$%%Kr   )r   zAwaitableCallable[T]r3   zTypeIs[AwaitableCallable[T]])r   r   r3   zTypeIs[AwaitableCallable[Any]])r   r   r3   r   )r3   zGenerator[None, None, None])rU   r   r3   str)'
__future__r   r!   syscollections.abcr   r   
contextlibr   r   typingr   r	   r
   r   r   r   starlette.typesr   version_infoinspectr   r   asynciotyping_extensionsrI   exceptiongroupr   ImportErrorr   AwaitableCallabler   r&   r)   r.   r5   r8   rM   rV   r   r   r   <module>re      s)   "  
 0 B F F !w++( g$5 CLS)A,./  
 U 
 U 
 F 
 F] v& i	$1LT1RT\]aTb h' ' !!9AS_de w/E'F $  C  $#$s   /C/ /C98C9