Ë
    Eü´j®x  ã                   óX  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZmZmZmZmZmZ d dlmZmZ dd	lmZmZ dd
lmZ ddl m!Z!m"Z" ddl#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. ddlm/Z/m0Z0m1Z1 ddlm2Z2 ddl3m4Z4m5Z5m6Z6 eD � ci c]  } | jn                  | jp                  “Œ c} Z9dZ:erddl;m<Z< e
e=ef   Z>nej<                  j                  Z> ed«      Z? G d„ dej€                  «      ZAeAD �ci c]  }|jn                  |“Œ c}ZB G d„ de
e=e(e   z  ef   e'«      ZC G d„ deC«      ZDe,fddddddejŠ                  dœdede=dz  deFdz  deGd e=dz  d!e6dz  d"e=d#e5d$eDfd%„ZHe,fdddddd&œded#e4deFdz  deGd e=dz  d!e6dz  d"e=d$eDfd'„ZIyc c} w c c}w )(é    N)ÚIteratorÚMutableMapping)ÚExecutor)Ú
HTTPStatus)ÚSimpleCookie)ÚTYPE_CHECKINGÚAnyÚOptionalÚTypeVarÚcastÚoverload)ÚCIMultiDictÚistré   )ÚhdrsÚpayload)ÚAbstractStreamWriter)ÚMAX_SYNC_CHUNK_SIZEÚZLibCompressor)ÚETAG_ANYÚQUOTED_ETAG_REÚETagÚHeadersMixinÚResponseKeyÚmust_be_empty_bodyÚparse_http_dateÚrfc822_formatted_timeÚsentinelÚshould_remove_content_lengthÚvalidate_etag_value)ÚSERVER_SOFTWAREÚHttpVersion10ÚHttpVersion11)ÚPayload)ÚJSONBytesEncoderÚJSONEncoderÚLooseHeaders)ÚContentCodingÚStreamResponseÚResponseÚjson_responseÚjson_bytes_response)ÚBaseRequestÚ_Tc                   ó   — e Zd ZdZdZdZy)r(   ÚdeflateÚgzipÚidentityN)Ú__name__Ú
__module__Ú__qualname__r0   r1   r2   © ó    úR/root/workspace/ytshorts/venv/lib/python3.12/site-packages/aiohttp/web_response.pyr(   r(   <   s   „ ð
 €GØ€DØ�Hr7   r(   c                   óF  ‡ — e Zd ZU dez  ez  ez  ed<   dZdZdZ	e
dz  ed<   dZe
ed<   dZe
ed<   dZedz  ed<   dZedz  ed	<   dZed
   ed<   dZedz  ed<   dZe
ed<   dZe
dz  ed<   dZdZedz  ed<   dZ e«       Zee   ed<   dddddœdededz  dedz  dee   dz  ddf
d„Z e!de
fd„«       Z"e!ddd„«       Z#e!defd„«       Z$e!de
fd„«       Z%e!de
fd„«       Z&e!defd„«       Z'	 dedededz  ddfd „Z(dededz  ddfd!„Z)e!de
dz  fd"„«       Z*dfd#„Z+e!defd$„«       Z,e!defd%„«       Z-ded&edz  ddfd'„Z.	 	 dgd(e
ez  dz  d)edz  ddfd*„Z/e!dhd+„«       Z0e!defd,„«       Z1dddd-dddddd.œ	d/ed0ed1edz  d2edz  d3eez  dz  d4ed5e
dz  d6e
dz  d7edz  d8edz  d9e
dz  ddfd:„Z2dd-dddd;œd/ed2edz  d4ed5e
dz  d6e
dz  d8edz  ddfd<„Z3e!dedz  fˆ fd=„«       Z4e4jj                  d0edz  ddfd>„«       Z4e!defˆ fd?„«       Z6e6jj                  d0eddfd@„«       Z6e!dedz  fˆ fdA„«       Z7e7jj                  d0edz  ddfdB„«       Z7e!de8jp                  dz  fdC„«       Z9e9jj                  d0ee:z  e8jp                  z  ez  dz  ddfdD„«       Z9e!de;dz  fdE„«       Z<e<jj                  d0e;ez  dz  ddfdF„«       Z<e=j|                  fdGe?ddfdH„Z@dIeddfdJ„ZAdidL„ZBdKd
dedz  fdM„ZCdKd
defdN„ZDdfdO„ZEdfdP„ZFdQeez  eGz  ddfdR„ZHdfdS„ZIdjdQeddfdT„ZJdefdU„ZKeLdVeMeN   deNfdW„«       ZOeLdVedePfdX„«       ZOdVeeMeN   z  dePfdY„ZOeLdVeMeN   d0eNddfdZ„«       ZQeLdVed0ePddfd[„«       ZQdVeeMeN   z  d0ePddfd\„ZQdVeeMeN   z  ddfd]„ZRdefd^„ZSdeTeeMeP   z     fd_„ZUdefd`„ZVdaeWde
fdb„ZXde
fdc„ZYˆ xZZS )kr)   NÚ_bodyTÚ_keep_aliveFÚ_chunkedÚ_compressionÚ_compression_strategyÚ_compression_forcer-   Ú_reqÚ_payload_writerÚ	_eof_sentÚ_must_be_empty_bodyr   Ú_cookiesÚ_seen_str_keyséÈ   )ÚstatusÚreasonÚheadersÚ_real_headersrG   rH   rI   rJ   Úreturnc                óŽ   — i | _         |�|| _        n"|�t        |«      | _        nt        «       | _        | j                  ||«       y)a;  Initialize a new stream response object.

        _real_headers is an internal parameter used to pass a pre-populated
        headers object. It is used by the `Response` class to avoid copying
        the headers when creating a new response object. It is not intended
        to be used by external code.
        N)Ú_stateÚ_headersr   Ú_set_status)ÚselfrG   rH   rI   rJ   s        r8   Ú__init__zStreamResponse.__init__`   sC   € ð :<ˆŒàÐ$Ø)ˆD�MØÐ Ü.9¸'Ó.BˆD�Mä'›MˆDŒMà×Ñ˜ Õ(r7   c                 ó:   — | j                   xs | j                  d uS ©N)rB   rA   ©rP   s    r8   ÚpreparedzStreamResponse.preparedz   s   € à�~‰~ÒA ×!5Ñ!5¸TÐ!AÐAr7   c                 óH   — | j                   r| j                   j                  S y rS   )r@   ÚtaskrT   s    r8   rW   zStreamResponse.task~   s   € à�9Š9Ø—9‘9—>‘>Ð!àr7   c                 ó   — | j                   S rS   )Ú_statusrT   s    r8   rG   zStreamResponse.status…   ó   € à�|‰|Ðr7   c                 ó   — | j                   S rS   )r<   rT   s    r8   ÚchunkedzStreamResponse.chunked‰   ó   € à�}‰}Ðr7   c                 ó   — | j                   S rS   )r=   rT   s    r8   ÚcompressionzStreamResponse.compression�   ó   € à× Ñ Ð r7   c                 ó   — | j                   S rS   )Ú_reasonrT   s    r8   rH   zStreamResponse.reason‘   rZ   r7   c                 óN   — | j                   rJ d«       ‚| j                  ||«       y )NzGCannot change the response status code after the headers have been sent)rU   rO   ©rP   rG   rH   s      r8   Ú
