
    }i                        U d 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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mZmZmZmZmZmZmZmZm Z m!Z! ddl"Z"ddl#m$Z$m%Z%m&Z&m'Z' ddl(m)Z) dd	l*m+Z+m,Z,m-Z- dd
l.m/Z/ ddl0m1Z1 ddl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZO ddlPmQZQmRZR ddlSmTZTmUZUmVZVmWZWmXZX ddlYmZZZm[Z[m\Z\ ddl]m^Z^m_Z_m`Z`maZambZb ddlcmdZd ddlemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZo ddl,mpZpmqZqmrZrmsZs ddltmuZumvZvmwZw ddlxmyZymzZz ddl{m|Z|m}Z}m~Z~mZmZ dZerddlmZ ndZej                  dk\  rerddlmZ  G d ded      Z e"j                  ddd        G d! d"             Z ed#d$%      Zee   ed&<    eh d'      Z e d(eUe[      ZeeUegef   Z G d) d*      Z G d+ d,eeeef   ee         ZeeU   Zee[   Z G d- d.      Zej                  dk\  r9er7e,j,                  ddd/d0ed1ed2eqd3ee_   d4eej.                     d5ee   d6efd7Zye,j,                  ddd/d0ed1ed2eqd3ee_   d4eej.                     d5ed6efd8Zy)9zHTTP Client for asyncio.    N)suppress)TracebackType)TYPE_CHECKINGAny	AwaitableCallable	CoroutineFinal	FrozenSet	GeneratorGenericIterableListMappingOptionalSequenceSetTupleType	TypedDictTypeVarUnion)CIMultiDict	MultiDictMultiDictProxyistr)URL   )hdrshttppayload)WebSocketDataQueue)AbstractCookieJar)ClientConnectionErrorClientConnectionResetErrorClientConnectorCertificateErrorClientConnectorDNSErrorClientConnectorErrorClientConnectorSSLErrorClientErrorClientHttpProxyErrorClientOSErrorClientPayloadErrorClientProxyConnectionErrorClientResponseErrorClientSSLErrorConnectionTimeoutErrorContentTypeError
InvalidURLInvalidUrlClientErrorInvalidUrlRedirectClientErrorNonHttpUrlClientErrorNonHttpUrlRedirectClientErrorRedirectClientErrorServerConnectionErrorServerDisconnectedErrorServerFingerprintMismatchServerTimeoutErrorSocketTimeoutErrorTooManyRedirectsWSMessageTypeErrorWSServerHandshakeError)ClientMiddlewareTypebuild_client_middlewares)ClientRequestClientResponseFingerprintRequestInfo_merge_ssl_params)DEFAULT_WS_CLIENT_TIMEOUTClientWebSocketResponseClientWSTimeout)HTTP_AND_EMPTY_SCHEMA_SETBaseConnectorNamedPipeConnectorTCPConnectorUnixConnector)	CookieJar)
	_SENTINELDEBUGEMPTY_BODY_METHODS	BasicAuthTimeoutHandlebasicauth_from_netrcget_env_proxy_for_urlnetrc_from_envsentinelstrip_auth_from_url)WS_KEYHttpVersionWebSocketReaderWebSocketWriter)WSHandshakeError
ws_ext_genws_ext_parse)TraceTraceConfig)JSONEncoderLooseCookiesLooseHeadersQueryStrOrURL)*r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r8   r6   r5   r7   r9   r:   r;   r<   r=   r>   r@   rC   rD   rE   rF   rL   rN   rO   rM   rI   ClientSessionClientTimeoutrJ   requestr?   )
SSLContext      )Unpackc                      e Zd ZU eed<   eed<   eed<   eedf   ed<   eedf   ed<   ee	e
   df   ed<   eedf   ed<   eed	<   eed
<   ee
edf   ed<   eedf   ed<   eed<   edeeeged   f   f   ed<   eed<   eedf   ed<   eedf   ed<   ded<   eeeef   ed<   ee
df   ed<   eedf   ed<   eee
ef   df   ed<   eedf   ed<   eedf   ed<   eedf   ed<   eedf   ed<   eedf   ed<   eee      ed<   y)_RequestOptionsparamsdatajsonNcookiesheadersskip_auto_headersauthallow_redirectsmax_redirectscompresschunked	expect100raise_for_statusread_until_eofproxy
proxy_authz%Union[ClientTimeout, _SENTINEL, None]timeoutsslserver_hostnameproxy_headerstrace_request_ctxread_bufsizeauto_decompressmax_line_sizemax_field_sizemax_headersmiddlewares)__name__
__module____qualname__rg   __annotations__r   r   re   rf   r   strrT   boolintr   rD   r   rh   rl   rE   r   r   r   rA        A/var/www/files/kim/lib/python3.12/site-packages/aiohttp/client.pyrr   rr      sx   M
I
I<%&&<%&&Xc]D011
	4
  CtO$$4:OD$.1A9T?1R(SSTT4  io&&44	z4,	--39%%t+,,WS#X.455T	""4:&&d###t)$$sDy!!(#7899r   rr   FtotalT)auto_attribsfrozenslotsc                   l    e Zd ZU dZee   ed<   dZee   ed<   dZee   ed<   dZ	ee   ed<   dZ
eed<   y)rj   Nr   connect	sock_readsock_connect   ceil_threshold)r   r   r   r   r   floatr   r   r   r   r   r   r   r   rj   rj      sD    !E8E?!#GXe_#!%Ix%$(L(5/(NEr   rj   i,     )r   r   DEFAULT_TIMEOUT>   GETPUTHEADTRACEDELETEOPTIONS_RetTypec            C       
    e Zd ZU dZ eg d      ZdZeej                     e
