
     -Dio                        U d dl Z d dlmZ d dlmZ d dl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mZ d	d
lmZmZmZ eZe	ed<    G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z  G d de       Z! G d de!      Z" ed       G d  d!             Z# ed       G d" d#e#             Z$y)$    N)Sequence)	dataclass)Enum)	AnnotatedAnyCallableOptionalUnion)Example)	FieldInfo)Literal
deprecated   )PYDANTIC_V2PYDANTIC_VERSION_MINOR_TUPLE	Undefined_Unsetc                       e Zd ZdZdZdZdZy)
ParamTypesqueryheaderpathcookieN)__name__
__module____qualname__r   r   r   r        Q/var/www/html/backtest/python_venv/lib/python3.12/site-packages/fastapi/params.pyr   r      s    EFDFr   r   c            ?           e Zd ZU eed<   efeddedddddddddddddeeeeededdddddedee	g ef   df   de
e   de
e   d	eedf   d
eedf   deedf   de
e   de
e   de
e   de
e   de
e   de
e   de
e   de
e   de
e   dee
e    ed      f   deedf   deedf   deedf   deedf   deedf   deedf   de
ee      dee
e    ed      f   d e
eeef      d!eeeedf   d"ed#eeeef   df   d$ef< fd%Zd&efd'Z xZS )(Paramin_NTdefault_factory
annotationaliasalias_priorityvalidation_aliasserialization_aliastitledescriptiongtgeltle
min_length
max_lengthpatternregexdiscriminatorstrictmultiple_ofallow_inf_nan
max_digitsdecimal_placesexamplesexampleopenapi_examplesr   include_in_schemajson_schema_extradefaultr$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   EDeprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead.r4   r5   r6   r7   r8   r9   r:   r;   nDeprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, although still supported. Use examples instead.r<   r   r=   r>   extrac          	         |t         urt        j                  dt        d       || _        || _        || _        t        di d|d|d|d|d|	d	|
d
|d|d|d|d|d|d|d|d|d||}|||d<   |t        j                  dt        d       |xs |} t        dk  r|| _	        n||d<   t        rJ|t         d fv rt        |t              r|}|t         d fv r|}|j                  |||||| d       |xs ||d<   n|xs ||d<    |j                  di |  |j                         D !"ci c]  \  }!}"|"t         us|!|" }#}!}"t        $| @  di |# y c c}"}!w Nz<`example` has been deprecated, please use `examples` instead   )category
stacklevelr?   r$   r&   r*   r+   r,   r-   r.   r/   r0   r1   r4   r6   r7   r8   r9   r:   z9`regex` has been deprecated, please use `pattern` instead)      r   )r%   r'   r(   r)   r5   r>   r2   r3   r   )r   warningswarnDeprecationWarningr;   r=   r<   dictr   r   r   
isinstancestrupdateitemssuper__init__)%selfr?   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r   r=   r>   rB   kwargscurrent_json_schema_extrakv
use_kwargs	__class__s%                                       r   rS   zParam.__init__   s   ^ & MMN+
 !2 0 

