
    f              5          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  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l/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZI ddlJmKZKmLZLmMZMmNZNmOZO ddlPmQZQ ddlRmSZSmTZTmUZUmVZVmWZW ddlXmYZY ddlZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZc ddl+mdZdmeZemfZfmgZg ddlhmiZimjZjmkZkmlZl ddlmmnZn ddlompZpmqZq ddlrmsZsmtZtmuZumvZv dZwerddlxmyZy ndZyej                  dk\  rerddlm{Z{  G d ded      Z| e!j                  ddd       G d  d!             Z~ e~d"      Zee~   ed#<    eh d$      Z ed%      ZeeLegef   Z G d& d'      Z G d( d)eeeef   ee         Z G d* d+eeL         Z G d, d-eeQ         Z G d. d/      Zdddddddd0dddddddebde+j                  dddd1d1d2d3ed4evd5eeeef      d6ed7ed8eeu   d9eee      d:ee]   d;ed<ed=ee   d>ee   d?ed@ee   dAedBeev   dCee]   dDe e~ef   dEeet   dFeedGeeT   dHee   dIeej                      dJedKedLef4dMZy)NzHTTP Client for asyncio.    N)suppress)TracebackType)TYPE_CHECKINGAny	AwaitableCallable	CoroutineFinal	FrozenSet	GeneratorGenericIterableListMappingOptionalSetTupleType	TypedDictTypeVarUnion)CIMultiDict	MultiDictMultiDictProxyistr)URL   )hdrshttppayload)AbstractCookieJar)ClientConnectionErrorClientConnectorCertificateErrorClientConnectorErrorClientConnectorSSLErrorClientErrorClientHttpProxyErrorClientOSErrorClientPayloadErrorClientProxyConnectionErrorClientResponseErrorClientSSLErrorConnectionTimeoutErrorContentTypeError
InvalidURLInvalidUrlClientErrorInvalidUrlRedirectClientErrorNonHttpUrlClientErrorNonHttpUrlRedirectClientErrorRedirectClientErrorServerConnectionErrorServerDisconnectedErrorServerFingerprintMismatchServerTimeoutErrorSocketTimeoutErrorTooManyRedirectsWSServerHandshakeError)ClientRequestClientResponseFingerprintRequestInfo_merge_ssl_params)ClientWebSocketResponse)HTTP_AND_EMPTY_SCHEMA_SETBaseConnectorNamedPipeConnectorTCPConnectorUnixConnector)	CookieJar)		_SENTINELDEBUG	BasicAuthTimeoutHandleceil_timeoutget_env_proxy_for_urlmethod_must_be_empty_bodysentinelstrip_auth_from_url)WS_KEYHttpVersionWebSocketReaderWebSocketWriter)WSHandshakeError	WSMessage
ws_ext_genws_ext_parse)FlowControlDataQueue)TraceTraceConfig)JSONEncoderLooseCookiesLooseHeadersStrOrURL)&r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r4   r2   r1   r3   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   rC   rE   rF   rD   rA   ClientSessionClientTimeoutrequest)
SSLContext      )Unpackc                      e Zd ZU eeeeeef   f   edf   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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<   y)_RequestOptionsNparamsdatajson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)__name__
__module____qualname__r   r   strint__annotations__r   r]   r^   r   rJ   boolr   r=   r   r_   rc   r>        M/opt/lhia/ganansol/python/venv/lib/python3.12/site-packages/aiohttp/client.pyri   ri      su   '#uS#X./d:;;
I
I<%&&<%&&Xc]D011
	4
  CI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)$$r   ri   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)ra   Nr   connect	sock_readsock_connect   ceil_threshold)r   r   r   r   r   floatr   r   r   r   r   r   r   r   ra   ra      sD    !E8E?!#GXe_#!%Ix%$(L(5/(NEr   ra   i,  DEFAULT_TIMEOUT>   GETPUTHEADTRACEDELETEOPTIONS_RetTypec            ?       ,
    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ej                  eeeej&                  dddededddddd	d	d
 ddee   dee   deej.                     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&df6d'Z-d(ed    d&dfd)Z.e/rd*ed+e0d&df fd,Z1e2fd-e0d&dfd.Z3e4jj                  d/k\  re6rd0ed1ed2e7e8   d&d3fd4Z9nd0ed1ed2e0d&d3fd5Z9d6ed&e:fd7Z;ddddddddd8dddddddedddddddddddd9d0ed6ed:ee<eef      d;e0d<e0dee   dee   deee      dee   d=e!d>e+d?ee   d@ee!   dAe!de"de!e#ege$d   f   f   dBe!dCee   dDee   de"e(e&f   dEee!   dFee=   dGee>   dHe"e>e!e?f   dIee   dJee   dKee<eef      d"ee+   dee!   d#ee+   d$ee+   d&ef>dLZ@eAj                  dMdNddddddddddddddddOdPdQd1ed0edRee   de%dSee%   dTe!dUe!dVee%   dee   dWee   d:ee<eef      dee   dCee   dDee   dHe"e>e!e?f   dEee!   dFee=   dGee>   dJee   d?e+dXe+d&dYf,dZZCeAj                  dMdNddddddddddddddddOdPdQd1ed0edRee   de%dSee%   dTe!dUe!dVee%   dee   dWee   d:ee<eef      dee   dCee   dDee   dHe"e>e!e?f   dEee!   dFee=   dGee>   dJee   d?e+dXe+d&ef,d[ZDdee   d&d\fd]ZEe4jj                  d/k\  r^e6r\d1ed2e7e8   d&d3fd^ZFd1ed2e7e8   d&d3fd_ZGd1ed2e7e8   d&d3fd`ZHd1ed2e7e8   d&d3fdaZId1ed2e7e8   d&d3fdbZJd1ed2e7e8   d&d3fdcZKd1ed2e7e8   d&d3fddZLnddded1ed=e!d2e0d&d3fdfZFdded1ed=e!d2e0d&d3fdgZGdded1ed=e!d2e0d&d3fdhZHddid1ed;e0d2e0d&d3fdjZIddid1ed;e0d2e0d&d3fdkZJddid1ed;e0d2e0d&d3fdlZKd1ed2e0d&d3fdmZLddnZMeNd&e!fdo       ZOeNd&ee   fdp       ZPeNd&e fdq       ZQeNd&eRe+e+f   fdr       ZSeNd&e!fds       ZTeTj                  d+e!d&dfdt       ZTeNd&ej.                  fdu       ZVeNd&e(fdv       ZWeNddw       ZXeNd&eYeZ   fdx       Z[eNd&ee   fdy       Z\eNd&efdz       Z]eNd&e!fd{       Z^eNd&e"e!e#ege$d   f   f   fd|       Z_eNd&e!fd}       Z`eNd&e!fd~       ZaeNd&e)e*   fd       ZbddZcddZddeeee      deee   deef   d&dfdZgddZhdeeee      deee   deef   d&dfdZi xZjS )r`   z/First-class interface for making HTTP requests.)	_base_url_source_traceback
