
    N jg              #         % S SK Jr  / SQrS SKrS SKrS SKrS SKrS SKJr  S SK	J
r
  S SKJr  S SKJr  S SKJrJrJrJrJrJrJrJr  S S	KJrJrJrJrJrJr  S
SKJ r J!r!J"r"J#r#  S
SK$J%r%J&r&  S
SK'J(r(  SSK)J*r*  SSK+J,r,J-r-  SSK.J/r/  SSK0J1r1J2r2J3r3J4r4J5r5J6r6  SSK7J8r8  \(       a   S
SK$J9r9  SSK)J:r:  SSK.J;r;  SSK0J<r<J=r=  SSK>J?r?  \S   r@\S   rA\B" S5      rC\ " S S5      5       rD\D" 5       rES\FS'       S5S  jrGS6S! jrHS7S8S# jjrIS9S$ jrJ\K" S%5      rLS:S& jrMS:S' jrN S;       S<S( jjrOS=S>S) jjrPS=S?S* jjrQS@S+ jrRS;SAS, jjrSSBS- jrTSCS. jrUSDS/ jrV/ SSS/ / SS\ES0S1/ SS/ SS2SSSSSSS0S"SSSSS SSSSS3."                                                                         SES4 jjrWg)F    )annotations)HttpVersionLiteralset_curl_optionsNOT_SETN)Counter)Callable)BytesIO)dumps)TYPE_CHECKINGAnyFinalLiteralOptionalUnioncastfinal)ParseResult	parse_qslquote	urlencodeurljoinurlparse   )
CurlFollowCurlHttpVersionCurlOptCurlSslVersion)CURL_WRITEFUNC_ERRORCurlMime)CurlCffiWarning   )Cookies)ImpersonateError
InvalidURL)Headers)TLS_CIPHER_NAME_MAPTLS_EC_CURVES_MAPTLS_VERSION_MAPExtraFingerprintsnormalize_browser_typetoggle_extension)Request)Curl)CookieTypes)HeaderTypes)BrowserTypeLiteralExtraFpDict)	ProxySpec)	GETPOSTPUTDELETEOPTIONSHEADTRACEPATCHQUERY)v1v2v2tlsv2_prior_knowledgev3v3onlyz!#$%&'()*+,/:;=?@[]~c                  0    \ rS rSrSrSrSS jrSS jrSrg)	
NotSetType2   z8
Unique single initialized type distinct from ``None``.
 c                    gNr   rE   selfs    i/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/curl_cffi/requests/utils.py__repr__NotSetType.__repr__:           c                    grG   rE   rH   s    rJ   