d<   dZee   e
d<   	 dddddddddej                  eeeej&                  dddededddddd	d	d
d deddee   dee   deej.                     dee   dee   dee   dee   deee      dee   dedee   dee   dee   dedee    de!de"e!e#ege$d   f   f   de"e%e&f   d ee%   d!e"e'e(f   d"e!d#e!d$e!d%ee)e*      d&e+d'e+d(e+d)e+d*e,d+e-e.   d,e"e&de%f   d-df@d.Z/d/ed    d-dfd0Z0e1rd1ed2e2d-df fd3Z3e4fd4e2d-dfd5Z5e6jn                  d6k\  re8rd7ed8ed9e9e:   d-d:fd;Z;nd7ed8ed9e2d-d:fd<Z;d=ed-e<fd>Z=ddddddddd?dddddddedddddddddddddd@d7ed=edAe>dBe2dCe2dee   dee   deee      dee   dDe!dEe+dFe"ee!df   dGee!   dHe!de"de!e#ege$d   f   f   dIe!dee   dee   d!e"e(e&f   dJee!   dKee?   dLee@   dMe"e@e!eAf   dNee   dOee   dPeeBee2f      d&ee+   d"ee!   d'ee+   d(ee+   d)ee+   d+ee-e.      d-efBdQZCeDj                  dedddddddddddddddddRdSdTd8ed7edUee   d!e"eFe&f   dVee%   dWe!dXe!dYee%   dee   dZee   dAe>dee   dee   dee   dMe"e@e!eAf   dJee!   dKee?   dLee@   dNee   dOee   dFe+d[e+d-d\f.d]ZGeDj                  dedddddddddddddddddRdSdTd8ed7edUee   d!e"eFe&f   dVee%   dWe!dXe!dYee%   dee   dZee   dAe>dee   dee   dee   dMe"e@e!eAf   dJee!   dKee?   dLee@   dNee   dOee   dFe+d[e+d-ef.d^ZHdee   d-d_fd`ZIdaed-ee   fdbZJe6jn                  d6k\  r^e8r\d8ed9e9e:   d-d:fdcZKd8ed9e9e:   d-d:fddZLd8ed9e9e:   d-d:fdeZMd8ed9e9e:   d-d:fdfZNd8ed9e9e:   d-d:fdgZOd8ed9e9e:   d-d:fdhZPd8ed9e9e:   d-d:fdiZQndddjd8edDe!d9e2d-d:fdkZKddjd8edDe!d9e2d-d:fdlZLddjd8edDe!d9e2d-d:fdmZMddnd8edBe2d9e2d-d:fdoZNddnd8edBe2d9e2d-d:fdpZOddnd8edBe2d9e2d-d:fdqZPd8ed9e2d-d:fdrZQddsZReSd-e!fdt       ZTeSd-ee   fdu       ZUeSd-e fdv       ZVeSd-eWe+e+f   fdw       ZXeSd-e!fdx       ZYeYj                  d2e!d-dfdy       ZYeSd-ej.                  fdz       Z[eSd-e(fd{       Z\eSdd|       Z]eSd-e^e_   fd}       Z`eSd-ee   fd~       ZaeSd-efd       ZbeSd-e!fd       ZceSd-e"e!e#ege$d   f   f   fd       ZdeSd-e!fd       ZeeSd-e!fd       ZfeSd-e)e*   fd       ZgddZhddZideeej      deej   deek   d-dfdZlddZmdeeej      deej   deek   d-dfdZn xZoS )ri   z/First-class interface for making HTTP requests.)	_base_url_base_url_origin_source_traceback
_connector_loop_cookie_jar_connector_owner_default_auth_version_json_serialize_requote_redirect_url_timeout_raise_for_status_auto_decompress
_trust_env_default_headers_skip_auto_headers_request_class_response_class_ws_response_class_trace_configs_read_bufsize_max_line_size_max_field_size_max_headers_resolve_charset_default_proxy_default_proxy_auth_retry_connection_middlewaresrequote_redirect_urlNr   r   TF   i     c                      y)Nzutf-8r   )rbs     r   <lambda>zClientSession.<lambda>5  s    r   r   )	connectorlooprv   rw   r   r   rx   ry   json_serializerequest_classresponse_classws_response_classversion
cookie_jarconnector_ownerr   read_timeoutconn_timeoutr   r   	trust_envr   trace_configsr   r   r   r   fallback_charset_resolverr   ssl_shutdown_timeoutbase_urlr   r   rv   rw   r   r   rx   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   returnc                P   d | _         |||j                  }|xs t        j                         }|t	        |t
              r!|| _        |d n|j                         | _        nLt        |      | _        | j                  j                         | _        | j                  j                  sJ d       | j                  0| j                  j                  j                  d      st        d      |t        u s|t        | _        |t        urBt!        j"                  dt$        d       t'        j(                  | j                  |      | _        |t'        j(                  | j                  |      | _        t!        j"                  d	t$        d       nOt	        |t*              st        d
