
    Pi                        U 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Zd dl	m
Z
 d dlZd dlmZ d dlmZ dZg Zed         ed<    ej                    Zedk    rd	Zned
k    rdZd ej                                                     de                                 Zej        dk    rdndZde de e Zdddddddddddddd d!d"Zd#Ze d$e Z e
e          d%z  d&z  Z eeez            Z d'Z!d(Z"d)Z# G d* d          Z$dS )+    N)Path)HF_HOME)ChecksumMismatchErrorz0.3TunnelCURRENT_TUNNELSx86_64amd64aarch64arm64frpc__ntz.exe z-https://cdn-media.huggingface.co/frpc-gradio-/@14bc0ea470be5d67d79a07412bd21de8a0a179c6ac1116d7764f68e942dc9ceb@c791d1f047b41ff5885772fc4bf20b797c6059bbd82abb9e31de15e55d6a57c4@823ced25104de6dc3c9f4798dbb43f20e681207279e6ab89c40e2176ccbf70cd@930f8face3365810ce16689da81b7d1941fda4466225a7bbcbced9a2916a6e15@dfac50c690aca459ed5158fad8bfbe99f9282baf4166cf7c410a6673fbc1f327@4b563beb2e36c448cc688174e20b53af38dc1ff2b5e362d4ddd1401f2affbfb7@cb0a56c764ecf96dd54ed601d240c564f060ee4e58202d65ffca17c1a51ce19c@516d9e6903513869a011ddcd1ec206167ad1eb5dd6640d21057acc258edecbbb@4c2f2a48cd71571498c0ac8a4d42a055f22cb7f14b4b5a2b0d584220fd60a283@b309ecd594d4f0f7f33e556a80d4b67aef9319c00a8334648a618e56b23cb9e0@0372ef5505baa6f3b64c6295a86541b24b7b0dbe4ef28b344992e21f47624b7b@1658eed7e8c14ea76e1d95749d58441ce24147c3d559381832c725c29cfc3df3@a2aaba16961d3372b79bd7a28976fcd0f0bbaebc2b50d5a7a71af2240747960f@721b90550195a83e15f2176d8f85a48d5a25822757cb872e9723d4bccc4e5bb6@796481edd609f31962b45cc0ab4c9798d040205ae3bf354ed1b72fb432d796b8)zGhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_windows_amd64.exezAhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_amd64zAhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_arm64zBhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_darwin_amd64zBhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_darwin_arm64z?https://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_armzAhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_freebsd_386zChttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_freebsd_amd64z?https://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_386z@https://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_mipszBhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_mips64zChttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_riscv64zBhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_mipslezEhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_windows_386.exezDhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_mips64le   _vgradiofrpc   zYCould not create share URL. Please check the appended log from frpc for more information:z.gradio/certificate.pemc                   x    e Zd Zdededededededz  fdZed	             Zd
efdZd Z	ded
efdZ
d
efdZdS )r   remote_hostremote_port
local_host
local_portshare_tokenshare_server_tls_certificateNc                 v    d | _         d | _        || _        || _        || _        || _        || _        || _        d S N)procurlr&   r'   r(   r)   r*   r+   )selfr&   r'   r(   r)   r*   r+   s          d/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/gradio/tunneling.py__init__zTunnel.__init__@   sF     	&&$$&,H)))    c                     t          t                                                    st          t                                        dd           t          j        t          d          } | j        dk    r#t          dt          j                               |                                  t          t          d          5 }|                    | j                   d d d            n# 1 swxY w Y   t!          j        t                    }t!          j        t          |j        t"          j        z             t          t*          v rt-          j                    t          t          d          5 t1          fd	d
          D ]}                    |           	 d d d            n# 1 swxY w Y                                   }|t*          t                   k    rt7                      d S d S d S )NT)parentsexist_okr$   )timeouti  zCannot set up a share link as this platform is incompatible. Please create a GitHub issue with information about your platform: wbrbc                  H                          t          j        z            S r-   )read
