+
    Pj>W              	         ^ RI Ht ^ RIt^ RIHt ^ RIHtHtHtHt ^ RI	H
t
 ^ RIHt  ! R R]P                  4      t]P                  ! R	4      t]P                  ! R
RR7      t ! R R4      t ! R R]4      t ! R R4      t ! R R]P,                  ],          4      t ! R R]P0                  ]]3,          4      t ! R R]]P4                  ]P4                  3,          4      t ! R R]]]3,          4      t ! R R4      t ! R R]]]P<                  ]]3,          3,          4      t ! R R ]P0                  ]]3,          4      t  ! R! R"] 4      t! ! R# R$4      t"R# )%    )annotationsN)shlex)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       q/Users/ahmed/devFolder/Ultron/claude-voice/gateway/.venv/lib/python3.14/site-packages/starlette/datastructures.pyr   r      s    
I
Ir   r   _KeyType_CovariantValueTypeT)	covariantc                  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
components
typing.AnyreturnNoner   )formats   "r   __annotate__URL.__annotate__   s2     & && & !	&
 
&r   c                	   V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   V RV V 2pM8Vf   TpM1Vw  rR^PRRR^PRR/V,          pW8X  d   V RV V 2pMV RV RV V 2pV'       d   VRVP                  4       ,           ,          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-1z://httpsi  wswss:?z)Cannot set both "url" and "**components". r   )getdecoder   replacer#   geturl_url)selfr!   r"   r#   r+   r-   r.   r/   host_headerkeyvaluer   r   default_ports   &&&,          r   __init__URL.__init__   sc    @@@7!P#PP>YYx0FYYx.F=D 99^S9LK#I..
'>"',,y"9K /
 &K=7#
 &GS$E3OPVW'#HCvdV4C#HCvQtfTF;Cs\00222GGG7b'///J/::AACC	r   c                   V ^8  d   QhRR/# )r    r%   r   r   )r'   s   "r   r(   r)   A   s        K  r   c                	r    \        V R 4      '       g   \        V P                  4      V n        V P                  # )_components)hasattrr   r<   rF   r=   s   &r   r#   URL.components@   s,    t]++'		2Dr   c                   V ^8  d   QhRR/# r    r%   r   r   )r'   s   "r   r(   r)   G        & & &r   c                	.    V P                   P                  # N)r#   r+   rH   s   &r   r+   
URL.schemeF       %%%r   c                   V ^8  d   QhRR/# rK   r   )r'   s   "r   r(   r)   K   rL   r   c                	.    V P                   P                  # rN   )r#   netlocrH   s   &r   rS   
URL.netlocJ   rP   r   c                   V ^8  d   QhRR/# rK   r   )r'   s   "r   r(   r)   O   s     $ $c $r   c                	.    V P                   P                  # rN   )r#   r.   rH   s   &r   r.   URL.pathN       ###r   c                   V ^8  d   QhRR/# rK   r   )r'   s   "r   r(   r)   S   s     % %s %r   c                	.    V P                   P                  # rN   )r#   queryrH   s   &r   r[   	URL.queryR   s    $$$r   c                   V ^8  d   QhRR/# rK   r   )r'   s   "r   r(   r)   W   s     ( (# (r   c                	.    V P                   P                  # rN   )r#   fragmentrH   s   &r   r_   URL.fragmentV       '''r   c                   V ^8  d   QhRR/# r    r%   z
None | strr   )r'   s   "r   r(   r)   [        ( (* (r   c                	.    V P                   P                  # rN   )r#   usernamerH   s   &r   rf   URL.usernameZ   ra   r   c                   V ^8  d   QhRR/# rc   r   )r'   s   "r   r(   r)   _   rd   r   c                	.    V P                   P                  # rN   )r#   passwordrH   s   &r   rj   URL.password^   ra   r   c                   V ^8  d   QhRR/# rc   r   )r'   s   "r   r(   r)   c   rd   r   c                	.    V P                   P                  # rN   )r#   hostnamerH   s   &r   rn   URL.hostnameb   ra   r   c                   V ^8  d   QhRR/# )r    r%   
int | Noner   )r'   s   "r   r(   r)   g   s     $ $j $r   c                	.    V P                   P                  # rN   )r#   r   rH   s   &r   r   URL.portf   rX   r   c                   V ^8  d   QhRR/# r    r%   boolr   )r'   s   "r   r(   r)   k   s     / /4 /r   c                	     V P                   R9   # )r2   )r2   r4   )r+   rH   s   &r   	is_secureURL.is_securej   s    {{...r   c                    V ^8  d   QhRRRR/# r    kwargsr$   r%   r   r   )r'   s   "r   r(   r)   n   s     3 3
 3s 3r   c                	x   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fH   V P                  pVP                  R4      w   rrV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      # )rf   rj   rn   r   N@]r5   rS   r   )popr   rf   rj   rS   