+
 
 	

 $
 
 
 
 
 "
 "
 (
 $
 (
 "
  *#
& !)F:MMK+
 %6$>!'&0(DO#-F< "vtn4E39O&+#FD>1#( MM",&4(8+>$)B	 !( 05F9%.F7OFMM656'-||~Itq!&adI
I&:& Js   5EEreturnc                 N    | j                   j                   d| j                   dS N()rZ   r   r?   rT   s    r   __repr__zParam.__repr__   $    ..))*!DLL>;;r   )r   r   r   r   __annotations__r   r   r   r
   r   r	   rO   intfloatr   r   boollistrM   r   rS   rb   __classcell__rZ   s   @r   r!   r!      s   	O !m' ;A$(#+1 .204#%)""""$($(!% *.$**0+1'-+1(, 9=9="&9=Ym'm' xC0$67	m'
 SMm' }m' c4i(m'  T	*m' #39-m' }m' c]m' UOm' UOm'  UO!m'" UO#m'$ SM%m'& SM'm'( #)m'* SMW
+m'6 S$Y'7m'8 dDj!9m': 5$;';m'< T4Z(=m'> #t)$?m'@ c4i(Am'B 49%Cm'D SMB
Em'R #4W#56Sm'T *c456Um'V  Wm'X !c3h!56Ym'Z [m'^<# <r   r!   c            ?           e Zd Zej                  Z	 d%eddedddddddddddddeeeeededdddddedee	g ef   df   de
e   de
e   deedf   d	eedf   d
eedf   de
e   de
e   de
e   de
e   de
e   de
e   de
e   de
e   de
e   dee
e    ed      f   deedf   deedf   deedf   deedf   deedf   deedf   de
ee      dee
e    ed      f   de
eeef      d eeeedf   d!ed"eeeef   df   d#ef< fd$Z xZS )&PathNTr#   r?   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r@   r4   r5   r6   r7   r8   r9   r:   r;   rA   r<   r   r=   r>   rB   c                
   |du sJ d       | j                   | _         t        |   d i d|d|d|d|d|d|d	|d
|d|	d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| y )!N.z+Path parameters cannot have a default valuer?   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r   r;   r:   r<   r=   r>   r   )r"   rR   rS    rT   r?   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r   r=   r>   rB   rZ   s                                   r   rS   zPath.__init__   sQ   ^ #~LLL~88 	
	
+	
 "	
 		

 *	
 .	
 !4	
 	
 $	
 	
 	
 	
 	
 "	
 "	
  !	
" #	
$ (%	
& '	
( $)	
* (+	
, "-	
. */	
0 "1	
2 3	
4 5	
6 .7	
8 09	
: 0=	
r   ).)r   r   r   r   r   r"   r   r   r
   r   r	   rO   re   rf   r   r   rg   rh   rM   r   rS   ri   rj   s   @r   rl   rl      s   
//C P
 ;A$(#+1 .204#%)""""$($(!% *.$**0+1'-+1(, 9=9="&9=YP
P
 xC0$67	P

 SMP
 }P
 c4i(P
  T	*P
 #39-P
 }P
 c]P
 UOP
 UOP
  UO!P
" UO#P
$ SM%P
& SM'P
( #)P
* SMW
+P
6 S$Y'7P
8 dDj!9P
: 5$;';P
< T4Z(=P
> #t)$?P
@ c4i(AP
B 49%CP
D SMB
EP
R #4W#56SP
T *c456UP
V  WP
X !c3h!56YP
Z [P
 P
r   rl   c            ?           e Zd Zej                  Zefeddedddddddddddddeeeeededdddddede	e
g ef   df   dee   dee   de	edf   d	e	edf   d
e	edf   dee   dee   dee   dee   dee   dee   dee   dee   dee   deee    ed      f   de	edf   de	edf   de	edf   de	edf   de	edf   de	edf   deee      deee    ed      f   deeeef      d e	eeedf   d!ed"e	eeef   df   d#ef< fd$Z xZS )%QueryNTr#   r?   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r@   r4   r5   r6   r7   r8   r9   r:   r;   rA   r<   r   r=   r>   rB   c                    t        |   di d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| y Nr?   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r   r;   r:   r<   r=   r>   r   rR   rS   rn   s                                   r   rS   zQuery.__init__   4   ^ 	 	
	
+	
 "	
 		

 *	
 .	
 !4	
 	
 $	
 	
 	
 	
 	
 "	
 "	
  !	
" #	
$ (%	
& '	
( $)	
* (+	
, "-	
. */	
0 "1	
2 3	
4 5	
6 .7	
8 09	
: 0=	
r   )r   r   r   r   r   r"   r   r   r   r
   r   r	   rO   re   rf   r   r   rg   rh   rM   r   rS   ri   rj   s   @r   rp   rp      s   


C !N
 ;A$(#+1 .204#%)""""$($(!% *.$**0+1'-+1(, 9=9="&9=YN
N
 xC0$67	N

 SMN
 }N
 c4i(N
  T	*N
 #39-N
 }N
 c]N
 UON
 UON
  UO!N
" UO#N
$ SM%N
& SM'N
( #)N
* SMW
+N
6 S$Y'7N
8 dDj!9N
: 5$;';N
< T4Z(=N
> #t)$?N
@ c4i(AN
B 49%CN
D SMB
EN
R #4W#56SN
T *c456UN
V  WN
X !c3h!56YN
Z [N
 N
r   rp   c            A           e Zd Zej                  Zefeddeddddddddddddddeeeeededdddddede	e
g ef   df   dee   dee   de	edf   d	e	edf   d
e	edf   dedee   dee   dee   dee   dee   dee   dee   dee   dee   deee    ed      f   de	edf   de	edf   de	edf   de	edf   de	edf   de	edf   deee      deee    ed      f   d eeeef      d!e	eeedf   d"ed#e	eeef   df   d$ef> fd%Z xZS )&HeaderNT)r$   r%   r&   r'   r(   r)   convert_underscoresr*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r   r=   r>   r?   r$   r%   r&   r'   r(   r)   rw   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r@   r4   r5   r6   r7   r8   r9   r:   r;   rA   r<   r   r=   r>   rB   c                    || _         t         |   di d|d|d|d|d|d|d|d|	d	|
d
|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| y rr   )rw   rR   rS   )!rT   r?   r$   r%   r&   r'   r(   r)   rw   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r   r=   r>   rB   rZ   s!                                   r   rS   zHeader.__init__>  s<   ` $7  	
	
+	
 "	
 		

 *	
 .	
 !4	
 	
 $	
 	
 	
 	
 	
 "	
 "	
  !	
" #	
$ (%	
& '	
( $)	
* (+	
, "-	
. */	
0 "1	
2 3	
4 5	
6 .7	
8 09	
: 0=	
r   )r   r   r   r   r   r"   r   r   r   r
   r   r	   rO   re   rg   rf   r   r   rh   rM   r   rS   ri   rj   s   @r   rv   rv   ;  s   


C !P
 ;A$(#+1 .204$(#%)""""$($(!% *.$**0+1'-+1(, 9=9="&9=[P
P
 xC0$67	P

 SMP
 }P
 c4i(P
  T	*P
 #39-P
 "P
 }P
 c]P
 UOP
  UO!P
" UO#P
$ UO%P
& SM'P
( SM)P
* #+P
, SMW
-P
8 S$Y'9P
: dDj!;P
< 5$;'=P
> T4Z(?P
@ #t)$AP
B c4i(CP
D 49%EP
F SMB
GP
T #4W#56UP
V *c456WP
X  YP
Z !c3h!56[P
\ ]P
 P
r   rv   c            ?           e Zd Zej                  Zefeddedddddddddddddeeeeededdddddede	e
g ef   df   dee   dee   de	edf   d	e	edf   d
e	edf   dee   dee   dee   dee   dee   dee   dee   dee   dee   deee    ed      f   de	edf   de	edf   de	edf   de	edf   de	edf   de	edf   deee      deee    ed      f   deeeef      d e	eeedf   d!ed"e	eeef   df   d#ef< fd$Z xZS )%CookieNTr#   r?   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r@   r4   r5   r6   r7   r8   r9   r:   r;   rA   r<   r   r=   r>   rB   c                    t        |   di d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| y rr   rs   rn   s                                   r   rS   zCookie.__init__  rt   r   )r   r   r   r   r   r"   r   r   r   r
   r   r	   rO   re   rf   r   r   rg   rh   rM   r   rS   ri   rj   s   @r   rz   rz     s   


C !N
 ;A$(#+1 .204#%)""""$($(!% *.$**0+1'-+1(, 9=9="&9=YN
N
 xC0$67	N

 SMN
 }N
 c4i(N
  T	*N
 #39-N
 }N
 c]N
 UON
 UON
  UO!N
" UO#N
$ SM%N
& SM'N
( #)N
* SMW
+N
6 S$Y'7N
8 dDj!9N
: 5$;';N
< T4Z(=N
> #t)$?N
@ c4i(AN
B 49%CN
D SMB
EN
R #4W#56SN
T *c456UN
V  WN
X !c3h!56YN
Z [N
 N
r   rz   c            C            e Zd Zefeddddedddddddddddddeeeeededdddddedeeg ef   df   dee   dee	df   d	e
d
ee
   deedf   dee
df   dee
df   dee
   dee
   dee   dee   dee   dee   dee   dee   dee
   deee
    ed      f   dee
df   dee	df   deedf   dee	df   deedf   deedf   deee      d eee    ed!      f   d"eee
ef      d#eee
e	df   d$e	d%eee
ef   df   d&ef@ fd'Zd(e
fd)Z xZS )*BodyNzapplication/jsonT)r$   r%   embed
media_typer&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r   r=   r>   r?   r$   r%   r~   r   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r@   r4   r5   r6   r7   r8   r9   r:   r;   rA   r<   r   r=   r>   rB   c          	         || _         || _        |t        urt        j                  dt
        d       || _        || _        || _        t        di d|d|d|d|
d|d	|d
|d|d|d|d|d|d|d|d|d|| }!|||!d<   |t        j                  dt
        d       |xs | }"t        dk  r|| _        n||!d<   t        rJ|	t        d fv rt        |t              r|}	|t        d fv r|}|!j                  ||||	||"d       |xs ||!d<   n|xs ||!d<    |!j                  di |" |!j!                         D #$ci c]  \  }#}$|$t        us|#|$ }%}#}$t#        &| H  di |% y c c}$}#w rD   )r~   r   r   rJ   rK   rL   r;   r=   r<   rM   r   r   r   rN   rO   rP   rQ   rR   rS   )'rT   r?   r$   r%   r~   r   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r   r=   r>   rB   rU   rV   rW   rX   rY   rZ   s'                                         r   rS   zBody.__init__  s   b 
$& MMN+
 !2 0 

+
 
 	

 $
 
 
 
 
 "
 "
 (
 $
 (
 "
  *#
& !)F:MMK+
 %6$>!'&0(DO#-F< "vtn4E39O&+#FD>1#( MM",&4(8+>$)B	 !( 05F9%.F7OFMM656'-||~Itq!&adI
I&:& Js   E,E,r[   c                 N    | j                   j                   d| j                   dS r]   r`   ra   s    r   rb   zBody.__repr__Z  rc   r   )r   r   r   r   r   r   r
   r   r	   rg   rO   re   rf   r   r   rh   rM   r   rS   rb   ri   rj   s   @r   r}   r}     s    !r' ;A$(#',#+1 .204#%)""""$($(!% *.$**0+1'-+1(, 9=9="&9=]r'r' xC0$67	r'
 SMr' T4Z r' r' }r' c4i(r'  T	*r' #39-r' }r' c]r'  UO!r'" UO#r'$ UO%r'& UO'r'( SM)r'* SM+r', #-r'. SMW
/r': S$Y';r'< dDj!=r'> 5$;'?r'@ T4Z(Ar'B #t)$Cr'D c4i(Er'F 49%Gr'H SMB
Ir'V #4W#56Wr'X *c456Yr'Z  [r'\ !c3h!56]r'^ _r'h<# <r   r}   c            A           e Zd Zefedddedddddddddddddeeeeededdddddedeeg ef   df   dee   de	d	ee	   d
ee
df   dee	df   dee	df   dee	   dee	   dee   dee   dee   dee   dee
   dee
   dee	   deee	    ed      f   dee	df   deedf   deedf   deedf   dee
df   dee
df   deee      deee    ed       f   d!eee	ef      d"eee	edf   d#ed$eee	ef   df   d%ef> fd&Z xZS )'FormNz!application/x-www-form-urlencodedTr$   r%   r   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r   r=   r>   r?   r$   r%   r   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r@   r4   r5   r6   r7   r8   r9   r:   r;   rA   r<   r   r=   r>   rB   c                    t         |   di d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| y  Nr?   r$   r%   r   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r   r;   r:   r<   r=   r>   r   rs   !rT   r?   r$   r%   r   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r   r=   r>   rB   rZ   s!                                   r   rS   zForm.__init___  >   ` 	  	
 	
+ 	
 " 	
 "	 	

  	
 * 	
 . 	
 !4 	
  	
 $ 	
  	
  	
  	
  	
 " 	
  "! 	
" # 	
$ % 	
& (' 	
( ) 	
* $+ 	
, (- 	
. "/ 	
0 *1 	
2 "3 	
4 5 	
6 7 	
8 .9 	
: 0; 	
< 0? 	
r   r   r   r   r   r   r   r
   r   r	   rO   re   rf   r   r   rg   rh   rM   r   rS   ri   rj   s   @r   r   r   ^  s    !P
 ;A$(=#+1 .204#%)""""$($(!% *.$**0+1'-+1(, 9=9="&9=[P
P
 xC0$67	P

 SMP
 P
 }P
 c4i(P
  T	*P
 #39-P
 }P
 c]P
 UOP
  UO!P
" UO#P
$ UO%P
& SM'P
( SM)P
* #+P
, SMW
-P
8 S$Y'9P
: dDj!;P
< 5$;'=P
> T4Z(?P
@ #t)$AP
B c4i(CP
D 49%EP
F SMB
GP
T #4W#56UP
V *c456WP
X  YP
Z !c3h!56[P
\ ]P
 P
r   r   c            A           e Zd Zefedddedddddddddddddeeeeededdddddedeeg ef   df   dee   de	d	ee	   d
ee
df   dee	df   dee	df   dee	   dee	   dee   dee   dee   dee   dee
   dee
   dee	   deee	    ed      f   dee	df   deedf   deedf   deedf   dee
df   dee
df   deee      deee    ed       f   d!eee	ef      d"eee	edf   d#ed$eee	ef   df   d%ef> fd&Z xZS )'FileNzmultipart/form-dataTr   r?   r$   r%   r   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r@   r4   r5   r6   r7   r8   r9   r:   r;   rA   r<   r   r=   r>   rB   c                    t         |   di d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| y r   rs   r   s!                                   r   rS   zFile.__init__  r   r   r   rj   s   @r   r   r     s    !P
 ;A$(/#+1 .204#%)""""$($(!% *.$**0+1'-+1(, 9=9="&9=[P
P
 xC0$67	P

 SMP
 P
 }P
 c4i(P
  T	*P
 #39-P
 }P
 c]P
 UOP
  UO!P
" UO#P
$ UO%P
& SM'P
( SM)P
* #+P
, SMW
-P
8 S$Y'9P
: dDj!;P
< 5$;'=P
> T4Z(?P
@ #t)$AP
B c4i(CP
D 49%EP
F SMB
GP
T #4W#56UP
V *c456WP
X  YP
Z !c3h!56[P
\ ]P
 P
r   r   T)frozenc                   X    e Zd ZU dZeedef      ed<   dZe	ed<   dZ
eed   df   ed<   y)DependsN.
dependencyT	use_cache)functionrequestscope)r   r   r   r   r	   r   r   rd   r   rg   r   r
   r   r   r   r   r   r     s>    /3J#s(+,3It9=E5./56=r   r   c                   (    e Zd ZU dZeee      ed<   y)SecurityNscopes)r   r   r   r   r	   r   rO   rd   r   r   r   r   r     s    &*FHXc]#*r   r   )%rJ   collections.abcr   dataclassesr   enumr   typingr   r   r   r	   r
   fastapi.openapi.modelsr   pydantic.fieldsr   typing_extensionsr   r   _compatr   r   r   r   rd   r   r!   rl   rp   rv   rz   r}   r   r   r   r   r   r   r   <module>r      s     $ !  < < * % 1    s<I s<lS
5 S
lQ
E Q
hS
U S
lQ
U Q
hv<9 v<rQ
4 Q
hQ
4 Q
h $> > > $+w + +r   