_connectorrequote_redirect_url_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_resolve_charsetNr   r   TF     c                      y)Nzutf-8r   )rbs     r   <lambda>zClientSession.<lambda>  s    r   )	connectorlooprm   rn   ro   rp   json_serializerequest_classresponse_classws_response_classversion
cookie_jarconnector_ownerrv   read_timeoutconn_timeoutrz   r   	trust_envr   trace_configsr   r   r   fallback_charset_resolverbase_urlr   r   rm   rn   ro   rp   r   r   r   r   r   r   r   rv   r   r   rz   r   r   r   r   r   r   r   r   returnc                   d | _         |||j                  }|xs t        j                         }|t	        |t
              r|| _        n>t        |      | _        | j                  j                         | j                  k(  sJ 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'        |      }|j                  |urt)        d      || _        |j+                         r-t-        j.                  t1        j2                  d            | _        |t7        |      }|| _        || j8                  j;                  |       || _         || _        || _        || _         || _!        || _"        || _#        || _$        || _%        || _&        || _'        || _(        |rtS        |      }n
tS               }|| _*        |tW        d |D              | _,        ntW               | _,        |	| _-        |
| _.        || _/        |xs g | _0        | j`                  D ]  }|jc                           || _2        y )Nz2Only absolute URLs without path part are supportedz8read_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.connectr   z0Session and connector has to use same event loopr   c              3   2   K   | ]  }t        |        y wN)r   ).0is     r   	<genexpr>z)ClientSession.__init__.<locals>.<genexpr>z  s     /SAQ/Ss   )3r   r   asyncioget_running_loop
isinstancer   r   originrO   r   r   warningswarnDeprecationWarningattrevolvera   
ValueErrortyperE   RuntimeError	get_debug	tracebackextract_stacksys	_getframer   rG   r   update_cookiesr   r   r   r   r   r   r   r   r   r   r   r   r   	frozensetr   r   r   r   r   freezer   )selfr   r   r   rm   rn   ro   rp   r   r   r   r   r   r   r   rv   r   r   rz   r   r   r   r   r   r   r   r   real_headerstrace_configs                                r   __init__zClientSession.__init__   s   D 48<$ 1w//1z(C8,4DN ]DN%%'4>>9DCD9 h'/+DM8+Q& 
 !%DMM N' $DMM< PQ&  g}5 5d7m_ E> >  $DM8+ # 
 ' &  $$/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   rd   methodurlr  _RequestContextManagerc                      y r   r   r   r
  r  r  s       r   rb   zClientSession.request  s    
 (+r   c                 <    t         | j                  ||fi |      S )zPerform HTTP request.)r  _requestr  s       r   rb   zClientSession.request  s!     *-$--*Nv*NOOr   
str_or_urlc                     t        |      }| j                  |S |j                         s|j                  j	                  d      sJ | j                  j                  |      S )N/)r   r   is_absolutepath
startswithjoin)r   r  r  s      r   
_build_urlzClientSession._build_url  sP    *o>>!J(SXX-@-@-EEE>>&&s++r   
   )rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   
verify_sslfingerprintssl_contextr{   r|   r}   r~   r   r   r   r   rj   rk   rl   rq   rr   rs   rt   ru   rw   rx   ry   r  r  r  r{   r|   r}   r~   c                T  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                   j$                  vrt'        |"      t)        | j*                        }$|!|D ]  }%|$j-                  t/        |%              |	 t1        |      }|t4        u r| j6                  }&nt        |t8              st9        |      }&n|}&t;        | j<                  |&j>                  |&j@                        }'|'jC                         }(|| jD                  }|| jF                  }|| jH                  }|| jJ                  }| jL                  D )cg c]  })tO        | |)|)jQ                  |            ! }*})|*D ],  }+|+jS                  ||"jU                  |      |       d {    . |'jW                         },	 |,5  |tX        v }-	 t[        |"      \  }"}.|"j\                  s|rt^        nt        }/ |/|"      |	r|.rt        d
      |	|.}	|	| j`                  }	||	tb        jd                  |v rt        d      | jf                  ji                  |"      }0|?tk               }1|1jm                  |       |1ji                  |"      }2|2r|0jo                  |2       |t1        |      }n2| jp                  r&ts        tt              5  tw        |"      \  }}d d d        | jy                  ||"|||$||0|	|!|||| j<                  | jz                  |||,| ||nd	|||*| j|                        }3	 t        |&j                  |&j@                        4 d {    | j                   j                  |3|*|&       d {   }4d d d       d {    4j                  J |4j                  J |4j                  j                  |,t        |      |||&j                  || j                   j                  ||	       	 	 |3j                  |4       d {   }6	 |6jC                  |4       d {    	 | jf                  jm                  |6j                  |6j                         |6j                  dv rI|
rF|*D ]-  }+|+j                  ||"jU                  |      ||6       d {    / |dz  }| j                  |6       |r7||k\  r2|6j                          t        | d   j                  t        |             |6j                  dk(  r|6j                  tb        j                  k7  s+|6j                  dv rm|6j                  tb        j                  k(  rPtb        j                  }d }|j                  tb        j                        r|j                  tb        j                         |6j                  j                  tb        j                        xs) |6j                  j                  tb        j                        }7|7n|6j                          	 t1        |7| j                         }8|8j"                  }9|9t        vr|6j                          t        |7      |9s|"j                  |8      }8	 |8j                         }:|"j                         |:k7  r"d }	|j                  tb        jd                  d        |8}"i }|6j                          	 d d d        || j                  }|n.t        |      r |6       d {    n|r6j                          |(B6j                  &|6j                  j                  |(j                         n|(j                          t        |       6_q        |*D ]-  }+|+j                  ||"jU                  |      ||6       d {    / |6S # t        $ r}#t        |      |#d }#~#ww xY w# t        $ r}#t3        |      |#d }#~#ww xY wc c})w 7 # 1 sw Y   xY w7 7 \7 O# 1 d {  7  sw Y   `xY w# t        j                  $ r}5t        d|"       |5d }5~5ww xY w7 7 # t        $ r |6j                           w xY w# t        $ r |4j                           w xY w# t        t        f$ r	 |-rd}-Y  t        $ r  t        $ r?}5|5j                  t        |5t        j                        r t        |5j                   |5d }5~5ww xY w7 /# t        $ r}#t_        |7d      |#d }#~#ww xY w# t        $ r};t_        |8d      |;d };~;ww xY w# 1 sw Y   TxY w7 07 # t        $ r]}#|'j                          |(r|(j                          d }(|*D ].  }+|+j                  ||"jU                  |      ||#       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)rj   rn   ro   rk   rm   rp   r   rs   rt   ru   r   r   rx   ry   timersessionr{   r|   r}   tracesr   )r!  rz   zConnection timeout to host )	r  skip_payloadrw   r   r   r   timeout_ceil_thresholdr   r   F)-  .  /  i3  i4  r   r&  )r$  r%  )encodedzHServer attempted redirecting to a location that does not look like a URLzInvalid redirect URL origin)tr  r   r@   r   r    JsonPayloadr   r   r   r   r   r   r   _prepare_headersr  r0   r   schemeallowed_protocol_schema_setr2   setr   addr   r   r/   rO   r   ra   rK   r   r   r   startr   r   r   r   r   rZ   trace_config_ctxsend_request_startupdate_queryr  IDEMPOTENT_METHODSrP   raw_hostr1   r   r   AUTHORIZATIONr   filter_cookiesrG   r   loadr   r   LookupErrorrM   r   r   r   rL   r   r   TimeoutErrorr-   	transportprotocolset_response_paramsrN   r   _timeout_ceil_thresholdsendBaseExceptioncloser(   r6   r&   OSErrorerrnoargsrm   r  statussend_request_redirectappendr:   request_infotupler
  	METH_HEAD	METH_POSTMETH_GETgetCONTENT_LENGTHpoprn   LOCATIONURIreleaser   rB   r3   r  r   r   callablerv   
connectionadd_callbackcancel_historysend_request_endsend_request_exception)<r   r
  r  rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r  r  r  r{   r|   r}   r~   r   r   r   r   	redirectshistoryr   r  eskip_headersr   real_timeouttmhandler   r!  tracer  retry_persistent_connectionauth_from_urlerr_exc_clsall_cookiestmp_cookie_jarreq_cookiesreqconnexcrespr_urlparsed_redirect_urlr*  redirect_originorigin_val_errs<                                                               r   r  zClientSession._request  s9
    R ;;233ZkJ 0K  &&t43G3GHD'4(W-@MM:<NO	--2 ''0--m<	;//*-C ***::T__HHH',,4223(& *  a)* /E
 h*.--Lg}5,7;& JJ**<;V;V
 --L""33O  //M!!11N !% 3 3
  --@Q-R
 
  	VE**633C3CF3KWUUU	V 