rpartitionrsplitr#   _replace	__class__r;   )
r=   r|   rn   r   rf   rj   rS   _userpassr#   s
   &,        r   r:   URL.replacen   s4   :#7:;OSY]cSczz*d3H::fdii0Dzz*dmm<Hzz*dmm<H!'!2!23!71B<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   )r'   s   "r   r(   r)      s     ) )Z )C )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r[   )		MultiDictr   r[   updateitemsr   r   multi_itemsr:   )r=   r|   paramsr?   r@   r[   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   )r'   s   "r   r(   r)      s     ) )Z )C )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   r:   )r=   r|   r?   r@   r[   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 | typing.Sequence[str]r%   r   r   )r'   s   "r   r(   r)      s     ) )(B )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   r[   r   r   r   r:   )r=   r   r   r?   r[   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$   r%   rv   r   )r'   s   "r   r(   r)      s     ' 'J '4 'r   c                	0    \        V 4      \        V4      8H  # rN   )r   r=   r   s   &&r   __eq__
URL.__eq__   s    4yCJ&&r   c                   V ^8  d   QhRR/# rK   r   )r'   s   "r   r(   r)      s       r   c                	    V P                   # rN   )r<   rH   s   &r   __str__URL.__str__   s    yyr   c                   V ^8  d   QhRR/# rK   r   )r'   s   "r   r(   r)      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********)rj   ())r   rj   r:   r   r   repr)r=   r!   s   & r   __repr__URL.__repr__   sK    $i===dllJl78C..))*!DI;a88r   )rF   r<   )r7   N)r   r   r   r   rB   propertyr#   r+   rS   r.   r[   r_   rf   rj   rn   r   rx   r:   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   protocolr   r%   r   r   )r'   s   "r   r(   URLPath.__annotate__   s(     & &3 &# &# &w &r   c                	>    VR9   g   Q h\         P                  W4      # )r,   )r,   	websocketr7   )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%   r&   r   )r'   s   "r   r(   r      s(      S C C  r   c                	    W n         W0n        R # rN   )r   r   )r=   r.   r   r   s   &&&&r   rB   URLPath.__init__   s     	r   c                    V ^8  d   QhRRRR/# )r    base_urlz	str | URLr%   r   r   )r'   s   "r   r(   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      # )	r,   Tr2   Fr   r4   r3   /)r+   rS   r.   )
r   r   r   r   rx   r+   r   rS   r.   rstrip)r=   r   r+   rS   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)r7   r7   )	r   r   r   r   __doc__r   rB   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    r@   r   r   )r'   s   "r   r(   Secret.__annotate__   s      c r   c                	    Wn         R # rN   _value)r=   r@   s   &&r   rB   Secret.__init__   s    r   c                   V ^8  d   QhRR/# rK   r   )r'   s   "r   r(   r      s     - -# -r   c                	8    V P                   P                  pV R 2# )z('**********')r   r   )r=   
class_names   & r   r   Secret.__repr__   s    ^^,,
^,,r   c                   V ^8  d   QhRR/# rK   r   )r'   s   "r   r(   r      s       r   c                	    V P                   # rN   r   rH   s   &r   r   Secret.__str__   s    {{r   c                   V ^8  d   QhRR/# ru   r   )r'   s   "r   r(   r      s     ! !$ !r   c                	,    \        V P                  4      # rN   )rv   r   rH   s   &r   __bool__Secret.__bool__       DKK  r   r   N)
r   r   r   r   r   rB   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    r@   r   r   )r'   s   "r   r(   "CommaSeparatedStrings.__annotate__   s     & &8 &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)r=   r@   splitteritems   &&  r   rB   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    r%   r   r   )r'   s   "r   r(   r      s          r   c                	,    \        V P                  4      # rN   )lenr   rH   s   &r   __len__CommaSeparatedStrings.__len__   s    4;;r   c                    V ^8  d   QhRRRR/# )r    indexzint | slicer%   r$   r   )r'   s   "r   r(   r      s     " " " "r   c                	(    V P                   V,          # rN   r   )r=   r   s   &&r   __getitem__!CommaSeparatedStrings.__getitem__   s    {{5!!r   c                   V ^8  d   QhRR/# )r    r%   ztyping.Iterator[str]r   )r'   s   "r   r(   r      s     ! !. !r   c                	,    \        V P                  4      # rN   )iterr   rH   s   &r   __iter__CommaSeparatedStrings.__iter__   r   r   c                   V ^8  d   QhRR/# rK   r   )r'   s   "r   r(   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   )r=   r   r   r   s   &   r   r   CommaSeparatedStrings.__repr__   s=    ^^,,
"&'$$$'Quiq)) (s   
0c                   V ^8  d   QhRR/# rK   r   )r'   s   "r   r(   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rN   )r   ).0r   s   & r   	<genexpr>0CommaSeparatedStrings.__str__.<locals>.<genexpr>   s     5ds   )joinrH   s   &r   r   CommaSeparatedStrings.__str__   s    yy5555r   r   N)r   r   r   r   rB   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] | typing.Mapping[_KeyType, _CovariantValueType] | typing.Iterable[tuple[_KeyType, _CovariantValueType]]r|   r$   r%   r&   r   )r'   s   "r   r(   ImmutableMultiDict.__annotate__   s+      @
  
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      '       dG   \        P
                  ! \        \        \        3,          V4      p\        VP                  4       4      pM\        VR4      '       dQ   \        P
                  ! \        P                  \        \        3,          V4      p\        VP                  4       4      pM"\        P
                  ! 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[typing.Any, typing.Any]]N)r   r  r   rG   typingcastr   r   r   Mappingr   r  _list)r=   r  r|   r@   r   kvs   &*,    r   rB   ImmutableMultiDict.__init__   s    4y1}333}'+DG&u-99;>PQW>X>d>d>ffE:<FUM**KK 28=P3P QSXYE%++-.FUG$$KKx9L/L MuUE%++-(FKK EuME%[F'-.vtqadv.

 /s   E4c                    V ^8  d   QhRRRR/# )r    r?   r$   r%   zlist[_CovariantValueType]r   )r'   s   "r   r(   r    s     V V: V*C 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 rN   r  )r=   r?   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    r%   ztyping.KeysView[_KeyType]r   )r'   s   "r   r(   r    s     ! !/ !r   c                	6    V P                   P                  4       # rN   )r  r   rH   s   &r   r   ImmutableMultiDict.keys  s    zz  r   c                   V ^8  d   QhRR/# )r    r%   z&typing.ValuesView[_CovariantValueType]r   )r'   s   "r   r(   r    s     # #> #r   c                	6    V P                   P                  4       # rN   )r  valuesrH   s   &r   r&  ImmutableMultiDict.values  s    zz  ""r   c                   V ^8  d   QhRR/# )r    r%   z/typing.ItemsView[_KeyType, _CovariantValueType]r   )r'   s   "r   r(   r     s     " "F "r   c                	6    V P                   P                  4       # rN   )r  r   rH   s   &r   r   ImmutableMultiDict.items   s    zz!!r   c                   V ^8  d   QhRR/# )r    r%   z*list[tuple[_KeyType, _CovariantValueType]]r   )r'   s   "r   r(   r  #  s        G  r   c                	,    \        V P                  4      # rN   r   r  rH   s   &r   r   ImmutableMultiDict.multi_items#  s    DJJr   c                    V ^8  d   QhRRRR/# )r    r?   r   r%   r   r   )r'   s   "r   r(   r  &  s      x ,? r   c                	(    V P                   V,          # rN   r  r=   r?   s   &&r   r   ImmutableMultiDict.__getitem__&  s    zz#r   c                    V ^8  d   QhRRRR/# r    r?   r$   r%   rv   r   )r'   s   "r   r(   r  )  s     ! !
 !t !r   c                	    WP                   9   # rN   r1  r2  s   &&r   __contains__ImmutableMultiDict.__contains__)  s    jj  r   c                   V ^8  d   QhRR/# )r    r%   ztyping.Iterator[_KeyType]r   )r'   s   "r   r(   r  ,  s     ! !3 !r   c                	4    \        V P                  4       4      # rN   r   r   rH   s   &r   r   ImmutableMultiDict.__iter__,      DIIK  r   c                   V ^8  d   QhRR/# r   r   )r'   s   "r   r(   r  /         r   c                	,    \        V P                  4      # rN   )r   r  rH   s   &r   r   ImmutableMultiDict.__len__/      4::r   c                    V ^8  d   QhRRRR/# r   r   )r'   s   "r   r(   r  2       9 9J 94 9r   c                	    \        WP                  4      '       g   R # \        V P                  4      \        VP                  4      8H  # F)r   r   sortedr  r   s   &&r   r   ImmutableMultiDict.__eq__2  s1    %00djj!VEKK%888r   c                   V ^8  d   QhRR/# rK   r   )r'   s   "r   r(   r  7  r   r   c                	`    V P                   P                  pV P                  4       pV R V: R2# r   )r   r   r   )r=   r   r   s   &  r   r   ImmutableMultiDict.__repr__7  s2    ^^,,
  "Quiq))r   r  r  N)r   r   r   r   r   rB   r  r   r&  r   r   r   r7  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   i=  c               $    V ^8  d   QhRRRRRR/# r    r?   r$   r@   r%   r&   r   )r'   s   "r   r(   MultiDict.__annotate__>  s!     # #z #* # #r   c                	*    V P                  W.4       R # rN   )setlistr=   r?   r@   s   &&&r   __setitem__MultiDict.__setitem__>  s    S'"r   c                    V ^8  d   QhRRRR/# r    r?   r$   r%   r&   r   )r'   s   "r   r(   rP  A  s      z d 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 rN   )r  r  )r=   r?   r  r  s   &&  r   __delitem__MultiDict.__delitem__A  s7    )-@qxfqf@
JJsO As   
>>Nc               $    V ^8  d   QhRRRRRR/# r    r?   r$   defaultr%   r   )r'   s   "r   r(   rP  E  s!     , ,z ,J ,* ,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 rN   )r  r  r   )r=   r?   r]  r  r  s   &&&  r   r   MultiDict.popE  s?    )-@qxfqf@
zz~~c++ As
   
A
A
c                   V ^8  d   QhRR/# )r    r%   ztuple[typing.Any, typing.Any]r   )r'   s   "r   r(   rP  I  s      6 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 rN   )r  popitemr  )r=   r?   r@   r  r  s   &    r   rb  MultiDict.popitemI  sH    ZZ'')
)-@qxfqf@
z As
   
