Ë
    CØïiel  ã                   ó>  — 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
 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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! ddl"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-m.Z.m/Z/ ddlm0Z0 ddl1m2Z2m3Z3 dZ4erddl5m6Z6 ee7ef   Z8nej<                  j(                  Z8 G d„ dejr                  «      Z: G d„ de8e&«      Z; G d„ de;«      Z<e*fddddddejz                  dœdedee7   dee>   de?dee7   dee3   d e7d!e2d"e<fd#„Z@y)$é    N)ÚExecutor)Ú
HTTPStatus)ÚSimpleCookie)ÚTYPE_CHECKINGÚAnyÚDictÚIteratorÚMutableMappingÚOptionalÚUnionÚcast)ÚCIMultiDictÚistré   )ÚhdrsÚpayload)ÚAbstractStreamWriter)ÚZLibCompressor)
ÚETAG_ANYÚQUOTED_ETAG_REÚETagÚHeadersMixinÚmust_be_empty_bodyÚparse_http_dateÚrfc822_formatted_timeÚsentinelÚshould_remove_content_lengthÚvalidate_etag_value)ÚSERVER_SOFTWAREÚHttpVersion10ÚHttpVersion11)ÚPayload)ÚJSONEncoderÚLooseHeaders)ÚContentCodingÚStreamResponseÚResponseÚjson_response)ÚBaseRequestc                   ó   — e Zd ZdZdZdZy)r%   ÚdeflateÚgzipÚidentityN)Ú__name__Ú
__module__Ú__qualname__r+   r,   r-   © ó    úN/var/www/html/aiagents/fe/lib/python3.12/site-packages/aiohttp/web_response.pyr%   r%   7   s   „ ð
 €GØ€DØ�Hr2   r%   c                   ó$  ‡ — e Zd ZdZddddœdedee   dee   ddfd	„Ze	de
fd
„«       Ze	dMd„«       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	 dNdedee   ddfd„Ze	dee
   fd„«       ZdOd„Ze	defd„«       Ze	defd„«       ZdNdee   ddfd„Z	 dNdeee
ef      ddfd„Ze	dPd„«       Ze	defd„«       Zdddddddddœdededee   d ee   d!eeeef      d"ed#ee
   d$ee
   d%ee   d&ee   ddfd'„Zddd(œded ee   d"eddfd)„Ze	dee   fˆ fd*„«       Zej@                  dee   ddfd+„«       Ze	defˆ fd,„«       Z!e!j@                  deddfd-„«       Z!e	dee   fˆ fd.„«       Z"e"j@                  dee   ddfd/„«       Z"e	dee#jF                     fd0„«       Z$e$j@                  deeee%e#jF                  ef      ddfd1„«       Z$e	dee&   fd2„«       Z'e'j@                  deee&ef      ddfd3„«       Z'e(jR                  fd4e*ddfd5„Z+d6eddfd7„Z,dQd:„Z-d8d9dee.   fd;„Z/d8d9de.fd<„Z0dOd=„Z1dOd>„Z2d?e3ddfd@„Z4dOdA„Z5dRd?e3ddfdB„Z6defdC„Z7dDede8fdE„Z9dDede8ddfdF„Z:dDeddfdG„Z;defdH„Z<de=e   fdI„Z>defdJ„Z?dKe@de
fdL„ZAˆ xZBS )Sr&   TéÈ   N©ÚstatusÚreasonÚheadersr7   r8   r9   Úreturnc                ó$  — d | _         d | _        d| _        d| _        d | _        t        «       | _        d | _        d | _        d| _	        d | _
        d| _        i | _        |�t        |«      | _        nt        «       | _        | j                  ||«       y )NFr   )Ú_bodyÚ_keep_aliveÚ_chunkedÚ_compressionÚ_compression_forcer   Ú_cookiesÚ_reqÚ_payload_writerÚ	_eof_sentÚ_must_be_empty_bodyÚ_body_lengthÚ_stater   Ú_headersÚ
set_status)Úselfr7   r8   r9   s       r3   Ú__init__zStreamResponse.__init__J   s‰   € ð ˆŒ
Ø+/ˆÔØˆŒØ!ˆÔØ;?ˆÔÜ$›ˆŒà+/ˆŒ	Ø?CˆÔØˆŒØ37ˆÔ ØˆÔØ&(ˆŒàÐÜ.9¸'Ó.BˆD�Mä'›MˆDŒMà�‰˜ Õ'r2   c                 ó   — | j                   d uS ©N)rC   ©rJ   s    r3   ÚpreparedzStreamResponse.preparedf   s   € à×#Ñ#¨4Ð/Ð/r2   c                 óH   — | j                   r| j                   j                  S y rM   )rB   ÚtaskrN   s    r3   rQ   zStreamResponse.taskj   s   € à�9Š9Ø—9‘9—>‘>Ð!àr2   c                 ó   — | j                   S rM   )Ú_statusrN   s    r3   r7   zStreamResponse.statusq   ó   € à�|‰|Ðr2   c                 ó   — | j                   S rM   )r>   rN   s    r3   ÚchunkedzStreamResponse.chunkedu   ó   € à�}‰}Ðr2   c                 ó   — | j                   S rM   )r?   rN   s    r3   ÚcompressionzStreamResponse.compressiony   ó   € à× Ñ Ð r2   c                 ó   — | j                   S rM   )Ú_reasonrN   s    r3   r8   zStreamResponse.reason}   rT   r2   c                 óÜ   — | j                   rJ d«       ‚t        |«      | _        |€(	 t        | j                  «      j                  }|| _        y || _        y # t
        $ r d}Y || _        y w xY w)NzGCannot change the response status code after the headers have been sentÚ )rO   ÚintrS   r   ÚphraseÚ