set_statuszStreamResponse.set_status•   s-   € ð —’ð	UàTó	UØà×Ñ˜ Õ(r7   c                 ó¬   — t        |«      | _        |€(t        j                  | j                  d«      }|| _        y d|v sd|v rt	        d«      ‚|| _        y )NÚ úú
zReason cannot contain \r or \n)ÚintrY   ÚREASON_PHRASESÚgetÚ
ValueErrorrb   rd   s      r8   rO   zStreamResponse._set_statusŸ   sS   € Ü˜6“{ˆŒØˆ>Ü#×'Ñ'¨¯©°bÓ9ˆFð ˆ�ð �V‰^˜t v™~ÜÐ?Ó@Ð@Øˆ�r7   c                 ó   — | j                   S rS   ©r;   rT   s    r8   Ú
keep_alivezStreamResponse.keep_alive§   s   € à×ÑÐr7   c                 ó   — d| _         y )NFro   rT   s    r8   Úforce_closezStreamResponse.force_close«   s
   € Ø ˆÕr7   c                 ó   — | j                   S rS   )Ú_body_lengthrT   s    r8   Úbody_lengthzStreamResponse.body_length®   r`   r7   c                 ó~   — t        j                  dt        «       | j                  sJ ‚| j                  j                  S )Nzoutput_length is deprecated)ÚwarningsÚwarnÚDeprecationWarningrA   Úbuffer_sizerT   s    r8   Úoutput_lengthzStreamResponse.output_length²   s3   € ä�‰Ð3Ô5GÔHØ×#Ò#Ð#Ð#Ø×#Ñ#×/Ñ/Ð/r7   Ú
chunk_sizec                 ó˜   — t         j                  | j                  v rt        d«      ‚|�t	        j
                  dt        «       d| _        y)z,Enables automatic chunked transfer encoding.z>You can't enable chunked encoding when a content length is setNzChunk size is deprecated #1615T)r   ÚCONTENT_LENGTHrN   ÚRuntimeErrorrw   rx   ry   r<   )rP   r|   s     r8   Úenable_chunked_encodingz&StreamResponse.enable_chunked_encoding¸   sC   € ä×Ñ $§-¡-Ñ/ÜØPóð ð Ð!Ü�M‰MÐ:Ô<NÔOØˆ�r7   ÚforceÚstrategyc                 óú   — t        |t        «      r=|rt        j                  nt        j                  }t        j                  dt        «       n|�t        |t        «      sJ d«       ‚d| _        || _	        || _
        y)z&Enables response compression encoding.z+Using boolean for force is deprecated #3318Nz1force should one of None, bool or ContentEncodingT)Ú
isinstanceÚboolr(   r0   r2   rw   rx   ry   r=   r?   r>   )rP   r�   r‚   s      r8   Úenable_compressionz!StreamResponse.enable_compressionÂ   sx   € ô �eœTÔ"Ù-2”M×)Ò)¼×8NÑ8NˆEÜ�M‰MØ=Ô?Qõð ÐÜØ”}ôð CàBóCð ð !ˆÔØ"'ˆÔØ%-ˆÕ"r7   c                 ó   — | j                   S rS   )rN   rT   s    r8   rI   zStreamResponse.headers×   r]   r7   c                 óP   — | j                   €t        «       | _         | j                   S rS   )rD   r   rT   s    r8   ÚcookieszStreamResponse.cookiesÛ   s   € à�=‰=Ð Ü(›NˆDŒMØ�}‰}Ðr7   ú/)	ÚexpiresÚdomainÚmax_ageÚpathÚsecureÚhttponlyÚversionÚsamesiteÚpartitionedÚnameÚvaluer‹   rŒ   r�   rŽ   r�   r�   r‘   r’   r“   c       	         óD  — | j                   €t        «       | _         || j                   |<   | j                   |   }|�||d<   n|j                  d«      dk(  r|d= |�||d<   |�t        |«      |d<   nd|v r|d= ||d<   |�||d<   |�||d<   |	�|	|d	<   |
�|
|d
<   |�||d<   yy)zŸSet or update response cookie.

        Sets new cookie or updates existent with new value.
        Also updates only those params which are not None.
        Nr‹   úThu, 01 Jan 1970 00:00:00 GMTrŒ   zmax-agerŽ   r�   r�   r‘   r’   r“   )rD   r   rl   Ústr)rP   r”   r•   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   r“   Úcs                r8   Ú
set_cookiezStreamResponse.set_cookieá   så   € ð( �=‰=Ð Ü(›NˆDŒMà#ˆ�‰�dÑØ�M‰M˜$ÑˆàÐØ"ˆAˆiŠLØ�U‰U�9ÓÐ!@Ò@Ø�)�àÐØ ˆAˆh‰KàÐÜ˜w›<ˆAˆiŠLØ˜!‰^Ø�)�àˆˆ&‰	àÐØ ˆAˆh‰KØÐØ$ˆAˆj‰MØÐØ"ˆAˆi‰LØÐØ$ˆAˆj‰MàÐ"Ø*ˆAˆmÒð #r7   )rŒ   rŽ   r�   r�   r’   c                óˆ   — | j                   �| j                   j                  |d«       | j                  |ddd|||||¬«	       y)zBDelete cookie.

        Creates new empty expired cookie.
        Nrg   r   r—   )r�   r‹   rŒ   rŽ   r�   r�   r’   )rD   Úpoprš   )rP   r”   rŒ   rŽ   r�   r�   r’   s          r8   Ú
del_cookiezStreamResponse.del_cookie  sN   € ð �=‰=Ð$Ø�M‰M×Ñ˜d DÔ)Ø�‰ØØØØ3ØØØØØð 	õ 
	
r7   c                 ó   •— t         ‰| �  S rS   )ÚsuperÚcontent_length©rP   Ú	__class__s    €r8   r    zStreamResponse.content_length3  s   ø€ ô ‰wÑ%Ð%r7   c                 óî   — |�It        |«      }| j                  rt        d«      ‚t        |«      | j                  t
        j                  <   y | j                  j                  t
        j                  d «       y )Nz<You can't set content length when chunked encoding is enable)rj   r<   r   r˜   rN   r   r~   rœ   ©rP   r•   s     r8   r    zStreamResponse.content_length8  s\   € àÐÜ˜“JˆEØ�}Š}Ü"ØRóð ô 25°U³ˆD�M‰Mœ$×-Ñ-Ò.à�M‰M×Ñœd×1Ñ1°4Õ8r7   c                 ó   •— t         ‰| �  S rS   )rŸ   Úcontent_typer¡   s    €r8   r¦   zStreamResponse.content_typeD  s   ø€ ô ‰wÑ#Ð#r7   c                 ó\   — | j                    t        |«      | _        | j                  «        y rS   )r¦   r˜   Ú_content_typeÚ_generate_content_type_headerr¤   s     r8   r¦   zStreamResponse.content_typeI  s#   € à×ÒÜ  ›ZˆÔØ×*Ñ*Õ,r7   c                 ó   •— t         ‰| �  S rS   )rŸ   Úcharsetr¡   s    €r8   r«   zStreamResponse.charsetO  s   ø€ ô ‰w‰Ðr7   c                 ó  — | j                   }|dk(  rt        d«      ‚| j                  €J ‚|€| j                  j                  dd «       n&t	        |«      j                  «       | j                  d<   | j                  «        y )Núapplication/octet-streamzYSetting charset for application/octet-stream doesn't make sense, setup content_type firstr«   )r¦   r   Ú_content_dictrœ   r˜   Úlowerr©   )rP   r•   Úctypes      r8   r«   zStreamResponse.charsetT  s€   € à×!Ñ!ˆØÐ.Ò.Üð?óð ð ×!Ñ!Ð-Ð-Ð-Øˆ=Ø×Ñ×"Ñ" 9¨dÕ3ä,/°«J×,<Ñ,<Ó,>ˆD×Ñ˜yÑ)Ø×*Ñ*Õ,r7   c                 óf   — t        | j                  j                  t        j                  «      «      S )zuThe value of Last-Modified HTTP header, or None.

        This header is represented as a `datetime` object.
        )r   rN   rl   r   ÚLAST_MODIFIEDrT   s    r8   Úlast_modifiedzStreamResponse.last_modifiedc  s$   € ô ˜tŸ}™}×0Ñ0´×1CÑ1CÓDÓEÐEr7   c                 óø  — |€+| j                   j                  t        j                  d «       y t	        |t
        t        f«      rXt        j                  dt        j                  t        j                  |«      «      «      | j                   t        j                  <   y t	        |t        j                  «      ru|j                  r)|j                  d¬«      t        j                  d¬«      z   }t        j                  d|j!                  «       «      | j                   t        j                  <   y t	        |t"        «      r|| j                   t        j                  <   y dt%        |«      j&                  › �}t)        |«      ‚)Nz%a, %d %b %Y %H:%M:%S GMTr   )Úmicrosecondr   )Úsecondsz$Unsupported type for last_modified: )rN   rœ   r   r²   r„   rj   ÚfloatÚtimeÚstrftimeÚgmtimeÚmathÚceilÚdatetimerµ   ÚreplaceÚ	timedeltaÚutctimetupler˜   Útyper3   Ú	TypeError)rP   r•   Úmsgs      r8   r³   zStreamResponse.last_modifiedk  s  € ð ˆ=Ø�M‰M×Ñœd×0Ñ0°$Õ7Ü˜¤¤U˜|Ô,Ü04·±Ø+¬T¯[©[¼¿¹À5Ó9IÓ-Jó1ˆD�M‰Mœ$×,Ñ,Ò-ô ˜œx×0Ñ0Ô1Ø× Ò ØŸ™°!˜Ó4´x×7IÑ7IÐRSÔ7TÑT�Ü04·±Ø+¨U×-?Ñ-?Ó-Aó1ˆD�M‰Mœ$×,Ñ,Ò-ô ˜œsÔ#Ø05ˆD�M‰Mœ$×,Ñ,Ò-à8¼¸e»×9MÑ9MÐ8NÐOˆCÜ˜C“.Ð r7   c                 ó  — | j                   j                  t        j                  «      }|sy |t        k(  rt        t        ¬«      S t        j                  |«      }|sy |j                  dd«      \  }}t        t        |«      |¬«      S )N)r•   r   é   )Úis_weakr•   )
rN   rl   r   ÚETAGr   r   r   Ú	fullmatchÚgroupr…   )rP   Úquoted_valueÚmatchrÆ   r•   s        r8   ÚetagzStreamResponse.etag�  st   € à—}‘}×(Ñ(¬¯©Ó3ˆÙØØœXÒ%ÜœhÔ'Ð'Ü×(Ñ(¨Ó6ˆÙØØŸ™ Q¨Ó*‰ˆ�ÜÜ˜“MØô
ð 	
r7   c                 óÔ  — |€+| j                   j                  t        j                  d «       y t	        |t
        «      r	|t        k(  s#t	        |t        «      r5|j                  t        k(  r"t        | j                   t        j                  <   y t	        |t
        «      r-t        |«       d|› d�| j                   t        j                  <   y t	        |t        «      ryt	        |j                  t
        «      r_t        |j                  «       |j                  rd|j                  › d�nd|j                  › d�}|| j                   t        j                  <   y t        dt        |«      › d�«      ‚)Nú"zW/"zUnsupported etag type: z . etag must be str, ETag or None)rN   rœ   r   rÇ   r„   r˜   r   r   r•   r    rÆ   rm   rÁ   )rP   r•   Ú	hdr_values      r8   rÌ   zStreamResponse.etag‘  s  € àˆ=Ø�M‰M×ÑœdŸi™i¨Õ.Ü˜¤Ô$¨´(Ò):Ü�uœdÔ#¨¯©´xÒ(?ä'/ˆD�M‰Mœ$Ÿ)™)Ò$Ü˜œsÔ#Ü Ô&Ø)*¨5¨'° |ˆD�M‰Mœ$Ÿ)™)Ò$Ü˜œtÔ$¬°E·K±KÄÔ)EÜ §¡Ô,Ø05·²˜#˜eŸk™k˜]¨!Ñ,ÀQÀuÇ{Á{ÀmÐSTÐCUˆIØ'0ˆD�M‰Mœ$Ÿ)™)Ò$äØ)¬$¨u«+¨ð 71ð 2óð r7   ÚCONTENT_TYPEc                 óü   — | j                   €J ‚| j                  €J ‚dj                  d„ | j                   j                  «       D «       «      }|r| j                  dz   |z   }n| j                  }|| j                  |<   y )Nz; c              3   ó0   K  — | ]  \  }}|› d |› �–— Œ y­w)ú=Nr6   )Ú.0ÚkÚvs      r8   ú	<genexpr>z?StreamResponse._generate_content_type_header.<locals>.<genexpr>«  s   è ø€ ÒM©$¨!¨Q˜a˜S  ! œ:ÑMùs   ‚)r®   r¨   ÚjoinÚitemsrN   )rP   rÐ   Úparamsr°   s       r8   r©   z,StreamResponse._generate_content_type_header¦  s|   € ð ×!Ñ!Ð-Ð-Ð-Ø×!Ñ!Ð-Ð-Ð-Ø—‘ÑM°$×2DÑ2D×2JÑ2JÓ2LÔMÓMˆÙØ×&Ñ&¨Ñ-°Ñ6‰Eà×&Ñ&ˆEØ&+ˆ�‰�lÒ#r7   Úcodingc              ƒ   óP  K  — |t         j                  u ry | j                  €J ‚|j                  | j                  t
        j                  <   | j                  j                  |j                  | j                  «       | j                  j                  t
        j                  d «       y ­wrS   )r(   r2   rA   r•   rN   r   ÚCONTENT_ENCODINGr†   r>   Úpopallr~   )rP   rÛ   s     r8   Ú_do_start_compressionz$StreamResponse._do_start_compression²  s€   è ø€ Ø”]×+Ñ+Ñ+ØØ×#Ñ#Ð/Ð/Ð/Ø/5¯|©|ˆ�‰”d×+Ñ+Ñ,Ø×Ñ×/Ñ/Ø�L‰L˜$×4Ñ4ô	
ð
 	�‰×ÑœT×0Ñ0°$Õ7ùs   ‚B$B&Úrequestc              ƒ   óZ  K  — | j                   r$| j                  | j                   «      ƒ d {  –—†  y |j                  j                  t        j
                  d«      j                  «       }t        j                  «       D ]$  \  }}||v sŒ| j                  |«      ƒ d {  –—†   y  y 7 Œy7 Œ
­w)Nrg   )	r?   rß   rI   rl   r   ÚACCEPT_ENCODINGr¯   ÚCONTENT_CODINGSrÙ   )rP   rà   Úaccept_encodingr•   rÛ   s        r8   Ú_start_compressionz!StreamResponse._start_compression¾  sš   è ø€ Ø×"Ò"Ø×,Ñ,¨T×-DÑ-DÓE×EÐEØð "Ÿ/™/×-Ñ-¬d×.BÑ.BÀBÓG×MÑMÓOˆÜ,×2Ñ2Ó4ò 	‰MˆE�6Ø˜Ò'Ø×0Ñ0°Ó8×8Ð8Ùñ	ð Føð 9ús(   ‚+B+­B'®AB+Â
B+ÂB)Â	B+Â)B+c              ƒ   óÔ   K  — | j                   ry | j                  �| j                  S t        |j                  | j                  «      | _        | j                  |«      ƒ d {  –—† S 7 Œ­wrS   )rB   rA   r   ÚmethodrG   rC   Ú_start)rP   rà   s     r8   ÚpreparezStreamResponse.prepareÊ  sT   è ø€ Ø�>Š>ØØ×ÑÐ+Ø×'Ñ'Ð'Ü#5°g·n±nÀdÇkÁkÓ#RˆÔ Ø—[‘[ Ó)×)Ð)Ð)ús   ‚AA(Á!A&Á"A(c              ƒ   óà   K  — || _         |j                  x}| _        | j                  «       ƒ d {  –—†  |j                  | «      ƒ d {  –—†  | j	                  «       ƒ d {  –—†  |S 7 Œ77 Œ 7 Œ
­wrS   )r@   rA   Ú_prepare_headersÚ_prepare_hookÚ_write_headers)rP   rà   Úwriters      r8   rè   zStreamResponse._startÒ  sj   è ø€ ØˆŒ	Ø(/×(?Ñ(?Ð?ˆ�Ô%à×#Ñ#Ó%×%Ð%Ø×#Ñ# DÓ)×)Ð)Ø×!Ñ!Ó#×#Ð#àˆð	 	&øØ)øØ#ús3   ‚.A.°A(±A.Á	A*Á
A.Á!A,Á"A.Á*A.Á,A.c              ƒ   óV  K  — | j                   }|€J ‚| j                  }|€J ‚| j                  }|€|j                  }|| _        |j                  }| j
                  }| j                  rT| j                  j                  «       D ]7  }|j                  d¬«      dd  }|j                  t        j                  |«       Œ9 | j                  r| j                  |«      ƒ d {  –—†  | j                  rr|t        k7  r9t!        d|j                  j"                  › d|j                  j$                  › �«      ‚| j&                  s”|j)                  «        d|t        j*                  <   np| j,                  rd| j.                  |_        |j0                  €G|t        k\  r0| j&                  s2|j)                  «        d|t        j*                  <   n| j&                  sd}| j&                  rgt        j2                  |v r1t5        |j6                  | j8                  «      r|t        j2                  = t        j*                  |v rY|t        j*                  = nG| j,                  r|j0                  n| j.                  dk7  r |j;                  t        j<                  d	«       |j;                  t        j>                  tA        «       «       |j;                  t        jB                  tD        «       t        jF                  |vr>|r|tH        k(  rd
|t        jF                  <   y y |t        k(  rd|t        jF                  <   y y y 7 �ŒJ­w)Nrg   )Úheaderr   z-Using chunked encoding is forbidden for HTTP/ú.r\   Fr   r­   z
keep-aliveÚclose)%r@   rA   r;   rp   r‘   rN   rD   ÚvaluesÚoutputÚaddr   Ú
SET_COOKIEr=   rå   r<   r#   r   ÚmajorÚminorrC   Úenable_chunkingÚTRANSFER_ENCODINGÚ_length_checkr    Úlengthr~   r   rç   rG   Ú
setdefaultrÐ   ÚDATEr   ÚSERVERr!   Ú
CONNECTIONr"   )rP   rà   rî   rp   r‘   rI   Úcookier•   s           r8   rë   zStreamResponse._prepare_headersÜ  sª  è ø€ Ø—)‘)ˆØÐ"Ð"Ð"Ø×%Ñ%ˆØÐ!Ð!Ð!Ø×%Ñ%ˆ
ØÐØ ×+Ñ+ˆJØ%ˆÔà—/‘/ˆà—-‘-ˆØ�=Š=ØŸ-™-×.Ñ.Ó0ò 4�ØŸ™¨R˜Ó0°°Ð4�Ø—‘œDŸO™O¨UÕ3ð4ð ×ÒØ×)Ñ)¨'Ó2×2Ð2à�=Š=Øœ-Ò'Ü"ð Ø '§¡× 5Ñ 5Ð6°a¸¿¹×8MÑ8MÐ7NðPóð ð ×+Ò+Ø×&Ñ&Ô(Ø2;�œ×.Ñ.Ò/Ø×ÒØ ×/Ñ/ˆFŒMØ�}‰}Ð$ØœmÒ+Ø×3Ò3Ø×.Ñ.Ô0Ø:C˜¤× 6Ñ 6Ò7Ø×1Ò1Ø!&�Jð ×#Ò#Ü×"Ñ" gÑ-Ô2NØ—‘ §¡ô3ð œD×/Ñ/Ð0ô ×%Ñ%¨Ñ0ØœD×2Ñ2Ñ3Ø#×1Ò1ˆf�mŠm°t×7JÑ7JÈqÒPà×Ñœt×0Ñ0Ð2LÔMØ×Ñœ4Ÿ9™9Ô&;Ó&=Ô>Ø×Ñœ4Ÿ;™;¬Ô8ô �?‰? 'Ñ)ÙØœmÒ+Ø/;�GœDŸO™OÒ,ð ,àœMÒ)Ø+2�œŸ™Ò(ð *ð	 *ðO 3ûs   ‚CL)ÃL&ÃI
L)c              ƒ   ó:  K  — | j                   }|€J ‚| j                  }|€J ‚|j                  }d|d   › d|d   › d| j                  › d| j                  › �}|j                  || j                  «      ƒ d {  –—†  | j                  r|j                  «        y y 7 Œ"­w)NzHTTP/r   rñ   r   ú )	r@   rA   r‘   rY   rb   Úwrite_headersrN   Ú_send_headers_immediatelyÚsend_headers)rP   rà   rî   r‘   Ústatus_lines        r8   rí   zStreamResponse._write_headers  s¢   è ø€ Ø—)‘)ˆØÐ"Ð"Ð"Ø×%Ñ%ˆØÐ!Ð!Ð!à—/‘/ˆØ˜g a™j˜\¨¨7°1©:¨,°a¸¿¹°~ÀQÀtÇ|Á|ÀnÐUˆØ×"Ñ" ;°·±Ó>×>Ð>à×)Ò)Ø×ÑÕ!ð *ð 	?ús   ‚A4BÁ6BÁ7#BÚdatac              ƒ   ó  K  — t        |t        t        t        f«      sJ dt	        |«      z  «       ‚| j
                  rt        d«      ‚| j                  €t        d«      ‚| j                  j                  |«      ƒ d {  –—†  y 7 Œ­w)Nú#data argument must be byte-ish (%r)z%Cannot call write() after write_eof()z$Cannot call write() before prepare())	r„   ÚbytesÚ	bytearrayÚ
memoryviewrÁ   rB   r   rA   Úwrite©rP   r  s     r8   r  zStreamResponse.write*  s|   è ø€ ÜØ”5œ)¤ZÐ0ô
ð 	>à0´4¸³:Ñ=ó	>ð 
ð �>Š>ÜÐFÓGÐGØ×ÑÐ'ÜÐEÓFÐFà×"Ñ"×(Ñ(¨Ó.×.Ò.ús   ‚A;BÁ=BÁ>Bc              ƒ   óØ   K  — | j                   rJ d«       ‚| j                  €J d«       ‚t        j                  dt        d¬«       | j                  j                  «       ƒ d {  –—†  y 7 Œ­w)NzEOF has already been sentúResponse has not been startedz2drain method is deprecated, use await resp.write()rÅ   )Ú
stacklevel)rB   rA   rw   rx   ry   ÚdrainrT   s    r8   r  zStreamResponse.drain6  s`   è ø€ Ø—>’>Ð>Ð#>Ó>Ð!Ø×#Ñ#Ð/ÐPÐ1PÓPÐ/Ü�‰Ø@ÜØõ	
ð
 ×"Ñ"×(Ñ(Ó*×*Ò*ús   ‚A A*Á"A(Á#A*c              ƒ   óR  K  — t        |t        t        t        f«      sJ dt	        |«      z  «       ‚| j
                  ry | j                  €J d«       ‚| j                  j                  |«      ƒ d {  –—†  d| _        d | _        | j                  j                  | _
        d | _        y 7 Œ5­w)Nr
  r  T)r„   r  r  r  rÁ   rB   rA   Ú	write_eofr@   Úoutput_sizert   r  s     r8   r  zStreamResponse.write_eof@  s¢   è ø€ ÜØ”5œ)¤ZÐ0ô