AAc                    V ^8  d   QhRRRR/# )r    r?   r$   r%   list[typing.Any]r   )r'   s   "r   r(   rP  N  s      : *: 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 rN   )r  r   )r=   r?   r  r  r&  s   &&   r   poplistMultiDict.poplistN  s7     $

7
ah!!
7 8s   
;;c                   V ^8  d   QhRR/# r    r%   r&   r   )r'   s   "r   r(   rP  S  s      t r   c                	n    V P                   P                  4        V P                  P                  4        R # rN   )r  clearr  rH   s   &r   rl  MultiDict.clearS  s"    



r   c               $    V ^8  d   QhRRRRRR/# r\  r   )r'   s   "r   r(   rP  W  s!      j :  r   c                	r    W9  d+   W P                   V&   V P                  P                  W34       W,          # rN   )r  r  append)r=   r?   r]  s   &&&r   
setdefaultMultiDict.setdefaultW  s.    ?%JJsOJJsn-yr   c               $    V ^8  d   QhRRRRRR/# )r    r?   r$   r&  re  r%   r&   r   )r'   s   "r   r(   rP  ^  s"     ) ): )/? )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  )r=   r?   r&  r  r  existing_itemsr@   s   &&&    r   rR  MultiDict.setlist^  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/# rO  r   )r'   s   "r   r(   rP  f  s!        *  Z  D  r   c                	Z    V P                   P                  W34       W P                  V&   R # rN   )r  rp  r  rS  s   &&&r   rp  MultiDict.appendf  s!    

