ó
    	[hÅs  ã                   ó  • % S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	J
r
  S SKJr  S SKJrJrJrJrJrJrJrJrJrJrJrJr  S SKJr  S SKrS SKJrJrJrJ r J!r!  S SK"J#r#  SS	K$J%r%  SS
K&J'r'  SSK(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3  SSK4J5r5  SSK6J7r7  SSK8J9r9J:r:  SSK;J<r<J=r=  SSK>J?r?J@r@JArAJBrBJCrC  SSKDJErE  SSKFJGrG  SrH\(       a  SSKIJJrJ  SSKKJLrL  SSKMJNrN  \Rž                  " SSSS9 " S S5      5       rP\R¢                  \R¤                  -   S-   rS\\T   \US'   S\S S3rV\\T   \US'   S R¯                  S!R±                  S" S#\Y" \Z" S$S%5      5      -    5       5      5      r[\\T   \US&'   S'r\\\T   \US('   S)R¯                  \[\\S*9r]\\T   \US+'   S,R¯                  \V\]S-9r^\\T   \US.'   \R¾                  " S/5      r`\\\T      \US0'   \R¾                  " \^5      ra\\\T      \US1'    " S2 S3\\T\4   \/5      rb " S4 S5\b5      rcg)6é    N)ÚSimpleCookie)ÚMappingProxyType)ÚTYPE_CHECKINGÚAnyÚDictÚFinalÚIteratorÚMappingÚMutableMappingÚOptionalÚPatternÚTupleÚUnionÚcast)Ú	parse_qsl)ÚCIMultiDictÚCIMultiDictProxyÚ	MultiDictÚMultiDictProxyÚMultiMapping)ÚURLé   )Úhdrs)ÚAbstractStreamWriter)Ú	_SENTINELÚDEBUGÚETAG_ANYÚLIST_QUOTED_ETAG_REÚChainMapProxyÚETagÚHeadersMixinÚparse_http_dateÚreifyÚsentinelÚset_exception)ÚRawRequestMessage)ÚHttpVersion)ÚBodyPartReaderÚMultipartReader)ÚEmptyStreamReaderÚStreamReader)ÚDEFAULT_JSON_DECODERÚJSONDecoderÚLooseHeadersÚ
RawHeadersÚStrOrURL)ÚHTTPRequestEntityTooLarge)ÚStreamResponse)ÚBaseRequestÚ	FileFieldÚRequest)ÚApplication)ÚRequestHandler)ÚUrlMappingMatchInfoT)Úauto_attribsÚfrozenÚslotsc                   ób   • \ rS rSr% \\S'   \\S'   \R                  \S'   \\S'   \\   \S'   Sr	g)	r4   éL   ÚnameÚfilenameÚfileÚcontent_typeÚheaders© N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚstrÚ__annotations__ÚioÚBufferedReaderr   Ú__static_attributes__rC   ó    Úb/home/gothic/public_html/Fooocus/fooocus_env/lib64/python3.13/site-packages/aiohttp/web_request.pyr4   r4   L   s)   ‡ à
ƒIØƒMØ
×
Ñ
ÓØÓØ˜cÑ"Ö"rM   r4   z!#$%&'*+.^_`|~-Ú_TCHARÚ[z]+Ú_TOKENz[{}]Ú c              #   ó8   #   • U  H  n[        U5      v •  M     g 7f©N)Úchr)Ú.0Úcs     rN   Ú	<genexpr>rX   [   s   é € ÐKÒJ˜ŒS��VˆVÒJùs   ‚)é	   é    é!   é#   é   Ú_QDTEXTz
\\[\t !-~]Ú_QUOTED_PAIRz"(?:{quoted_pair}|{qdtext})*")ÚqdtextÚquoted_pairÚ_QUOTED_STRINGz0({token})=({token}|{quoted_string})(:\d{{1,4}})?)ÚtokenÚquoted_stringÚ_FORWARDED_PAIRz\\([\t !-~])Ú_QUOTED_PAIR_REPLACE_REÚ_FORWARDED_PAIR_REc                   ót  • \ rS rSr% \R
                  \R                  \R                  \R                  \R                  1r
\R                  \" / SQ5      -  rSr\\\\\\4         \S'   Sr\\   \S'   SSSSSS.S\S	\S
SS\SSS\R6                  S\S\\\\4      S\\   S\\   S\\   SS4S jjr\ \ \ \ \ \ \ S.S\\\!4   S\\"\!4   S\\#\!4   S\\\!4   S\\\!4   S\\\!4   S\\\!4   SS 4S jjr$\%S`S j5       r&\%SaS j5       r'\%S\\RP                     4S j5       r)\%S\4S j5       r*\%S\4S  j5       r+\,S\4S! j5       r-\,S\.4S" j5       r/\,S\R6                  4S# j5       r0S$\S\4S% jr1S$\S&\SS4S' jr2S$\SS4S( jr3S\4S) jr4S\5\   4S* jr6\,S\74S+ j5       r8\,S\9\:\\4   S,4   4S- j5       r;\,S\4S. j5       r<\,S\4S/ j5       r=\,S\>4S0 j5       r?\,S\4S1 j5       r@\,S\\   4S2 j5       rA\,S\.4S3 j5       rB\,S\4S4 j5       rC\,S\4S5 j5       rD\,S\4S6 j5       rE\,SbS7 j5       rF\,S\4S8 j5       rG\,S\H\   4S9 j5       rI\,S\J4S: j5       rK\,S\\LR˜                     4S; j5       rM\,S\\LR˜                     4S< j5       rN\OS=\S\5\P   4S> j5       rQ\RS?\\   S\\9\PS,4      4S@ j5       rS\,S\\9\PS,4      4SA j5       rT\,S\\9\PS,4      4SB j5       rU\,S\\LR˜                     4SC j5       rV\,S\74SD j5       rW\,S\:\\4   4SE j5       rX\,S\Y4SF j5       rZ\,S\4SG j5       r[\%S\74SH j5       r\\%S\74SI j5       r]\,S\74SJ j5       r^ScSK jr_S\4SL jr`S\4SM jra\bSN.SO\cS\4SP jjrdS\e4SQ jrfSdSR jrgSeSS\ST\S\4SU jjrhS\4SV jriSW\jS\74SX jrkS\74SY jrlSZ\mSS4S[ jrnS\\oSS4S] jrpScS^ jrqS_rrg)fr3   év   )Ú_messageÚ	_protocolÚ_payload_writerÚ_payloadÚ_headersÚ_methodÚ_versionÚ_rel_urlÚ_postÚ_read_bytesÚ_stateÚ_cacheÚ_taskÚ_client_max_sizeÚ_loopÚ_transport_sslcontextÚ_transport_peernameNrr   rs   i   )Úclient_max_sizeÚstateÚschemeÚhostÚremoteÚmessageÚpayloadÚprotocolr7   Úpayload_writerÚtaskúasyncio.Task[None]Úloopr{   r|   r}   r~   r   Úreturnc                óÒ  • Xl         X0l        X@l        X l        UR                  U l        UR                  U l        UR                  U l	        0 U l
        UR                  nUR                  (       a~  U	b  UR                  U	5      nU
b  UR                  U
5      nXÀR                  S'   UR                  U R                  S'   UR                   U R                  S'   UR#                  5       U l        O(XÀl        U	b  X�R                  S'   U
b  X R                  S'   Uc  0 OUU l        XPl        Xpl        X`l        UR.                  U l        UR2                  U l        Ub  X°R                  S'   g g )NÚurlr~   r}   r   )rj   rk   rl   rm   rB   rn   Úmethodro   Úversionrp   ru   r‰   ÚabsoluteÚwith_schemeÚ	with_hostr~   r}   Úrelativerq   rt   rv   rw   rx   Ússl_contextry   Úpeernamerz   )Úselfr€   r�   r‚   rƒ   r„   r†   r{   r|   r}   r~   r   r‰   s                rN   Ú__init__ÚBaseRequest.__init__˜   s1  € ð  ŒØ!ŒØ-ÔàŒØ/6¯©ˆŒØ—~‘~ˆŒØŸ™ˆŒØ&(ˆŒØ�k‰kˆØ�<�<ØÑ!Ø—o‘o fÓ-�ØÑØ—m‘m DÓ)�ð "%�K‰K˜ÑØ"%§(¡(ˆD�K‰K˜ÑØ$'§J¡JˆD�K‰K˜Ñ!ØŸL™L›NˆD�MàŒMØÑ!Ø(.—‘˜HÑ%ØÑØ&*—‘˜FÑ#à!™M‘b¨uˆŒØŒ
Ø /ÔØŒ
à%-×%9Ñ%9ˆÔ"Ø#+×#4Ñ#4ˆÔ àÑØ$*�K‰K˜Ò!ð rM   ©rŠ   Úrel_urlrB   r}   r~   r   r{   rŠ   r–   rB   c                ó®  • U R                   (       a  [        S5      e0 nU[        La  XS'   U[        La  [        U5      n	X˜S'   [	        U	5      US'   U[        La=  [        [        U5      5      US'   [        S US   R                  5        5       5      US'   U R                  R                  " S0 UD6n
0 nU[        La  XKS'   U[        La  X[S	'   U[        La  XkS
'   U[        L a  U R                  nU R                  " U
U R                  U R                  U R                  U R                   U R"                  4UU R$                  R'                  5       S.UD6$ )zòClone itself with replacement some attributes.

Creates and returns a new instance of Request object. If no parameters
are given, an exact copy is returned. If a parameter is not passed, it
will reuse the one from the current request object.
z.Cannot clone request after reading its contentrŠ   r‰   ÚpathrB   c              3   ój   #   • U  H)  u  pUR                  S 5      UR                  S 5      4v •  M+     g7f)úutf-8N)Úencode)rV   ÚkÚvs      rN   rX   Ú$BaseRequest.clone.<locals>.<genexpr>í   s0   é € ð 'â2‘D�Að —‘˜'Ó" A§H¡H¨WÓ$5Õ6Ú2ùs   ‚13Úraw_headersr}   r~   r   )r{   r|   rC   )rs   ÚRuntimeErrorr$   r   rH   r   r   ÚtupleÚitemsrj   Ú_replacerw   Ú	__class__rm   rk   rl   rv   rx   rt   Úcopy)r’   rŠ   r–   rB   r}   r~   r   r{   ÚdctÚnew_urlr€   Úkwargss               rN   ÚcloneÚBaseRequest.cloneÏ   sS  € ð" ××ÜÐOÓPÐPà ˆØœÒ!Ø"�‰MØœ(Ò"Ü˜w›<ˆGØ �‰JÜ˜g›,ˆC�‰KØœ(Ò"ä-¬k¸'Ó.BÓCˆC�	‰NÜ!&ñ 'à 	™N×0Ñ0Ô2ó'ó "ˆC�Ñð
 —-‘-×(Ò(Ñ/¨3Ñ/ˆàˆØœÒ!Ø%�8ÑØ”xÒØ!�6‰NØœÒ!Ø%�8ÑØœhÒ&Ø"×3Ñ3ˆOà�~Š~ØØ�M‰MØ�N‰NØ× Ñ Ø�J‰JØ�J‰Jð

ð ,Ø—+‘+×"Ñ"Ó$ñ

ð ñ

ð 
	
rM   c                 ó   • U R                   $ rT   )rv   ©r’   s    rN   r„   ÚBaseRequest.task
  s   € à�z‰zÐrM   c                 ó   • U R                   $ rT   )rk   r¬   s    rN   r‚   ÚBaseRequest.protocol  s   € à�~‰~ÐrM   c                 óJ   • U R                   c  g U R                   R                  $ rT   )rk   Ú	transportr¬   s    rN   r±   ÚBaseRequest.transport  s   € à�>‰>Ñ!ØØ�~‰~×'Ñ'Ð'rM   c                 ó   • U R                   $ rT   )rl   r¬   s    rN   ÚwriterÚBaseRequest.writer  s   € à×#Ñ#Ð#rM   c                 ó   • U R                   $ rT   )rw   r¬   s    rN   r{   ÚBaseRequest.client_max_size  s   € à×$Ñ$Ð$rM   c                 óN   • [         R                  " S[        SS9  U R                  $ )NzRequest.message is deprecatedé   ©Ú
stacklevel)ÚwarningsÚwarnÚDeprecationWarningrj   r¬   s    rN   r€   ÚBaseRequest.message   s   € ä�ŠÐ5Ô7IÐVWÒXØ�}‰}ÐrM   c                 ó   • U R                   $ rT   )rq   r¬   s    rN   r–   ÚBaseRequest.rel_url%  s   € à�}‰}ÐrM   c                 óN   • [         R                  " S[        SS9  U R                  $ )Nz#request.loop property is deprecatedé   rº   )r¼   r½   r¾   rx   r¬   s    rN   r†   ÚBaseRequest.loop)  s#   € ä�ŠØ1Ô3EÐRSò	
ð �z‰zÐrM   Úkeyc                 ó    • U R                   U   $ rT   ©rt   ©r’   rÅ   s     rN   Ú__getitem__ÚBaseRequest.__getitem__2  s   € Ø�{‰{˜3ÑÐrM   Úvaluec                 ó    • X R                   U'   g rT   rÇ   )r’   rÅ   rË   s      rN   Ú__setitem__ÚBaseRequest.__setitem__5  s   € Ø �‰�CÒrM   c                 ó   • U R                   U	 g rT   rÇ   rÈ   s     rN   Ú__delitem__ÚBaseRequest.__delitem__8  s   € Ø�K‰K˜ÑrM   c                 ó,   • [        U R                  5      $ rT   )Úlenrt   r¬   s    rN   Ú__len__ÚBaseRequest.__len__;  s   € Ü�4—;‘;ÓÐrM   c                 ó,   • [        U R                  5      $ rT   )Úiterrt   r¬   s    rN   Ú__iter__ÚBaseRequest.__iter__>  s   € Ü�D—K‘KÓ Ð rM   c                 ó    • U R                   S:H  $ )z5A bool indicating if the request is handled with SSL.Úhttps)r}   r¬   s    rN   ÚsecureÚBaseRequest.secureC  s   € ð �{‰{˜gÑ%Ð%rM   .c                 óf  • / nU R                   R                  R                  [        R                  S5       GHl  n[        U5      nSnSn0 nUR                  [        R                  " U5      5        SUs=::  a  U:  d  MI  O  MM  [        R                  X$5      nUbŒ  U(       a  UR                  SU5      nOÙUR                  5       u  p‰n
U	S   S:X  a  [        R                  SU	SS 5      n	U
(       a  Xš-  n	X–UR                  5       '   U[        UR!                  S5      5      -  nS	nOgX$   S:X  a/  Sn0 nUR                  [        R                  " U5      5        US-  nO0X$   S
:X  a  SnUS-  nO X$   S;   a  US-  nOUR                  SU5      nSUs=::  a  U:  a  GM  GMk    GMo     [#        U5      $ )a(  A tuple containing all parsed Forwarded header(s).

Makes an effort to parse Forwarded headers as specified by RFC 7239:

- It adds one (immutable) dictionary per Forwarded 'field-value', ie
  per proxy. The element corresponds to the data in the Forwarded
  field-value added by the first proxy encountered by the client. Each
  subsequent item corresponds to those added by later proxies.
- It checks that every value has valid syntax in general as specified
  in section 4: either a 'token' or a 'quoted-string'.
- It un-escapes found escape sequences.
- It does NOT validate 'by' and 'for' contents as specified in section
  6.
- It does NOT validate 'host' contents (Host ABNF).
- It does NOT validate 'proto' contents for valid URI scheme names.

Returns a tuple containing one or more immutable dicts
rC   r   FÚ,Ú"z\1r   éÿÿÿÿTÚ;z 	)rj   rB   Úgetallr   Ú	FORWARDEDrÓ   ÚappendÚtypesr   rg   ÚmatchÚfindÚgroupsrf   ÚsubÚlowerÚgroupr¡   )r’   ÚelemsÚfield_valueÚlengthÚposÚneed_separatorÚelemrç   r>   rË   Úports              rN   Ú	forwardedÚBaseRequest.forwardedH  s˜  € ð( ˆØŸ=™=×0Ñ0×7Ñ7¼¿¹È×KˆKÜ˜Ó%ˆFØˆCØ"ˆNØ#%ˆDØ�L‰Lœ×/Ò/°Ó5Ô6Ø�sÕ#˜V×#Ñ#Ü*×0Ñ0°ÓB�ØÑ$Þ%à)×.Ñ.¨s°CÓ8™à,1¯L©L«NÑ)˜ TØ  ™8 s›?ä$;×$?Ñ$?ÀÀuÈQÈrÀ{Ó$S˜EÞØ!™M˜EØ-2˜TŸZ™Z›\Ñ*Øœs 5§;¡;¨q£>Ó2Ñ2˜Ø)-™Ø Ñ%¨Ó,Ø%*�NØ�DØ—L‘L¤×!7Ò!7¸Ó!=Ô>Ø˜1‘H‘CØ Ñ%¨Ó,Ø%*�NØ˜1‘H‘CØ Ñ%¨Ó.ð ˜1‘H‘Cð &×*Ñ*¨3°Ó4�Cð? �sÕ#˜V×#Õ#ñ LôL �U‹|ÐrM   c                 ó(   • U R                   (       a  gg)zçA string representing the scheme of the request.

Hostname is resolved in this order:

- overridden value by .clone(scheme=new_scheme) call.
- type of connection to peer: HTTPS if socket is SSL, HTTP otherwise.

'http' or 'https'.
rÛ   Úhttp)ry   r¬   s    rN   r}   ÚBaseRequest.scheme…  s   € ð ×%×%ØàrM   c                 ó   • U R                   $ )ziRead only property for getting HTTP method.

The value is upper-cased str like 'GET', 'POST', 'PUT' etc.
)ro   r¬   s    rN   rŠ   ÚBaseRequest.method•  s   € ð �|‰|ÐrM   c                 ó   • U R                   $ )zhRead only property for getting HTTP version of request.

Returns aiohttp.protocol.HttpVersion instance.
)rp   r¬   s    rN   r‹   ÚBaseRequest.version�  s   € ð �}‰}ÐrM   c                 óœ   • U R                   R                  R                  [        R                  5      nUb  U$ [
        R                  " 5       $ )a  Hostname of the request.

Hostname is resolved in this order:

- overridden value by .clone(host=new_host) call.
- HOST HTTP header
- socket.getfqdn() value

For example, 'example.com' or 'localhost:8080'.

For historical reasons, the port number may be included.
)rj   rB   Úgetr   ÚHOSTÚsocketÚgetfqdn)r’   r~   s     rN   r~   ÚBaseRequest.host¥  s:   € ð �}‰}×$Ñ$×(Ñ(¬¯©Ó3ˆØÑØˆKÜ�~Š~ÓÐrM   c                 óÂ   • U R                   c  g[        U R                   [        [        45      (       a  [	        U R                   S   5      $ [	        U R                   5      $ )z¢Remote IP of client initiated HTTP request.

The IP is resolved in this order:

- overridden value by .clone(remote=new_remote) call.
- peername of opened socket
Nr   )rz   Ú
isinstanceÚlistr¡   rH   r¬   s    rN   r   ÚBaseRequest.remote¸  sQ   € ð ×#Ñ#Ñ+ØÜ�d×.Ñ.´´u°×>Ñ>Ü�t×/Ñ/°Ñ2Ó3Ð3Ü�4×+Ñ+Ó,Ð,rM   c                 ó†   • [         R                  " U R                  U R                  S9R	                  U R
                  5      $ )zThe full URL of the request.)r}   Ú	authority)r   Úbuildr}   r~   Újoinrq   r¬   s    rN   r‰   ÚBaseRequest.urlÇ  s,   € ô
 �yŠy §¡°t·y±yÑA×FÑFÀtÇ}Á}ÓUÐUrM   c                 ó.   • U R                   R                  $ )zOThe URL including *PATH INFO* without the host or scheme.

