+
    XjZ                       ^ RI Ht ^ RIt^ RIHtHtHtHtHtH	t	H
t
Ht ^ RIHt ^ RIHtHtHtHtHtHt ^ RIHtHtHtHt ^ RIHt ^ RIHt  ! R	 R
]4      t]! R4      t]! RRR7      t]P@                  ! R]PB                  4      t" ! R R4      t# ! R R]$4      t% ! R R4      t& ! R R]
]$,          4      t' ! R R]]]3,          4      t( ! R R](]]3,          4      t) ! R R](]$]$3,          4      t* ! R R4      t+ ! R  R!](]$]+]$,          3,          4      t, ! R" R#]]$]$3,          4      t- ! R$ R%]-4      t. ! R& R'4      t/R# )(    )annotationsN)	ItemsViewIterableIteratorKeysViewMappingMutableMappingSequence
ValuesView)shlex)AnyBinaryIOLiteral
NamedTupleTypeVarcast)SplitResult	parse_qsl	urlencodeurlsplit)run_in_threadpool)Scopec                  ,    ] tR t^t$ R]R&   R]R&   RtR# )Addressstrhostintport N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r       t   /Users/wind/Downloads/Coruna-main学习资料A/backend/venv/lib/python3.14/site-packages/starlette/datastructures.pyr   r      s    
I
Ir&   r   _KeyType_CovariantValueTypeT)	covariantz5^([a-z0-9.-]+|\[[a-f0-9]*:[a-f0-9.:]+\])(?::[0-9]+)?$c                  l   ] tR t^tR)R R llt]R R l4       t]R R l4       t]R R	 l4       t]R
 R l4       t	]R R l4       t
]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       tR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR(tR# )*URLNc               (    V ^8  d   QhRRRRRRRR/# )	   urlr   scopezScope | None
componentsr   returnNoner   )formats   "r'   __annotate__URL.__annotate__   s2     & && & 	&
 
&r&   c                	   VEe   V'       d   Q R4       hV'       d   Q R4       hVP                  RR4      pVP                  RR 4      pVR,          pVP                  RR4      pR pVR	,           F  w  rV	R
8X  g   K  V
P                  R4      p M	  Ve   \        P                  V4      '       d   TpM+Ve&   Vw  rR^PRRR^PRR/V,          pW8X  d   TMV RV 2pMR pVP                  4       pVe   \	        WKWoRR7      P                  4       pM\V'       d   V RV 2MTpMJV'       dC   V'       d   Q R4       h\        R4      P                  ! R/ VB P                  P                  4       pWn	        R # )Nz"Cannot set both "url" and "scope".z+Cannot set both "scope" and "**components".schemehttpserverpathquery_stringr&   headerss   hostlatin-1httpsi  wswss: )r8   netlocr;   queryfragment?z)Cannot set both "url" and "**components".r   )
getdecode_HOST_RE	fullmatchr   geturlr,   replacer1   _url)selfr/   r0   r1   r8   r:   r;   r<   host_headerkeyvaluerD   r   r   default_portrE   s   &&&,            r'   __init__URL.__init__   sl    @@@7!P#PP>YYx0FYYx.F=D 99^S9LK#I..
'>"',,y"9K /
 &8+=+=k+J+J$##
 &GS$E3OPVW!%!5dV1TF;K '')E!!Tacdkkm+0aw'dGGG7b'///J/::AACC	r&   c                   V ^8  d   QhRR/# )r.   r2   r   r   )r4   s   "r'   r5   r6   F   s        K  r&   c                	r    \        V R 4      '       g   \        V P                  4      V n        V P                  # )_components)hasattrr   rN   rX   rO   s   &r'   r1   URL.componentsE   s,    t]++'		2Dr&   c                   V ^8  d   QhRR/# r.   r2   r   r   )r4   s   "r'   r5   r6   L        & & &r&   c                	.    V P                   P                  # N)r1   r8   rZ   s   &r'   r8   
URL.schemeK       %%%r&   c                   V ^8  d   QhRR/# r]   r   )r4   s   "r'   r5   r6   P   r^   r&   c                	.    V P                   P                  # r`   )r1   rD   rZ   s   &r'   rD   
URL.netlocO   rb   r&   c                   V ^8  d   QhRR/# r]   r   )r4   s   "r'   r5   r6   T   s     $ $c $r&   c                	.    V P                   P                  # r`   )r1   r;   rZ   s   &r'   r;   URL.pathS       ###r&   c                   V ^8  d   QhRR/# r]   r   )r4   s   "r'   r5   r6   X   s     % %s %r&   c                	.    V P                   P                  # r`   )r1   rE   rZ   s   &r'   rE   	URL.queryW   s    $$$r&   c                   V ^8  d   QhRR/# r]   r   )r4   s   "r'   r5   r6   \   s     ( (# (r&   c                	.    V P                   P                  # r`   )r1   rF   rZ   s   &r'   rF   URL.fragment[       '''r&   c                   V ^8  d   QhRR/# r.   r2   z
None | strr   )r4   s   "r'   r5   r6   `        ( (* (r&   c                	.    V P                   P                  # r`   )r1   usernamerZ   s   &r'   ru   URL.username_   rp   r&   c                   V ^8  d   QhRR/# rr   r   )r4   s   "r'   r5   r6   d   rs   r&   c                	.    V P                   P                  # r`   )r1   passwordrZ   s   &r'   ry   URL.passwordc   rp   r&   c                   V ^8  d   QhRR/# rr   r   )r4   s   "r'   r5   r6   h   rs   r&   c                	.    V P                   P                  # r`   )r1   hostnamerZ   s   &r'   r}   URL.hostnameg   rp   r&   c                   V ^8  d   QhRR/# )r.   r2   
int | Noner   )r4   s   "r'   r5   r6   l   s     $ $j $r&   c                	.    V P                   P                  # r`   )r1   r   rZ   s   &r'   r   URL.portk   ri   r&   c                   V ^8  d   QhRR/# r.   r2   boolr   )r4   s   "r'   r5   r6   p   s     / /4 /r&   c                	     V P                   R9   # )r?   )r?   rA   )r8   rZ   s   &r'   	is_secureURL.is_secureo   s    {{...r&   c                    V ^8  d   QhRRRR/# r.   kwargsr   r2   r,   r   )r4   s   "r'   r5   r6   s   s     3 3 3 3r&   c                	   R V9   g   RV9   g   RV9   g   RV9   d   VP                  RR4      pVP                  RV P                  4      pVP                  R V P                  4      pVP                  RV P                  4      pVfP   V P                  pVP                  R4      w   rrV'       d(   VR	,          R8w  d   VP                  R^4      ^ ,          pTpVe   VRV 2,          pVe   TpVe   VRV 2,          pV RV 2pWaR&   V P                  P                  ! R
/ VB p	V P                  V	P                  4       4      # )ru   ry   r}   r   N@]rB   rD   r   )popr   ru   ry   rD   
rpartitionrsplitr1   _replace	__class__rL   )
rO   r   r}   r   ru   ry   rD   _userpassr1   s
   &,        r'   rM   URL.replaces   s6   :#7:;OSY]cSczz*d3H::fdii0Dzz*dmm<Hzz*dmm<H!'!2!23!71 3'sA6q9HFAdV*$##'!H:.H$:Qvh/%8__--77