ð 	>à0´4¸³:Ñ=ó	>ð 
ð �>Š>Øà×#Ñ#Ð/ÐPÐ1PÓPÐ/à×"Ñ"×,Ñ,¨TÓ2×2Ð2ØˆŒØˆŒ	Ø ×0Ñ0×<Ñ<ˆÔØ#ˆÕð	 	3ús   ‚A-B'Á/B%Á06B'c                 ó  — | j                   rd}nM| j                  r?| j                  €J ‚| j                  j                  › d| j                  j                  › d�}nd}d| j
                  j                  › d| j                  › d|› d�S )NÚeofr  znot preparedú<ú>)rB   rU   r@   rç   rŽ   r¢   r3   rH   )rP   Úinfos     r8   Ú__repr__zStreamResponse.__repr__P  sz   € Ø�>Š>Ø‰DØ�]Š]Ø—9‘9Ð(Ð(Ð(Ø—i‘i×&Ñ&Ð' q¨¯©¯©Ð(8¸Ð:‰Dà!ˆDØ�4—>‘>×*Ñ*Ð+¨1¨T¯[©[¨M¸¸4¸&ÀÐBÐBr7   Úkeyc                  ó   — y rS   r6   ©rP   r  s     r8   Ú__getitem__zStreamResponse.__getitem__Z  s   € Ø7:r7   c                  ó   — y rS   r6   r  s     r8   r   zStreamResponse.__getitem__]  s   € Ø,/r7   c                 ó    — | j                   |   S rS   ©rM   r  s     r8   r   zStreamResponse.__getitem__`  s   € Ø�{‰{˜3ÑÐr7   c                  ó   — y rS   r6   ©rP   r  r•   s      r8   Ú__setitem__zStreamResponse.__setitem__c  s   € ØDGr7   c                  ó   — y rS   r6   r%  s      r8   r&  zStreamResponse.__setitem__f  s   € Ø9<r7   c                 óà   — t        |t        «      sO|t        j                  vr=ddlm} t        j                  j                  |«       t        j                  d|d¬«       || j                  |<   y )Nr   )ÚNotAppKeyWarningz„It is recommended to use web.ResponseKey instances for keys.
https://docs.aiohttp.org/en/stable/web_advanced.html#response-s-storagerÅ   )Úcategoryr  )
r„   r   r)   rE   Úweb_exceptionsr)  rõ   rw   rx   rM   )rP   r  r•   r)  s       r8   r&  zStreamResponse.__setitem__i  s\   € ä˜3¤Ô,Øœ>×8Ñ8Ñ8õ 9ä×)Ñ)×-Ñ-¨cÔ2Ü�M‰Mð(ð *Øõð !ˆ�‰�CÒr7   c                 ó   — | j                   |= y rS   r#  r  s     r8   Ú__delitem__zStreamResponse.__delitem__{  s   € Ø�K‰K˜Ñr7   c                 ó,   — t        | j                  «      S rS   )ÚlenrM   rT   s    r8   Ú__len__zStreamResponse.__len__~  s   € Ü�4—;‘;ÓÐr7   c                 ó,   — t        | j                  «      S rS   )ÚiterrM   rT   s    r8   Ú__iter__zStreamResponse.__iter__�  s   € Ü�D—K‘KÓ Ð r7   c                 ó*   — t        t        | «      «      S rS   )ÚhashÚidrT   s    r8   Ú__hash__zStreamResponse.__hash__„  s   € Ü”B�t“H‹~Ðr7   Úotherc                 ó
   — | |u S rS   r6   )rP   r8  s     r8   Ú__eq__zStreamResponse.__eq__‡  s   € Ø�uˆ}Ðr7   c                  ó   — y)NTr6   rT   s    r8   Ú__bool__zStreamResponse.__bool__Š  s   € Ør7   )rK   zasyncio.Task[None] | NonerS   )rK   N)NN)rK   zCIMultiDict[str])rà   r-   rK   N©r7   )[r3   r4   r5   r  r  r$   Ú__annotations__rû   r:   r;   r…   r<   r=   r>   rj   r?   r(   r@   r
   rA   r   rB   rC   rt   rD   r   r  ÚsetrE   r˜   r'   r   rQ   ÚpropertyrU   rW   rG   r\   r_   rH   re   rO   rp   rr   ru   r{   r€   r†   rI   r‰   rš   r�   r    Úsetterr¦   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-  r0  r   r3  r7  Úobjectr:  r<  Ú__classcell__©r¢   s   @r8   r)   r)   M   sh  ø… à�%‰<˜)Ñ# gÑ-Ó-Ø€MØ€EØ#€K�˜‘Ó#Ø€HˆdÓØ€L�$ÓØ(,Ð˜3 ™:Ó,Ø/3Ð˜¨Ñ,Ó3Ø$(€Dˆ(�=Ñ
!Ó(Ø37€OÐ)¨DÑ0Ó7Ø€IˆtÓØ'+Ð˜ ™Ó+Ø€LØ$(€Hˆl˜TÑ!Ó(Ø $ÐÙ"›u€N�C˜‘HÓ$ð
 Ø!Ø'+Ø15ò)ð ð)ð �d‘
ð	)ð
  Ñ$ð)ð # 3Ñ'¨$Ñ.ð)ð 