3,'

3r   c               $    V ^8  d   QhRRRRRR/# )r    r  zXMultiDict | typing.Mapping[typing.Any, typing.Any] | list[tuple[typing.Any, typing.Any]]r|   r$   r%   r&   r   )r'   s   "r   r(   rP  j  s(     ! !g! ! 
	!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 rN   )r   r  r   r   r  r   )r=   r  r|   r@   r  r  ru  s   &*,    r   r   MultiDict.updatej  sg    
 4*6*/3zzSzVaQjjl=R&1&zS#&7&7&99


%  Ts
   A:A:r  rN   )r   r   r   r   rT  rY  r   rb  rg  rl  rq  rR  rp  r   r   r   r   r   r   r   =  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	# )
QueryParamsiu  z
An immutable multidict.
c               $    V ^8  d   QhRRRRRR/# )r    r  zImmutableMultiDict[typing.Any, typing.Any] | typing.Mapping[typing.Any, typing.Any] | list[tuple[typing.Any, typing.Any]] | str | bytesr|   r$   r%   r&   r   )r'   s   "r   r(   QueryParams.__annotate__z  s/     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   r1   N)r   r   r   superrB   r   bytesr9   r  r  r   )r=   r  r|   r@   r  r  r   s   &*,   r   rB   QueryParams.__init__z  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/# rK   r   )r'   s   "r   r(   r    s     % % %r   c                	,    \        V P                  4      # rN   )r   r  rH   s   &r   r   QueryParams.__str__  s    $$r   c                   V ^8  d   QhRR/# rK   r   )r'   s   "r   r(   r    s     1 1# 1r   c                	V    V P                   P                  p\        V 4      pV R V: R2# r   )r   r   r   )r=   r   r/   s   &  r   r   QueryParams.__repr__  s.    ^^,,
4yQ|.a00r   rL  )
r   r   r   r   r   rB   r   r   r   __classcell__r   s   @r   r~  r~  u  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 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filenamer0   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r    fileztyping.BinaryIOr  rq   r  
str | Noner0   zHeaders | Noner%   r&   r   )r'   s   "r   r(   UploadFile.__annotate__  s<     , ,, 	,
 ,  , 