~~j//122r&   c                    V ^8  d   QhRRRR/# r   r   )r4   s   "r'   r5   r6      s     ) )S )S )r&   c           
     	0   \        \        V P                  R R7      4      pTP                  VP	                  4        UUu/ uF  w  r4\        V4      \        V4      bK  	  upp4       \        VP                  4       4      pV P                  VR7      # u uppi )Tkeep_blank_valuesrE   )		MultiDictr   rE   updateitemsr   r   multi_itemsrM   )rO   r   paramsrQ   rR   rE   s   &,    r'   include_query_paramsURL.include_query_params   sq    9TZZ4HIfllnMn
s3xU+nMN&,,./||%|(( Ns    B
c                    V ^8  d   QhRRRR/# r   r   )r4   s   "r'   r5   r6      s     ) )S )S )r&   c           
     	    \        VP                  4        UUu. uF  w  r#\        V4      \        V4      3NK  	  upp4      pV P                  VR 7      # u uppi )r   )r   r   r   rM   )rO   r   rQ   rR   rE   s   &,   r'   replace_query_paramsURL.replace_query_params   sG    FLLNSNjcCHc%j1NST||%|(( Ts   !A
c                    V ^8  d   QhRRRR/# )r.   keysstr | Sequence[str]r2   r,   r   )r4   s   "r'   r5   r6      s     ) )(; ) )r&   c                	    \        V\        4      '       d   V.p\        \        V P                  R R7      4      pV F  pVP                  VR4       K  	  \        VP                  4       4      pV P                  VR7      # )Tr   Nr   )	
isinstancer   r   r   rE   r   r   r   rM   )rO   r   r   rQ   rE   s   &&   r'   remove_query_paramsURL.remove_query_params   sg    dC  6D9TZZ4HICJJsD! &,,./||%|((r&   c                    V ^8  d   QhRRRR/# r.   otherr   r2   r   r   )r4   s   "r'   r5   r6      s     ' 'C 'D 'r&   c                	0    \        V 4      \        V4      8H  # r`   )r   rO   r   s   &&r'   __eq__
URL.__eq__   s    4yCJ&&r&   c                   V ^8  d   QhRR/# r]   r   )r4   s   "r'   r5   r6      s       r&   c                	    V P                   # r`   )rN   rZ   s   &r'   __str__URL.__str__   s    yyr&   c                   V ^8  d   QhRR/# r]   r   )r4   s   "r'   r5   r6      s     9 9# 9r&   c                	    \        V 4      pV P                  '       d   \        V P                  R R7      4      pV P                  P                   R\        V4       R2# )z********)ry   ())r   ry   rM   r   r    repr)rO   r/   s   & r'   __repr__URL.__repr__   sK    $i===dllJl78C..))*!DI;a88r&   )rX   rN   )rC   N)r    r!   r"   r#   rT   propertyr1   r8   rD   r;   rE   rF   ru   ry   r}   r   r   rM   r   r   r   r   r   r   r%   r   r&   r'   r,   r,      s   &P    
 & & & & $ $ % % ( ( ( ( ( ( ( ( $ $ / /38)))'9 9r&   r,   c                  F    ] tR t^tRtR
R R lltR
R R lltR R ltRtR	# )URLPathz
A URL path string that may also hold an associated protocol and/or host.
Used by the routing to return `url_path_for` matches.
c               (    V ^8  d   QhRRRRRRRR/# )r.   r;   r   protocol Literal['http', 'websocket', '']r   r2   r   r   )r4   s   "r'   r5   URLPath.__annotate__   s+     & &3 &*J &WZ &dk &r&   c                	>    VR9   g   Q h\         P                  W4      # )r9   )r9   	websocketrC   )r   __new__)clsr;   r   r   s   &&&&r'   r   URLPath.__new__   s     4444{{3%%r&   c               (    V ^8  d   QhRRRRRRRR/# )r.   r;   r   r   r   r   r2   r3   r   )r4   s   "r'   r5   r      s+      S ,L Y\ fj r&   c                	    W n         W0n        R # r`   )r   r   )rO   r;   r   r   s   &&&&r'   rT   URLPath.__init__   s     	r&   c                    V ^8  d   QhRRRR/# )r.   base_urlz	str | URLr2   r,   r   )r4   s   "r'   r5   r      s     < <) < <r&   c                	   \        V\        4      '       d   \        V4      pV P                  '       d2   R RRRR /RRRRR//V P                  ,          VP                  ,          pMVP
                  pV P                  ;'       g    VP                  pVP                  P                  R4      \        V 4      ,           p\        W#VR7      # )	r9   Tr?   Fr   rA   r@   /)r8   rD   r;   )
r   r   r,   r   r   r8   r   rD   r;   rstrip)rO   r   r8   rD   r;   s   &&   r'   make_absolute_urlURLPath.make_absolute_url   s    h$$8}H===wv6dE5$7 mm &//1F
 __F--hoo}}##C(3t94&d;;r&   )r   r   N)rC   rC   )	r    r!   r"   r#   __doc__r   rT   r   r%   r   r&   r'   r   r      s    
&< <r&   r   c                  J    ] tR t^tRtR R ltR R ltR R ltR R	 ltR
t	R# )Secretz
Holds a string value that should not be revealed in tracebacks etc.
You should cast the value to `str` at the point it is required.
c                   V ^8  d   QhRR/# )r.   rR   r   r   )r4   s   "r'   r5   Secret.__annotate__   s      c r&   c                	    Wn         R # r`   _value)rO   rR   s   &&r'   rT   Secret.__init__   s    r&   c                   V ^8  d   QhRR/# r]   r   )r4   s   "r'   r5   r      s     - -# -r&   c                	8    V P                   P                  pV R 2# )z('**********')r   r    )rO   
class_names   & r'   r   Secret.__repr__   s    ^^,,
^,,r&   c                   V ^8  d   QhRR/# r]   r   )r4   s   "r'   r5   r      s       r&   c                	    V P                   # r`   r   rZ   s   &r'   r   Secret.__str__   s    {{r&   c                   V ^8  d   QhRR/# r   r   )r4   s   "r'   r5   r      s     ! !$ !r&   c                	,    \        V P                  4      # r`   )r   r   rZ   s   &r'   __bool__Secret.__bool__       DKK  r&   r   N)
r    r!   r"   r#   r   rT   r   r   r   r%   r   r&   r'   r   r      s     
-! !r&   r   c                  ^    ] tR t^tR R ltR R ltR R ltR R ltR	 R
 ltR R lt	Rt
R# )CommaSeparatedStringsc                   V ^8  d   QhRR/# )r.   rR   r   r   )r4   s   "r'   r5   "CommaSeparatedStrings.__annotate__   s     & &1 &r&   c                	    \        V\        4      '       dB   \        VR R7      pRVn        R Vn        V Uu. uF  q3P                  4       NK  	  upV n        R# \        V4      V n        R# u upi )T)posix,N)r   r   r   
whitespacewhitespace_splitstrip_itemslist)rO   rR   splitteritems   &&  r'   rT   CommaSeparatedStrings.__init__   sU    eS!!U$/H"%H(,H%4<=HD::<H=DKu+DK >s   A*c                   V ^8  d   QhRR/# r.   r2   r   r   )r4   s   "r'   r5   r                r&   c                	,    \        V P                  4      # r`   )lenr   rZ   s   &r'   __len__CommaSeparatedStrings.__len__       4;;r&   c                    V ^8  d   QhRRRR/# )r.   indexzint | slicer2   r   r   )r4   s   "r'   r5   r      s     " " " "r&   c                	(    V P                   V,          # r`   r   )rO   r  s   &&r'   __getitem__!CommaSeparatedStrings.__getitem__   s    {{5!!r&   c                   V ^8  d   QhRR/# r.   r2   zIterator[str]r   )r4   s   "r'   r5   r           ! !- !r&   c                	,    \        V P                  4      # r`   )iterr   rZ   s   &r'   __iter__CommaSeparatedStrings.__iter__   r   r&   c                   V ^8  d   QhRR/# r]   r   )r4   s   "r'   r5   r           * *# *r&   c                	j    V P                   P                  pV  Uu. uF  q"NK  	  ppV R V: R2# u upi r   r   r   )rO   r   r   r   s   &   r'   r   CommaSeparatedStrings.__repr__   s=    ^^,,
"&'$$$'Quiq)) (s   
0c                   V ^8  d   QhRR/# r]   r   )r4   s   "r'   r5   r      s     6 6 6r&   c                	2    R P                  R V  4       4      # ), c              3  8   "   T F  p\        V4      x  K  	  R # 5ir`   )r   ).0r   s   & r'   	<genexpr>0CommaSeparatedStrings.__str__.<locals>.<genexpr>   s     5ds   )joinrZ   s   &r'   r   CommaSeparatedStrings.__str__   s    yy5555r&   r  N)r    r!   r"   r#   rT   r  r  r  r   r   r%   r   r&   r'   r   r      s%    & "!*
6 6r&   r   c                      ] tR t^t$ R]R&   R R ltR R ltR R ltR	 R
 ltR R lt	R R lt