ValueErrorr\   )rJ   r7   r8   s      r3   rI   zStreamResponse.set_status�   sr   € ð
 —=’=ð 	
ØXó	
Ð ô ˜6“{ˆŒØˆ>ðÜ# D§L¡LÓ1×8Ñ8�ð ˆ��vˆ�øô ò Ø‘Øˆ�ðús   §A ÁA+Á*A+c                 ó   — | j                   S rM   ©r=   rN   s    r3   Ú
keep_alivezStreamResponse.keep_alive‘   s   € à×ÑÐr2   c                 ó   — d| _         y )NFrc   rN   s    r3   Úforce_closezStreamResponse.force_close•   s
   € Ø ˆÕr2   c                 ó   — | j                   S rM   )rF   rN   s    r3   Úbody_lengthzStreamResponse.body_length˜   rZ   r2   c                 ó~   — t        j                  dt        «       | j                  sJ ‚| j                  j                  S )Nzoutput_length is deprecated)ÚwarningsÚwarnÚDeprecationWarningrC   Úbuffer_sizerN   s    r3   Úoutput_lengthzStreamResponse.output_lengthœ   s3   € ä�‰Ð3Ô5GÔHØ×#Ò#Ð#Ð#Ø×#Ñ#×/Ñ/Ð/r2   Ú
chunk_sizec                 óš   — d| _         t        j                  | j                  v rt	        d«      ‚|�t        j                  dt        «       yy)z,Enables automatic chunked transfer encoding.Tz>You can't enable chunked encoding when a content length is setNzChunk size is deprecated #1615)r>   r   ÚCONTENT_LENGTHrH   ÚRuntimeErrorrj   rk   rl   )rJ   ro   s     r3   Úenable_chunked_encodingz&StreamResponse.enable_chunked_encoding¢   sH   € àˆŒä×Ñ $§-¡-Ñ/ÜØSóð ð Ð!Ü�M‰MÐ:Ô<NÕOð "r2   Úforcec                 óð   — t        |«      t        k(  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)ÚtypeÚboolr%   r+   r-   rj   rk   rl   Ú
isinstancer?   r@   )rJ   rt   s     r3   Úenable_compressionz!StreamResponse.enable_compression­   sk   € ô
 �‹;œ$ÒÙ-2”M×)Ò)¼×8NÑ8NˆEÜ�M‰MØ=Ô?Qõð ÐÜ˜e¤]Ô3ð ØIóÐ3ð !ˆÔØ"'ˆÕr2   c                 ó   — | j                   S rM   )rH   rN   s    r3   r9   zStreamResponse.headers¿   rW   r2   c                 ó   — | j                   S rM   )rA   rN   s    r3   ÚcookieszStreamResponse.cookiesÃ   rW   r2   ú/)ÚexpiresÚdomainÚmax_ageÚpathÚsecureÚhttponlyÚversionÚsamesiteÚnameÚvaluer~   r   r€   r�   r‚   rƒ   r„   r…   c                ó�  — | j                   j                  |«      }|�+|j                  dk(  r| j                   j                  |d«       || j                   |<   | j                   |   }|�||d<   n|j                  d«      dk(  r|d= |�||d<   |�t	        |«      |d<   nd|v r|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^   r~   úThu, 01 Jan 1970 00:00:00 GMTr   zmax-ager�   r‚   rƒ   r„   r…   )rA   ÚgetÚcoded_valueÚpopÚstr)rJ   r†   r‡   r~   r   r€   r�   r‚   rƒ   r„   r…   ÚoldÚcs                r3   Ú
set_cookiezStreamResponse.set_cookieÇ   sú   € ð& �m‰m×Ñ Ó%ˆØˆ?˜sŸ™°"Ò4à�M‰M×Ñ˜d DÔ)à#ˆ�‰�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ð  r2   )r   r�   c                ój   — | j                   j                  |d«       | j                  |ddd||¬«       y)zBDelete cookie.

        Creates new empty expired cookie.
        Nr^   r   r‰   )r€   r~   r   r�   )rA   rŒ   r�   )rJ   r†   r   r�   s       r3   Ú