t-        |       d      || _        |t        urt        d      |t        d      |t        urt!        j"                  dt$        d       |t/        ||      }|j                  |urt1        d      || _        |j3                         r-t5        j6                  t9        j:                  d            | _        |t?        |      }|| _         |r| j@                  jC                  |       || _         || _"        |	| _#        || _$        |
| _%        || _&        || _'        || _(        || _)        || _*        || _+        || _,        || _-        |rt]        |      } n
t]               } | | _/        |ta        d |D              | _1        nta               | _1        || _2        || _3        || _4        |xs g | _5        | jj                  D ]  }!|!jm                           || _7        || _8        || _9        d| _:        || _;        y )Nz Only absolute URLs are supported/z!base_url must have a trailing '/'z8read_timeout is deprecated, use timeout argument instead   
stacklevelr   )r   z8conn_timeout is deprecated, use timeout argument insteadztimeout parameter cannot be of z. type, please use 'timeout=ClientTimeout(...)'zGread_timeout and timeout parameters conflict, please setup timeout.readzJconn_timeout and timeout parameters conflict, please setup timeout.connectzSThe ssl_shutdown_timeout parameter is deprecated and will be removed in aiohttp 4.0)r   r   z0Session and connector has to use same event loopr   r   c              3   2   K   | ]  }t        |        y wN)r   ).0is     r   	<genexpr>z)ClientSession.__init__.<locals>.<genexpr>  s     /SAQ/Ss   T)<r   r   asyncioget_running_loop
isinstancer   r   originr   absolutepathendswith
ValueErrorrY   r   r   warningswarnDeprecationWarningattrevolverj   typerN   RuntimeError	get_debug	tracebackextract_stacksys	_getframer   rP   r   update_cookiesr   r   r   r   r   r   r   r   r   r   r   r   r   r   	frozensetr   r   r   r   r   freezer   r   r   r   r   )"selfr   r   r   rv   rw   r   r   rx   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   real_headerstrace_configs"                                     r   __init__zClientSession.__init__  sn   N 48<$ 1w//1z(C8,4DN,4,<D(//BSD! ]DN$(NN$9$9$;D!>>**N,NN*>>%dnn.A.A.J.J3.O@AAh'/+DM8+N& 
 !%DMM N' $DMM< PN&  g}5 5d7m_ E> >  $DM8+ # 
 ' &   x/MMe" $0DI ??$&QRR
>>%.%<%<S]]1=M%ND""-J%++G4# /!-!1 /#%9")+-' -8-AL&=L2>(&//SAR/S&SD#&/kD#+-"3+1r // 	"L!	" !:##- '+'r   clsc                 n    t        j                  dj                  | j                        t        d       y )Nz6Inheritance class {} from ClientSession is discouragedr   r   )r   r   formatr   r   )r
  s    r   __init_subclass__zClientSession.__init_subclass__  s'    #VCLL1		
r   namevalc                     || j                   vr+t        j                  dj                  |      t        d       t
        |   ||       y )Nz8Setting custom ClientSession.{} attribute is discouragedr   r   )ATTRSr   r   r  r   super__setattr__)r  r  r  	__class__s      r   r  zClientSession.__setattr__  s@    4::%%%+VD\& 	 Gc*r   	_warningsc                     | j                   s[d| i} |j                  d| t        fi | | dd}| j                  | j                  |d<   | j                  j                  |       y y )NsourcezUnclosed client session zUnclosed client session)client_sessionmessagesource_traceback)closedr   ResourceWarningr   r   call_exception_handler)r  r  kwargscontexts       r   __del__zClientSession.__del__  sv    {{%FINN*4(3_HN *.:STG%%1.2.D.D*+JJ--g6 r   rm   methodurlr  _RequestContextManagerc                      y r   r   r  r!  r"  r  s       r   rk   zClientSession.request  s    
 (+r   c                 <    t         | j                  ||fi |      S )zPerform HTTP request.)r#  _requestr%  s       r   rk   zClientSession.request  s!     *-$--*Nv*NOOr   
str_or_urlc                     t        |      }| j                  r'|j                  s| j                  j                  |      S |S r   )r   r   r   join)r  r(  r"  s      r   
_build_urlzClientSession._build_url  s2    *o>>#,,>>&&s++
r   
   )rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   
verify_sslfingerprintssl_contextr   r   r   r   r   r   r   r   r   r   rs   rt   ru   rz   r{   r|   r}   r~   r   r-  r.  r/  r   r   r   r   c                   >?@K    j                   rt        d      t        ||||      }||t        d      |!t	        j
                  | j                        }t        |t              s|t        j                  dt               d}!g }" j                  }#|xs i } j                  |      }	  j                  |      }$ j                   J |$j"                   j                   j$                  vrt'        |$      |'|D &ch c]  }&t)        |&       c}& j*                  z  }'n j*                  r j*                  }'nd }'| j,                  }| j.                  }|d }n j                  |      }	 t1        |      }|t4        u r j6                  >nt        |t8              st9        |      >n|>t;         j<                  >j>                  >j@                        }(|(jC                         }) jD                   jF                   jH                   jJ                   jL                   jN                  D *cg c]  }*tQ         |*|*jS                  |            ! c}*@@D ],  }+|+jU                  ||$jW                  |      |       d {    . |(jY                         ?	 ?5   jZ                  xr |t\        v },	 t_        |$      \  }$}-|$j`                  s|!rtb        nt        }. |.|$      |"s|	r|-rt        d
      |	|"r|-|-}	|	A jd                  r5 jf                  r jh                  |$jk                         k(  r jd                  }	|	Q jl                  rE|$jn                  9 j<                  jq                  d  jr                  |$jn                         d {   }	||	tt        jv                  |v rt        d       jx                  j{                  |$      }/|Ut}         jx                  j~                        }0|0j                  |       |0j{                  |$      }1|1r|/j                  |1       d }2|t1        |      }2nI jl                  r=t        t              5  t        j                  t        |$       d {   \  }2}d d d         j                  ||$|||'||/|	|#||| j<                   j                  |2|? ||nd	||@ j                        }3dt        dt        f> ?@f