,r   c               	\    W0n         Wn        W n        T;'       g    \        4       V n        R # rN   )r  r  r  Headersr0   )r=   r  r  r  r0   s   &&$$$r   rB   UploadFile.__init__  s$     !		++')r   c                   V ^8  d   QhRR/# )r    r%   r  r   )r'   s   "r   r(   r    s     6 6j 6r   c                	:    V P                   P                  R R4      # )zcontent-typeN)r0   r8   rH   s   &r   content_typeUploadFile.content_type  s    ||55r   c                   V ^8  d   QhRR/# ru   r   )r'   s   "r   r(   r    s     " "D "r   c                	>    \        V P                  R R4      pV'       * # )_rolledT)getattrr  )r=   rolled_to_disks   & r   
_in_memoryUploadFile._in_memory  s     !It<!!!r   c                    V ^8  d   QhRRRR/# )r    datar  r%   r&   r   )r'   s   "r   r(   r    s     ; ; ;$ ;r   c                	   "   V P                   e#   V ;P                   \        V4      ,          un         V P                  '       d   V P                  P	                  V4       R # \        V P                  P                  V4      G R j  xL
  R #  L5irN   )r  r   r  r  writer	   )r=   r  s   &&r   r  UploadFile.write  sR     99 IIT"I???IIOOD!#DIIOOT:::s   ABA BBBc                    V ^8  d   QhRRRR/# )r    r  r   r%   r  r   )r'   s   "r   r(   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rN   )r  r  readr	   )r=   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   r%   r&   r   )r'   s   "r   r(   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rN   )r  r  seekr	   )r=   r  s   &&r   r  UploadFile.seek  s6     ???IINN6"#DIINNF;;;s   AAAAc                   V ^8  d   QhRR/# rj  r   )r'   s   "r   r(   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rN   )r  r  closer	   rH   s   &r   r  UploadFile.close  s2     ???IIOO#DIIOO444s   AAAAc                   V ^8  d   QhRR/# rK   r   )r'   s   "r   r(   r    s     
 
# 
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  r0   rH   s   &r   r   UploadFile.__repr__  sJ    ~~&&' (( )II= !||&a)	
r   )r  r  r0   r  )r   )r   r   r   r   r   rB   r   r  r  r  r  r  r  r   r   r   r   r   r  r    sp    ,  	,
  $, #', 6 6 " "