del_cookiezStreamResponse.del_cookieú   s;   € ð 	�‰×Ñ˜$ Ô%Ø�‰ØØØØ3ØØð 	õ 	
r2   c                 ó   •— t         ‰| �  S rM   )ÚsuperÚcontent_length©rJ   Ú	__class__s    €r3   r•   zStreamResponse.content_length  s   ø€ ô ‰wÑ%Ð%r2   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)r_   r>   rr   r�   rH   r   rq   rŒ   ©rJ   r‡   s     r3   r•   zStreamResponse.content_length  s\   € àÐÜ˜“JˆEØ�}Š}Ü"ØUóð ô 25°U³ˆD�M‰Mœ$×-Ñ-Ò.à�M‰M×Ñœd×1Ñ1°4Õ8r2   c                 ó   •— t         ‰| �  S rM   )r”   Úcontent_typer–   s    €r3   r›   zStreamResponse.content_type  s   ø€ ô ‰wÑ#Ð#r2   c                 ó\   — | j                    t        |«      | _        | j                  «        y rM   )r›   r�   Ú_content_typeÚ_generate_content_type_headerr™   s     r3   r›   zStreamResponse.content_type"  s#   € à×ÒÜ  ›ZˆÔØ×*Ñ*Õ,r2   c                 ó   •— t         ‰| �  S rM   )r”   Úcharsetr–   s    €r3   r    zStreamResponse.charset(  s   ø€ ô ‰w‰Ðr2   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›   rr   Ú_content_dictrŒ   r�   Úlowerrž   )rJ   r‡   Úctypes      r3   r    zStreamResponse.charset-  s€   € à×!Ñ!ˆØÐ.Ò.Üð?óð ð ×!Ñ!Ð-Ð-Ð-Øˆ=Ø×Ñ×"Ñ" 9¨dÕ3ä,/°«J×,<Ñ,<Ó,>ˆD×Ñ˜yÑ)Ø×*Ñ*Õ,r2   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   rH   rŠ   r   ÚLAST_MODIFIEDrN   s    r3   Úlast_modifiedzStreamResponse.last_modified<  s$   € ô ˜tŸ}™}×0Ñ0´×1CÑ1CÓDÓEÐEr2   c                 óJ  — |€+| j                   j                  t        j                  d «       y t	        |t
        t        f«      rXt        j                  dt        j                  t        j                  |«      «      «      | j                   t        j                  <   y t	        |t        j                  «      r@t        j                  d|j                  «       «      | j                   t        j                  <   y t	        |t        «      r|| j                   t        j                  <   y y )Nz%a, %d %b %Y %H:%M:%S GMT)rH   rŒ   r   r§   rx   r_   ÚfloatÚtimeÚstrftimeÚgmtimeÚmathÚceilÚdatetimeÚutctimetupler�   r™   s     r3   r¨   zStreamResponse.last_modifiedD  sÇ   € ð ˆ=Ø�M‰M×Ñœd×0Ñ0°$Õ7Ü˜¤¤U˜|Ô,Ü04·±Ø+¬T¯[©[¼¿¹À5Ó9IÓ-Jó1ˆD�M‰Mœ$×,Ñ,Ò-ô ˜œx×0Ñ0Ô1Ü04·±Ø+¨U×-?Ñ-?Ó-Aó1ˆD�M‰Mœ$×,Ñ,Ò-ô ˜œsÔ#Ø05ˆD�M‰Mœ$×,Ñ,Ò-ð $r2   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‡   )
rH   rŠ   r   ÚETAGr   r   r   Ú	fullmatchÚgrouprw   )rJ   Úquoted_valueÚmatchr´   r‡   s        r3   ÚetagzStreamResponse.etagU  st   € à—}‘}×(Ñ(¬¯©Ó3ˆÙØØœXÒ%ÜœhÔ'Ð'Ü×(Ñ(¨Ó6ˆÙØØŸ™ Q¨Ó*‰ˆ�ÜÜ˜“MØô
ð 	
r2   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)rH   rŒ   r   rµ   rx   r�   r   r   r‡   r   r´   ra   rv   )rJ   r‡   Ú	hdr_values      r3   rº   zStreamResponse.etage  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óð r2   Ú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)ú=Nr1   )Ú.0ÚkÚvs      r3   ú	<genexpr>z?StreamResponse._generate_content_type_header.<locals>.<genexpr>  s   è ø€ ÒM©$¨!¨Q˜a˜S  ! œ:ÑMùs   ‚)r£   r�   ÚjoinÚitemsrH   )rJ   r¾   Úparamsr¥   s       r3   rž   z,StreamResponse._generate_content_type_headerz  s|   € ð ×!Ñ!Ð-Ð-Ð-Ø×!Ñ!Ð-Ð-Ð-Ø—‘ÑM°$×2DÑ2D×2JÑ2JÓ2LÔMÓMˆÙØ×&Ñ&¨Ñ-°Ñ6‰Eà×&Ñ&ˆEØ&+ˆ�‰�lÒ#r2   Úcodingc              ƒ   ó<  K  — |t         j                  k7  r…| j                  €J ‚|j                  | j                  t
        j                  <   | j                  j                  |j                  «       | j                  j                  t
        j                  d «       y y ­wrM   )