R R ltR R ltR R ltR R ltR R ltR R ltRtR# )ImmutableMultiDictz#dict[_KeyType, _CovariantValueType]_dictc               $    V ^8  d   QhRRRRRR/# )r.   argszImmutableMultiDict[_KeyType, _CovariantValueType] | Mapping[_KeyType, _CovariantValueType] | Iterable[tuple[_KeyType, _CovariantValueType]]r   r   r2   r3   r   )r4   s   "r'   r5   ImmutableMultiDict.__annotate__   s*      9
  
r&   c                	   \        V4      ^8  g   Q R4       hV'       d
   V^ ,          M. pV'       d8   \        V4      P                  4       \        V4      P                  4       ,           pV'       g   . pM\        VR4      '       d<   \	        \        \
        \        3,          V4      p\        VP                  4       4      pMd\        VR4      '       d<   \	        \        \
        \        3,          V4      p\        VP                  4       4      pM\	        RV4      p\        V4      pV UUu/ uF  w  rVWVbK	  	  uppV n
        W@n        R# u uppi )r.   Too many arguments.r   r   zlist[tuple[Any, Any]]N)r   r   r   rY   r   r(   r)   r   r   r   r!  _list)rO   r#  r   rR   r   kvs   &*,    r'   rT   ImmutableMultiDict.__init__   s     4y1}333} $T!W"&u-99;>PQW>X>d>d>ffE,.FUM**+H6I,IJERE%++-.FUG$$+>!>?GE%++-(F0%8E%[F'-.vtqadv.

 /s   +E	c                    V ^8  d   QhRRRR/# )r.   rQ   r   r2   zlist[_CovariantValueType]r   )r4   s   "r'   r5   r$    s     V V3 V#< Vr&   c                	^    V P                    UUu. uF  w  r#W!8X  g   K  VNK  	  upp# u uppi r`   r'  )rO   rQ   item_key
item_values   &&  r'   getlistImmutableMultiDict.getlist  s'    7;zzUz3xX_