ó)ð4 ðB˜$ò Bó ðBð òó ðð ð˜ò ó ðð ð˜ò ó ðð ð!˜Tò !ó ð!ð ð˜ò ó ðð "ñ)àð)ð �d‘
ð)ð 
ó	)ð #ð ¨s°T©zð ¸dó ð ð ˜D 4™Kò  ó ð ó!ð ð!˜Sò !ó ð!ð ð0˜sò 0ó ð0ñ
°#¸±*ð Èó ð .2Ø#ñ.à�mÑ# dÑ*ð.ð ˜‘*ð.ð 
ó	.ð* òó ðð ð˜ò ó ðð #Ø!Ø$(ØØ"Ø $Ø"Ø#Ø#'ò3+àð3+ð ð3+ð
 �t‘ð3+ð �d‘
ð3+ð �s‘˜TÑ!ð3+ð ð3+ð �t‘ð3+ð ˜‘+ð3+ð �t‘ð3+ð ˜‘*ð3+ð ˜D‘[ð3+ð 
ó3+ðr "ØØ"Ø $Ø#ò
àð
ð �d‘
ð	
ð
 ð
ð �t‘ð
ð ˜‘+ð
ð ˜‘*ð
ð 
ó
ð: ð&  d¡
ô &ó ð&ð ×Ñð	9 C¨$¡Jð 	9°4ò 	9ó ð	9ð ð$˜cô $ó ð$ð ×Ñð- #ð -¨$ò -ó ð-ð
 ð˜˜t™ô ó ðð ‡^�^ð-˜S 4™Zð -¨Dò -ó ð-ð ðF˜x×0Ñ0°4Ñ7ò Fó ðFð ×Ñð!Ø˜5‘[ 8×#4Ñ#4Ñ4°sÑ:¸TÑAð!à	ò!ó ð!ð* ð
�d˜T‘kò 
ó ð
ð 
‡[�[ð˜$ ™* tÑ+ð °ò ó ðð* $(×#4Ñ#4ñ
,Ø ð
,à	ó
,ð
8°-ð 
8ÀDó 
8ó
ð* ]ð *Ð7KÈdÑ7Ró *ð Mð Ð6Jó ó?3óB"ð
/ ¨	Ñ 1°JÑ >ð 
/À4ó 
/ó+ñ$ Eð $°Dó $ð C˜#ó Cð Ø:˜{¨2™Ð:°2Ò:ó Ø:àØ/˜sÐ/ sÒ/ó Ø/ð ˜s [°¡_Ñ4ð  ¸ó  ð ØG˜{¨2™ÐG°rÐG¸dÒGó ØGàØ<˜sÐ<¨3Ð<°4Ò<ó Ø<ð!˜s [°¡_Ñ4ð !¸Sð !ÀTó !ð$˜s [°¡_Ñ4ð ¸ó ð ˜ó  ð!˜( 3¨°SÑ)9Ñ#9Ñ:ó !ð˜#ó ð˜Fð  tó ð˜$÷ r7   r)   c                   óÊ  ‡ — e Zd ZU dZedz  ed<   dZdddddddeddœ	dede	de
dz  d	e
dz  d
edz  de
dz  de
dz  de	dedz  ddfˆ fd„Zedeez  ez  dz  fd„«       Zej$                  deddfd„«       Zede
dz  fd„«       Zej$                  d	e
ddfd„«       Zede	dz  fd„«       Zej$                  de	dz  ddfd„«       Zddeddfˆ fd„Zdddefˆ fd„Zdeddfˆ fd„Zˆ xZS ) r*   NÚ_compressed_bodyFrF   )	ÚbodyrG   rH   ÚtextrI   r¦   r«   Úzlib_executor_sizeÚzlib_executorrG  rG   rH   rH  rI   r¦   r«   rI  rJ  rK   c       	         óV  •— |�|�t        d«      ‚|€t        «       }
nt        |«      }
|�d|v rt        d«      ‚|�}t        j                  |
v r|s|r§t        d«      ‚t	        |t
        «      st        dt        |«      z  «      ‚|€d}|€d}|dz   |z   |