r%   r-   rC   r‡   rH   r   ÚCONTENT_ENCODINGry   Úpopallrq   )rJ   rÉ   s     r3   Ú_do_start_compressionz$StreamResponse._do_start_compression†  sw   è ø€ Ø”]×+Ñ+Ò+Ø×'Ñ'Ð3Ð3Ð3Ø39·<±<ˆD�M‰Mœ$×/Ñ/Ñ0Ø× Ñ ×3Ñ3°F·L±LÔAð �M‰M× Ñ ¤×!4Ñ!4°dÕ;ð ,ùs   ‚BBÚrequestr)   c              ƒ   óL  K  — | j                   r$| j                  | j                   «      ƒ d {  –—†  y |j                  j                  t        j
                  d«      j                  «       }t        D ]+  }|j                  |v sŒ| j                  |«      ƒ d {  –—†   y  y 7 Œr7 Œ
­w)Nr^   )	r@   rÍ   r9   rŠ   r   ÚACCEPT_ENCODINGr¤   r%   r‡   )rJ   rÎ   Úaccept_encodingrÉ   s       r3   Ú_start_compressionz!StreamResponse._start_compression�  sŒ   è ø€ Ø×"Ò"Ø×,Ñ,¨T×-DÑ-DÓE×EÑEà%Ÿo™o×1Ñ1´$×2FÑ2FÈÓK×QÑQÓSˆOÜ'ò �Ø—<‘< ?Ò2Ø×4Ñ4°VÓ<×<Ð<Ùñð Føð
 =ú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rM   )rD   rC   r   Úmethodr7   rE   Ú_start)rJ   rÎ   s     r3   Ú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rM   )rB   rC   Ú_prepare_headersÚ_prepare_hookÚ_write_headers)rJ   rÎ   Úwriters      r3   rÕ   zStreamResponse._start¡  sj   è ø€ ØˆŒ	Ø(/×(?Ñ(?Ð?ˆ�Ô%à×#Ñ#Ó%×%Ð%Ø×#Ñ# DÓ)×)Ð)Ø×!Ñ!Ó#×#Ð#àˆð	 	&øØ)øØ#ús3   ‚.A.°A(±A.Á	A*Á
A.Á!A,Á"A.Á*A.Á,A.c              ƒ   ó  K  — | j                   }|€J ‚| j                  }|€J ‚| j                  }|€|j                  }|| _        |j                  }| j
                  }| j                  j                  «       D ]7  }|j                  d¬«      dd  }|j                  t        j                  |«       Œ9 | j                  r| j                  |«      ƒ d {  –—†  | j                  r€|t        k7  r$t!        dj#                  |j                  «      «      ‚| j$                  s#|j'                  «        d|t        j(                  <   t        j*                  |v r‚|t        j*                  = np| j,                  rd| j.                  |_        |j0                  €G|t        k\  r0| j$                  s2|j'                  «        d|t        j(                  <   n| j$                  sd}| j$                  rgt        j*                  |v r1t3        |j4                  | j6                  «      r|t        j*                  = t        j(                  |v r2|t        j(                  = n |j9                  t        j:                  d«       |j9                  t        j<                  t?        «       «       |j9                  t        j@                  tB        «       t        jD                  |vr>|r|tF        k(  rd|t        jD                  <   y y |t        k(  rd	|t        jD                  <   y y y 7 �Œ1­w)
Nr^   )Úheaderr   z@Using chunked encoding is forbidden for HTTP/{0.major}.{0.minor}rV   Fr¢   z
keep-aliveÚclose)$rB   rC   r=   rd   r„   rH   rA   ÚvaluesÚoutputÚaddr   Ú
SET_COOKIEr?   rÒ   r>   r!   rr   ÚformatrE   Úenable_chunkingÚTRANSFER_ENCODINGrq   Ú_length_checkr•   Úlengthr   rÔ   r7   Ú
setdefaultr¾   ÚDATEr   ÚSERVERr   Ú
CONNECTIONr    )rJ   rÎ   rÛ   rd   r„   r9   Úcookier‡   s           r3   rØ   zStreamResponse._prepare_headers«  sŒ  è ø€ Ø—)‘)ˆØÐ"Ð"Ð"Ø×%Ñ%ˆØÐ!Ð!Ð!Ø×%Ñ%ˆ
ØÐØ ×+Ñ+ˆJØ%ˆÔà—/‘/ˆà—-‘-ˆØ—m‘m×*Ñ*Ó,ò 	0ˆFØ—M‘M¨�MÓ,¨Q¨RÐ0ˆEØ�K‰KœŸ™¨Õ/ð	0ð ×ÒØ×)Ñ)¨'Ó2×2Ð2à�=Š=Øœ-Ò'Ü"ð3ß39±6¸'¿/¹/Ó3Jóð ð ×+Ò+Ø×&Ñ&Ô(Ø2;�œ×.Ñ.Ñ/Ü×"Ñ" gÑ-ØœD×/Ñ/Ñ0Ø×ÒØ ×/Ñ/ˆFŒMØ�}‰}Ð$ØœmÒ+Ø×3Ò3Ø×.Ñ.Ô0Ø:C˜¤× 6Ñ 6Ò7Ø×1Ò1Ø!&�Jð ×#Ò#Ü×"Ñ" gÑ-Ô2NØ—‘ §¡ô3ð œD×/Ñ/Ð0ô ×%Ñ%¨Ñ0ØœD×2Ñ2Ñ3à×Ñœt×0Ñ0Ð2LÔMØ×Ñœ4Ÿ9™9Ô&;Ó&=Ô>Ø×Ñœ4Ÿ;™;¬Ô8ô �?‰? 'Ñ)ÙØœmÒ+Ø/;�GœDŸO™OÒ,ð ,ð œmÒ+Ø/6�GœDŸO™OÒ,ð ,ð *ðQ 3ûs   ‚CLÃLÃH1Lc              ƒ   ó  K  — | j                   }|€J ‚| j                  }|€J ‚|j                  }dj                  |d   |d   | j                  | j
                  «      }|j                  || j                  «      ƒ d {  –—†  y 7 Œ­w)NzHTTP/{}.{} {} {}r   r   )rB   rC   r„   rã   rS   r\   Úwrite_headersrH   )rJ   rÎ   rÛ   r„   Ústatus_lines        r3   rÚ   zStreamResponse._write_headersí  s€   è ø€ Ø—)‘)ˆØÐ"Ð"Ð"Ø×%Ñ%ˆØÐ!Ð!Ð!à—/‘/ˆØ(×/Ñ/Ø�A‰J˜ ™
 D§L¡L°$·,±,ó
