� D�g��� �v�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z m Z m Z ddl mZmZmZddlmZmZddlmZmZmZmZmZmZmZmZmZmZmZm Z ddl!Z!ddl"m#Z#m$Z$m%Z%m&Z&ddl'm(Z(dd l)m*Z*m+Z+m,Z,m-Z-m.Z.dd l/m0Z0dd l1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7dd l8m9Z9dd l:m;Z;ddl+m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFddl,mGZGmHZHmIZImJZJmKZKddlLmMZMddlNmOZOddlPmQZQmRZRmSZSmTZTmUZUmVZVer ddlWZWddlWmXZXn ddlWZWddlWmXZXn#eY$rdZWeZZXYnwxYwdZ[erddl\m]Z]ddl^m_Z_ddl`maZaejbd��Zcejbd��Zddeefd�Zfe!jgddd���Gd�d����ZhGd �d!e��ZiGd"�d#ei��ZjGd$�d%��ZkeW�eWjXelekemd��fZnn elemd��fZnd&e d'elekfd(eeld)ed'd*eeode d'elekff d+�Zpeqd,��ZrGd-�d.e��Zsd/eed0eedelfd1�ZtGd2�d3��Zue2d4��ZvGd5�d6e?��ZwdS)7�N)�md5�sha1�sha256)� CookieError�Morsel� SimpleCookie)�MappingProxyType� TracebackType) � TYPE_CHECKING�Any�Callable�Dict�Iterable�List�Mapping� NamedTuple�Optional�Tuple�Type�Union)� CIMultiDict�CIMultiDictProxy� MultiDict�MultiDictProxy)�URL�)�hdrs�helpers�http� multipart�payload)�AbstractStreamWriter)�ClientConnectionError� ClientOSError�ClientResponseError�ContentTypeError� InvalidURL�ServerFingerprintMismatch�� HAS_BROTLI)�FormData) � _SENTINEL�BaseTimerContext� BasicAuth� HeadersMixin� TimerNoop�basicauth_from_netrc�netrc_from_env�noop�reify� set_exception� set_result)�SERVER_SOFTWARE� HttpVersion� HttpVersion10� HttpVersion11� StreamWriter)� client_logger)� StreamReader)�DEFAULT_JSON_DECODER� JSONDecoder� LooseCookies� LooseHeaders�Query� RawHeaders)� SSLContext)� ClientRequest�ClientResponse� RequestInfo� Fingerprint)� ClientSession)� Connection)�Tracez[^-!#$%&'*+.^_`|~0-9a-zA-Z]z!^application/(?:[\w.+-]+?\+)?json�returnc��trdndS)Nzgzip, deflate, brz gzip, deflater)���e/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/aiohttp/client_reqrep.py�_gen_default_accept_encodingrQds��",� A� � �/�ArOT)� auto_attribs�frozen�slotsc�F�eZdZUeeed<ded<eeed<dS)�ContentDisposition�typezMappingProxyType[str, str]� parameters�filenameN)�__name__� __module__� __qualname__r�str�__annotations__rNrOrPrVrVhs>������� �3�-����,�,�,�,��s�m�����rOrVc�8�eZdZUeed<eed<ded<eed<dS)� _RequestInfo�url�method�CIMultiDictProxy[str]�headers�real_urlN)rZr[r\rr^r]rNrOrPr`r`os7������� �H�H�H� �K�K�K� $�$�$�$��M�M�M�M�MrOr`c �.�eZdZefdededddeddf d�ZdS) rGrarbrdrcrerLc�V�t�|||||tur|n|f��S)zuCreate a new RequestInfo instance. For backwards compatibility, the real_url parameter is optional. )�tuple�__new__r,)�clsrarbrdres rPrizRequestInfo.__new__xs6���}�}� �#�v�w�x�9�/D�/D���(�S� � � rON)rZr[r\r,rr]rirNrOrPrGrGvsb������"�  �  � �  ��  �)�  � �  � �  �  �  �  �  �  rOrGc�`�eZdZeeed�Zdeddfd�Ze defd���Z de j ddfd�Z dS) rH)��� � fingerprintrLNc���t|��}|j�|��}|std���|tus |t urtd���||_||_dS)Nzfingerprint has invalid lengthz8md5 and sha1 are insecure and not supported. Use sha256.)�len�HASHFUNC_BY_DIGESTLEN�get� ValueErrorrr� _hashfunc� _fingerprint)�selfro� digestlen�hashfuncs rP�__init__zFingerprint.__init__�st��� �$�$� ��-�1�1�)�<�<��� Y��=�>�>� >� ��_�_��D� 0� 0��W�X�X� X�!���'����rOc��|jS�N)rv�rws rProzFingerprint.fingerprint�� ��� � rO� transportc�L�|�d��sdS|�d��}|�d���}|�|�����}||jkr/|�d��^}}}t |j|||���dS)N� sslcontext� ssl_objectT)� binary_form�peername)�get_extra_info� getpeercertru�digestrvr()rwr�sslobj�cert�got�host�port�_s rP�checkzFingerprint.check�s����'�'� �5�5� � �F��)�)�,�7�7���!�!�d�!�3�3���n�n�T�"�"�)�)�+�+�� �$�#� #� #�&�5�5�j�A�A�N�D�$��+�D�,=�s�D�$�O�O� O� $� #rO)rZr[r\rrrrr�bytesrz�propertyro�asyncio� Transportr�rNrOrPrHrH�s������� � � ���� (�E�(�d�(�(�(�(��!�U�!�!�!��X�!�P�w�0�P�T�P�P�P�P�P�PrOrH�sslrD� verify_ssl� ssl_contextroc���|�d}|�3|s1tjdtd���|durtd���d}|�1tjdtd���|durtd���|}|�>tjdtd���|durtd���t |��}t |t ��s"td �|�����|S) NTz/verify_ssl is deprecated, use ssl=False instead��� stacklevelzNverify_ssl, ssl_context, fingerprint and ssl parameters are mutually exclusiveFz2ssl_context is deprecated, use ssl=context insteadzCfingerprint is deprecated, use ssl=Fingerprint(fingerprint) insteadzFssl should be SSLContext, bool, Fingerprint or None, got {!r} instead.) �warnings�warn�DeprecationWarningrtrH� isinstance�SSL_ALLOWED_TYPES� TypeError�format)r�r�r�ros rP�_merge_ssl_paramsr��sJ��  �{�����j��� � =� �� � � � � �d�?�?��4��� � �C���� � @� �� � � � � �d�?�?��4��� � �C���� � Q� �� � � � � �d�?�?��4��� � �k�*�*�C� �c�,� -� -� �� � &��s� � � � � � �JrO)�https�wssc��eZdZUeed<eeed<eed<ee ee fed<ee ed<ee ed<eeed<dS) � ConnectionKeyr�r��is_sslr��proxy� proxy_auth�proxy_headers_hashN) rZr[r\r]r^r�int�boolrrDrHrr.rNrOrPr�r��s������� �I�I�I� �3�-���� �L�L�L� �z�4��,� -�-�-�-� �C�=������#�#�#�#� �� �%�%�%�%�%rOr��response_content_type�expected_content_typec�N�|dkrt�|��duS||vS)N�application/json)�json_re�match)r�r�s rP�_is_expected_content_typer��s4��� 2�2�2��}�}�2�3�3�4�?�?� �$9� 9�9rOc0��eZdZUejejejejhZej ej ej hZ e� e ��� ejh��Zejdeje��iZdZeed<dZdZdZdZdZeded<ddddddejddddddddddddddd �d ed e d e!d ee"dee#ededee$dee%dej&de'ee(dfdee(de(dee)j*dee+ddee dee%dee,dedde'e-e(e.fdee"d ee/d!d"e(d#eef.d$�Z0dJd%e1d&dfd'�Z2e3d&e4dfd(���Z5e3d&ed)fd*���Z6e6j7dKd,���Z6d&e(fd-�Z8e3d&e'd.e(e.ffd/���Z9e3d&e:fd0���Z;e3d&efd1���Z<e3d&ee=fd2���Z>e3d&e?fd3���Z@d e d&dfd4�ZAde'ej&efd&dfd5�ZBd ee"d&dfd6�ZCdee#ed&dfd7�ZDdee$d&dfd8�ZEded&dfd9�ZFdLd:�ZGdMdee%d"e(d&dfd;�ZHded&dfd<�ZIdMd=e(d&dfd>�ZJdee dee%dee"d&dfd?�ZKd+eLd@dAd&dfdB�ZMdNdC�ZNdLdD�ZOdLdE�ZPd ed e dFeQd&dfdG�ZRd ed e d dHd&dfdI�ZSdS)OrEz*/*rO�bodyNzCIMultiDict[None]�_skip_auto_headersFT)�paramsrd�skip_auto_headers�data�cookies�auth�version�compress�chunked� expect100�loop�response_classr�r��timer�sessionr�� proxy_headers�traces� trust_env�server_hostnamerbrar�rdr�r�r�r�r�r�r�r�r�r�rFr�r�r�r�rIr�r�r�rKr�r�c�J�| �tj��} t�|��x}r(t d|�d|����d����t |��tus J|���|� t |��tus J|���tr|�J�||_ |r|� |��}||_ |j r|� d��n||_|���|_| |_| |_| |_d|_|�t*}n|}||_|�|n t/��|_|�|nd|_||_| ���r+t9jt=jd����|_ |�!| ��|�"|��|�#|��|�$|��|�%|��|�&|��|�'||��|�(|||��|�)|��|�|j|j*vr|�+��|�,| ��|�gn||_-dS)Nz+Method cannot contain non-token characters z (found at least �)Tr).r��get_event_loop�_CONTAINS_CONTROL_CHAR_RE�searchrt�grouprWrr �_session� extend_query� original_url� raw_fragment� with_fragmentra�upperrbr�r�r��lengthrFr�r0�_timer�_sslr�� get_debug� traceback� extract_stack�sys� _getframe�_source_traceback�update_version� update_host�update_headers�update_auto_headers�update_cookies�update_content_encoding� update_auth� update_proxy�update_body_from_data� GET_METHODS�update_transfer_encoding�update_expect_continue�_traces)rwrbrar�rdr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��real_response_classs rPrzzClientRequest.__init__s���6 �<��)�+�+�D�-�4�4�V�<�<� <�5� ��6�f�6�6�#(�;�;�=�=�6�6�6��� � �C�y�y�C�������� � ���;�;�#�%�%�%�u�%�%�%� � '��&�&�&��� � � +��"�"�6�*�*�C����.1�.>�G�3�$�$�T�*�*�*�C����l�l�n�n�� ��� � �� ��� ��� � � !�"0� � �"0� �4G���$�0�e�e�i�k�k�� ��?�C�C��� �.��� �>�>� � � O�%.�%<�S�]�1�=M�=M�%N�%N�D� "� ���G�$�$�$� ������� ���G�$�$�$� � � �!2�3�3�3� ���G�$�$�$� �$�$�T�*�*�*� ����y�)�)�)� ���%��]�;�;�;� �"�"�4�(�(�(� � �t�{�$�2B�B�B� � )� )� +� +� +� �#�#�I�.�.�.�#�^�r�r��� � � rOr�rLc��d|_dSr|��_ClientRequest__writer�rwr�s rP�__reset_writerzClientRequest.__reset_writerl� ���� � � rOc�,�|jp t��Sr|)r�rr}s rPr�zClientRequest.skip_auto_headersos���&�7�+�-�-�7rO�asyncio.Task[None]c��|jSr|r�r}s rP�_writerzClientRequest._writers� ���}�rO�writerc��|j�|j�|j��||_|�|j��dSr|)r��remove_done_callback�_ClientRequest__reset_writer�add_done_callback�rwr�s rPr�zClientRequest._writerwsG�� �=� $� �M� .� .�t�/B� C� C� C��� �� � ��!4�5�5�5�5�5rOc�(�|jjtvSr|)ra�scheme� _SSL_SCHEMESr}s rPr�zClientRequest.is_ssl~s���x��,�.�.rOrDc��|jSr|)r�r}s rPr�zClientRequest.ssl�� ���y�rOc � �|jx}r/tt|�������}nd}|j}t�t |jpd|j|j tv|j |j |j |f��S)N�)r��hashrh�itemsrarir��raw_hostr�r�r�r�r�r�)rwr��hras rP�connection_keyzClientRequest.connection_key�s��� �.� .�=� �#�E�-�*=�*=�*?�*?�$@�$@�A�A�A�A��A��h���}�}� �� �"����� �l�*�� �� ���� �  �  � rOc�&�|jj}|�J�|Sr|)rar)rw�rets rPr�zClientRequest.host�s���h�������� rOc��|jjSr|)rar�r}s rPr�zClientRequest.port�s ���x�}�rOc��t|j��}t�t|j|j||jf��Sr|)rrdrhrirGrarbr�)rwrds rP� request_infozClientRequest.request_info�s>��)9�$�,�)G�)G�� �}�}� �$�(�D�K��$�:K�L� � � rOc��|jst|���|js|jr*t j|jpd|jpd��|_dSdS)z8Update destination host, port and connection type (ssl).rN) rr'�raw_user� raw_passwordrr.�user�passwordr�)rwras rPr�zClientRequest.update_host�sc���|� "��S�/�/� !� �<� N�3�+� N��)�#�(�.�b�#�,�:L�"�M�M�D�I�I�I� N� NrOc�:�t|t��r~d�|�dd��D��} tjt |d��t |d����}n!#t $rt d|����d�wxYw||_dS)zdConvert request version to two elements tuple. parser HTTP version '1.1' => (1, 1) c�6�g|]}|�����SrN)�strip)�.0�parts rP� <listcomp>z0ClientRequest.update_version.<locals>.<listcomp>�s ��@�@�@�$������@�@�@rO�.rrz#Can not parse http version number: N)r�r]�splitrr8r�rtr�)rwr��vs rPr�zClientRequest.update_version�s��� �g�s� #� #� �@�@�'�-�-��Q�*?�*?�@�@�@�A� ��*�3�q��t�9�9�c�!�A�$�i�i�@�@����� � � � �C�'�C�C����� ������ � � s �;A3�3Bc�`�t��|_|jj}|�J�||jtj<|sdSt |tttf��r|� ��}|D]9\}}|tj vr ||j|<�|j� ||���:dS)zUpdate request headers.N) rrdra�host_port_subcomponentr�HOSTr��dictrrr�HOST_ALL�add)rwrdr��key�values rPr�zClientRequest.update_headers�s���)4���� ��x�.������"&�� �T�Y��� � �F� �g��n�i�@� A� A� &��m�m�o�o�G�!� -� -�J�C���d�m�#�#�$)�� �S�!�!�� � � ��e�,�,�,�,�  -� -rOc��|�_td�t|��D����|_|j���}|�|j��n|j}|j���D]\}}||vr ||j|<�tj |vrt|jtj <dSdS)Nc3�K�|]}|dfV�� dSr|rN)r�hdrs rP� <genexpr>z4ClientRequest.update_auto_headers.<locals>.<genexpr>�s7����2�2� #��d� �2�2�2�2�2�2rO) r�sortedr�rd�copy�extend�DEFAULT_HEADERSrr� USER_AGENTr7)rwr�� used_headersr$�vals rPr�z!ClientRequest.update_auto_headers�s��� � (�&1�2�2�'-�.?�'@�'@�2�2�2�'�'�D� #� �<�,�,�.�.�L� � � �� 7� 8� 8� 8� 8� �<�L��,�2�2�4�4� (� (�H�C���,�&�&�$'�� �S�!�� �?�,� .� .�,;�D�L��� )� )� )� /� .rOc��|sdSt��}tj|jvrJ|�|j�tjd����|jtj=t |t��r|���}n|}|D]r\}}t |t��rS|�|j t����}|� |j |j |j ��|||<�m|||<�s|�dd������|jtj<dS)zUpdate request cookies header.Nr�;)�header�sep)rr�COOKIErd�loadrsr�rrrr �setr!� coded_value�outputr)rwr��c� iter_cookies�namer!�mrsl_vals rPr�zClientRequest.update_cookies�s ��� � �F� �N�N�� �;�$�,� &� &� �F�F�4�<�#�#�D�K��4�4� 5� 5� 5�� �T�[�)� �g�w� '� '� #�"�=�=�?�?�L�L�"�L�'� � �K�D�%��%��(�(� � �9�9�U�Y����9�9��� � �U�Y�� �U�5F�G�G�G�"��$�����$���$%�H�H�B�C�H�$@�$@�$F�$F�$H�$H�� �T�[�!�!�!rOc�(�|s d|_dS|j�tj��r|jrt d���dS|jrCt |jt��sd|_|j|jtj<d|_dSdS)zSet request content encoding.Nz9compress can not be set if Content-Encoding header is set�deflateT) r�rdrsr�CONTENT_ENCODINGrtr�r]r�)rwr�s rPr�z%ClientRequest.update_content_encoding s���� � �D�M� �F� �<� � �D�1� 2� 2� ��}� � �O���� � ��]� ��d�m�S�1�1� *� )�� �26�-�D�L��.� /��D�L�L�L�  � rOc��|j�tjd�����}d|vr|jrt d���dS|jr8tj|jvrt d���d|jtj<dStj|jvr5tt|j ����|jtj<dSdS)z!Analyze transfer-encoding header.rr�zDchunked can not be set if "Transfer-Encoding: chunked" header is setz6chunked can not be set if Content-Length header is setN) rdrsr�TRANSFER_ENCODING�lowerr�rt�CONTENT_LENGTHr]rqr�)rw�tes rPr�z&ClientRequest.update_transfer_encodings��� �\� � �d�4�b� 9� 9� ?� ?� A� A�� ��?�?��|� � �D���� � � �\� H��"�d�l�2�2� �L����4=�D�L��/� 0� 0� 0��"�$�,�6�6�47��D�I���4G�4G�� �T�0�1�1�1�7�6rOc��|�|j}|�g|re|jj�Yt��}t jt ��5t||jj��}ddd��n #1swxYwY|�dSt|tj ��std���|� ��|j tj<dS)zSet basic auth.Nz%BasicAuth() tuple is required instead)r�rar�r2� contextlib�suppress� LookupErrorr1r�rr.r��encoderdr� AUTHORIZATION)rwr�r�� netrc_objs rPr�zClientRequest.update_auth4s�� �<��9�D� �<�I�<�$�(�-�*C�&�(�(�I��$�[�1�1� F� F�+�I�t�x�}�E�E�� F� F� F� F� F� F� F� F� F� F� F���� F� F� F� F� �<� �F��$�� 1�2�2� E��C�D�D� D�+/�;�;�=�=�� �T�'�(�(�(s�A(�(A,�/A,c��|�dSt|t��r |��} tj�|d���}n,#tj$rt|����}YnwxYw||_|jsEtj |j vr2|j x}�"t|��|j tj <nd|_|j sJ�|j }|j }|j ���D]\}}||vs|�||vr�|||<�dS)N)� dispositionT)r�r+r!�PAYLOAD_REGISTRYrsrEr�r�rr@rd�sizer]r�r)rwr�rLrd� skip_headersr r!s rPr�z#ClientRequest.update_body_from_dataDsA�� �<� �F� �d�H� %� %� ��4�6�6�D� $��+�/�/��$�/�G�G�D�D���"� $� $� $�!�8�D�>�>�#�#�D�D�D� $������ ��|� $�� 3�4�<� G� G�� �!��.�47��I�I�� �T�0�1�1�#�� ��|���|��,���.� ��,�,�,�.�.� !� !�J�C���g�~�~�,�":�s�l�?R�?R�� �G�C�L�L� !� !s�!A�&A0�/A0�expectc���|rd|jtj<nBtj|jvr/|jtj���dkrd}|r |j���|_dSdS)Nz 100-continueT)rdr�EXPECTr?r�� create_future� _continue)rwrNs rPr�z$ClientRequest.update_expect_continuecsz�� � �(6�D�L��� %� %� �K�4�<� '� '�� �T�[�)�/�/�1�1�^�C�C��F� � 7�!�Y�4�4�6�6�D�N�N�N� 7� 7rOc��||_|�d|_d|_dS|r)t|tj��st d���||_|�+t|ttf��st|��}||_dS)Nz,proxy_auth must be None or BasicAuth() tuple) r�r�r�r�rr.rtrrr)rwr�r�r�s rPr�zClientRequest.update_proxyos��� �� � �=�"�D�O�!%�D� � �F� � M�j��W�5F�G�G� M��K�L�L� L�$��� � $�Z� �I�~�6�. �. � $�(� �6�6�M�*����rO�connrJc��K�|j�'|����d{V��|j�d{V��|j}|�J� t|jt j��r!|j�|���d{V��nSt|jttf��r |jf|_|jD]}|�|���d{V���|� ���d{V��|� ��dS#t$ra}|}|j dupt|tj�� }|rt!|j d|j����}t%|||��Yd}~dSd}~wtj$r|����t*$r,}t%|t-d|����|��Yd}~dSd}~wwxYw)z-Support coroutines that yields bytes objects.NzCan not write request body for z4Failed to send bytes into the underlying connection )rR�drain�protocolr�r�r!�Payload�writer�� bytearray� write_eof� start_timeout�OSError�errnor�� TimeoutErrorr$rar5�CancelledError�close� Exceptionr#)rwr�rTrW�chunk�underlying_exc� reraised_exc�exc_is_not_timeouts rP� write_byteszClientRequest.write_bytes�sp���� �>� %��,�,�.�.� � � � � � � ��.� � � � � � � ��=���#�#�#�$ %��$�)�W�_�5�5� .��i�o�o�f�-�-�-�-�-�-�-�-�-�-��d�i�%��);�<�<�-�!%�� �D�I�!�Y�.�.�E� �,�,�u�-�-�-�-�-�-�-�-�-�-�6�"�"�$�$� $� $� $� $� $� $� $� � "� "� $� $� $� $� $��7� B� B� B�)�L�!/�!5�T�!A�"���� 4�J�J�F� �"� �,�"�(�C�d�h�C�C� � � � �(�L�.� A� A� A� A� A� A� A� A� A������%� � � � �J�J�L�L�L� �� � � � ��%�T�4�T�T����  � � � � � � � � ����� ���s%�BD� G� AE&�&0G�!F=�=Gc ��XK�|jtjkr"|jj}|�J�|�d|jj��}n<|jr)|���st|j��}n |jj }|j }|�J�t||j |j r%tj|j|j|j��nd|j r%tj|j|j|j��nd���}|jr|�|j��|j�|���|j|jvrA|j�tj|jvr'tj|jvrd|jtj<|j}tj|jvrK|jjr |t<krd|jtj<n|t>krd|jtj<|j�d|�d|j �d|j!��}|�"||j���d{V��|j#s|j$�|j%r||�&||��}tNj(d krtSj*||j d � ��} n|j �+|��} | �,��rd} n2| |_-n*|�.��|�/��d} |j0} | �J�| |j|j1| |j$|j2|j3|j |j |j4� � � |_5|j5S) N�:)� on_chunk_sent�on_headers_sentzapplication/octet-streamraz keep-alive� z HTTP/r)r�� T)r�� eager_start)r�� continue100r�r r�r�r�)6rbr� METH_CONNECTra�host_subcomponentr�r�r�r]� raw_path_qsrWr;r�r�� functools�partial�_on_chunk_request_sent�_on_headers_request_sentr��enable_compressionr��enable_chunking� POST_METHODSr�� CONTENT_TYPErdr�� CONNECTION� _connector� force_closer:r9�major�minor� write_headersr�rR�writing_pausedrgr�� version_infor��Task� create_task�doner�r\�set_eofr�r�r�r r��response) rwrT� connect_host�pathrWr�r� status_line�coro�taskr�s rP�sendzClientRequest.send�sG���� �;�$�+� +� +��8�5�L��+�+�+�"�4�4�T�X�]�4�4�D�D� �Z� (�� � � � � (��t�x�=�=�D�D��8�'�D��=���#�#�#�� � �I��<�� �!�$�"=�t�{�D�H�U�U�U���<�� �!�$�"?���d�h�W�W�W��  �  �  �� �=� 5� � %� %�d�m� 4� 4� 4� �<� #� � "� "� $� $� $� �K�4�,� ,� ,��'�/��$�D�,C�C�C��!���5�5�.H�D�L��*� +� �L�� �?�$�,� .� .���*� =�� �%�%�4;�D�L���1���m�#�#�0<�� �T�_�-���F�F�t�F�F�1�7�F�F�Q�W�F�F� ��"�"�;�� �=�=�=�=�=�=�=�=�=� �9� ���2�h�6M�2��#�#�F�D�1�1�D���7�*�*��|�D�t�y�d�K�K�K����y�,�,�T�2�2���y�y�{�{� $����#�� � � � "� "� $� $� $� �N�N� � � ��D��,���)�)�)�&�� �K� � �����+��*��<����M�  �  �  �� ��}�rOc���K�|j�f |j�d{V��dS#tj$rDtjdkr*tj��x}r|���r�YdSYdSYdSwxYwdS�N)r�� )r�r�r`r�r�� current_task� cancelling�rwr�s rPrazClientRequest.closes����� �=� $� ��m�#�#�#�#�#�#�#�#�#���)� � � ��$��/�/�!(�!5�!7�!7�7��0����)�)�0�� 0�/�/�/�/�/�/�/�/� ���� %� $s� �A A-�,A-c���|j�Z|j���s|j���|j�|j��d|_dSdSr|)r�r�� is_closed�cancelr�r�r}s rP� terminatezClientRequest.terminate"s`�� �=� $��9�&�&�(�(� '�� �$�$�&�&�&� �M� .� .�t�/B� C� C� C� �D�M�M�M� %� $rOrcc��XK�|jD]}|�|||���d{V��� dSr|)r��send_request_chunk_sent)rwrbrarc�traces rPruz$ClientRequest._on_chunk_request_sent)sR�����\� D� D�E��/�/���U�C�C� C� C� C� C� C� C� C� C� D� DrOzCIMultiDict[str]c��XK�|jD]}|�|||���d{V��� dSr|)r��send_request_headers)rwrbrardr�s rPrvz&ClientRequest._on_headers_request_sent-sT�����\� C� C�E��,�,�V�S�'�B�B� B� B� B� B� B� B� B� B� C� CrOr|)r�r�rLN�rLN)F)rTrJrLrF)TrZr[r\r�METH_GET� METH_HEAD� METH_OPTIONS� METH_TRACEr�� METH_PATCH� METH_POST�METH_PUTry�union� METH_DELETE� ALL_METHODS�ACCEPT�ACCEPT_ENCODINGrQr)r�r r^r�r�r�rRr�rrr:r]rrBrArr@r.r8rr�r��AbstractEventLooprr-rDrHrrz�objectr�r�rr�r��setterr�r�r�rr�r�r�rGr r�r�r�r�r�r�r�r�r�r�r�r"rgr�rar�r�rurvrNrOrPrErE�s�������� � � �� �� �� �K� �O�T�^�T�]�C�L��#�#�L�1�1�7�7��9I�8J�K�K�K� � �U� ��:�:�<�<��O� �D�#�O�O�O� �D��H��H��I�8<���!4�5�<�<�<��*.�59��*.�$(�$(�$6�+/�"&��48�;?�#�*.�,0�-1�48�04�*.��)-�3M8�M8�M8��M8��M8� � M8� �,�'� M8�$�H�S�M�2�M8��M8��,�'�M8��y�!�M8��!�M8���T�4��(�M8��$��M8��M8��w�0�1�M8� !��&6�!7�8�!M8�"��}�#M8�$�Y�'�%M8�&�(�)�'M8�(�/�*�)M8�*�:�t�[�0� 1�+M8�, � �-�-M8�.��g��'�/M8�0�1M8�2"�#��3M8�M8�M8�M8�^����$������8�;�t�#4�8�8�8��X�8����"6�7�����X�� �^�6�6�6��^�6� /��/�/�/�/���U�<��{�:�;�����X��� � � � � ��X� �&��c�����X�� ��h�s�m�����X��� �k� � � ��X� �N�s�N�t�N�N�N�N� �e�D�,<�c�,A�&B� �t� � � � �-�h�|�&<�-��-�-�-�-�2<�X�h�s�m�5L�<�QU�<�<�<�<�&I�h�|�&<�I��I�I�I�I�2 �C� �D� � � � �$H�H�H�H�,9�9��� 3�9��9�QU�9�9�9�9� !�#�!�$�!�!�!�!�> 7� 7�T� 7�d� 7� 7� 7� 7�+���}�+��Y�'�+� � �-� +� � +�+�+�+�,/%�*�/%�2>�/%� �/%�/%�/%�/%�b^�^�^�^�@ � � � �!�!�!�!�D�3�D�S�D��D�SW�D�D�D�D�C��C� #�C�.@�C� �C�C�C�C�C�CrOrE�Connection closedc�Z�eZdZUdZeeed<dZeed<dZ ee ed<dZ e ed<dZ eeed<dZee ed<dZed ed <dZeed <dZed ed <dZeeed<dZeded<dZeejed<dZeded<dZdZdZd�Z e!dege fed<dZ"eded<de de#dddedde$d e%d!e&d"d#e'j(d$dd%dfd&�Z)d[d'e*d%dfd(�Z+e,d%edfd)���Z-e-j.dedd%dfd*���Z-e,d%efd+���Z/e/j.d,ed%dfd-���Z/e0d%e#fd.���Z1e0d%e#fd/���Z2e0d%e#fd0���Z3e0d%e fd1���Z4e0d\d3���Z5e0d%efd4���Z6e0d%e%fd5���Z7e0d%ee8fd6���Z9e:fd7e;d%dfd8�Z<d%e fd9�Z=e,d%ed fd:���Z>e0d%ed fd;���Z?e0d]d=���Z@d^d?�ZAd_d@�ZBe,d%eCfdA���ZDd_dB�ZEd%e;fdC�ZFe,d%eCfdD���ZGd_dE�ZHd_dF�ZId_dG�ZJd_dH�ZKd_dI�ZLd_dJ�ZMd%efdK�ZNd%e fdL�ZOd`dNee dOe d%e fdP�ZPdeQdQdR�dNee dSeRdTee d%e;fdU�ZSdadV�ZTdWeeUeVdXeeVdYeeWd%dfdZ�ZXdS)brFNr��status�reason�content�_body�_headersrN)rF.�_history� _raw_headersrJ� _connection�_cookieszasyncio.Future[bool]rRr�rIr�TFc��dS)N�utf-8rN)r�s rP�<lambda>zClientResponse.<lambda>Rs��G�rO�_resolve_charsetr��_ClientResponse__writerrbrar�zOptional[asyncio.Task[None]]ror�r r�rKr�r�rLc���t|��tusJ�||_||_|jr|�d��n||_|�||_|�||_||_ |�|n t��|_ i|_ ||_ ||_| �| |_| j|_|���r-t%jt)jd����|_dSdS)Nr)rWrrb� _real_urlr�r��_urlr�rR� _request_infor0r��_cacher��_loopr�r�r�r�r�r�r�r�) rwrbrar�ror�r r�r�r�s rPrzzClientResponse.__init__Vs����C�y�y�C������� ����/2�/?�H�C�%�%�d�+�+�+�S�� � � �!�D�L� � "�(�D�N�)���$�0�e�e�i�k�k�� �&(�� ��� ��� � � �#�D�M�$+�$<�D� !� �>�>� � � O�%.�%<�S�]�1�=M�=M�%N�%N�D� "� "� "� O� OrOr�c��d|_dSr|�r�r�s rPr�zClientResponse.__reset_writer}r�rOc��|jS)z�The writer task for streaming data. _writer is only provided for backwards compatibility for subclasses that may need to access it. r�r}s rPr�zClientResponse._writer�s ���}�rOc���|j�|j�|j��||_|�dS|���r d|_dS|�|j��dS)z'Set the writer task for streaming data.N)r�r��_ClientResponse__reset_writerr�r�r�s rPr�zClientResponse._writer�sn�� �=� $� �M� .� .�t�/B� C� C� C��� � �>� �F� �;�;�=�=� :� �D�M�M�M� � $� $�T�%8� 9� 9� 9� 9� 9rOc�D�|j�t��|_|jSr|)r�rr}s rPr�zClientResponse.cookies�s�� �=� �(�N�N�D�M��}�rOr�c��||_dSr|)r�)rwr�s rPr�zClientResponse.cookies�s ���� � � rOc��|jSr|)r�r}s rPrazClientResponse.url�r�rOc�H�tjdtd���|jS)NzDeprecated, use .url #1654�r�)r�r�r�r�r}s rP�url_objzClientResponse.url_obj�s$��� �2�4F�ST�U�U�U�U��y�rOc��|jSr|)r�r}s rPrezClientResponse.real_url�s ���~�rOc�6�|jj�J�|jjSr|)r�r�r}s rPr�zClientResponse.host�s���y�~�)�)�)��y�~�rOrcc��|jSr|)r�r}s rPrdzClientResponse.headers�r�rOc��|jSr|)r�r}s rP� raw_headerszClientResponse.raw_headers�r~rOc��|jSr|)r�r}s rPr zClientResponse.request_info�s ���!�!rOc���|j�tj��}|�dSt j|��\}}t |��}t j|��}t|||��Sr|) r�rsr�CONTENT_DISPOSITIONr �parse_content_dispositionr �content_disposition_filenamerV)rw�raw�disposition_type� params_dctr�rYs rP�content_dispositionz"ClientResponse.content_disposition�sj���m���� 8�9�9�� �;��4�'0�'J�3�'O�'O�$��*�!�*�-�-���9�&�A�A��!�"2�F�H�E�E�ErO� _warningsc�P�|jrdS|j��|j���|���|j���rOd|i}|jd|��tfi|��|dd�}|jr |j|d<|j� |��dSdSdS)N�sourcezUnclosed response zUnclosed response)�client_response�message�source_traceback) �_closedr��release�_cleanup_writerr�r�r��ResourceWarningr��call_exception_handler)rwr��kwargs�contexts rP�__del__zClientResponse.__del__�s��� �<� � �F� � � '� � � $� $� &� &� &� � � � "� "� "��z�#�#�%�%� ;�"�D�)��� ��<�D�<�<�o�X�X�QW�X�X�X�.2�?R�S�S���)�I�26�2H�G�.�/�� �1�1�'�:�:�:�:�:� (� '� ;� ;rOc�j�tj��}t|j��}|jr/|j�dd���d��}nd}td�||j |��|���t|j |���|� ��S)N�ascii�backslashreplace�Nonez<ClientResponse({}) [{} {}]>)�file) �io�StringIOr]rar�rF�decode�printr�r�rd�getvalue)rw�out�ascii_encodable_url�ascii_encodable_reasons rP�__repr__zClientResponse.__repr__�s����k�m�m��!�$�(�m�m�� �;� ,�%)�[�%7�%7��+�&�&��f�W�o�o� #� "�&,� "� � *� 1� 1�#�T�[�2H� � ��  � � � � �d�l��%�%�%�%��|�|�~�~�rOc��|jSr|)r�r}s rP� connectionzClientResponse.connection�s ����rOc��|jS)z2A sequence of of responses, if redirects occurred.)r�r}s rP�historyzClientResponse.history�s ���}�rO�/MultiDictProxy[MultiDictProxy[Union[str, URL]]]c �j�d�|j�dg����}|stt ����St ��}t jd|��D�]5}t jd|��}|��|���\}}|�d��dd�}t ��}|D]T} t jd| t j ��}|��%|���\} } } } |� | | ���U|� d|��} |� d |j �t|������|� t| ��t|������7t|��S) Nz, �linkz ,(?=\s*<)z \s*<(.*)>(.*)r.rz%^\s*(\S*)\s*=\s*(['\"]?)(.*?)(\2)\s*$�relra)�joinrd�getallrr�rerr��groups�Mrrsrarr]) rw� links_str�linksr,r�ra� params_strr�r��paramr r�r!s rPrzClientResponse.links�s}���I�I�d�l�1�1�&�"�=�=�>�>� �� /�!�)�+�+�.�.� .�<E�K�K���8�L�)�4�4� 6� 6�C��H�-�s�3�3�E��}��#�l�l�n�n�O�C���%�%�c�*�*�1�2�2�.�F�/8�{�{�D�� %� %����!I�5�RT�RV�W�W���=��#(�<�<�>�>� ��Q��q�����e�$�$�$�$��(�(�5�#�&�&�C� �H�H�U�D�H�M�M�#�c�(�(�3�3� 4� 4� 4� �I�I�c�#�h�h��t� 4� 4� 5� 5� 5� 5��e�$�$�$rOr�c ��K�d|_|j|_||_|j5 |j}|����d{V��\}}nE#t j$r3}t|j |j |j |j |j ���|�d}~wwxYw|j dks|j dks |j dkrn$|j�t|jd��d|_�� ddd��n #1swxYwY|j|j��|j|_|j |_|j|_|j |_|j|_||_|j �t4jd��x}r\t9��}|D]D} |�|���#t<$r}t?j d |��Yd}~�=d}~wwxYw||_!|S) zStart response processing.FTN�r�r�rd�d���erNz!Can not load response cookies: %s)"r�rW� _protocolr�r��readr�HttpProcessingErrorr%r r��coder�rdrRr6�on_eof� _response_eofr�r�r�r�r�r�r�rr� SET_COOKIErr2rr<�warningr�) rwr�rWr�r!�exc� cookie_hdrsr�r$s rP�startzClientResponse.starts]������ �#�,���%��� �[� *� *� *� �#�~�H�-5�]�]�_�_�'<�'<�'<�'<�'<�'<�$�G�W�W���/����-��)�� �"�x� #� � #� � ��� � ����������<�#�%�%����);�);�w�|�s�?R�?R���>�-��t�~�t�4�4�4�%)�D�N�' *��! *� *� *� *� *� *� *� *� *� *� *���� *� *� *� *�. ���t�)�*�*�*���� ��l�� ��n�� � ��� �#�/����� ��,�-�-�d�o�r�B�B� B�;� $�"�n�n�G�"� T� T��T��L�L��%�%�%�%��"�T�T�T�!�)�*M�s�S�S�S�S�S�S�S�S�����T����#�D�M�� sM�C$�$A � C$� B�.B � B�A C$�$C(�+C(�F� G�!F;�;Gc��|jrdS|jo |jj}|� |jrdSd|_|���|���dS�NT)r�r�rW�upgradedr��_release_connection)rwrWs rPrzClientResponse._response_eofNsj�� �<� � �F��#�A��(8�(A�� � �H�$5� � �F��� � ������ � � �"�"�"�"�"rOc��|jSr|)r�r}s rP�closedzClientResponse.closed[s ���|�rOc��|js|���d|_|j�|j���rdS|���|j�"|j���d|_dSdSr)� _released�_notify_contentr�r�r�r�r�rar}s rPrazClientResponse.close_s����~� #� � � � "� "� "��� � �:� ���!5�!5�!7�!7� � �F� ������ � � '� � � "� "� $� $� $�#�D� � � � (� 'rOc��|js|���d|_|���|���t ��Sr)r r!r�r�rr3r}s rPr�zClientResponse.releaselsR���~� #� � � � "� "� "��� � ������ � � �"�"�"��v�v� rOc��d|jkS)z�Returns ``True`` if ``status`` is less than ``400``, ``False`` if not. This is **not** a check for ``200 OK`` but a check that the response status is under 400. i�)r�r}s rP�okzClientResponse.okvs���T�[� � rOc��|jsQ|j�J�|js|���t |j|j|j|j|j����dS)Nr ) r$r�� _in_contextr�r%r r�r�rdr}s rP�raise_for_statuszClientResponse.raise_for_statusso���w� ��;�*�*�*��#� �� � ����%��!�� ��{�� �� � ��� � � rOc����j�H�j�"�j���d�_dS�j��fd���dSdS)Nc�,������Sr|)r)�frws �rPr�z4ClientResponse._release_connection.<locals>.<lambda>�s���$�:R�:R�:T�:T�rO)r�r�r�r�r}s`rPrz"ClientResponse._release_connection�se��� � � '��}�$�� �(�(�*�*�*�#'�� � � �� �/�/�0T�0T�0T�0T�U�U�U�U�U� (� 'rOc���K�|j�^ |j�d{V��nO#tj$r=tjdkr*tj��x}r|���r�YnwxYw|���dSr�)r�r�r`r�r�r�r�rr�s rP�_wait_releasedzClientResponse._wait_released�s����� �=� $� ��m�#�#�#�#�#�#�#�#���)� � � ��$��/�/�!(�!5�!7�!7�7��0����)�)�0����  ���� � � �"�"�"�"�"�� �A A%�$A%c�T�|j�|j���d|_dSr|)r�r�r�r}s rPr�zClientResponse._cleanup_writer�s)�� �=� $� �M� � � "� "� "��� � � rOc�x�|j}|r)|����t|t��d|_dSr)r�� exceptionr5�_CONNECTION_CLOSED_EXCEPTIONr )rwr�s rPr!zClientResponse._notify_content�s?���,�� � A�w�(�(�*�*�2� �'�#?� @� @� @�����rOc���K�|j�^ |j�d{V��nO#tj$r=tjdkr*tj��x}r|���r�YnwxYw|���dSr�)r�r�r`r�r�r�r�r�r�s rP�wait_for_closezClientResponse.wait_for_close�s����� �=� $� ��m�#�#�#�#�#�#�#�#���)� � � ��$��/�/�!(�!5�!7�!7�7��0����)�)�0����  ���� � � �����r-c��K�|j� |j����d{V��|_|jD].}|�|j|j|j���d{V���/n9#t$r|����wxYw|j rtd���|j o |j j }|�|j s|����d{V��|jS)zRead response payload.Nr�)r�r�rr��send_response_chunk_receivedrbra� BaseExceptionrar r#r�rWrr,)rwr�rWs rPrzClientResponse.read�s-���� �:� � �#'�<�#4�#4�#6�#6�6�6�6�6�6�6�� �!�\���E��<�<�� �T�X�t�z�������������!� � � �� � � � � �� �����^� =�'�(;�<�<� <��#�A��(8�(A�� � �8�#4� ��%�%�'�'� '� '� '� '� '� '� '��z�s �AA&�& Bc��|j�tjd�����}t j|��}|j�d��}|rPtj tt��5tj |��jcddd��S#1swxYwY|jdkr|jdks |jdkrdS|j�t%d���|�||j��S)Nr�charset� application�json�rdapr�z7Cannot compute fallback encoding of a not yet read body)rdrsrrzr?r�parse_mimetyperXrCrDrErt�codecs�lookupr8rW�subtyper�� RuntimeErrorr�)rw�ctype�mimetype�encodings rP� get_encodingzClientResponse.get_encoding�s;��� � � ��!2�B�7�7�=�=�?�?���)�%�0�0���&�*�*�9�5�5�� � 4��$�[�*�=�=� 4� 4��}�X�.�.�3� 4� 4� 4� 4� 4� 4� 4� 4� 4� 4� 4� 4���� 4� 4� 4� 4� �=�M� )� )� � �� &� &�(�*:�f�*D�*D��7� �:� ��I��� ��$�$�T�4�:�6�6�6s�B-�-B1�4B1�strictrC�errorsc��K�|j�|����d{V��|�|���}|j�||���S)z!Read response payload and decode.N)rF)r�rrDr�)rwrCrFs rP�textzClientResponse.text�s`���� �:� ��)�)�+�+� � � � � � � � � ��(�(�*�*�H��z� � ��&� �9�9�9rOr�)rC�loads� content_typerIrJc���K�|j�|����d{V��|rr|j�tjd�����}t||��s+t|j |j |j d|z|j����|j� ��}|sdS|�|� ��}||�|����S)zRead and decodes JSON response.Nrz3Attempt to decode JSON with unexpected mimetype: %sr )r�rrdrsrrzr?r�r&r r�r�rrDr�)rwrCrIrJrA�strippeds rPr:zClientResponse.json�s����� �:� ��)�)�+�+� � � � � � � � � ��L�$�$�T�%6��;�;�A�A�C�C�E�,�U�L�A�A� �&��%��L��;�M�PU�U� �L������:�#�#�%�%��� ��4� � ��(�(�*�*�H��u�X�_�_�X�.�.�/�/�/rOc��K�d|_|Sr)r&r}s rP� __aenter__zClientResponse.__aenter__s�������� rO�exc_type�exc_val�exc_tbc��tK�d|_|���|����d{V��dS)NF)r&r�r3)rwrOrPrQs rP� __aexit__zClientResponse.__aexit__sI���� !��� � � �����!�!�#�#�#�#�#�#�#�#�#�#�#rOr|)rLrc)rLr�)r�rJrLrFr�)NrE)rLrF)YrZr[r\r�rr8r^r�r�r�r]r�r=r�r�r�rr�rr�rCr�r�rrRr�r�� StackSummaryr�r�r r&r�r r�rr-rGrr�r�rzr�r�r�r�r�r�r4rar�rer�rdr�r rVr�r�r r�r�r�r�rrrr�rrar�r$r'rr,r�r!r3rrDrHr>r?r:rNrr6r rSrNrOrPrFrF7s!������� &*�G�X�k� "�)�)�)��F�C���� �F�H�S�M� � � � �G�\� � � �!�E�8�E�?�!�!�!�&*�H��s�#�*�*�*�-/�H�e�)�*�/�/�/�#�L�*�#�#�#�*.�K��,�'�.�.�.�'+�H�h�|�$�+�+�+�26�I�x�.�/�6�6�6�:>��x� � 6�7�>�>�>�*.�H�h��'�.�.�.��G��I��K�AS�AS��h� 0�%�8�#�=�>�S�S�S�/3�H�h�+�,�3�3�3�%O��%O��%O� /� %O� �4�5� %O� �%O�"�%O��W� �%O��'�%O�!�%O� �%O�%O�%O�%O�N����$��������"6�7�����X�� �^� :�h�';�<� :�� :� :� :��^� :��������X��  �^� �|� �� � � ��^� � ��S���� �U�� ������ �U�� ��#���� �U�� ��c���� �U�� ���� �U�� �!�Z�!�!�!� �U�!� �"�k�"�"�"� �U�"� �F�X�.@�%A�F�F�F� �U�F�(0�;�;��;�D�;�;�;�;� �#�����$� �H�\�2� � � ��X� � ���4�5���� �U�� �!%�!%�!%� �U�!%�F4�4�4�4�l #� #� #� #��������X�� $� $� $� $��������!�D�!�!�!��X�!�����$V�V�V�V� #� #� #� #����� ���� � � � ��E�����(7�c�7�7�7�7�.:�:�8�C�=�:��:�TW�:�:�:�:�#'�1�&8� 0�0�0��3�-�0�� 0� �s�m� 0� � 0�0�0�0�B���� $��4� �.�/� $��-�(� $���'� $� � $� $� $� $� $� $rOrF)xr�r=rCrsr�rr�r�r��hashlibrrr� http.cookiesrrr�typesr r �typingr r r rrrrrrrrr�attr� multidictrrrr�yarlrrrrrr r!�abcr"�client_exceptionsr#r$r%r&r'r(�compression_utilsr*�formdatar+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;�logr<�streamsr=�typedefsr>r?r@rArBrCr�rD� ImportErrorr��__all__�clientrI� connectorrJ�tracingrK�compiler�r�r]rQ�srVr`rGrHr�rWr�r�r�� frozensetr�r�r�rEr1rFrNrOrP�<module>rks������� � � � ��������� � � � � � � � � � � � ���������%�%�%�%�%�%�%�%�%�%�:�:�:�:�:�:�:�:�:�:�1�1�1�1�1�1�1�1� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �N�N�N�N�N�N�N�N�N�N�N�N�������5�5�5�5�5�5�5�5�5�5�5�5�5�5�%�%�%�%�%�%�����������������*�)�)�)�)�)������� � � � � � � � � � � � � � � � � � � � � � � � � � ���������������������!�!�!�!�!�!������������������ ��J�J�J���������� � � �"�"�"�"�"�"�"�� ������� � � ����� L����%�%�%�%�%�%�%�%�%�%�%�%�������'�B�J�'E�F�F�� �"�*�9� :� :��B�c�B�B�B�B����T�$�d�3�3�3��������4�3�� �����:���� � � � � �,� � � �$P�P�P�P�P�P�P�P�@�?����{�D�D��J�J�G����t�t�D�z�z�*��4� �|�T�;�.� /�4����4��,�'�4��%�� 4�  �<��{� *�+� 4�4�4�4�n�y�)�*�*� � &� &� &� &� &�J� &� &� &�:��:�7:�:� �:�:�:�:�rC�rC�rC�rC�rC�rC�rC�rC�j 5�4�5H�I�I��l$�l$�l$�l$�l$�\�l$�l$�l$�l$�l$s�5 D� D � D 
Memory