E.g., ``/app/blog``
)rq   r˜   r¬   s    rN   r˜   ÚBaseRequest.pathÎ  s   € ð �}‰}×!Ñ!Ð!rM   c                 ó,   • [        U R                  5      $ )zHThe URL including PATH_INFO and the query string.

E.g, /app/blog?id=10
)rH   rq   r¬   s    rN   Úpath_qsÚBaseRequest.path_qsÖ  s   € ô �4—=‘=Ó!Ð!rM   c                 ó.   • U R                   R                  $ )zÂThe URL including raw *PATH INFO* without the host or scheme.

Warning, the path is unquoted and may contains non valid URL characters

E.g., ``/my%2Fpath%7Cwith%21some%25strange%24characters``
)rj   r˜   r¬   s    rN   Úraw_pathÚBaseRequest.raw_pathÞ  s   € ð �}‰}×!Ñ!Ð!rM   c                 ó.   • U R                   R                  $ )z7A multidict with all the variables in the query string.)rq   Úqueryr¬   s    rN   r  ÚBaseRequest.queryè  s   € ð �}‰}×"Ñ"Ð"rM   c                 ó.   • U R                   R                  $ )z*The query string in the URL.

E.g., id=10
)rq   Úquery_stringr¬   s    rN   r  ÚBaseRequest.query_stringí  s   € ð �}‰}×)Ñ)Ð)rM   c                 ó   • U R                   $ )z4A case-insensitive multidict proxy with all headers.)rn   r¬   s    rN   rB   ÚBaseRequest.headersõ  ó   € ð �}‰}ÐrM   c                 ó.   • U R                   R                  $ )z$A sequence of pairs for all headers.)rj   rŸ   r¬   s    rN   rŸ   ÚBaseRequest.raw_headersú  s   € ð �}‰}×(Ñ(Ð(rM   c                 óf   • [        U R                  R                  [        R                  5      5      $ )ziThe value of If-Modified-Since HTTP header, or None.

This header is represented as a `datetime` object.
)r"   rB   rþ   r   ÚIF_MODIFIED_SINCEr¬   s    rN   Úif_modified_sinceÚBaseRequest.if_modified_sinceÿ  s$   € ô ˜tŸ|™|×/Ñ/´×0FÑ0FÓGÓHÐHrM   c                 óf   • [        U R                  R                  [        R                  5      5      $ )zkThe value of If-Unmodified-Since HTTP header, or None.

This header is represented as a `datetime` object.
)r"   rB   rþ   r   ÚIF_UNMODIFIED_SINCEr¬   s    rN   Úif_unmodified_sinceÚBaseRequest.if_unmodified_since  s$   € ô ˜tŸ|™|×/Ñ/´×0HÑ0HÓIÓJÐJrM   Úetag_headerc              #   óä   #   • U [         :X  a  [        S[         S9v •  g[        R                  " U 5       H7  nUR	                  SSS5      u  p#nU(       a    g[        [        U5      US9v •  M9     g7f)z'Extract `ETag` objects from raw header.F)Úis_weakrË   rÃ   r¹   é   N)r   r    r   Úfinditerrì   Úbool)r'  rç   r)  rË   Úgarbages        rN   Ú_etag_valuesÚBaseRequest._etag_values  sp   é € ð œ(Ó"ÜØÜñó ô
 -×5Ò5°kÖB�Ø*/¯+©+°a¸¸AÓ*>Ñ'� ö ÙäÜ  ›MØñô ò Cùs   ‚A.A0Úheader_valuec                 óF   • U(       d  g [        U R                  U5      5      $ rT   )r¡   r.  )Úclsr0  s     rN   Ú_if_match_or_none_implÚ"BaseRequest._if_match_or_none_impl$  s    € ö Øä�S×%Ñ% lÓ3Ó4Ð4rM   c                 ór   • U R                  U R                  R                  [        R                  5      5      $ )zhThe value of If-Match HTTP header, or None.

This header is represented as a `tuple` of `ETag` objects.
)r3  rB   rþ   r   ÚIF_MATCHr¬   s    rN   Úif_matchÚBaseRequest.if_match-  s(   € ð ×*Ñ*¨4¯<©<×+;Ñ+;¼D¿M¹MÓ+JÓKÐKrM   c                 ór   • U R                  U R                  R                  [        R                  5      5      $ )zmThe value of If-None-Match HTTP header, or None.

This header is represented as a `tuple` of `ETag` objects.
)r3  rB   rþ   r   ÚIF_NONE_MATCHr¬   s    rN   Úif_none_matchÚBaseRequest.if_none_match5  s*   € ð ×*Ñ*¨4¯<©<×+;Ñ+;¼D×<NÑ<NÓ+OÓPÐPrM   c                 óf   • [        U R                  R                  [        R                  5      5      $ )z`The value of If-Range HTTP header, or None.

This header is represented as a `datetime` object.
)r"   rB   rþ   r   ÚIF_RANGEr¬   s    rN   Úif_rangeÚBaseRequest.if_range=  s"   € ô ˜tŸ|™|×/Ñ/´·±Ó>Ó?Ð?rM   c                 ó8   • U R                   R                  (       + $ )zIs keepalive enabled by client?)rj   Úshould_closer¬   s    rN   Ú
keep_aliveÚBaseRequest.keep_aliveE  s   € ð —=‘=×-Ñ-Ô-Ð-rM   c                 óè   • U R                   R                  [        R                  S5      n[	        U5      n[        UR                  5        VVs0 s H  u  p4X4R                  _M     snn5      $ s  snnf )z=Return request cookies.

A read-only dictionary-like object.
rR   )rB   rþ   r   ÚCOOKIEr   r   r¢   rË   )r’   ÚrawÚparsedrÅ   Úvals        rN   ÚcookiesÚBaseRequest.cookiesJ  sS   € ð �l‰l×ÑœtŸ{™{¨BÓ/ˆÜ˜cÓ"ˆÜÀÇÁÄÔ OÂ±H°C §i¡i¢ÁÒ OÓPÐPùÓ Os   ÁA.
c                 ó°  • U R                   R                  [        R                  5      nSu  p#Ub‚   Sn[        R
                  " XA5      S   u  p#U(       a  [        U5      OSnU(       a  [        U5      OSnUc  Ub  U* nSnUb  Ub  US-  nX#:¼  a  [        S5      eX#s=L a  c  O  O[        S5      e[        X#S5      $ ! [         a    [        S5      ef = f)	z=The content of Range HTTP header.

Return a slice instance.

)NNNz^bytes=(\d*)-(\d*)$r   zrange not in acceptable formatr   zstart cannot be after endz"No start or end of range specified)
rn   rþ   r   ÚRANGEÚreÚfindallÚ
IndexErrorÚ
ValueErrorÚintÚslice)r’   ÚrngÚstartÚendÚpatterns        rN   Ú
http_rangeÚBaseRequest.http_rangeT  sÞ   € ð �m‰m×Ñ¤§
¡
Ó+ˆØ‰
ˆØ‰?ðCØ0�ÜŸZšZ¨Ó5°aÑ8‘
�ö "”#�c”( tˆCÞ"'”C˜”J¨TˆEà‰} ¡à˜�Ø�àÑ  S¡_à�q‘�à“<Ü$Ð%@ÓAÐAà×#Ñ#Ü Ð!EÓFÐFä�U Ó#Ð#øô+ ó CÜ Ð!AÓBÐBðCús   ²B? Â?Cc                 ó   • U R                   $ )zReturn raw payload stream.)rm   r¬   s    rN   ÚcontentÚBaseRequest.contentx  r  rM   c                 ót   • [         R                  " S[        SS9  U R                  R	                  5       (       + $ )ú@Return True if request's HTTP BODY can be read, False otherwise.z$Deprecated, use .can_read_body #2005rÃ   rº   )r¼   r½   r¾   rm   Úat_eofr¬   s    rN   Úhas_bodyÚBaseRequest.has_body}  s1   € ô 	�ŠØ2Ô4FÐSTò	
ð —=‘=×'Ñ'Ó)Ô)Ð)rM   c                 ó@   • U R                   R                  5       (       + $ )r^  )rm   r_  r¬   s    rN   Úcan_read_bodyÚBaseRequest.can_read_body…  s   € ð —=‘=×'Ñ'Ó)Ô)Ð)rM   c                 ó8   • [        U R                  5      [        L$ )z6Return True if request has HTTP BODY, False otherwise.)Útyperm   r*   r¬   s    rN   Úbody_existsÚBaseRequest.body_existsŠ  s   € ô �D—M‘MÓ"Ô*;Ð;Ð;rM   c              ƒ   óÖ   #   • U R                   R                  5       (       dD  U R                   R                  5       I Sh  v•N   U R                   R                  5       (       d  MC  gg N'7f)z;Release request.

Eat unread part of HTTP BODY if present.
N)rm   r_  Úreadanyr¬   s    rN   ÚreleaseÚBaseRequest.release�  sH   é € ð
 —-‘-×&Ñ&×(Ñ(Ø—-‘-×'Ñ'Ó)×)Ð)ð —-‘-×&Ñ&×(Õ(Ù)ùs   ‚=A)¿A'Á #A)Á%A)c              ƒ   ón  #   • U R                   c—  [        5       n U R                  R                  5       I Sh  v•N nUR	                  U5        U R
                  (       a.  [        U5      nX0R
                  :¼  a  [        U R
                  US9eU(       d  OM|  [        U5      U l         U R                   $  Nz7f)zORead request body if present.

Returns bytes object with full request content.
N©Úmax_sizeÚactual_size)	rs   Ú	bytearrayrm   rj  Úextendrw   rÓ   r1   Úbytes)r’   ÚbodyÚchunkÚ	body_sizes       rN   ÚreadÚBaseRequest.read—  s    é € ð
 ×ÑÑ#Ü“;ˆDØØ"Ÿm™m×3Ñ3Ó5×5�Ø—‘˜EÔ"Ø×(×(Ü # D£	�IØ ×$9Ñ$9Ó9Ü7Ø%)×%:Ñ%:È	ñð ö Øñ ô  % T›{ˆDÔØ×ÑÐñ 6ùs   ‚6B5¸B3¹A;B5c              ƒ   óŠ   #   • U R                  5       I Sh  v•N nU R                  =(       d    SnUR                  U5      $  N*7f)z1Return BODY as text using encoding from .charset.Nrš   )rw  ÚcharsetÚdecode)r’   Ú
bytes_bodyÚencodings      rN   ÚtextÚBaseRequest.text¬  s7   é € àŸ9™9›;×&ˆ
Ø—<‘<×* 7ˆØ× Ñ  Ó*Ð*ñ 'ùs   ‚A–A—+A)Úloadsr€  c             ƒ   óN   #   • U R                  5       I Sh  v•N nU" U5      $  N7f)zReturn BODY as JSON.N)r~  )r’   r€  rt  s      rN   ÚjsonÚBaseRequest.json²  s"   é € à—Y‘Y“[× ˆÙ�T‹{Ðñ !ùs   ‚%–#—%c              ƒ   óJ   #   • [        U R                  U R                  5      $ 7f)z3Return async iterator to process BODY as multipart.)r)   rn   rm   r¬   s    rN   Ú	multipartÚBaseRequest.multipart·  s   é € ä˜tŸ}™}¨d¯m©mÓ<Ð<ùs   ‚!#c              ƒ   ó¾  #   • U R                   b  U R                   $ U R                  U R                  ;  a$  [        [	        5       5      U l         U R                   $ U R
                  nUS;  a$  [        [	        5       5      U l         U R                   $ [	        5       nUS:X  Ga  U R                  5       I Sh  v•N nU R                  nUR                  5       I Sh  v•N nUGbÕ  SnUR                  R                  [        R                  5      n[        U[        5      (       Gak  UR                  c   eUR                   (       Ga›  U R"                  R%                  S[&        R(                  5      I Sh  v•N nUR+                  SS9I Sh  v•N n	U	(       aµ  UR-                  U	5      n	U R"                  R%                  SUR.                  U	5      I Sh  v•N   U[1        U	5      -  nSUs=:  a  U:  a:  O  O7U R"                  R%                  SUR2                  5      I Sh  v•N   [5        XFS9eUR+                  SS9I Sh  v•N n	U	(       a  Mµ  U R"                  R%                  SUR6                  S5      I Sh  v•N   Uc  Sn[9        UR                  UR                   [;        [<        R>                  U5      UUR                  5      n
URA                  UR                  U
5        OºURC                  S	S
9I Sh  v•N nUb  URE                  S5      (       a;  URG                  SS9nURA                  UR                  UR-                  U5      5        OURA                  UR                  U5        U[1        U5      -  nSUs=:  a  U:  a  O  O[5        XFS9eO[I        S5      eUR                  5       I Sh  v•N nUb  GMÕ  OkU RC                  5       I Sh  v•N nU(       aL  U RJ                  =(       d    SnURM                  [O        URQ                  5       R-                  U5      S	US95        [        U5      U l         U R                   $  GNŠ GNi GNÔ GNÀ GN| GN3 GN GNá GNf N­ N�7f)zReturn POST parameters.N)rR   z!application/x-www-form-urlencodedúmultipart/form-datarˆ  r   i   )Úsizern  zapplication/octet-streamT)r{  ztext/rš   )Údefaultz8To decode nested multipart you need to use custom reader)Úkeep_blank_valuesr}  ))rr   ro   ÚPOST_METHODSr   r   rA   r…  rw   ÚnextrB   rþ   r   ÚCONTENT_TYPEr  r(   r>   r?   rx   Úrun_in_executorÚtempfileÚTemporaryFileÚ
read_chunkr{  ÚwriterÓ   Úcloser1   Úseekr4   r   rJ   rK   Úaddrw  Ú
startswithÚget_charsetrQ  rz  rr  r   Úrstrip)r’   rA   Úoutr…  ro  Úfieldr‰  Úfield_ctÚtmpru  ÚffrË   rz  Údatas                 rN   ÚpostÚBaseRequest.post»  s«  é € à�:‰:Ñ!Ø—:‘:ÐØ�<‰<˜t×0Ñ0Ó0Ü'¬	«Ó4ˆDŒJØ—:‘:Ðà×(Ñ(ˆØð  
ó 
ô
 (¬	«Ó4ˆDŒJØ—:‘:Ðä7@³{ˆàÐ0Ô0Ø"Ÿn™nÓ.×.ˆIØ×,Ñ,ˆHà#Ÿ.™.Ó*×*ˆEØÒ#Ø�Ø Ÿ=™=×,Ñ,¬T×->Ñ->Ó?�ä˜e¤^×4Ò4Ø Ÿ:™:Ñ1Ð1Ð1ð —~—~�~à$(§J¡J×$>Ñ$>Ø ¤(×"8Ñ"8ó%÷ ˜ð ',×&6Ñ&6¸EÐ&6Ð&B× B˜Þ#Ø$)§L¡L°Ó$7˜EØ"&§*¡*×"<Ñ"<¸TÀ3Ç9Á9ÈeÓ"T×TÐTØ ¤C¨£JÑ.˜DØ  8Õ2¨dÖ2Ø&*§j¡j×&@Ñ&@ÀÀsÇyÁyÓ&Q× QÐ QÜ&?Ø-5ñ'"ð !"ð +0×*:Ñ*:ÀÐ*:Ð*F×$F˜E÷ $˜eð #Ÿj™j×8Ñ8¸¸s¿x¹xÈÓK×KÐKà#Ñ+Ø'A˜Hä&Ø!ŸJ™JØ!ŸN™NÜ ¤×!2Ñ!2°CÓ8Ø$Ø!ŸM™Mó˜ð Ÿ™ §
¡
¨BÕ/ð ',§j¡j¸ jÐ&=× =˜Ø#Ñ+¨x×/BÑ/BÀ7×/KÑ/KØ&+×&7Ñ&7ÀÐ&7Ð&H˜GØŸG™G E§J¡J°·±¸WÓ0EÕFàŸG™G E§J¡J°Ô6Ø¤ E£
Ñ*˜Ø˜xÕ.¨$Ö.Ü";Ø)1ñ#ð ð /ô
 %ØRóð ð (Ÿn™nÓ.×.�ðu Ô#øðx Ÿ™›×$ˆDÞØŸ,™,×1¨'�Ø—
‘
ÜØŸ™›×,Ñ,¨WÓ5Ø*.Ø!(ñôô $ CÓ(ˆŒ
Ø�z‰zÐòY /ò +òò !Cò Uò !Rò %GÚKò !>ñ  /á$ùsØ   ‚B2QÂ4P>Â5#QÃQÃBQÅ0QÅ1QÆQÆAQÇQ
ÇAQÈQÈQÈ:QÈ;QÉ*QÉ2QÉ3A=QË0QË1B:QÎ+QÎ,QÎ6QÏ
QÏA4QÑQÑQÑQÑ
QÑQÑQÑQÑQÑQÑQr>   rŠ  c                 óh   • U R                   nUc  U$ UR                  nUc  U$ UR                  X5      $ )z"Extra info from protocol transport)rk   r±   Úget_extra_info)r’   r>   rŠ  r‚   r±   s        rN   r£  ÚBaseRequest.get_extra_info  s=   € à—>‘>ˆØÑØˆNà×&Ñ&ˆ	ØÑØˆNà×'Ñ'¨Ó6Ð6rM   c                 óº   • U R                   R                  SS5      R                  S5      nSR                  U R                  R
                  U R                  U5      $ )NÚasciiÚbackslashreplacez<{} {} {} >)r˜   r›   r{  Úformatr¤   rD   ro   )r’   Úascii_encodable_paths     rN   Ú__repr__ÚBaseRequest.__repr__)  sS   € Ø#Ÿy™y×/Ñ/°Ð9KÓL×SÑSØó 
Ðð ×#Ñ#Ø�N‰N×#Ñ# T§\¡\Ð3Gó
ð 	
rM   Úotherc                 ó0   • [        U 5      [        U5      :H  $ rT   )Úid)r’   r¬  s     rN   Ú__eq__ÚBaseRequest.__eq__1  s   € Ü�$‹xœ2˜e›9Ñ$Ð$rM   c                 ó   • g)NTrC   r¬   s    rN   Ú__bool__ÚBaseRequest.__bool__4  s   € ØrM   Úresponsec              ƒ   ó   #   • g 7frT   rC   )r’   r´  s     rN   Ú_prepare_hookÚBaseRequest._prepare_hook7  s   é € Øùs   ‚Úexcc                 ó0   • [        U R                  U5        g rT   )r%   rm   )r’   r¸  s     rN   Ú_cancelÚBaseRequest._cancel:  s   € Ü�d—m‘m SÕ)rM   c                 óè   • U R                   b  U R                  S:w  a  g U R                   R                  5        H6  u  p[        U[        5      (       d  M  UR
                  R                  5         M8     g )Nrˆ  )rr   rA   r¢   r  r4   r@   r”  )r’   Ú	file_nameÚfile_field_objects      rN   Ú_finishÚBaseRequest._finish=  sY   € Ø�:‰:Ñ ×!2Ñ!2Ð6KÓ!KØð -1¯J©J×,<Ñ,<Ö,>Ñ(ˆIÜÐ+¬Y×7Ó7Ø!×&Ñ&×,Ñ,Ö.ò -?rM   )ru   rw   rn   rx   rj   ro   rm   rl   rr   rk   rs   rq   rt   rv   rz   ry   rp   )r‡   r…   )r‡   r7   )r‡   zMultiMapping[str])r‡   N)r‡   z,MultiDictProxy[Union[str, bytes, FileField]]rT   )srD   rE   rF   rG   r   Ú
METH_PATCHÚ	METH_POSTÚMETH_PUTÚ
METH_TRACEÚMETH_DELETErŒ  r!   ÚATTRSÚ	frozensetrr   r   r   r   rH   rs  r4   rI   rs   r&   r+   r   ÚasyncioÚAbstractEventLooprR  r   r   r“   r$   r   r0   r.   r©   Úpropertyr„   r‚   Ú	Transportr±   r´   r{   r#   r€   r   r–   r†   rÉ   rÍ   rÐ   rÔ   r	   rØ   r,  rÜ   r   r
   rô   r}   rŠ   r'   r‹   r~   r   r‰   r˜   r  r  r  r  r   rB   r/   rŸ   Údatetimer!  r%  Ústaticmethodr    r.  Úclassmethodr3  r7  r;  r?  rC  rJ  rS  rX  r[  r`  rc  rg  rk  rw  r~  r,   r-   r‚  r)   r…  r   r£  rª  Úobjectr¯  r²  r2   r¶  ÚBaseExceptionrº  r¿  rL   rC   rM   rN   r3   r3   v   st  ‡ ð 	�‰Ø�‰Ø�‰Ø�‰Ø×Ñð€Lð ×Ñ¡ò	
ó"ñ €Eð* EI€Eˆ8�N 5¨¨e°YÐ)>Ñ#?Ñ@ÑAÓHØ#'€K�˜%‘Ó'ð  'Ø*.Ø $Ø"Ø $ò5+à"ð5+ð ð5+ð #ð	5+ð
 -ð5+ð #ð5+ð ×'Ñ'ð5+ð ð5+ð ˜˜S #˜X™Ñ'ð5+ð ˜‘ð5+ð �s‰mð5+ð ˜‘ð5+ð 
õ5+ðt )1Ø.6Ø2:Ø(0Ø&.Ø(0Ø19ò9
ð �c˜9�nÑ%ð9
ð �x Ð*Ñ+ð	9
ð
 �| YÐ.Ñ/ð9
ð �c˜9�nÑ%ð9
ð �C˜�NÑ#ð9
ð �c˜9�nÑ%ð9
ð ˜s I˜~Ñ.ð9
ð 
õ9
ðv óó ðð óó ðð ð(˜8 G×$5Ñ$5Ñ6ó (ó ð(ð
 ð$Ð,ó $ó ð$ð ð% ó %ó ð%ð ðÐ*ó ó ðð ð˜ó ó ðð ð�g×/Ñ/ó ó ðð ˜sð   sô  ð!˜sð !¨3ð !°4ô !ð˜sð  tô ð ˜ô  ð!˜( 3™-ô !ð
 ð&˜ó &ó ð&ð ð:˜5 ¨¨c¨Ñ!2°CÐ!7Ñ8ó :ó ð:ðx ð˜ó ó ðð ð˜ó ó ðð ð˜ó ó ðð ð �có  ó ð ð$ ð-˜ ™ó -ó ð-ð ðV�Só Vó ðVð ð"�có "ó ð"ð ð"˜ó "ó ð"ð ð"˜#ó "ó ð"ð ó#ó ð#ð ð*˜có *ó ð*ð ðÐ)¨#Ñ.ó ó ðð ð)˜Zó )ó ð)ð ðI 8¨H×,=Ñ,=Ñ#>ó Ió ðIð ðK X¨h×.?Ñ.?Ñ%@ó Kó ðKð ð #ð ¨(°4©.ó ó ðð( ð5Ø# C™=ð5à	�%˜˜c˜	Ñ"Ñ	#ó5ó ð5ð ðL˜( 5¨¨s¨Ñ#3Ñ4ó Ló ðLð ðQ˜x¨¨d°C¨iÑ(8Ñ9ó Qó ðQð ð@˜( 8×#4Ñ#4Ñ5ó @ó ð@ð ð.˜Dó .ó ð.ð ðQ˜  c Ñ*ó Qó ðQð ð!$˜Eó !$ó ð!$ðF ð˜ó ó ðð ð*˜$ó *ó ð*ð ð*˜tó *ó ð*ð ð<˜Tó <ó ð<ô*ð ˜Eô  ð*+˜Cô +ð 2Fò  ;ð È#õ ð
= ô =ô`ñD
7 3ð 
7°ð 
7Àõ 
7ð
˜#ô 
ð%˜Fð % tô %ð˜$ô ð¨Nð ¸tô ð*˜=ð *¨Tô *÷
/rM   r3   c                   ód  ^ • \ rS rSr% \R
                  \" S/5      -  rSr\S   \	S'   \
(       a  S\S\SS4U 4S jjr\\\\\\\S	.S
\\\4   S\\\4   S\\\4   S\\\4   S\\\4   S\\\4   S\\\4   SS 4U 4S jjjr\SS j5       r\SS j5       r\S\4S j5       rS\SS4S jrSrU =r$ )r5   iJ  Ú_match_infoNr8   r>   rI  r‡   c                 ó¾   >• XR                   ;  a>  [        R                  " SR                  U R                  R
                  U5      [        SS9  [        TU ]!  X5        g )Nz-Setting custom {}.{} attribute is discouragedrÃ   rº   )	rÆ  r¼   r½   r¨  r¤   rD   r¾   ÚsuperÚ__setattr__)r’   r>   rI  r¤   s      €rN   rÕ  ÚRequest.__setattr__R  sI   ø€ ØŸ:™:Ó%Ü—’ð%ß%+¡V¨D¯N©N×,CÑ,CÀTÓ%JÜ&Ø ò	ô ‰GÑ Õ*rM   r•   rŠ   r–   rB   r}   r~   r   r{   c          
      óp   >• [         T
U ]  UUUUUUUS9n[        [        U5      n	U R                  U	l        U	$ )Nr•   )rÔ  r©   r   r5   rÒ  )r’   rŠ   r–   rB   r}   r~   r   r{   ÚretÚnew_retr¤   s             €rN   r©   ÚRequest.clone\  sN   ø€ ô ‰g‰mØØØØØØØ+ð ð 
ˆô ”w Ó$ˆØ"×.Ñ.ˆÔØˆrM   c                 ó(   • U R                   nUc   eU$ )zResult of route resolving.)rÒ  ©r’   Ú
match_infos     rN   rÝ  ÚRequest.match_infot  s!   € ð ×%Ñ%ˆ
ØÑ%Ð%Ð%ØÐrM   c                 ó<   • U R                   nUc   eUR                  $ )zApplication instance.)rÒ  Úcurrent_apprÜ  s     rN   ÚappÚRequest.app{  s'   € ð ×%Ñ%ˆ
ØÑ%Ð%Ð%Ø×%Ñ%Ð%rM   c                 óÀ   • U R                   nUc   eUR                  nU R                  nUR                  U5      n[	        [        US US-    5      5      n[        U5      $ )Nr   )rÒ  Úappsrá  Úindexr  Úreversedr   )r’   rÝ  Úlstrá  ÚidxÚsublists         rN   Úconfig_dictÚRequest.config_dict‚  s\   € à×%Ñ%ˆ
ØÑ%Ð%Ð%Ø�o‰oˆØ�h‰hˆØ�i‰i˜‹nˆÜ”x  I c¨A¡g Ó/Ó0ˆÜ˜WÓ%Ð%rM   r´  c              ƒ   ó²   #   • U R                   nUc  g UR                   H1  nUR                  =n(       d  M  UR                  X5      I S h  v•N   M3     g  N	7frT   )rÒ  Ú_appsÚon_response_prepareÚsend)r’   r´  rÝ  rá  rî  s        rN   r¶  ÚRequest._prepare_hookŒ  sR   é € Ø×%Ñ%ˆ
ØÑØØ×#Ô#ˆCØ&)×&=Ñ&=Ð=Ð"×=Ø)×.Ñ.¨tÓ>×>Ò>ò $á>ùs   ‚1A·AÁAÁ
ArC   )r‡   r8   )r‡   r6   )rD   rE   rF   rG   r3   rÆ  rÇ  rÒ  r   rI   r   rH   r   rÕ  r$   r   r   r0   r.   rR  r©   r#   rÝ  rÊ  rá  r   rê  r2   r¶  rL   Ú__classcell__)r¤   s   @rN   r5   r5   J  sT  ø‡ à×Ñ¡	¨=¨/Ó :Ñ:€Eà37€K�Ð/Ñ0Ó7æð	+ Cð 	+¨cð 	+°d÷ 	+ð )1Ø.6Ø2:Ø(0Ø&.Ø(0Ø19òð �c˜9�nÑ%ðð �x Ð*Ñ+ð	ð
 �| YÐ.Ñ/ðð �c˜9�nÑ%ðð �C˜�NÑ#ðð �c˜9�nÑ%ðð ˜s I˜~Ñ.ðð 
÷ð ð0 óó ðð ó&ó ð&ð ð&˜]ó &ó ð&ð?¨Nð ?¸t÷ ?ò ?rM   r5   )drÈ  rÌ  rJ   rN  r   Ústringr�  ræ   r¼   Úhttp.cookiesr   r   Útypingr   r   r   r   r	   r
   r   r   r   r   r   r   Úurllib.parser   ÚattrÚ	multidictr   r   r   r   r   Úyarlr   rR   r   Úabcr   Úhelpersr   r   r   r   r   r    r!   r"   r#   r$   r%   Úhttp_parserr&   Úhttp_writerr'   r…  r(   r)   Ústreamsr*   r+   Útypedefsr,   r-   r.   r/   r0   Úweb_exceptionsr1   Úweb_responser2   Ú__all__Úweb_appr6   Úweb_protocolr7   Úweb_urldispatcherr8   Úsr4   ÚdigitsÚascii_lettersrO   rH   rI   rQ   r¨  r
  r¡   Úranger^   r_   rb   re   Úcompilerf   rg   r3   r5   rC   rM   rN   Ú<module>r
     s  ðÜ Û Û 	Û 	Û Û Û Û Û Ý %Ý "÷÷ ÷ ó õ #ã ÷õ õ å Ý %÷÷ ÷ ñ õ +Ý $ß 6ß 4÷õ õ 6Ý (à
1€ö Ý$Ý,Ý6ð ‡‚�T $¨dÑ3÷#ð #ó 4ð#ð —]‘] V×%9Ñ%9Ñ9Ð<NÑN€ˆˆc‰
Ó Nð ˜&˜ �_€ˆˆc‰
Ó $à—n‘nØ‡H�HÑKÐ/±%¹¸dÀDÓ8IÓ2JÒJÓKÓKó€ˆˆs‰ó ð )€ˆe�C‰jÓ (à=×DÑDØ ð Eð €��c‘
ó ð
 8×>Ñ>Ø Nð ?ð ð ��s‘ó ð 02¯zªz¸/Ó/JÐ ˜˜w s™|Ñ,Ó Jð +-¯*ª*°_Ó*EÐ �E˜' #™,Ñ'Ó EôQ/�.  c Ñ*¨Lô Q/ôhH?ˆkõ H?rM   