ˆð ×"Ñ" ;°·±Ó>×>Ò>ús   ‚A:BÁ<BÁ=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())	rx   ÚbytesÚ	bytearrayÚ
memoryviewrv   rD   rr   rC   Úwrite©rJ   rð   s     r3   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)rD   rC   rj   rk   rl   ÚdrainrN   s    r3   rû   zStreamResponse.drain  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)rx   ró   rô   rõ   rv   rD   rC   Ú	write_eofrB   Úoutput_sizerF   r÷   s     r3   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Úeofú znot preparedú<ú>)rD   rO   rB   rÔ   r�   r—   r.   r8   )rJ   Úinfos     r3   Ú__repr__zStreamResponse.__repr__  sz   € Ø�>Š>Ø‰DØ�]Š]Ø—9‘9Ð(Ð(Ð(Ø—i‘i×&Ñ&Ð' q¨¯©¯©Ð(8¸Ð:‰Dà!ˆDØ�4—>‘>×*Ñ*Ð+¨1¨T¯[©[¨M¸¸4¸&ÀÐBÐBr2   Úkeyc                 ó    — | j                   |   S rM   ©rG   ©rJ   r  s     r3   Ú__getitem__zStreamResponse.__getitem__)  s   € Ø�{‰{˜3ÑÐr2   c                 ó"   — || j                   |<   y rM   r  )rJ   r  r‡   s      r3   Ú__setitem__zStreamResponse.__setitem__,  s   € Ø ˆ�‰�CÒr2   c                 ó   — | j                   |= y rM   r  r	  s     r3   Ú__delitem__zStreamResponse.__delitem__/  s   € Ø�K‰K˜Ñr2   c                 ó,   — t        | j                  «      S rM   )ÚlenrG   rN   s    r3   Ú__len__zStreamResponse.__len__2  s   € Ü�4—;‘;ÓÐr2   c                 ó,   — t        | j                  «      S rM   )ÚiterrG   rN   s    r3   Ú__iter__zStreamResponse.__iter__5  s   € Ü�D—K‘KÓ Ð r2   c                 ó*   — t        t        | «      «      S rM   )ÚhashÚidrN   s    r3   Ú__hash__zStreamResponse.__hash__8  s   € Ü”B�t“H‹~Ðr2   Úotherc                 ó
   — | |u S rM   r1   )rJ   r  s     r3   Ú__eq__zStreamResponse.__eq__;  s   € Ø�uˆ}Ðr2   )r:   zOptional[asyncio.Task[None]]rM   )r:   N)r:   zCIMultiDict[str])rÎ   r)   r:   N©r2   )Cr.   r/   r0   ræ   r_   r   r�   r$   rK   Úpropertyrw   rO   rQ   r7   rV   rY   r8   rI   rd   rf   rh   rn   rs   r   r%   ry   r9   r   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	   r  r  Úobjectr  Ú__classcell__©r—   s   @r3   r&   r&   F   sw  ø„ à€Mð
 Ø $Ø*.ò(ð ð(ð ˜‘ð	(ð
 ˜,Ñ'ð(ð 
ó(ð8 ð0˜$ò 0ó ð0ð òó ðð ð˜ò ó ðð ð˜ò ó ðð ð!˜Tò !ó ð!ð ð˜ò ó ðð !%ñàðð ˜‘ðð 
ó	ð  ð ˜H T™Nò  ó ð ó!ð ð!˜Sò !ó ð!ð ð0˜sò 0ó ð0ñ
	P°(¸3±-ð 	PÈ4ó 	Pð =Añ(Ø˜e D¨-Ð$7Ñ8Ñ9ð(à	ó(ð$ òó ðð ð˜ò ó ðð "&Ø $Ø-1ØØ!%Ø#'Ø!%Ø"&ò1%àð1%ð ð1%ð
 ˜#‘ð1%ð ˜‘ð1%ð ˜%  S ™/Ñ*ð1%ð ð1%ð ˜‘ð1%ð ˜4‘.ð1%ð ˜#‘ð1%ð ˜3‘-ð1%ð 
ó1%ðh 59Àcò
Øð
Ø$,¨S¡Mð
Ø@Cð
à	ó
ð$ ð& ¨¡ô &ó ð&ð ×Ñð	9 H¨S¡Mð 	9°dò 	9ó ð	9ð ð$˜cô $ó ð$ð ×Ñð- #ð -¨$ò -ó ð-ð
 ð˜ #™ô ó ðð ‡^�^ð-˜X c™]ð -¨tò -ó ð-ð ðF˜x¨×(9Ñ(9Ñ:ò Fó ðFð ×Ñð6Ø˜e C¨°×0AÑ0AÀ3Ð$FÑGÑHð6à	ò6ó ð6ð  ð
�h˜t‘nò 
ó ð
ð 
‡[�[ð˜( 5¨¨s¨Ñ#3Ñ4ð ¸ò ó ðð* $(×#4Ñ#4ñ
,Ø ð
,à	ó
,ð<°-ð <ÀDó <óð* ]ð *°xÐ@TÑ7Uó *ð Mð Ð6Jó ó@7óD
?ð
/ ð 
/¨$ó 
/ó+ñ$ Eð $°Dó $ð C˜#ó Cð ˜sð   só  ð!˜sð !¨3ð !°4ó !ð˜sð  tó ð ˜ó  ð!˜( 3™-ó !ð˜#ó ð˜Fð  t÷ r2   r&   c                   ó¸  ‡ — e Zd Zddddddddddœ	dededee   dee   dee   d	ee   d
ee   dee   dee   ddfˆ fd„Z	e
deeeef      fd„«       Zej                  deddfd„«       Ze
dee   fd„«       Zej                  deddfd„«       Ze
dee   fˆ fd„«       Zej                  dee   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'   Nr5   )	Úbodyr7   r8   Útextr9   r›   r    Úzlib_executor_sizeÚzlib_executorr#  r7   r8   r$  r9   r›   r    r%  r&  r:   c       	         óŠ  •— |�|�t        d«      ‚|€t        «       }
nt        |t        «      st        |«      }
n|}
|�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|| _        d | _        || _        |	| _        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=r6   )ra   r   rx   r   r¾   r�   Ú	TypeErrorrv   Úencoder”   rK   r$  r#  Ú_compressed_bodyÚ_zlib_executor_sizeÚ_zlib_executor)rJ   r#  r7   r8   r$  r9   r›   r    r%  r&  Úreal_headersr—   s              €r3   rK   zResponse.__init__@  s�  ø€ ð Ð Ð 0ÜÐEÓFÐFàˆ?Ü-8«]‰LÜ˜G¤[Ô1Ü& wÓ/‰Là"ˆLàÐ#¨	°\Ñ(AÜÐNÓOÐOàÐÜ× Ñ  LÑ0Ù¡7Ü$ð'óð ô " $¬Ô,Ü#Ð$DÄtÈDÃzÑ$QÓRÐRØÐ'Ø#/�LØ�?Ø%�GØ2>ÀÑ2MÐPWÑ2W�œT×.Ñ.Ñ/Ø—{‘{ 7Ó+�Ø‘ä× Ñ  LÑ0ØÐ+¨wÐ/BÜ$ð'óð ð  Ð+ØÐ*Ø$¨°wÑ(>Ñ>˜Ø6B�L¤×!2Ñ!2Ñ3ä‰Ñ ¨v¸|ÐÔLàÐØˆD�IàˆDŒIà15ˆÔØ#5ˆÔ Ø+ˆÕr2   c                 ó   — | j                   S rM   )r<   rN   s    r3   r#  zResponse.body†  s   € à�z‰zÐr2   c                 ó8  — |€d | _         d| _        d | _        y t        |t        t        f«      r|| _         d| _        d | _        y 	 t
        j                  j                  |«      x| _         }d| _        | 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)NFzUnsupported body type %rT)r<   Ú_body_payloadrx   ró   rô   r   ÚPAYLOAD_REGISTRYrŠ   ÚLookupErrorra   rv   rH   r   r¾   r›   r9   rÇ   r-  )rJ   r#  r9   r  r‡   s        r3   r#  zResponse.bodyŠ  s  € àˆ<Ø*.ˆDŒJØ',ˆDÔð0 !%ˆÕô/ ˜œu¤iÐ0Ô1ØˆDŒJØ!&ˆDÔð* !%ˆÕð'JÜ$+×$<Ñ$<×$@Ñ$@ÀÓ$FÐF�”
˜Tð "&ˆDÔà—m‘mˆGô × Ñ ¨Ñ/Ø-1×->Ñ->�œ×)Ñ)Ñ*ð �|Š|Ø$(§L¡L×$6Ñ$6Ó$8ò -‘L�S˜%Ø 'Ò)Ø',˜ šð-ð !%ˆÕøô# ×&Ñ&ò JÜ Ð!;¼dÀ4»jÑ!HÓIÐIðJús   Á&C. Ã.+Dc                 ón   — | j                   €y | j                   j                  | j                  xs d«      S )Nr*  )r<   Údecoder    rN   s    r3   r$  zResponse.text¨  s-   € à�:‰:ÐØØ�z‰z× Ñ  §¡Ò!8°Ó9Ð9r2   c                 óü   — |�#t        |t        «      sJ dt        |«      z  «       ‚| j                  dk(  rd| _        | j                  €d| _        |j                  | j                  «      | _        d| _        d | _        y )Nr(  r¢   r)  r*  F)	rx   r�   rv   r›   r    r,  r<   r3  r-  )rJ   r$  s     r3   r$  zResponse.text®  s|   € àˆ|œzØ”#ô 
ð 	9à+¬d°4«jÑ8ó	9ð 
ð ×ÑÐ :Ò:Ø ,ˆDÔØ�<‰<ÐØ"ˆDŒLà—[‘[ §¡Ó.ˆŒ
Ø"ˆÔØ $ˆÕr2   c                 ó
  •— | j                   ry t        j                  | j                  v r
t        ‰| �  S | j                  �t        | j                  «      S | j                  ry | j                  �t        | j                  «      S y)Nr   )
r>   r   rq   rH   r”   r•   r-  r  r3  r<   r–   s    €r3   r•   zResponse.content_length½  sn   ø€ à�=Š=Øä×Ñ $§-¡-Ñ/Ü‘7Ñ)Ð)à× Ñ Ð,ä�t×,Ñ,Ó-Ð-Ø×ÒàØ�Z‰ZÐ#Ü�t—z‘z“?Ð"àr2   r‡   c                 ó   — t        d«      ‚)Nz#Content length is set automatically)rr   r™   s     r3   r•   zResponse.content_lengthÐ  s   € äÐ@ÓAÐAr2   rð   c              ƒ   óF  •K  — | j                   ry | j                  €| j                  }n| j                  }|r
J d|›�«       ‚| j                  €J ‚| j                  €J ‚|� | j
                  rt        ‰| �  «       ƒ d {  –—†  y | j                  rKt        t        |«      } |j                  | j                  «      ƒ d {  –—†  t        ‰| �  «       ƒ d {  –—†  y t        ‰| �  t        t        |«      «      ƒ d {  –—†  y t        ‰| �  «       ƒ d {  –—†  y 7 Œ™7 ŒZ7 ŒF7 Œ"7 Œ­w)Nzdata arg is not supported, got )rD   r-  r<   rB   rC   rE   r”   rý   r3  r   r"   rö   ró   )rJ   rð   r#  r   r—   s       €r3   rý   zResponse.write_eofÔ  s
  øè ø€ Ø�>Š>ØØ× Ñ Ð(Ø48·J±J‰Dà×(Ñ(ˆDÙÐCÐ:¸4¸(ÐCÓCˆxØ�y‰yÐ$Ð$Ð$Ø×#Ñ#Ð/Ð/Ð/ØÐØ×'Ò'Ü‘gÑ'Ó)×)Ñ)Ø×#Ò#Üœw¨Ó-�Ø#�g—m‘m D×$8Ñ$8Ó9×9Ð9Ü‘gÑ'Ó)×)Ñ)ä‘gÑ'¬¬U°DÓ(9Ó:×:Ñ:ä‘'Ñ#Ó%×%Ñ%ð *øð :øØ)øà:øà%ús[   ƒA:D!Á=DÁ>A D!Â>DÂ?D!ÃDÃ%D!Ã:DÃ;D!ÄDÄD!ÄD!ÄD!ÄD!ÄD!rÎ   r)   c              ƒ   ó  •K  — t        |j                  | j                  «      r:t        j                  | j
                  v �r&| j
                  t        j                  = �n	| j                  sýt        j                  | j
                  vrá| j                  rMt        t        | j                  «      j                  }|�¯t        |«      | j
                  t        j                  <   nˆ| j                  rt        | j                  «      nd}|dk7  s:| j                  dk7  rQ|j                  j                  «       t        j                  k7  r&t        |«      | j
                  t        j                  <   t         ‰| �E  |«      ƒ d {  –—† S 7 Œ­w)NÚ0i0  )r   rÔ   r7   r   rq   rH   r>   r3  r   r"   r<   Úsizer�   r  ÚupperÚ	METH_HEADr”   rÕ   )rJ   rÎ   r>  Úbody_lenr—   s       €r3   rÕ   zResponse._startê  sÿ   øè ø€ Ü'¨¯©¸¿¹ÔDÜ×"Ñ" d§m¡mÒ3Ø—M‘M¤$×"5Ñ"5Ò6Ø—’¤4×#6Ñ#6¸d¿m¹mÑ#KØ×!Ò!ÜœG T§Z¡ZÓ0×5Ñ5�ØÐ#Ü9<¸T»�D—M‘M¤$×"5Ñ"5Ò6à.2¯jªjœ3˜tŸz™zœ?¸c�à˜s’?Ø—K‘K 3Ò&¨7¯>©>×+?Ñ+?Ó+AÄTÇ^Á^Ò+Sä9<¸X»�D—M‘M¤$×"5Ñ"5Ñ6ä‘W‘^ GÓ,×,Ð,Ð,ús   ƒE6F Å9E>Å:F rÉ   c              ƒ   ó  •K  — | j                   s| j                  rt        ‰| �  |«      ƒ d {  –—† S |t        j
                  k7  �r;t        t        |j                  «      | j                  | j                  ¬«      }| j                  €J ‚| j                  €Dt        | j                  «      dkD  r,t        j                  dt        | j                  «      › d�«       |j                  | j                  «      ƒ d {  –—† |j!                  «       z   | _        | j"                  €J ‚|j                  | j$                  t&        j(                  <   t        t        | j"                  «      «      | j$                  t&        j*                  <   y y 7 �ŒU7 Œ�­w)N)ÚencodingÚmax_sync_chunk_sizeÚexecutori   z2Synchronous compression of large response bodies (z£ bytes) might block the async event loop. Consider providing a custom value to zlib_executor_size/zlib_executor response properties or disabling compression on it.)r3  r>   r”   rÍ   r%   r-   r   r�   r‡   r.  r/  r<   r  rj   rk   ÚcompressÚflushr-  rH   r   rË   rq   )rJ   rÉ   Ú