zUUUs   
))c                   V ^8  d   QhRR/# )r.   r2   zKeysView[_KeyType]r   )r4   s   "r'   r5   r$    s     ! !( !r&   c                	6    V P                   P                  4       # r`   )r!  r   rZ   s   &r'   r   ImmutableMultiDict.keys  s    zz  r&   c                   V ^8  d   QhRR/# )r.   r2   zValuesView[_CovariantValueType]r   )r4   s   "r'   r5   r$  "  s     # #7 #r&   c                	6    V P                   P                  4       # r`   )r!  valuesrZ   s   &r'   r7  ImmutableMultiDict.values"  s    zz  ""r&   c                   V ^8  d   QhRR/# )r.   r2   z(ItemsView[_KeyType, _CovariantValueType]r   )r4   s   "r'   r5   r$  %  s     " "? "r&   c                	6    V P                   P                  4       # r`   )r!  r   rZ   s   &r'   r   ImmutableMultiDict.items%  s    zz!!r&   c                   V ^8  d   QhRR/# )r.   r2   z*list[tuple[_KeyType, _CovariantValueType]]r   )r4   s   "r'   r5   r$  (  s        G  r&   c                	,    \        V P                  4      # r`   r   r'  rZ   s   &r'   r   ImmutableMultiDict.multi_items(  s    DJJr&   c                    V ^8  d   QhRRRR/# )r.   rQ   r(   r2   r)   r   )r4   s   "r'   r5   r$  +  s      x ,? r&   c                	(    V P                   V,          # r`   r!  rO   rQ   s   &&r'   r  ImmutableMultiDict.__getitem__+  s    zz#r&   c                    V ^8  d   QhRRRR/# r.   rQ   r   r2   r   r   )r4   s   "r'   r5   r$  .  s     ! ! ! !r&   c                	    WP                   9   # r`   rB  rC  s   &&r'   __contains__ImmutableMultiDict.__contains__.  s    jj  r&   c                   V ^8  d   QhRR/# )r.   r2   zIterator[_KeyType]r   )r4   s   "r'   r5   r$  1  s     ! !, !r&   c                	4    \        V P                  4       4      # r`   r  r   rZ   s   &r'   r  ImmutableMultiDict.__iter__1      DIIK  r&   c                   V ^8  d   QhRR/# r   r   )r4   s   "r'   r5   r$  4         r&   c                	,    \        V P                  4      # r`   )r   r!  rZ   s   &r'   r  ImmutableMultiDict.__len__4      4::r&   c                    V ^8  d   QhRRRR/# r   r   )r4   s   "r'   r5   r$  7       9 9C 9D 9r&   c                	    \        WP                  4      '       g   R # \        V P                  4      \        VP                  4      8H  # F)r   r   sortedr'  r   s   &&r'   r   ImmutableMultiDict.__eq__7  s1    %00djj!VEKK%888r&   c                   V ^8  d   QhRR/# r]   r   )r4   s   "r'   r5   r$  <  r  r&   c                	`    V P                   P                  pV P                  4       pV R V: R2# r  )r   r    r   )rO   r   r   s   &  r'   r   ImmutableMultiDict.__repr__<  s2    ^^,,
  "Quiq))r&   r!  r'  N)r    r!   r"   r#   r$   rT   r0  r   r7  r   r   r  rH  r  r  r   r   r%   r   r&   r'   r   r      sJ    ..8V!#" !!9
* *r&   r   c                      ] tR tRtR R ltR R ltRR R lltR	 R
 ltR R ltR R lt	RR R llt
R R ltR R ltR R ltRtR# )r   iB  c               $    V ^8  d   QhRRRRRR/# r.   rQ   r   rR   r2   r3   r   )r4   s   "r'   r5   MultiDict.__annotate__C  s!     # #s #3 #4 #r&   c                	*    V P                  W.4       R # r`   )setlistrO   rQ   rR   s   &&&r'   __setitem__MultiDict.__setitem__C  s    S'"r&   c                    V ^8  d   QhRRRR/# r.   rQ   r   r2   r3   r   )r4   s   "r'   r5   ra  F  s      s t r&   c                	    V P                    UUu. uF  w  r#W!8w  g   K  W#3NK  	  uppV n         V P                  V R # u uppi r`   )r'  r!  )rO   rQ   r(  r)  s   &&  r'   __delitem__MultiDict.__delitem__F  s7    )-@qxfqf@
JJsO As   
>>Nc               $    V ^8  d   QhRRRRRR/# r.   rQ   r   defaultr2   r   )r4   s   "r'   r5   ra  J  s!     , ,s ,S ,C ,r&   c                	    V P                    UUu. uF  w  r4W18w  g   K  W43NK  	  uppV n         V P                  P                  W4      # u uppi r`   )r'  r!  r   )rO   rQ   rn  r(  r)  s   &&&  r'   r   MultiDict.popJ  s?    )-@qxfqf@
zz~~c++ As
   
A
A
c                   V ^8  d   QhRR/# )r.   r2   ztuple[Any, Any]r   )r4   s   "r'   r5   ra  N  s       r&   c                	    V P                   P                  4       w  rV P                   UUu. uF  w  r4W18w  g   K  W43NK  	  uppV n        W3# u uppi r`   )r!  popitemr'  )rO   rQ   rR   r(  r)  s   &    r'   rs  MultiDict.popitemN  sH    ZZ'')
)-@qxfqf@
z As
   
AAc                    V ^8  d   QhRRRR/# )r.   rQ   r   r2   	list[Any]r   )r4   s   "r'   r5   ra  S  s      3 9 r&   c                	    V P                    UUu. uF  w  r#W!8X  g   K  VNK  	  pppV P                  V4       V# u uppi r`   )r'  r   )rO   rQ   r(  r)  r7  s   &&   r'   poplistMultiDict.poplistS  s7     $

7
ah!!
7 8s   
;;c                   V ^8  d   QhRR/# r.   r2   r3   r   )r4   s   "r'   r5   ra  X  s      t r&   c                	n    V P                   P                  4        V P                  P                  4        R # r`   )r!  clearr'  rZ   s   &r'   r}  MultiDict.clearX  s"    