;=
<5
 
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  zUFormData | typing.Mapping[str, str | UploadFile] | list[tuple[str, str | UploadFile]]r|   zstr | UploadFiler%   r&   r   )r'   s   "r   r(   FormData.__annotate__  s(     * *d* #* 
	*r   c                	(   < \         SV `  ! V/ VB  R # rN   )r  rB   )r=   r  r|   r   s   &*,r   rB   FormData.__init__  s    
 	$)&)r   c                   V ^8  d   QhRR/# rj  r   )r'   s   "r   r(   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rN   )r   r   r  r  rS  s   &  r   r  FormData.close  s9     **,JC%,,kkm## -#s   )AAAAr   )	r   r   r   r   r   rB   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    r0   ztyping.Mapping[str, str] | Nonerawz list[tuple[bytes, bytes]] | Noner"   z-typing.MutableMapping[str, typing.Any] | Noner%   r&   r   )r'   s   "r   r(   Headers.__annotate__  s8     C C0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".r1   z"Cannot set both "raw" and "scope".r0   )r  r   lowerencoder   )r=   r0   r  r"   r?   r@   s   &&&&  r   rB   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    r%   zlist[tuple[bytes, bytes]]r   )r'   s   "r   r(   r    s        .  r   c                	,    \        V P                  4      # rN   r-  rH   s   &r   r  Headers.raw  s    DJJr   c                   V ^8  d   QhRR/# r    r%   	list[str]r   )r'   s   "r   r(   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 r1   r  r9   rS  s   &  r   r   Headers.keys  s)    8<

C
*#

9%
CCC   0c                   V ^8  d   QhRR/# r  r   )r'   s   "r   r(   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  rS  s   &  r   r&  Headers.values	  s)    :>**E*JCY'*EEEr  c                   V ^8  d   QhRR/# )r    r%   zlist[tuple[str, str]]r   )r'   s   "r   r(   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  rS  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    r?   r   r%   r  r   )r'   s   "r   r(   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  r9   )r=   r?   get_header_keyr  r  s   &&   r   r  Headers.getlist  sK    ++I6IMr1EW_Wq,
!!),rrrs
   
AAc                   V ^8  d   QhRR/# )r    r%   MutableHeadersr   )r'   s   "r   r(   r    s     1 1^ 1r   c                	<    \        V P                  R ,          R7      # ):NNN)r  )r  r  rH   s   &r   mutablecopyHeaders.mutablecopy  s    $**Q-00r   c                    V ^8  d   QhRRRR/# )r    r?   r   r%   r   )r'   s   "r   r(   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  r9   KeyErrorr=   r?   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/# r5  r   )r'   s   "r   r(   r    s      
 t r   c                	    VP                  4       P                  R 4      pV P                   F  w  r4W28X  g   K   R# 	  R# )r1   TF)r  r  r  r  s   &&   r   r7  Headers.__contains__  s7    ++I6(,

$J+ )3 r   c                   V ^8  d   QhRR/# )r    r%   ztyping.Iterator[typing.Any]r   )r'   s   "r   r(   r  $  s     ! !5 !r   c                	4    \        V P                  4       4      # rN   r;  rH   s   &r   r   Headers.__iter__$  r=  r   c                   V ^8  d   QhRR/# r   r   )r'   s   "r   r(   r  '  r?  r   c                	,    \        V P                  4      # rN   )r   r  rH   s   &r   r   Headers.__len__'  rB  r   c                    V ^8  d   QhRRRR/# r   r   )r'   s   "r   r(   r  *  rD  r   c                	    \        V\        4      '       g   R # \        V P                  4      \        VP                  4      8H  # rF  )r   r  rG  r  r   s   &&r   r   Headers.__eq__*  s/    %))djj!VEKK%888r   c                   V ^8  d   QhRR/# rK   r   )r'   s   "r   r(   r  /  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  )r=   r   as_dicts   &  r   r   Headers.__repr__/  s[    ^^,,
tzz|$w<3t9$ \7+Q//U488,a00r   r  )NNN)r   r   r   r   r   rB   r   r  r   r&  r   r  r  r   r7  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  i7  c               $    V ^8  d   QhRRRRRR/# r    r?   r   r@   r%   r&   r   )r'   s   "r   r(   MutableHeaders.__annotate__8  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.
r1   :   NNNr  r  	enumerater  rp  reversed)	r=   r?   r@   set_key	set_valuefound_indexesidxr  r  s	   &&&      r   rT  MutableHeaders.__setitem__8  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    r?   r   r%   r&   r   )r'   s   "r   r(   r  N  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`.
r1   Nr  )r=   r?   del_keypop_indexesr  r  r  s   &&     r   rY  MutableHeaders.__delitem__N  sk     ))+$$Y/!#+4TZZ+@'C'("""3' ,A K(C