t        j                  <   |j                  |«      }d }n@t        j                  |
v r|€|�*t        d«      ‚|�|�|d|z   z  }||
t        j                  <   t        ‰| �)  |||
¬	«       |�|| _        n|| _        || _        |	| _        y )
Nz&body and text are not allowed togetherr«   z,charset must not be in content_type argumentzPpassing both Content-Type header and content_type or charset params is forbiddenútext argument must be str (%r)ú
text/plainúutf-8z
; charset=)rG   rH   rJ   )rm   r   r   rÐ   r„   r˜   rÂ   rÁ   ÚencoderŸ   rQ   rH  rG  Ú_zlib_executor_sizeÚ_zlib_executor)rP   rG  rG   rH   rH  rI   r¦   r«   rI  rJ  Úreal_headersr¢   s              €r8   rQ   zResponse.__init__“  sj  ø€ ð Ð Ð 0ÜÐEÓFÐFàˆ?Ü-8«]‰Lä& wÓ/ˆLàÐ#¨	°\Ñ(AÜÐKÓLÐLàÐÜ× Ñ  LÑ0Ù¡7Ü$ð'óð ô " $¬Ô,Ü#Ð$DÄtÈDÃzÑ$QÓRÐRØÐ'Ø#/�LØ�?Ø%�GØ2>ÀÑ2MÐPWÑ2W�œT×.Ñ.Ñ/Ø—{‘{ 7Ó+�Ø‘Ü×Ñ ,Ñ.ØÐ'¨7Ð+>Ü ð#óð ð
 Ð%ØÐ"Ø ¨wÑ 6Ñ6�Ø.:ˆLœ×*Ñ*Ñ+ä‰Ñ ¨vÀ\ÐÔRàÐØˆD�IàˆDŒIà#5ˆÔ Ø+ˆÕr7   c                 ó   — | j                   S rS   )r:   rT   s    r8   rG  zResponse.bodyÔ  s   € à�z‰zÐr7   c                 ó  — |€d | _         d | _        y t        |t        t        f«      r|| _         d | _        y 	 t        j
                  j                  |«      x| _         }| j                  }t        j                  |vr|j                  |t        j                  <   |j                  r,|j                  j                  «       D ]  \  }}||vsŒ|||<   Œ d | _        y # t        j                  $ r t        dt        |«      z  «      ‚w xY w)NzUnsupported body type %r)r:   r„   r  r  r   ÚPAYLOAD_REGISTRYrl   ÚLookupErrorrm   rÁ   rN   r   rÐ   r¦   rI   rÙ   rF  )rP   rG  rI   r  r•   s        r8   rG  zResponse.bodyØ  s   € àˆ<ØˆDŒJð* !%ˆÕô) ˜œu¤iÐ0Ô1ØˆDŒJð& !%ˆÕð#JÜ$+×$<Ñ$<×$@Ñ$@ÀÓ$FÐF�”