r&   c               $    V ^8  d   QhRRRRRR/# rm  r   )r4   s   "r'   r5   ra  \  s!      c C 3 r&   c                	r    W9  d+   W P                   V&   V P                  P                  W34       W,          # r`   )r!  r'  append)rO   rQ   rn  s   &&&r'   
setdefaultMultiDict.setdefault\  s.    ?%JJsOJJsn-yr&   c               $    V ^8  d   QhRRRRRR/# )r.   rQ   r   r7  rv  r2   r3   r   )r4   s   "r'   r5   ra  c  s!     ) )3 )	 )d )r&   c                	   V'       g   V P                  VR 4       R # V P                   UUu. uF  w  r4W18w  g   K  W43NK  	  pppYR Uu. uF  qaV3NK  	  up,           V n        VR,          V P                  V&   R # u uppi u upi )Nr   )r   r'  r!  )rO   rQ   r7  r(  r)  existing_itemsrR   s   &&&    r'   rc  MultiDict.setlistc  sl    HHS$37::J:!fqf:NJ'V*LVE<V*LLDJ$RjDJJsO K*Ls   
A;A;	Bc               $    V ^8  d   QhRRRRRR/# r`  r   )r4   s   "r'   r5   ra  k  s!        #  c  d  r&   c                	Z    V P                   P                  W34       W P                  V&   R # r`   )r'  r  r!  rd  s   &&&r'   r  MultiDict.appendk  s!    

3,'

3r&   c               $    V ^8  d   QhRRRRRR/# )r.   r#  z5MultiDict | Mapping[Any, Any] | list[tuple[Any, Any]]r   r   r2   r3   r   )r4   s   "r'   r5   ra  o  s(     ! !D! ! 
	!r&   c                	    \        V/ VB pV P                   UUu. uF  w  rEWCP                  4       9  g   K  WE3NK   	  pppWcP                  4       ,           V n        V P                  P                  V4       R # u uppi r`   )r   r'  r   r   r!  r   )rO   r#  r   rR   r(  r)  r  s   &*,    r'   r   MultiDict.updateo  sg    
 4*6*/3zzSzVaQjjl=R&1&zS#&7&7&99


%  Ts
   A:A:r-  r`   )r    r!   r"   r#   re  rj  r   rs  rx  r}  r  rc  r  r   r%   r   r&   r'   r   r   B  s9    #,

) ! !r&   r   c                  J   a  ] tR tRtRtR V 3R lltR R ltR R ltR	tV ;t	# )
QueryParamsiz  z
An immutable multidict.
c               $    V ^8  d   QhRRRRRR/# )r.   r#  zVImmutableMultiDict[Any, Any] | Mapping[Any, Any] | list[tuple[Any, Any]] | str | bytesr   r   r2   r3   r   )r4   s   "r'   r5   QueryParams.__annotate__  s-     E EeE E 
	Er&   c                	|  < \        V4      ^8  g   Q R4       hV'       d
   V^ ,          M. p\        V\        4      '       d   \        SV `  ! \        VRR7      3/ VB  MR\        V\        4      '       d-   \        SV `  ! \        VP                  R4      RR7      3/ VB  M\        SV `  ! V/ VB  V P                   UUu. uF  w  rE\        V4      \        V4      3NK  	  uppV n        V P                  P                  4        UUu/ uF  w  rE\        V4      \        V4      bK  	  uppV n	        R# u uppi u uppi )r.   r&  Tr   r>   N)r   r   r   superrT   r   bytesrI   r'  r!  r   )rO   r#  r   rR   r(  r)  r   s   &*,   r'   rT   QueryParams.__init__  s    
 4y1}333}QReS!!GYuEPPu%%GYu||I'>RVWb[abGd-f-37::>:41s1vs1v&:>
151A1A1CD1Cc!fc!fn1CD
 ?Ds    !D2 D8c                   V ^8  d   QhRR/# r]   r   )r4   s   "r'   r5   r    s     % % %r&   c                	,    \        V P                  4      # r`   )r   r'  rZ   s   &r'   r   QueryParams.__str__  s    $$r&   c                   V ^8  d   QhRR/# r]   r   )r4   s   "r'   r5   r    s     1 1# 1r&   c                	V    V P                   P                  p\        V 4      pV R V: R2# r  )r   r    r   )rO   r   r<   s   &  r'   r   QueryParams.__repr__  s.    ^^,,
4yQ|.a00r&   r]  )
r    r!   r"   r#   r   rT   r   r   r%   __classcell__r   s   @r'   r  r  z  s#    E E$%1 1r&   r  c                      ] tR tRtRtRRRRRR/R R llt]R	 R
 l4       t]R R l4       tR R lt	R R lt
RR R lltR R ltR R ltR R ltRtR# )
UploadFilei  z8
An uploaded file included as part of the request data.
sizeNfilenamer=   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r.   filer   r  r   r  
str | Noner=   zHeaders | Noner2   r3   r   )r4   s   "r'   r5   UploadFile.__annotate__  sC     @ @@ 	@
 @  @ 