d}4|  j                  n| }5|5rt        |4|5      }6n|4}6	  |6|3       d {   }7|7j                  r0 jx                  j                  |7j                  |7j                         |7j                  dv r|
r@D ]-  }+|+j                  ||$jW                  |      ||7       d {    / |!dz  }!|"j                  |7       |re|!|k\  r`|3j                  "|3j                  j                          d {    |7j                          t        |"d   j                  t        |"            |7j                  dk(  r|7j                  tt        j                  k7  s+|7j                  dv rn|7j                  tt        j                  k(  rQtt        j                  }d }|j                  tt        j                        r,|j                  tt        j                         n|3j                  }|7j                  j                  tt        j                        xs) |7j                  j                  tt        j                        }9|9n6|7j                          	 t1        |9 j                         }:|:j"                  };|;t        vrI|3j                  "|3j                  j                          d {    |7j                          t        |9      |;s|$j                  |:      }:	 |:jk                         }<|$jk                         |<k7  rbd }	|j                  tt        jv                  d        |j                  tt        j                  d        |j                  tt        j                  d        |:}$i }|7j                          	 d d d        3j                  "|3j                  j                          d {    | j                  }|n.t        |      r |7       d {    n|r7j                          |)B7j                  &|7j                  j                  |)j                         n|)j                          t        |"      7_{        @D ]-  }+|+j                  ||$jW                  |      ||7       d {    / |7S # t        $ r}%t        |      |%d }%~%ww xY wc c}&w # t        $ r}%t3        |      |%d }%~%ww xY wc c}*w 7 7 7 -# 1 sw Y   *xY w7 # t        t        t        t        f$ r  t        t        f$ r	 |,rd},Y + t        $ r  t        $ r?}8|8j                  t        |8t        j                        r t        |8j                   |8d }8~8ww xY w7 7 Y# t        $ rQ}%|3j                  #|3j                  j                          d {  7   |7j                          tc        |9d      |%d }%~%ww xY w7 # t        $ rQ}=|3j                  #|3j                  j                          d {  7   |7j                          tc        |:d      |=d }=~=ww xY w# 1 sw Y   xY w7 |7 S7 # t        $ r]}%|(j                          |)r|)j                          d })@D ].  }+|+j                  ||$jW                  |      ||%       d {  7   0  d }%~%ww xY ww)NzSession is closedz9data and json parameters can not be used at the same time)dumpszChunk size is deprecated #1615r   r   )r   )r   Tz<Cannot combine AUTH argument with credentials encoded in URLzTCannot combine AUTHORIZATION header with AUTH argument or credentials encoded in URL)quote_cookie)rs   rw   rx   rt   rv   ry   r   r|   r}   r~   r   r   r   r   timersessionr   r   r   tracesr   reqr   c                   
K   j                   J 	 j                   j                  | 
       d {   }|j                  J |j                  j                  | j                  t        v 	
j                  j                   j                  
       	 | j                  |       d {   }	 |j                  |       d {    |S 7 # t        j                  $ r}t	        d| j
                         |d }~ww xY w7 V7 ># t        $ r |j                           w xY w# t        $ r |j                           w xY ww)N)r5  r   zConnection timeout to host )
r3  skip_payloadr   r   r   r   timeout_ceil_thresholdr   r   r   )r   r   r   TimeoutErrorr1   r"  protocolset_response_paramsr!  rS   r   _timeout_ceil_thresholdsendstartBaseExceptionclose)r6  connexcrespr   r   r   r   r   r   real_timeoutr  r3  r5  s       r   _connect_and_send_requestz9ClientSession._request.<locals>._connect_and_send_request  sR      $:::')-)@)@ #FL *A * $D  $}}88899"'),7I)I+9,;)5)?)?)537??3Z3Z*7+9(3 : 	"),$#7D&&*jj&6 6 6  $?$  '33 '"8"=cggY G##&''& $8 6#0 & $

 %&  - " JJL!"s   E!C CC A!ED( /D0D( 5D
 	D
D
 EC D%C>>DED( D
 
D%%D( (EEF)-  .  /  i3  i4  r   rI  )rG  rH  )encodedzHServer attempted redirecting to a location that does not look like a URLzInvalid redirect URL origin)r  r   rG   r   r!   JsonPayloadr   r   r   r   r   r   r   _prepare_headersr+  r4   r   schemeallowed_protocol_schema_setr6   r   r   r   r   r   r3   rY   r   rj   rU   r   r   r   r?  r   r   r   r   r   r   rb   trace_config_ctxsend_request_startupdate_queryr3  r   IDEMPOTENT_METHODSrZ   raw_hostr5   r   r   r   r   r   hostrun_in_executor_get_netrc_authr   AUTHORIZATIONr   filter_cookiesrP   r2  r  loadr   LookupErrorr   	to_threadrW   r   r   r   rC   rD   r   rB   r1   r(   r&   r)   r,   r:   r*   OSErrorerrnor:  args_raw_cookie_headersupdate_cookies_from_headersr"  statussend_request_redirectappend_bodyrA  r>   request_infotupler!  	METH_HEAD	METH_POSTMETH_GETgetCONTENT_LENGTHpoprw   LOCATIONURIreleaser   rK   r7   r*  COOKIEPROXY_AUTHORIZATIONr   callabler   
connectionadd_callbackcancel_historysend_request_endr@  send_request_exception)Ar  r!  r(  rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r-  r.  r/  r   r   r   r   r   r   r   r   r   r   	redirectshistoryr   r"  er   skip_headerstmhandler  traceretry_persistent_connectionauth_from_urlerr_exc_clsall_cookiestmp_cookie_jarreq_cookiesproxy_r6  rF  effective_middlewareshandlerrD  rC  r_urlparsed_redirect_urlrM  redirect_originorigin_val_errrE  r3  r5  sA   `               `          `````                              @@@r   r'  zClientSession._request  s*    V ;;233ZkJ 0K  &&t43G3GHD'4(W-@MM:<NO	(*--2 ''0	;//*-C ***::T__HHH',, (!2Q''(L $$22LL=''E11J= M 11-@M/E
 h*.--Lg}5,7;& JJ**<;V;V
 --L""33O  //M!!11N++K !% 3 3
  --@Q-R
  	VE**633C3CF3KWUUU	V 