s	 K.48J.J+)<S)A&C<<
  ) :!6 $
 *#..(9 
 |,|#11  + , ..'9(-  #'"2"2"A"A#"FK*)2&55g>&4&C&CC&H&',,[9( #E
%k2 K0Ec0J-E:K --% '*6! +! '!) '"+!ZZ'+';';##-# $#&?C(7&3%"&../ . C6##/(00+7+F+F$   *.)@)@ #FL *A * $D	   >>555==444MM55#%>v%F'5(7%1%;%;%1/3/V/V&3'5 6 
@	"),$#7D&&*jj&6 6 6& $$33DLL$((K {{&??O%+ E"'"="= &(8(8(@'4#  
 "Q	t,(Y--G JJL"2 '
 7 7w#  !KK3.4;;$..3P KK:5$++:W%)]]F#'D&{{4+>+>? 'D,?,? @ $ 0 0 ? !4<<CSCS HHD !=! !LLN%25 %43M3M/M3/ "5!;!;!)BB JJL"?"FF!'25((;N2O/2.A.H.H.JO ::<?:#'D#KK(:(:DA1!# WK\  '#'#9#9 '*+&t,,,!%%' !??.OO00?MMO!'NDM ,,C,,V4gt   K  	;'
3:	;  / 'Q./:
 VjK K>$	    #// #49#?"##, $8 6#0 & $

 %&  - " JJL!" *+BC 6:?7$& " @99,CAUAU1V!+SXX6C?@J  * %"? % j# $%%%  * 2"? 3 =# $222yK Kh -
  	HHJ 22C,,V4gq   	s3  B<h(?`) A5h(a B6h($a#+,h(a(h(/f? 1Df,2a+Af,%b9a8:b="ba; b$b/a>0b4A'f,c%1c2c%7cccA.f,>e-?E#f,#e0;Af,>fAf,/f? 	f9
Bf?  f<!f? (h()	a2`>>ah(	a aa  	h(+a5	0f,8b;b>bb	b
b	bb>*b99b>>f,c%cc""c%%d  de*f,e*+:e%%e**f,0	f9fff,	f)f$$f))f,,f61	f? <f? ?	h%Ah hh  h%%h(r   g      $@r   i  @ r
  	protocolsrz   receive_timeout	autocloseautoping	heartbeatrp   r   rj   rn   rx   ry   r{   r  r  r  r}   rs   max_msg_sizero  rp  rq  rr  rs  r   rt  _WSRequestContextManagerc                `    t        | j                  |||||||||	|
|||||||||||            S )zInitiate websocket connection.rn  )ru  _ws_connect)r   r  r
  ro  rz   rp  rq  rr  rs  rp   r   rj   rn   rx   ry   r{   r  r  r  r}   rs   rt  s                         r   
ws_connectzClientSession.ws_connect1  sc    4 (# /#!#%%''+!)+  
 	
r   c                
  K   |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        j                  <   |rt!        |      }||t        j"                  <   |t%        j&                  dt(        d	       d
}t+        ||||      }| j-                  ||||d|	||||
       d {   }	 |j.                  dk7  r8t1        |j2                  |j4                  d|j.                  |j6                        |j6                  j9                  t        j                  d      j;                         dk7  r8t1        |j2                  |j4                  d|j.                  |j6                        |j6                  j9                  t        j                  d      j;                         dk7  r8t1        |j2                  |j4                  d|j.                  |j6                        |j6                  j9                  t        j<                  d      }t        j                  t?        j@                  |tB        z         jE                               j                         }||k7  r8t1        |j2                  |j4                  d|j.                  |j6                        d }|rrt        j                  |j6                  v rV|j6                  t        j                     jG                  d      D  cg c]  } | jI                          }!} |!D ]
  } | |v s| } n d}"|r?|j6                  j9                  t        j"                        }#|#r	 tK        |#      \  }}"nd}d}"|jP                  }%|%J |%jR                  }&|&J |||&_*        n'|&jT                  tW        ||&jT                        |&_*        |%jX                  }'|'J t[        |&d| j\                        }(|&j_                  ta        |(|      |(       tc        |&|'d
||"      })| je                  |(|)|||||| j\                  ||||"      S 7 jc c} w # tL        $ rK}$t1        |j2                  |j4                  |$jN                  d   |j.                  |j6                        |$d }$~$ww xY w# tf        $ r |ji                           w xY ww)N	websocketUpgrade13   ,)rs   z+ssl=None is deprecated, please use ssl=Truer   r   TF)rj   rn   rw   rp   rx   ry   r{   r}   e   zInvalid response status)r  rC  rn    zInvalid upgrade headerupgradezInvalid connection headerzInvalid challenge responser   r   r   )use_maskrs   
notakeover)rp  rs  rs   client_notakeover)5r   r   UPGRADE
CONNECTIONSEC_WEBSOCKET_VERSIONitems
setdefaultbase64	b64encodeosurandomdecodeSEC_WEBSOCKET_KEYr  SEC_WEBSOCKET_PROTOCOLORIGINrW   SEC_WEBSOCKET_EXTENSIONSr   r   r   r@   rb   rC  r;   rF  rY  rn   rK  lowerSEC_WEBSOCKET_ACCEPThashlibsha1rQ   digestsplitstriprX   rU   rB  rR  r:  r   maxr9  rY   r   
set_parserrS   rT   r   r>  r?  )*r   r  r
  ro  rz   rp  rq  rr  rs  rp   r   rj   rn   rx   ry   r{   r  r  r  r}   rs   rt  r   default_headerskeyvaluesec_keyextstrri  r_keymatchr:  protoresp_protocolsr  compress_hdrsrh  rg  
conn_protor9  readerwriters*                                             r   rw  zClientSession._ws_connecte  s    4 ?-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 \\  !' " 
 
u	{{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))) &*9
'((4*-oz?V?V*W
'I(((6JE

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

 /#!", +  k
r"" , #4 -- LL$'HHQK#';;$(LL  ###N  	JJL	si   E$U&S'U,H-T/ S0T/ <4T/ 1S ?B*T/ )(UT/ 	T,!AT''T,,T/ /U

U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   r,  r  r-  )r   rn   resultadded_namesr  r  s         r   r)  zClientSession._prepare_headers'  s     T223g	'BC%g.$'EK%mmo )
U+%JJsE*"'F3KOOC() r   c                      y r   r   r   r  r  s      r   rK  zClientSession.get9       (+r   c                      y r   r   r  s      r   optionszClientSession.options?  r  r   c                      y r   r   r  s      r   headzClientSession.headE  r  r   c                      y r   r   r  s      r   postzClientSession.postK  r  r   c                      y r   r   r  s      r   putzClientSession.putQ  r  r   c                      y r   r   r  s      r   patchzClientSession.patchW  r  r   c                      y r   r   r  s      r   deletezClientSession.delete]  r  r   )rq   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP GET request.rq   )r  r  r   rJ  r   r  rq   r  s       r   rK  zClientSession.gete  s8     *MM38GKQ r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP OPTIONS request.rq   )r  r  r   METH_OPTIONSr  s       r   r  zClientSession.optionso  s:     *%%s<KOU r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP HEAD request.rq   )r  r  r   rH  r  s       r   r  zClientSession.heady  s8     *NNC9HLR r   )rk   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP POST request.rk   )r  r  r   rI  r   r  rk   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.rk   )r  r  r   METH_PUTr  s       r   r  zClientSession.put  s/     *dmmSFtFvF r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP PATCH request.rk   )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.delete  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   r?  r   s    r   r?  zClientSession.close  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.closed  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.version       }}r   c                     | j                   S ))Do URL requoting on redirection handling.)r   r  s    r   r   z"ClientSession.requote_redirect_url  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_url  s#     	N	

 &)"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.loop  s%     	02DQR	
 zzr   c                     | j                   S )zTimeout for the session.)r   r  s    r   rz   zClientSession.timeout  r  r   c                     | j                   S )z*The default headers of the client session.)r   r  s    r   rn   zClientSession.headers       $$$r   c                     | j                   S )z2Headers for which autogeneration should be skipped)r   r  s    r   ro   zClientSession.skip_auto_headers  s     &&&r   c                     | j                   S )z2An object that represents HTTP Basic Authorization)r   r  s    r   rp   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   rv   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   )r?  r  s       r   	__aexit__zClientSession.__aexit__(  s      jjls   r   r   N)r   r  )r   r`   )kr   r   r   __doc__r   r   r   r   r   StackSummaryr   r   rC   rl   r  r<   r=   rA   r   HttpVersion11rO   r_   r   AbstractEventLoopr]   r^   r   r   rJ   r\   r   rR   r!   r   r   r   r   r   rH   objectra   r   r[   r   _CharsetResolverr   r   rI   r   r   r   r	  r   version_infor   rg   ri   rb   r   r  r   bytesrc   r>   r  r   rJ  rx  rw  r)  rK  r  r  r  r  r  r  r?  propertyr  r   r   r   r   r   setterr   rz   rn   r   r   ro   rp   r   r   rv   r   r   r   r  r  r>  r   r  r  r  __classcell__)r   s   @r   r`   r`      sj   9	