@r&   c               	    W0n         Wn        W n        T;'       g    \        4       V n        \        V P                  R ^ 4      V n        R# )	_max_sizeN)r  r  r  Headersr=   getattr_max_mem_size)rO   r  r  r  r=   s   &&$$$r'   rT   UploadFile.__init__  s;     !		++') %TYYQ?r&   c                   V ^8  d   QhRR/# )r.   r2   r  r   )r4   s   "r'   r5   r    s     6 6j 6r&   c                	:    V P                   P                  R R4      # )zcontent-typeN)r=   rH   rZ   s   &r'   content_typeUploadFile.content_type  s    ||55r&   c                   V ^8  d   QhRR/# r   r   )r4   s   "r'   r5   r    s     " "D "r&   c                	>    \        V P                  R R4      pV'       * # )_rolledT)r  r  )rO   rolled_to_disks   & r'   
_in_memoryUploadFile._in_memory  s     !It<!!!r&   c                    V ^8  d   QhRRRR/# )r.   size_to_addr   r2   r   r   )r4   s   "r'   r5   r    s     W Wc Wd Wr&   c                	    V P                   '       g   R # V P                  P                  4       V,           pV P                  '       d   \	        W P                  8  4      # R# )TF)r  r  tellr  r   )rO   r  future_sizes   && r'   
_will_rollUploadFile._will_roll  sJ     iinn&49=9K9K9KtK"4"445VQVVr&   c                    V ^8  d   QhRRRR/# )r.   datar  r2   r3   r   )r4   s   "r'   r5   r    s     " " "$ "r&   c                	.  "   \        V4      pV P                  e   V ;P                  V,          un        V P                  V4      '       d+   \        V P                  P
                  V4      G R j  xL
  R # V P                  P                  V4       R #  L#5ir`   )r   r  r  r   r  write)rO   r  new_data_lens   && r'   r  UploadFile.write  sb     4y99 II%I??<((#DIIOOT:::IIOOD! ;s   A	B#B/B0$Bc                    V ^8  d   QhRRRR/# )r.   r  r   r2   r  r   )r4   s   "r'   r5   r    s     = =s =E =r&   c                	   "   V P                   '       d   V P                  P                  V4      # \        V P                  P                  V4      G R j  xL
 #  L5ir`   )r  r  readr   )rO   r  s   &&r'   r  UploadFile.read  s<     ???99>>$''&tyy~~t<<<<s   AAAAc                    V ^8  d   QhRRRR/# )r.   offsetr   r2   r3   r   )r4   s   "r'   r5   r    s     < < < <r&   c                	   "   V P                   '       d   V P                  P                  V4       R # \        V P                  P                  V4      G R j  xL
  R #  L5ir`   )r  r  seekr   )rO   r  s   &&r'   r  UploadFile.seek  s6     ???IINN6"#DIINNF;;;s   AAAAc                   V ^8  d   QhRR/# r{  r   )r4   s   "r'   r5   r    s     5 5T 5r&   c                	   "   V P                   '       d   V P                  P                  4        R # \        V P                  P                  4      G R j  xL
  R #  L5ir`   )r  r  closer   rZ   s   &r'   r  UploadFile.close  s2     ???IIOO#DIIOO444s   AAAAc                   V ^8  d   QhRR/# r]   r   )r4   s   "r'   r5   r    s     v v# vr&   c                	    V P                   P                   R V P                  : RV P                  : RV P                  : R2# )z
(filename=z, size=z
, headers=r   )r   r    r  r  r=   rZ   s   &r'   r   UploadFile.__repr__  s?    ..))**T]]4EWTYYMYcdhdpdpcsstuur&   )r  r  r  r=   r  )r   )r    r!   r"   r#   r   rT   r   r  r  r  r  r  r  r  r   r%   r   r&   r'   r  r    s|    @  	@
  $@ #'@" 6 6 " "
W"=
<5v vr&   r  c                  >   a  ] tR tRtRtR V 3R lltR R ltRtV ;t# )FormDatai  zF
An immutable multidict, containing both file uploads and text input.
c               $    V ^8  d   QhRRRRRR/# )r.   r#  zNFormData | Mapping[str, str | UploadFile] | list[tuple[str, str | UploadFile]]r   zstr | UploadFiler2   r3   r   )r4   s   "r'   r5   FormData.__annotate__  s(     * *]* #* 
	*r&   c                	(   < \         SV `  ! V/ VB  R # r`   )r  rT   )rO   r#  r   r   s   &*,r'   rT   FormData.__init__  s    
 	$)&)r&   c                   V ^8  d   QhRR/# r{  r   )r4   s   "r'   r5   r    s     $ $T $r&   c                	   "   V P                  4        F5  w  r\        V\        4      '       g   K  VP                  4       G R j  xL
  K7  	  R #  L
5ir`   )r   r   r  r  rd  s   &  r'   r  FormData.close  s9     **,JC%,,kkm## -#s   )AAAAr   )	r    r!   r"   r#   r   rT   r  r%   r  r  s   @r'   r  r    s    * *$ $r&   r  c                      ] tR tRtRtRR R llt]R R l4       tR R	 ltR
 R lt	R R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltRtR# ) r  i  z+
An immutable, case-insensitive multidict.
Nc               (    V ^8  d   QhRRRRRRRR/# )	r.   r=   zMapping[str, str] | Nonerawz list[tuple[bytes, bytes]] | Noner0   zMutableMapping[str, Any] | Noner2   r3   r   )r4   s   "r'   r5   Headers.__annotate__  s8     C C)C .C /	C
 
Cr&   c                	x   . V n         Vep   Ve   Q R4       hVe   Q R4       hVP                  4        UUu. uF5  w  rEVP                  4       P                  R4      VP                  R4      3NK7  	  uppV n         R # Ve   Ve   Q R4       hW n         R # Ve   \	        VR,          4      ;V n         VR&   R # R # u uppi )Nz$Cannot set both "headers" and "raw".z&Cannot set both "headers" and "scope".r>   z"Cannot set both "raw" and "scope".r=   )r'  r   lowerencoder   )rO   r=   r  r0   rQ   rR   s   &&&&  r'   rT   Headers.__init__  s     13
;F FF;=J"JJ=elereretuetWaWZ399;--i8%,,y:QRetuDJ_=F"FF=J -1y1A,BBDJy) 	 vs   ;B6c                   V ^8  d   QhRR/# r.   r2   zlist[tuple[bytes, bytes]]r   )r4   s   "r'   r5   r    s        .  r&   c                	,    \        V P                  4      # r`   r>  rZ   s   &r'   r  Headers.raw  s    DJJr&   c                   V ^8  d   QhRR/# r.   r2   	list[str]r   )r4   s   "r'   r5   r    s     D Di Dr&   c                	l    V P                    UUu. uF  w  rVP                  R 4      NK  	  upp# u uppi r>   r'  rI   rd  s   &  r'   r   Headers.keys  s)    8<

C
*#