3 )r   c                    V ^8  d   QhRRRR/# r    r   typing.Mapping[str, str]r%   r  r   )r'   s   "r   r(   r  \  s      5 . r   c                	    \        V\        P                  4      '       g#   \        R VP                  P
                   24      hV P                  V4       V # zExpected a mapping but got )r   r  r  	TypeErrorr   r   r   r   s   &&r   __ior__MutableHeaders.__ior__\  sB    %009%//:R:R9STUUEr   c                    V ^8  d   QhRRRR/# r  r   )r'   s   "r   r(   r  b  s      4  r   c                	    \        V\        P                  4      '       g#   \        R VP                  P
                   24      hV P                  4       pVP                  V4       V# r  )r   r  r  r  r   r   r  r   )r=   r   news   && r   __or__MutableHeaders.__or__b  sP    %009%//:R:R9STUU 

5
r   c                   V ^8  d   QhRR/# r  r   )r'   s   "r   r(   r  j  s      . r   c                	    V P                   # rN   r  rH   s   &r   r  MutableHeaders.rawi  s    zzr   c               $    V ^8  d   QhRRRRRR/# )r    r?   r   r@   r%   r   )r'   s   "r   r(   r  m  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.
r1   )r  r  r  r  r9   rp  )r=   r?   r@   r  r  r  r  r  s   &&&     r   rq  MutableHeaders.setdefaultm  sw    
 ))+$$Y/LL+	+4TZZ+@'C'("!((33 ,A 	

7./r   c                    V ^8  d   QhRRRR/# )r    r   r  r%   r&   r   )r'   s   "r   r(   r  {  s      4  r   c                	@    VP                  4        F	  w  r#W0V&   K  	  R # rN   )r   )r=   r   r?   vals   &&  r   r   MutableHeaders.update{  s    HCI &r   c               $    V ^8  d   QhRRRRRR/# r  r   )r'   s   "r   r(   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.
r1   N)r  r  r  rp  )r=   r?   r@   
append_keyappend_values   &&&  r   rp  MutableHeaders.append  s=     YY[''	2
||I.

:45r   c                    V ^8  d   QhRRRR/# )r    varyr   r%   r&   r   )r'   s   "r   r(   r    s      C D r   c                	\    V P                  R 4      pVe   RP                  W!.4      pWR &   R# )r,  Nr  )r8   r	  )r=   r,  existings   && r   add_vary_headerMutableHeaders.add_vary_header  s.    88F#99h-.DVr   r   N)r   r   r   r   rT  rY  r  r  r   r  rq  r   rp  r/  r   r   r   r   r  r  7  sC    4,   6 r   r  c                  f   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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, typing.Any]_statec                   V ^8  d   QhRR/# )r    statezdict[str, typing.Any] | Noner   )r'   s   "r   r(   State.__annotate__  s     - -: -r   c                	4   < Vf   / p\         SV `  RV4       R # )Nr3  )r  __setattr__)r=   r5  r   s   &&r   rB   State.__init__  s    =EHe,r   c               $    V ^8  d   QhRRRRRR/# rO  r   )r'   s   "r   r(   r6    s!     ! !z !* ! !r   c                	"    W P                   V&   R # rN   r3  rS  s   &&&r   r8  State.__setattr__  s     Cr   c                    V ^8  d   QhRRRR/# )r    r?   r$   r%   r   )r'   s   "r   r(   r6    s     O Oz Oj 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 '{}')r3  r  AttributeErrorr'   r   r   )r=   r?   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/# rW  r   )r'   s   "r   r(   r6    s      z d r   c                	     V P                   V R # rN   r<  r2  s   &&r   __delattr__State.__delattr__  s    KKr   r   rN   )r   r   r   r   r   r   rB   r8  rB  rF  r   r  r  s   @r   r2  r2    s/     "!- -
!O r   r2  )#
__future__r   r  r   urllib.parser   r   r   r   starlette.concurrencyr	   starlette.typesr
   
NamedTupler   TypeVarr   r   r   r   r   r   Sequencer   r  r  Anyr   r~  r  Unionr  r  r  r2  r   r   r   <module>rQ     sA   "   D D 3 !f 
 >>*% nn%:dK P9 P9f<c <<! !(6FOOC0 68B*2E(EF B*J5!"6::vzz#9: 5!p!1$S#X. !1H<
 <
~$!#v||JO'D"DE $$J1fnnS#X& J1ZTW Tn r   