9remote 2.3.2 → 2.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +96 -96
- package/dist/server.cjs +3 -3
- package/dist/ui/assets/index-B6hfk9F2.js +8 -0
- package/dist/ui/assets/index-CLABbREo.css +1 -0
- package/dist/ui/index.html +2 -2
- package/package.json +1 -1
- package/dist/ui/assets/index-C36Yr6v1.css +0 -1
- package/dist/ui/assets/index-TxsM350t.js +0 -8
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const x of document.querySelectorAll('link[rel="modulepreload"]'))r(x);new MutationObserver(x=>{for(const a of x)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(x){const a={};return x.integrity&&(a.integrity=x.integrity),x.referrerPolicy&&(a.referrerPolicy=x.referrerPolicy),x.crossOrigin==="use-credentials"?a.credentials="include":x.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function r(x){if(x.ep)return;x.ep=!0;const a=n(x);fetch(x.href,a)}})();var Vn,ie,j0,Pe,Wt,q0,O0,Xn,dn,tn,F0,Bt,Ct,Dt,hn={},gn=[],Gr=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Qn=Array.isArray;function Ne(e,t){for(var n in t)e[n]=t[n];return e}function Gt(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function Ur(e,t,n){var r,x,a,i={};for(a in t)a=="key"?r=t[a]:a=="ref"?x=t[a]:i[a]=t[a];if(arguments.length>2&&(i.children=arguments.length>3?Vn.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(a in e.defaultProps)i[a]===void 0&&(i[a]=e.defaultProps[a]);return mn(e,i,r,x,null)}function mn(e,t,n,r,x){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:x??++j0,__i:-1,__u:0};return x==null&&ie.vnode!=null&&ie.vnode(a),a}function je(e){return e.children}function pn(e,t){this.props=e,this.context=t}function Je(e,t){if(t==null)return e.__?Je(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?Je(e):null}function zr(e){if(e.__P&&e.__d){var t=e.__v,n=t.__e,r=[],x=[],a=Ne({},t);a.__v=t.__v+1,ie.vnode&&ie.vnode(a),Ut(e.__P,a,t,e.__n,e.__P.namespaceURI,32&t.__u?[n]:null,r,n??Je(t),!!(32&t.__u),x),a.__v=t.__v,a.__.__k[a.__i]=a,J0(r,a,x),t.__e=t.__=null,a.__e!=n&&H0(a)}}function H0(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),H0(e)}function Vt(e){(!e.__d&&(e.__d=!0)&&Pe.push(e)&&!bn.__r++||Wt!=ie.debounceRendering)&&((Wt=ie.debounceRendering)||q0)(bn)}function bn(){try{for(var e,t=1;Pe.length;)Pe.length>t&&Pe.sort(O0),e=Pe.shift(),t=Pe.length,zr(e)}finally{Pe.length=bn.__r=0}}function W0(e,t,n,r,x,a,i,s,l,u,p){var g,c,m,h,v,H,b,_=r&&r.__k||gn,S=t.length;for(l=Kr(n,t,_,l,S),g=0;g<S;g++)(m=n.__k[g])!=null&&(c=m.__i!=-1&&_[m.__i]||hn,m.__i=g,H=Ut(e,m,c,x,a,i,s,l,u,p),h=m.__e,m.ref&&c.ref!=m.ref&&(c.ref&&zt(c.ref,null,m),p.push(m.ref,m.__c||h,m)),v==null&&h!=null&&(v=h),(b=!!(4&m.__u))||c.__k===m.__k?(l=V0(m,l,e,b),b&&c.__e&&(c.__e=null)):typeof m.type=="function"&&H!==void 0?l=H:h&&(l=h.nextSibling),m.__u&=-7);return n.__e=v,l}function Kr(e,t,n,r,x){var a,i,s,l,u,p=n.length,g=p,c=0;for(e.__k=new Array(x),a=0;a<x;a++)(i=t[a])!=null&&typeof i!="boolean"&&typeof i!="function"?(typeof i=="string"||typeof i=="number"||typeof i=="bigint"||i.constructor==String?i=e.__k[a]=mn(null,i,null,null,null):Qn(i)?i=e.__k[a]=mn(je,{children:i},null,null,null):i.constructor===void 0&&i.__b>0?i=e.__k[a]=mn(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):e.__k[a]=i,l=a+c,i.__=e,i.__b=e.__b+1,s=null,(u=i.__i=Lr(i,n,l,g))!=-1&&(g--,(s=n[u])&&(s.__u|=2)),s==null||s.__v==null?(u==-1&&(x>p?c--:x<p&&c++),typeof i.type!="function"&&(i.__u|=4)):u!=l&&(u==l-1?c--:u==l+1?c++:(u>l?c--:c++,i.__u|=4))):e.__k[a]=null;if(g)for(a=0;a<p;a++)(s=n[a])!=null&&(2&s.__u)==0&&(s.__e==r&&(r=Je(s)),Y0(s,s));return r}function V0(e,t,n,r){var x,a;if(typeof e.type=="function"){for(x=e.__k,a=0;x&&a<x.length;a++)x[a]&&(x[a].__=e,t=V0(x[a],t,n,r));return t}e.__e!=t&&(r&&(t&&e.type&&!t.parentNode&&(t=Je(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function Lr(e,t,n,r){var x,a,i,s=e.key,l=e.type,u=t[n],p=u!=null&&(2&u.__u)==0;if(u===null&&s==null||p&&s==u.key&&l==u.type)return n;if(r>(p?1:0)){for(x=n-1,a=n+1;x>=0||a<t.length;)if((u=t[i=x>=0?x--:a++])!=null&&(2&u.__u)==0&&s==u.key&&l==u.type)return i}return-1}function Qt(e,t,n){t[0]=="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||Gr.test(t)?n:n+"px"}function on(e,t,n,r,x){var a,i;e:if(t=="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof r=="string"&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||Qt(e.style,t,"");if(n)for(t in n)r&&n[t]==r[t]||Qt(e.style,t,n[t])}else if(t[0]=="o"&&t[1]=="n")a=t!=(t=t.replace(F0,"$1")),i=t.toLowerCase(),t=i in e||t=="onFocusOut"||t=="onFocusIn"?i.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?r?n[tn]=r[tn]:(n[tn]=Bt,e.addEventListener(t,a?Dt:Ct,a)):e.removeEventListener(t,a?Dt:Ct,a);else{if(x=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&n==1?"":n))}}function Jt(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t[dn]==null)t[dn]=Bt++;else if(t[dn]<n[tn])return;return n(ie.event?ie.event(t):t)}}}function Ut(e,t,n,r,x,a,i,s,l,u){var p,g,c,m,h,v,H,b,_,S,M,se,k,T,N,w,I=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(l=!!(32&n.__u),a=[s=t.__e=n.__e]),(p=ie.__b)&&p(t);e:if(typeof I=="function"){g=i.length;try{if(_=t.props,S=I.prototype&&I.prototype.render,M=(p=I.contextType)&&r[p.__c],se=p?M?M.props.value:p.__:r,n.__c?b=(c=t.__c=n.__c).__=c.__E:(S?t.__c=c=new I(_,se):(t.__c=c=new pn(_,se),c.constructor=I,c.render=qr),M&&M.sub(c),c.state||(c.state={}),c.__n=r,m=c.__d=!0,c.__h=[],c._sb=[]),S&&c.__s==null&&(c.__s=c.state),S&&I.getDerivedStateFromProps!=null&&(c.__s==c.state&&(c.__s=Ne({},c.__s)),Ne(c.__s,I.getDerivedStateFromProps(_,c.__s))),h=c.props,v=c.state,c.__v=t,m)S&&I.getDerivedStateFromProps==null&&c.componentWillMount!=null&&c.componentWillMount(),S&&c.componentDidMount!=null&&c.__h.push(c.componentDidMount);else{if(S&&I.getDerivedStateFromProps==null&&_!==h&&c.componentWillReceiveProps!=null&&c.componentWillReceiveProps(_,se),t.__v==n.__v||!c.__e&&c.shouldComponentUpdate!=null&&c.shouldComponentUpdate(_,c.__s,se)===!1){t.__v!=n.__v&&(c.props=_,c.state=c.__s,c.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(C){C&&(C.__=t)}),gn.push.apply(c.__h,c._sb),c._sb=[],c.__h.length&&i.push(c);break e}c.componentWillUpdate!=null&&c.componentWillUpdate(_,c.__s,se),S&&c.componentDidUpdate!=null&&c.__h.push(function(){c.componentDidUpdate(h,v,H)})}if(c.context=se,c.props=_,c.__P=e,c.__e=!1,k=ie.__r,T=0,S)c.state=c.__s,c.__d=!1,k&&k(t),p=c.render(c.props,c.state,c.context),gn.push.apply(c.__h,c._sb),c._sb=[];else do c.__d=!1,k&&k(t),p=c.render(c.props,c.state,c.context),c.state=c.__s;while(c.__d&&++T<25);c.state=c.__s,c.getChildContext!=null&&(r=Ne(Ne({},r),c.getChildContext())),S&&!m&&c.getSnapshotBeforeUpdate!=null&&(H=c.getSnapshotBeforeUpdate(h,v)),N=p!=null&&p.type===je&&p.key==null?Z0(p.props.children):p,s=W0(e,Qn(N)?N:[N],t,n,r,x,a,i,s,l,u),c.base=t.__e,t.__u&=-161,c.__h.length&&i.push(c),b&&(c.__E=c.__=null)}catch(C){if(i.length=g,t.__v=null,l||a!=null){if(C.then){for(t.__u|=l?160:128;s&&s.nodeType==8&&s.nextSibling;)s=s.nextSibling;a!=null&&(a[a.indexOf(s)]=null),t.__e=s}else if(a!=null)for(w=a.length;w--;)Gt(a[w])}else t.__e=n.__e;t.__k==null&&(t.__k=n.__k||[]),C.then||Q0(t),ie.__e(C,t,n)}}else a==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):s=t.__e=jr(n.__e,t,n,r,x,a,i,l,u);return(p=ie.diffed)&&p(t),128&t.__u?void 0:s}function Q0(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(Q0))}function J0(e,t,n){for(var r=0;r<n.length;r++)zt(n[r],n[++r],n[++r]);ie.__c&&ie.__c(t,e),e.some(function(x){try{e=x.__h,x.__h=[],e.some(function(a){a.call(x)})}catch(a){ie.__e(a,x.__v)}})}function Z0(e){return typeof e!="object"||e==null||e.__b>0?e:Qn(e)?e.map(Z0):e.constructor!==void 0?null:Ne({},e)}function jr(e,t,n,r,x,a,i,s,l){var u,p,g,c,m,h,v,H=n.props||hn,b=t.props,_=t.type;if(_=="svg"?x="http://www.w3.org/2000/svg":_=="math"?x="http://www.w3.org/1998/Math/MathML":x||(x="http://www.w3.org/1999/xhtml"),a!=null){for(u=0;u<a.length;u++)if((m=a[u])&&"setAttribute"in m==!!_&&(_?m.localName==_:m.nodeType==3)){e=m,a[u]=null;break}}if(e==null){if(_==null)return document.createTextNode(b);e=document.createElementNS(x,_,b.is&&b),s&&(ie.__m&&ie.__m(t,a),s=!1),a=null}if(_==null)H===b||s&&e.data==b||(e.data=b);else{if(a=_=="textarea"&&b.defaultValue!=null?null:a&&Vn.call(e.childNodes),!s&&a!=null)for(H={},u=0;u<e.attributes.length;u++)H[(m=e.attributes[u]).name]=m.value;for(u in H)m=H[u],u=="dangerouslySetInnerHTML"?g=m:u=="children"||u in b||u=="value"&&"defaultValue"in b||u=="checked"&&"defaultChecked"in b||on(e,u,null,m,x);for(u in b)m=b[u],u=="children"?c=m:u=="dangerouslySetInnerHTML"?p=m:u=="value"?h=m:u=="checked"?v=m:s&&typeof m!="function"||H[u]===m||on(e,u,m,H[u],x);if(p)s||g&&(p.__html==g.__html||p.__html==e.innerHTML)||(e.innerHTML=p.__html),t.__k=[];else if(g&&(e.innerHTML=""),W0(t.type=="template"?e.content:e,Qn(c)?c:[c],t,n,r,_=="foreignObject"?"http://www.w3.org/1999/xhtml":x,a,i,a?a[0]:n.__k&&Je(n,0),s,l),a!=null)for(u=a.length;u--;)Gt(a[u]);s&&_!="textarea"||(u="value",_=="progress"&&h==null?e.removeAttribute("value"):h!=null&&(h!==e[u]||_=="progress"&&!h||_=="option"&&h!=H[u])&&on(e,u,h,H[u],x),u="checked",v!=null&&v!=e[u]&&on(e,u,v,H[u],x))}return e}function zt(e,t,n){try{if(typeof e=="function"){var r=typeof e.__u=="function";r&&e.__u(),r&&t==null||(e.__u=e(t))}else e.current=t}catch(x){ie.__e(x,n)}}function Y0(e,t,n){var r,x;if(ie.unmount&&ie.unmount(e),(r=e.ref)&&(r.current&&r.current!=e.__e||zt(r,null,t)),(r=e.__c)!=null){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(a){ie.__e(a,t)}r.base=r.__P=r.__n=null}if(r=e.__k)for(x=0;x<r.length;x++)r[x]&&Y0(r[x],t,n||typeof e.type!="function");n||Gt(e.__e),e.__c=e.__=e.__e=void 0}function qr(e,t,n){return this.constructor(e,n)}function Or(e,t,n){var r,x,a,i;t==document&&(t=document.documentElement),ie.__&&ie.__(e,t),x=(r=!1)?null:t.__k,a=[],i=[],Ut(t,e=t.__k=Ur(je,null,[e]),x||hn,hn,t.namespaceURI,x?null:t.firstChild?Vn.call(t.childNodes):null,a,x?x.__e:t.firstChild,r,i),J0(a,e,i),e.props.children=null}Vn=gn.slice,ie={__e:function(e,t,n,r){for(var x,a,i;t=t.__;)if((x=t.__c)&&!x.__)try{if((a=x.constructor)&&a.getDerivedStateFromError!=null&&(x.setState(a.getDerivedStateFromError(e)),i=x.__d),x.componentDidCatch!=null&&(x.componentDidCatch(e,r||{}),i=x.__d),i)return x.__E=x}catch(s){e=s}throw e}},j0=0,pn.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=Ne({},this.state),typeof e=="function"&&(e=e(Ne({},n),this.props)),e&&Ne(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),Vt(this))},pn.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Vt(this))},pn.prototype.render=je,Pe=[],q0=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,O0=function(e,t){return e.__v.__b-t.__v.__b},bn.__r=0,Xn=Math.random().toString(8),dn="__d"+Xn,tn="__a"+Xn,F0=/(PointerCapture)$|Capture$/i,Bt=0,Ct=Jt(!1),Dt=Jt(!0);var Fr=0;function o(e,t,n,r,x,a){t||(t={});var i,s,l=t;if("ref"in l)for(s in l={},t)s=="ref"?i=t[s]:l[s]=t[s];var u={type:e,props:l,key:n,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Fr,__i:-1,__u:0,__source:x,__self:a};if(typeof e=="function"&&(i=e.defaultProps))for(s in i)l[s]===void 0&&(l[s]=i[s]);return ie.vnode&&ie.vnode(u),u}var rn,ue,$n,Zt,vn=0,X0=[],de=ie,Yt=de.__b,Xt=de.__r,$t=de.diffed,e0=de.__c,n0=de.unmount,t0=de.__;function Kt(e,t){de.__h&&de.__h(ue,e,vn||t),vn=0;var n=ue.__H||(ue.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function oe(e){return vn=1,Hr(nr,e)}function Hr(e,t,n){var r=Kt(rn++,2);if(r.t=e,!r.__c&&(r.__=[nr(void 0,t),function(s){var l=r.__N?r.__N[0]:r.__[0],u=r.t(l,s);l!==u&&(r.__N=[u,r.__[1]],r.__c.setState({}))}],r.__c=ue,!ue.__f)){var x=function(s,l,u){if(!r.__c.__H)return!0;var p=!1,g=r.__c.props!==s;if(r.__c.__H.__.some(function(m){if(m.__N){p=!0;var h=m.__[0];m.__=m.__N,m.__N=void 0,h!==m.__[0]&&(g=!0)}}),a){var c=a.call(this,s,l,u);return p?c||g:c}return!p||g};ue.__f=!0;var a=ue.shouldComponentUpdate,i=ue.componentWillUpdate;ue.componentWillUpdate=function(s,l,u){if(this.__e){var p=a;a=void 0,x(s,l,u),a=p}i&&i.call(this,s,l,u)},ue.shouldComponentUpdate=x}return r.__N||r.__}function ge(e,t){var n=Kt(rn++,3);!de.__s&&er(n.__H,t)&&(n.__=e,n.u=t,ue.__H.__h.push(n))}function Le(e){return vn=5,Wr(function(){return{current:e}},[])}function Wr(e,t){var n=Kt(rn++,7);return er(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function r0(){for(var e;e=X0.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(Tt),t.__h.some($0),t.__h=[]}catch(n){t.__h=[],de.__e(n,e.__v)}}}de.__b=function(e){ue=null,Yt&&Yt(e)},de.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),t0&&t0(e,t)},de.__r=function(e){Xt&&Xt(e),rn=0;var t=(ue=e.__c).__H;t&&($n===ue?(t.__h=[],ue.__h=[],t.__.some(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.length&&r0(),rn=0)),$n=ue},de.diffed=function(e){$t&&$t(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(X0.push(t)!==1&&Zt===de.requestAnimationFrame||((Zt=de.requestAnimationFrame)||Vr)(r0)),t.__H.__.some(function(n){n.u&&(n.__H=n.u,n.u=void 0)})),$n=ue=null},de.__c=function(e,t){t.some(function(n){try{n.__h.some(Tt),n.__h=n.__h.filter(function(r){return!r.__||$0(r)})}catch(r){t.some(function(x){x.__h&&(x.__h=[])}),t=[],de.__e(r,n.__v)}}),e0&&e0(e,t)},de.unmount=function(e){n0&&n0(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(r){try{Tt(r)}catch(x){t=x}}),n.__H=void 0,t&&de.__e(t,n.__v))};var x0=typeof requestAnimationFrame=="function";function Vr(e){var t,n=function(){clearTimeout(r),x0&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);x0&&(t=requestAnimationFrame(n))}function Tt(e){var t=ue,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),ue=t}function $0(e){var t=ue;e.__c=e.__(),ue=t}function er(e,t){return!e||e.length!==t.length||t.some(function(n,r){return n!==e[r]})}function nr(e,t){return typeof t=="function"?t(e):t}const Qr=e=>[{icon:"download",label:e("steps.preparing"),desc:e("steps.checkingTunnel")},{icon:"cloud_sync",label:e("steps.connecting"),desc:e("steps.creatingSession")},{icon:"lan",label:e("steps.tunneling"),desc:e("steps.startingTunnel")},{icon:"verified",label:e("steps.verifying"),desc:e("steps.healthCheck")},{icon:"check_circle",label:e("steps.ready"),desc:e("steps.connected")}],Jr=3;function Zr({currentStep:e,activeDesc:t="",healthCheck:n,t:r}){var s;const x=e-1,a=(s=n==null?void 0:n.logs)!=null&&s.length?n.logs[n.logs.length-1]:null,i=Qr(r);return o("div",{className:"glass-card p-5 flex flex-col gap-4",children:[o("span",{className:"text-xs font-medium uppercase tracking-wider",style:{color:"var(--text-muted)"},children:r("steps.setupConnection")}),o("div",{className:"flex flex-col gap-3",children:i.map((l,u)=>{const p=u<x,g=u===x,c=g&&u===Jr;let m=g&&t?t:l.desc,h="var(--text-muted)";if(c&&a){const v=/^\d{3}$/.test(String(a.status));m=`#${a.attempt} → ${a.status}`,h=a.ok||a.waiting?"#22c55e":v?"#eab308":"#ef4444"}return o("div",{className:"flex items-center gap-3",children:[o("div",{className:"w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0",style:{background:p?"var(--brand-500)":g?"rgba(255,87,10,0.15)":"var(--glass-bg)",border:g?"1.5px solid var(--brand-500)":"1.5px solid transparent"},children:p?o("span",{className:"material-symbols-outlined text-white",style:{fontSize:16},children:"check"}):g?o("span",{className:"flex gap-0.5 items-center",children:[0,1,2].map(v=>o("span",{className:"w-1 h-1 rounded-full bg-orange-400 dot-bounce",style:{animationDelay:`${v*.18}s`}},v))}):o("span",{className:"material-symbols-outlined",style:{fontSize:16,color:"var(--text-muted)",opacity:.3},children:l.icon})}),o("div",{className:"flex-1 min-w-0",children:[o("p",{className:"text-sm font-medium",style:{color:p?"var(--text-muted)":g?"var(--text-main)":"var(--text-muted)",opacity:p||g?1:.4},children:l.label}),o("p",{className:"text-xs mt-0.5 truncate",style:{color:h,opacity:g?c&&a?.95:.7:.4,fontFamily:c&&a?"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace":void 0},children:m})]}),p&&o("span",{className:"text-xs flex-shrink-0",style:{color:"var(--text-muted)"},children:r("steps.done")}),g&&o("span",{className:"text-xs flex-shrink-0 px-2 py-0.5 rounded-full",style:{background:"rgba(255,87,10,0.15)",color:"var(--brand-400)"},children:r("steps.running")})]},u)})})]})}function Yr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ve={},et,a0;function Xr(){return a0||(a0=1,et=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),et}var nt={},Ee={},o0;function qe(){if(o0)return Ee;o0=1;let e;const t=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return Ee.getSymbolSize=function(r){if(!r)throw new Error('"version" cannot be null or undefined');if(r<1||r>40)throw new Error('"version" should be in range from 1 to 40');return r*4+17},Ee.getSymbolTotalCodewords=function(r){return t[r]},Ee.getBCHDigit=function(n){let r=0;for(;n!==0;)r++,n>>>=1;return r},Ee.setToSJISFunction=function(r){if(typeof r!="function")throw new Error('"toSJISFunc" is not a valid function.');e=r},Ee.isKanjiModeEnabled=function(){return typeof e<"u"},Ee.toSJIS=function(r){return e(r)},Ee}var tt={},s0;function Lt(){return s0||(s0=1,(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+n)}}e.isValid=function(r){return r&&typeof r.bit<"u"&&r.bit>=0&&r.bit<4},e.from=function(r,x){if(e.isValid(r))return r;try{return t(r)}catch{return x}}})(tt)),tt}var rt,i0;function $r(){if(i0)return rt;i0=1;function e(){this.buffer=[],this.length=0}return e.prototype={get:function(t){const n=Math.floor(t/8);return(this.buffer[n]>>>7-t%8&1)===1},put:function(t,n){for(let r=0;r<n;r++)this.putBit((t>>>n-r-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(t){const n=Math.floor(this.length/8);this.buffer.length<=n&&this.buffer.push(0),t&&(this.buffer[n]|=128>>>this.length%8),this.length++}},rt=e,rt}var xt,l0;function ex(){if(l0)return xt;l0=1;function e(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new Uint8Array(t*t),this.reservedBit=new Uint8Array(t*t)}return e.prototype.set=function(t,n,r,x){const a=t*this.size+n;this.data[a]=r,x&&(this.reservedBit[a]=!0)},e.prototype.get=function(t,n){return this.data[t*this.size+n]},e.prototype.xor=function(t,n,r){this.data[t*this.size+n]^=r},e.prototype.isReserved=function(t,n){return this.reservedBit[t*this.size+n]},xt=e,xt}var at={},c0;function nx(){return c0||(c0=1,(function(e){const t=qe().getSymbolSize;e.getRowColCoords=function(r){if(r===1)return[];const x=Math.floor(r/7)+2,a=t(r),i=a===145?26:Math.ceil((a-13)/(2*x-2))*2,s=[a-7];for(let l=1;l<x-1;l++)s[l]=s[l-1]-i;return s.push(6),s.reverse()},e.getPositions=function(r){const x=[],a=e.getRowColCoords(r),i=a.length;for(let s=0;s<i;s++)for(let l=0;l<i;l++)s===0&&l===0||s===0&&l===i-1||s===i-1&&l===0||x.push([a[s],a[l]]);return x}})(at)),at}var ot={},u0;function tx(){if(u0)return ot;u0=1;const e=qe().getSymbolSize,t=7;return ot.getPositions=function(r){const x=e(r);return[[0,0],[x-t,0],[0,x-t]]},ot}var st={},d0;function rx(){return d0||(d0=1,(function(e){e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(x){return x!=null&&x!==""&&!isNaN(x)&&x>=0&&x<=7},e.from=function(x){return e.isValid(x)?parseInt(x,10):void 0},e.getPenaltyN1=function(x){const a=x.size;let i=0,s=0,l=0,u=null,p=null;for(let g=0;g<a;g++){s=l=0,u=p=null;for(let c=0;c<a;c++){let m=x.get(g,c);m===u?s++:(s>=5&&(i+=t.N1+(s-5)),u=m,s=1),m=x.get(c,g),m===p?l++:(l>=5&&(i+=t.N1+(l-5)),p=m,l=1)}s>=5&&(i+=t.N1+(s-5)),l>=5&&(i+=t.N1+(l-5))}return i},e.getPenaltyN2=function(x){const a=x.size;let i=0;for(let s=0;s<a-1;s++)for(let l=0;l<a-1;l++){const u=x.get(s,l)+x.get(s,l+1)+x.get(s+1,l)+x.get(s+1,l+1);(u===4||u===0)&&i++}return i*t.N2},e.getPenaltyN3=function(x){const a=x.size;let i=0,s=0,l=0;for(let u=0;u<a;u++){s=l=0;for(let p=0;p<a;p++)s=s<<1&2047|x.get(u,p),p>=10&&(s===1488||s===93)&&i++,l=l<<1&2047|x.get(p,u),p>=10&&(l===1488||l===93)&&i++}return i*t.N3},e.getPenaltyN4=function(x){let a=0;const i=x.data.length;for(let l=0;l<i;l++)a+=x.data[l];return Math.abs(Math.ceil(a*100/i/5)-10)*t.N4};function n(r,x,a){switch(r){case e.Patterns.PATTERN000:return(x+a)%2===0;case e.Patterns.PATTERN001:return x%2===0;case e.Patterns.PATTERN010:return a%3===0;case e.Patterns.PATTERN011:return(x+a)%3===0;case e.Patterns.PATTERN100:return(Math.floor(x/2)+Math.floor(a/3))%2===0;case e.Patterns.PATTERN101:return x*a%2+x*a%3===0;case e.Patterns.PATTERN110:return(x*a%2+x*a%3)%2===0;case e.Patterns.PATTERN111:return(x*a%3+(x+a)%2)%2===0;default:throw new Error("bad maskPattern:"+r)}}e.applyMask=function(x,a){const i=a.size;for(let s=0;s<i;s++)for(let l=0;l<i;l++)a.isReserved(l,s)||a.xor(l,s,n(x,l,s))},e.getBestMask=function(x,a){const i=Object.keys(e.Patterns).length;let s=0,l=1/0;for(let u=0;u<i;u++){a(u),e.applyMask(u,x);const p=e.getPenaltyN1(x)+e.getPenaltyN2(x)+e.getPenaltyN3(x)+e.getPenaltyN4(x);e.applyMask(u,x),p<l&&(l=p,s=u)}return s}})(st)),st}var sn={},m0;function tr(){if(m0)return sn;m0=1;const e=Lt(),t=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],n=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];return sn.getBlocksCount=function(x,a){switch(a){case e.L:return t[(x-1)*4+0];case e.M:return t[(x-1)*4+1];case e.Q:return t[(x-1)*4+2];case e.H:return t[(x-1)*4+3];default:return}},sn.getTotalCodewordsCount=function(x,a){switch(a){case e.L:return n[(x-1)*4+0];case e.M:return n[(x-1)*4+1];case e.Q:return n[(x-1)*4+2];case e.H:return n[(x-1)*4+3];default:return}},sn}var it={},nn={},p0;function xx(){if(p0)return nn;p0=1;const e=new Uint8Array(512),t=new Uint8Array(256);return(function(){let r=1;for(let x=0;x<255;x++)e[x]=r,t[r]=x,r<<=1,r&256&&(r^=285);for(let x=255;x<512;x++)e[x]=e[x-255]})(),nn.log=function(r){if(r<1)throw new Error("log("+r+")");return t[r]},nn.exp=function(r){return e[r]},nn.mul=function(r,x){return r===0||x===0?0:e[t[r]+t[x]]},nn}var f0;function ax(){return f0||(f0=1,(function(e){const t=xx();e.mul=function(r,x){const a=new Uint8Array(r.length+x.length-1);for(let i=0;i<r.length;i++)for(let s=0;s<x.length;s++)a[i+s]^=t.mul(r[i],x[s]);return a},e.mod=function(r,x){let a=new Uint8Array(r);for(;a.length-x.length>=0;){const i=a[0];for(let l=0;l<x.length;l++)a[l]^=t.mul(x[l],i);let s=0;for(;s<a.length&&a[s]===0;)s++;a=a.slice(s)}return a},e.generateECPolynomial=function(r){let x=new Uint8Array([1]);for(let a=0;a<r;a++)x=e.mul(x,new Uint8Array([1,t.exp(a)]));return x}})(it)),it}var lt,h0;function ox(){if(h0)return lt;h0=1;const e=ax();function t(n){this.genPoly=void 0,this.degree=n,this.degree&&this.initialize(this.degree)}return t.prototype.initialize=function(r){this.degree=r,this.genPoly=e.generateECPolynomial(this.degree)},t.prototype.encode=function(r){if(!this.genPoly)throw new Error("Encoder not initialized");const x=new Uint8Array(r.length+this.degree);x.set(r);const a=e.mod(x,this.genPoly),i=this.degree-a.length;if(i>0){const s=new Uint8Array(this.degree);return s.set(a,i),s}return a},lt=t,lt}var ct={},ut={},dt={},g0;function rr(){return g0||(g0=1,dt.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}),dt}var Ce={},b0;function xr(){if(b0)return Ce;b0=1;const e="[0-9]+",t="[A-Z $%*+\\-./:]+";let n="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";n=n.replace(/u/g,"\\u");const r="(?:(?![A-Z0-9 $%*+\\-./:]|"+n+`)(?:.|[\r
|
|
2
|
-
]))+`;Ce.KANJI=new RegExp(n,"g"),Ce.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),Ce.BYTE=new RegExp(r,"g"),Ce.NUMERIC=new RegExp(e,"g"),Ce.ALPHANUMERIC=new RegExp(t,"g");const x=new RegExp("^"+n+"$"),a=new RegExp("^"+e+"$"),i=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return Ce.testKanji=function(l){return x.test(l)},Ce.testNumeric=function(l){return a.test(l)},Ce.testAlphanumeric=function(l){return i.test(l)},Ce}var v0;function Oe(){return v0||(v0=1,(function(e){const t=rr(),n=xr();e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(a,i){if(!a.ccBits)throw new Error("Invalid mode: "+a);if(!t.isValid(i))throw new Error("Invalid version: "+i);return i>=1&&i<10?a.ccBits[0]:i<27?a.ccBits[1]:a.ccBits[2]},e.getBestModeForData=function(a){return n.testNumeric(a)?e.NUMERIC:n.testAlphanumeric(a)?e.ALPHANUMERIC:n.testKanji(a)?e.KANJI:e.BYTE},e.toString=function(a){if(a&&a.id)return a.id;throw new Error("Invalid mode")},e.isValid=function(a){return a&&a.bit&&a.ccBits};function r(x){if(typeof x!="string")throw new Error("Param is not a string");switch(x.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+x)}}e.from=function(a,i){if(e.isValid(a))return a;try{return r(a)}catch{return i}}})(ut)),ut}var y0;function sx(){return y0||(y0=1,(function(e){const t=qe(),n=tr(),r=Lt(),x=Oe(),a=rr(),i=7973,s=t.getBCHDigit(i);function l(c,m,h){for(let v=1;v<=40;v++)if(m<=e.getCapacity(v,h,c))return v}function u(c,m){return x.getCharCountIndicator(c,m)+4}function p(c,m){let h=0;return c.forEach(function(v){const H=u(v.mode,m);h+=H+v.getBitsLength()}),h}function g(c,m){for(let h=1;h<=40;h++)if(p(c,h)<=e.getCapacity(h,m,x.MIXED))return h}e.from=function(m,h){return a.isValid(m)?parseInt(m,10):h},e.getCapacity=function(m,h,v){if(!a.isValid(m))throw new Error("Invalid QR Code version");typeof v>"u"&&(v=x.BYTE);const H=t.getSymbolTotalCodewords(m),b=n.getTotalCodewordsCount(m,h),_=(H-b)*8;if(v===x.MIXED)return _;const S=_-u(v,m);switch(v){case x.NUMERIC:return Math.floor(S/10*3);case x.ALPHANUMERIC:return Math.floor(S/11*2);case x.KANJI:return Math.floor(S/13);case x.BYTE:default:return Math.floor(S/8)}},e.getBestVersionForData=function(m,h){let v;const H=r.from(h,r.M);if(Array.isArray(m)){if(m.length>1)return g(m,H);if(m.length===0)return 1;v=m[0]}else v=m;return l(v.mode,v.getLength(),H)},e.getEncodedBits=function(m){if(!a.isValid(m)||m<7)throw new Error("Invalid QR Code version");let h=m<<12;for(;t.getBCHDigit(h)-s>=0;)h^=i<<t.getBCHDigit(h)-s;return m<<12|h}})(ct)),ct}var mt={},_0;function ix(){if(_0)return mt;_0=1;const e=qe(),t=1335,n=21522,r=e.getBCHDigit(t);return mt.getEncodedBits=function(a,i){const s=a.bit<<3|i;let l=s<<10;for(;e.getBCHDigit(l)-r>=0;)l^=t<<e.getBCHDigit(l)-r;return(s<<10|l)^n},mt}var pt={},ft,k0;function lx(){if(k0)return ft;k0=1;const e=Oe();function t(n){this.mode=e.NUMERIC,this.data=n.toString()}return t.getBitsLength=function(r){return 10*Math.floor(r/3)+(r%3?r%3*3+1:0)},t.prototype.getLength=function(){return this.data.length},t.prototype.getBitsLength=function(){return t.getBitsLength(this.data.length)},t.prototype.write=function(r){let x,a,i;for(x=0;x+3<=this.data.length;x+=3)a=this.data.substr(x,3),i=parseInt(a,10),r.put(i,10);const s=this.data.length-x;s>0&&(a=this.data.substr(x),i=parseInt(a,10),r.put(i,s*3+1))},ft=t,ft}var ht,w0;function cx(){if(w0)return ht;w0=1;const e=Oe(),t=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function n(r){this.mode=e.ALPHANUMERIC,this.data=r}return n.getBitsLength=function(x){return 11*Math.floor(x/2)+6*(x%2)},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(x){let a;for(a=0;a+2<=this.data.length;a+=2){let i=t.indexOf(this.data[a])*45;i+=t.indexOf(this.data[a+1]),x.put(i,11)}this.data.length%2&&x.put(t.indexOf(this.data[a]),6)},ht=n,ht}var gt,S0;function ux(){if(S0)return gt;S0=1;const e=Oe();function t(n){this.mode=e.BYTE,typeof n=="string"?this.data=new TextEncoder().encode(n):this.data=new Uint8Array(n)}return t.getBitsLength=function(r){return r*8},t.prototype.getLength=function(){return this.data.length},t.prototype.getBitsLength=function(){return t.getBitsLength(this.data.length)},t.prototype.write=function(n){for(let r=0,x=this.data.length;r<x;r++)n.put(this.data[r],8)},gt=t,gt}var bt,I0;function dx(){if(I0)return bt;I0=1;const e=Oe(),t=qe();function n(r){this.mode=e.KANJI,this.data=r}return n.getBitsLength=function(x){return x*13},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(r){let x;for(x=0;x<this.data.length;x++){let a=t.toSJIS(this.data[x]);if(a>=33088&&a<=40956)a-=33088;else if(a>=57408&&a<=60351)a-=49472;else throw new Error("Invalid SJIS character: "+this.data[x]+`
|
|
3
|
-
Make sure your charset is UTF-8`);a=(a>>>8&255)*192+(a&255),r.put(a,13)}},bt=n,bt}var vt={exports:{}},C0;function mx(){return C0||(C0=1,(function(e){var t={single_source_shortest_paths:function(n,r,x){var a={},i={};i[r]=0;var s=t.PriorityQueue.make();s.push(r,0);for(var l,u,p,g,c,m,h,v,H;!s.empty();){l=s.pop(),u=l.value,g=l.cost,c=n[u]||{};for(p in c)c.hasOwnProperty(p)&&(m=c[p],h=g+m,v=i[p],H=typeof i[p]>"u",(H||v>h)&&(i[p]=h,s.push(p,h),a[p]=u))}if(typeof x<"u"&&typeof i[x]>"u"){var b=["Could not find a path from ",r," to ",x,"."].join("");throw new Error(b)}return a},extract_shortest_path_from_predecessor_list:function(n,r){for(var x=[],a=r;a;)x.push(a),n[a],a=n[a];return x.reverse(),x},find_path:function(n,r,x){var a=t.single_source_shortest_paths(n,r,x);return t.extract_shortest_path_from_predecessor_list(a,x)},PriorityQueue:{make:function(n){var r=t.PriorityQueue,x={},a;n=n||{};for(a in r)r.hasOwnProperty(a)&&(x[a]=r[a]);return x.queue=[],x.sorter=n.sorter||r.default_sorter,x},default_sorter:function(n,r){return n.cost-r.cost},push:function(n,r){var x={value:n,cost:r};this.queue.push(x),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t})(vt)),vt.exports}var D0;function px(){return D0||(D0=1,(function(e){const t=Oe(),n=lx(),r=cx(),x=ux(),a=dx(),i=xr(),s=qe(),l=mx();function u(b){return unescape(encodeURIComponent(b)).length}function p(b,_,S){const M=[];let se;for(;(se=b.exec(S))!==null;)M.push({data:se[0],index:se.index,mode:_,length:se[0].length});return M}function g(b){const _=p(i.NUMERIC,t.NUMERIC,b),S=p(i.ALPHANUMERIC,t.ALPHANUMERIC,b);let M,se;return s.isKanjiModeEnabled()?(M=p(i.BYTE,t.BYTE,b),se=p(i.KANJI,t.KANJI,b)):(M=p(i.BYTE_KANJI,t.BYTE,b),se=[]),_.concat(S,M,se).sort(function(T,N){return T.index-N.index}).map(function(T){return{data:T.data,mode:T.mode,length:T.length}})}function c(b,_){switch(_){case t.NUMERIC:return n.getBitsLength(b);case t.ALPHANUMERIC:return r.getBitsLength(b);case t.KANJI:return a.getBitsLength(b);case t.BYTE:return x.getBitsLength(b)}}function m(b){return b.reduce(function(_,S){const M=_.length-1>=0?_[_.length-1]:null;return M&&M.mode===S.mode?(_[_.length-1].data+=S.data,_):(_.push(S),_)},[])}function h(b){const _=[];for(let S=0;S<b.length;S++){const M=b[S];switch(M.mode){case t.NUMERIC:_.push([M,{data:M.data,mode:t.ALPHANUMERIC,length:M.length},{data:M.data,mode:t.BYTE,length:M.length}]);break;case t.ALPHANUMERIC:_.push([M,{data:M.data,mode:t.BYTE,length:M.length}]);break;case t.KANJI:_.push([M,{data:M.data,mode:t.BYTE,length:u(M.data)}]);break;case t.BYTE:_.push([{data:M.data,mode:t.BYTE,length:u(M.data)}])}}return _}function v(b,_){const S={},M={start:{}};let se=["start"];for(let k=0;k<b.length;k++){const T=b[k],N=[];for(let w=0;w<T.length;w++){const I=T[w],C=""+k+w;N.push(C),S[C]={node:I,lastCount:0},M[C]={};for(let j=0;j<se.length;j++){const D=se[j];S[D]&&S[D].node.mode===I.mode?(M[D][C]=c(S[D].lastCount+I.length,I.mode)-c(S[D].lastCount,I.mode),S[D].lastCount+=I.length):(S[D]&&(S[D].lastCount=I.length),M[D][C]=c(I.length,I.mode)+4+t.getCharCountIndicator(I.mode,_))}}se=N}for(let k=0;k<se.length;k++)M[se[k]].end=0;return{map:M,table:S}}function H(b,_){let S;const M=t.getBestModeForData(b);if(S=t.from(_,M),S!==t.BYTE&&S.bit<M.bit)throw new Error('"'+b+'" cannot be encoded with mode '+t.toString(S)+`.
|
|
4
|
-
Suggested mode is: `+t.toString(M));switch(S===t.KANJI&&!s.isKanjiModeEnabled()&&(S=t.BYTE),S){case t.NUMERIC:return new n(b);case t.ALPHANUMERIC:return new r(b);case t.KANJI:return new a(b);case t.BYTE:return new x(b)}}e.fromArray=function(_){return _.reduce(function(S,M){return typeof M=="string"?S.push(H(M,null)):M.data&&S.push(H(M.data,M.mode)),S},[])},e.fromString=function(_,S){const M=g(_,s.isKanjiModeEnabled()),se=h(M),k=v(se,S),T=l.find_path(k.map,"start","end"),N=[];for(let w=1;w<T.length-1;w++)N.push(k.table[T[w]].node);return e.fromArray(m(N))},e.rawSplit=function(_){return e.fromArray(g(_,s.isKanjiModeEnabled()))}})(pt)),pt}var T0;function fx(){if(T0)return nt;T0=1;const e=qe(),t=Lt(),n=$r(),r=ex(),x=nx(),a=tx(),i=rx(),s=tr(),l=ox(),u=sx(),p=ix(),g=Oe(),c=px();function m(k,T){const N=k.size,w=a.getPositions(T);for(let I=0;I<w.length;I++){const C=w[I][0],j=w[I][1];for(let D=-1;D<=7;D++)if(!(C+D<=-1||N<=C+D))for(let ne=-1;ne<=7;ne++)j+ne<=-1||N<=j+ne||(D>=0&&D<=6&&(ne===0||ne===6)||ne>=0&&ne<=6&&(D===0||D===6)||D>=2&&D<=4&&ne>=2&&ne<=4?k.set(C+D,j+ne,!0,!0):k.set(C+D,j+ne,!1,!0))}}function h(k){const T=k.size;for(let N=8;N<T-8;N++){const w=N%2===0;k.set(N,6,w,!0),k.set(6,N,w,!0)}}function v(k,T){const N=x.getPositions(T);for(let w=0;w<N.length;w++){const I=N[w][0],C=N[w][1];for(let j=-2;j<=2;j++)for(let D=-2;D<=2;D++)j===-2||j===2||D===-2||D===2||j===0&&D===0?k.set(I+j,C+D,!0,!0):k.set(I+j,C+D,!1,!0)}}function H(k,T){const N=k.size,w=u.getEncodedBits(T);let I,C,j;for(let D=0;D<18;D++)I=Math.floor(D/3),C=D%3+N-8-3,j=(w>>D&1)===1,k.set(I,C,j,!0),k.set(C,I,j,!0)}function b(k,T,N){const w=k.size,I=p.getEncodedBits(T,N);let C,j;for(C=0;C<15;C++)j=(I>>C&1)===1,C<6?k.set(C,8,j,!0):C<8?k.set(C+1,8,j,!0):k.set(w-15+C,8,j,!0),C<8?k.set(8,w-C-1,j,!0):C<9?k.set(8,15-C-1+1,j,!0):k.set(8,15-C-1,j,!0);k.set(w-8,8,1,!0)}function _(k,T){const N=k.size;let w=-1,I=N-1,C=7,j=0;for(let D=N-1;D>0;D-=2)for(D===6&&D--;;){for(let ne=0;ne<2;ne++)if(!k.isReserved(I,D-ne)){let fe=!1;j<T.length&&(fe=(T[j]>>>C&1)===1),k.set(I,D-ne,fe),C--,C===-1&&(j++,C=7)}if(I+=w,I<0||N<=I){I-=w,w=-w;break}}}function S(k,T,N){const w=new n;N.forEach(function(ne){w.put(ne.mode.bit,4),w.put(ne.getLength(),g.getCharCountIndicator(ne.mode,k)),ne.write(w)});const I=e.getSymbolTotalCodewords(k),C=s.getTotalCodewordsCount(k,T),j=(I-C)*8;for(w.getLengthInBits()+4<=j&&w.put(0,4);w.getLengthInBits()%8!==0;)w.putBit(0);const D=(j-w.getLengthInBits())/8;for(let ne=0;ne<D;ne++)w.put(ne%2?17:236,8);return M(w,k,T)}function M(k,T,N){const w=e.getSymbolTotalCodewords(T),I=s.getTotalCodewordsCount(T,N),C=w-I,j=s.getBlocksCount(T,N),D=w%j,ne=j-D,fe=Math.floor(w/j),he=Math.floor(C/j),Re=he+1,Me=fe-he,_e=new l(Me);let Be=0;const Ae=new Array(j),He=new Array(j);let Ge=0;const Ze=new Uint8Array(k.buffer);for(let ke=0;ke<j;ke++){const ve=ke<ne?he:Re;Ae[ke]=Ze.slice(Be,Be+ve),He[ke]=_e.encode(Ae[ke]),Be+=ve,Ge=Math.max(Ge,ve)}const Ue=new Uint8Array(w);let We=0,me,be;for(me=0;me<Ge;me++)for(be=0;be<j;be++)me<Ae[be].length&&(Ue[We++]=Ae[be][me]);for(me=0;me<Me;me++)for(be=0;be<j;be++)Ue[We++]=He[be][me];return Ue}function se(k,T,N,w){let I;if(Array.isArray(k))I=c.fromArray(k);else if(typeof k=="string"){let fe=T;if(!fe){const he=c.rawSplit(k);fe=u.getBestVersionForData(he,N)}I=c.fromString(k,fe||40)}else throw new Error("Invalid data");const C=u.getBestVersionForData(I,N);if(!C)throw new Error("The amount of data is too big to be stored in a QR Code");if(!T)T=C;else if(T<C)throw new Error(`
|
|
5
|
-
The chosen QR Code version cannot contain this amount of data.
|
|
6
|
-
Minimum version required to store current data is: `+C+`.
|
|
7
|
-
`);const j=S(T,N,I),D=e.getSymbolSize(T),ne=new r(D);return m(ne,T),h(ne),v(ne,T),b(ne,N,0),T>=7&&H(ne,T),_(ne,j),isNaN(w)&&(w=i.getBestMask(ne,b.bind(null,ne,N))),i.applyMask(w,ne),b(ne,N,w),{modules:ne,version:T,errorCorrectionLevel:N,maskPattern:w,segments:I}}return nt.create=function(T,N){if(typeof T>"u"||T==="")throw new Error("No input text");let w=t.M,I,C;return typeof N<"u"&&(w=t.from(N.errorCorrectionLevel,t.M),I=u.from(N.version),C=i.from(N.maskPattern),N.toSJISFunc&&e.setToSJISFunction(N.toSJISFunc)),se(T,I,w,C)},nt}var yt={},_t={},N0;function ar(){return N0||(N0=1,(function(e){function t(n){if(typeof n=="number"&&(n=n.toString()),typeof n!="string")throw new Error("Color should be defined as hex string");let r=n.slice().replace("#","").split("");if(r.length<3||r.length===5||r.length>8)throw new Error("Invalid hex color: "+n);(r.length===3||r.length===4)&&(r=Array.prototype.concat.apply([],r.map(function(a){return[a,a]}))),r.length===6&&r.push("F","F");const x=parseInt(r.join(""),16);return{r:x>>24&255,g:x>>16&255,b:x>>8&255,a:x&255,hex:"#"+r.slice(0,6).join("")}}e.getOptions=function(r){r||(r={}),r.color||(r.color={});const x=typeof r.margin>"u"||r.margin===null||r.margin<0?4:r.margin,a=r.width&&r.width>=21?r.width:void 0,i=r.scale||4;return{width:a,scale:a?4:i,margin:x,color:{dark:t(r.color.dark||"#000000ff"),light:t(r.color.light||"#ffffffff")},type:r.type,rendererOpts:r.rendererOpts||{}}},e.getScale=function(r,x){return x.width&&x.width>=r+x.margin*2?x.width/(r+x.margin*2):x.scale},e.getImageWidth=function(r,x){const a=e.getScale(r,x);return Math.floor((r+x.margin*2)*a)},e.qrToImageData=function(r,x,a){const i=x.modules.size,s=x.modules.data,l=e.getScale(i,a),u=Math.floor((i+a.margin*2)*l),p=a.margin*l,g=[a.color.light,a.color.dark];for(let c=0;c<u;c++)for(let m=0;m<u;m++){let h=(c*u+m)*4,v=a.color.light;if(c>=p&&m>=p&&c<u-p&&m<u-p){const H=Math.floor((c-p)/l),b=Math.floor((m-p)/l);v=g[s[H*i+b]?1:0]}r[h++]=v.r,r[h++]=v.g,r[h++]=v.b,r[h]=v.a}}})(_t)),_t}var R0;function hx(){return R0||(R0=1,(function(e){const t=ar();function n(x,a,i){x.clearRect(0,0,a.width,a.height),a.style||(a.style={}),a.height=i,a.width=i,a.style.height=i+"px",a.style.width=i+"px"}function r(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}e.render=function(a,i,s){let l=s,u=i;typeof l>"u"&&(!i||!i.getContext)&&(l=i,i=void 0),i||(u=r()),l=t.getOptions(l);const p=t.getImageWidth(a.modules.size,l),g=u.getContext("2d"),c=g.createImageData(p,p);return t.qrToImageData(c.data,a,l),n(g,u,p),g.putImageData(c,0,0),u},e.renderToDataURL=function(a,i,s){let l=s;typeof l>"u"&&(!i||!i.getContext)&&(l=i,i=void 0),l||(l={});const u=e.render(a,i,l),p=l.type||"image/png",g=l.rendererOpts||{};return u.toDataURL(p,g.quality)}})(yt)),yt}var kt={},M0;function gx(){if(M0)return kt;M0=1;const e=ar();function t(x,a){const i=x.a/255,s=a+'="'+x.hex+'"';return i<1?s+" "+a+'-opacity="'+i.toFixed(2).slice(1)+'"':s}function n(x,a,i){let s=x+a;return typeof i<"u"&&(s+=" "+i),s}function r(x,a,i){let s="",l=0,u=!1,p=0;for(let g=0;g<x.length;g++){const c=Math.floor(g%a),m=Math.floor(g/a);!c&&!u&&(u=!0),x[g]?(p++,g>0&&c>0&&x[g-1]||(s+=u?n("M",c+i,.5+m+i):n("m",l,0),l=0,u=!1),c+1<a&&x[g+1]||(s+=n("h",p),p=0)):l++}return s}return kt.render=function(a,i,s){const l=e.getOptions(i),u=a.modules.size,p=a.modules.data,g=u+l.margin*2,c=l.color.light.a?"<path "+t(l.color.light,"fill")+' d="M0 0h'+g+"v"+g+'H0z"/>':"",m="<path "+t(l.color.dark,"stroke")+' d="'+r(p,u,l.margin)+'"/>',h='viewBox="0 0 '+g+" "+g+'"',H='<svg xmlns="http://www.w3.org/2000/svg" '+(l.width?'width="'+l.width+'" height="'+l.width+'" ':"")+h+' shape-rendering="crispEdges">'+c+m+`</svg>
|
|
8
|
-
`;return typeof s=="function"&&s(null,H),H},kt}var A0;function bx(){if(A0)return Ve;A0=1;const e=Xr(),t=fx(),n=hx(),r=gx();function x(a,i,s,l,u){const p=[].slice.call(arguments,1),g=p.length,c=typeof p[g-1]=="function";if(!c&&!e())throw new Error("Callback required as last argument");if(c){if(g<2)throw new Error("Too few arguments provided");g===2?(u=s,s=i,i=l=void 0):g===3&&(i.getContext&&typeof u>"u"?(u=l,l=void 0):(u=l,l=s,s=i,i=void 0))}else{if(g<1)throw new Error("Too few arguments provided");return g===1?(s=i,i=l=void 0):g===2&&!i.getContext&&(l=s,s=i,i=void 0),new Promise(function(m,h){try{const v=t.create(s,l);m(a(v,i,l))}catch(v){h(v)}})}try{const m=t.create(s,l);u(null,a(m,i,l))}catch(m){u(m)}}return Ve.create=t.create,Ve.toCanvas=x.bind(null,n.render),Ve.toDataURL=x.bind(null,n.renderToDataURL),Ve.toString=x.bind(null,function(a,i,s){return r.render(a,s)}),Ve}var vx=bx();const yx=Yr(vx);function Ke({message:e,confirmLabel:t="Confirm",confirmDanger:n=!1,inputValue:r,onInput:x,inputPlaceholder:a="",onConfirm:i,onCancel:s}){const l=x!==void 0,u=Le(null);return ge(()=>{var p;(p=u.current)==null||p.focus()},[]),o("div",{className:"fixed inset-0 z-[100] flex items-center justify-center",style:{background:"rgba(0,0,0,0.6)"},onClick:s,children:o("div",{className:"glass-card p-5 flex flex-col gap-4 w-72",onClick:p=>p.stopPropagation(),children:[o("p",{className:"text-sm text-center",style:{color:"var(--text-main)"},children:e}),l&&o("input",{ref:u,value:r,placeholder:a,onInput:p=>x(p.target.value),onKeyDown:p=>p.key==="Enter"&&i(),className:"w-full px-3 py-2 text-sm rounded-xl",style:{background:"var(--glass-bg)",color:"var(--text-main)",border:"1px solid var(--border)"}}),o("div",{className:"flex gap-2",children:[o("button",{onClick:s,className:"glass-btn flex-1 py-2 text-sm",style:{color:"var(--text-muted)"},children:"Cancel"}),o("button",{onClick:i,className:"flex-1 py-2 text-sm font-semibold rounded-xl",style:{background:n?"rgba(220,53,69,0.8)":"var(--brand-500)",color:"#fff"},children:t})]})]})})}var d=or;function yn(){var e=["Running","threshold exceeded","Search files…","Discard changes?","Command history","Session Note","1044jvfSDR","Copy","Unable to load system stats","WebGL Renderer","550532ErYqrC","Server activity and diagnostics","Connect","Update","Not a git repository","Prevent sleep","1743OQItwq","Delete terminal {name}?","Remove device {id}...? It will need approval again next time.","30840TftruN","Reject","File","3KMRbER","Single use · expires","Delete untracked file {name}?","Open file explorer","Switch to light mode","Connection","Group name","Show Folder Button","292WKNlUa","Auto-approve new devices","Terminal Settings","Confirm","Rename group","No new notifications","Stop after 30 min idle","Control mouse & keyboard","Clear all","Delete file","Uptime","Disconnect","Clear","Load average","Block system sleep so the network stays alive","9Remote","Free memory","New terminal","Desktop","Changed files","Disconnect and remove device {id}...? The client will be disconnected and need approval again next time.","Verifying","Device","Searching…","102154uNINxu","Ready","Reset","Push","Allow","Open file","176TNTdAf","Delete session {name}? This will kill the terminal.","Scan QR or open link to sign in","Pending approval","Clients","Approve","Close","Shift+Enter for new line • Ctrl+Num to switch tab","Open the web terminal in a new tab","Disabled — start manually","80381jsfqRC","Terminal","Save","No recent activity","Cancel","Tunnel offline","Needs input","Toggle hidden files","Online","folder name","Start the tunnel to get a QR code and connect your devices from anywhere.","130EPCqgk","Added","Settings","of OS total","Remove","Stages all {count} changed file(s) before commit","Dismiss","Active — unlock from remote works","Notifications","Heap total","OS uptime","Language","filename.ext","Agent replied","Recent","Permanent Key","No logs yet","Remote screen control","Health check","Clients ({online}/{total} online)","Up to date","Rename","58692NatfDG","New Terminal","Switch to dark mode","Always block sleep","Ungrouped","Note","45133HcwzPa","Add Group","Runs in background when you log in","Remote Desktop","Remove pending device {id}...? It will need a fresh approval request to connect again.","Shutdown","Discard changes","e.g. My MacBook","Approve this device","Connected","No commands yet","Available","idle","Terminal Theme","Loading…","Pair a device","Scroll to bottom","Folder","New Device Connection","Delete","Untracked","Font Size","Needs your input","Stop after 1 hr idle","228OkKUYh","within limit","Preparing","Starting secure tunnel","Connecting…","Machine","Commit message","Search files","Delete group","Screen Recording","Connected · {time}","Status","GPU acceleration for smoother scrolling","Git","Grant all permissions below to enable","Set as workspace","Set current folder as workspace","Copy path","Idle","RAM warning","Stop after 2 hrs idle","One-Time Key","Commit","168cEWoZx","streaming","No changes","Files","Logs","Create","Browse & edit files","Tunneling","Heap used","Capture screen content","Show Git Button","Shutdown 9Remote (stop server, close tunnel and quit)","Require manual approval for new devices","Stop after 24 hrs idle","Reset the tunnel and reconnect clients","1m / 5m / 15m"];return yn=function(){return e},yn()}function or(e,t){e=e-263;var n=yn(),r=n[e];return r}(function(e,t){for(var n=or,r=e();;)try{var x=parseInt(n(352))/1*(-parseInt(n(366))/2)+parseInt(n(358))/3*(parseInt(n(346))/4)+parseInt(n(417))/5*(-parseInt(n(267))/6)+-parseInt(n(406))/7*(-parseInt(n(396))/8)+parseInt(n(342))/9*(parseInt(n(355))/10)+-parseInt(n(273))/11*(parseInt(n(297))/12)+parseInt(n(390))/13*(parseInt(n(320))/14);if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(yn,255532);const _x={common:{statusIdle:d(315),statusWorking:"Working",statusBlocked:d(412),statusDone:"Done",create:d(325),cancel:d(410),delete:d(292),rename:d(266),confirm:d(369),close:d(402),refresh:"Refresh",loading:d(287),language:d(428)},files:{cannotOpenBinary:"Cannot open binary file",copyPath:d(314),createNew:"Create new",delete:d(292),deleteConfirmMessage:"Delete {name}?",deleteConfirmTitle:d(375),emptyFolder:"Folder is empty",file:d(357),folder:d(290),noFilesFound:"No files found",noGitRepo:d(350),placeholderFile:d(429),placeholderFolder:d(415),rename:"Rename",searching:d(389),searchFiles:d(304),searchPlaceholder:d(338),setWorkspace:d(312),setAsWorkspaceTitle:d(313),switchWorkspace:"Switch workspace",toggleHidden:d(413)},git:{title:d(310),status:d(308),diffTab:"Diff",modified:"Modified",added:d(418),deleted:"Deleted",untrackedTitle:d(293),noChanges:d(322),openFile:d(395),discardChangesTitle:d(279),discardConfirmTitle:d(339),discardConfirmDelete:d(360),discardConfirmDiscard:"Discard changes in {name}?",gitActions:"Git actions",commit:d(319),push:d(393),commitAndPush:"Commit & Push",commitPlaceholder:d(303),stageAllNote:d(422),upToDate:d(265)},terminalPane:{openFolder:d(361),changedFiles:d(385),note:d(272),refresh:"Reload session",scrollToBottom:d(289)},note:{title:d(341),copy:d(343),clear:d(378)},system:{agent:d(381),machine:d(302),remoteDesktop:d(276),uptime:d(376),osUptime:d(427),heapUsed:d(328),heapTotal:d(426),external:"External",ofOsTotal:d(420),loadAvg:d(379),loadDesc:d(335),freeMem:d(382),status:"Status",available:d(284),offline:"Offline",clients:d(400),streaming:d(321),idle:d(285),ramThreshold:d(316),thresholdExceeded:d(337),thresholdOk:d(298),unavailable:d(344)},terminal:{backToSessions:"Back to sessions",switchGroup:"Switch group",newTerminal:d(383),send:"Send",typeCommand:d(403),deleteConfirm:d(353),clearInput:d(378)},history:{title:d(340),empty:d(283),remove:d(421),clearAll:d(374)},sessions:{newTerminal:d(268),addGroup:d(274),newGroup:"New Group",groupName:d(364),renameGroup:d(370),deleteGroup:d(305),ungrouped:"Ungrouped",deleteSessionConfirm:d(397),deleteGroupConfirm:"Delete group {name}? All terminals inside will be closed."},menu:{connection:d(363),connectionDesc:"Pair devices and manage your secure tunnel",terminals:d(407),terminalsDesc:d(404),logs:"Logs",logsDesc:d(347),terminalSettings:d(368),fontSize:d(294),terminalTheme:d(286),webgl:d(345),webglHint:d(309),showFolder:d(365),showGit:d(330),showNote:"Show Note Button"},recent:{title:d(431),replied:d(430),needsInput:d(295),dismiss:d(423),empty:d(409)},notifications:{title:d(425),empty:d(371),needsInput:d(295),replied:"Replied",agent:"Agent"},groups:{ungrouped:d(271)},header:{settings:d(419),language:"Language",documentation:"Documentation",reset:d(334),resetShort:d(392),shutdown:d(331),shutdownShort:d(278),lightMode:d(362),darkMode:d(269)},remote:{remoteDesktop:"Remote Desktop",controlScreen:"Control screen, mouse & keyboard",screenRecording:d(306),captureScreen:d(329),accessibility:"Accessibility",controlMouseKeyboard:d(373),startup:"Startup",launchOnStartup:"Launch on system startup",launchDesc:d(275),disabledStart:d(405),preventSleep:d(351),blockSleep:d(380),remoteUnlock:"Unlock PC remotely",remoteUnlockDesc:"Let this PC be unlocked from your phone or browser when locked",remoteUnlockReady:d(424),remoteUnlockStale:"Update ready — applies after you restart this PC",grant:d(394),granted:"Active",sleepModes:{"30m":d(372),"1h":d(296),"2h":d(317),"4h":"Stop after 4 hrs idle","24h":d(333),never:d(270)}},clients:{clients:d(400),clientCount:d(264),noClients:"No clients yet",autoApprove:d(367),anyDevice:"Any new device connects without approval",requireManual:d(332),online:d(414),offline:"Offline",pending:d(399),connected:d(282),connectedAt:d(307),pendingApproval:"Pending · waiting for approval",offlineAt:"Offline · approved {date}",disconnect:d(377),disconnectRemove:"Disconnect & Remove",remove:d(421),renameDevice:"Rename this device",approveDevice:d(281),approveBtn:"Approve",rejectBtn:d(356),newDevice:d(291),deviceId:d(388),deviceIp:"IP"},logs:{logs:d(324),noLogs:d(433),clear:"Clear"},connection:{tunnelOffline:d(411),startTunnel:d(416),connect:d(348),connecting:d(301),pairDevice:d(288),scanToSignIn:d(398),oneTimeKey:d(318),oneTimeDesc:d(359),permanentKey:d(432),permanentDesc:"Reusable · no expiry",features:{terminal:"Terminal",fullShell:"Full shell access",desktop:d(384),remoteScreen:d(434),files:d(323),browseEdit:d(326)}},dialogs:{resetConfirm:"Reset and stop the tunnel? Remote clients will be disconnected.",shutdownConfirm:"Shutdown 9Remote completely? This will stop the server, close the tunnel and quit the app.",deviceDisconnect:d(386),deviceRemovePending:d(277),deviceRemoveOffline:d(354),grantPermissions:d(311),deviceName:"Name for device {id}...",nameExample:d(280)},buttons:{update:d(349),approve:d(401),reject:d(356),save:d(408)},steps:{setupConnection:"Setting up connection",preparing:d(299),checkingTunnel:"Checking tunnel binary",connecting:"Connecting",creatingSession:"Creating session",tunneling:d(327),startingTunnel:d(300),verifying:d(387),healthCheck:d(263),ready:d(391),connected:d(282),done:"Done",running:d(336)}};var f=sr;function sr(e,t){e=e-284;var n=_n(),r=n[e];return r}(function(e,t){for(var n=sr,r=e();;)try{var x=parseInt(n(370))/1*(parseInt(n(364))/2)+-parseInt(n(374))/3*(parseInt(n(389))/4)+-parseInt(n(367))/5+-parseInt(n(388))/6+-parseInt(n(372))/7*(-parseInt(n(296))/8)+parseInt(n(333))/9*(parseInt(n(393))/10)+-parseInt(n(302))/11*(-parseInt(n(381))/12);if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(_n,646032);function _n(){var e=["امسح رمز QR أو افتح الرابط للدخول","سطح المكتب","لا توجد عملاء حتى الآن","81XlwWVx","نشط — إلغاء القفل عن بعد يعمل","حذف المحطة الطرفية {name}؟","إنشاء","التحكم في الشاشة والماوس ولوحة المفاتيح","جلسات محطة طرفية حية تعمل على هذا الجهاز","قطع الاتصال والإزالة","التوثيق","Working","إمكانية الوصول","جاري الاتصال","Done","لا تطفئ أبداً","متصل","محطة طرفية","السماح بإلغاء قفل هذا الكمبيوتر من هاتفك أو متصفحك عند قفله","Shift+Enter لسطر جديد • Ctrl+رقم للتبديل بين الألسنة","بدء نفق آمن","امنح جميع الأذونات أدناه لتفعيل","العودة إلى الجلسات","جاري الاتصال…","قطع الاتصال وإزالة الجهاز {id}...؟ سيتم قطع اتصال العميل وسيحتاج إلى موافقة جديدة في المرة القادمة.","التحكم في سطح المكتب البعيد","جاري التشغيل","حذف الجلسة {name}؟ سيغلق المحطة الطرفية.","تسجيل الشاشة","استخدام واحد · ينتهي","الإعدادات","نشط","عنوان IP","محطة طرفية جديدة","2gVoVtt","إزالة الجهاز المعلق {id}...؟ سيحتاج إلى طلب موافقة جديد للاتصال مرة أخرى.","حذف المجموعة {name}؟ ستغلق جميع المحطات الطرفية بداخلها.","5828815MBVNFf","الاتصال","الموافقة التلقائية على الأجهزة الجديدة","461372ZAwfUE","إيقاف 9Remote (إيقاف الخادم وإغلاق النفق والخروج)","7tbfODH","إيقاف بعد ساعة واحدة من عدم النشاط","198051GJkTgL","الموافقة","استعراض وتعديل الملفات","التحكم في الماوس ولوحة المفاتيح","إيقاف","إيقاف بعد 30 دقيقة من عدم النشاط","فحص الصحة","3546288uwZCGe","في الانتظار · ينتظر الموافقة","حذف","إعادة تسمية هذا الجهاز","إعادة تعيين النفق والعملاء المتصلين","مفتاح لمرة واحدة","إيقاف بعد 4 ساعات من عدم النشاط","4350624IIcEwD","56CIzDbR","حذف المجموعة","مفتاح دائم","إعداد الاتصال","512080nkqghb","قطع الاتصال","رد الوكيل","الإطلاق عند بدء النظام","يحتاج إلى إدخالك","اسم المجموعة","اسم الجهاز {id}...","فحص ملف النفق","في انتظار الموافقة","اللغة","البدء","ابدأ النفق للحصول على رمز QR وقم بتوصيل أجهزتك من أي مكان.","الموافقة على هذا الجهاز","سطح المكتب البعيد","إعادة تعيين","إلغاء","الجهاز","6125992SAhjJX","منع النظام من السكون لإبقاء الشبكة نشطة","لا توجد أنشطة حديثة","العملاء","الملفات","إرسال","66qercTD","Needs input","قم بمزامنة الأجهزة وإدارة نفق الأمان الخاص بك","اتصال جهاز جديد","غير متصل","يعمل في الخلفية عند تسجيل الدخول","مثال: MacBook الخاص بي","التبديل إلى الوضع الداكن","إعادة تعيين وإيقاف النفق؟ سيتم قطع اتصال العملاء البعيدين.","إيقاف 9Remote تماماً؟ سيؤدي هذا إلى إيقاف الخادم وإغلاق النفق والخروج من التطبيق.","نفق النقل","إضافة مجموعة","لا توجد سجلات حتى الآن","معطل — بدء يدوي","المحطات الطرفية","منع السكون","الأخيرة","قابل لإعادة الاستخدام · بدون انتهاء","جاري التحقق","مجموعة جديدة","إعادة تسمية المجموعة","تبديل المجموعة","النفق غير متصل","يتطلب الموافقة اليدوية للأجهزة الجديدة","السجلات","Idle","الرفض","السماح بعرض الشاشة"];return _n=function(){return e},_n()}const kx={common:{statusIdle:f(327),statusWorking:f(341),statusBlocked:f(303),statusDone:f(344),create:f(336),cancel:f(294),delete:f(383),rename:"إعادة تسمية",language:f(288)},terminal:{backToSessions:f(352),switchGroup:f(323),newTerminal:f(363),send:f(301),typeCommand:f(349),deleteConfirm:f(335)},sessions:{newTerminal:f(363),addGroup:f(313),newGroup:f(321),groupName:f(284),renameGroup:f(322),deleteGroup:f(390),ungrouped:"غير مصنفة",deleteSessionConfirm:f(357),deleteGroupConfirm:f(366)},menu:{connection:f(368),connectionDesc:f(304),terminals:f(316),terminalsDesc:f(338),logs:f(326),logsDesc:"نشاط الخادم والتشخيص"},recent:{title:f(318),replied:f(395),needsInput:f(397),dismiss:"تجاهل",empty:f(298)},header:{settings:f(360),language:f(288),documentation:f(340),reset:f(385),resetShort:f(293),shutdown:f(371),shutdownShort:f(378),lightMode:"التبديل إلى الوضع الفاتح",darkMode:f(309)},remote:{remoteDesktop:f(292),controlScreen:f(337),screenRecording:f(358),captureScreen:f(329),accessibility:f(342),controlMouseKeyboard:f(377),startup:f(289),launchOnStartup:f(396),launchDesc:f(307),disabledStart:f(315),preventSleep:f(317),blockSleep:f(297),remoteUnlock:"إلغاء قفل الكمبيوتر عن بعد",remoteUnlockDesc:f(348),remoteUnlockReady:f(334),grant:"السماح",granted:f(361),sleepModes:{"30m":f(379),"1h":f(373),"2h":"إيقاف بعد ساعتين من عدم النشاط","4h":f(387),"24h":"إيقاف بعد 24 ساعة من عدم النشاط",never:f(345)}},clients:{clients:f(299),clientCount:"العملاء ({online}/{total} متصل)",noClients:f(332),autoApprove:f(369),anyDevice:"أي جهاز جديد يتصل بدون موافقة",requireManual:f(325),online:"متصل",offline:f(306),pending:f(287),connected:f(346),connectedAt:"متصل · {time}",pendingApproval:f(382),offlineAt:"غير متصل · موافق {date}",disconnect:f(394),disconnectRemove:f(339),remove:"إزالة",renameDevice:f(384),approveDevice:f(291),approveBtn:"الموافقة",rejectBtn:"الرفض",newDevice:f(305),deviceId:f(295),deviceIp:f(362)},logs:{logs:f(326),noLogs:f(314),clear:"مسح"},connection:{tunnelOffline:f(324),startTunnel:f(290),connect:f(368),connecting:f(353),scanToSignIn:f(330),oneTimeKey:f(386),oneTimeDesc:f(359),permanentKey:f(391),permanentDesc:f(319),features:{terminal:f(347),fullShell:"وصول Shell كامل",desktop:f(331),remoteScreen:f(355),files:f(300),browseEdit:f(376)}},dialogs:{resetConfirm:f(310),shutdownConfirm:f(311),deviceDisconnect:f(354),deviceRemovePending:f(365),deviceRemoveOffline:"إزالة الجهاز {id}...؟ سيحتاج إلى موافقة جديدة في المرة القادمة.",grantPermissions:f(351),deviceName:f(285),nameExample:f(308)},buttons:{update:"تحديث",approve:f(375),reject:f(328),save:"حفظ"},steps:{setupConnection:f(392),preparing:"جاري التحضير",checkingTunnel:f(286),connecting:f(343),creatingSession:"إنشاء جلسة",tunneling:f(312),startingTunnel:f(350),verifying:f(320),healthCheck:f(380),ready:"جاهز",connected:"متصل",done:"تم",running:f(356)}};var q=ir;function kn(){var e=["Beenden","Bildschirm, Maus und Tastatur steuern","Umbenennen","Done","Working","16iWgtNN","Erlaube das Entsperren dieses PCs vom Telefon oder Browser, wenn er gesperrt ist","Verbindung","Idle","Gruppe löschen","3087735iDxwQu","Terminal {name} löschen?","Benötigt Ihre Eingabe","Aktiv","Bildschirmanzeige zulassen","170587kBWgAa","Senden","1425796lQUYkz","Gruppenname","4605377aPnraq","Zuletzt verwendet","QR-Code scannen oder Link öffnen zum Anmelden","Keine aktuellen Aktivitäten","Im Hintergrund ausgeführt, wenn Sie sich anmelden","Verwerfen","3294276zmCzHo","Zurücksetzen","Needs input","Barrierefreiheit","Deaktiviert — Manueller Start","Einmalschlüssel","Serveraktivität und Diagnose","Bildschirmaufzeichnung","Permanenter Schlüssel","Gruppe wechseln","Einstellungen","Erlauben","Neue Geräte verbinden sich ohne Genehmigung","Live-Terminalsitzungen auf diesem Host","Terminals","Neues Terminal","Maus und Tastatur steuern","Wiederverwendbar · kein Ablauf","Sprache","PC fernentriegeln","Löschen","Gruppe umbenennen","Shift+Enter für neue Zeile • Ctrl+Num zum Wechsel der Registerkarte","Neue Geräte automatisch genehmigen","432135NkGJIO","Abbrechen","3108216sxHViI","Beim Start ausführen","Erstellen","Remote Desktop","Geräte koppeln und Ihren sicheren Tunnel verwalten","Zum Dunkel-Modus wechseln","Einmalnutzung · läuft ab"];return kn=function(){return e},kn()}(function(e,t){for(var n=ir,r=e();;)try{var x=parseInt(n(328))/1+parseInt(n(330))/2+parseInt(n(362))/3+parseInt(n(338))/4+-parseInt(n(323))/5+parseInt(n(364))/6+-parseInt(n(332))/7*(parseInt(n(376))/8);if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(kn,435766);function ir(e,t){e=e-319;var n=kn(),r=n[e];return r}const wx={common:{statusIdle:q(321),statusWorking:q(375),statusBlocked:q(340),statusDone:q(374),create:q(366),cancel:q(363),delete:q(358),rename:q(373),language:q(356)},terminal:{backToSessions:"Zurück zu Sitzungen",switchGroup:q(347),newTerminal:"Neues Terminal",send:q(329),typeCommand:q(360),deleteConfirm:q(324)},sessions:{newTerminal:q(353),addGroup:"Gruppe hinzufügen",newGroup:"Neue Gruppe",groupName:q(331),renameGroup:q(359),deleteGroup:q(322),ungrouped:"Nicht gruppiert",deleteSessionConfirm:"Sitzung {name} löschen? Dadurch wird das Terminal beendet.",deleteGroupConfirm:"Gruppe {name} löschen? Alle Terminals werden geschlossen."},menu:{connection:q(320),connectionDesc:q(368),terminals:q(352),terminalsDesc:q(351),logs:"Protokolle",logsDesc:q(344)},recent:{title:q(333),replied:"Agent hat geantwortet",needsInput:q(325),dismiss:q(337),empty:q(335)},header:{settings:q(348),language:q(356),documentation:"Dokumentation",reset:"Tunnel zurücksetzen und Clients erneut verbinden",resetShort:q(339),shutdown:"9Remote beenden (Server stoppen, Tunnel schließen, beenden)",shutdownShort:q(371),lightMode:"Zum Hell-Modus wechseln",darkMode:q(369)},remote:{remoteDesktop:q(367),controlScreen:q(372),screenRecording:q(345),captureScreen:q(327),accessibility:q(341),controlMouseKeyboard:q(354),launchOnStartup:q(365),launchDesc:q(336),disabledStart:q(342),preventSleep:"Computer wach halten",blockSleep:"System-Standby verhindern, um Verbindung aktiv zu halten",remoteUnlock:q(357),remoteUnlockDesc:q(319),remoteUnlockReady:"Aktiv — Fernentsperrung funktioniert",grant:q(349),granted:q(326)},clients:{autoApprove:q(361),anyDevice:q(350),requireManual:"Manuelle Genehmigung für neue Geräte erforderlich"},connection:{scanToSignIn:q(334),oneTimeKey:q(343),oneTimeDesc:q(370),permanentKey:q(346),permanentDesc:q(355)}};function lr(e,t){e=e-264;var n=wn(),r=n[e];return r}function wn(){var e=["Requiere aprobación manual para dispositivos nuevos","Sin actividad reciente","Cerrar 9Remote (detener servidor, cerrar túnel, salir)","10Pmjzyn","¿Eliminar terminal {name}?","10084TkpEJF","Escanear código QR o abrir enlace para iniciar sesión","Mantener ordenador despierto","Grabación de pantalla","Uso único · expira","Reciente","Eliminar","Controlar ratón y teclado","Nuevo Terminal","Idioma","Documentación","Deshabilitado — inicio manual","¿Eliminar grupo {name}? Se cerrarán todos los terminales dentro.","4741680OIeiNf","Permitir vista de pantalla","Restablecer túnel y reconectar clientes","Nombre del grupo","Nuevo terminal","21637053ZqzZFd","Agregar Grupo","Cancelar","Cambiar a modo oscuro","7084sijUfZ","Configuración","Escritorio Remoto","Clave Permanente","Sesiones de terminal en vivo en este host","Reutilizable · sin expiración","Cambiar a modo claro","Cualquier dispositivo nuevo se conecta sin aprobación","Terminales","Aprobar automáticamente dispositivos nuevos","Descartar","Needs input","Done","Registros","94jfNudv","Enviar","Controlar pantalla, ratón y teclado","3369400sVQTsC","Crear","Activo","543fFHikA","Emparejar dispositivos y administrar su túnel seguro","Sin agrupar","5382650QMIQJD","Permite desbloquear esta PC desde tu teléfono o navegador cuando está bloqueada","Necesita su entrada","Volver a sesiones","Idle","1038708fnnNPy"];return wn=function(){return e},wn()}var Q=lr;(function(e,t){for(var n=lr,r=e();;)try{var x=-parseInt(n(307))/1*(parseInt(n(271))/2)+-parseInt(n(313))/3*(-parseInt(n(293))/4)+-parseInt(n(310))/5+parseInt(n(265))/6+-parseInt(n(316))/7+-parseInt(n(284))/8+-parseInt(n(289))/9*(-parseInt(n(269))/10);if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(wn,388298);const Sx={common:{statusIdle:Q(264),statusWorking:"Working",statusBlocked:Q(304),statusDone:Q(305),create:Q(311),cancel:Q(291),delete:Q(277),rename:"Renombrar",language:Q(280)},terminal:{backToSessions:Q(319),switchGroup:"Cambiar grupo",newTerminal:Q(288),send:Q(308),typeCommand:"Shift+Enter para nueva línea • Ctrl+Número para cambiar pestaña",deleteConfirm:Q(270)},sessions:{newTerminal:Q(279),addGroup:Q(290),newGroup:"Nuevo Grupo",groupName:Q(287),renameGroup:"Renombrar grupo",deleteGroup:"Eliminar grupo",ungrouped:Q(315),deleteSessionConfirm:"¿Eliminar sesión {name}? Se cerrará el terminal.",deleteGroupConfirm:Q(283)},menu:{connection:"Conexión",connectionDesc:Q(314),terminals:Q(301),terminalsDesc:Q(297),logs:Q(306),logsDesc:"Diagnóstico de actividad del servidor"},recent:{title:Q(276),replied:"El agente respondió",needsInput:Q(318),dismiss:Q(303),empty:Q(267)},header:{settings:Q(294),language:Q(280),documentation:Q(281),reset:Q(286),resetShort:"Restablecer",shutdown:Q(268),shutdownShort:"Cerrar",lightMode:Q(299),darkMode:Q(292)},remote:{remoteDesktop:Q(295),controlScreen:Q(309),screenRecording:Q(274),captureScreen:Q(285),accessibility:"Accesibilidad",controlMouseKeyboard:Q(278),launchOnStartup:"Ejecutar al iniciar",launchDesc:"Ejecutar en segundo plano cuando inicie sesión",disabledStart:Q(282),preventSleep:Q(273),blockSleep:"Impedir que el sistema duerma para mantener conexión activa",remoteUnlock:"Desbloquear PC remotamente",remoteUnlockDesc:Q(317),remoteUnlockReady:"Activo — el desbloqueo remoto funciona",grant:"Permitir",granted:Q(312)},clients:{autoApprove:Q(302),anyDevice:Q(300),requireManual:Q(266)},connection:{scanToSignIn:Q(272),oneTimeKey:"Clave de una sola vez",oneTimeDesc:Q(275),permanentKey:Q(296),permanentDesc:Q(298)}};var O=cr;(function(e,t){for(var n=cr,r=e();;)try{var x=-parseInt(n(547))/1*(-parseInt(n(533))/2)+parseInt(n(552))/3+-parseInt(n(515))/4*(parseInt(n(498))/5)+-parseInt(n(503))/6+-parseInt(n(529))/7+-parseInt(n(556))/8+parseInt(n(548))/9;if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Sn,824713);function cr(e,t){e=e-498;var n=Sn(),r=n[e];return r}const Ix={common:{statusIdle:O(531),statusWorking:O(535),statusBlocked:O(502),statusDone:"Done",create:O(507),cancel:O(510),delete:O(554),rename:O(508),language:O(522)},terminal:{backToSessions:O(546),switchGroup:O(506),newTerminal:O(526),send:O(518),typeCommand:O(545),deleteConfirm:O(541)},sessions:{newTerminal:"ترمینال جدید",addGroup:O(500),newGroup:"گروه جدید",groupName:O(543),renameGroup:O(523),deleteGroup:O(551),ungrouped:"بدون گروه",deleteSessionConfirm:"حذف جلسه {name}؟ این کار ترمینال را بسته خواهد کرد.",deleteGroupConfirm:"حذف گروه {name}؟ تمام ترمینال های درون آن بسته می شوند."},menu:{connection:"اتصال",connectionDesc:O(520),terminals:O(517),terminalsDesc:O(519),logs:"سابقه",logsDesc:O(542)},recent:{title:O(544),replied:O(514),needsInput:"نیاز به ورودی شما",dismiss:O(509),empty:"هیچ فعالیت اخیری وجود ندارد"},header:{settings:O(513),language:O(522),documentation:O(550),reset:"بازنشانی تونل و بازاتصال کلاینتها",resetShort:O(530),shutdown:O(549),shutdownShort:O(499),lightMode:O(555),darkMode:O(501)},remote:{remoteDesktop:O(528),controlScreen:O(525),screenRecording:O(516),captureScreen:O(512),accessibility:"دسترسیپذیری",controlMouseKeyboard:O(527),launchOnStartup:O(504),launchDesc:O(521),disabledStart:"غیرفعال — راه اندازی دستی",preventSleep:O(536),blockSleep:"جلوگیری از خواب سیستم برای نگه داشتن اتصال فعال",remoteUnlock:"باز کردن قفل کامپیوتر از راه دور",remoteUnlockDesc:"اجازه باز شدن قفل این کامپیوتر از تلفن یا مرورگر هنگام قفل بودن",remoteUnlockReady:O(539),grant:O(534),granted:O(540)},clients:{autoApprove:O(532),anyDevice:"هر دستگاه جدید بدون تأیید متصل میشود",requireManual:O(511)},connection:{scanToSignIn:O(537),oneTimeKey:O(505),oneTimeDesc:O(553),permanentKey:O(538),permanentDesc:O(524)}};function Sn(){var e=["تغییر به حالت تاریک","Needs input","6604902gRDVnZ","راه اندازی در هنگام شروع","کلید یکبار مصرف","تغییر گروه","ایجاد","تغییر نام","رد کردن","لغو","نیاز به تأیید دستی برای دستگاههای جدید","اجازه دادن برای مشاهده صفحه","تنظیمات","عامل پاسخ داد","133448FCDWIY","ضبط صفحه","ترمینالها","ارسال","جلسات ترمینال زنده در این میزبان","جفت کردن دستگاهها و مدیریت تونل امن شما","اجرا در پسزمینه هنگام ورود","زبان","تغییر نام گروه","قابل استفاده مجدد · بدون انقضا","کنترل صفحه، ماوس و صفحه کلید","ترمینال جدید","کنترل ماوس و صفحه کلید","میزکار دور","9339064zolZbc","بازنشانی","Idle","تأیید خودکار دستگاههای جدید","474692npCppX","اجازه","Working","نگه داشتن کامپیوتر بیدار","کد QR را اسکن کنید یا لینک را باز کنید تا وارد شوید","کلید دائمی","فعال — باز کردن قفل از راه دور کار میکند","فعال","حذف ترمینال {name}؟","تشخیص فعالیت سرور","نام گروه","اخیر","Shift+Enter برای خط جدید • Ctrl+عدد برای تغییر برگه","بازگشت به جلسات","1ABUEKi","30058731Qjodqe","خاموش کردن 9Remote (توقف سرور، بستن تونل، خروج)","مستندات","حذف گروه","2793105XIpCAJ","استفاده یکبار · منقضی میشود","حذف","تغییر به حالت روشن","1447792LfkiwR","160atecVU","خاموش","افزودن گروه"];return Sn=function(){return e},Sn()}var V=ur;function ur(e,t){e=e-348;var n=In(),r=n[e];return r}(function(e,t){for(var n=ur,r=e();;)try{var x=-parseInt(n(357))/1+parseInt(n(392))/2+parseInt(n(388))/3+parseInt(n(402))/4+parseInt(n(400))/5+-parseInt(n(367))/6+parseInt(n(394))/7*(parseInt(n(350))/8);if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(In,906747);const Cx={common:{statusIdle:V(360),statusWorking:V(387),statusBlocked:"Needs input",statusDone:V(386),create:"Créer",cancel:V(370),delete:V(369),rename:V(385),language:V(348)},terminal:{backToSessions:V(361),switchGroup:V(355),newTerminal:V(356),send:"Envoyer",typeCommand:"Maj+Entrée pour nouvelle ligne • Ctrl+Num pour changer d'onglet",deleteConfirm:V(378)},sessions:{newTerminal:"Nouveau Terminal",addGroup:V(383),newGroup:V(374),groupName:V(364),renameGroup:"Renommer le groupe",deleteGroup:V(380),ungrouped:V(399),deleteSessionConfirm:"Supprimer la session {name} ? Cela fermera le terminal.",deleteGroupConfirm:V(377)},menu:{connection:V(375),connectionDesc:V(401),terminals:V(389),terminalsDesc:"Sessions de terminal en direct sur cet hôte",logs:V(351),logsDesc:V(362)},recent:{title:"Récent",replied:"L'agent a répondu",needsInput:V(349),dismiss:"Rejeter",empty:V(363)},header:{settings:V(398),language:V(348),documentation:V(395),reset:"Réinitialiser le tunnel et reconnecter les clients",resetShort:V(390),shutdown:V(379),shutdownShort:V(365),lightMode:"Passer au mode clair",darkMode:V(391)},remote:{remoteDesktop:"Bureau à Distance",controlScreen:V(372),screenRecording:"Enregistrement d'écran",captureScreen:V(396),accessibility:"Accessibilité",controlMouseKeyboard:V(373),launchOnStartup:"Lancer au démarrage",launchDesc:V(353),disabledStart:"Désactivé — lancement manuel",preventSleep:V(352),blockSleep:V(397),remoteUnlock:V(366),remoteUnlockDesc:V(393),remoteUnlockReady:V(376),grant:V(368),granted:"Actif"},clients:{autoApprove:V(381),anyDevice:"Tout nouvel appareil se connecte sans approbation",requireManual:V(359)},connection:{scanToSignIn:V(354),oneTimeKey:V(371),oneTimeDesc:V(382),permanentKey:V(384),permanentDesc:V(358)}};function In(){var e=["Supprimer le groupe {name} ? Tous les terminaux dedans seront fermés.","Supprimer le terminal {name} ?","Arrêter 9Remote (arrêter le serveur, fermer le tunnel, quitter)","Supprimer le groupe","Approuver automatiquement les nouveaux appareils","Usage unique · expire","Ajouter un Groupe","Clé Permanente","Renommer","Done","Working","2276433ECrVhf","Terminaux","Réinitialiser","Passer au mode sombre","411240RbEwcS","Autoriser le déverrouillage de ce PC depuis votre téléphone ou navigateur lorsqu'il est verrouillé","28BMSQVp","Documentation","Autoriser l'affichage de l'écran","Empêcher la mise en veille du système pour maintenir la connexion active","Paramètres","Non groupé","2129185cpmGRd","Appairer des appareils et gérer votre tunnel sécurisé","487864ULpPlQ","Langue","Nécessite votre saisie","4527216GMlMWN","Journaux","Maintenir l'ordinateur actif","Exécuter en arrière-plan lors de votre connexion","Scannez le code QR ou ouvrez le lien pour vous connecter","Changer de groupe","Nouveau terminal","1537487wBPygS","Réutilisable · sans expiration","Nécessite l'approbation manuelle pour les nouveaux appareils","Idle","Retour aux sessions","Diagnostic d'activité du serveur","Aucune activité récente","Nom du groupe","Arrêter","Déverrouiller le PC à distance","7989648qRJUEH","Autoriser","Supprimer","Annuler","Clé à Usage Unique","Contrôler l'écran, la souris et le clavier","Contrôler la souris et le clavier","Nouveau Groupe","Connexion","Actif — le déverrouillage à distance fonctionne"];return In=function(){return e},In()}function Cn(){var e=["740LPScGj","24jGdfpk","איפוס התעלה והחבר מחדש ללקוחות","Working","ללא קבוצה","280015nyfwZB","מפתח חד פעמי","מחוק הפעלה {name}? זה יסגור את הטרמינל.","1869qTfGoc","ניתן לשימוש חוזר · ללא תוקף","2141258rUymdq","חזרה להפעלות","טרמינלים","בטל נעילת מחשב מרחוק","11675OmhAeQ","1169946fXzcAt","אפשר הצגת מסך","כיבוי","תיעוד","החלפת קבוצה","Done","שליחה","Idle","אישור אוטומטי של התקנים חדשים","צמד התקנים וניהול התעלה המאובטחת שלך","יצירה","עבור למצב אפל","דורש את הקלטך","מחיקה","הפעלות טרמינל חיות על השרת הזה","הקלטת מסך","שימוש אחד · פג","הסוכן הגיב","מנע שינת מערכת כדי לשמור על חיבור פעיל","אבחון פעילות השרת","טרמינל חדש","דורש אישור ידני להתקנים חדשים","מחוק קבוצה","609HytKDA","13pCVJiR","אפשר","שינוי שם קבוצה","עבור למצב בהיר","נגישות","מבוטל — הפעלה ידנית","יומנים","שינוי שם","1570734gxSSTb","כיבוי 9Remote (עצור שרת, סגור תעלה, יציאה)","Needs input","מחוק את הטרמינל {name}?","אפשר ביטול נעילה של המחשב הזה מהטלפון או הדפדפן כשנעול","הוודא שהמחשב ער","20sVXWRI","1536wRzvKz","קבוצה חדשה","2pQaCfC","כל התקן חדש מתחבר ללא אישור","שפה","פעיל — נעילה מרחוק עובדת","סרוק קוד QR או פתח קישור כדי להתחבר","הפעל ברקע כשאתה מתחבר","הפעל בהפעלת המערכת","שלוט על העכבר והמקלדת","642MuCoIZ","Shift+Enter לשורה חדשה • Ctrl+מספר לעבור בין כרטיסיות"];return Cn=function(){return e},Cn()}function dr(e,t){e=e-190;var n=Cn(),r=n[e];return r}var B=dr;(function(e,t){for(var n=dr,r=e();;)try{var x=-parseInt(n(199))/1*(-parseInt(n(250))/2)+parseInt(n(202))/3*(-parseInt(n(194))/4)+-parseInt(n(208))/5*(-parseInt(n(192))/6)+-parseInt(n(232))/7*(parseInt(n(248))/8)+-parseInt(n(209))/9*(-parseInt(n(247))/10)+-parseInt(n(241))/11*(parseInt(n(195))/12)+parseInt(n(233))/13*(-parseInt(n(204))/14);if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Cn,219354);const Dx={common:{statusIdle:B(216),statusWorking:B(197),statusBlocked:B(243),statusDone:B(214),create:B(219),cancel:"ביטול",delete:B(222),rename:B(240),language:B(252)},terminal:{backToSessions:B(205),switchGroup:B(213),newTerminal:B(229),send:B(215),typeCommand:B(193),deleteConfirm:B(244)},sessions:{newTerminal:B(229),addGroup:"הוסף קבוצה",newGroup:B(249),groupName:"שם הקבוצה",renameGroup:B(235),deleteGroup:B(231),ungrouped:B(198),deleteSessionConfirm:B(201),deleteGroupConfirm:"מחוק קבוצה {name}? כל הטרמינלים בפנים יסגרו."},menu:{connection:"חיבור",connectionDesc:B(218),terminals:B(206),terminalsDesc:B(223),logs:B(239),logsDesc:B(228)},recent:{title:"לאחרונה",replied:B(226),needsInput:B(221),dismiss:"דחה",empty:"אין פעילות אחרונה"},header:{settings:"הגדרות",language:B(252),documentation:B(212),reset:B(196),resetShort:"איפוס",shutdown:B(242),shutdownShort:B(211),lightMode:B(236),darkMode:B(220)},remote:{remoteDesktop:"שולחן עבודה מרחוק",controlScreen:"שלוט על המסך, העכבר והמקלדת",screenRecording:B(224),captureScreen:B(210),accessibility:B(237),controlMouseKeyboard:B(191),launchOnStartup:B(190),launchDesc:B(255),disabledStart:B(238),preventSleep:B(246),blockSleep:B(227),remoteUnlock:B(207),remoteUnlockDesc:B(245),remoteUnlockReady:B(253),grant:B(234),granted:"פעיל"},clients:{autoApprove:B(217),anyDevice:B(251),requireManual:B(230)},connection:{scanToSignIn:B(254),oneTimeKey:B(200),oneTimeDesc:B(225),permanentKey:"מפתח קבוע",permanentDesc:B(203)}};var L=mr;function mr(e,t){e=e-121;var n=Dn(),r=n[e];return r}function Dn(){var e=["1787088RqOKHt","पुनः नाम दें","हाल ही में","भाषा","नई लाइन के लिए Shift+Enter • टैब बदलने के लिए Ctrl+संख्या","जब आप लॉगिन करते हैं तो पृष्ठभूमि में चलाएं","स्क्रीन दृश्य की अनुमति दें","पहुंच योग्यता","असमूहित","एजेंट ने जवाब दिया","Needs input","कनेक्शन को सक्रिय रखने के लिए सिस्टम स्लीप को रोकें","सत्र {name} को हटाएं? यह टर्मिनल को बंद कर देगा।","दस्तावेज़","समूह जोड़ें","रिमोट डेस्कटॉप","संयोजन","154795CmwaUE","अंधेरे मोड पर स्विच करें","735038bawQFt","हटाएं","भेजें","माउस और कीबोर्ड को नियंत्रित करें","5448reTgAj","नया टर्मिनल","नए डिवाइस को स्वचालित रूप से मंजूरी दें","8nrQaEA","बनाएं","रद्द करें","9Remote को बंद करें (सर्वर बंद करें, सुरंग बंद करें, बाहर निकलें)","आपके इनपुट की जरूरत है","36950qwOYPM","433353egrRqj","5zarDbR","12598520jPqBda","समूह हटाएं","लॉक होने पर इस PC को फ़ोन या ब्राउज़र से अनलॉक होने की अनुमति दें","सेटिंग्स","एकल उपयोग · समाप्त होता है","सक्रिय — दूरस्थ अनलॉक काम कर रहा है","Done","Idle","रीसेट करें","कोई भी नया डिवाइस अनुमोदन के बिना कनेक्ट करता है","सत्रों पर वापस जाएं","स्टार्टअप पर लॉन्च करें","सुरंग रीसेट करें और क्लाइंट को फिर से कनेक्ट करें","सर्वर गतिविधि निदान","पुन: उपयोग योग्य · कोई समाप्ति नहीं","समूह का नाम बदलें","टर्मिनल {name} को हटाएं?","बंद करें","873rVegyE","स्थायी कुंजी","Working","डिवाइस को जोड़ी करें और अपनी सुरक्षित सुरंग का प्रबंधन करें","नए डिवाइस के लिए मैनुअल अनुमोदन की आवश्यकता है","समूह {name} को हटाएं? इसके अंदर सभी टर्मिनल बंद हो जाएंगे।","1309UsNWvP","एकबारगी कुंजी","अक्षम — मैनुअल लॉन्च","स्क्रीन रिकॉर्डिंग"];return Dn=function(){return e},Dn()}(function(e,t){for(var n=mr,r=e();;)try{var x=parseInt(n(162))/1+parseInt(n(164))/2+parseInt(n(177))/3*(parseInt(n(171))/4)+-parseInt(n(178))/5*(-parseInt(n(145))/6)+-parseInt(n(141))/7*(parseInt(n(168))/8)+parseInt(n(135))/9*(parseInt(n(176))/10)+-parseInt(n(179))/11;if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Dn,194812);const Tx={common:{statusIdle:L(124),statusWorking:L(137),statusBlocked:L(155),statusDone:L(123),create:L(172),cancel:L(173),delete:L(165),rename:L(146),language:"भाषा"},terminal:{backToSessions:L(127),switchGroup:"समूह बदलें",newTerminal:L(169),send:L(166),typeCommand:L(149),deleteConfirm:L(133)},sessions:{newTerminal:L(169),addGroup:L(159),newGroup:"नया समूह",groupName:"समूह का नाम",renameGroup:L(132),deleteGroup:L(180),ungrouped:L(153),deleteSessionConfirm:L(157),deleteGroupConfirm:L(140)},menu:{connection:L(161),connectionDesc:L(138),terminals:"टर्मिनल",terminalsDesc:"इस होस्ट पर लाइव टर्मिनल सत्र",logs:"लॉग्स",logsDesc:L(130)},recent:{title:L(147),replied:L(154),needsInput:L(175),dismiss:"रद्द करें",empty:"कोई हाल ही की गतिविधि नहीं"},header:{settings:L(182),language:L(148),documentation:L(158),reset:L(129),resetShort:L(125),shutdown:L(174),shutdownShort:L(134),lightMode:"हल्के मोड पर स्विच करें",darkMode:L(163)},remote:{remoteDesktop:L(160),controlScreen:"स्क्रीन, माउस और कीबोर्ड को नियंत्रित करें",screenRecording:L(144),captureScreen:L(151),accessibility:L(152),controlMouseKeyboard:L(167),launchOnStartup:L(128),launchDesc:L(150),disabledStart:L(143),preventSleep:"कंप्यूटर को जागृत रखें",blockSleep:L(156),remoteUnlock:"PC दूरस्थ रूप से अनलॉक करें",remoteUnlockDesc:L(181),remoteUnlockReady:L(122),grant:"अनुमति दें",granted:"सक्रिय"},clients:{autoApprove:L(170),anyDevice:L(126),requireManual:L(139)},connection:{scanToSignIn:"साइन इन करने के लिए QR कोड स्कैन करें या लिंक खोलें",oneTimeKey:L(142),oneTimeDesc:L(121),permanentKey:L(136),permanentDesc:L(131)}};var J=pr;(function(e,t){for(var n=pr,r=e();;)try{var x=parseInt(n(288))/1*(-parseInt(n(293))/2)+-parseInt(n(297))/3+-parseInt(n(264))/4*(parseInt(n(305))/5)+parseInt(n(277))/6*(-parseInt(n(287))/7)+parseInt(n(252))/8*(-parseInt(n(301))/9)+parseInt(n(266))/10+parseInt(n(256))/11*(parseInt(n(304))/12);if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Tn,517286);function pr(e,t){e=e-248;var n=Tn(),r=n[e];return r}function Tn(){var e=["393485LTmRqp","Abaikan","Aktif — buka kunci jarak jauh berfungsi","Log","Hapus sesi {name}? Ini akan menutup terminal.","1267656CgPFMz","Buka kunci PC dari jarak jauh","Luncurkan saat startup","Koneksi","11tQPDuW","Kontrol mouse & keyboard","Kembali ke sesi","Sesi terminal langsung berjalan di host ini","Memerlukan persetujuan manual untuk perangkat baru","Setujui perangkat baru secara otomatis","Kirim","Batalkan","4lnxghp","Shift+Enter untuk baris baru • Ctrl+Num untuk ganti tab","7852710TMbbuR","Beralih ke mode gelap","Matikan 9Remote (hentikan server, tutup terowongan, keluar)","Terminal baru","Ubah nama grup","Jalankan di latar belakang saat Anda masuk","Agen merespon","Ganti grup","Dokumentasi","Hapus grup","Pindai kode QR atau buka tautan untuk masuk","78JWepvA","Hapus grup {name}? Semua terminal di dalamnya akan ditutup.","Tidak Dikelompokkan","Tambah Grup","Ubah Nama","Hapus","Beralih ke mode terang","Perangkat baru apa pun terhubung tanpa persetujuan","Aksesibilitas","Izinkan tampilan layar","478541sClnAe","2dStCTk","Terbaru","Kunci Permanen","Kunci Sekali Pakai","Idle","645454gvfkoU","Tidak ada aktivitas terbaru","Buat","Grup Baru","2594049vQHFHg","Penggunaan tunggal · kedaluwarsa","Diagnostik aktivitas server","Setel ulang terowongan dan sambungkan kembali klien","27scwKpD","Aktif","Bahasa","32219268Frtuzd"];return Tn=function(){return e},Tn()}const Nx={common:{statusIdle:J(292),statusWorking:"Working",statusBlocked:"Needs input",statusDone:"Done",create:J(295),cancel:J(263),delete:J(282),rename:J(281),language:J(303)},terminal:{backToSessions:J(258),switchGroup:J(273),newTerminal:J(269),send:J(262),typeCommand:J(265),deleteConfirm:"Hapus terminal {name}?"},sessions:{newTerminal:"Terminal Baru",addGroup:J(280),newGroup:J(296),groupName:"Nama grup",renameGroup:J(270),deleteGroup:J(275),ungrouped:J(279),deleteSessionConfirm:J(251),deleteGroupConfirm:J(278)},menu:{connection:J(255),connectionDesc:"Pasangkan perangkat dan kelola terowongan aman Anda",terminals:"Terminal",terminalsDesc:J(259),logs:J(250),logsDesc:J(299)},recent:{title:J(289),replied:J(272),needsInput:"Membutuhkan masukan Anda",dismiss:J(248),empty:J(294)},header:{settings:"Pengaturan",language:J(303),documentation:J(274),reset:J(300),resetShort:"Setel Ulang",shutdown:J(268),shutdownShort:"Matikan",lightMode:J(283),darkMode:J(267)},remote:{remoteDesktop:"Dekstop Jarak Jauh",controlScreen:"Kontrol layar, mouse & keyboard",screenRecording:"Perekaman Layar",captureScreen:J(286),accessibility:J(285),controlMouseKeyboard:J(257),launchOnStartup:J(254),launchDesc:J(271),disabledStart:"Dinonaktifkan — peluncuran manual",preventSleep:"Jaga komputer tetap aktif",blockSleep:"Cegah sistem tidur untuk menjaga koneksi tetap aktif",remoteUnlock:J(253),remoteUnlockDesc:"Izinkan PC ini dibuka kuncinya dari ponsel atau browser saat terkunci",remoteUnlockReady:J(249),grant:"Izinkan",granted:J(302)},clients:{autoApprove:J(261),anyDevice:J(284),requireManual:J(260)},connection:{scanToSignIn:J(276),oneTimeKey:J(291),oneTimeDesc:J(298),permanentKey:J(290),permanentDesc:"Dapat digunakan kembali · tidak ada kadaluarsa"}};var G=fr;function fr(e,t){e=e-263;var n=Nn(),r=n[e];return r}function Nn(){var e=["Passa alla modalità scura","Consenti","Recente","Attivo","Impedisci la sospensione del sistema per mantenere attiva la connessione","Esegui in background quando accedi","Connessione","Nome del gruppo","Attivo — lo sblocco da remoto funziona","18oSEBYa","Richiede l'approvazione manuale per i nuovi dispositivi","Terminali","Disabilitato — avvio manuale","Maiusc+Invio per nuova riga • Ctrl+Num per cambiare scheda","Invia","Rinomina","Chiave Permanente","Elimina","L'agente ha risposto","Nuovo terminale","Documentazione","460760LGurap","Diagnostica attività server","Desktop Remoto","Controlla mouse e tastiera","Rinomina gruppo","Annulla","Accessibilità","154237nVpRob","Impostazioni","Riutilizzabile · nessuna scadenza","Idle","Scansiona il codice QR o apri il collegamento per accedere","Chiudi","Done","Chiave Usa e Getta","Working","Registrazione schermo","Consenti visualizzazione schermo","Elimina gruppo","Approva automaticamente i nuovi dispositivi","4386zIOAgn","Qualsiasi nuovo dispositivo si connette senza approvazione","Ripristina","Eliminare il gruppo {name}? Tutti i terminali all'interno verranno chiusi.","Nuovo Gruppo","4MjgADK","2WTvibF","1022080rtLbeL","Spegni 9Remote (arresta server, chiudi tunnel, esci)","Ripristina tunnel e riconnetti i client","122710GMTFeD","Torna alle sessioni","2633304kItOop","Non raggruppato","766690nYQZpQ","Nessuna attività recente","Nuovo Terminale","Log","11HBeDBn","Sessioni di terminale live in esecuzione su questo host","Lingua","138caGWeI","Avvia all'avvio","Eliminare la sessione {name}? Questo chiuderà il terminale."];return Nn=function(){return e},Nn()}(function(e,t){for(var n=fr,r=e();;)try{var x=parseInt(n(293))/1*(parseInt(n(312))/2)+-parseInt(n(306))/3+-parseInt(n(311))/4*(-parseInt(n(320))/5)+-parseInt(n(327))/6*(-parseInt(n(316))/7)+-parseInt(n(313))/8+-parseInt(n(274))/9*(parseInt(n(286))/10)+-parseInt(n(324))/11*(parseInt(n(318))/12);if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Nn,269949);const Rx={common:{statusIdle:G(296),statusWorking:G(301),statusBlocked:"Needs input",statusDone:G(299),create:"Crea",cancel:G(291),delete:G(282),rename:G(280),language:G(326)},terminal:{backToSessions:G(317),switchGroup:"Cambia gruppo",newTerminal:G(284),send:G(279),typeCommand:G(278),deleteConfirm:"Eliminare il terminale {name}?"},sessions:{newTerminal:G(322),addGroup:"Aggiungi Gruppo",newGroup:G(310),groupName:G(272),renameGroup:G(290),deleteGroup:G(304),ungrouped:G(319),deleteSessionConfirm:G(264),deleteGroupConfirm:G(309)},menu:{connection:G(271),connectionDesc:"Abbina dispositivi e gestisci il tuo tunnel sicuro",terminals:G(276),terminalsDesc:G(325),logs:G(323),logsDesc:G(287)},recent:{title:G(267),replied:G(283),needsInput:"Necessita il tuo input",dismiss:G(298),empty:G(321)},header:{settings:G(294),language:G(326),documentation:G(285),reset:G(315),resetShort:G(308),shutdown:G(314),shutdownShort:"Spegni",lightMode:"Passa alla modalità chiara",darkMode:G(265)},remote:{remoteDesktop:G(288),controlScreen:"Controlla schermo, mouse e tastiera",screenRecording:G(302),captureScreen:G(303),accessibility:G(292),controlMouseKeyboard:G(289),launchOnStartup:G(263),launchDesc:G(270),disabledStart:G(277),preventSleep:"Mantieni il computer sveglio",blockSleep:G(269),remoteUnlock:"Sblocca PC da remoto",remoteUnlockDesc:"Consenti di sbloccare questo PC dal telefono o dal browser quando è bloccato",remoteUnlockReady:G(273),grant:G(266),granted:G(268)},clients:{autoApprove:G(305),anyDevice:G(307),requireManual:G(275)},connection:{scanToSignIn:G(297),oneTimeKey:G(300),oneTimeDesc:"Uso singolo · scade",permanentKey:G(281),permanentDesc:G(295)}};var Z=hr;function hr(e,t){e=e-370;var n=Rn(),r=n[e];return r}(function(e,t){for(var n=hr,r=e();;)try{var x=-parseInt(n(383))/1*(-parseInt(n(420))/2)+parseInt(n(393))/3+parseInt(n(371))/4*(-parseInt(n(402))/5)+parseInt(n(424))/6+parseInt(n(425))/7+parseInt(n(379))/8+-parseInt(n(374))/9*(parseInt(n(390))/10);if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Rn,877508);const Mx={common:{statusIdle:"Idle",statusWorking:Z(375),statusBlocked:Z(382),statusDone:Z(410),create:"作成",cancel:"キャンセル",delete:"削除",rename:Z(392),language:"言語"},terminal:{backToSessions:Z(391),switchGroup:Z(397),newTerminal:Z(407),send:"送信",typeCommand:Z(389),deleteConfirm:Z(412)},sessions:{newTerminal:Z(407),addGroup:Z(385),newGroup:"新規グループ",groupName:Z(388),renameGroup:Z(378),deleteGroup:Z(405),ungrouped:Z(401),deleteSessionConfirm:Z(381),deleteGroupConfirm:Z(417)},menu:{connection:"接続",connectionDesc:"デバイスをペアリングし、セキュアトンネルを管理します",terminals:Z(409),terminalsDesc:"このホストで実行中のライブターミナルセッション",logs:"ログ",logsDesc:Z(396)},recent:{title:"最近",replied:Z(404),needsInput:"あなたの入力が必要です",dismiss:Z(421),empty:Z(423)},header:{settings:"設定",language:"言語",documentation:Z(403),reset:Z(377),resetShort:Z(373),shutdown:Z(399),shutdownShort:Z(395),lightMode:Z(414),darkMode:"ダークモードに切り替え"},remote:{remoteDesktop:Z(384),controlScreen:Z(406),screenRecording:Z(372),captureScreen:Z(411),accessibility:Z(419),controlMouseKeyboard:Z(416),launchOnStartup:Z(380),launchDesc:Z(415),disabledStart:Z(370),preventSleep:Z(413),blockSleep:Z(387),remoteUnlock:"リモートでPCをロック解除",remoteUnlockDesc:Z(398),remoteUnlockReady:Z(408),grant:"許可",granted:"有効"},clients:{autoApprove:Z(418),anyDevice:Z(386),requireManual:Z(400)},connection:{scanToSignIn:"QRコードをスキャンするか、リンクを開いてサインイン",oneTimeKey:Z(422),oneTimeDesc:Z(376),permanentKey:"永続キー",permanentDesc:Z(394)}};function Rn(){var e=["閉じる","ワンタイムキー","最近のアクティビティはありません","470586UFDyzx","8089578hSPxej","無効 — 手動起動","2076GBOtWZ","画面録画","リセット","27VHawwO","Working","1回限りの使用 · 有効期限あり","トンネルをリセットしてクライアントを再接続","グループの名前を変更","7703184iucvNj","起動時に実行","セッション {name} を削除しますか? ターミナルが終了します。","Needs input","1ooeACn","リモートデスクトップ","グループを追加","新しいデバイスは承認なしで接続","接続を有効にするために、システムスリープを防ぐ","グループ名","Shift+Enterで改行 • Ctrl+数字でタブを切り替え","3972090lzfjVk","セッション一覧に戻る","名前変更","756165bOqVQJ","再利用可能 · 有効期限なし","シャットダウン","サーバーアクティビティ診断","グループを切り替える","ロック時にスマホやブラウザからこのPCをロック解除できるようにする","9Remoteをシャットダウン(サーバー停止、トンネル閉鎖、終了)","新しいデバイスには手動承認が必要","グループ化されていません","10240WGUoYP","ドキュメンテーション","エージェントが返信","グループを削除","画面、マウス、キーボードを操作","新しいターミナル","有効 — リモートロック解除が機能しています","ターミナル","Done","画面表示を許可","ターミナル {name} を削除しますか?","コンピュータを起動状態に保つ","ライトモードに切り替え","ログイン時にバックグラウンドで実行","マウスとキーボードを操作","グループ {name} を削除しますか? 内部のすべてのターミナルが閉じます。","新しいデバイスを自動的に承認","アクセシビリティ","1366018SCDzPf"];return Rn=function(){return e},Rn()}var re=gr;function Mn(){var e=["12FlteXN","최근 활동 없음","그룹 {name}을(를) 삭제하시겠습니까? 내부의 모든 터미널이 종료됩니다.","3AqWtMj","이름 바꾸기","618132ikxLJF","에이전트가 응답함","2284786rVbscN","새 기기 자동 승인","재설정","Idle","2158304tUwQBG","1iSNOTL","그룹 없음","접근성","재사용 가능 · 만료 없음","연결을 유지하기 위해 시스템 절전 방지","이 호스트에서 실행 중인 라이브 터미널 세션","Needs input","만들기","터미널","화면 녹화","새 그룹","화면 보기 허용","그룹 삭제","8817867knXNqP","그룹 전환","터미널 {name}을(를) 삭제하시겠습니까?","원격으로 PC 잠금 해제","보내기","라이트 모드로 전환","새 기기에 수동 승인 필요","17122963PxGjhI","설명서","Working","4415630FPxtxq","QR 코드를 스캔하거나 링크를 열어 로그인","화면, 마우스 및 키보드 제어","10nhKzxi","1233094wNFGtM","일회용 키","영구 키","그룹 추가","새 기기가 승인 없이 연결됨","비활성화 — 수동 시작","다크 모드로 전환","서버 활동 진단","새 터미널","마우스 및 키보드 제어"];return Mn=function(){return e},Mn()}(function(e,t){for(var n=gr,r=e();;)try{var x=parseInt(n(196))/1*(-parseInt(n(223))/2)+-parseInt(n(236))/3*(parseInt(n(238))/4)+-parseInt(n(219))/5+-parseInt(n(233))/6*(parseInt(n(240))/7)+parseInt(n(195))/8+parseInt(n(209))/9*(parseInt(n(222))/10)+parseInt(n(216))/11;if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Mn,499182);function gr(e,t){e=e-192;var n=Mn(),r=n[e];return r}const Ax={common:{statusIdle:re(194),statusWorking:re(218),statusBlocked:re(202),statusDone:"Done",create:re(203),cancel:"취소",delete:"삭제",rename:re(237),language:"언어"},terminal:{backToSessions:"세션으로 돌아가기",switchGroup:re(210),newTerminal:re(231),send:re(213),typeCommand:"새 줄은 Shift+Enter • 탭 전환은 Ctrl+번호",deleteConfirm:re(211)},sessions:{newTerminal:re(231),addGroup:re(226),newGroup:re(206),groupName:"그룹 이름",renameGroup:"그룹 이름 바꾸기",deleteGroup:re(208),ungrouped:re(197),deleteSessionConfirm:"세션 {name}을(를) 삭제하시겠습니까? 터미널이 종료됩니다.",deleteGroupConfirm:re(235)},menu:{connection:"연결",connectionDesc:"기기를 연결하고 보안 터널 관리",terminals:re(204),terminalsDesc:re(201),logs:"로그",logsDesc:re(230)},recent:{title:"최근",replied:re(239),needsInput:"사용자 입력 필요",dismiss:"닫기",empty:re(234)},header:{settings:"설정",language:"언어",documentation:re(217),reset:"터널 재설정 및 클라이언트 재연결",resetShort:re(193),shutdown:"9Remote 종료(서버 중지, 터널 닫기, 종료)",shutdownShort:"종료",lightMode:re(214),darkMode:re(229)},remote:{remoteDesktop:"원격 데스크톱",controlScreen:re(221),screenRecording:re(205),captureScreen:re(207),accessibility:re(198),controlMouseKeyboard:re(232),launchOnStartup:"시작 시 시작",launchDesc:"로그인할 때 백그라운드에서 실행",disabledStart:re(228),preventSleep:"컴퓨터 깨어있게 유지",blockSleep:re(200),remoteUnlock:re(212),remoteUnlockDesc:"잠금 시 휴대폰이나 브라우저에서 이 PC를 잠금 해제하도록 허용",remoteUnlockReady:"활성 — 원격 잠금 해제 작동 중",grant:"허용",granted:"활성"},clients:{autoApprove:re(192),anyDevice:re(227),requireManual:re(215)},connection:{scanToSignIn:re(220),oneTimeKey:re(224),oneTimeDesc:"일회 사용 · 만료됨",permanentKey:re(225),permanentDesc:re(199)}};var z=br;function br(e,t){e=e-149;var n=An(),r=n[e];return r}(function(e,t){for(var n=br,r=e();;)try{var x=-parseInt(n(202))/1*(-parseInt(n(199))/2)+-parseInt(n(188))/3*(parseInt(n(174))/4)+parseInt(n(181))/5+-parseInt(n(160))/6*(parseInt(n(187))/7)+-parseInt(n(190))/8*(parseInt(n(192))/9)+parseInt(n(183))/10+-parseInt(n(164))/11;if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(An,687464);const Ex={common:{statusIdle:z(203),statusWorking:z(165),statusBlocked:z(154),statusDone:z(149),create:z(182),cancel:z(197),delete:z(195),rename:z(204),language:z(158)},terminal:{backToSessions:z(198),switchGroup:"Tukar kumpulan",newTerminal:z(200),send:z(206),typeCommand:z(194),deleteConfirm:z(173)},sessions:{newTerminal:z(168),addGroup:z(167),newGroup:"Kumpulan Baharu",groupName:"Nama kumpulan",renameGroup:z(211),deleteGroup:z(196),ungrouped:z(212),deleteSessionConfirm:z(172),deleteGroupConfirm:"Padam kumpulan {name}? Semua terminal di dalamnya akan ditutup."},menu:{connection:z(185),connectionDesc:z(150),terminals:z(191),terminalsDesc:z(210),logs:"Log",logsDesc:z(163)},recent:{title:z(155),replied:z(177),needsInput:"Memerlukan input anda",dismiss:z(189),empty:z(176)},header:{settings:z(175),language:"Bahasa",documentation:z(151),reset:z(207),resetShort:z(169),shutdown:z(179),shutdownShort:"Tutup",lightMode:"Tukar ke mod cerah",darkMode:"Tukar ke mod gelap"},remote:{remoteDesktop:z(201),controlScreen:z(153),screenRecording:z(184),captureScreen:z(159),accessibility:z(178),controlMouseKeyboard:z(157),launchOnStartup:"Lancar semasa permulaan",launchDesc:z(193),disabledStart:"Dilumpuhkan — pelancaran manual",preventSleep:z(208),blockSleep:z(171),remoteUnlock:z(205),remoteUnlockDesc:"Benarkan PC ini dibuka kunci dari telefon atau pelayar apabila dikunci",remoteUnlockReady:z(161),grant:z(170),granted:z(209)},clients:{autoApprove:z(186),anyDevice:z(180),requireManual:z(156)},connection:{scanToSignIn:z(166),oneTimeKey:z(152),oneTimeDesc:"Penggunaan tunggal · tamat tempoh",permanentKey:"Kunci Kekal",permanentDesc:z(162)}};function An(){var e=["Mana-mana peranti baharu menyambung tanpa kelulusan","6596330YDvxCZ","Buat","9737060GUlnIh","Rakaman skrin","Sambungan","Lulus secara automatik peranti baharu","133qnfYoJ","111MlPQbv","Tutup","132144iWXMKr","Terminal","441NUoKMU","Jalankan di latar belakang apabila anda log masuk","Shift+Enter untuk baris baharu • Ctrl+Num untuk tukar tab","Padam","Padam kumpulan","Batal","Kembali ke sesi","47212eMplUs","Terminal baharu","Dekstop Jauh","43ptDRbq","Idle","Tukar nama","Buka kunci PC secara jauh","Hantar","Tetap semula terowong dan sambung semula klien","Pastikan komputer sentiasa aktif","Aktif","Sesi terminal langsung berjalan di hos ini","Tukar nama kumpulan","Tidak dikumpulkan","Done","Pasangkan peranti dan uruskan terowong selamat anda","Dokumentasi","Kunci Sekali Guna","Kawal skrin, tetikus & papan kunci","Needs input","Terbaru","Memerlukan kelulusan manual untuk peranti baharu","Kawal tetikus & papan kunci","Bahasa","Benarkan paparan skrin","390834pzzQjo","Aktif — buka kunci jauh berfungsi","Boleh digunakan semula · tiada tamat tempoh","Diagnosis aktiviti pelayan","1181180kChzCN","Working","Imbas kod QR atau buka pautan untuk log masuk","Tambah Kumpulan","Terminal Baharu","Tetap Semula","Benarkan","Cegah tidur sistem untuk mengekalkan sambungan aktif","Padam sesi {name}? Ini akan menutup terminal.","Padam terminal {name}?","50396aPMEoI","Tetapan","Tiada aktiviti terbaru","Ejen telah membalas","Kebolehaksesan","Tutup 9Remote (hentikan pelayan, tutup terowong, keluar)"];return An=function(){return e},An()}function vr(e,t){e=e-252;var n=En(),r=n[e];return r}var A=vr;(function(e,t){for(var n=vr,r=e();;)try{var x=parseInt(n(276))/1*(parseInt(n(310))/2)+parseInt(n(258))/3+parseInt(n(259))/4*(-parseInt(n(278))/5)+-parseInt(n(291))/6+parseInt(n(270))/7*(-parseInt(n(282))/8)+parseInt(n(285))/9+-parseInt(n(302))/10*(parseInt(n(269))/11);if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(En,243310);const Px={common:{statusIdle:"Idle",statusWorking:A(316),statusBlocked:A(308),statusDone:A(273),create:A(275),cancel:A(293),delete:"Verwijderen",rename:A(294),language:A(298)},terminal:{backToSessions:A(283),switchGroup:A(306),newTerminal:A(289),send:"Verzenden",typeCommand:"Shift+Enter voor nieuwe regel • Ctrl+Getal om tabblad te wisselen",deleteConfirm:A(256)},sessions:{newTerminal:A(299),addGroup:A(290),newGroup:A(268),groupName:A(254),renameGroup:A(281),deleteGroup:A(252),ungrouped:A(296),deleteSessionConfirm:A(292),deleteGroupConfirm:A(272)},menu:{connection:A(312),connectionDesc:A(265),terminals:A(263),terminalsDesc:A(255),logs:A(274),logsDesc:"Serveractiviteit diagnostiek"},recent:{title:A(280),replied:A(300),needsInput:A(284),dismiss:A(309),empty:A(297)},header:{settings:"Instellingen",language:"Taal",documentation:A(317),reset:"Tunnel opnieuw instellen en clients opnieuw verbinden",resetShort:"Opnieuw instellen",shutdown:A(262),shutdownShort:A(264),lightMode:A(288),darkMode:A(271)},remote:{remoteDesktop:A(313),controlScreen:A(301),screenRecording:A(279),captureScreen:A(315),accessibility:A(267),controlMouseKeyboard:A(304),launchOnStartup:A(295),launchDesc:A(261),disabledStart:A(257),preventSleep:A(305),blockSleep:A(253),remoteUnlock:"PC op afstand ontgrendelen",remoteUnlockDesc:A(286),remoteUnlockReady:A(307),grant:A(303),granted:A(314)},clients:{autoApprove:A(260),anyDevice:"Elk nieuw apparaat maakt verbinding zonder goedkeuring",requireManual:A(277)},connection:{scanToSignIn:A(266),oneTimeKey:A(311),oneTimeDesc:"Eenmalig gebruik · vervalt",permanentKey:"Permanente Sleutel",permanentDesc:A(287)}};function En(){var e=["Actief","Schermweergave toestaan","Working","Documentatie","Groep verwijderen","Systeemruststand voorkomen om verbinding actief te houden","Groepsnaam","Live terminalsessies op deze host","Terminal {name} verwijderen?","Uitgeschakeld — handmatig starten","1185564YJRaPE","4sSzzFL","Nieuwe apparaten automatisch goedkeuren","Op de achtergrond uitvoeren wanneer u inlogt","9Remote afsluiten (server stoppen, tunnel sluiten, afsluiten)","Terminals","Afsluiten","Apparaten koppelen en uw beveiligde tunnel beheren","QR-code scannen of link openen om in te loggen","Toegankelijkheid","Nieuwe Groep","24772LanKyF","522277rsqLNR","Overschakelen naar donkere modus","Groep {name} verwijderen? Alle terminals erin sluiten.","Done","Logboeken","Maken","6587agJZVe","Handmatige goedkeuring nodig voor nieuwe apparaten","906070WFsQHK","Schermopname","Recente","Groep hernoemen","40sLhayH","Terug naar sessies","Heeft uw invoer nodig","3591297nnZIiz","Laat dit PC ontgrendeld worden vanaf telefoon of browser wanneer vergrendeld","Herbruikbaar · geen vervaldatum","Overschakelen naar lichte modus","Nieuwe terminal","Groep Toevoegen","581100eCtxxj","Sessie {name} verwijderen? Dit sluit de terminal.","Annuleren","Hernoemen","Bij het starten starten","Niet gegroepeerd","Geen recente activiteit","Taal","Nieuwe Terminal","Agent antwoordde","Scherm, muis en toetsenbord bedienen","1310cxfBvz","Toestaan","Muis en toetsenbord bedienen","Computer wakker houden","Groep wisselen","Actief — ontgrendelen op afstand werkt","Needs input","Sluiten","120OZDzAG","Eenmalige Sleutel","Verbinding","Extern Bureaublad"];return En=function(){return e},En()}function Pn(){var e=["Uniemożliwij uśpienie systemu aby utrzymać aktywne połączenie","3343536JHXSWU","Potrzebuje Twojego wkładu","Usuń grupę","Working","Automatycznie zatwierdź nowe urządzenia","Wyłączone — uruchamianie ręczne","Aktywne","Uruchamiaj przy starcie","Nowy terminal","Połączenie","Zezwól na odblokowanie tego PC z telefonu lub przeglądarki przy zablokowaniu","Agent odpowiedział","Ostatnie","Wyślij","Usuń","Zmień nazwę","Usunąć grupę {name}? Wszystkie terminale w niej zostaną zamknięte.","Nowa Grupa","3635370GWoLDy","53089140NybleH","Zresetuj","Kontroluj ekran, mysz i klawiaturę","Zamknij 9Remote (zatrzymaj serwer, zamknij tunel, wyjdź)","10452113PZEJoB","Idle","70055zCnfXH","Możliwy do ponownego użycia · bez wygaśnięcia","Zmień grupę","Nowy Terminal","Dodaj Grupę","Shift+Enter dla nowej linii • Ctrl+Num aby zmienić kartę","Utwórz","Dzienniki","Każde nowe urządzenie się łączy bez zatwierdzenia","577avqyit","412LqStgH","Sesje terminala na żywo na tym hoście","6nqNugv","Język","Zeskanuj kod QR lub otwórz link aby się zalogować","Brak ostatniej aktywności","Ustawienia","Needs input","Zezwól na wyświetlanie ekranu","Klucz Permanentny","Klucz Jednorazowy","4486fHgnsz","Kontroluj mysz i klawiaturę","Nazwa grupy","Aktywne — zdalne odblokowywanie działa","Odblokuj PC zdalnie","Dostępność","Usunąć sesję {name}? To zamknie terminal.","10375272IgLywK","Diagnostyka aktywności serwera","Usunąć terminal {name}?","Uruchom w tle po zalogowaniu","Nagrywanie ekranu","Utrzymuj komputer w stanie czuwania","Zamknij","Zezwól","Done"];return Pn=function(){return e},Pn()}function yr(e,t){e=e-446;var n=Pn(),r=n[e];return r}var U=yr;(function(e,t){for(var n=yr,r=e();;)try{var x=parseInt(n(490))/1*(parseInt(n(502))/2)+-parseInt(n(474))/3+parseInt(n(491))/4*(-parseInt(n(481))/5)+parseInt(n(493))/6*(-parseInt(n(479))/7)+-parseInt(n(456))/8+-parseInt(n(446))/9+parseInt(n(475))/10;if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Pn,884293);const Bx={common:{statusIdle:U(480),statusWorking:U(459),statusBlocked:U(498),statusDone:U(454),create:U(487),cancel:"Anuluj",delete:U(470),rename:U(471),language:"Język"},terminal:{backToSessions:"Wróć do sesji",switchGroup:U(483),newTerminal:U(464),send:U(469),typeCommand:U(486),deleteConfirm:U(448)},sessions:{newTerminal:U(484),addGroup:U(485),newGroup:U(473),groupName:U(504),renameGroup:"Zmień nazwę grupy",deleteGroup:U(458),ungrouped:"Niezgrupowane",deleteSessionConfirm:U(508),deleteGroupConfirm:U(472)},menu:{connection:U(465),connectionDesc:"Sparuj urządzenia i zarządzaj bezpiecznym tunelem",terminals:"Terminale",terminalsDesc:U(492),logs:U(488),logsDesc:U(447)},recent:{title:U(468),replied:U(467),needsInput:U(457),dismiss:U(452),empty:U(496)},header:{settings:U(497),language:U(494),documentation:"Dokumentacja",reset:"Zresetuj tunel i ponownie połącz klientów",resetShort:U(476),shutdown:U(478),shutdownShort:U(452),lightMode:"Przełącz na tryb jasny",darkMode:"Przełącz na tryb ciemny"},remote:{remoteDesktop:"Pulpit Zdalny",controlScreen:U(477),screenRecording:U(450),captureScreen:U(499),accessibility:U(507),controlMouseKeyboard:U(503),launchOnStartup:U(463),launchDesc:U(449),disabledStart:U(461),preventSleep:U(451),blockSleep:U(455),remoteUnlock:U(506),remoteUnlockDesc:U(466),remoteUnlockReady:U(505),grant:U(453),granted:U(462)},clients:{autoApprove:U(460),anyDevice:U(489),requireManual:"Wymaga ręcznego zatwierdzenia dla nowych urządzeń"},connection:{scanToSignIn:U(495),oneTimeKey:U(501),oneTimeDesc:"Jednorazowe użycie · wygasa",permanentKey:U(500),permanentDesc:U(482)}};function _r(e,t){e=e-252;var n=Bn(),r=n[e];return r}function Bn(){var e=["Recente","Criar","Aprovar automaticamente novos dispositivos","Novo Terminal","Desabilitado — inicialização manual","212486bnjEQb","Área de Trabalho Remota","Needs input","Permitir desbloquear este PC pelo telefone ou navegador quando bloqueado","Excluir grupo","3700926piskAk","Emparelhe dispositivos e gerencie seu túnel seguro","Excluir o terminal {name}?","Diagnóstico de atividade do servidor","Permitir visualização da tela","54dajrGq","Gravação de tela","44JpEVTX","Renomear","Permitir","Enviar","Nenhuma atividade recente","Desligar 9Remote (parar servidor, fechar túnel, sair)","Impedir que o sistema durma para manter a conexão ativa","Qualquer novo dispositivo se conecta sem aprovação","4qcHAQy","Acessibilidade","Desbloquear PC remotamente","423285UmEbfG","602805qPMlhT","354510IVNiLX","Conexão","Precisa de sua entrada","Excluir o grupo {name}? Todos os terminais dentro serão fechados.","Reutilizável · sem expiração","Working","21HWmIDZ","Logs","Excluir","Ativo — desbloqueio remoto funcionando","Idle","Descartar","Controlar mouse e teclado","O agente respondeu","4GjbrqL","Trocar de grupo","Idioma","Nome do grupo","1451896xxrxeD","Voltar às sessões","Novo terminal","Manter computador acordado","Desligar","Novo Grupo","12elTvvD","Iniciar na inicialização","Sessões de terminal ao vivo em execução neste host","Alternar para modo escuro","Alternar para modo claro","2156232XvmQSe"];return Bn=function(){return e},Bn()}var Y=_r;(function(e,t){for(var n=_r,r=e();;)try{var x=-parseInt(n(273))/1*(parseInt(n(252))/2)+parseInt(n(297))/3*(parseInt(n(293))/4)+parseInt(n(296))/5*(parseInt(n(283))/6)+-parseInt(n(304))/7*(parseInt(n(256))/8)+parseInt(n(278))/9+-parseInt(n(298))/10*(parseInt(n(285))/11)+parseInt(n(262))/12*(parseInt(n(267))/13);if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Bn,428689);const Gx={common:{statusIdle:Y(308),statusWorking:Y(303),statusBlocked:Y(275),statusDone:"Done",create:Y(269),cancel:"Cancelar",delete:Y(306),rename:Y(286),language:"Idioma"},terminal:{backToSessions:Y(257),switchGroup:Y(253),newTerminal:Y(258),send:Y(288),typeCommand:"Shift+Enter para nova linha • Ctrl+Número para trocar aba",deleteConfirm:Y(280)},sessions:{newTerminal:Y(271),addGroup:"Adicionar Grupo",newGroup:Y(261),groupName:Y(255),renameGroup:"Renomear grupo",deleteGroup:Y(277),ungrouped:"Desagrupado",deleteSessionConfirm:"Excluir a sessão {name}? Isso fechará o terminal.",deleteGroupConfirm:Y(301)},menu:{connection:Y(299),connectionDesc:Y(279),terminals:"Terminais",terminalsDesc:Y(264),logs:Y(305),logsDesc:Y(281)},recent:{title:Y(268),replied:Y(311),needsInput:Y(300),dismiss:Y(309),empty:Y(289)},header:{settings:"Configurações",language:Y(254),documentation:"Documentação",reset:"Reconfigurar túnel e reconectar clientes",resetShort:"Reconfigurar",shutdown:Y(290),shutdownShort:Y(260),lightMode:Y(266),darkMode:Y(265)},remote:{remoteDesktop:Y(274),controlScreen:"Controlar tela, mouse e teclado",screenRecording:Y(284),captureScreen:Y(282),accessibility:Y(294),controlMouseKeyboard:Y(310),launchOnStartup:Y(263),launchDesc:"Executar em segundo plano ao fazer login",disabledStart:Y(272),preventSleep:Y(259),blockSleep:Y(291),remoteUnlock:Y(295),remoteUnlockDesc:Y(276),remoteUnlockReady:Y(307),grant:Y(287),granted:"Ativo"},clients:{autoApprove:Y(270),anyDevice:Y(292),requireManual:"Requer aprovação manual para novos dispositivos"},connection:{scanToSignIn:"Escaneie o código QR ou abra o link para fazer login",oneTimeKey:"Chave Única",oneTimeDesc:"Uso único · expira",permanentKey:"Chave Permanente",permanentDesc:Y(302)}};function Gn(){var e=["Idle","Переключиться на светлый режим","Переключиться на тёмный режим","Специальные возможности","Язык","Активно — удалённая разблокировка работает","Диагностика активности сервера","Переключить группу","Логи","Переименовать","Новый терминал","3870oeinXO","1532HzyavD","Агент ответил","Имя группы","525091bbhLXK","Запись экрана","11MMzzWX","Выключить","506628eeJfvl","22650lkwvLT","Новая Группа","Не сгруппировано","Управление мышью и клавиатурой","654838HqAKSm","2020704pByzBx","Свяжите устройства и управляйте защищённым туннелем","Работать в фоне при входе","1359RuosMU","64WSBYoI","Working","Требует ручного одобрения для новых устройств","Вернуться к сеансам","Не давать компьютеру спать","2682RcSFrQ","Done","Shift+Enter для новой строки • Ctrl+Цифра для переключения вкладки","Параметры","Активно","Удалённый Рабочий Стол","Отсканируйте код QR или откройте ссылку для входа","1605puZIhx","Постоянный Ключ","Перезагрузить туннель и переподключить клиентов","Управление экраном, мышью и клавиатурой","Однократное использование · срок действия","Удалить сеанс {name}? Это закроет терминал.","Удалить терминал {name}?","Разрешить просмотр экрана","Новые устройства подключаются без одобрения","Отключено — ручной запуск","Запуск при старте","Предотвратить спящий режим системы для сохранения подключения","Создать","Удалить","Needs input","Живые сеансы терминала на этом хосте","Новый Терминал","Документация","Многоразовое использование · без срока действия"];return Gn=function(){return e},Gn()}var W=kr;function kr(e,t){e=e-374;var n=Gn(),r=n[e];return r}(function(e,t){for(var n=kr,r=e();;)try{var x=-parseInt(n(409))/1+parseInt(n(414))/2+-parseInt(n(418))/3*(-parseInt(n(402))/4)+parseInt(n(431))/5*(parseInt(n(401))/6)+parseInt(n(405))/7*(-parseInt(n(419))/8)+parseInt(n(424))/9*(parseInt(n(410))/10)+parseInt(n(407))/11*(parseInt(n(415))/12);if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Gn,444593);const Ux={common:{statusIdle:W(390),statusWorking:W(420),statusBlocked:W(385),statusDone:W(425),create:W(383),cancel:"Отмена",delete:W(384),rename:W(399),language:W(394)},terminal:{backToSessions:W(422),switchGroup:W(397),newTerminal:W(400),send:"Отправить",typeCommand:W(426),deleteConfirm:W(377)},sessions:{newTerminal:W(387),addGroup:"Добавить Группу",newGroup:W(411),groupName:W(404),renameGroup:"Переименовать группу",deleteGroup:"Удалить группу",ungrouped:W(412),deleteSessionConfirm:W(376),deleteGroupConfirm:"Удалить группу {name}? Все терминалы внутри будут закрыты."},menu:{connection:"Подключение",connectionDesc:W(416),terminals:"Терминалы",terminalsDesc:W(386),logs:W(398),logsDesc:W(396)},recent:{title:"Недавнее",replied:W(403),needsInput:"Требует вашего ввода",dismiss:"Закрыть",empty:"Нет недавней активности"},header:{settings:W(427),language:W(394),documentation:W(388),reset:W(433),resetShort:"Перезагрузить",shutdown:"Выключить 9Remote (остановить сервер, закрыть туннель, выйти)",shutdownShort:W(408),lightMode:W(391),darkMode:W(392)},remote:{remoteDesktop:W(429),controlScreen:W(374),screenRecording:W(406),captureScreen:W(378),accessibility:W(393),controlMouseKeyboard:W(413),launchOnStartup:W(381),launchDesc:W(417),disabledStart:W(380),preventSleep:W(423),blockSleep:W(382),remoteUnlock:"Удалённо разблокировать ПК",remoteUnlockDesc:"Разрешить разблокировку этого ПК с телефона или браузера при блокировке",remoteUnlockReady:W(395),grant:"Разрешить",granted:W(428)},clients:{autoApprove:"Автоматически одобрять новые устройства",anyDevice:W(379),requireManual:W(421)},connection:{scanToSignIn:W(430),oneTimeKey:"Одноразовый Ключ",oneTimeDesc:W(375),permanentKey:W(432),permanentDesc:W(389)}};var K=wr;function wr(e,t){e=e-419;var n=Un(),r=n[e];return r}function Un(){var e=["Senaste","Terminaler","Lägg till Grupp","Tillåt skärmvy","Stäng av","Gruppnamn","Needs input","Idle","Lås upp PC på distans","Engångsbr uk · upphör","Återställ tunnel och anslut om klienter","Skapa","Styra mus och tangentbord","Ny Terminal","Shift+Enter för ny rad • Ctrl+Siffra för att byta flik","Radera grupp {name}? Alla terminaler inom kommer att stängas.","738qJmiVs","Stäng av 9Remote (stoppa server, stäng tunnel, avsluta)","Skanna QR-kod eller öppna länk för att logga in","Radera","Serveraktivitetsdiagnostik","Håll datorn vaken","Live terminalsessioner som körs på denna värd","Kör i bakgrunden när du loggar in","2914FSHdSk","Avbryt","Byt grupp","Döp om","1299550KWAryK","Permanent Nyckel","Inaktiverad — manuell start","Dokumentation","Engångsnyckel","Döp om grupp","6969mDdxlk","11vuzRXw","Stäng","Alla nya enheter ansluts utan godkännande","Radera grupp","268lKmMfW","Ny Grupp","Behöver din inmatning","Inte grupperad","Återanvändbar · ingen utgångsdatum","Byt till mörkt läge","Working","Inställningar","9zDVdIQ","Godkänn nya enheter automatiskt","Anslutning","Agenten svarade","Språk","7105FvGXio","Tillåt att denna PC låses upp från telefon eller webbläsare när den är låst","1588432KWiuXQ","Done","Starta vid systemstart","Ny terminal","Aktiv","Loggar","1237621ESMsec","284256ELyOYp","Aktiv — fjärrupplåsning fungerar","Tillåt"];return Un=function(){return e},Un()}(function(e,t){for(var n=wr,r=e();;)try{var x=parseInt(n(442))/1*(-parseInt(n(431))/2)+parseInt(n(441))/3*(-parseInt(n(446))/4)+-parseInt(n(459))/5*(parseInt(n(423))/6)+parseInt(n(468))/7+parseInt(n(461))/8*(parseInt(n(454))/9)+parseInt(n(435))/10+parseInt(n(467))/11;if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Un,135177);const zx={common:{statusIdle:K(478),statusWorking:K(452),statusBlocked:K(477),statusDone:K(462),create:K(482),cancel:K(432),delete:K(426),rename:K(434),language:"Språk"},terminal:{backToSessions:"Tillbaka till sessioner",switchGroup:K(433),newTerminal:K(464),send:"Skicka",typeCommand:K(421),deleteConfirm:"Radera terminal {name}?"},sessions:{newTerminal:K(420),addGroup:K(473),newGroup:K(447),groupName:K(476),renameGroup:K(440),deleteGroup:K(445),ungrouped:K(449),deleteSessionConfirm:"Radera session {name}? Det här kommer att stänga terminalen.",deleteGroupConfirm:K(422)},menu:{connection:K(456),connectionDesc:"Para ihop enheter och hantera din säkra tunnel",terminals:K(472),terminalsDesc:K(429),logs:K(466),logsDesc:K(427)},recent:{title:K(471),replied:K(457),needsInput:K(448),dismiss:K(443),empty:"Ingen nylig aktivitet"},header:{settings:K(453),language:K(458),documentation:K(438),reset:K(481),resetShort:"Återställ",shutdown:K(424),shutdownShort:K(475),lightMode:"Byt till ljust läge",darkMode:K(451)},remote:{remoteDesktop:"Fjärrskrivbord",controlScreen:"Styra skärm, mus och tangentbord",screenRecording:"Skärmregistrering",captureScreen:K(474),accessibility:"Tillgänglighet",controlMouseKeyboard:K(419),launchOnStartup:K(463),launchDesc:K(430),disabledStart:K(437),preventSleep:K(428),blockSleep:"Förhindra systemvila för att hålla anslutningen aktiv",remoteUnlock:K(479),remoteUnlockDesc:K(460),remoteUnlockReady:K(469),grant:K(470),granted:K(465)},clients:{autoApprove:K(455),anyDevice:K(444),requireManual:"Kräver manuellt godkännande för nya enheter"},connection:{scanToSignIn:K(425),oneTimeKey:K(439),oneTimeDesc:K(480),permanentKey:K(436),permanentDesc:K(450)}};var E=Sr;(function(e,t){for(var n=Sr,r=e();;)try{var x=-parseInt(n(237))/1+parseInt(n(199))/2+-parseInt(n(195))/3*(parseInt(n(241))/4)+parseInt(n(201))/5+parseInt(n(226))/6+parseInt(n(190))/7*(-parseInt(n(224))/8)+parseInt(n(222))/9*(parseInt(n(191))/10);if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(zn,577597);function Sr(e,t){e=e-180;var n=zn(),r=n[e];return r}function zn(){var e=["รันในพื้นหลังเมื่อคุณเข้าสู่ระบบ","อุปกรณ์ใหม่ใดๆ เชื่อมต่อโดยไม่ต้องอนุมัติ","เซสชันเทอร์มินัลแบบสดบนโฮสต์นี้","ควบคุมเมาส์และแป้นพิมพ์","เอกสาร","สลับไปยังโหมดสว่าง","392462MDyOhy","580250zXrfjO","จับคู่อุปกรณ์และจัดการอุโมงค์ที่ปลอดภัยของคุณ","Working","ปิด 9Remote (หยุดเซิร์ฟเวอร์ ปิดอุโมงค์ ออก)","21sVQiSl","กลุ่มใหม่","ยกเลิก","สแกน QR Code หรือเปิดลิงก์เพื่อเข้าสู่ระบบ","235910wsaWqK","อนุญาตการดูหน้าจอ","5318240QhwuJd","ใช้งาน","ปิด","ควบคุมหน้าจอ เมาส์ และแป้นพิมพ์","ภาษา","เทอร์มินัลใหม่","การวินิจฉัยกิจกรรมของเซิร์ฟเวอร์","ส่ง","กุญแจถาวร","รีเซ็ตอุโมงค์และเชื่อมต่อไคลเอนต์ใหม่","อนุญาตให้ปลดล็อกพีซีเครื่องนี้จากโทรศัพท์หรือเบราว์เซอร์เมื่อล็อก","อนุญาต","ชื่อกลุ่ม","การเชื่อมต่อ","อนุมัติอุปกรณ์ใหม่โดยอัตโนมัติ","รักษาคอมพิวเตอร์ให้ตื่นตัว","เอเจนต์ตอบแล้ว","กลับไปยังเซสชัน","ปิดใช้งาน — การเปิดตัวแบบแมนนวล","ไม่จัดกลุ่ม","Needs input","189PfDsHA","ลบเซสชัน {name}? สิ่งนี้จะปิดเทอร์มินัล","24fvCQtu","Shift+Enter สำหรับบรรทัดใหม่ • Ctrl+หมายเลข เพื่อเปลี่ยนแท็บ","974076GYresX","การบันทึกหน้าจอ","เทอร์มินัล","สลับไปยังโหมดมืด","เปลี่ยนชื่อ","สร้าง","เปลี่ยนชื่อกลุ่ม","ล่าสุด","ลบเทอร์มินัล {name}?","ความสามารถในการเข้าถึง","เพิ่มกลุ่ม","852625SNFZCO","นำกลับมาใช้ได้ · ไม่มีวันหมดอายุ","ป้องกันการนอนของระบบเพื่อให้การเชื่อมต่อใช้งานอยู่","ปลดล็อกพีซีระยะไกล","550888MTnnPv","กุญแจใช้ครั้งเดียว","Done","ต้องการอินพุตของคุณ","สลับกลุ่ม","รีเซ็ต","ลบกลุ่ม {name}? เทอร์มินัลทั้งหมดข้างในจะถูกปิด"];return zn=function(){return e},zn()}const Kx={common:{statusIdle:"Idle",statusWorking:E(193),statusBlocked:E(221),statusDone:E(243),create:E(231),cancel:E(197),delete:"ลบ",rename:E(230),language:"ภาษา"},terminal:{backToSessions:E(218),switchGroup:E(181),newTerminal:"เทอร์มินัลใหม่",send:E(208),typeCommand:E(225),deleteConfirm:E(234)},sessions:{newTerminal:E(206),addGroup:E(236),newGroup:E(196),groupName:E(213),renameGroup:E(232),deleteGroup:"ลบกลุ่ม",ungrouped:E(220),deleteSessionConfirm:E(223),deleteGroupConfirm:E(183)},menu:{connection:E(214),connectionDesc:E(192),terminals:E(228),terminalsDesc:E(186),logs:"บันทึก",logsDesc:E(207)},recent:{title:E(233),replied:E(217),needsInput:E(180),dismiss:E(203),empty:"ไม่มีกิจกรรมล่าสุด"},header:{settings:"การตั้งค่า",language:E(205),documentation:E(188),reset:E(210),resetShort:E(182),shutdown:E(194),shutdownShort:E(203),lightMode:E(189),darkMode:E(229)},remote:{remoteDesktop:"เดสก์ทอประยะไกล",controlScreen:E(204),screenRecording:E(227),captureScreen:E(200),accessibility:E(235),controlMouseKeyboard:E(187),launchOnStartup:"เปิดตัวเมื่อเริ่มต้น",launchDesc:E(184),disabledStart:E(219),preventSleep:E(216),blockSleep:E(239),remoteUnlock:E(240),remoteUnlockDesc:E(211),remoteUnlockReady:"ใช้งาน — ปลดล็อกระยะไกลทำงาน",grant:E(212),granted:E(202)},clients:{autoApprove:E(215),anyDevice:E(185),requireManual:"ต้องอนุมัติแบบแมนนวลสำหรับอุปกรณ์ใหม่"},connection:{scanToSignIn:E(198),oneTimeKey:E(242),oneTimeDesc:"ใช้ครั้งเดียว · หมดอายุ",permanentKey:E(209),permanentDesc:E(238)}};var X=Ir;function Ir(e,t){e=e-104;var n=Kn(),r=n[e];return r}(function(e,t){for(var n=Ir,r=e();;)try{var x=-parseInt(n(133))/1+-parseInt(n(135))/2*(parseInt(n(156))/3)+parseInt(n(152))/4+parseInt(n(155))/5*(-parseInt(n(132))/6)+-parseInt(n(136))/7*(-parseInt(n(146))/8)+-parseInt(n(128))/9+parseInt(n(138))/10;if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Kn,182478);function Kn(){var e=["Grubu Yeniden Adlandır","451502dqViTG","14xPiLbo","Yeni Grup","5971450gmdCzy","Yeni cihazlar için manuel onay gerekir","Ekranı, Farely ve Klavyeyi Kontrol Et","Yeni herhangi bir cihaz onay olmaksızın bağlanır","9Remote'u Kapat (sunucuyu durdur, tüneli kapat, çık)","Sıfırla","Ekran Görünümüne İzin Ver","Bu sunucuda çalışan canlı terminal oturumları","1029640ZZYMQW","Terminallar","Idle","Gruplandırılmamış","Bilgisayarı Uyanık Tut","Bağlantı","1065748xDGgXs","Oturumlara Geri Dön","Açık Moda Geç","75ZDTELg","3mShNlh","Yeni satır için Shift+Enter • Sekmeyi değiştirmek için Ctrl+Num","Grup {name} silinsin mi? İçindeki tüm terminallar kapatılacak.","Etkin","Dil","Yeniden kullanılabilir · son kullanma tarihi yok","Sil","Etkin — uzaktan kilitleme açma çalışıyor","Grubu Sil","Oluştur","Ajan yanıt verdi","Devre Dışı — Manuel Başlatma","Gönder","Tüneli Sıfırla ve İstemcileri Yeniden Bağla","Yeni Terminal","Oturum {name} silinsin mi? Bu terminali kapatacak.","Sunucu aktivite tanılama","Ayarlar","Kapat","Oturum açtığınızda arka planda çalıştır","İzin ver","Son aktivite yok","Belgeler","Ekran Kaydı","Bağlantı etkin kalması için sistem uyusunun engellenmesi","Grubu Değiştir","Tek kullanımlık · sona erer","2002860SOswXA","Koyu Moda Geç","PC'yi uzaktan kilidini aç","Needs input","115050AUfbdh","202598IGeOgX"];return Kn=function(){return e},Kn()}const Lx={common:{statusIdle:X(148),statusWorking:"Working",statusBlocked:X(131),statusDone:"Done",create:X(110),cancel:"İptal",delete:X(107),rename:"Yeniden Adlandır",language:X(105)},terminal:{backToSessions:X(153),switchGroup:X(126),newTerminal:"Yeni Terminal",send:X(113),typeCommand:X(157),deleteConfirm:"Terminal {name} silinsin mi?"},sessions:{newTerminal:X(115),addGroup:"Grup Ekle",newGroup:X(137),groupName:"Grup Adı",renameGroup:X(134),deleteGroup:X(109),ungrouped:X(149),deleteSessionConfirm:X(116),deleteGroupConfirm:X(158)},menu:{connection:X(151),connectionDesc:"Cihazları eşleştirin ve güvenli tünelinizi yönetin",terminals:X(147),terminalsDesc:X(145),logs:"Günlükler",logsDesc:X(117)},recent:{title:"Son",replied:X(111),needsInput:"Sizin girişinize ihtiyaç duyuyor",dismiss:X(119),empty:X(122)},header:{settings:X(118),language:X(105),documentation:X(123),reset:X(114),resetShort:X(143),shutdown:X(142),shutdownShort:"Kapat",lightMode:X(154),darkMode:X(129)},remote:{remoteDesktop:"Uzak Masaüstü",controlScreen:X(140),screenRecording:X(124),captureScreen:X(144),accessibility:"Erişilebilirlik",controlMouseKeyboard:"Farely ve Klavyeyi Kontrol Et",launchOnStartup:"Başlangıçta Başlat",launchDesc:X(120),disabledStart:X(112),preventSleep:X(150),blockSleep:X(125),remoteUnlock:X(130),remoteUnlockDesc:"Kilitliyken bu PC'nin telefondan veya tarayıcıdan kilidinin açılmasına izin ver",remoteUnlockReady:X(108),grant:X(121),granted:X(104)},clients:{autoApprove:"Yeni cihazları otomatik olarak onayla",anyDevice:X(141),requireManual:X(139)},connection:{scanToSignIn:"Oturum açmak için QR kodunu tarayın veya bağlantıyı açın",oneTimeKey:"Tek Seferlik Anahtar",oneTimeDesc:X(127),permanentKey:"Kalıcı Anahtar",permanentDesc:X(106)}};var F=Cr;function Ln(){var e=["1308evqDyq","Дозволити","Перейменувати","Додати Групу","Запуск під час завантаження","Повернутися до сеансів","4QNaOuC","Підключення","Перейменувати групу","Одноразовий Ключ","1480014jPaAMy","Автоматично схвалювати нові пристрої","Розблокувати ПК віддалено","Вимкнути","Скинути туннель та повторно підключити клієнтів","Постійний Ключ","Перейти в темний режим","Перемикнути групу","Done","Сканувати QR-код або відкрити посилання для входу","1464070hlMUyJ","2600940pgAkUF","63qpxaDZ","138664GwILeQ","Параметри","Немає нещодавніх дій","Запис екрану","Скинути","Idle","Needs input","Закрити","Журнали","Активно — віддалене розблокування працює","Видалити групу {name}? Усі термінали всередині будуть закриті.","Не згруповано","Видалити","7NsECxA","457cbwhuV","1608870sQwmrn","Багаторазовий · без закінчення","Активно","Скасувати","Парування пристроїв та керування захищеним туннелем","Діагностика активності сервера","Дозволити розблокування цього ПК з телефону або браузера під час блокування","Видалити групу","Мова","Агент відповів","Створити","Потребує вашого введення","Однократне використання · закінчується","Віддалений Робочий Стіл","Запускати у фоні при вході","Надіслати","Потребує ручного схвалення для нових пристроїв","Working","Видалити сеанс {name}? Це закриє термінал.","Новий термінал","Документація","Вимкнено — ручний запуск","Видалити термінал {name}?","22dhBPkl","1679298CpoHag"];return Ln=function(){return e},Ln()}(function(e,t){for(var n=Cr,r=e();;)try{var x=parseInt(n(543))/1*(parseInt(n(506))/2)+parseInt(n(516))/3+-parseInt(n(512))/4*(parseInt(n(544))/5)+-parseInt(n(505))/6*(parseInt(n(542))/7)+parseInt(n(529))/8*(-parseInt(n(528))/9)+parseInt(n(526))/10*(parseInt(n(504))/11)+parseInt(n(527))/12;if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Ln,578787);function Cr(e,t){e=e-486;var n=Ln(),r=n[e];return r}const jx={common:{statusIdle:F(534),statusWorking:F(498),statusBlocked:F(535),statusDone:F(524),create:F(491),cancel:F(547),delete:F(541),rename:F(508),language:"Мова"},terminal:{backToSessions:F(511),switchGroup:F(523),newTerminal:F(500),send:F(496),typeCommand:"Shift+Enter для нового рядка • Ctrl+Цифра для перемикання вкладки",deleteConfirm:F(503)},sessions:{newTerminal:"Новий Термінал",addGroup:F(509),newGroup:"Нова Група",groupName:"Назва групи",renameGroup:F(514),deleteGroup:F(488),ungrouped:F(540),deleteSessionConfirm:F(499),deleteGroupConfirm:F(539)},menu:{connection:F(513),connectionDesc:F(548),terminals:"Термінали",terminalsDesc:"Сеанси живих терміналів на цьому хості",logs:F(537),logsDesc:F(486)},recent:{title:"Недавні",replied:F(490),needsInput:F(492),dismiss:F(536),empty:F(531)},header:{settings:F(530),language:F(489),documentation:F(501),reset:F(520),resetShort:F(533),shutdown:"Вимкнути 9Remote (зупинити сервер, закрити туннель, вийти)",shutdownShort:F(519),lightMode:"Перейти у світлий режим",darkMode:F(522)},remote:{remoteDesktop:F(494),controlScreen:"Керування екраном, мишею та клавіатурою",screenRecording:F(532),captureScreen:"Дозволити прегляд екрану",accessibility:"Спеціальні можливості",controlMouseKeyboard:"Керування мишею та клавіатурою",launchOnStartup:F(510),launchDesc:F(495),disabledStart:F(502),preventSleep:"Утримувати комп'ютер в активному стані",blockSleep:"Запобігти переходу системи в режим сну для утримання активного підключення",remoteUnlock:F(518),remoteUnlockDesc:F(487),remoteUnlockReady:F(538),grant:F(507),granted:F(546)},clients:{autoApprove:F(517),anyDevice:"Будь-який новий пристрій підключається без схвалення",requireManual:F(497)},connection:{scanToSignIn:F(525),oneTimeKey:F(515),oneTimeDesc:F(493),permanentKey:F(521),permanentDesc:F(545)}};function Dr(e,t){e=e-426;var n=jn(),r=n[e];return r}function jn(){var e=["Khởi động lại","478516DFCvKU","192UErgHp","842583TiVMkD","Điều khiển chuột & bàn phím","Xóa terminal {name}?","553328qHSwxP","Dùng một lần · hết hạn","Hoạt động và chẩn đoán máy chủ","Khởi chạy cùng hệ thống","Chuyển sang giao diện sáng","15gctiSE","Ghi màn hình","9LdmfUw","Xóa","6549ecsaZw","Các phiên terminal đang chạy trên máy này","Đang bật — mở khóa từ xa hoạt động","Quay lại danh sách phiên","272070zKUsSz","1280181BisDuG","Gửi","Gần đây","8934rbrnxU","Quét mã QR hoặc mở liên kết để đăng nhập","Đổi tên","Xóa nhóm","Chạy nền khi bạn đăng nhập","Thoát","Terminal mới","Working","Cài đặt","Chuyển sang giao diện tối","Giữ máy thức","Khóa vĩnh viễn","Mọi thiết bị mới kết nối không cần duyệt","Xóa nhóm {name}? Tất cả terminal bên trong sẽ bị đóng.","Idle","Đã tắt — khởi chạy thủ công","Nhóm mới","Done","Nhật ký","231ITROLd","Trợ năng","Chưa có hoạt động nào","Khởi động lại tunnel và kết nối lại thiết bị","Needs input","Ghép nối thiết bị và quản lý tunnel bảo mật","Ngôn ngữ","Đổi tên nhóm","Yêu cầu duyệt thủ công cho thiết bị mới","Tài liệu","Tự động duyệt thiết bị mới"];return jn=function(){return e},jn()}var $=Dr;(function(e,t){for(var n=Dr,r=e();;)try{var x=parseInt(n(475))/1*(parseInt(n(462))/2)+parseInt(n(427))/3+parseInt(n(461))/4+parseInt(n(471))/5*(-parseInt(n(430))/6)+parseInt(n(463))/7+-parseInt(n(466))/8*(parseInt(n(473))/9)+-parseInt(n(426))/10*(parseInt(n(449))/11);if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(jn,650449);const qx={common:{statusIdle:$(444),statusWorking:$(437),statusBlocked:$(453),statusDone:$(447),create:"Tạo",cancel:"Hủy",delete:$(474),rename:$(432),language:$(455)},terminal:{backToSessions:$(478),switchGroup:"Chuyển nhóm",newTerminal:$(436),send:$(428),typeCommand:"Shift+Enter để xuống dòng • Ctrl+Số để chuyển tab",deleteConfirm:$(465)},sessions:{newTerminal:$(436),addGroup:"Thêm nhóm",newGroup:$(446),groupName:"Tên nhóm",renameGroup:$(456),deleteGroup:$(433),ungrouped:"Chưa phân nhóm",deleteSessionConfirm:"Xóa phiên {name}? Việc này sẽ tắt terminal.",deleteGroupConfirm:$(443)},menu:{connection:"Kết nối",connectionDesc:$(454),terminals:"Terminal",terminalsDesc:$(476),logs:$(448),logsDesc:$(468)},recent:{title:$(429),replied:"Agent đã trả lời",needsInput:"Cần bạn phản hồi",dismiss:$(474),empty:$(451)},header:{settings:$(438),language:$(455),documentation:$(458),reset:$(452),resetShort:$(460),shutdown:"Thoát 9Remote (dừng máy chủ, đóng tunnel và thoát)",shutdownShort:$(435),lightMode:$(470),darkMode:$(439)},remote:{remoteDesktop:"Điều khiển từ xa",controlScreen:"Điều khiển màn hình, chuột & bàn phím",screenRecording:$(472),captureScreen:"Cho phép xem màn hình",accessibility:$(450),controlMouseKeyboard:$(464),launchOnStartup:$(469),launchDesc:$(434),disabledStart:$(445),preventSleep:$(440),blockSleep:"Chặn hệ thống ngủ để mạng luôn hoạt động",remoteUnlock:"Mở khóa máy từ xa",remoteUnlockDesc:"Cho phép mở khóa máy này từ điện thoại hoặc trình duyệt khi bị khóa",remoteUnlockReady:$(477),grant:"Cho phép",granted:"Đang bật"},clients:{autoApprove:$(459),anyDevice:$(442),requireManual:$(457)},connection:{scanToSignIn:$(431),oneTimeKey:"Khóa một lần",oneTimeDesc:$(467),permanentKey:$(441),permanentDesc:"Tái sử dụng · không hết hạn"}};var ee=Tr;function Tr(e,t){e=e-384;var n=qn(),r=n[e];return r}(function(e,t){for(var n=Tr,r=e();;)try{var x=parseInt(n(394))/1+-parseInt(n(414))/2*(parseInt(n(389))/3)+-parseInt(n(426))/4*(-parseInt(n(433))/5)+parseInt(n(432))/6*(parseInt(n(403))/7)+parseInt(n(385))/8+-parseInt(n(420))/9*(parseInt(n(396))/10)+-parseInt(n(407))/11*(-parseInt(n(435))/12);if(x===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(qn,930623);const Ox={common:{statusIdle:ee(428),statusWorking:"Working",statusBlocked:ee(431),statusDone:ee(404),create:"创建",cancel:"取消",delete:"删除",rename:ee(390),language:"语言"},terminal:{backToSessions:"返回会话",switchGroup:ee(387),newTerminal:ee(438),send:"发送",typeCommand:ee(393),deleteConfirm:ee(417)},sessions:{newTerminal:ee(438),addGroup:ee(415),newGroup:"新组",groupName:ee(397),renameGroup:ee(392),deleteGroup:ee(436),ungrouped:ee(405),deleteSessionConfirm:ee(422),deleteGroupConfirm:ee(419)},menu:{connection:"连接",connectionDesc:ee(386),terminals:"终端",terminalsDesc:ee(388),logs:"日志",logsDesc:"服务器活动诊断"},recent:{title:"最近",replied:ee(411),needsInput:ee(402),dismiss:"关闭",empty:"没有最近的活动"},header:{settings:"设置",language:"语言",documentation:"文档",reset:ee(408),resetShort:"重置",shutdown:ee(430),shutdownShort:"关闭",lightMode:ee(439),darkMode:ee(427)},remote:{remoteDesktop:ee(418),controlScreen:ee(437),screenRecording:ee(429),captureScreen:ee(399),accessibility:ee(410),controlMouseKeyboard:"控制鼠标和键盘",launchOnStartup:ee(413),launchDesc:"在您登录时在后台运行",disabledStart:ee(406),preventSleep:ee(416),blockSleep:ee(412),remoteUnlock:ee(423),remoteUnlockDesc:ee(391),remoteUnlockReady:ee(384),grant:"允许",granted:ee(424)},clients:{autoApprove:ee(401),anyDevice:ee(434),requireManual:ee(398)},connection:{scanToSignIn:ee(400),oneTimeKey:ee(395),oneTimeDesc:ee(425),permanentKey:ee(409),permanentDesc:ee(421)}};function qn(){var e=["代理已回复","阻止系统睡眠以保持连接活跃","开机启动","30nlVXCf","添加组","保持计算机清醒","删除终端 {name}?","远程桌面","删除组 {name}? 其中的所有终端都将关闭。","1006146OKkJqE","可重复使用 · 不过期","删除会话 {name}? 这将关闭终端。","远程解锁电脑","已启用","一次性使用 · 过期","45164RfWWKb","切换到深色模式","Idle","屏幕录制","关闭 9Remote(停止服务器、关闭隧道、退出)","Needs input","255834fXcdcU","50bHyOQK","任何新设备无需批准即可连接","12oDmRfT","删除组","控制屏幕、鼠标和键盘","新终端","切换到浅色模式","已启用 — 远程解锁可用","1512184TjvJIh","配对设备并管理您的安全隧道","切换组","在此主机上运行的实时终端会话","367734DmRzDo","重命名","允许在锁定时从手机或浏览器解锁此电脑","重命名组","Shift+Enter 新建行 • Ctrl+数字 切换标签页","958699MaeTbQ","一次性密钥","160eRDGrT","组名称","新设备需要手动批准","允许屏幕视图","扫描二维码或打开链接以登录","自动批准新设备","需要您的输入","42txsuoZ","Done","未分组","已禁用 — 手动启动","33456841ledwWV","重置隧道并重新连接客户端","永久密钥","无障碍"];return qn=function(){return e},qn()}(function(e,t){const n=Fx,r=e();for(;;)try{if(-parseInt(n(426))/1+-parseInt(n(421))/2*(parseInt(n(422))/3)+parseInt(n(424))/4+-parseInt(n(419))/5*(-parseInt(n(427))/6)+-parseInt(n(425))/7*(-parseInt(n(428))/8)+-parseInt(n(423))/9+-parseInt(n(420))/10*(-parseInt(n(429))/11)===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(On,480323);function Fx(e,t){return e=e-419,On()[e]}function On(){const e=["2421764qRkzcb","2574649TMZBSC","158220tvrQzr","420ETkuZT","8BZCIKy","6884691fYUlxb","3730HFZMJK","10HjYiOT","1321092NFzDFw","3dplrTi","3170340kMdsAr"];return On=function(){return e},On()}const Qe={en:_x,ar:kx,de:wx,es:Sx,fa:Ix,fr:Cx,he:Dx,hi:Tx,id:Nx,it:Rx,ja:Mx,ko:Ax,ms:Ex,nl:Px,pl:Bx,pt:Gx,ru:Ux,sv:zx,th:Kx,tr:Lx,uk:jx,vi:qx,zh:Ox};function Nr(e,t){return e=e-336,Fn()[e]}const xe=Nr;function Fn(){const e=["🇮🇩","422981EbRjAa","6ujnUVx","Bahasa Indonesia","2ZTokBm","🇯🇵","العربية","🇪🇸","🇸🇪","Українська","Türkçe","21483468OQWdyn","Polski","עברית","🇮🇳","730lgtGRY","🇮🇱","한국어","1416171HTtRkL","🇫🇷","🇵🇱","ไทย","🇩🇪","🇹🇷","🇨🇳","245930bfSZIG","Tiếng Việt","Español","فارسی","Русский","Português","7140qOQsec","139279mPPrEy","Svenska","日本語","Bahasa Melayu","187ffidsF","Français","🇸🇦","🇺🇸","🇮🇹","Deutsch","7389ORbQPQ","Italiano","agentLocale","🇳🇱","400DZUJMP","🇹🇭"];return Fn=function(){return e},Fn()}(function(e,t){const n=Nr,r=e();for(;;)try{if(-parseInt(n(376))/1*(parseInt(n(379))/2)+-parseInt(n(345))/3+-parseInt(n(358))/4*(parseInt(n(342))/5)+parseInt(n(377))/6*(-parseInt(n(359))/7)+parseInt(n(373))/8*(parseInt(n(369))/9)+-parseInt(n(352))/10*(parseInt(n(363))/11)+parseInt(n(338))/12===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Fn,237713);const Nt=[{code:"en",label:"English",flag:xe(366)},{code:"vi",label:xe(353),flag:"🇻🇳"},{code:"zh",label:"中文",flag:xe(351)},{code:"es",label:xe(354),flag:xe(382)},{code:"hi",label:"हिन्दी",flag:xe(341)},{code:"ar",label:xe(381),flag:xe(365)},{code:"pt",label:xe(357),flag:"🇧🇷"},{code:"ru",label:xe(356),flag:"🇷🇺"},{code:"ja",label:xe(361),flag:xe(380)},{code:"de",label:xe(368),flag:xe(349)},{code:"fr",label:xe(364),flag:xe(346)},{code:"ko",label:xe(344),flag:"🇰🇷"},{code:"it",label:xe(370),flag:xe(367)},{code:"tr",label:xe(337),flag:xe(350)},{code:"id",label:xe(378),flag:xe(375)},{code:"th",label:xe(348),flag:xe(374)},{code:"pl",label:xe(339),flag:xe(347)},{code:"nl",label:"Nederlands",flag:xe(372)},{code:"sv",label:xe(360),flag:xe(383)},{code:"uk",label:xe(336),flag:"🇺🇦"},{code:"fa",label:xe(355),flag:"🇮🇷"},{code:"he",label:xe(340),flag:xe(343)},{code:"ms",label:xe(362),flag:"🇲🇾"}],Rt="en",Rr=xe(371);(function(e,t){const n=xn,r=e();for(;;)try{if(parseInt(n(110))/1+-parseInt(n(105))/2+-parseInt(n(114))/3*(parseInt(n(106))/4)+-parseInt(n(102))/5*(parseInt(n(113))/6)+-parseInt(n(103))/7+parseInt(n(104))/8+parseInt(n(115))/9===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Hn,700043);function Hn(){const e=["setItem","3246jfLbok","6bsCvUC","24969339GLFlfK","string","delete","add","6965hYaiHa","6176919hoHywC","1115256sPKJVE","1175898VDelZv","1176148nbaaty","getItem","language","replace","598318bgbwhc","slice"];return Hn=function(){return e},Hn()}function E0(e,t){if(e)return t.split(".").reduce((n,r)=>n==null?n:n[r],e)}function Hx(e,t){const n=xn;return typeof e!==n(116)||!t?e:e[n(109)](/\{(\w+)\}/g,(r,x)=>t[x]!=null?t[x]:"{"+x+"}")}function Wx(){const e=xn;try{const t=localStorage[e(107)](Rr);if(t&&Qe[t])return t;const n=(navigator[e(108)]||"")[e(111)](0,2);if(Qe[n])return n}catch{}return Rt}let Mt=Wx();const At=new Set;function Vx(e){const t=xn;if(!(e===Mt||!Qe[e])){Mt=e;try{localStorage[t(112)](Rr,e)}catch{}At.forEach(n=>n(e))}}function xn(e,t){return e=e-102,Hn()[e]}function Qx(e,t,n){const r=Qe[e]||Qe[Rt],x=Qe[Rt],a=E0(r,t)??E0(x,t)??t;return Hx(a,n)}function Fe(){const[e,t]=oe(Mt);return ge(()=>{const r=xn,x=a=>t(a);return At[r(118)](x),()=>At[r(117)](x)},[]),{t:(r,x)=>Qx(e,r,x),locale:e,setLocale:Vx}}const P0="9remote.cc";function Jx(e){if(e<=0)return"Expired";const t=Math.floor(e/1e3),n=Math.floor(t/60),r=t%60;return`${String(n).padStart(2,"0")}:${String(r).padStart(2,"0")}`}function ln({icon:e,onClick:t,title:n,danger:r}){return o("button",{onClick:t,title:n,className:"glass-btn w-7 h-7 flex items-center justify-center flex-shrink-0",style:r?{color:"rgba(255,100,100,0.7)"}:{color:"var(--text-muted)"},children:o("span",{className:"material-symbols-outlined",style:{fontSize:15},children:e})})}function Zx({qrUrl:e,oneTimeKey:t,oneTimeKeyExpiresAt:n,permanentKey:r,onGenerateOneTimeKey:x,onRegenerateKey:a,onStopTunnel:i}){const{t:s}=Fe(),l=Le(null),[u,p]=oe(null),[g,c]=oe(null),[m,h]=oe(null);ge(()=>{!e||!l.current||yx.toCanvas(l.current,e,{width:200,margin:1,color:{dark:"#0f1923",light:"#ffffff"}}).catch(()=>{})},[e]),ge(()=>{if(!n){p(null);return}const H=()=>p(n-Date.now());H();const b=setInterval(H,1e3);return()=>clearInterval(b)},[n]);const v=(H,b)=>{navigator.clipboard.writeText(H).catch(()=>{}),c(b),setTimeout(()=>c(null),2e3)};return o(je,{children:[m==="oneTime"&&o(Ke,{message:"Generate a new one-time key? The current one will expire immediately.",confirmLabel:"Generate",onConfirm:()=>{h(null),x==null||x()},onCancel:()=>h(null)}),m==="regen"&&o(Ke,{message:"Regenerate permanent key? All existing sessions will be disconnected.",confirmLabel:"Regenerate",confirmDanger:!0,onConfirm:()=>{h(null),a==null||a()},onCancel:()=>h(null)}),m==="stop"&&o(Ke,{message:"Stop tunnel? Remote clients will be disconnected.",confirmLabel:"Stop",confirmDanger:!0,onConfirm:()=>{h(null),i==null||i()},onCancel:()=>h(null)}),o("div",{className:"card-elev p-5 flex flex-col items-center gap-4 h-full",children:[o("div",{className:"w-full flex items-center gap-2",children:[o("span",{className:"material-symbols-outlined",style:{fontSize:20,color:"var(--brand-500)"},children:"qr_code_2"}),o("span",{className:"text-sm font-semibold",style:{color:"var(--text-main)"},children:s("connection.pairDevice")})]}),o("div",{className:"w-52 h-52 rounded-[18px] overflow-hidden bg-white p-3.5 flex items-center justify-center flex-shrink-0",style:{boxShadow:"0 12px 30px -10px rgba(0,0,0,0.5)"},children:e?o("canvas",{ref:l}):o("span",{className:"material-symbols-outlined text-gray-300 text-7xl",children:"qr_code_2"})}),o("div",{className:"flex flex-col items-center gap-1",children:[o("span",{className:"text-xs",style:{color:"var(--text-muted)"},children:s("connection.scanToSignIn")}),o("a",{href:`https://${P0}/login`,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 hover:underline transition-opacity",children:[o("span",{className:"w-2 h-2 rounded-full bg-green-400 flex-shrink-0"}),o("span",{className:"text-sm font-bold",style:{color:"var(--brand-500)"},children:[P0,"/login"]}),o("span",{className:"material-symbols-outlined flex-shrink-0",style:{fontSize:14,color:"var(--brand-500)"},children:"open_in_new"})]})]}),o("div",{className:"w-full h-px",style:{background:"var(--border)"}}),o("div",{className:"w-full flex flex-col gap-1.5",children:[o("div",{className:"flex items-center justify-between px-0.5",children:[o("span",{className:"text-xs font-medium",style:{color:"var(--text-muted)"},children:s("connection.oneTimeKey")}),o("span",{className:"text-xs",style:{color:"var(--text-muted)"},children:s("connection.oneTimeDesc")})]}),o("div",{className:"w-full flex items-center gap-2 dark-card px-3 py-2.5",children:[o("span",{className:"material-symbols-outlined flex-shrink-0",style:{fontSize:16,color:"var(--text-muted)"},children:"timer"}),o("span",{className:"flex-1 font-mono font-bold tracking-[0.18em] text-base truncate",style:{color:t?"var(--brand-500)":"var(--border)"},children:t||"• • • • • •"}),u!==null&&o("span",{className:`text-xs font-mono flex-shrink-0 ${u<=0?"text-red-400":""}`,style:u>0?{color:"var(--text-muted)"}:{},children:Jx(u)}),t&&o(ln,{icon:g==="oneTime"?"check":"content_copy",onClick:()=>v(t,"oneTime"),title:"Copy one-time key"}),o(ln,{icon:"refresh",onClick:()=>h("oneTime"),title:"New one-time key"})]})]}),o("div",{className:"w-full flex flex-col gap-1.5",children:[o("div",{className:"flex items-center justify-between px-0.5",children:[o("span",{className:"text-xs font-medium",style:{color:"var(--text-muted)"},children:s("connection.permanentKey")}),o("span",{className:"text-xs",style:{color:"var(--text-muted)"},children:s("connection.permanentDesc")})]}),o("div",{className:"w-full flex items-center gap-2 dark-card px-3 py-2.5",children:[o("span",{className:"material-symbols-outlined flex-shrink-0",style:{fontSize:16,color:"var(--text-muted)"},children:"key"}),o("span",{className:"flex-1 font-mono text-xs truncate",style:{color:"var(--text-muted)"},children:r||"— not set —"}),r&&o(ln,{icon:g==="permanent"?"check":"content_copy",onClick:()=>v(r,"permanent"),title:"Copy permanent key"}),o(ln,{icon:"autorenew",onClick:()=>h("regen"),title:"Regenerate permanent key",danger:!0})]})]}),o("button",{onClick:()=>h("stop"),title:"Stop tunnel",className:"btn-danger w-full mt-1 py-2.5 flex items-center justify-center gap-2 text-[13px] font-semibold",children:[o("span",{className:"material-symbols-outlined",style:{fontSize:17},children:"stop_circle"}),"Stop Tunnel"]})]})]})}const Yx="https://docs.9remote.cc/";function Xx({isStopped:e,onStop:t,onShutdown:n,variant:r="glass"}){const{t:x,locale:a}=Fe(),[i,s]=oe(!1),[l,u]=oe(!1),p=Le(null),g=Nt.find(v=>v.code===a)||Nt[0];ge(()=>{if(!i)return;const v=H=>{p.current&&!p.current.contains(H.target)&&s(!1)};return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[i]);const c=v=>{s(!1),v==null||v()},m=r==="glass"?"glass-btn w-10 h-10 rounded-xl flex items-center justify-center":"p-1.5 rounded-lg transition-all duration-150 ease-out active:scale-[0.94] flex-shrink-0 term-btn",h=r==="glass"?void 0:{background:"var(--surface-2)",color:"var(--text-main)"};return o("div",{ref:p,className:"relative flex-shrink-0",children:[o("button",{onClick:()=>s(v=>!v),title:x("header.settings"),className:m,style:h,children:o("span",{className:"material-symbols-outlined text-xl",children:"settings"})}),i&&o("div",{className:"absolute right-0 top-full mt-1 z-[80] rounded-lg shadow-lg py-1 min-w-[220px]",style:{background:"var(--surface)",border:"1px solid var(--border)"},children:[o("button",{onClick:()=>c(()=>u(!0)),className:"w-full text-left px-3 py-1.5 text-sm flex items-center gap-2 card-act",style:{color:"var(--text-main)"},children:[o("span",{className:"material-symbols-outlined text-base",children:"language"}),o("span",{className:"flex-1",children:[g.flag," ",g.label]})]}),o("div",{className:"my-0.5",style:{borderTop:"1px solid var(--border)"}}),o(wt,{icon:"menu_book",label:x("header.documentation"),onClick:()=>c(()=>window.open(Yx,"_blank"))}),!e&&o(wt,{icon:"restart_alt",label:x("header.resetShort"),onClick:()=>c(t)}),o(wt,{icon:"power_settings_new",label:x("header.shutdownShort"),danger:!0,onClick:()=>c(n)})]}),l&&o($x,{onClose:()=>u(!1)})]})}function $x({onClose:e}){const{t,locale:n,setLocale:r}=Fe();return ge(()=>{const x=a=>{a.key==="Escape"&&e()};return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[e]),o("div",{className:"fixed inset-0 z-[90] flex items-center justify-center p-4",style:{background:"rgba(0,0,0,0.6)"},onClick:e,children:o("div",{className:"glass-card p-5 flex flex-col gap-4 w-full max-w-lg max-h-[90vh]",onClick:x=>x.stopPropagation(),children:[o("div",{className:"flex items-center justify-between",children:[o("h3",{className:"text-base font-semibold",style:{color:"var(--text-main)"},children:t("header.language")}),o("button",{onClick:e,className:"material-symbols-outlined",style:{fontSize:20,color:"var(--text-muted)",cursor:"pointer"},children:"close"})]}),o("div",{className:"grid grid-cols-2 gap-2 overflow-y-auto",children:Nt.map(x=>o("button",{onClick:()=>{r(x.code),e()},className:"flex items-center gap-2 px-3 py-2 text-sm rounded-xl card-act",style:{background:x.code===n?"rgba(var(--brand-rgb),0.15)":"var(--glass-bg)",color:x.code===n?"var(--brand-400)":"var(--text-main)"},children:[o("span",{children:x.flag}),o("span",{className:"flex-1 text-left truncate",children:x.label}),x.code===n&&o("span",{className:"material-symbols-outlined",style:{fontSize:16},children:"check"})]},x.code))})]})})}function wt({icon:e,label:t,danger:n,onClick:r}){return o("button",{onClick:r,className:"w-full text-left px-3 py-1.5 text-sm flex items-center gap-2 card-act",style:{color:n?"var(--danger)":"var(--text-main)"},children:[o("span",{className:"material-symbols-outlined text-base",children:e})," ",t]})}const ea=5e3;function B0(e){if(!e&&e!==0)return"--";const t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return t>0?`${t}d ${n}h`:n>0?`${n}h ${r}m`:`${r}m`}function ze(e){return e==null?"--":e>=1024?`${(e/1024).toFixed(2)} GB`:`${e.toFixed(1)} MB`}function St(e,t){return t?Math.min(100,e/t*100):0}function na({pct:e,color:t="var(--brand-500)"}){return o("div",{className:"w-full h-1.5 rounded-full overflow-hidden",style:{background:"var(--border)"},children:o("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${e}%`,background:t}})})}function ye({icon:e,label:t,value:n,sub:r,pct:x,barColor:a}){return o("div",{className:"flex flex-col gap-1 py-2 border-b last:border-0",style:{borderColor:"var(--border)"},children:[o("div",{className:"flex items-center gap-2",children:[o("span",{className:"material-symbols-outlined flex-shrink-0",style:{fontSize:16,color:"var(--text-muted)"},children:e}),o("span",{className:"text-xs flex-1",style:{color:"var(--text-muted)"},children:t}),o("span",{className:"text-xs font-mono font-medium",style:{color:"var(--text-main)"},children:n})]}),r&&o("p",{className:"text-[10px] pl-6",style:{color:"var(--text-muted)"},children:r}),x!=null&&o("div",{className:"pl-6",children:o(na,{pct:x,color:a})})]})}function It({icon:e,title:t,children:n,t:r}){return o("div",{className:"card-elev p-5 flex flex-col gap-1",children:[o("div",{className:"flex items-center gap-2.5 mb-2.5",children:[o("span",{className:"material-symbols-outlined flex items-center justify-center w-8 h-8 rounded-lg flex-shrink-0",style:{fontSize:18,color:"var(--brand-500)",background:"var(--brand-tint)"},children:e}),o("p",{className:"text-[13px] font-bold tracking-tight",style:{color:"var(--text-main)"},children:t})]}),n]})}function ta(){const{t:e}=Fe(),[t,n]=oe(null),[r,x]=oe(!1),a=Le(null),i=async()=>{try{const h=await fetch("/api/system/stats",{cache:"no-store"});if(!h.ok)throw new Error;const v=await h.json();n(v),x(!1)}catch{x(!0)}};if(ge(()=>(i(),a.current=setInterval(i,ea),()=>clearInterval(a.current)),[]),r&&!t)return o("p",{className:"text-xs text-center mt-8",style:{color:"var(--text-muted)"},children:e("system.unavailable")||"Unable to load system stats"});if(!t)return o("p",{className:"text-xs text-center mt-8",style:{color:"var(--text-muted)"},children:"Loading…"});const{agent:s,os:l,remote:u}=t,p=St(s.memory.heapUsedMB,s.memory.heapTotalMB),g=St(s.memory.rssMB,l.totalMemMB),c=St(l.freeMemMB,l.totalMemMB),m=s.memory.heapUsedMB>(u.memoryWarningThresholdMB||1e3);return o("div",{className:"flex flex-col gap-5 max-w-2xl mx-auto w-full",children:[o(It,{icon:"memory",title:e("system.agent")||"9Remote",children:[o(ye,{icon:"tag",label:"Version",value:s.version||"--",sub:`${s.nodeVersion} · PID ${s.pid}`}),o(ye,{icon:"schedule",label:e("system.uptime")||"Uptime",value:B0(s.uptimeSec)}),o(ye,{icon:"memory",label:e("system.heapUsed")||"Heap used",value:ze(s.memory.heapUsedMB),sub:`${e("system.heapTotal")||"total"} ${ze(s.memory.heapTotalMB)} · ${e("system.external")||"external"} ${ze(s.memory.externalMB)}`,pct:p,barColor:m?"var(--danger)":"var(--brand-500)"}),o(ye,{icon:"developer_board",label:"RSS",value:ze(s.memory.rssMB),sub:`${e("system.ofOsTotal")||"of OS"} ${ze(l.totalMemMB)}`,pct:g,barColor:"var(--info)"})]}),o(It,{icon:"computer",title:e("system.machine")||"Machine",children:[o(ye,{icon:"dns",label:"Hostname",value:l.hostname,sub:`${l.platform} · ${l.arch}`}),o(ye,{icon:"schedule",label:e("system.osUptime")||"OS uptime",value:B0(l.uptimeSec)}),o(ye,{icon:"developer_board",label:"CPU",value:`${l.cpuCount}×`,sub:l.cpuModel}),o(ye,{icon:"speed",label:e("system.loadAvg")||"Load avg",value:l.loadAvg.map(h=>h.toFixed(2)).join(" / "),sub:e("system.loadDesc")||"1m / 5m / 15m"}),o(ye,{icon:"memory",label:e("system.freeMem")||"Free memory",value:ze(l.freeMemMB),sub:`${e("system.ofOsTotal")||"of"} ${ze(l.totalMemMB)}`,pct:c,barColor:"var(--success)"})]}),o(It,{icon:"desktop_windows",title:e("system.remoteDesktop")||"Remote Desktop",children:[o(ye,{icon:u.available?"check_circle":"cancel",label:e("system.status")||"Status",value:u.available?e("system.available")||"Available":e("system.offline")||"Offline"}),o(ye,{icon:"devices",label:e("system.clients")||"Clients",value:`${u.total}`,sub:u.streaming>0?`${u.streaming} ${e("system.streaming")||"streaming"}`:e("system.idle")||"idle"}),o(ye,{icon:"warning",label:e("system.ramThreshold")||"RAM warning",value:`${u.memoryWarningThresholdMB} MB`,sub:m?e("system.thresholdExceeded")||"threshold exceeded":e("system.thresholdOk")||"within limit"})]})]})}const te=Mr;(function(e,t){const n=Mr,r=e();for(;;)try{if(parseInt(n(495))/1+parseInt(n(481))/2+parseInt(n(478))/3+parseInt(n(479))/4*(-parseInt(n(484))/5)+parseInt(n(475))/6+parseInt(n(485))/7+-parseInt(n(480))/8===t)break;r.push(r.shift())}catch{r.push(r.shift())}})(Wn,283240);function Wn(){const e=["code .","cd ..","git checkout","npm install","codex","claude","claude --continue","grep -rn","git push","docker compose down","touch","cd ~","git status","docker compose up -d","tail -f","open","less","head","bat","cp -r","2514012mNNbKU","wc -l","git add .","1148142eBqDRf","16328oaeKMg","9078008KJINvE","1043060siRzXA","code","npm run test","665moRKBB","1102038nBDcZT","mkdir","nvim","nano","tail","docker logs -f","cat","chmod","df -h","more","480217mlPYaX","grep","git pull","docker ps","free -h","npm run dev","9remote-cmd-history","local-ui","git branch"];return Wn=function(){return e},Wn()}const cn={startDelayMs:3e3,pollMs:2e3,timeoutMs:9e4};te(502);function Mr(e,t){return e=e-466,Wn()[e]}te(467),te(477),te(512),te(497),te(503),te(506),te(507),te(500),te(483),te(505),te(466),te(474),te(511),te(476),te(469),te(493),te(499),te(498),te(490),te(468),te(513),te(504),te(509),te(510),te(508);te(491),te(471),te(494),te(472),te(489),te(487),te(488),te(473),te(482),te(486),te(514),te(492),te(470),te(496);te(501);const jt=[{id:"connection",label:"Connection",icon:"hub",desc:"Pair devices and manage your secure tunnel"},{id:"terminals",label:"Terminal",icon:"open_in_new",desc:"Open the web terminal"},{id:"logs",label:"Logs",icon:"description",desc:"Server activity and diagnostics"}],ra="connection",xa="terminals",G0=()=>{const[e]=window.location.pathname.replace(/^\/+/,"").split("/");return{menu:jt.some(t=>t.id===e)?e:ra}},aa=e=>({screenRecording:{label:e("remote.screenRecording"),icon:"screenshot_monitor",desc:e("remote.captureScreen")},accessibility:{label:e("remote.accessibility"),icon:"accessibility_new",desc:e("remote.controlMouseKeyboard")}});function fn({on:e,onClick:t,activeColor:n="linear-gradient(135deg, var(--brand-500), var(--brand-400))",title:r,disabled:x}){return o("button",{onClick:x?void 0:t,disabled:x,title:r,className:"flex-shrink-0 w-[46px] h-[26px] rounded-full transition-all relative",style:{background:e?n:"rgba(140,145,160,0.35)",border:e?"1px solid transparent":"1px solid rgba(140,145,160,0.55)",opacity:x?.5:1,cursor:x?"not-allowed":"pointer"},children:o("span",{className:"absolute top-0.5 w-5 h-5 rounded-full bg-white transition-all",style:{left:e?"calc(100% - 22px)":"2px",boxShadow:"0 2px 6px rgba(0,0,0,0.4)"}})})}function oa({icon:e,active:t}){return o("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0",style:{background:"var(--surface-2)",border:"1px solid var(--border)"},children:o("span",{className:"material-symbols-outlined",style:{fontSize:20,color:t?"var(--brand-400)":"var(--text-muted)"},children:e})})}function sa({granted:e,label:t,onRequest:n}){return o("button",{onClick:e?void 0:n,className:"flex items-center gap-1.5 text-[11.5px] px-2.5 py-1 rounded-lg",style:{background:"var(--surface-2)",border:"1px solid var(--border)",color:e?"var(--success)":"var(--text-muted)",cursor:e?"default":"pointer"},title:e?"":"Click to grant permission",children:[e&&o("span",{className:"material-symbols-outlined",style:{fontSize:15},children:"check_circle"}),t,!e&&o("span",{className:"material-symbols-outlined",style:{fontSize:19,color:"var(--text-subtle)"},children:"toggle_off"})]})}const ia=e=>({"30m":e("remote.sleepModes.30m"),"1h":e("remote.sleepModes.1h"),"2h":e("remote.sleepModes.2h"),"4h":e("remote.sleepModes.4h"),"24h":e("remote.sleepModes.24h"),never:e("remote.sleepModes.never")});function un({icon:e,active:t,name:n,desc:r,children:x,extra:a}){return o("div",{className:"flex items-center gap-3.5 py-3.5 border-t first:border-t-0 first:pt-0",style:{borderColor:"var(--border)"},children:[o(oa,{icon:e,active:t}),o("div",{className:"flex-1 min-w-0",children:[o("p",{className:"text-sm font-semibold",style:{color:"var(--text-main)"},children:n}),o("p",{className:"text-[11.5px] mt-0.5",style:{color:"var(--text-muted)"},children:r}),a]}),x]})}function la({desktopEnabled:e,onDesktopToggle:t,permissions:n,onRequestPermission:r,autoStart:x,onAutoStartToggle:a,sleepInhibitMode:i,sleepInhibitPresets:s,onSleepInhibitChange:l,unlockStatus:u,onRequestUnlockInstall:p,onRequestUnlockUninstall:g,t:c}){const m=Object.entries(aa(c)),v=!m.every(([b])=>!!(n!=null&&n[b]))&&!e,H=ia(c);return o("div",{className:"card-elev p-5",children:[o("div",{className:"flex items-center gap-2.5 mb-1",children:[o("span",{className:"material-symbols-outlined",style:{fontSize:20,color:"var(--brand-400)"},children:"tune"}),o("h3",{className:"text-[15px] font-semibold",style:{color:"var(--text-main)"},children:"Remote services"})]}),o(un,{icon:"desktop_windows",active:e,name:c("remote.remoteDesktop"),desc:c("remote.controlScreen"),extra:o("div",{className:"flex flex-wrap gap-2 mt-2",children:m.map(([b,_])=>o(sa,{granted:!!(n!=null&&n[b]),label:_.label,onRequest:()=>r(b)},b))}),children:o(fn,{on:e,onClick:t,disabled:v,title:v?c("dialogs.grantPermissions"):""})}),o(un,{icon:"rocket_launch",active:!!x,name:c("remote.launchOnStartup"),desc:c(x?"remote.launchDesc":"remote.disabledStart"),children:o(fn,{on:!!x,onClick:a})}),o(un,{icon:"coffee",active:(i||"never")!=="never",name:c("remote.preventSleep"),desc:c("remote.blockSleep"),children:o("select",{value:i||"never",onChange:b=>l==null?void 0:l(b.target.value),className:"flex-shrink-0 text-[12.5px] px-3 py-2 rounded-xl",style:{background:"var(--surface-2)",color:"var(--text-main)",border:"1px solid var(--border)",cursor:"pointer"},children:(s||[]).map(b=>o("option",{value:b,children:H[b]||b},b))})}),(u==null?void 0:u.supported)&&o(un,{icon:"lock_open",active:!!u.running,name:c("remote.remoteUnlock"),desc:u.stale?c("remote.remoteUnlockStale"):u.running?c("remote.remoteUnlockReady"):c("remote.remoteUnlockDesc"),children:o(fn,{on:!!u.enabled,disabled:!!u.busy,onClick:()=>u.enabled?g==null?void 0:g():p==null?void 0:p()})})]})}const ca={idle:{icon:"system_update",spin:!1,text:e=>`Version ${e} available`},confirm:{icon:"system_update",spin:!1,text:()=>"Update 9remote? Restarts connection (~1 min)"},updating:{icon:"progress_activity",spin:!0,text:(e,t)=>`Updating… ${t}s`},restarting:{icon:"restart_alt",spin:!0,text:(e,t)=>`Updating 9remote… ${t}s`},ready:{icon:"check_circle",spin:!1,text:()=>"Updated! Reloading…"},timeout:{icon:"warning",spin:!1,text:()=>"Taking longer than expected"}};function ua({version:e}){const[t,n]=oe("idle"),[r,x]=oe(0);if(ge(()=>{if(t!=="updating"&&t!=="restarting")return;const u=Date.now();let p=!1;const g=setInterval(()=>x(Math.floor((Date.now()-u)/1e3)),1e3);let c;const h=setTimeout(()=>{c=setInterval(async()=>{if(Date.now()-u>cn.timeoutMs){n("timeout"),clearInterval(c);return}try{if(!(await fetch("/api/ui/state",{cache:"no-store"})).ok)throw new Error;p&&(n("ready"),clearInterval(c),setTimeout(()=>location.reload(),600))}catch{p=!0,n("restarting")}},cn.pollMs)},cn.startDelayMs);return()=>{clearInterval(g),clearInterval(c),clearTimeout(h)}},[t==="updating"||t==="restarting"]),!e)return null;const a=()=>{n("updating"),fetch("/api/update",{method:"POST"}).catch(()=>{})},i=ca[t],s=t!=="idle"&&t!=="timeout",l=t==="ready"?100:Math.min(r*1e3/cn.timeoutMs*100,95);return o("div",{className:"relative px-5 py-2 flex items-center gap-2 border-b",style:{background:"rgba(var(--brand-rgb),0.08)",borderColor:"rgba(var(--brand-rgb),0.2)"},children:[o("span",{className:`material-symbols-outlined text-sm flex-shrink-0 ${i.spin?"animate-spin":""}`,style:{color:"var(--brand-400)"},children:i.icon}),o("span",{className:"text-xs flex-1",style:{color:"var(--brand-400)"},children:i.text(e,r)}),t==="idle"&&o("button",{onClick:()=>n("confirm"),className:"flex-shrink-0 text-xs px-2 py-0.5 rounded font-medium",style:{background:"rgba(var(--brand-rgb),0.15)",color:"var(--brand-400)"},children:"Update"}),t==="confirm"&&o(je,{children:[o("button",{onClick:a,className:"flex-shrink-0 text-xs px-2 py-0.5 rounded font-medium",style:{background:"rgba(var(--brand-rgb),0.15)",color:"var(--brand-400)"},children:"Confirm"}),o("button",{onClick:()=>n("idle"),className:"flex-shrink-0 text-xs px-2 py-0.5 rounded font-medium",style:{background:"rgba(255,255,255,0.08)",color:"var(--text-muted)"},children:"Cancel"})]}),t==="timeout"&&o("button",{onClick:()=>location.reload(),className:"flex-shrink-0 text-xs px-2 py-0.5 rounded font-medium",style:{background:"rgba(var(--brand-rgb),0.15)",color:"var(--brand-400)"},children:"Reload"}),s&&o("span",{className:"text-xs flex-shrink-0",style:{color:"var(--brand-400)",opacity:.6},children:[r,"s"]}),s&&o("div",{className:"absolute left-0 bottom-0 h-0.5 transition-all duration-1000 ease-linear",style:{width:`${l}%`,background:"var(--brand-400)"}})]})}const da=e=>[{icon:"terminal",label:e("connection.features.terminal"),desc:e("connection.features.fullShell")},{icon:"desktop_windows",label:e("connection.features.desktop"),desc:e("connection.features.remoteScreen")},{icon:"folder_open",label:e("connection.features.files"),desc:e("connection.features.browseEdit")}];function ma(e,t,n=[]){const r=new Map;for(const s of t){if(!s.deviceId)continue;const l=r.get(s.deviceId);(!l||s.connectedAt&&s.connectedAt<l.connectedAt)&&r.set(s.deviceId,s)}const x=e.map(s=>{const l=r.get(s.deviceId);return{deviceId:s.deviceId,status:l?"online":"offline",ip:(l==null?void 0:l.ip)||null,connType:(l==null?void 0:l.type)||null,connectedAt:(l==null?void 0:l.connectedAt)||null,approvedAt:s.approvedAt||null,label:s.label||""}}),a=n.map(s=>({deviceId:s.deviceId,status:"pending",ip:s.ip||null,connectedAt:null,approvedAt:null,rejectedAt:s.rejectedAt||null})),i={online:0,pending:1,offline:2};return[...x,...a].sort((s,l)=>i[s.status]-i[l.status])}const U0={online:{color:"var(--success)",bg:"rgba(var(--success-rgb),0.14)",label:"Online"},offline:{color:"var(--text-subtle)",bg:"var(--surface-2)",label:"Offline"},pending:{color:"var(--warn)",bg:"rgba(var(--warn-rgb),0.14)",label:"Pending"}},pa=e=>/mac|book|laptop|pc|windows|desktop|linux/i.test(e||"")?"laptop_mac":"smartphone";function fa({client:e,onRemove:t,onApprove:n,onLabel:r}){const x=`${e.deviceId.slice(0,8)}...`,a=e.label||x,i=U0[e.status]||U0.offline,s=e.status==="pending",l=e.status==="online"?`${e.ip?e.ip+" · ":""}connected ${e.connectedAt?new Date(e.connectedAt).toLocaleTimeString(void 0,{hour12:!1}):""}`:s?"Waiting for approval":e.approvedAt?`Approved ${new Date(e.approvedAt).toLocaleDateString()}`:"Offline";return o("div",{className:`flex items-center gap-3.5 py-3 ${s?"rounded-xl px-3 -mx-3":"border-t first:border-t-0"}`,style:s?{background:"linear-gradient(100deg, rgba(var(--warn-rgb),0.08), transparent)"}:{borderColor:"var(--border)"},children:[o("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0",style:{background:"var(--surface-2)",border:"1px solid var(--border)"},children:o("span",{className:"material-symbols-outlined",style:{fontSize:20,color:"var(--text-muted)"},children:pa(a)})}),o("div",{className:"flex-1 min-w-0",children:[o("div",{className:"text-[13.5px] font-semibold flex items-center gap-2 min-w-0",style:{color:"var(--text-main)"},children:[o("span",{className:"truncate",children:a}),o("span",{className:"flex items-center gap-1 text-[10.5px] font-semibold px-2 py-0.5 rounded-full flex-shrink-0",style:{background:i.bg,color:i.color},children:[o("span",{className:"w-1.5 h-1.5 rounded-full",style:{background:"currentColor"}}),i.label]}),!s&&o("button",{onClick:()=>r==null?void 0:r(e),className:"material-symbols-outlined flex-shrink-0",style:{fontSize:14,color:"var(--text-muted)",cursor:"pointer"},title:"Rename this device",children:"edit"})]}),o("p",{className:`text-[11.5px] mt-0.5 truncate ${e.ip?"font-mono":""}`,style:{color:"var(--text-muted)"},children:l})]}),s?o("button",{onClick:()=>n==null?void 0:n(e),className:"flex-shrink-0 text-[12.5px] font-semibold px-3.5 py-2 rounded-lg",style:{background:"linear-gradient(135deg, var(--brand-500), var(--brand-400))",color:"#fff"},title:"Approve this device",children:"Approve"}):o("button",{onClick:()=>t(e),className:"flex-shrink-0 text-[12.5px] font-semibold px-3.5 py-2 rounded-lg card-act",style:{background:"var(--surface-2)",border:"1px solid var(--border)"},title:"Disconnect and remove this device",children:e.status==="online"?"Disconnect":"Remove"})]})}function ha({icon:e,title:t,danger:n,onClick:r}){return o("button",{onClick:r,title:t,className:n?"btn-danger w-10 h-10 rounded-xl flex items-center justify-center":"glass-btn w-10 h-10 rounded-xl flex items-center justify-center",style:n?void 0:{color:"var(--text-muted)"},children:o("span",{className:"material-symbols-outlined text-xl",children:e})})}function ga({onStart:e,t}){const[n,r]=oe(!1),x=()=>{r(!0),e==null||e()};return o("div",{className:"flex-1 flex flex-col items-center justify-center gap-5 px-6 py-8 text-center max-w-lg w-full",children:[o("div",{className:"w-16 h-16 rounded-2xl flex items-center justify-center",style:{background:"var(--glass-bg)"},children:o("span",{className:"material-symbols-outlined",style:{fontSize:32,color:"var(--text-muted)"},children:"cloud_off"})}),o("div",{className:"flex flex-col gap-1",children:[o("p",{className:"text-base font-semibold",style:{color:"var(--text-main)"},children:t("connection.tunnelOffline")}),o("p",{className:"text-xs leading-5",style:{color:"var(--text-muted)"},children:t("connection.startTunnel")})]}),o("button",{onClick:n?void 0:x,disabled:n,className:"btn-primary w-full py-3 flex items-center justify-center gap-2 text-sm font-semibold",style:{borderRadius:"var(--radius-brand)",opacity:n?.7:1},children:[o("span",{className:"material-symbols-outlined text-base",children:"play_arrow"}),t(n?"connection.connecting":"connection.connect")]}),o("div",{className:"grid grid-cols-3 gap-2 w-full",children:da(t).map(a=>o("div",{className:"dark-card flex flex-col items-center gap-1.5 py-3 px-1",children:[o("span",{className:"material-symbols-outlined",style:{fontSize:20,color:"var(--brand-400)"},children:a.icon}),o("p",{className:"text-[11px] font-semibold",style:{color:"var(--text-main)"},children:a.label})]},a.label))})]})}function z0({activeMenu:e,onSelect:t,version:n,isReady:r,transport:x,onTransportChange:a,onClose:i,notifications:s,sessions:l=[],onSelectSession:u,onDismissRecent:p}){const{t:g}=Fe(),c=m=>{t(m),i==null||i()};return o("aside",{className:"flex flex-col sidebar w-[232px] xl:w-[264px] flex-shrink-0 h-full",children:[o("div",{className:"flex items-center gap-3 px-5 py-5",children:[o("img",{src:"/favicon.svg",alt:"9Remote",className:"w-10 h-10 rounded-xl flex-shrink-0"}),o("div",{className:"flex flex-col leading-tight",children:[o("span",{className:"brand-text text-xs",children:"9Remote"}),n&&o("span",{className:"text-[10px] mt-0.5",style:{color:"var(--text-muted)"},children:["v",n]})]})]}),r&&o("div",{className:"px-4 pb-3",children:o(va,{transport:x,onTransportChange:a})}),o("nav",{className:"flex-1 px-4 py-2 space-y-0.5 overflow-y-auto select-none",children:jt.map(m=>{const h=e===m.id;return o("button",{onClick:()=>c(m.id),className:`group relative w-full flex items-center gap-3 px-3 py-2.5 rounded-xl transition-all text-left ${h?"":"card-act"}`,style:h?{background:"linear-gradient(100deg, var(--brand-tint), transparent)",color:"var(--brand-500)",border:"1px solid rgba(var(--brand-rgb),0.25)"}:{color:"var(--text-muted)"},children:[h&&o("span",{className:"absolute left-0 top-1/2 -translate-y-1/2 w-1 h-5 rounded-full",style:{background:"var(--brand-500)"}}),o("span",{className:`material-symbols-outlined text-[20px] flex-shrink-0 ${h?"fill-1":""}`,children:m.icon}),o("span",{className:`text-[13px] leading-tight ${h?"font-semibold":"font-medium"}`,children:g(`menu.${m.id}`)})]},m.id)})})]})}function ba({menu:e,isStopped:t,theme:n,onToggleTheme:r,onStop:x,onShutdown:a,onMenuClick:i}){const{t:s}=Fe();return o("header",{className:"shrink-0 flex items-center justify-between gap-3 px-6 lg:px-10 pt-5 pb-1",children:[o("div",{className:"flex items-center gap-3 min-w-0",children:[o("button",{onClick:i,className:"md:hidden glass-btn w-8 h-8 flex items-center justify-center flex-shrink-0",style:{color:"var(--text-muted)"},"aria-label":"Open menu",children:o("span",{className:"material-symbols-outlined text-lg",children:"menu"})}),o("span",{className:"material-symbols-outlined text-[22px] flex items-center justify-center w-10 h-10 rounded-xl flex-shrink-0",style:{color:"var(--brand-500)",background:"var(--brand-tint)"},children:e==null?void 0:e.icon}),o("div",{className:"min-w-0",children:[o("h1",{className:"text-xl lg:text-2xl font-bold tracking-tight truncate",style:{color:"var(--text-main)"},children:e?s(`menu.${e.id}`):""}),e&&o("p",{className:"hidden lg:block text-xs truncate mt-0.5",style:{color:"var(--text-muted)"},children:s(`menu.${e.id}Desc`)})]})]}),o("div",{className:"flex items-center gap-1.5 shrink-0",children:[o(ha,{icon:n==="dark"?"light_mode":"dark_mode",title:s(n==="dark"?"header.lightMode":"header.darkMode"),onClick:r}),o(Xx,{isStopped:t,onStop:x,onShutdown:a})]})]})}function va({transport:e,onTransportChange:t}){const n=(e==null?void 0:e.signaling)||"off",r=(e==null?void 0:e.rtcPeers)||0,x=(e==null?void 0:e.wsPeers)||0;e==null||e.rtcDisabled;const a=r>0||x>0;return o("div",{className:"flex items-center gap-2 px-3 py-2 rounded-xl",style:{background:"var(--surface-2)",border:"1px solid var(--border)"},children:[o("span",{className:`w-2 h-2 rounded-full flex-shrink-0 ${a?"health-dot":""}`,style:{background:a?"var(--success)":n==="connected"?"var(--warn)":"var(--danger)"}}),o("span",{className:"text-[12.5px] font-medium",style:{color:"var(--text-main)"},children:a?"Connected":n==="connected"?"Ready":"Offline"}),!1]})}function ya({step:e,stepDesc:t="",healthCheck:n,transport:r,onTransportChange:x,tunnelUrl:a,oneTimeKey:i,oneTimeKeyExpiresAt:s,permanentKey:l,qrUrl:u,permissions:p,desktopEnabled:g,updateVersion:c,connections:m=[],version:h="",onRequestPermission:v,onDesktopToggle:H,onStop:b,onStart:_,onShutdown:S,onGenerateOneTimeKey:M,onRegenerateKey:se,logs:k=[],onClearLogs:T,theme:N,onToggleTheme:w,pendingDevice:I,onDeviceApprove:C,onDeviceReject:j,approvedDevices:D=[],rejectedDevices:ne=[],onDeviceRemove:fe,onFetchDevices:he,onDeviceApproveRejected:Re,onDeviceLabel:Me,autoApprove:_e=!1,onAutoApproveToggle:Be,autoStart:Ae=!1,onAutoStartToggle:He,sleepInhibitMode:Ge="never",sleepInhibitPresets:Ze=[],onSleepInhibitChange:Ue,unlockStatus:We=null,onRequestUnlockInstall:me,onRequestUnlockUninstall:be,onStopTunnel:ke}){var Ht;const{t:ve}=Fe(),[pe,an]=oe(()=>G0().menu),[Jn,Ye]=oe(!1),[Zn,Xe]=oe(!1),[we,$e]=oe(null),[R,ae]=oe(null),[le,De]=oe(""),[y,P]=oe(!1),Se=Le(null),Ie=Le(null),qt=ce=>{if(ce===xa){Ar();return}an(ce)},Ar=async()=>{const ce=window.open("","_blank");if(ce)try{const Te=await fetch("/api/ui/state",{cache:"no-store"});if(!Te.ok)throw new Error;const{workerUrl:Br}=await Te.json();ce.location.href=`${Br}/login`}catch{ce.close()}};ge(()=>{const ce=()=>an(G0().menu);return window.addEventListener("popstate",ce),()=>window.removeEventListener("popstate",ce)},[]),ge(()=>{const ce=`/${pe}`;window.location.pathname!==ce&&window.history.pushState(null,"",ce)},[pe]);const Yn=e===5,Ot=e===0,Ft=e>0&&e<5;ge(()=>{pe==="logs"&&Se.current&&(Se.current.scrollTop=Se.current.scrollHeight),pe==="connection"&&(he==null||he())},[k,pe,m.length]);const en=ma(D,m,ne),Er=en.filter(ce=>ce.status==="online").length,Pr=jt.find(ce=>ce.id===pe);return o("div",{className:"h-full w-full flex overflow-hidden isolate",style:{background:"var(--bg-body)"},children:[o("div",{className:"dot-grid-bg fixed inset-0 pointer-events-none",style:{zIndex:-4},"aria-hidden":"true"}),o("div",{className:"landing-grid fixed inset-0 pointer-events-none",style:{zIndex:-3},"aria-hidden":"true"}),o("div",{className:"hidden md:flex",children:o(z0,{activeMenu:pe,onSelect:qt,version:h,isReady:Yn,transport:r,onTransportChange:x})}),y&&o("div",{className:"fixed inset-0 z-40 bg-black/40 md:hidden",onClick:()=>P(!1)}),o("div",{className:`fixed inset-y-0 left-0 z-50 transform md:hidden transition-transform duration-300 ${y?"translate-x-0":"-translate-x-full"}`,children:o(z0,{activeMenu:pe,onSelect:qt,version:h,isReady:Yn,transport:r,onTransportChange:x,onClose:()=>P(!1)})}),o("main",{ref:Ie,className:"flex-1 min-w-0 h-full relative overflow-y-auto",children:[o(ba,{menu:Pr,isStopped:Ot,theme:N,onToggleTheme:w,onStop:()=>Ye(!0),onShutdown:()=>Xe(!0),onMenuClick:()=>P(!0)}),!Ft&&o(ua,{version:c}),o("div",{className:"px-6 lg:px-10 pb-6 lg:pb-10 pt-5",children:o("div",{className:"max-w-7xl mx-auto flex flex-col gap-4",children:[pe==="connection"&&Ot&&o(ga,{onStart:_,t:ve}),pe==="connection"&&Ft&&o("div",{className:"flex-1 flex flex-col gap-4 max-w-2xl w-full",children:o(Zr,{currentStep:e,activeDesc:t,healthCheck:n,t:ve})}),pe==="connection"&&Yn&&o(je,{children:o("div",{className:"grid grid-cols-1 lg:grid-cols-[minmax(300px,1fr)_1.7fr] gap-4 items-stretch",children:[o("div",{children:o(Zx,{qrUrl:u,oneTimeKey:i,oneTimeKeyExpiresAt:s,permanentKey:l,onGenerateOneTimeKey:M,onRegenerateKey:se,onStopTunnel:ke})}),o("div",{className:"flex flex-col gap-4",children:[o(la,{desktopEnabled:g,onDesktopToggle:H,permissions:p,onRequestPermission:v,autoStart:Ae,onAutoStartToggle:He,sleepInhibitMode:Ge,sleepInhibitPresets:Ze,onSleepInhibitChange:Ue,unlockStatus:We,onRequestUnlockInstall:me,onRequestUnlockUninstall:be,t:ve}),o("div",{className:"card-elev p-5 flex flex-col gap-1",children:[o("div",{className:"flex items-center gap-2.5 mb-2",children:[o("span",{className:"material-symbols-outlined flex-shrink-0",style:{fontSize:20,color:"var(--brand-400)"},children:"devices"}),o("h3",{className:"text-[15px] font-semibold flex-1",style:{color:"var(--text-main)"},children:"Clients"}),en.length>0&&o("span",{className:"text-[11px] font-mono",style:{color:"var(--text-muted)"},children:[Er,"/",en.length," online"]})]}),o("div",{className:"flex items-center gap-3 py-2.5",children:[o("span",{className:"material-symbols-outlined flex-shrink-0",style:{fontSize:18,color:_e?"var(--brand-400)":"var(--text-muted)"},children:_e?"lock_open":"lock"}),o("div",{className:"flex-1 min-w-0",children:[o("p",{className:"text-xs font-medium",style:{color:"var(--text-main)"},children:ve("clients.autoApprove")}),o("p",{className:"text-[10px] leading-4",style:{color:"var(--text-muted)"},children:ve(_e?"clients.anyDevice":"clients.requireManual")})]}),o(fn,{on:_e,onClick:Be,title:_e?"Disable auto-approve":"Enable auto-approve"})]}),en.length===0?o("p",{className:"text-xs text-center py-3",style:{color:"var(--text-muted)"},children:"No clients yet"}):en.map(ce=>o(fa,{client:ce,onRemove:$e,onApprove:Te=>Re==null?void 0:Re(Te.deviceId),onLabel:Te=>{ae(Te),De(Te.label||"")}},ce.deviceId))]})]})]})}),pe==="logs"&&o("div",{className:"flex-1 flex flex-col",children:[k.length>0&&o("div",{className:"flex justify-end mb-2",children:o("button",{onClick:T,title:"Clear logs",className:"glass-btn flex items-center gap-1.5 px-2.5 h-7 text-xs",style:{color:"var(--text-muted)"},children:[o("span",{className:"material-symbols-outlined text-sm",children:"delete_sweep"})," Clear"]})}),k.length===0?o("p",{className:"text-xs text-center mt-8",style:{color:"var(--text-muted)"},children:"No logs yet"}):o("div",{ref:Se,className:"flex flex-col gap-0.5 overflow-y-auto max-h-[calc(100dvh-14rem)] pr-1",children:k.map((ce,Te)=>o("p",{className:"text-xs font-mono leading-5 break-all",style:{color:"var(--text-muted)"},children:ce},Te))})]}),pe==="system"&&o("div",{className:"flex-1 flex flex-col",children:o(ta,{})})]})})]}),Jn&&o(Ke,{message:"Reset and stop the tunnel? Remote clients will be disconnected.",confirmLabel:"Reset",onConfirm:()=>{Ye(!1),b==null||b()},onCancel:()=>Ye(!1)}),Zn&&o(Ke,{message:"Shutdown 9Remote completely? This will stop the server, close the tunnel and quit the app.",confirmLabel:"Shutdown",confirmDanger:!0,onConfirm:()=>{Xe(!1),S==null||S()},onCancel:()=>Xe(!1)}),we&&o(Ke,{message:we.status==="online"?`Disconnect and remove device ${we.deviceId.slice(0,8)}...? The client will be disconnected and need approval again next time.`:we.status==="pending"?`Remove pending device ${we.deviceId.slice(0,8)}...? It will need a fresh approval request to connect again.`:`Remove device ${we.deviceId.slice(0,8)}...? It will need approval again next time.`,confirmLabel:we.status==="online"?"Disconnect & Remove":"Remove",confirmDanger:!0,onConfirm:()=>{fe==null||fe(we),$e(null)},onCancel:()=>$e(null)}),R&&o(Ke,{message:`Name for device ${R.deviceId.slice(0,8)}...`,confirmLabel:"Save",inputValue:le,inputPlaceholder:"e.g. My MacBook",onInput:De,onConfirm:()=>{Me==null||Me(R.deviceId,le.trim()),ae(null)},onCancel:()=>ae(null)}),I&&o("div",{className:"fixed inset-0 z-50 flex items-center justify-center",style:{background:"rgba(0,0,0,0.6)"},children:o("div",{className:"card-elev p-5 flex flex-col gap-4 w-80",children:[o("div",{className:"flex items-center gap-2",children:[o("span",{className:"material-symbols-outlined",style:{color:"var(--brand-500)",fontSize:24},children:"devices"}),o("span",{className:"text-sm font-semibold",style:{color:"var(--text-main)"},children:"New Device Connection"})]}),o("div",{className:"flex flex-col gap-1 text-xs",style:{color:"var(--text-muted)"},children:[o("span",{children:["Device: ",o("span",{style:{color:"var(--text-main)"},children:[(Ht=I.deviceId)==null?void 0:Ht.slice(0,8),"..."]})]}),o("span",{children:["IP: ",o("span",{style:{color:"var(--text-main)"},children:I.ip})]})]}),o("div",{className:"flex gap-2",children:[o("button",{onClick:j,className:"glass-btn flex-1 py-2 text-sm",style:{color:"var(--text-muted)"},children:"Reject"}),o("button",{onClick:C,className:"flex-1 py-2 text-sm font-semibold rounded-xl",style:{background:"var(--brand-500)",color:"#fff"},children:"Approve"})]})]})})]})}const _a=3e3,Et={running:!1,timeoutMs:0,startedAt:null,logs:[]},Pt={status:"unknown",checkedAt:null},K0={step:0,stepDesc:"",tunnelUrl:"",oneTimeKey:"",oneTimeKeyExpiresAt:null,permanentKey:"",qrUrl:"",latency:null,uptime:null,healthCheck:Et,tunnelHealth:Pt},ka={signaling:"off",rtcPeers:0,wsPeers:0,rtcDisabled:!1},wa={screenRecording:!1,accessibility:!1},L0=200;function Sa(){const[e,t]=oe(K0),[n,r]=oe(wa),[x,a]=oe(ka),[i,s]=oe(!1),[l,u]=oe([]),[p,g]=oe(null),[c,m]=oe([]),[h,v]=oe(null),[H,b]=oe([]),[_,S]=oe([]),[M,se]=oe(!1),[k,T]=oe(!1),[N,w]=oe("never"),[I,C]=oe([]),[j,D]=oe(null),[ne,fe]=oe(""),[he,Re]=oe(()=>localStorage.getItem("9remote-theme")||"dark");ge(()=>{document.documentElement.setAttribute("data-theme",he),localStorage.setItem("9remote-theme",he)},[he]);const Me=()=>{Re(R=>R==="dark"?"light":"dark")};ge(()=>{fetch("/api/version").then(y=>y.json()).then(y=>fe(y.version??"")).catch(()=>{}),fetch("/api/ui/state").then(y=>y.json()).then(y=>{t({step:y.step??0,stepDesc:y.stepDesc??"",tunnelUrl:y.tunnelUrl??"",oneTimeKey:y.oneTimeKey??"",oneTimeKeyExpiresAt:y.oneTimeKeyExpiresAt??null,permanentKey:y.permanentKey??"",qrUrl:y.qrUrl??"",latency:y.latency??null,uptime:y.uptime??null,healthCheck:y.healthCheck??Et,tunnelHealth:y.tunnelHealth??Pt}),r({screenRecording:y.screenRecording??!1,accessibility:y.accessibility??!1}),y.transport&&a(y.transport),y.desktopEnabled!==void 0&&s(y.desktopEnabled),y.theme&&(y.theme==="light"||y.theme==="dark")&&Re(y.theme)}).catch(()=>{}),fetch("/api/logs").then(y=>y.json()).then(y=>{Array.isArray(y==null?void 0:y.logs)&&u(y.logs)}).catch(()=>{});const R=new EventSource("/api/ui/events");R.onmessage=y=>{try{const P=JSON.parse(y.data);P.type==="state"?t({step:P.step??0,stepDesc:P.stepDesc??"",tunnelUrl:P.tunnelUrl??"",oneTimeKey:P.oneTimeKey??"",oneTimeKeyExpiresAt:P.oneTimeKeyExpiresAt??null,permanentKey:P.permanentKey??"",qrUrl:P.qrUrl??"",latency:P.latency??null,uptime:P.uptime??null,healthCheck:P.healthCheck??Et,tunnelHealth:P.tunnelHealth??Pt}):P.type==="log"?u(Se=>{const Ie=[...Se,P.message];return Ie.length>L0?Ie.slice(-L0):Ie}):P.type==="updateAvailable"?g(P.version):P.type==="permissions"?(r({screenRecording:P.screenRecording,accessibility:P.accessibility}),P.desktopEnabled!==void 0&&s(P.desktopEnabled)):P.type==="transport"?a({signaling:P.signaling,rtcPeers:P.rtcPeers,wsPeers:P.wsPeers,rtcDisabled:P.rtcDisabled}):P.type==="connections"?m(P.connections??[]):P.type==="deviceApproval"&&P.action==="pending"?v({socketId:P.socketId,deviceId:P.deviceId,ip:P.ip}):P.type==="deviceApproval"&&P.action==="refresh"?me():P.type==="autostart"?T(!!P.enabled):P.type==="sleepInhibit"&&(P.mode&&w(P.mode),Array.isArray(P.presets)&&C(P.presets))}catch{}},R.onerror=()=>{},fetch("/api/device/auto-approve").then(y=>y.json()).then(y=>{se(!!(y!=null&&y.enabled))}).catch(()=>{}),fetch("/api/autostart").then(y=>y.json()).then(y=>{T(!!(y!=null&&y.enabled))}).catch(()=>{}),fetch("/api/sleep-inhibit").then(y=>y.json()).then(y=>{y!=null&&y.mode&&w(y.mode),Array.isArray(y==null?void 0:y.presets)&&C(y.presets)}).catch(()=>{});const ae=()=>fetch("/api/desktop-unlock").then(y=>y.json()).then(y=>{y!=null&&y.supported&&D(P=>P!=null&&P.busy?P:y)}).catch(()=>{});ae();const le=setInterval(ae,1e4),De=setInterval(async()=>{var y;if(!_e.current)try{const P=await fetch("/api/device/pending");if(!P.ok)return;const Se=await P.json(),Ie=(y=Se==null?void 0:Se.pending)==null?void 0:y[0];Ie&&!_e.current&&v({socketId:Ie.socketId,deviceId:Ie.deviceId,ip:Ie.ip})}catch{}},_a);return()=>{R.close(),clearInterval(De),clearInterval(le)}},[]);const _e=Le(null);ge(()=>{_e.current=h},[h]);const Be=async R=>{await fetch("/api/permissions/request",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:R})}).catch(()=>{})},Ae=()=>{fetch("/api/ui/stop",{method:"POST"}).catch(()=>{})},He=()=>{fetch("/api/ui/start",{method:"POST"}).catch(()=>{})},Ge=()=>{fetch("/api/ui/stop-tunnel",{method:"POST"}).catch(()=>{})},Ze=()=>{fetch("/api/ui/shutdown",{method:"POST"}).catch(()=>{}),t(K0)},Ue=async()=>{const R=await fetch("/api/key/one-time",{method:"POST"}).catch(()=>null);if(!(R!=null&&R.ok))return;const ae=await R.json().catch(()=>null);ae!=null&&ae.oneTimeKey&&t(le=>({...le,oneTimeKey:ae.oneTimeKey,oneTimeKeyExpiresAt:ae.expiresAt,qrUrl:ae.qrUrl??le.qrUrl}))},We=async()=>{const R=!i;s(R),await fetch("/api/desktop/toggle",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:R})}).catch(()=>{})},me=async()=>{try{const[R,ae]=await Promise.all([fetch("/api/device/approved"),fetch("/api/device/rejected")]);if(R.ok){const le=await R.json();b(le.devices||[])}if(ae.ok){const le=await ae.json();S(le.rejected||[])}}catch{}},be=async R=>{const ae=R.status==="pending"?"/api/device/clear-rejected":"/api/device/remove";await fetch(ae,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceId:R.deviceId})}).catch(()=>{}),me()},ke=async()=>{h&&(await fetch("/api/device/approve",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({socketId:h.socketId})}).catch(()=>{}),v(null),me())},ve=async()=>{h&&(await fetch("/api/device/reject",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({socketId:h.socketId})}).catch(()=>{}),v(null),me())},pe=async()=>{const R=!k;T(R);try{const le=await(await fetch("/api/autostart",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:R})})).json().catch(()=>null);le&&typeof le.enabled=="boolean"&&T(le.enabled)}catch{T(!R)}},an=async R=>{const ae=N;w(R);try{const De=await(await fetch("/api/sleep-inhibit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:R})})).json().catch(()=>null);De!=null&&De.mode&&w(De.mode)}catch{w(ae)}},Jn=async()=>{D(R=>({...R||{supported:!0},busy:!0}));try{const ae=await(await fetch("/api/desktop-unlock/install",{method:"POST"})).json().catch(()=>null);ae&&D({supported:!0,...ae,busy:!1})}catch{D(R=>({...R||{supported:!0},busy:!1}))}},Ye=async()=>{D(R=>({...R||{supported:!0},busy:!0}));try{const ae=await(await fetch("/api/desktop-unlock/uninstall",{method:"POST"})).json().catch(()=>null);ae&&D({supported:!0,...ae,busy:!1})}catch{D(R=>({...R||{supported:!0},busy:!1}))}},Zn=async()=>{const R=!M;se(R);try{const le=await(await fetch("/api/device/auto-approve",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:R})})).json().catch(()=>null);le&&typeof le.enabled=="boolean"&&se(le.enabled)}catch{se(!R)}},Xe=async R=>{await fetch("/api/device/approve-rejected",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceId:R})}).catch(()=>{}),me()},we=async(R,ae)=>{await fetch("/api/device/label",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceId:R,label:ae})}).catch(()=>{}),me()},$e=async()=>{const R=await fetch("/api/key/regenerate",{method:"POST"}).catch(()=>null);if(!(R!=null&&R.ok))return;const ae=await R.json().catch(()=>null);ae!=null&&ae.permanentKey&&t(le=>({...le,permanentKey:ae.permanentKey}))};return o(ya,{step:e.step,stepDesc:e.stepDesc,healthCheck:e.healthCheck,transport:x,onTransportChange:a,tunnelUrl:e.tunnelUrl,oneTimeKey:e.oneTimeKey,oneTimeKeyExpiresAt:e.oneTimeKeyExpiresAt,permanentKey:e.permanentKey,qrUrl:e.qrUrl,permissions:n,desktopEnabled:i,updateVersion:p,connections:c,onRequestPermission:Be,onDesktopToggle:We,onStop:Ae,onStart:He,onStopTunnel:Ge,onShutdown:Ze,onGenerateOneTimeKey:Ue,onRegenerateKey:$e,logs:l,onClearLogs:()=>{fetch("/api/logs/clear",{method:"POST"}).catch(()=>{}),u([])},version:ne,theme:he,onToggleTheme:Me,pendingDevice:h,onDeviceApprove:ke,onDeviceReject:ve,approvedDevices:H,rejectedDevices:_,onDeviceRemove:be,onFetchDevices:me,onDeviceApproveRejected:Xe,onDeviceLabel:we,autoApprove:M,onAutoApproveToggle:Zn,autoStart:k,onAutoStartToggle:pe,sleepInhibitMode:N,sleepInhibitPresets:I,unlockStatus:j,onRequestUnlockInstall:Jn,onRequestUnlockUninstall:Ye,onSleepInhibitChange:an})}Or(o(Sa,{}),document.getElementById("root"));
|