E< ;?x	 6 67>*.J'. (,H: .248*.*.59$(&*jj-:/=;R#1126 $ 08(,08 $%)59!!"6J=H:8$H: M*	H:
 w001H: ,'H: ,'H: $HSM2H: y!H: $H: M*H: ^,H:   78H: H: ./H:  !H:"  (N+Yt_<==
#H:( E9,-)H:* uo+H:, v},--H:. /H:0 1H:2 #3H:4  [ 125H:6 7H:8 9H:: ;H:< $4=H:> 
?H:T
tO4 
 
 	+C 	+c 	+d 	+ (0 	7 	7D 	7 7"}	+	+ 	+ _-		+
 &	+	P	P$,	P8;	P%	P,X ,# , /3*.*.59$( $"&"& #$(*.3;%)'+,048)-049=&**.'+(,Eoo o
 c*+o o o ,'o ,'o $HSM2o y!o o o 3-o $o  !o"  $.!19T?!BCC
#o( )o* !+o, Y'-o. }i/0/o0 TN1o2 e_3o4 j)5o6 :t[017o8 "#9o:  -;o< $GCH$56=o> sm?o@ "$AoB  }CoD !EoF 
Goj mm#%+/%)$( $.2*.$(*.48%)'+,004+/2
2
 	2

 C=2
 2
 "%2
 2
 2
 E?2
 y!2
 2
 c*+2
 ,'2
 !2
  Y'!2
" :t[01#2
$ TN%2
& e_'2
( j))2
*  -+2
, -2
. /2
0 
$12
p mm#%+/%)$( $.2*.$(*.48%)'+,004+/@@ 	@
 C=@ @ "%@ @ @ E?@ y!@ @ c*+@ ,'@ !@  Y'!@" :t[01#@$ TN%@& e_'@( j))@*  -+@, -@. /@0 
!1@D(> CU   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   r`   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y)_BaseRequestContextManager_coro_respcoroasyncio.Future[Any]Nr   c                     || _         y r   )r  )r   r   s     r   r   z#_BaseRequestContextManager.__init__5  s	    
r   c                 8    | j                   j                  |      S r   )r  r=  )r   args     r   r=  z_BaseRequestContextManager.send8  s    zzs##r   rB  r  c                 :     | j                   j                  |i |S r   )r  throw)r   rB  r  s      r   r  z _BaseRequestContextManager.throw;  s    tzz000r   c                 6    | j                   j                         S r   )r  r?  r  s    r   r?  z _BaseRequestContextManager.close>  s    zz!!r   c                 :    | j                   j                         }|S r   )r  	__await__)r   rets     r   r	  z$_BaseRequestContextManager.__await__A  s    jj""$
r   c                 "    | j                         S r   )r	  r  s    r   __iter__z#_BaseRequestContextManager.__iter__E  s    ~~r   c                 X   K   | j                    d {   | _        | j                  S 7 wr   r  r  s    r   r  z%_BaseRequestContextManager.__aenter__H  s#     ::%
zz &s   *(*)r  Nr   r  r  )r   r   r   	__slots__r	   r   r   r=  r   r  r?  r   r	  r  r  r   r   r   r  r  1  s    "IY'<dH'LM RV $13 1# 12G 1"9S$%89  )Cx$78  ( r   r  c                   @    e Zd ZdZdeee      dee   dee   ddfdZy)r  r   r  rh  tbr   Nc                    K   | j                   j                          | j                   j                          d {    y 7 wr   )r  rP  wait_for_closer   r  rh  r  s       r   r  z _RequestContextManager.__aexit__P  s.      	

jj'')))s   8AA A	r   r   r   r  r   r   r>  r   r  r   r   r   r  r  M  sF    I*4./* m$* ]#	*
 
*r   r  c                   @    e Zd ZdZdeee      dee   dee   ddfdZy)ru  r   r  rh  r  r   Nc                 T   K   | j                   j                          d {    y 7 wr   )r  r?  r  s       r   r  z"_WSRequestContextManager.__aexit__b  s      jj   s   (&(r  r   r   r   ru  ru  _  sF    I!4./! m$! ]#	!
 
!r   ru  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  Nr   r   c                 .    || _         d | _        || _        y r   r  )r   r   r   s      r   r   z&_SessionRequestContextManager.__init__o  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  r?  r  s    r   r  z(_SessionRequestContextManager.__aenter__x  sQ     	#zz)DJ
 :: * 	--%%'''	s1   A+ )	+ A+ &AAAAr  rh  r  c                    K   | j                   J | j                   j                          | j                  j                          d {    y 7 wr   )r  r?  r  r  s       r   r  z'_SessionRequestContextManager.__aexit__  s>      zz%%%

mm!!###s   AAA	A)r   r   r   r  r	   r=   r`   r   r  r   r   r>  r   r  r   r   r   r  r  k  s    .I -t^CD    
	 . $4./$ m$$ ]#	$
 
$r   r  r  r   )rj   rk   rl   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   rm   r   r   r   r   r   r   r
  r  rj   rk   rl   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   rm   r   r   r   r   r   r   r   c                    d}|d}t        |d      }t        ||||||      }t        |j                  | |||||||||	|