9%
CCC   0c                   V ^8  d   QhRR/# r  r   )r4   s   "r'   r5   r    s     F F	 Fr&   c                	l    V P                    UUu. uF  w  rVP                  R 4      NK  	  upp# u uppi r  r  rd  s   &  r'   r7  Headers.values  s)    :>**E*JCY'*EEEr  c                   V ^8  d   QhRR/# )r.   r2   zlist[tuple[str, str]]r   )r4   s   "r'   r5   r    s     _ _, _r&   c                	    V P                    UUu. uF'  w  rVP                  R 4      VP                  R 4      3NK)  	  upp# u uppi r  r  rd  s   &  r'   r   Headers.items  s;    SWS]S]^S]ZSI&Y(?@S]^^^s   -Ac                    V ^8  d   QhRRRR/# )r.   rQ   r   r2   r  r   )r4   s   "r'   r5   r    s     s s3 s9 sr&   c                	    VP                  4       P                  R 4      pV P                   UUu. uF  w  r4W28X  g   K  VP                  R 4      NK   	  upp# u uppi r  )r  r  r'  rI   )rO   rQ   get_header_keyr.  r/  s   &&   r'   r0  Headers.getlist  sK    ++I6IMr1EW_Wq,
!!),rrrs
   
AAc                   V ^8  d   QhRR/# )r.   r2   MutableHeadersr   )r4   s   "r'   r5   r    s     1 1^ 1r&   c                	<    \        V P                  R ,          R7      # ):NNN)r  )r  r'  rZ   s   &r'   mutablecopyHeaders.mutablecopy  s    $**Q-00r&   c                    V ^8  d   QhRRRR/# )r.   rQ   r   r2   r   )r4   s   "r'   r5   r     s      s s r&   c                	    VP                  4       P                  R 4      pV P                   F  w  r4W28X  g   K  VP                  R 4      u # 	  \	        V4      hr  )r  r  r'  rI   KeyErrorrO   rQ   r  
header_keyheader_values   &&   r'   r  Headers.__getitem__   sL    ++I6(,

$J+#**955 )3 smr&   c                    V ^8  d   QhRRRR/# rF  r   )r4   s   "r'   r5   r  '  s        r&   c                	    VP                  4       P                  R 4      pV P                   F  w  r4W28X  g   K   R# 	  R# )r>   TF)r  r  r'  r  s   &&   r'   rH  Headers.__contains__'  s7    ++I6(,

$J+ )3 r&   c                   V ^8  d   QhRR/# )r.   r2   zIterator[Any]r   )r4   s   "r'   r5   r  .  r  r&   c                	4    \        V P                  4       4      # r`   rL  rZ   s   &r'   r  Headers.__iter__.  rN  r&   c                   V ^8  d   QhRR/# r   r   )r4   s   "r'   r5   r  1  rP  r&   c                	,    \        V P                  4      # r`   )r   r'  rZ   s   &r'   r  Headers.__len__1  rS  r&   c                    V ^8  d   QhRRRR/# r   r   )r4   s   "r'   r5   r  4  rU  r&   c                	    \        V\        4      '       g   R # \        V P                  4      \        VP                  4      8H  # rW  )r   r  rX  r'  r   s   &&r'   r   Headers.__eq__4  s/    %))djj!VEKK%888r&   c                   V ^8  d   QhRR/# r]   r   )r4   s   "r'   r5   r  9  s     1 1# 1r&   c                	    V P                   P                  p\        V P                  4       4      p\	        V4      \	        V 4      8X  d
   V R V: R2# V RV P
                  : R2# )r   r   z(raw=)r   r    dictr   r   r  )rO   r   as_dicts   &  r'   r   Headers.__repr__9  s[    ^^,,
tzz|$w<3t9$ \7+Q//U488,a00r&   r-  )NNN)r    r!   r"   r#   r   rT   r   r  r   r7  r   r0  r  r  rH  r  r  r   r   r%   r   r&   r'   r  r    sa    C&    DF_s1!9
1 1r&   r  c                      ] tR tRtR R ltR R ltR R ltR R	 lt]R
 R l4       t	R R lt
R R ltR R ltR R ltRtR# )r  iA  c               $    V ^8  d   QhRRRRRR/# r.   rQ   r   rR   r2   r3   r   )r4   s   "r'   r5   MutableHeaders.__annotate__B  s!     4 4s 43 44 4r&   c                   VP                  4       P                  R4      pVP                  R4      p. p\        V P                  4       F!  w  pw  rxWs8X  g   K  VP	                  V4       K#  	  \        VR,          4       F  pV P                  V K  	  V'       d   V^ ,          pW43V P                  V&   R# V P                  P	                  W434       R# )z[
Set the header `key` to `value`, removing any duplicate entries.
Retains insertion order.
r>   :   NNNr  r  	enumerater'  r  reversed)	rO   rQ   rR   set_key	set_valuefound_indexesidxr.  r/  s	   &&&      r'   re  MutableHeaders.__setitem__B  s    
 ))+$$Y/LL+	#%+4TZZ+@'C'("$$S) ,A M"-.C

3 / "C&2DJJsOJJw23r&   c                    V ^8  d   QhRRRR/# r.   rQ   r   r2   r3   r   )r4   s   "r'   r5   r  X  s        s  t  r&   c                    VP                  4       P                  R4      p. p\        V P                  4       F!  w  pw  rVWR8X  g   K  VP	                  V4       K#  	  \        V4       F  pV P                  V K  	  R# )z
Remove the header `key`.
r>   Nr  )rO   rQ   del_keypop_indexesr#  r.  r/  s   &&     r'   rj  MutableHeaders.__delitem__X  sk     ))+$$Y/!#+4TZZ+@'C'("""3' ,A K(C

3 )r&   c                    V ^8  d   QhRRRR/# r.   r   Mapping[str, str]r2   r  r   )r4   s   "r'   r5   r  f  s      . > r&   c                	    \        V\        4      '       g#   \        R VP                  P                   24      hV P                  V4       V # zExpected a mapping but got )r   r   	TypeErrorr   r    r   r   s   &&r'   __ior__MutableHeaders.__ior__f  s>    %))9%//:R:R9STUUEr&   c                    V ^8  d   QhRRRR/# r,  r   )r4   s   "r'   r5   r  l  s      - . r&   c                	    \        V\        4      '       g#   \        R VP                  P                   24      hV P                  4       pVP                  V4       V# r/  )r   r   r0  r   r    r  r   )rO   r   news   && r'   __or__MutableHeaders.__or__l  sL    %))9%//:R:R9STUU 