˜Tð —m‘mˆGô × Ñ ¨Ñ/Ø-1×->Ñ->�œ×)Ñ)Ñ*ð �|Š|Ø"&§,¡,×"4Ñ"4Ó"6ò -‘J�C˜Ø 'Ò)Ø',˜ šð-ð !%ˆÕøô ×&Ñ&ò JÜ Ð!;¼dÀ4»jÑ!HÓIÐIðJús   ¸&C Ã+Dc                 ón   — | j                   €y | j                   j                  | j                  xs d«      S )NrN  )r:   Údecoder«   rT   s    r8   rH  zResponse.textò  s/   € à�:‰:ÐØð �z‰z× Ñ  §¡Ò!8°Ó9Ð9r7   c                 óî   — |�#t        |t        «      sJ dt        |«      z  «       ‚| j                  dk(  rd| _        | j                  €d| _        |j                  | j                  «      | _        d | _        y )NrL  r­   rM  rN  )r„   r˜   rÁ   r¦   r«   rO  r:   rF  )rP   rH  s     r8   rH  zResponse.textû  st   € àˆ|œzØ”#ô 
ð 	9à+¬d°4«jÑ8ó	9ð 
ð ×ÑÐ :Ò:Ø ,ˆDÔØ�<‰<ÐØ"ˆDŒLà—[‘[ §¡Ó.ˆŒ
Ø $ˆÕr7   c                 ó\  — | j                   ry t        j                  | j                  v r&t	        | j                  t        j                     «      S | j
                  �t        | j
                  «      S t        | j                  t        «      ry | j                  �t        | j                  «      S y)Nr   )