__reduce__NotSetType.__reduce__=   rM   rN   N)returnstr)rR   zLiteral['NOT_SET'])	__name__
__module____qualname____firstlineno____doc__	__slots__rK   rP   __static_attributes__rE   rN   rJ   rC   rC   2   s     IrN   rC   zFinal[NotSetType]r   c                   U S:X  a  [         R                  $ U S:X  a  [         R                  $ U S:X  a  [         R                  $ U S:X  a  [         R                  $ U S:X  a  [         R
                  $ U S:X  a  [         R                  $ U $ )Nr<   r@   rA   r=   r>   r?   )r   V1_1V3V3ONLYV2_0V2TLSV2_PRIOR_KNOWLEDGE)versions    rJ   normalize_http_versionrc   E   s     $###	D!!!	H	%%%	D###	G	$$$	(	(111NrN   c                h    [        U 5      n[        UR                  =(       a    UR                  5      $ )z,Check if the provided url is an absolute url)r   boolschemehostname)url
parsed_urls     rJ   is_absolute_urlrj   X   s'    #J
!!9j&9&9::rN    c           	     H   SR                  [        [        U5      -
  5      n[        U 5      n[	        UR
                  SS9n[        USUS9n[        UR                  UR                  [        UR                  US9UR                  UUR                  5      R                  5       $ )Nrk   Tkeep_blank_values)doseqsaferp   )join
SAFE_CHARSsetr   r   queryr   r   rf   netlocr   pathparamsfragmentgeturl)rh   	quote_strrp   ri   parsed_get_argsencoded_get_argss         rJ   quote_path_and_paramsr~   ^   s    77:I./D#J
 0 0DIO 4HjooD) fhrN   c                   [        U 5      n[        UR                  SS9n[        S U 5       5      n[	        U[
        5      (       a  [        UR                  5       5      n[        S U 5       5      nU H  u  pg[	        U[        [
        -  5      (       a  [        U5      nUR                  U5      S:X  a4  UR                  U5      S:X  a  U Vs/ s H  oS   U:w  a  UOXg4PM     nnMu  UR                  Xg45        M     [        USS9n	[        UR                  UR                  UR                   UR"                  U	UR$                  5      R'                  5       n
U
$ s  snf )a  Add URL query params to provided URL being aware of existing.

Args:
    url: string of target URL
    params: dict containing requested params to be added

Returns:
    string with updated URL

>> url = 'http://stackoverflow.com/test?answers=true'
>> new_params = {'answers': False, 'data': ['some','values']}
>> update_url_params(url, new_params)
'http://stackoverflow.com/test?data=some&data=values&answers=false'
Trm   c              3  *   #    U  H	  oS    v   M     g7fr   NrE   .0xs     rJ   	<genexpr>$update_url_params.<locals>.<genexpr>   s     =_t_   c              3  *   #    U  H	  oS    v   M     g7fr   rE   r   s     rJ   r   r      s     4VtVr   r!   r   )ro   )r   r   ru   r   
isinstancedictlistitemsre   r
   getappendr   r   rf   rv   rw   rx   ry   rz   )rh   rx   ri   r|   old_args_counternew_args_counterkeyvaluer   r}   new_urls              rJ   update_url_paramsr   m   sN     #J  
 0 0DIO =_==&$flln%4V44
eTD[))%LE$).>.B.B3.G1.L>M>Mdck|3o  O ""C<0  !=  fh  N)s   EzBABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~c                   U R                  S5      n[        S[        U5      5       Hp  nX   SS n[        U5      S:X  aN  UR                  5       (       a9   [	        [        US5      5      nU[        ;   a  XAU   SS -   X'   M\  SX    3X'   Mg  SX    3X'   Mr     S	R                  U5      $ ! [         a  n[        SU S35      UeSnAff = f)
zUn-escape any percent-escape sequences in a URI that are unreserved
characters. This leaves all reserved, illegal and non-ASCII bytes encoded.
%r!   r   r      z"Invalid percent-escape sequence: ''Nrk   )
splitrangelenisalnumchrint
ValueErrorr$   UNRESERVED_SETrr   )uripartsihces         rJ   unquote_unreservedr      s     IIcNE1c%j!HQqMq6Q;199;;SAr
O N"Qx|+uxj>58*~EH " 775>  S #EaS!JKQRRSs   B,,
C6CCc                d    SnSn [        [        U 5      US9$ ! [         a    [        XS9s $ f = f)zRe-quote the given URI.

This function passes the given URI through an unquote/quote cycle to
ensure that it is fully and consistently quoted.
z!#$%&'()*+,/:;=?@[]~|z!#$&'()*+,/:;=?@[]~|rq   )r   r   r$   )r   safe_with_percentsafe_without_percents      rJ   requote_urir      sG     01	5 ',3DEE 5 S44	5s    //c                    Sn[        U 5       HN  u  pVUR                  5       R                  UR                  5       S-   5      (       d  M<  SnU(       a	  U SU 3X'     O   U(       d  U R                  U SU 35        gg)z*Update header line list by key value pair.F:T: N)	enumeratelower
startswithr   )header_linesr   r   replacefoundidxlines          rJ   update_header_liner      s}     E|,	::<""399;#455E'*e2eW$5! - se2eW-. rN   c                F     U R                   S   $ ! [         a    Us $ f = fNr   )queue
IndexErrorqdefaults     rJ   
peek_queuer      s)    wwqz       c                F     U R                   S   $ ! [         a    Us $ f = fr   )_queuer   r   s     rJ   peek_aio_queuer      s)    xx{ r   c                h    1 SknX-
  nU H  n[        XSS9  M     X!-
  nU H  n[        XSS9  M     g )N>   r     
         r      #   +   -   3   T)enableF)r+   )curlextension_idsdefault_enabledto_enable_idsext_idto_disable_idss         rJ   toggle_extensions_by_idsr      sA    DO!3Md3  
 %4N e4 !rN   c                6   UR                  S5      u  p4pVn[        [        U5         nU R                  [        R
                  U[        R                  -  5        U[        R                  :X  d   S5       e/ n	UR                  S5       HT  n
[        U
5      n[        R                  " U5      nU(       d  [        S[        U5       S35      eU	R                  U5        MV     U R                  [        R                  SR                  U	5      5        UR!                  S5      (       a  USS	 n["        R$                  " S
[&        SS9  [)        S UR                  S5       5       5      n[+        X5        U(       d   U R                  [        R,                  U5        / nUR                  S5       H(  n[        U5      n[.        U   nUR                  U5        M*     U R                  [        R0                  SR                  U5      5        [        U5      S:X  d   S5       eg)zm
Detailed explanation: https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967/
,zOnly TLS v1.2 works for now.-zCipher z is not foundr   z-21NzPadding(21) extension found in ja3 string, whether to add it should be managed by the SSL engine. The TLS client hello packet may contain or not contain this extension, any of which should be correct.r!   
stacklevelc              3  8   #    U  H  n[        U5      v   M     g 7fN)r   )r   r   s     rJ   r   "set_ja3_options.<locals>.<genexpr>#  s     >(=1A(=s   r   z%Only curve_formats == 0 is supported.)r   r(   r   setoptr   
SSLVERSIONr   MAX_DEFAULTTLSv1_2r&   r   r#   hexr   SSL_CIPHER_LISTrr   endswithwarningswarnr    rt   r   TLS_EXTENSION_ORDERr'   SSL_EC_CURVES)r   ja3permutetls_versionciphers
extensionscurvescurve_formatscurl_tls_versioncipher_namescipher	cipher_idcipher_namer   curve_namescurvecurve_id
curve_names                     rJ   set_ja3_optionsr     s    ?Biin;K*m&s;'78KK""$4~7Q7Q$QR~555U7UU5L--$K	)--i8"WS^,<M#JKKK( % 	KK'',)?@5!!_
M 	
 >
(8(8(=>>MT1G//<Kc"u:&x0
:& #
 	KK%%sxx'<=}"K$KK"rN   c                   UR                  S5      u  p#pEUR                  SS5      nU R                  [        R                  [
        R                  5        U R                  [        R                  U5        U R                  [        R                  [        U5      5        US:w  a   U R                  [        R                  U5        U R                  [        R                  UR                  SS5      5        g)z
Detailed explanation: https://www.blackhat.com/docs/eu-17/materials/eu-17-Shuster-Passive-Fingerprinting-Of-HTTP2-Clients-wp.pdf
|r   ;0rk   N)r   r   r   r   HTTP_VERSIONr   r_   HTTP2_SETTINGSHTTP2_WINDOW_UPDATEr   HTTP2_STREAMSHTTP2_PSEUDO_HEADERS_ORDER)r   akamaisettingswindow_updatestreamsheader_orders         rJ   set_akamai_optionsr	  4  s     6<\\#5F2HW S)HKK$$o&:&:;KK&&1KK++S-?@#~G))73 	KK22L4H4Hb4QRrN   c                   UR                  S5      u  p#nU R                  [        R                  U5        U R                  [        R                  UR                  SS5      5        U R                  [        R                  U5        g )Nr   r   rk   )r   r   r   HTTP3_SETTINGSHTTP3_PSEUDO_HEADERS_ORDERr   QUIC_TRANSPORT_PARAMETERS)r   perkr  r  quic_transport_parameterss        rJ   set_perk_optionsr  J  sa    8<

35H5KK&&1 	KK22L4H4Hb4QRKK113LMrN   c                   UR                   (       a9  U R                  [        R                  SR	                  UR                   5      5        U R                  [        R
                  UR                  [        R                  -  5        U R                  [        R                  [        UR                  5      5        U R                  [        R                  [        UR                  5      5        U R                  [        R                  UR                  5        U R                  [        R                   UR"                  5        U R                  [        R$                  UR&                  5        UR(                  (       a*  U R                  [        R*                  UR(                  5        UR,                  (       a*  U R                  [        R.                  UR,                  5        UR0                  (       a*  U R                  [        R2                  UR0                  5        UR4                  b*  U R                  [        R6                  UR4                  5        UR8                  b*  U R                  [        R:                  UR8                  5        UR<                  b*  U R                  [        R>                  UR@                  5        URB                  b+  U R                  [        RD                  URB                  5        g g )Nr   )#tls_signature_algorithmsr   r   SSL_SIG_HASH_ALGSrr   r   tls_min_versionr   r   
TLS_GREASEr   
tls_greaseSSL_PERMUTE_EXTENSIONStls_permute_extensionsSSL_CERT_COMPRESSIONtls_cert_compressionSTREAM_WEIGHThttp2_stream_weightSTREAM_EXCLUSIVEhttp2_stream_exclusivetls_delegated_credentialTLS_DELEGATED_CREDENTIALStls_record_size_limitTLS_RECORD_SIZE_LIMIThttp2_no_priorityHTTP2_NO_PRIORITYform_boundaryFORM_BOUNDARYsplit_cookiesSPLIT_COOKIEShttp3_sig_hash_algsHTTP3_SIG_HASH_ALGSsig_hash_algshttp3_tls_extension_orderHTTP3_TLS_EXTENSION_ORDER)r   fps     rJ   set_extra_fpr/  V  s   	""G--sxx8S8S/TUKK""B$6$69S9S$STKK""C$67KK..B4M4M0NOKK,,b.E.EFKK%%r'='=>KK(("*C*CD	""G55r7R7RS	G1123K3KL	G--r/C/CD	#G))2+;+;<	#G))2+;+;<	)G//1A1AB	##/G55r7S7ST 0rN   T   zgzip, deflate, br, zstd)"params_listbase_urldatajsonheaders_listcookies_listfilesauthtimeoutallow_redirectsmax_redirectsproxies_listproxy
proxy_authverify_listrefereraccept_encodingcontent_callbackimpersonater   r  r  extra_fpdefault_headersr   http_version	interfacecertstreammax_recv_speed	multipartqueue_classevent_classcurl_optionsc       "   	     f  ^J^K^L U n%UR                  5       nUS:X  a!  U%R                  [        R                  S5        O4US:w  a.  U%R                  [        R                  UR                  5       5        US:X  a   U%R                  [        R                  S5        Uu  n&n'U&(       a  [        UU&5      nU'(       a  [        UU'5      nU(       a  [        XB5      nU(       a
  [        UUS9nUSLa  [        U5      nU%R                  [        R                  UR                  5       5        [        U[        [        -  [        -  5      (       a  [!        U5      R                  5       n(Ou[        U["        5      (       a  UR                  5       n(OO[        U[$        5      (       a  UR'                  5       n(O)[        U[(        5      (       a  Un(OUc  Sn(O[+        S5      eUb  [-        US	S
9R                  5       n(US L=(       d    US Ln)U)(       a  U!c  U(OS n*U((       d  US;   ao  U%R                  [        R.                  U(5        U%R                  [        R0                  [3        U(5      5        US:X  a   U%R                  [        R                  U5        Uu  n+n,[        U,[4        5      (       a  U,R6                  OS n-[5        U+U-S9n.U.R9                  U,5        / n/U.R;                  5        HQ  u  n0n1U1c  U/R=                  U0 S35        M  U1S:X  a  U/R=                  U0 S35        M;  U/R=                  U0 SU1 35        MS     Ub  [?        U/SS5        [        U[        5      (       a  US:w  a  [?        U/SS5        [        U["        [(        -  5      (       a  U(       a  [?        U/SS5        [?        U/SSSS9  U%R                  [        R@                  U/ V.s/ s H  n.U.R                  5       PM     sn.5        [C        UW.UU*5      n2U%R                  [        RD                  S5        U%R                  [        RF                  S5        Uu  n3n4U3(       aF  U3RI                  U25       H1  n5U R                  [        RF                  U5RK                  5       5        M3     U4(       aQ  [M        U45      n6U6RI                  U25       H1  n5U R                  [        RF                  U5RK                  5       5        M3     U	(       a  [O        S5      eU!(       a  [Q        [        U=(       d    0 5      RS                  5        H;  u  n0n1U!RU                  U0[        U1["        5      (       a  U1R                  5       OU1S9  M=     U%R                  [        RV                  U!RX                  5        U
(       aa  U
u  n7n8U%R                  [        RZ                  U7R                  5       5        U%R                  [        R\                  U8R                  5       5        Uc  Sn[        U[        5      (       a  Uu  n9n:U9U:-   n;U%R                  [        R^                  [a        U9S-  5      5        U(       d.  U%R                  [        Rb                  [a        U;S-  5      5        GO%U%R                  [        Rd                  S5        U%R                  [        Rf                  [h        Rj                  " U;5      5        O[        U[`        [l        -  5      (       a  U(       d-  U%R                  [        Rb                  [a        US-  5      5        OU%R                  [        R^                  [a        US-  5      5        U%R                  [        Rd                  S5        U%R                  [        Rf                  [h        Rj                  " U5      5        [        U[n        5      (       a*  U%R                  [        Rp                  [a        U5      5        OgUS:X  a8  U%R                  [        Rp                  [a        [n        Rr                  5      5        O)U%R                  [        Rp                  [a        U5      5        U%R                  [        Rt                  U5        Uu  n<n=U(       a  U=(       a  [+        S5      eU(       a  SU0n=U=c  U<n=U=(       Ga  U%R                  [        Rv                  S5        [y        U5      n>[Q        [z        ["           U=R}                  U>R~                  U=R}                  S5      5      5      nU>R                  (       aP  U=R}                  U>R~                   S U>R                   3U=R}                  S!U>R                   35      5      =(       d    UnUb  U%R                  [        R                  U5        U>R~                  S":X  af  UR                  S#5      (       a  [        R                  " S$[        S%S&9  UR                  S'5      (       d   U%R                  [        R                  S5        U(       aa  Uu  n7n8U%R                  [        R                  U7R                  5       5        U%R                  [        R                  U8R                  5       5        Uu  n?n@U@SL =(       d    U?(       + =(       a    W@S L nAUAU%lI        UA(       a@  U%R                  [        R                  S5        U%R                  [        R                  S5        [        W@["        5      (       a   U%R                  [        R                  W@5        W@S(;   a5  [        U?["        5      (       a   U%R                  [        R                  U?5        U(       a.  U%R                  [        R                  UR                  5       5        Ub.  U%R                  [        R                  UR                  5       5        U(       a{  [        U["        5      (       a!  U%R                  [        R                  U5        OEUu  nnBU%R                  [        R                  U5        U%R                  [        R                  UB5        U(       a+  [        U5      nU%R                  [        R                  U5        U(       a0  [        U5      nU%R                  UUS)9nCUCS:w  a  [        S*U S+35      eU(       a  U(       a  [        R                  " S,[        SS&9  SnD[        U[        5      (       a  UR                  (       a  SnD[        U[        5      (       a  UR}                  S-5      (       a  SnD[        U%UWDS.9  U(       aM  [        U[        5      (       a  [        S30 UD6nU(       a  [        R                  " S/[        SS&9  [        U%U5        U(       a-  U(       a  [        R                  " S0[        SS&9  [        U%U5        U(       a-  U(       a  [        R                  " S1[        SS&9  [        U%U5        S nES mKS mJS mLU(       a>  U"" 5       mKU#" 5       mJU#" 5       mLUJUKUL4S2 jnFU%R                  [        R                  UF5        ONUb!  U%R                  [        R                  U5        O*[%        5       nEU%R                  [        R                  UE5        [%        5       nGU%R                  [        R                  UG5        U(       a.  U%R                  [        R                  UR                  5       5        U%R                  [        R                  U 5        U$(       a,  U$RS                  5        H  u  nHnIU%R                  UHUI5        M     U2WEWGTKTJTL4$ s  sn.f )4Nr4   r!   r3   r8   )r{   FrN   z3data must be dict/list/tuple, str, BytesIO or bytes)r   r   )
separators)r4   r5   r:   )encodingr   rk   r   r   zContent-Typezapplication/jsonz!application/x-www-form-urlencodedzapplication/octet-streamExpectT)r   ALLzfiles is not supported, use `multipart`. See examples here: https://github.com/lexiforest/curl_cffi/blob/main/examples/upload.py)namer3  r   i  rp   z)Cannot specify both 'proxy' and 'proxies'allz://zall://httpszhttps://zMake sure you are using https over https proxy, otherwise, the proxy prefix should be 'http://' not 'https://', see: https://github.com/lexiforest/curl_cffi/issues/6r   r   socks)NT)rE  zImpersonating z is not supportedz?JA3 fingerprint was altered after impersonated version was set.r  )r   zBExtra fingerprints was altered after impersonated version was set.zBAkamai fingerprint was altered after impersonated version was set.z@Perk fingerprint was altered after impersonated version was set.c                   > TR                  5       (       d  TR                  5         TR                  5       (       a  [        $ TR                  U 5        [	        U 5      $ r   )is_setrt   r   
put_nowaitr   )chunkheader_recvedr   quit_nows    rJ   qputset_curl_options.<locals>.qput  sG     ''))!!#  ++LLu:rN   rE   )`upperr   r   r4   CUSTOMREQUESTencodeNOBODYr   r   r~   r   URLr   r   r   tupler   rS   r	   readbytes	TypeErrorr
   
POSTFIELDSPOSTFIELDSIZEr   r%   rQ  updatemulti_itemsr   r   
HTTPHEADERr,   
COOKIEFILE
COOKIELISTget_cookies_for_curlto_curl_formatr"   NotImplementedErrorr   r   addpartMIMEPOST_formUSERNAMEPASSWORDCONNECTTIMEOUT_MSr   
TIMEOUT_MSLOW_SPEED_LIMITLOW_SPEED_TIMEmathceilfloatr   FOLLOWLOCATIONSAFE	MAXREDIRSPROXY_CREDENTIAL_NO_REUSEr   r   r   rf   rg   PROXYr   r   r   r    HTTPPROXYTUNNELPROXYUSERNAMEPROXYPASSWORD_skip_cacertSSL_VERIFYPEERSSL_VERIFYHOSTCAINFOREFERERACCEPT_ENCODINGSSLCERTSSLKEYrc   r   r*   rC  r#   r)   r  r   r/  r	  WRITEFUNCTION	WRITEDATA
HEADERDATA	INTERFACEMAX_RECV_SPEED_LARGE)Mr   methodrh   r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  r   r  r  rD  rE  r   rF  rG  rH  rI  rJ  rK  rL  rM  rN  r   base_paramsrx   bodybody_providedrequest_bodybase_headersheadersrQ  r   r   kvreqbase_cookiescookiesmorseltemp_cookiesusernamepasswordconnect_timeoutread_timeoutall_timeoutbase_proxiesproxiesr   base_verifyverifydisable_verifyr   retr   bufferr^  header_bufferoptionsettingr\  r   r]  sM                                                                             @@@rJ   r   r   p  sv   X 	A\\^F 	q!	5	&&8	# &K[1V,h$#C59E#HHW[[#**,' $te+,,%%'	D#		{{}	D'	"	"yy{	D%	 	 	MNNTj188:$8D(8M(Y->4DL v11	##T*	&&D	2U?HHW**F3 )L' $.gw#?#?wTHx0AHHW L191#Q("W1#Q(1#Rs,   <9KL$&F"2.*M	
 $e$$<9ST |Xr4@HHWl!Cl!((*l!CD
#q&,
/C HHW%HHW'(L'"77<FKK**F,A,A,CD =w'"77<FKK**F,A,A,CD = !S
 	
 tzr*002DAq1As9K9K188:QRS 3	!!9??3 !(	!!8??#45	!!8??#45 '5!!(/%%4	**C$0F,GHHHW''[4-?)@A HHW,,a0HHW++TYY{-CD	GS5[	)	)HHW''Wt^)<=HHW..GdN0CDHHW,,a0HHW++TYYw-?@ /:..	''_)=>	F	"	''Z__)=>	''_)=> HHW. )L'CDD%.
 	
22A6Xc]GKKgkk%>P$QR>>||nC'78KK&(8 9:    HHW]]E*||w&##J//MMP (#$ ''00HHW44a8 %/"(..0AB..0AB &Ku_JK(JFdNN#AN	''+	''+ &#	( *[#">">	- 	'.."23 "	((/*@*@*BC dC  HHW__d+ID#HHW__d+HHW^^S) -l;	%%|4 ,[9mmKmI!8"^K=@Q#RSS MMQ
 h 122x7V7VGh%%(,,7O*P*PG30 h%%(484HMMT
 	Q! MMT
 	1f% MMR
 	1d#FAMHM#=	 	
&&-		%	&&(89	""F+IMHHW/ 	""I$4$4$67 HHW))>: +113OFGHHVW%  4 q-AAy "Ds   |.
)rb   z*Union[CurlHttpVersion, HttpVersionLiteral]rR   r   )rh   rS   rR   re   )rk   )rh   rS   r{   rS   )rh   rS   rx   zUnion[dict, list, tuple]rR   rS   )r   rS   rR   rS   )F)r   z	list[str]r   rS   r   rS   r   re   r   )r   zqueue.Queue)r   zasyncio.Queue)r   r-   )r   r-   r   rS   r   re   )r   r-   r  rS   )r   r-   r  rS   )r   r-   r.  r)   )Jr   r-   r  
HttpMethodrh   rS   r1  zFlist[Union[dict[str, object], list[object], tuple[object, ...], None]]r2  Optional[str]r3  zIOptional[Union[dict[str, str], list[tuple[object]], str, BytesIO, bytes]]r4  z-Optional[dict[object, object] | list[object]]r5  zlist[Optional[HeaderTypes]]r6  zlist[Optional[CookieTypes]]r7  zOptional[dict[object, object]]r8  Optional[tuple[str, str]]r9  z3Optional[Union[float, tuple[float, float], object]]r:  z&Optional[Union[bool, CurlFollow, str]]r;  zOptional[int]r<  zlist[Optional[ProxySpec]]r=  r  r>  r  r?  zlist[Union[bool, str, None]]r@  r  rA  r  rB  zOptional[Callable[..., object]]rC  z(Optional[Union[BrowserTypeLiteral, str]]r   r  r  r  r  r  rD  z/Optional[Union[ExtraFingerprints, ExtraFpDict]]rE  re   r   zUnion[str, Literal[False]]rF  z4Optional[Union[CurlHttpVersion, HttpVersionLiteral]]rG  r  rH  z%Optional[Union[str, tuple[str, str]]]rI  zOptional[bool]rJ  r   rK  zOptional[CurlMime]rL  r   rM  r   rN  zOptional[dict[CurlOpt, str]])X
__future__r   __all__asyncior|  r   r   collectionsr   collections.abcr   ior	   r4  r
   typingr   r   r   r   r   r   r   r   urllib.parser   r   r   r   r   r   constr   r   r   r   r   r   r   utilsr    r  r"   
exceptionsr#   r$   r  r%   rC  r&   r'   r(   r)   r*   r+   modelsr,   r-   r.   r/   r0   r1   sessionr2   r  r   rt   rs   rC   r   __annotations__rc   rj   r~   r   	frozensetr   r   r   r   r   r   r   r   r	  r  r/  r   rE   rN   rJ   <module>r     s   "
?      $   S S S T T H H 1 #  4   $$<" P
 VW '(
    (\	 )7&;4v M
,5, DI//"%/.1/<@/5"+L\S,	NUB 	" 	:>0202,0&*CJ>B#%.0,002!%>8<<@ @D (*IM#26!$(15UBB
BBBB 
BB
BB BBBB 8BB .BB .BB *BB  $!BB" A#BB$ <%BB& !'BB( ,)BB* +BB, *-BB. ./BB0 1BB2 #3BB4 65BB6 :7BB8 
9BB: ;BB< =BB> >?BB@ ABBB &CBBD GEBBF GBBH 0IBBJ KBBL MBBN "OBBP QBBR SBBT /UBBrN   