compressorr—   s      €r3   rÍ   zResponse._do_start_compressioný  sF  øè ø€ Ø×Ò §¢Ü™Ñ6°vÓ>×>Ð>à”]×+Ñ+Ó+ô (Ü˜VŸ\™\Ó*Ø$(×$<Ñ$<Ø×,Ñ,ôˆJð
 —:‘:Ð)Ð)Ð)Ø×'Ñ'Ð/´C¸¿
¹
³OÀkÒ4QÜ—‘ðÜ˜DŸJ™J›Ð(ð )XðXôð !×)Ñ)¨$¯*©*Ó5×5¸
×8HÑ8HÓ8JÑJð Ô!ð ×(Ñ(Ð4Ð4Ð4à39·<±<ˆD�M‰Mœ$×/Ñ/Ñ0Ü14´S¸×9NÑ9NÓ5OÓ1PˆD�M‰Mœ$×-Ñ-Ò.ð- ,ð ?ùð& 6ús#   ƒ+F®F¯C	FÃ8FÃ9BFÆFr  )r.   r/   r0   r   r_   r   r�   r$   r   rK   r  r   ró   r"   r#  r  r$  r•   rý   r   rÕ   r%   rÍ   r   r!  s   @r3   r'   r'   ?  sÙ  ø„ ð ØØ $Ø"Ø*.Ø&*Ø!%Ø,0Ø,0òD,ð ðD,ð ð	D,ð
 ˜‘ðD,ð �s‰mðD,ð ˜,Ñ'ðD,ð ˜s‘mðD,ð ˜#‘ðD,ð % S™MðD,ð   Ñ)ðD,ð 
õD,ðL ð�h˜u U¨G ^Ñ4Ñ5ò ó ðð 
‡[�[ð%˜ð % 4ò %ó ð%ð: ð:�h˜s‘mò :ó ð:ð
 
‡[�[ð%˜ð % ò %ó ð%ð ð ¨¡ô ó ðð$ ×ÑðB H¨S¡Mð B°dò Bó ðBñ& Eð &°Dõ &ð,- Mð -Ð6Jõ -ð&Q°-ð QÀD÷ Qñ Qr2   r'   r5   zapplication/json)r$  r#  r7   r8   r9   r›   Údumpsrð   r$  r#  r7   r8   r9   r›   rI  r:   c                ób   — | t         ur|s|rt        d«      ‚ || «      }t        ||||||¬«      S )Nz3only one of data, text, or body should be specified)r$  r#  r7   r8   r9   r›   )r   ra   r'   )rð   r$  r#  r7   r8   r9   r›   rI  s           r3   r(   r(     sE   € ð ”8ÑÙ‘4ÜÐRÓSÐSá˜“;ˆDÜØØØØØØ!ôð r2   )AÚasyncioÚcollections.abcÚcollectionsr°   ÚenumÚjsonr®   r«   rj   Úconcurrent.futuresr   Úhttpr   Úhttp.cookiesr   Útypingr   r   r   r	   r
   r   r   r   Ú	multidictr   r   r^   r   r   Úabcr   Úcompression_utilsr   Úhelpersr   r   r   r   r   r   r   r   r   r   r   r    r!   r"   Útypedefsr#   r$   Ú__all__Úweb_requestr)   r�   Ú	BaseClassÚEnumr%   r&   r'   rI  ró   r_   r(   r1   r2   r3   ú<module>r]     sP  ðÛ Û Û Û Û Û Û Û Ý 'Ý Ý %÷	÷ 	ó 	÷ (ç Ý %Ý -÷÷ ÷ ÷ @Ñ ?Ý ß /à
J€ñ Ý(à˜s C˜xÑ(�Ià—‘×.Ñ.€Iô�D—I‘Iô ôv�Y ô vôrXQˆ~ô XQðx ðð Ø ØØ Ø&*Ø*ØŸ™òØ
ðð �3‰-ðð �5‰/ð	ð
 ðð �S‰Mðð �lÑ#ðð ðð ðð ôr2   