r<   r   r~   rN   rj   rF  r/  r„   r:   r$   rT   s    r8   r    zResponse.content_length	  s�   € à�=Š=Øä×Ñ $§-¡-Ñ/Ü�t—}‘}¤T×%8Ñ%8Ñ9Ó:Ð:à× Ñ Ð,ä�t×,Ñ,Ó-Ð-Ü˜Ÿ
™
¤GÔ,àØ�Z‰ZÐ#Ü�t—z‘z“?Ð"àr7   r•   c                 ó   — t        d«      ‚)Nz#Content length is set automatically)r   r¤   s     r8   r    zResponse.content_length  s   € äÐ@ÓAÐAr7   r  c              ƒ   ó¼  •K  — | j                   ry | j                  €| j                  }n| j                  }|r
J d|›�«       ‚| j                  €J ‚| j                  €J ‚|�| j
                  rt        ‰| �  «       ƒ d {  –—†  y t        | j                  t        «      rg	 | j                  j                  | j                  «      ƒ d {  –—†  | j                  j                  «       ƒ d {  –—†  t        ‰| �  «       ƒ d {  –—†  y t        ‰| �  t        t        |«      «      ƒ d {  –—†  y 7 Œ¬7 Œe7 ŒE# | j                  j                  «       ƒ d {  –—†7   w xY w7 ŒY7 Œ5­w)Nzdata arg is not supported, got )rB   rF  r:   r@   rA   rC   rŸ   r  r„   r$   r  rò   r   r  )rP   r  rG  r¢   s      €r8   r  zResponse.write_eof   s%  øè ø€ Ø�>Š>ØØ× Ñ Ð(Ø—:‘:‰Dà×(Ñ(ˆDÙÐCÐ:¸4¸(ÐCÓCˆxØ�y‰yÐ$Ð$Ð$Ø×#Ñ#Ð/Ð/Ð/Øˆ<˜4×3Ò3Ü‘'Ñ#Ó%×%Ñ%Ü˜Ÿ
™
¤GÔ,ð)Ø—j‘j×&Ñ& t×';Ñ';Ó<×<Ð<à—j‘j×&Ñ&Ó(×(Ð(Ü‘'Ñ#Ó%×%Ñ%ä‘'Ñ#¤D¬°Ó$5Ó6×6Ñ6ð &øð =øà(ù�d—j‘j×&Ñ&Ó(×(Ò(úØ%øà6úsx   ƒA:EÁ=D*Á>EÂ(D0 ÃD,ÃD0 ÃEÃ(D.Ã)EÃ>EÃ?%EÄ$EÄ%EÄ,D0 Ä.EÄ0EÅEÅEÅEÅErà   r-   c              ƒ   ó¬  •K  — t         j                  | j                  v r<t        |j                  | j
                  «      rû| j                  t         j                  = nß| j                  sÓt        | j                  t        «      r?| j                  j                  x}�¡t        |«      | j                  t         j                  <   nz| j                  rt        | j                  «      nd}|dk7  s,| j
                  dk7  rC|j                  t         j                  k7  r&t        |«      | j                  t         j                  <   t        ‰| �=  |«      ƒ d {  –—† S 7 Œ­w)NÚ0i0  )r   r~   rN   r   rç   rG   r<   r„   r:   r$   Úsizer˜   r/  Ú	METH_HEADrŸ   rè   )rP   rà   r_  Úbody_lenr¢   s       €r8   rè   zResponse._start5  sá   øè ø€ Ü×Ñ $§-¡-Ñ/Ü+¨G¯N©N¸D¿K¹KÔHØ—M‘M¤$×"5Ñ"5Ñ6Ø—’Ü˜$Ÿ*™*¤gÔ.Ø ŸJ™JŸO™OÐ+�DÐ8Ü9<¸T»�D—M‘M¤$×"5Ñ"5Ò6à.2¯jªjœ3˜tŸz™zœ?¸c�à˜s’?Ø—K‘K 3Ò&¨7¯>©>¼T¿^¹^Ò+Kä9<¸X»�D—M‘M¤$×"5Ñ"5Ñ6ä‘W‘^ GÓ,×,Ð,Ð,ús   ƒE
EÅEÅErÛ   c              ƒ   ó\  •K  — | j                   st        | j                  t        «      rt        ‰| �  |«      ƒ d {  –—† S |t        j                  u ry t        |j                  | j                  | j                  ¬«      }| j                  €J ‚|j                  | j                  «      ƒ d {  –—† |j                  «       z   | _        |j                  | j                  t         j"                  <   t%        t'        | j                  «      «      | j                  t         j(                  <   y 7 Œë7 Œ}­w)N)ÚencodingÚmax_sync_chunk_sizeÚexecutor)r<   r„   r:   r$   rŸ   rß   r(   r2   r   r•   rP  rQ  ÚcompressÚflushrF  rN   r   rÝ   r˜   r/  r~   )rP   rÛ   Ú
compressorr¢   s      €r8   rß   zResponse._do_start_compressionG  sê   øè ø€ Ø�=Š=œJ t§z¡z´7Ô;Ü™Ñ6°vÓ>×>Ð>Ø”]×+Ñ+Ñ+Øô $Ø—\‘\Ø $× 8Ñ 8Ø×(Ñ(ô
ˆ
ð
 �z‰zÐ%Ð%Ð%à×%Ñ% d§j¡jÓ1×1°J×4DÑ4DÓ4FÑFð 	Ôð 06¯|©|ˆ�‰”d×+Ñ+Ñ,Ü-0´°T×5JÑ5JÓ1KÓ-Lˆ�‰”d×)Ñ)Ò*ð ?øð 2ús#   ƒ9D,¼D(½A/D,Â,D*Â-A<D,Ä*D,r=  )r3   r4   r5   rF  r  r>  r  r   r	   rj   r˜   r'   r   rQ   r@  r  r$   rG  rA  rH  r    r  r   rè   r(   rß   rC  rD  s   @r8   r*   r*   Ž  sß  ø… à%)Ð�e˜d‘lÓ)Ø %Ðð
 ØØ!ØØ'+Ø#'Ø"Ø"5Ø)-ò?,ð ð?,ð ð	?,ð
 �d‘
ð?,ð �D‰jð?,ð  Ñ$ð?,ð ˜D‘jð?,ð �t‘ð?,ð  ð?,ð   $‘ð?,ð 
õ?,ðB ð�e˜iÑ'¨'Ñ1°DÑ8ò ó ðð 
‡[�[ð%˜ð % ò %ó ð%ð2 ð:�c˜D‘jò :ó ð:ð 
‡[�[ð%˜ð % ò %ó ð%ð ð  d¡
ò ó ðð$ ×ÑðB C¨$¡Jð B°4ò Bó ðBñ7 Eð 7°Dõ 7ð*- Mð -Ð6Jõ -ð$M°-ð MÀD÷ Mñ Mr7   r*   rF   zapplication/json)rH  rG  rG   rH   rI   r¦   Údumpsr  rH  rG  rG   rH   rI   r¦   ri  rK   c                ób   — | t         ur|s|rt        d«      ‚ || «      }t        ||||||¬«      S )Nz3only one of data, text, or body should be specified)rH  rG  rG   rH   rI   r¦   ©r   rm   r*   )r  rH  rG  rG   rH   rI   r¦   ri  s           r8   r+   r+   [  sE   € ð ”8ÑÙ‘4ÜÐRÓSÐSá˜“;ˆDÜØØØØØØ!ôð r7   ©rG  rG   rH   rI   r¦   c                ó\   — | t         ur|�t        d«      ‚ || «      }t        |||||¬«      S )z¶Create a JSON response using a bytes-returning encoder.

    Use this when your JSON encoder (like orjson) returns bytes
    instead of str, avoiding the encode/decode overhead.
    z,only one of data or body should be specifiedrl  rk  )r  ri  rG  rG   rH   rI   r¦   s          r8   r,   r,   u  sC   € ð ”8ÑØÐÜÐKÓLÐLá˜“;ˆDÜØØØØØ!ôð r7   )JÚasyncioÚcollections.abcÚcollectionsr½   ÚenumÚjsonr»   r¸   rw   r   r   Úconcurrent.futuresr   Úhttpr   Úhttp.cookiesr   Útypingr   r	   r
   r   r   r   Ú	multidictr   r   rg   r   r   Úabcr   Úcompression_utilsr   r   Úhelpersr   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   Útypedefsr%   r&   r'   r•   Úphraserk   Ú__all__Úweb_requestr-   r˜   Ú	BaseClassr.   ÚEnumr(   rã   r)   r*   ri  r  rj   r+   r,   )Úhttp_statusrÛ   s   00r8   ú<module>r‚     s7  ðÛ Û Û Û Û Û Û Û ß 4Ý 'Ý Ý %ß H× Hç 'ç Ý %ß B÷÷ ÷ ñ ÷ @Ñ ?Ý ß AÑ AàKUÖV¸K�+×#Ñ# [×%7Ñ%7Ñ7ÒV€ð€ñ Ý(à˜s C˜xÑ(�Ià—‘×.Ñ.€Iñ ˆTƒ]€ô�D—I‘Iô ð 7DÖD¨F�6—<‘< Ñ'ÒD€ô~�^ C¨+°cÑ*:Ñ$:¸CÐ$?Ñ@À,ô ~ôBJMˆ~ô JMð\ ðð ØØØØ#'Ø*ØŸ™òØ
ðð �‰*ðð �$‰,ð	ð
 ðð �$‰Jðð ˜DÑ ðð ðð ðð óð6 ðð ØØØ#'Ø*òØ
ðð ðð �$‰,ð	ð
 ðð �$‰Jðð ˜DÑ ðð ðð ôùòa WùòB Es   Â!F"ÄF'