z	 P **Kv9K/K , )<S)A&C<<
  ) :!6 $
 *#.. #(9  |M4M,  .. $$2G2G3::<2W  $11 |CHH<P%)ZZ%?%? $"6"6&    + , ..'9(-  #'"2"2"A"A#"FK*)2)-)9)9)F)F* '55g>&4&C&CC&H&',,[9,0F(!$U%k2 7>7H7H 5s8 2.FJ
 --% '*6! +! '!) '"+!ZZ'+';';$#-# $#&?C(7&3%"&../ . C4%$*%$'%$ %$R .9-@))k * -":57L# #<@%,S\1, //((DD 44dhh
 {{&??O%+ E"'"="= &(8(8(@'4#  
 "Q	t,(Y--G"yy4&)iioo&7 7 7 JJL"2 '
 7 7w#  !KK3.4;;$..3P KK:5$++:W%)]]F#'D&{{4+>+>? 'D,?,? @ $'99D $ 0 0 ? !4<<CSCS HHD !=! !LLN%25 %43M3M/M3/ "5!;!;!)BB"yy4&)iioo&7 7 7 JJL"?"FF!'25((;N2O/	2.A.H.H.JO ::<?:#'D#KK(:(:DA#KKT:#KK(@(@$G1!# aPd yy$iioo''''#'#9#9 '*+&t,,,!%%' !??.OO00?MMO!'NDM ,,C,,V4gt   Km  	;'
3:	;&  / 'Q./@
 VZ B2 f  2 /,7/	  )+BC 6:?7$& " @99,CAUAU1V!+SXX6C?@ !8J  * %"yy4&)iioo&7 7 7 JJL"? % j# $%%	% !8  * 2"yy4&)iioo&7 7 7 JJL"? 3 =# $22	2yP Pf ( -
  	HHJ 22C,,V4gq   	s  B+n8e+ 	An
fAn;f Cn
$f*.-nf/n3l$ 5C2l'f2(Cl*f8f5	f8Blg*g+g/A9l(i)Al5i6El	i!=lj.2lj1"Bl.1l$ l +l$ lBl$ "l!#l$ *n+	f4f  fn	f'f""f''	n2l5f88g	=lg,i4l7i	:iill	j+)j&j"j&&j++l1	l:)l#k&$"llll	l$ l$ !l$ $	n
-An<m?=nn

nr   i  @ r!  	protocolsr   receive_timeout	autocloseautoping	heartbeatry   r   rs   rw   r   r   r   r-  r.  r/  r   r   r|   max_msg_sizer  r  r  r  r  r   r  _WSRequestContextManagerc                b    t        | j                  |||||||||	|
||||||||||||            S )zInitiate websocket connection.r  )r  _ws_connect)r  r"  r!  r  r   r  r  r  r  ry   r   rs   rw   r   r   r   r-  r.  r/  r   r   r|   r  s                          r   
ws_connectzClientSession.ws_connect  sf    6 (# /#!#%%'' /+!)-  
 	
r   c                  K   |t         ur<t        |t              r|}n/t        j                  dt
        d       t        |      }nt        }|3t        j                  dt
        d       t        j                  ||      }|t               }nt        |      }t        j                  dt        j                  dt        j                  d	i}|j                         D ]  \  }}|j                  ||        t!        j"                  t%        j&                  d
            }|j)                         |t        j*                  <   |r"dj-                  |      |t        j.                  <   |
|
|t        j0                  <   |rt3        |      }||t        j4                  <   |t        j                  dt
        d       d}t7        ||||      }| j9                  ||||d|	|||||       d {   }	 |j:                  dk7  r8t=        |j>                  |j@                  d|j:                  |jB                        |jB                  jE                  t        j                  d      jG                         dk7  r8t=        |j>                  |j@                  d|j:                  |jB                        |jB                  jE                  t        j                  d      jG                         dk7  r8t=        |j>                  |j@                  d|j:                  |jB                        |jB                  jE                  t        jH                  d      }t!        j"                  tK        jL                  |tN        z         jQ                               j)                         } || k7  r8t=        |j>                  |j@                  d|j:                  |jB                        d }!|rrt        j.                  |jB                  v rV|jB                  t        j.                     jS                  d      D "cg c]  }"|"jU                          }#}"|#D ]
  }"|"|v s|"}! n d}$|r?|jB                  jE                  t        j4                        }%|%r	 tW        |%      \  }}$nd}d}$|j\                  }'|'J |'j^                  }(|(J |j`                  d |(_1        n1|(jb                  %te        |j`                  |(jb                        |(_1        |'jf                  })|)J ti        |(d| jj                        }*|(jm                  to        |*|      |*       tq        |(|)d||$      }+| js                  |*|+|!||||| jj                  |||$      S 7 }c c}"w # tX        $ rK}&t=        |j>                  |j@                  |&jZ                  d   |j:                  |jB                        |&d }&~&ww xY w# tt        $ r |jw                           w xY ww)Nzeparameter 'timeout' of type 'float' is deprecated, please use 'timeout=ClientWSTimeout(ws_close=...)'r   r   )ws_closezofloat parameter 'receive_timeout' is deprecated, please use parameter 'timeout=ClientWSTimeout(ws_receive=...)')