5
r&   c                   V ^8  d   QhRR/# r  r   )r4   s   "r'   r5   r  t  s      . r&   c                	    V P                   # r`   r-  rZ   s   &r'   r  MutableHeaders.raws  s    zzr&   c               $    V ^8  d   QhRRRRRR/# )r.   rQ   r   rR   r2   r   )r4   s   "r'   r5   r  w  s!      c # # r&   c                   VP                  4       P                  R4      pVP                  R4      p\        V P                  4       F!  w  pw  rgWc8X  g   K  VP	                  R4      u # 	  V P                  P                  W434       V# )zW
If the header `key` does not exist, then set it to `value`.
Returns the header value.
r>   )r  r  r  r'  rI   r  )rO   rQ   rR   r   r!  r#  r.  r/  s   &&&     r'   r  MutableHeaders.setdefaultw  sw    
 ))+$$Y/LL+	+4TZZ+@'C'("!((33 ,A 	

7./r&   c                    V ^8  d   QhRRRR/# )r.   r   r-  r2   r3   r   )r4   s   "r'   r5   r    s      - $ r&   c                	@    VP                  4        F	  w  r#W0V&   K  	  R # r`   )r   )rO   r   rQ   vals   &&  r'   r   MutableHeaders.update  s    HCI &r&   c               $    V ^8  d   QhRRRRRR/# r  r   )r4   s   "r'   r5   r    s!     6 6# 6c 6d 6r&   c                    VP                  4       P                  R4      pVP                  R4      pV P                  P                  W434       R# )z4
Append a header, preserving any duplicate entries.
r>   N)r  r  r'  r  )rO   rQ   rR   
append_keyappend_values   &&&  r'   r  MutableHeaders.append  s=     YY[''	2
||I.

:45r&   c                    V ^8  d   QhRRRR/# )r.   varyr   r2   r3   r   )r4   s   "r'   r5   r    s      C D r&   c                	\    V P                  R 4      pVe   RP                  W!.4      pWR &   R# )rH  Nr  )rH   r  )rO   rH  existings   && r'   add_vary_headerMutableHeaders.add_vary_header  s.    88F#99h-.DVr&   r   N)r    r!   r"   r#   re  rj  r1  r6  r   r  r  r   r  rK  r%   r   r&   r'   r  r  A  sC    4,   6 r&   r  c                     a  ] tR tRt$ RtR]R&   RR V 3R llltR R ltR	 R
 ltR R lt	R R lt
R R ltR R ltR R ltR R ltRtV ;t# )Statei  za
An object that can be used to store arbitrary state.

Used for `request.state` and `app.state`.
zdict[str, Any]_statec                   V ^8  d   QhRR/# )r.   statezdict[str, Any] | Noner   )r4   s   "r'   r5   State.__annotate__  s     - -3 -r&   c                	4   < Vf   / p\         SV `  RV4       R # )NrO  )r  __setattr__)rO   rQ  r   s   &&r'   rT   State.__init__  s    =EHe,r&   c               $    V ^8  d   QhRRRRRR/# r`  r   )r4   s   "r'   r5   rR    !     ! !s !3 !4 !r&   c                	"    W P                   V&   R # r`   rO  rd  s   &&&r'   rT  State.__setattr__       Cr&   c                    V ^8  d   QhRRRR/# )r.   rQ   r   r2   r   )r4   s   "r'   r5   rR    s     O Os Os Or&   c                	     V P                   V,          #   \         d3    R p\        TP                  T P                  P
                  T4      4      hi ; i)z!'{}' object has no attribute '{}')rO  r  AttributeErrorr4   r   r    )rO   rQ   messages   && r'   __getattr__State.__getattr__  sM    	O;;s## 	O9G 0G0G!MNN	Os	    =Ac                    V ^8  d   QhRRRR/# rh  r   )r4   s   "r'   r5   rR          s t r&   c                	     V P                   V R # r`   rY  rC  s   &&r'   __delattr__State.__delattr__      KKr&   c                    V ^8  d   QhRRRR/# )r.   rQ   r   r2   r   r   )r4   s   "r'   r5   rR    s        s  s  r&   c                	(    V P                   V,          # r`   rY  rC  s   &&r'   r  State.__getitem__  s    {{3r&   c               $    V ^8  d   QhRRRRRR/# )r.   rQ   r   rR   r   r2   r3   r   )r4   s   "r'   r5   rR    rW  r&   c                	"    W P                   V&   R # r`   rY  rd  s   &&&r'   re  State.__setitem__  r[  r&   c                    V ^8  d   QhRRRR/# r&  r   )r4   s   "r'   r5   rR    rc  r&   c                	     V P                   V R # r`   rY  rC  s   &&r'   rj  State.__delitem__  rg  r&   c                   V ^8  d   QhRR/# r  r   )r4   s   "r'   r5   rR    r  r&   c                	,    \        V P                  4      # r`   )r  rO  rZ   s   &r'   r  State.__iter__  r   r&   c                   V ^8  d   QhRR/# r   r   )r4   s   "r'   r5   rR    r   r&   c                	,    \        V P                  4      # r`   )r   rO  rZ   s   &r'   r  State.__len__  r  r&   r   r`   )r    r!   r"   r#   r   r$   rT   rT  r`  re  r  re  rj  r  r  r%   r  r  s   @r'   rN  rN    sH     - -
!O !!   r&   rN  )0
__future__r   recollections.abcr   r   r   r   r   r	   r
   r   r   typingr   r   r   r   r   r   urllib.parser   r   r   r   starlette.concurrencyr   starlette.typesr   r   r(   r)   compile
IGNORECASErJ   r,   r   r   r   r   r   r   r  r  r  r  r  rN  r   r&   r'   <module>r     sB   " 	 r r r  D D D D 3 !j 
 : 3tD  ::NPRP]P]^P9 P9f<c <<! !(6HSM 68B*+>!>? B*J5!"38, 5!p1$S#X. 1@Ev EvP$!#zC'7"78 $$J1gc3h J1ZTW Tn(  ( r&   