
    T>qj+                        d dl mZ d dlmZ d dlmZmZmZ ddlm	Z	 ed   Z
dZdZd	Zd
Zd	Zd
ZdZdZdZddd	d
d	d
dddd	Zd Z G d dee      Ze G d d             Z G d ded      Ze	j4                  e	j6                  e	j8                  e	j:                  dZi dddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:i d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`Zi d dadbdcddddedfdgdhdidjdkdldmdndodpdqdrddsdtdudvdwdxdydzd{d|d}d~di ddddddddddddddddddddddddddddddddddi ddddddddddddddddddddddddddddddddddddddddddddddddϜZ dddddddddddڜ
Z!y)    )	dataclass)Enum)LiteralOptional	TypedDict   )CurlSslVersion)5edge99edge101chrome99	chrome100	chrome101	chrome104	chrome107	chrome110	chrome116	chrome119	chrome120	chrome123	chrome124	chrome131
chrome133a	chrome136	chrome142	chrome145	chrome146chrome99_androidchrome131_android	safari153	safari155	safari170safari172_ios	safari180safari180_ios	safari184safari184_ios	safari260
safari2601safari260_ios
firefox133
firefox135
firefox144
firefox147tor145chromeedgesafari
safari_iossafari_betasafari_ios_betachrome_androidfirefox
safari15_3
safari15_5
safari17_0safari17_2_ios
safari18_0safari18_0_ios
safari18_4safari18_4_iosr   r   r(   r)   r   r-   r.   )	r/   r0   r1   r2   r3   r4   r5   r6   torc                     | dk(  rt         S | dk(  rt        S | dk(  rt        S | dk(  rt        S | dk(  rt        S | dk(  rt
        S | dk(  rt        S | dk(  rt        S | d	k(  rt        S | S )
Nr/   r0   r1   r2   r3   r4   r5   r6   r?   )	DEFAULT_CHROMEDEFAULT_EDGEDEFAULT_SAFARIDEFAULT_SAFARI_IOSDEFAULT_SAFARI_BETADEFAULT_SAFARI_IOS_BETADEFAULT_CHROME_ANDROIDDEFAULT_FIREFOXDEFAULT_TOR)items    ]/opt/rentech/trading_bot/.venv/lib/python3.12/site-packages/curl_cffi/requests/impersonate.pyresolve_latest_browser_typerL   h   s    x					!!		""	"	"&&	!	!%%			    c                       e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-y,)-BrowserTyper
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r)   r(   r*   r+   r,   r-   r.   r7   r8   r9   r:   r;   r<   N).__name__
__module____qualname__r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r)   r(   r*   r+   r,   r-   r.   r7   r8   r9   r:   r;   r<    rM   rK   rO   rO      s    FGHIIIIIIIIIIIJIIII)+III#MI#MI#MI#MJJJJJF JJJ%NJ%NrM   rO   c                   4   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d      ed<   dZeee      ed<   dZeed	<   d
Zeed<   dZee   ed<   dZee   ed<   dZ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   ed<   dZee   ed<   y)ExtraFingerprintsNtls_min_version
tls_greasetls_permute_extensionszlibbrotlitls_cert_compressiontls_signature_algorithms tls_delegated_credentialr   tls_record_size_limithttp2_stream_weighthttp2_stream_exclusiveFhttp2_no_priorityheader_ordersplit_cookiesform_boundaryhttp3_sig_hash_algshttp3_tls_extension_order)rP   rQ   rR   rV   r   int__annotations__rW   boolrX   r\   r   r]   liststrr_   r`   ra   rb   rc   rd   re   rf   rg   rh   rS   rM   rK   rU   rU      s    %)OXc])!%J%-1HTN1@D(7+;#<=D48htCy18$&c&!"3")-#-,0HSM0#t#"&L(3-&$(M8D>($(M8D>()-#-/3x}3rM   rU   c                       e Zd ZU ee   ed<   ee   ed<   ee   ed<   eed      ed<   eee	      ed<   e	ed<   eed<   ee   ed	<   ee   ed
<   eed<   ee	   ed<   ee   ed<   ee   ed<   ee	   ed<   ee	   ed<   y)ExtraFpDictrV   rW   rX   rY   r\   r]   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   N)
rP   rQ   rR   r   ri   rj   rk   r   rl   rm   rS   rM   rK   ro   ro      s    c]"$TN*"7+;#<==&tCy11!!!#&$SM)3-D>!D>!!#&'},rM   ro   F)total)i  i  i  i  
   TLS_RSA_WITH_3DES_EDE_CBC_SHA/   TLS_RSA_WITH_AES_128_CBC_SHA3    TLS_DHE_RSA_WITH_AES_128_CBC_SHA5   TLS_RSA_WITH_AES_256_CBC_SHA9    TLS_DHE_RSA_WITH_AES_256_CBC_SHA<   TLS_RSA_WITH_AES_128_CBC_SHA256=   TLS_RSA_WITH_AES_256_CBC_SHA256g   #TLS_DHE_RSA_WITH_AES_128_CBC_SHA256k   #TLS_DHE_RSA_WITH_AES_256_CBC_SHA256   TLS_PSK_WITH_AES_128_CBC_SHA   TLS_PSK_WITH_AES_256_CBC_SHA   TLS_RSA_WITH_AES_128_GCM_SHA256   TLS_RSA_WITH_AES_256_GCM_SHA384   #TLS_DHE_RSA_WITH_AES_128_GCM_SHA256   #TLS_DHE_RSA_WITH_AES_256_GCM_SHA384i  TLS_AES_128_GCM_SHA256i  TLS_AES_256_GCM_SHA384i  TLS_CHACHA20_POLY1305_SHA256i  %TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHAi	  $TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHAi
  $TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHAi  #TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHAi  "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHAi  "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHAi#  'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256i$  'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384i'  %TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256i(  %TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384i+  'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256i,  'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384i/  %TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256i0  %TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384i5  "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHAi6  "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA+TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256-TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256+TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256)i  i  i  server_name   max_fragment_lengthclient_certificate_url   trusted_ca_keys   truncated_hmac   status_request   user_mapping   client_authz   server_authz	   	cert_typesupported_groups   ec_point_formats   srp   signature_algorithms   use_srtp   	heartbeat   &application_layer_protocol_negotiation   status_request_v2   signed_certificate_timestamp   client_certificate_type   server_certificate_type   padding   encrypt_then_mac   extended_master_secret   token_binding   cached_info   tls_lts   compress_certificate   record_size_limit   pwd_protect   	pwd_clear   password_salt    ticket_pinning!   tls_cert_with_extern_psk"   delegated_credential#   session_ticket$   TLMSP%   TLMSP_proxying&   TLMSP_delegate'   supported_ekt_ciphers)   pre_shared_key*   
