
    E2i                     8   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 d dlmZ d dlmZ d dlmZ d dlmZ ej        d	k    rd d
l mZ nd d
lmZ dee
de	f                  de	fdZde
de	f         de
de	f         fdZe G d d                      ZdS )    N)	dataclassfield)cached_propertypartial)AnyCallableListOptionalUnion)
ModelField)SecurityBase)DependencyCacheKey)Literal)      )iscoroutinefunctioncall.returnc                 P    | | S t          j        t          |                     }|S N)inspectunwrap
_impartial)r   	unwrappeds     Z/var/www/html/pixcura-vrs/venv/lib/python3.11/site-packages/fastapi/dependencies/models.py_unwrapped_callr      s)    |z$//00I    funcc                 h    t          | t                    r| j        } t          | t                    | S r   )
isinstancer   r   )r   s    r   r   r      s4    
T7
#
# y T7
#
# Kr   c                      e Zd ZU  ee          Zee         ed<    ee          Z	ee         ed<    ee          Z
ee         ed<    ee          Zee         ed<    ee          Zee         ed<    ee          Zed          ed<   dZee         ed	<   dZeed
ef                  ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZeee                  ed<   dZeee                  ed<   dZeed<   dZee         ed<   dZe e!d         df         ed<   e"dee         fd            Z#e"de$fd            Z%e"defd            Z&e"defd            Z'e"de(fd            Z)e"ded          fd            Z*e"defd             Z+e"defd!            Z,e"defd"            Z-e"de edf         fd#            Z.dS )$	Dependant)default_factorypath_paramsquery_paramsheader_paramscookie_paramsbody_paramsdependenciesNname.r   request_param_namewebsocket_param_namehttp_connection_param_nameresponse_param_namebackground_tasks_param_namesecurity_scopes_param_nameown_oauth_scopesparent_oauth_scopesT	use_cachepath)functionrequestscoper   c                     | j         r| j                                         ng }| j        pg D ]}||vr|                    |           |S r   )r2   copyr1   append)selfscopesr7   s      r   oauth_scopeszDependant.oauth_scopes5   s^    484LT)..000RT*0b 	% 	%EF""e$$$r   c                     | j         r0t          t          t          | j        pg                               nd}| j        || j        pdfS )N  )_uses_scopestuplesortedsetr=   r   computed_scope)r;   scopes_for_caches     r   	cache_keyzDependant.cache_key>   sZ     <@;LTE&T.4"5566777RT 	 I%2
 	
r   c                 d    | j         rdS | j        dS | j        rdS | j        D ]}|j        r dS dS )NTF)r1   r0   _is_security_schemer)   rA   )r;   sub_deps     r   rA   zDependant._uses_scopesI   s^      	4*64# 	4( 	 	G# ttur   c                 f    | j         dS t          | j                   }t          |t                    S )NF)r   r   r    r   r;   r   s     r   rI   zDependant._is_security_schemeV   s.    95#DI..	)\222r   c                 \    t          | j                  }t          |t                    sJ |S r   )r   r   r    r   rL   s     r   _security_schemezDependant._security_scheme^   s-    #DI..	)\22222r   c                 (    d | j         D             }|S )Nc                      g | ]}|j         	|S r?   )rI   ).0deps     r   
<listcomp>z4Dependant._security_dependencies.<locals>.<listcomp>f   s     UUUS=TUUUUr   )r)   )r;   security_depss     r   _security_dependenciesz Dependant._security_dependenciesd   s    UU(9UUUr   c                 `   | j         dS t          j        t          | j                             s&t          j        t	          | j                             rdS t          t          | j                   dd           }|dS t          j        t          |                    s!t          j        t	          |                    rdS t          t	          | j                   dd           }|dS t          j        t          |                    s!t          j        t	          |                    rdS dS NFT__call__)r   r   isgeneratorfunctionr   r   getattrr;   dunder_calldunder_unwrapped_calls      r   is_gen_callablezDependant.is_gen_callablei   s.   95&ty!!
 
 	()C)CDD	 4j33ZFF5&{##
 
 	()E)EFF	 4 '	(B(BJPT U U (5&,--
 
 	(9N)O)OPP	 4ur   c                 `   | j         dS t          j        t          | j                             s&t          j        t	          | j                             rdS t          t          | j                   dd           }|dS t          j        t          |                    s!t          j        t	          |                    rdS t          t	          | j                   dd           }|dS t          j        t          |                    s!t          j        t	          |                    rdS dS rW   )r   r   isasyncgenfunctionr   r   rZ   r[   s      r   is_async_gen_callablezDependant.is_async_gen_callable   s.   95%ty!!
 
 	'	(B(BCC	 4j33ZFF5%{##
 
 	'(D(DEE	 4 '	(B(BJPT U U (5%,--
 
 	'8M(N(NOO	 4ur   c                    | j         dS t          j        t          | j                             r#t	          t          | j                             rdS t          j        t          | j                             r#t	          t          | j                             rdS t          t          | j                   dd           }|dS t	          t          |                    st	          t          |                    rdS t          t          | j                   dd           }|dS t	          t          |                    st	          t          |                    rdS dS rW   )r   r   	isroutiner   r   r   rZ   r[   s      r   is_coroutine_callablezDependant.is_coroutine_callable   sb   95Z	2233 	8Kty!!9
 9
 	 4_TY7788 	=PDI&&>
 >
 	 4j33ZFF5z+6677 	;NK((<
 <
 	 4 '	(B(BJPT U U (5,--
 
 	 1F!G!GHH	 4ur   c                 B    | j         r| j         S | j        s| j        rdS d S )Nr6   )r7   r^   ra   )r;   s    r   rE   zDependant.computed_scope   s3    : 	: 	4#= 	9tr   )/__name__
__module____qualname__r   listr$   r	   r   __annotations__r%   r&   r'   r(   r)   r*   r
   strr   r   r   r+   r,   r-   r.   r/   r0   r1   r2   r3   boolr4   r7   r   r   r   r=   r   rG   rA   rI   r   rN   rU   r^   ra   rd   rE   r?   r   r   r"   r"      s        $)E$$?$?$?Kj!???%*U4%@%@%@L$z"@@@&+eD&A&A&AM4
#AAA&+eD&A&A&AM4
#AAA$)E$$?$?$?Kj!???&+eD&A&A&AL${#AAAD(3-)-D(8CH%
&---(,,,,*.(3-...04444)-#---15#55504444,0htCy)000/3$s),333ItD(3-9=E5./56===d3i    _ 
- 
 
 
 _
 
d 
 
 
 _
 3T 3 3 3 _3 ,    _
 [(9    _     _. t    _. t    _8 c4i 0    _  r   r"   )r   sysdataclassesr   r   	functoolsr   r   typingr   r   r	   r
   r   fastapi._compatr   fastapi.security.baser   fastapi.typesr   typing_extensionsr   version_infor   asyncior   r   r"   r?   r   r   <module>rw      s    



 ( ( ( ( ( ( ( ( . . . . . . . . 7 7 7 7 7 7 7 7 7 7 7 7 7 7 & & & & & & . . . . . . , , , , , , % % % % % %w+++++++++++++(8CH#56 3    Xc3h' HS#X,>     \ \ \ \ \ \ \ \ \ \r   