|||||||||      |      S )a  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
      >>> resp = await aiohttp.request('GET', 'http://python.org/')
      >>> resp
      <ClientResponse(python.org/) [200]>
      >>> data = await resp.read()
    FT)r   force_close)r   rm   r   rz   r   r   )rj   rk   rl   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   r   r   r   )rE   r`   r  r  )r
  r  rj   rk   rl   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   rm   r   r   r   r   r   r   r   r   s                              r   rb   rb     s    @ O d=	'G )/+'-)!%')) 	 	
, 	/ r   )r  r   r  r  rl   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   	multidictr   r   r   r   yarlr   r  r   r   r    abcr!   client_exceptionsr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   client_reqrepr<   r=   r>   r?   r@   	client_wsrA   r   rB   rC   rD   rE   rF   	cookiejarrG   helpersrH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   http_websocketrU   rV   rW   rX   streamsrY   tracingrZ   r[   typedefsr\   r]   r^   r_   __all__r{   rc   r  rg   ri   sra   r   r   r   r2  r   r  r   r  r`   r  r  ru  r  r  r   r   r  r  rb   r   r   r   <module>r1     s        	 
         ,  B B  ! ! "      8  J  !
 
 
 H G Q Q ) ' G G,^ Jw=%iu %8 T$d3  4, )6F(C}% C ST :^U3S89 T Tn"3X+=!>@Q 8*7G *$	!9:QR 	!$ $J +/&*15 $ ""'+ $&*,4&*--)-"&045ff	f WS#X&'	f
 f f l#f  .f 9
f f f smf d^f f tnf  !f" H#f$ #%f& =&()'f( l#)f* +f, &-f. 3-/f0 7,,
-1f2 3f4 5f6 #7fr   