early_data+   supported_versions,   cookie-   psk_key_exchange_modescertificate_authorities0   oid_filters1   post_handshake_auth2   signature_algorithms_cert	key_share4   transparency_infoconnection_idexternal_id_hashexternal_session_idquic_transport_parametersticket_requestdnssec_chain%sequence_number_encryption_algorithmsrrcapplication_settingszapplication_settings newech_outer_extensionsencrypted_client_hellorenegotiation_info)6   7   8   ry   :   ;   r{   r}   iiD  iD  i   i  i  zP-192zP-224zP-256zP-384zP-521X25519	ffdhe2048	ffdhe3072X25519MLKEM768X25519Kyber768Draft00)
r   r   r   r   r   r      i  i  ic  N)"dataclassesr   enumr   typingr   r   r   constr	   BrowserTypeLiteralrA   rB   rC   rD   rE   rF   rG   rH   rI   REAL_TARGET_MAPrL   rm   rO   rU   ro   TLSv1_0TLSv1_1TLSv1_2TLSv1_3TLS_VERSION_MAPTLS_CIPHER_NAME_MAPTLS_EXTENSION_NAME_MAPTLS_EC_CURVES_MAPrS   rM   rK   <module>r+     s    !  / / " 9E P $ " ) ,  !&)
.-&#t -&` 4 4 4$-)5 -* """"""""	&
+&
*& .& *	&
 .& -& -& 1& 1& *& *& -& -& 1& 1&  $!&" $#&$ *%&& 3'&( 2)&* 2+&, 1-&. 0/&0 01&2 53&4 55&6 37&8 39&: 5;&< 5=&> 3?&@ 3A&B 0C&D 0E&F :;9K& Vi}ii i 	i
 i i ~i ~i ~i {i i i i i 
i  !i" 0#i$ %i& &'i( !)i* !+i, 	-i. /i0  1i2 3i4 5i6 	7i8 9i: ;i< =i> ?i@ AiB CiD "EiF GiH IiJ KiL MiN OiP QiT UiV WiX YiZ [i\  ]i` !aib cid eif #gih iij kin 	#/!%D "#  Oi Z 			
" rM   