CHUNK_SIZE
block_size)fshas   r1   <lambda>z(Tunnel.download_binary.<locals>.<lambda>i   s    affZ#.5P.Q.Q r3   r3   )r   BINARY_PATHexistsBINARY_FOLDERmkdirhttpxget
BINARY_URLstatus_codeOSErrorplatformunameraise_for_statusopenwritecontentosstatchmodst_modeS_IEXEC	CHECKSUMShashlibsha256iterupdate	hexdigestr   )respfilestchunkcalculated_hashr>   r?   s        @@r1   download_binaryzTunnel.download_binaryR   sI   K  '')) 	2%%dT%BBB9Z444D3&&fS[SaScScf f  
 !!### k4(( )D

4<((() ) ) ) ) ) ) ) ) ) ) ) ) ) )%%BH["*t|";<<<Y&&n&&+t,, *!%&Q&Q&Q&Q&QSV!W!W * *

5))))** * * * * * * * * * * * * * * #&--//"i
&;;;/1115	2 	2$ '& <;s$   C,,C03C02-F,,F03F0returnc                 v    |                                   |                     t                    | _        | j        S r-   )r`   _start_tunnelrA   r/   r0   s    r1   start_tunnelzTunnel.start_tunnelp   s0    %%k22xr3   c                     | j         It          d| j         d| j         d| j                    | j                                          d | _         d S d S )NzKilling tunnel :z <> )r.   printr(   r)   r/   	terminaterd   s    r1   killzTunnel.killu   s^    9 UDOUUdoUU48UUVVVI!!!DIII ! r3   binaryc                    t                               |            |dd| j        dt          | j                  d| j        ddddd	| j         d
| j         dg}| j        |	                    dd| j        g           t          j        |t          j        t          j                  | _        t          j        | j                   |                                 S )Nhttpz-nz-lz-iz--ucz--sdrandomz--uez--server_addrrg   z--disable_log_colorz--tls_enablez--tls_trusted_ca_file)stdoutstderr)r   appendr*   strr)   r(   r&   r'   r+   extend
subprocessPopenPIPEr.   atexitregisterrj   _read_url_from_tunnel_stream)r0   rk   commands      r1   rc   zTunnel._start_tunnel{   s    t$$$  O44$"244!
" ,8NN"+5   $JOJO
 
 
	 		"""00222r3   c                 ,   t          j                     }g d}fd}|dk    rt          j                     |z
  t          k    r
 |             | j        J | j        j        E| j        j                                        }|                    d          }|dk    r                    |                                           d|v r8t          j	        d|          }| |             n$|
                    d          }nd|v r
 |             |dk    |S )Nr   c                      d                               } t          | t          j                   t	          t
           d|            )N
)r\   )joinrh   sysrp   
ValueErrorTUNNEL_ERROR_MESSAGE)log_textlogs    r1   _raise_tunnel_errorz@Tunnel._read_url_from_tunnel_stream.<locals>._raise_tunnel_error   sD    yy~~H(,,,, 4BBBBCCCr3   zutf-8zstart proxy successzstart proxy success: (.+)
   zlogin to server failed)timeTUNNEL_TIMEOUT_SECONDSr.   ro   readlinedecoderq   stripresearchgroup)r0   start_timestampr/   r   lineresultr   s         @r1   ry   z#Tunnel._read_url_from_tunnel_stream   sA   )++	D 	D 	D 	D 	D
 Riiy{{_,0FFF##%%%9(((y'9#,,..D;;w''DrzzJJtzz||$$$$,,#@$GG>'')))) ,,q//CC)T11##%%%1 Rii4 
r3   )__name__
__module____qualname__rr   intr2   staticmethodr`   re   rj   rc   ry    r3   r1   r   r   ?   s        II I 	I
 I I '*DjI I I I$ 2 2 \2:c    
  3C 3C 3 3 3 3B%c % % % % % %r3   )%rw   rV   rP   rJ   r   rQ   rt   r   r   pathlibr   rE   huggingface_hub.constantsr   gradio.exceptionsr   VERSIONr   list__annotations__machinesystemlowerBINARY_REMOTE_NAMEname	EXTENSIONrG   rU   r<   BINARY_FILENAMErC   rr   rA   r   r   CERTIFICATE_PATHr   r   r3   r1   <module>r      sW     				  				      



         - - - - - - 3 3 3 3 3 3
"$h $ $ $
(



hGG	GJ_X_..4466JJJJ gooFF2	fWffGYf[dff
 PR JL JL KM KM HJ JL LN HJ IK KM LN KM NP MO 	$ 
'44744W(61c-/122 D 
 - B B B B B B B B B Br3   