ws_receive	websocketUpgrade13   ,)r|   z+ssl=None is deprecated, please use ssl=TrueTF)	rs   rw   r   ry   r   r   r   r   r   e   zInvalid response status)r  ra  rw    zInvalid upgrade headerupgradezInvalid connection headerzInvalid challenge responser   r   r   )use_maskr|   
notakeover)r  r|   client_notakeover)<rY   r   rJ   r   r   r   rH   r   r   r   r   UPGRADE
CONNECTIONSEC_WEBSOCKET_VERSIONitems
setdefaultbase64	b64encodeosurandomdecodeSEC_WEBSOCKET_KEYr*  SEC_WEBSOCKET_PROTOCOLORIGINr`   SEC_WEBSOCKET_EXTENSIONSrG   rk   ra  r@   re  rz  rw   rj  lowerSEC_WEBSOCKET_ACCEPThashlibsha1r[   digestsplitstripra   r_   r^  rs  r;  r  r   max	transportr"   r   
set_parserr]   r^   r   r@  rA  ),r  r"  r!  r  r   r  r  r  r  ry   r   rs   rw   r   r   r   r-  r.  r/  r   r   r|   r  
ws_timeoutr  default_headerskeyvaluesec_keyextstrrD  r_keymatchr;  protoresp_protocolsr  compress_hdrsrC  rB  
conn_protor  readerwriters,                                               r   r  zClientSession._ws_connect  sy    4 ("'?3$
> '  -g>
2J&MM< # ZOLJ?-8]L&w/L LL+OOY&&
 *//1 	0JC##C/	0 ""2::b>2/6~~/?T++,8;8KL445(.L%2F:@L667 ;MM="
 CZkJ \\  !+' " 
 
s	{{c!,%%LL5;; LL  ||b1779[H,%%LL4;; LL  ||4::<	I,%%LL7;; LL  LL$$T%>%>CE$$W\\'F2B%C%J%J%LMTTVE~,%%LL8;; LL  HT88DLLH "&d.I.I!J!P!PQT!U" KKM" "
 , E	)#( J $ 0 01N1N O 	#/;M/J,*  !H!&J??D###J))) $$,*.
'((4*-)):+B+B+
' I((('
E

KF!!/&,"GP$!%F **

#!", +  k
t"" , #4 -- LL$'HHQK#';;$(LL  ###L  	JJL	si   G$W &U#'W ,H-W U&0W <4W 1U+ ?B>W ='W &W +	V?4AV::V??W WW CIMultiDict[str]c                    t        | j                        }|rpt        |t        t        f      st        |      }t               }|j                         D ]2  \  }}||v r|j                  ||       |||<   |j                  |       4 |S )z3Add default headers and transform it to CIMultiDict)r   r   r   r   r   setr  add)r  rw   resultadded_namesr  r  s         r   rL  zClientSession._prepare_headers  s     T223g	'BC%g.$'EK%mmo )
U+%JJsE*"'F3KOOC() r   rT  c                 N    t               }	 t        ||      S # t        $ r Y yw xY w)z
        Get auth from netrc for the given host.

        This method is designed to be called in an executor to avoid
        blocking I/O in the event loop.
        N)rX   rV   rZ  )r  rT  	netrc_objs      r   rV  zClientSession._get_netrc_auth  s0     #$		'	488 		s    	$$c                      y r   r   r  r"  r  s      r   rj  zClientSession.get       (+r   c                      y r   r   r  s      r   optionszClientSession.options  r  r   c                      y r   r   r  s      r   headzClientSession.head  r  r   c                      y r   r   r  s      r   postzClientSession.post  r  r   c                      y r   r   r  s      r   putzClientSession.put  r  r   c                      y r   r   r  s      r   patchzClientSession.patch  r  r   c                      y r   r   r  s      r   deletezClientSession.delete  r  r   )rz   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP GET request.rz   )r#  r'  r   ri  r  r"  rz   r  s       r   rj  zClientSession.get  s8     *MM38GKQ r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP OPTIONS request.rz   )r#  r'  r   METH_OPTIONSr  s       r   r  zClientSession.options  s:     *%%s<KOU r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP HEAD request.rz   )r#  r'  r   rg  r  s       r   r  zClientSession.head!  s8     *NNC9HLR r   )rt   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP POST request.rt   )r#  r'  r   rh  r  r"  rt   r  s       r   r  zClientSession.post+  s/     *dnncGGG r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP PUT request.rt   )r#  r'  r   METH_PUTr  s       r   r  zClientSession.put3  s/     *dmmSFtFvF r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP PATCH request.rt   )r#  r'  r   
METH_PATCHr  s       r   r  zClientSession.patch;  s/     *doosHHH r   c                 X    t         | j                  t        j                  |fi |      S )zPerform HTTP DELETE request.)r#  r'  r   METH_DELETEr  s      r   r  zClientSession.deleteC  s*    )d..>v> r   c                    K   | j                   sB| j                  .| j                  r"| j                  j                          d{    d| _        yy7 w)zMClose underlying connector.

        Release all acquired resources.
        N)r  r   r   rA  r  s    r   rA  zClientSession.closeI  sF     
 {{*t/D/Doo++---"DO -s   AAAAc                 N    | j                   du xs | j                   j                  S )z@Is client session closed.

        A readonly property.
        N)r   r  r  s    r   r  zClientSession.closedS  s"     $&@$//*@*@@r   c                     | j                   S )z(Connector instance used for the session.r   r  s    r   r   zClientSession.connector[  s     r   c                     | j                   S )zThe session cookies.)r   r  s    r   r   zClientSession.cookie_jar`  s     r   c                     | j                   S )z"The session HTTP protocol version.)r   r  s    r   r   zClientSession.versione       }}r   c                     | j                   S ))Do URL requoting on redirection handling.)r   r  s    r   r   z"ClientSession.requote_redirect_urlj  s     )))r   c                 J    t        j                  dt        d       || _        y)r  z=session.requote_redirect_url modification is deprecated #2778r   r   N)r   r   r   r   )r  r  s     r   r   z"ClientSession.requote_redirect_urlo  s#     	K	

 &)"r   c                 R    t        j                  dt        d       | j                  S )zSession's loop.z"client.loop property is deprecatedr   r   )r   r   r   r   r  s    r   r   zClientSession.loopy  s%     	02DQR	
 zzr   c                     | j                   S )zTimeout for the session.)r   r  s    r   r   zClientSession.timeout  r  r   c                     | j                   S )z*The default headers of the client session.)r   r  s    r   rw   zClientSession.headers       $$$r   c                     | j                   S )z2Headers for which autogeneration should be skipped)r   r  s    r   rx   zClientSession.skip_auto_headers  s     &&&r   c                     | j                   S )z2An object that represents HTTP Basic Authorization)r   r  s    r   ry   zClientSession.auth  s     !!!r   c                     | j                   S )zJson serializer callable)r   r  s    r   r   zClientSession.json_serialize  s     ###r   c                     | j                   S )z-Should connector be closed on session closing)r   r  s    r   r   zClientSession.connector_owner  r  r   c                     | j                   S )zGShould `ClientResponse.raise_for_status()` be called for each response.)r   r  s    r   r   zClientSession.raise_for_status  s    
 %%%r   c                     | j                   S )z7Should the body response be automatically decompressed.)r   r  s    r   r   zClientSession.auto_decompress  r  r   c                     | j                   S )z
        Should proxies information from environment or netrc be trusted.

        Information is from HTTP_PROXY / HTTPS_PROXY environment variables
        or ~/.netrc file if present.
        )r   r  s    r   r   zClientSession.trust_env  s     r   c                     | j                   S )z7A list of TraceConfig instances used for client tracing)r   r  s    r   r   zClientSession.trace_configs  s     """r   c                     d| _         y)zwDetach connector from session without closing the former.

        Session is switched to closed state anyway.
        Nr  r  s    r   detachzClientSession.detach  s    
 r   c                     t        d      )NzUse async with instead)	TypeErrorr  s    r   	__enter__zClientSession.__enter__  s    011r   exc_typeexc_valexc_tbc                      y r   r   r  r  r  r  s       r   __exit__zClientSession.__exit__  s     	r   c                    K   | S wr   r   r  s    r   
__aenter__zClientSession.__aenter__  s     s   c                 @   K   | j                          d {    y 7 wr   )rA  r  s       r   	__aexit__zClientSession.__aexit__  s      jjls   r   r   N)r   r  )r   ri   )pr   r   r   __doc__r  r  r   r   r   StackSummaryr   r   rL   ru   r1  rC   rD   rI   r    HttpVersion11rY   rh   r   AbstractEventLoopre   rf   rT   r   r   rd   r   r\   r#   r   r   r   r   r   rQ   objectrj   r   rc   r   _CharsetResolverr   rA   r	  r  rR   r   r  r   r   r  version_infor   rp   rr   rk   r   r+  rg   bytesrl   rE   r   r'  r   ri  rJ   r  r  rL  rV  rj  r  r  r  r  r  r  rA  propertyr  r   r   r   r   r   setterr   r   rw   r   r   rx   ry   r   r   r   r   r   r   r  r  r@  r   r  r  r  __classcell__)r  s   @r   ri   ri      s3   9 	
"EH ;?x	 6 67>*.J'. (,^( .248*.*.$(*.59$(&*jj-:/=;R#1126 $ 08(,08 $%)59!!"6J68>FG^(8$^( M*	^(
 w001^( ,'^( ,'^( !^( Y'^( $HSM2^( y!^( $^( M*^( ^,^(   78^(  !^(" ./#^($ %^(&  (N+Yt_<==
'^(, E9,--^(. uo/^(0 v},-1^(2 3^(4 5^(6 #7^(8  [ 129^(: ;^(< =^(> ?^(@ A^(B $4C^(D 23E^(F $ItU$:;G^(H 
I^(@
tO4 
 
 	+C 	+c 	+d 	+ (0 	7 	7D 	7 7"}	+	+ 	+ _-		+
 &	+	P	P$,	P8;	P%	PX #  *.*.59$( $+/"& #$(*.3;%)'+,048)-049=&**.'+(,%)@DIGG G
 G G G ,'G ,'G $HSM2G y!G G G T4(G $G  !G"  $.!19T?!BCC
#G( )G* !+G, Y'-G. }i/0/G0 TN1G2 e_3G4 j)5G6 :t[017G8 "#9G:  -;G< $GCH$56=G> sm?G@ "$AGB  }CGD !EGF c]GGH h';<=IGJ 
KGZ mm#%5=+/%)$( $*.$(*.48%)'+,0)-04+14
4
 	4

 C=4
 	124
 "%4
 4
 4
 E?4
 y!4
 4
 4
 ,'4
 !4
  Y'!4
" :t[01#4
$ TN%4
& e_'4
( j))4
* "#+4
,  --4
. /4
0 14
2 
$34
t mm#%5=+/%)$( $*.$(*.48%)'+,0)-04+1WW 	W
 C=W 	12W "%W W W E?W y!W W W ,'W !W  Y'!W" :t[01#W$ TN%W& e_'W( j))W* "#+W,  --W. /W0 1W2 
!3Wr(> CU  C HY,?  7"}	+	+ _-	+ &		+	+	+ _-	+ &		+	+	+ _-	+ &		+	+	+ _-	+ &		+	+	+ _-	+ &		+	+	+ _-	+ &		+	+	+ _-	+ &		+ =A		59	LO	%	 =A		59	LO	%	 =B		59	MP	%	 15		*-	@C	%	 15		*-	@C	%	 15		*-	@C	%		h 	# 	:R 	# A A A 8M2    -     sCx   *d * *   ) ) ) !) g//      % % '9T? ' ' "hy) " " $ $ $ % % % &	tX~.	$?@@	A& & % % % 4   #tK0 # #24./ -( '	
 
4./ -( '	
 
r   ri   c                       e Zd ZdZdeddef   ddfdZddZded	eddfd
Z	ddZ
deedef   fdZdeedef   fdZdefdZdeee      dee   dee   ddfdZy)_BaseRequestContextManager)_coro_respcoroasyncio.Future[Any]Nr   c                     || _         y r   )r$  )r  r&  s     r   r	  z#_BaseRequestContextManager.__init__  s	    GK
r   c                 8    | j                   j                  |      S r   )r$  r>  )r  args     r   r>  z_BaseRequestContextManager.send  s    zzs##r   r^  r  c                 :     | j                   j                  |i |S r   )r$  throw)r  r^  r  s      r   r,  z _BaseRequestContextManager.throw  s    tzz000r   c                 6    | j                   j                         S r   )r$  rA  r  s    r   rA  z _BaseRequestContextManager.close  s    zz!!r   c                 :    | j                   j                         }|S r   )r$  	__await__)r  rets     r   r/  z$_BaseRequestContextManager.__await__  s    jj""$
r   c                 "    | j                         S r   )r/  r  s    r   __iter__z#_BaseRequestContextManager.__iter__  s    ~~r   c                    K   | j                    d {   | _        | j                  j                          d {   S 7 +7 wr   )r$  r%  r  r  s    r   r  z%_BaseRequestContextManager.__aenter__  s3     %)ZZ/
ZZ**,,,  0,s   A>&AA A Ar  rC  tbc                 Z   K   | j                   j                  |||       d {    y 7 wr   )r%  r  r  r  rC  r4  s       r   r  z$_BaseRequestContextManager.__aexit__  s$      jj""8S"555s   !+)+)r*  Nr   r'  r  )r   r   r   	__slots__r	   r   r	  r>  r   r,  rA  r   r/  r2  r  r   r   r@  r   r  r   r   r   r#  r#    s    "ILY'<dH'LM LRV L$13 1# 12G 1"9S$%89  )Cx$78  -( -64./6 m$6 ]#	6
 
6r   r#  c                   l    e Zd ZdZdeddef   deddfdZdefdZd	e	e
e      d
e	e   de	e   ddfdZy)_SessionRequestContextManagerr$  r%  _sessionr&  r'  Nr4  r   c                 .    || _         d | _        || _        y r   r:  )r  r&  r4  s      r   r	  z&_SessionRequestContextManager.__init__  s    
 
/3
r   c                    K   	 | j                    d {   | _        | j                  S 7 # t        $ r% | j                  j	                          d {  7    w xY wwr   )r$  r%  r@  r;  rA  r  s    r   r  z(_SessionRequestContextManager.__aenter__  sQ     	#zz)DJ
 :: * 	--%%'''	s1   A+ )	+ A+ &AAAAr  rC  r4  c                    K   | j                   J | j                   j                          | j                  j                          d {    y 7 wr   )r%  rA  r;  r6  s       r   r  z'_SessionRequestContextManager.__aexit__  s>      zz%%%

mm!!###s   AAA	A)r   r   r   r7  r	   rD   ri   r	  r  r   r   r@  r   r  r   r   r   r9  r9    s    .I -t^CD    
	 . $4./$ m$$ ]#	$
 
$r   r9  )r   r   r   r!  r"  r   r   r   r  r   c                     y r   r   )r!  r"  r   r   r   r  s         r   rk   rk   $  s     ),r   c          	          d}|d}t        |d      }t        ||j                  dd      ||j                  dt              ||      }t	         |j
                  | |fi ||      S )aB  Constructs and sends a request.

        Returns response object.
        method - HTTP method
        url - request url
        params - (optional) Dictionary or bytes to be sent in the query
        string of the new request
        data - (optional) Dictionary, bytes, or file-like object to
        send in the body of the request
        json - (optional) Any json compatible python object
        headers - (optional) Dictionary of HTTP Headers to send with
        the request
        cookies - (optional) Dict object to send with the request
        auth - (optional) BasicAuth named tuple represent HTTP Basic Auth
        auth - aiohttp.helpers.BasicAuth
        allow_redirects - (optional) If set to False, do not follow
        redirects
        version - Request HTTP version.
        compress - Set to True if request has to be compressed
        with deflate encoding.
        chunked - Set to chunk size for chunked transfer encoding.
        expect100 - Expect 100-continue response from server.
        connector - BaseConnector sub-class instance to support
        connection pooling.
        read_until_eof - Read response until eof if response
        does not have Content-Length header.
        loop - Optional event loop.
        timeout - Optional ClientTimeout settings structure, 5min
        total timeout by default.
        Usage::
        >>> import aiohttp
        >>> async with aiohttp.request('GET', 'http://python.org/') as resp:
        ...    print(resp)
        ...    data = await resp.read()
        <ClientResponse(https://www.python.org/) [200 OK]>
        FNT)r   force_closerv   r   )r   rv   r   r   r   r   )rN   ri   rl  rY   r9  r'  )r!  r"  r   r   r   r  r   r4  s           r   rk   rk   0  s|    Z  "O$$DAIJJy$/JJy(3+
 -GVS3F3
 	
r   )r  r   r  r  ru   r  r  r   r   
contextlibr   typesr   typingr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	multidictr   r   r   r   yarlr   r  r   r    r!   _websocket.readerr"   abcr#   client_exceptionsr$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   client_middlewaresrA   rB   client_reqreprC   rD   rE   rF   rG   	client_wsrH   rI   rJ   r   rK   rL   rM   rN   rO   	cookiejarrP   helpersrQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   http_websocketr_   r`   ra   tracingrb   rc   typedefsrd   re   rf   rg   rh   __all__r   rl   r  rp   rr   srj   r   r   r  rR  r   r  r   r  ri   r#  r#  r  r9  r  r  rk   r   r   r   <module>rT     s        	 
         .  B B  ! ! 1 "       > O  
  !   H G F F ' N N0f Jw=:iu :< T$d3  4, )6FQS(T}% T ST :~/FG^U3S89 l l^'!63X+=!>@Q !6H 4NC 56MN $ $B w=  $11-148,,, 	,
 M*, w001, ), 
',   $11-148>
>
>
 	>

 M*>
 w001>
 >
 
'>
r   