23 lines
370 KiB
JavaScript
Vendored
23 lines
370 KiB
JavaScript
Vendored
var yi=Object.defineProperty;var xi=(e,u,r)=>u in e?yi(e,u,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[u]=r;var v=(e,u,r)=>(xi(e,typeof u!="symbol"?u+"":u,r),r);import{m as o,l as Pu,s as Ai,Q as Ci,a as gi,b as wu,P as Si}from"./vendor.js";const Bi=function(){const u=document.createElement("link").relList;if(u&&u.supports&&u.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const t of i)if(t.type==="childList")for(const s of t.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(i){const t={};return i.integrity&&(t.integrity=i.integrity),i.referrerpolicy&&(t.referrerPolicy=i.referrerpolicy),i.crossorigin==="use-credentials"?t.credentials="include":i.crossorigin==="anonymous"?t.credentials="omit":t.credentials="same-origin",t}function n(i){if(i.ep)return;i.ep=!0;const t=r(i);fetch(i.href,t)}};Bi();window._gwen={};window._gwen.kv={};const pu=localStorage.getItem("api-server");function oi(e){for(var u=[],r=0,n=e.length;r<n;++r)u.push(e.charCodeAt(r));var i=new Uint8Array(u);return i}function Pi(){const u=window.location.hash.substring(3).split("&");for(var r=0;r<u.length;r++){var n=u[r].split("=");window._gwen.kv[n[0]]=n[1]}}Pi();const Ru=window._gwen.kv.id||"";Ru&&localStorage.setItem("remote-id",Ru);const bu=window._gwen.kv.share_token||"";bu&&fetch(pu+"/api/shared-peer",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({share_token:bu})}).then(e=>e.json()).then(e=>{if(e.code===0){localStorage.setItem("custom-rendezvous-server",e.data.id_server),localStorage.setItem("key",e.data.key);const u=e.data.peer;localStorage.setItem("remote-id",u.info.id),u.tmppwd=oi(window.atob(u.tmppwd)).toString();const r=JSON.parse(localStorage.getItem("peers"))||{};r[u.info.id]=u,localStorage.setItem("peers",JSON.stringify(r))}});const ai=()=>setTimeout(()=>{const e=localStorage.getItem("access_token");e&&pu?fetch(pu+"/api/server-config",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer "+e}}).then(u=>u.json()).then(u=>{if(u.code===0&&((!localStorage.getItem("custom-rendezvous-server")||!localStorage.getItem("key"))&&(localStorage.setItem("custom-rendezvous-server",u.data.id_server),localStorage.setItem("key",u.data.key)),u.data.peers)){const r=JSON.parse(localStorage.getItem("peers"))||{};let n=!1;Object.keys(u.data.peers).forEach(i=>{if(r[i]?r[i].info=u.data.peers[i].info:(r[i]=u.data.peers[i],n=!0),r[i].info&&r[i].info.hash&&!r[i].password){let t=window.atob(r[i].info.hash);const s=oi(t);r[i].password=s.toString(),r[i].remember=!0}}),localStorage.setItem("peers",JSON.stringify(r)),n&&window.location.reload()}}):ai()},1e3);ai();var B=(e=>(e[e.Unknown=0]="Unknown",e[e.Alt=1]="Alt",e[e.Backspace=2]="Backspace",e[e.CapsLock=3]="CapsLock",e[e.Control=4]="Control",e[e.Delete=5]="Delete",e[e.DownArrow=6]="DownArrow",e[e.End=7]="End",e[e.Escape=8]="Escape",e[e.F1=9]="F1",e[e.F10=10]="F10",e[e.F11=11]="F11",e[e.F12=12]="F12",e[e.F2=13]="F2",e[e.F3=14]="F3",e[e.F4=15]="F4",e[e.F5=16]="F5",e[e.F6=17]="F6",e[e.F7=18]="F7",e[e.F8=19]="F8",e[e.F9=20]="F9",e[e.Home=21]="Home",e[e.LeftArrow=22]="LeftArrow",e[e.Meta=23]="Meta",e[e.Option=24]="Option",e[e.PageDown=25]="PageDown",e[e.PageUp=26]="PageUp",e[e.Return=27]="Return",e[e.RightArrow=28]="RightArrow",e[e.Shift=29]="Shift",e[e.Space=30]="Space",e[e.Tab=31]="Tab",e[e.UpArrow=32]="UpArrow",e[e.Numpad0=33]="Numpad0",e[e.Numpad1=34]="Numpad1",e[e.Numpad2=35]="Numpad2",e[e.Numpad3=36]="Numpad3",e[e.Numpad4=37]="Numpad4",e[e.Numpad5=38]="Numpad5",e[e.Numpad6=39]="Numpad6",e[e.Numpad7=40]="Numpad7",e[e.Numpad8=41]="Numpad8",e[e.Numpad9=42]="Numpad9",e[e.Cancel=43]="Cancel",e[e.Clear=44]="Clear",e[e.Menu=45]="Menu",e[e.Pause=46]="Pause",e[e.Kana=47]="Kana",e[e.Hangul=48]="Hangul",e[e.Junja=49]="Junja",e[e.Final=50]="Final",e[e.Hanja=51]="Hanja",e[e.Kanji=52]="Kanji",e[e.Convert=53]="Convert",e[e.Select=54]="Select",e[e.Print=55]="Print",e[e.Execute=56]="Execute",e[e.Snapshot=57]="Snapshot",e[e.Insert=58]="Insert",e[e.Help=59]="Help",e[e.Sleep=60]="Sleep",e[e.Separator=61]="Separator",e[e.Scroll=62]="Scroll",e[e.NumLock=63]="NumLock",e[e.RWin=64]="RWin",e[e.Apps=65]="Apps",e[e.Multiply=66]="Multiply",e[e.Add=67]="Add",e[e.Subtract=68]="Subtract",e[e.Decimal=69]="Decimal",e[e.Divide=70]="Divide",e[e.Equals=71]="Equals",e[e.NumpadEnter=72]="NumpadEnter",e[e.RShift=73]="RShift",e[e.RControl=74]="RControl",e[e.RAlt=75]="RAlt",e[e.CtrlAltDel=100]="CtrlAltDel",e[e.LockScreen=101]="LockScreen",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED",e))(B||{});function ru(e){switch(e){case 0:case"Unknown":return 0;case 1:case"Alt":return 1;case 2:case"Backspace":return 2;case 3:case"CapsLock":return 3;case 4:case"Control":return 4;case 5:case"Delete":return 5;case 6:case"DownArrow":return 6;case 7:case"End":return 7;case 8:case"Escape":return 8;case 9:case"F1":return 9;case 10:case"F10":return 10;case 11:case"F11":return 11;case 12:case"F12":return 12;case 13:case"F2":return 13;case 14:case"F3":return 14;case 15:case"F4":return 15;case 16:case"F5":return 16;case 17:case"F6":return 17;case 18:case"F7":return 18;case 19:case"F8":return 19;case 20:case"F9":return 20;case 21:case"Home":return 21;case 22:case"LeftArrow":return 22;case 23:case"Meta":return 23;case 24:case"Option":return 24;case 25:case"PageDown":return 25;case 26:case"PageUp":return 26;case 27:case"Return":return 27;case 28:case"RightArrow":return 28;case 29:case"Shift":return 29;case 30:case"Space":return 30;case 31:case"Tab":return 31;case 32:case"UpArrow":return 32;case 33:case"Numpad0":return 33;case 34:case"Numpad1":return 34;case 35:case"Numpad2":return 35;case 36:case"Numpad3":return 36;case 37:case"Numpad4":return 37;case 38:case"Numpad5":return 38;case 39:case"Numpad6":return 39;case 40:case"Numpad7":return 40;case 41:case"Numpad8":return 41;case 42:case"Numpad9":return 42;case 43:case"Cancel":return 43;case 44:case"Clear":return 44;case 45:case"Menu":return 45;case 46:case"Pause":return 46;case 47:case"Kana":return 47;case 48:case"Hangul":return 48;case 49:case"Junja":return 49;case 50:case"Final":return 50;case 51:case"Hanja":return 51;case 52:case"Kanji":return 52;case 53:case"Convert":return 53;case 54:case"Select":return 54;case 55:case"Print":return 55;case 56:case"Execute":return 56;case 57:case"Snapshot":return 57;case 58:case"Insert":return 58;case 59:case"Help":return 59;case 60:case"Sleep":return 60;case 61:case"Separator":return 61;case 62:case"Scroll":return 62;case 63:case"NumLock":return 63;case 64:case"RWin":return 64;case 65:case"Apps":return 65;case 66:case"Multiply":return 66;case 67:case"Add":return 67;case 68:case"Subtract":return 68;case 69:case"Decimal":return 69;case 70:case"Divide":return 70;case 71:case"Equals":return 71;case 72:case"NumpadEnter":return 72;case 73:case"RShift":return 73;case 74:case"RControl":return 74;case 75:case"RAlt":return 75;case 100:case"CtrlAltDel":return 100;case 101:case"LockScreen":return 101;case-1:case"UNRECOGNIZED":default:return-1}}function vu(e){switch(e){case 0:return"Unknown";case 1:return"Alt";case 2:return"Backspace";case 3:return"CapsLock";case 4:return"Control";case 5:return"Delete";case 6:return"DownArrow";case 7:return"End";case 8:return"Escape";case 9:return"F1";case 10:return"F10";case 11:return"F11";case 12:return"F12";case 13:return"F2";case 14:return"F3";case 15:return"F4";case 16:return"F5";case 17:return"F6";case 18:return"F7";case 19:return"F8";case 20:return"F9";case 21:return"Home";case 22:return"LeftArrow";case 23:return"Meta";case 24:return"Option";case 25:return"PageDown";case 26:return"PageUp";case 27:return"Return";case 28:return"RightArrow";case 29:return"Shift";case 30:return"Space";case 31:return"Tab";case 32:return"UpArrow";case 33:return"Numpad0";case 34:return"Numpad1";case 35:return"Numpad2";case 36:return"Numpad3";case 37:return"Numpad4";case 38:return"Numpad5";case 39:return"Numpad6";case 40:return"Numpad7";case 41:return"Numpad8";case 42:return"Numpad9";case 43:return"Cancel";case 44:return"Clear";case 45:return"Menu";case 46:return"Pause";case 47:return"Kana";case 48:return"Hangul";case 49:return"Junja";case 50:return"Final";case 51:return"Hanja";case 52:return"Kanji";case 53:return"Convert";case 54:return"Select";case 55:return"Print";case 56:return"Execute";case 57:return"Snapshot";case 58:return"Insert";case 59:return"Help";case 60:return"Sleep";case 61:return"Separator";case 62:return"Scroll";case 63:return"NumLock";case 64:return"RWin";case 65:return"Apps";case 66:return"Multiply";case 67:return"Add";case 68:return"Subtract";case 69:return"Decimal";case 70:return"Divide";case 71:return"Equals";case 72:return"NumpadEnter";case 73:return"RShift";case 74:return"RControl";case 75:return"RAlt";case 100:return"CtrlAltDel";case 101:return"LockScreen";case-1:default:return"UNRECOGNIZED"}}function wi(e){switch(e){case 0:case"Dir":return 0;case 2:case"DirLink":return 2;case 3:case"DirDrive":return 3;case 4:case"File":return 4;case 5:case"FileLink":return 5;case-1:case"UNRECOGNIZED":default:return-1}}function Ri(e){switch(e){case 0:return"Dir";case 2:return"DirLink";case 3:return"DirDrive";case 4:return"File";case 5:return"FileLink";case-1:default:return"UNRECOGNIZED"}}var Xe=(e=>(e[e.NotSet=0]="NotSet",e[e.Low=2]="Low",e[e.Balanced=3]="Balanced",e[e.Best=4]="Best",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED",e))(Xe||{});function bi(e){switch(e){case 0:case"NotSet":return 0;case 2:case"Low":return 2;case 3:case"Balanced":return 3;case 4:case"Best":return 4;case-1:case"UNRECOGNIZED":default:return-1}}function Ni(e){switch(e){case 0:return"NotSet";case 2:return"Low";case 3:return"Balanced";case 4:return"Best";case-1:default:return"UNRECOGNIZED"}}var $e=(e=>(e[e.Keyboard=0]="Keyboard",e[e.Clipboard=2]="Clipboard",e[e.Audio=3]="Audio",e[e.File=4]="File",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED",e))($e||{});function Ii(e){switch(e){case 0:case"Keyboard":return 0;case 2:case"Clipboard":return 2;case 3:case"Audio":return 3;case 4:case"File":return 4;case-1:case"UNRECOGNIZED":default:return-1}}function Ti(e){switch(e){case 0:return"Keyboard";case 2:return"Clipboard";case 3:return"Audio";case 4:return"File";case-1:default:return"UNRECOGNIZED"}}var q=(e=>(e[e.NotSet=0]="NotSet",e[e.No=1]="No",e[e.Yes=2]="Yes",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED",e))(q||{});function w(e){switch(e){case 0:case"NotSet":return 0;case 1:case"No":return 1;case 2:case"Yes":return 2;case-1:case"UNRECOGNIZED":default:return-1}}function R(e){switch(e){case 0:return"NotSet";case 1:return"No";case 2:return"Yes";case-1:default:return"UNRECOGNIZED"}}function zi(e){switch(e){case 0:case"X_Placeholder":return 0;case 1:case"X_StateUnknown":return 1;case 2:case"X_OnSucceeded":return 2;case 3:case"X_OnFailed":return 3;case 4:case"X_OffSucceeded":return 4;case 5:case"X_OffFailed":return 5;case-1:case"UNRECOGNIZED":default:return-1}}function Oi(e){switch(e){case 0:return"X_Placeholder";case 1:return"X_StateUnknown";case 2:return"X_OnSucceeded";case 3:return"X_OnFailed";case 4:return"X_OffSucceeded";case 5:return"X_OffFailed";case-1:default:return"UNRECOGNIZED"}}function Mi(e){switch(e){case 0:case"Placeholder":return 0;case 1:case"StateUnknown":return 1;case 2:case"OnByOther":return 2;case 3:case"NotSupported":return 3;case 4:case"OnSucceeded":return 4;case 5:case"OnFailedDenied":return 5;case 6:case"OnFailedPlugin":return 6;case 7:case"OnFailed":return 7;case 8:case"OffSucceeded":return 8;case 9:case"OffByPeer":return 9;case 10:case"OffFailed":return 10;case 11:case"OffUnknown":return 11;case-1:case"UNRECOGNIZED":default:return-1}}function Li(e){switch(e){case 0:return"Placeholder";case 1:return"StateUnknown";case 2:return"OnByOther";case 3:return"NotSupported";case 4:return"OnSucceeded";case 5:return"OnFailedDenied";case 6:return"OnFailedPlugin";case 7:return"OnFailed";case 8:return"OffSucceeded";case 9:return"OffByPeer";case 10:return"OffFailed";case 11:return"OffUnknown";case-1:default:return"UNRECOGNIZED"}}function Nu(){return{data:new Uint8Array,key:!1,pts:0}}const U={encode(e,u=o.Writer.create()){return e.data.length!==0&&u.uint32(10).bytes(e.data),e.key===!0&&u.uint32(16).bool(e.key),e.pts!==0&&u.uint32(24).int64(e.pts),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Nu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.data=r.bytes();break;case 2:i.key=r.bool();break;case 3:i.pts=S(r.int64());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{data:a(e.data)?k(e.data):new Uint8Array,key:a(e.key)?Boolean(e.key):!1,pts:a(e.pts)?Number(e.pts):0}},toJSON(e){const u={};return e.data!==void 0&&(u.data=h(e.data!==void 0?e.data:new Uint8Array)),e.key!==void 0&&(u.key=e.key),e.pts!==void 0&&(u.pts=Math.round(e.pts)),u},create(e){return U.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i;const u=Nu();return u.data=(r=e.data)!=null?r:new Uint8Array,u.key=(n=e.key)!=null?n:!1,u.pts=(i=e.pts)!=null?i:0,u}};function Iu(){return{frames:[]}}const J={encode(e,u=o.Writer.create()){for(const r of e.frames)U.encode(r,u.uint32(10).fork()).ldelim();return u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Iu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.frames.push(U.decode(r,r.uint32()));break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{frames:Array.isArray(e==null?void 0:e.frames)?e.frames.map(u=>U.fromJSON(u)):[]}},toJSON(e){const u={};return e.frames?u.frames=e.frames.map(r=>r?U.toJSON(r):void 0):u.frames=[],u},create(e){return J.fromPartial(e!=null?e:{})},fromPartial(e){var r;const u=Iu();return u.frames=((r=e.frames)==null?void 0:r.map(n=>U.fromPartial(n)))||[],u}};function Tu(){return{compress:!1}}const V={encode(e,u=o.Writer.create()){return e.compress===!0&&u.uint32(8).bool(e.compress),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Tu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.compress=r.bool();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{compress:a(e.compress)?Boolean(e.compress):!1}},toJSON(e){const u={};return e.compress!==void 0&&(u.compress=e.compress),u},create(e){return V.fromPartial(e!=null?e:{})},fromPartial(e){var r;const u=Tu();return u.compress=(r=e.compress)!=null?r:!1,u}};function zu(){return{compress:!1,stride:0}}const W={encode(e,u=o.Writer.create()){return e.compress===!0&&u.uint32(8).bool(e.compress),e.stride!==0&&u.uint32(16).int32(e.stride),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=zu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.compress=r.bool();break;case 2:i.stride=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{compress:a(e.compress)?Boolean(e.compress):!1,stride:a(e.stride)?Number(e.stride):0}},toJSON(e){const u={};return e.compress!==void 0&&(u.compress=e.compress),e.stride!==void 0&&(u.stride=Math.round(e.stride)),u},create(e){return W.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=zu();return u.compress=(r=e.compress)!=null?r:!1,u.stride=(n=e.stride)!=null?n:0,u}};function Ou(){return{vp9s:void 0,rgb:void 0,yuv:void 0,timestamp:0}}const H={encode(e,u=o.Writer.create()){return e.vp9s!==void 0&&J.encode(e.vp9s,u.uint32(50).fork()).ldelim(),e.rgb!==void 0&&V.encode(e.rgb,u.uint32(58).fork()).ldelim(),e.yuv!==void 0&&W.encode(e.yuv,u.uint32(66).fork()).ldelim(),e.timestamp!==0&&u.uint32(72).int64(e.timestamp),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Ou();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 6:i.vp9s=J.decode(r,r.uint32());break;case 7:i.rgb=V.decode(r,r.uint32());break;case 8:i.yuv=W.decode(r,r.uint32());break;case 9:i.timestamp=S(r.int64());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{vp9s:a(e.vp9s)?J.fromJSON(e.vp9s):void 0,rgb:a(e.rgb)?V.fromJSON(e.rgb):void 0,yuv:a(e.yuv)?W.fromJSON(e.yuv):void 0,timestamp:a(e.timestamp)?Number(e.timestamp):0}},toJSON(e){const u={};return e.vp9s!==void 0&&(u.vp9s=e.vp9s?J.toJSON(e.vp9s):void 0),e.rgb!==void 0&&(u.rgb=e.rgb?V.toJSON(e.rgb):void 0),e.yuv!==void 0&&(u.yuv=e.yuv?W.toJSON(e.yuv):void 0),e.timestamp!==void 0&&(u.timestamp=Math.round(e.timestamp)),u},create(e){return H.fromPartial(e!=null?e:{})},fromPartial(e){var r;const u=Ou();return u.vp9s=e.vp9s!==void 0&&e.vp9s!==null?J.fromPartial(e.vp9s):void 0,u.rgb=e.rgb!==void 0&&e.rgb!==null?V.fromPartial(e.rgb):void 0,u.yuv=e.yuv!==void 0&&e.yuv!==null?W.fromPartial(e.yuv):void 0,u.timestamp=(r=e.timestamp)!=null?r:0,u}};function Mu(){return{id:"",pk:new Uint8Array}}const fu={encode(e,u=o.Writer.create()){return e.id!==""&&u.uint32(10).string(e.id),e.pk.length!==0&&u.uint32(18).bytes(e.pk),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Mu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.string();break;case 2:i.pk=r.bytes();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?String(e.id):"",pk:a(e.pk)?k(e.pk):new Uint8Array}},toJSON(e){const u={};return e.id!==void 0&&(u.id=e.id),e.pk!==void 0&&(u.pk=h(e.pk!==void 0?e.pk:new Uint8Array)),u},create(e){return fu.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=Mu();return u.id=(r=e.id)!=null?r:"",u.pk=(n=e.pk)!=null?n:new Uint8Array,u}};function Lu(){return{x:0,y:0,width:0,height:0,name:"",online:!1}}const K={encode(e,u=o.Writer.create()){return e.x!==0&&u.uint32(8).sint32(e.x),e.y!==0&&u.uint32(16).sint32(e.y),e.width!==0&&u.uint32(24).int32(e.width),e.height!==0&&u.uint32(32).int32(e.height),e.name!==""&&u.uint32(42).string(e.name),e.online===!0&&u.uint32(48).bool(e.online),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Lu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.x=r.sint32();break;case 2:i.y=r.sint32();break;case 3:i.width=r.int32();break;case 4:i.height=r.int32();break;case 5:i.name=r.string();break;case 6:i.online=r.bool();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{x:a(e.x)?Number(e.x):0,y:a(e.y)?Number(e.y):0,width:a(e.width)?Number(e.width):0,height:a(e.height)?Number(e.height):0,name:a(e.name)?String(e.name):"",online:a(e.online)?Boolean(e.online):!1}},toJSON(e){const u={};return e.x!==void 0&&(u.x=Math.round(e.x)),e.y!==void 0&&(u.y=Math.round(e.y)),e.width!==void 0&&(u.width=Math.round(e.width)),e.height!==void 0&&(u.height=Math.round(e.height)),e.name!==void 0&&(u.name=e.name),e.online!==void 0&&(u.online=e.online),u},create(e){return K.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s,l;const u=Lu();return u.x=(r=e.x)!=null?r:0,u.y=(n=e.y)!=null?n:0,u.width=(i=e.width)!=null?i:0,u.height=(t=e.height)!=null?t:0,u.name=(s=e.name)!=null?s:"",u.online=(l=e.online)!=null?l:!1,u}};function qu(){return{host:"",port:0}}const Z={encode(e,u=o.Writer.create()){return e.host!==""&&u.uint32(10).string(e.host),e.port!==0&&u.uint32(16).int32(e.port),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=qu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.host=r.string();break;case 2:i.port=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{host:a(e.host)?String(e.host):"",port:a(e.port)?Number(e.port):0}},toJSON(e){const u={};return e.host!==void 0&&(u.host=e.host),e.port!==void 0&&(u.port=Math.round(e.port)),u},create(e){return Z.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=qu();return u.host=(r=e.host)!=null?r:"",u.port=(n=e.port)!=null?n:0,u}};function Uu(){return{dir:"",show_hidden:!1}}const G={encode(e,u=o.Writer.create()){return e.dir!==""&&u.uint32(10).string(e.dir),e.show_hidden===!0&&u.uint32(16).bool(e.show_hidden),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Uu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.dir=r.string();break;case 2:i.show_hidden=r.bool();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{dir:a(e.dir)?String(e.dir):"",show_hidden:a(e.show_hidden)?Boolean(e.show_hidden):!1}},toJSON(e){const u={};return e.dir!==void 0&&(u.dir=e.dir),e.show_hidden!==void 0&&(u.show_hidden=e.show_hidden),u},create(e){return G.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=Uu();return u.dir=(r=e.dir)!=null?r:"",u.show_hidden=(n=e.show_hidden)!=null?n:!1,u}};function Ju(){return{username:"",password:new Uint8Array,my_id:"",my_name:"",option:void 0,file_transfer:void 0,port_forward:void 0,video_ack_required:!1}}const b={encode(e,u=o.Writer.create()){return e.username!==""&&u.uint32(10).string(e.username),e.password.length!==0&&u.uint32(18).bytes(e.password),e.my_id!==""&&u.uint32(34).string(e.my_id),e.my_name!==""&&u.uint32(42).string(e.my_name),e.option!==void 0&&_.encode(e.option,u.uint32(50).fork()).ldelim(),e.file_transfer!==void 0&&G.encode(e.file_transfer,u.uint32(58).fork()).ldelim(),e.port_forward!==void 0&&Z.encode(e.port_forward,u.uint32(66).fork()).ldelim(),e.video_ack_required===!0&&u.uint32(72).bool(e.video_ack_required),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Ju();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.username=r.string();break;case 2:i.password=r.bytes();break;case 4:i.my_id=r.string();break;case 5:i.my_name=r.string();break;case 6:i.option=_.decode(r,r.uint32());break;case 7:i.file_transfer=G.decode(r,r.uint32());break;case 8:i.port_forward=Z.decode(r,r.uint32());break;case 9:i.video_ack_required=r.bool();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{username:a(e.username)?String(e.username):"",password:a(e.password)?k(e.password):new Uint8Array,my_id:a(e.my_id)?String(e.my_id):"",my_name:a(e.my_name)?String(e.my_name):"",option:a(e.option)?_.fromJSON(e.option):void 0,file_transfer:a(e.file_transfer)?G.fromJSON(e.file_transfer):void 0,port_forward:a(e.port_forward)?Z.fromJSON(e.port_forward):void 0,video_ack_required:a(e.video_ack_required)?Boolean(e.video_ack_required):!1}},toJSON(e){const u={};return e.username!==void 0&&(u.username=e.username),e.password!==void 0&&(u.password=h(e.password!==void 0?e.password:new Uint8Array)),e.my_id!==void 0&&(u.my_id=e.my_id),e.my_name!==void 0&&(u.my_name=e.my_name),e.option!==void 0&&(u.option=e.option?_.toJSON(e.option):void 0),e.file_transfer!==void 0&&(u.file_transfer=e.file_transfer?G.toJSON(e.file_transfer):void 0),e.port_forward!==void 0&&(u.port_forward=e.port_forward?Z.toJSON(e.port_forward):void 0),e.video_ack_required!==void 0&&(u.video_ack_required=e.video_ack_required),u},create(e){return b.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s;const u=Ju();return u.username=(r=e.username)!=null?r:"",u.password=(n=e.password)!=null?n:new Uint8Array,u.my_id=(i=e.my_id)!=null?i:"",u.my_name=(t=e.my_name)!=null?t:"",u.option=e.option!==void 0&&e.option!==null?_.fromPartial(e.option):void 0,u.file_transfer=e.file_transfer!==void 0&&e.file_transfer!==null?G.fromPartial(e.file_transfer):void 0,u.port_forward=e.port_forward!==void 0&&e.port_forward!==null?Z.fromPartial(e.port_forward):void 0,u.video_ack_required=(s=e.video_ack_required)!=null?s:!1,u}};function Vu(){return{text:""}}const Y={encode(e,u=o.Writer.create()){return e.text!==""&&u.uint32(10).string(e.text),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Vu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.text=r.string();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{text:a(e.text)?String(e.text):""}},toJSON(e){const u={};return e.text!==void 0&&(u.text=e.text),u},create(e){return Y.fromPartial(e!=null?e:{})},fromPartial(e){var r;const u=Vu();return u.text=(r=e.text)!=null?r:"",u}};function Wu(){return{privacy_mode:!1}}const Q={encode(e,u=o.Writer.create()){return e.privacy_mode===!0&&u.uint32(8).bool(e.privacy_mode),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Wu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.privacy_mode=r.bool();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{privacy_mode:a(e.privacy_mode)?Boolean(e.privacy_mode):!1}},toJSON(e){const u={};return e.privacy_mode!==void 0&&(u.privacy_mode=e.privacy_mode),u},create(e){return Q.fromPartial(e!=null?e:{})},fromPartial(e){var r;const u=Wu();return u.privacy_mode=(r=e.privacy_mode)!=null?r:!1,u}};function Hu(){return{username:"",hostname:"",platform:"",displays:[],current_display:0,sas_enabled:!1,version:"",conn_id:0,features:void 0}}const X={encode(e,u=o.Writer.create()){e.username!==""&&u.uint32(10).string(e.username),e.hostname!==""&&u.uint32(18).string(e.hostname),e.platform!==""&&u.uint32(26).string(e.platform);for(const r of e.displays)K.encode(r,u.uint32(34).fork()).ldelim();return e.current_display!==0&&u.uint32(40).int32(e.current_display),e.sas_enabled===!0&&u.uint32(48).bool(e.sas_enabled),e.version!==""&&u.uint32(58).string(e.version),e.conn_id!==0&&u.uint32(64).int32(e.conn_id),e.features!==void 0&&Q.encode(e.features,u.uint32(74).fork()).ldelim(),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Hu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.username=r.string();break;case 2:i.hostname=r.string();break;case 3:i.platform=r.string();break;case 4:i.displays.push(K.decode(r,r.uint32()));break;case 5:i.current_display=r.int32();break;case 6:i.sas_enabled=r.bool();break;case 7:i.version=r.string();break;case 8:i.conn_id=r.int32();break;case 9:i.features=Q.decode(r,r.uint32());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{username:a(e.username)?String(e.username):"",hostname:a(e.hostname)?String(e.hostname):"",platform:a(e.platform)?String(e.platform):"",displays:Array.isArray(e==null?void 0:e.displays)?e.displays.map(u=>K.fromJSON(u)):[],current_display:a(e.current_display)?Number(e.current_display):0,sas_enabled:a(e.sas_enabled)?Boolean(e.sas_enabled):!1,version:a(e.version)?String(e.version):"",conn_id:a(e.conn_id)?Number(e.conn_id):0,features:a(e.features)?Q.fromJSON(e.features):void 0}},toJSON(e){const u={};return e.username!==void 0&&(u.username=e.username),e.hostname!==void 0&&(u.hostname=e.hostname),e.platform!==void 0&&(u.platform=e.platform),e.displays?u.displays=e.displays.map(r=>r?K.toJSON(r):void 0):u.displays=[],e.current_display!==void 0&&(u.current_display=Math.round(e.current_display)),e.sas_enabled!==void 0&&(u.sas_enabled=e.sas_enabled),e.version!==void 0&&(u.version=e.version),e.conn_id!==void 0&&(u.conn_id=Math.round(e.conn_id)),e.features!==void 0&&(u.features=e.features?Q.toJSON(e.features):void 0),u},create(e){return X.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s,l,c,p;const u=Hu();return u.username=(r=e.username)!=null?r:"",u.hostname=(n=e.hostname)!=null?n:"",u.platform=(i=e.platform)!=null?i:"",u.displays=((t=e.displays)==null?void 0:t.map(f=>K.fromPartial(f)))||[],u.current_display=(s=e.current_display)!=null?s:0,u.sas_enabled=(l=e.sas_enabled)!=null?l:!1,u.version=(c=e.version)!=null?c:"",u.conn_id=(p=e.conn_id)!=null?p:0,u.features=e.features!==void 0&&e.features!==null?Q.fromPartial(e.features):void 0,u}};function Ku(){return{error:void 0,peer_info:void 0}}const $={encode(e,u=o.Writer.create()){return e.error!==void 0&&u.uint32(10).string(e.error),e.peer_info!==void 0&&X.encode(e.peer_info,u.uint32(18).fork()).ldelim(),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Ku();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.error=r.string();break;case 2:i.peer_info=X.decode(r,r.uint32());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{error:a(e.error)?String(e.error):void 0,peer_info:a(e.peer_info)?X.fromJSON(e.peer_info):void 0}},toJSON(e){const u={};return e.error!==void 0&&(u.error=e.error),e.peer_info!==void 0&&(u.peer_info=e.peer_info?X.toJSON(e.peer_info):void 0),u},create(e){return $.fromPartial(e!=null?e:{})},fromPartial(e){var r;const u=Ku();return u.error=(r=e.error)!=null?r:void 0,u.peer_info=e.peer_info!==void 0&&e.peer_info!==null?X.fromPartial(e.peer_info):void 0,u}};function Zu(){return{mask:0,x:0,y:0,modifiers:[]}}const N={encode(e,u=o.Writer.create()){e.mask!==0&&u.uint32(8).int32(e.mask),e.x!==0&&u.uint32(16).sint32(e.x),e.y!==0&&u.uint32(24).sint32(e.y),u.uint32(34).fork();for(const r of e.modifiers)u.int32(r);return u.ldelim(),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Zu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.mask=r.int32();break;case 2:i.x=r.sint32();break;case 3:i.y=r.sint32();break;case 4:if((t&7)===2){const s=r.uint32()+r.pos;for(;r.pos<s;)i.modifiers.push(r.int32())}else i.modifiers.push(r.int32());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{mask:a(e.mask)?Number(e.mask):0,x:a(e.x)?Number(e.x):0,y:a(e.y)?Number(e.y):0,modifiers:Array.isArray(e==null?void 0:e.modifiers)?e.modifiers.map(u=>ru(u)):[]}},toJSON(e){const u={};return e.mask!==void 0&&(u.mask=Math.round(e.mask)),e.x!==void 0&&(u.x=Math.round(e.x)),e.y!==void 0&&(u.y=Math.round(e.y)),e.modifiers?u.modifiers=e.modifiers.map(r=>vu(r)):u.modifiers=[],u},create(e){return N.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t;const u=Zu();return u.mask=(r=e.mask)!=null?r:0,u.x=(n=e.x)!=null?n:0,u.y=(i=e.y)!=null?i:0,u.modifiers=((t=e.modifiers)==null?void 0:t.map(s=>s))||[],u}};function Gu(){return{down:!1,press:!1,control_key:void 0,chr:void 0,unicode:void 0,seq:void 0,modifiers:[]}}const m={encode(e,u=o.Writer.create()){e.down===!0&&u.uint32(8).bool(e.down),e.press===!0&&u.uint32(16).bool(e.press),e.control_key!==void 0&&u.uint32(24).int32(e.control_key),e.chr!==void 0&&u.uint32(32).uint32(e.chr),e.unicode!==void 0&&u.uint32(40).uint32(e.unicode),e.seq!==void 0&&u.uint32(50).string(e.seq),u.uint32(66).fork();for(const r of e.modifiers)u.int32(r);return u.ldelim(),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Gu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.down=r.bool();break;case 2:i.press=r.bool();break;case 3:i.control_key=r.int32();break;case 4:i.chr=r.uint32();break;case 5:i.unicode=r.uint32();break;case 6:i.seq=r.string();break;case 8:if((t&7)===2){const s=r.uint32()+r.pos;for(;r.pos<s;)i.modifiers.push(r.int32())}else i.modifiers.push(r.int32());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{down:a(e.down)?Boolean(e.down):!1,press:a(e.press)?Boolean(e.press):!1,control_key:a(e.control_key)?ru(e.control_key):void 0,chr:a(e.chr)?Number(e.chr):void 0,unicode:a(e.unicode)?Number(e.unicode):void 0,seq:a(e.seq)?String(e.seq):void 0,modifiers:Array.isArray(e==null?void 0:e.modifiers)?e.modifiers.map(u=>ru(u)):[]}},toJSON(e){const u={};return e.down!==void 0&&(u.down=e.down),e.press!==void 0&&(u.press=e.press),e.control_key!==void 0&&(u.control_key=e.control_key!==void 0?vu(e.control_key):void 0),e.chr!==void 0&&(u.chr=Math.round(e.chr)),e.unicode!==void 0&&(u.unicode=Math.round(e.unicode)),e.seq!==void 0&&(u.seq=e.seq),e.modifiers?u.modifiers=e.modifiers.map(r=>vu(r)):u.modifiers=[],u},create(e){return m.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s,l,c;const u=Gu();return u.down=(r=e.down)!=null?r:!1,u.press=(n=e.press)!=null?n:!1,u.control_key=(i=e.control_key)!=null?i:void 0,u.chr=(t=e.chr)!=null?t:void 0,u.unicode=(s=e.unicode)!=null?s:void 0,u.seq=(l=e.seq)!=null?l:void 0,u.modifiers=((c=e.modifiers)==null?void 0:c.map(p=>p))||[],u}};function Yu(){return{id:0,hotx:0,hoty:0,width:0,height:0,colors:new Uint8Array}}const j={encode(e,u=o.Writer.create()){return e.id!==0&&u.uint32(8).uint64(e.id),e.hotx!==0&&u.uint32(16).sint32(e.hotx),e.hoty!==0&&u.uint32(24).sint32(e.hoty),e.width!==0&&u.uint32(32).int32(e.width),e.height!==0&&u.uint32(40).int32(e.height),e.colors.length!==0&&u.uint32(50).bytes(e.colors),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Yu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=S(r.uint64());break;case 2:i.hotx=r.sint32();break;case 3:i.hoty=r.sint32();break;case 4:i.width=r.int32();break;case 5:i.height=r.int32();break;case 6:i.colors=r.bytes();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?Number(e.id):0,hotx:a(e.hotx)?Number(e.hotx):0,hoty:a(e.hoty)?Number(e.hoty):0,width:a(e.width)?Number(e.width):0,height:a(e.height)?Number(e.height):0,colors:a(e.colors)?k(e.colors):new Uint8Array}},toJSON(e){const u={};return e.id!==void 0&&(u.id=Math.round(e.id)),e.hotx!==void 0&&(u.hotx=Math.round(e.hotx)),e.hoty!==void 0&&(u.hoty=Math.round(e.hoty)),e.width!==void 0&&(u.width=Math.round(e.width)),e.height!==void 0&&(u.height=Math.round(e.height)),e.colors!==void 0&&(u.colors=h(e.colors!==void 0?e.colors:new Uint8Array)),u},create(e){return j.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s,l;const u=Yu();return u.id=(r=e.id)!=null?r:0,u.hotx=(n=e.hotx)!=null?n:0,u.hoty=(i=e.hoty)!=null?i:0,u.width=(t=e.width)!=null?t:0,u.height=(s=e.height)!=null?s:0,u.colors=(l=e.colors)!=null?l:new Uint8Array,u}};function Qu(){return{x:0,y:0}}const ee={encode(e,u=o.Writer.create()){return e.x!==0&&u.uint32(8).sint32(e.x),e.y!==0&&u.uint32(16).sint32(e.y),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Qu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.x=r.sint32();break;case 2:i.y=r.sint32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{x:a(e.x)?Number(e.x):0,y:a(e.y)?Number(e.y):0}},toJSON(e){const u={};return e.x!==void 0&&(u.x=Math.round(e.x)),e.y!==void 0&&(u.y=Math.round(e.y)),u},create(e){return ee.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=Qu();return u.x=(r=e.x)!=null?r:0,u.y=(n=e.y)!=null?n:0,u}};function Xu(){return{salt:"",challenge:""}}const ue={encode(e,u=o.Writer.create()){return e.salt!==""&&u.uint32(10).string(e.salt),e.challenge!==""&&u.uint32(18).string(e.challenge),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Xu();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.salt=r.string();break;case 2:i.challenge=r.string();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{salt:a(e.salt)?String(e.salt):"",challenge:a(e.challenge)?String(e.challenge):""}},toJSON(e){const u={};return e.salt!==void 0&&(u.salt=e.salt),e.challenge!==void 0&&(u.challenge=e.challenge),u},create(e){return ue.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=Xu();return u.salt=(r=e.salt)!=null?r:"",u.challenge=(n=e.challenge)!=null?n:"",u}};function $u(){return{compress:!1,content:new Uint8Array}}const re={encode(e,u=o.Writer.create()){return e.compress===!0&&u.uint32(8).bool(e.compress),e.content.length!==0&&u.uint32(18).bytes(e.content),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=$u();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.compress=r.bool();break;case 2:i.content=r.bytes();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{compress:a(e.compress)?Boolean(e.compress):!1,content:a(e.content)?k(e.content):new Uint8Array}},toJSON(e){const u={};return e.compress!==void 0&&(u.compress=e.compress),e.content!==void 0&&(u.content=h(e.content!==void 0?e.content:new Uint8Array)),u},create(e){return re.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=$u();return u.compress=(r=e.compress)!=null?r:!1,u.content=(n=e.content)!=null?n:new Uint8Array,u}};function ju(){return{entry_type:0,name:"",is_hidden:!1,size:0,modified_time:0}}const x={encode(e,u=o.Writer.create()){return e.entry_type!==0&&u.uint32(8).int32(e.entry_type),e.name!==""&&u.uint32(18).string(e.name),e.is_hidden===!0&&u.uint32(24).bool(e.is_hidden),e.size!==0&&u.uint32(32).uint64(e.size),e.modified_time!==0&&u.uint32(40).uint64(e.modified_time),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=ju();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.entry_type=r.int32();break;case 2:i.name=r.string();break;case 3:i.is_hidden=r.bool();break;case 4:i.size=S(r.uint64());break;case 5:i.modified_time=S(r.uint64());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{entry_type:a(e.entry_type)?wi(e.entry_type):0,name:a(e.name)?String(e.name):"",is_hidden:a(e.is_hidden)?Boolean(e.is_hidden):!1,size:a(e.size)?Number(e.size):0,modified_time:a(e.modified_time)?Number(e.modified_time):0}},toJSON(e){const u={};return e.entry_type!==void 0&&(u.entry_type=Ri(e.entry_type)),e.name!==void 0&&(u.name=e.name),e.is_hidden!==void 0&&(u.is_hidden=e.is_hidden),e.size!==void 0&&(u.size=Math.round(e.size)),e.modified_time!==void 0&&(u.modified_time=Math.round(e.modified_time)),u},create(e){return x.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s;const u=ju();return u.entry_type=(r=e.entry_type)!=null?r:0,u.name=(n=e.name)!=null?n:"",u.is_hidden=(i=e.is_hidden)!=null?i:!1,u.size=(t=e.size)!=null?t:0,u.modified_time=(s=e.modified_time)!=null?s:0,u}};function er(){return{id:0,path:"",entries:[]}}const ie={encode(e,u=o.Writer.create()){e.id!==0&&u.uint32(8).int32(e.id),e.path!==""&&u.uint32(18).string(e.path);for(const r of e.entries)x.encode(r,u.uint32(26).fork()).ldelim();return u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=er();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.int32();break;case 2:i.path=r.string();break;case 3:i.entries.push(x.decode(r,r.uint32()));break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?Number(e.id):0,path:a(e.path)?String(e.path):"",entries:Array.isArray(e==null?void 0:e.entries)?e.entries.map(u=>x.fromJSON(u)):[]}},toJSON(e){const u={};return e.id!==void 0&&(u.id=Math.round(e.id)),e.path!==void 0&&(u.path=e.path),e.entries?u.entries=e.entries.map(r=>r?x.toJSON(r):void 0):u.entries=[],u},create(e){return ie.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i;const u=er();return u.id=(r=e.id)!=null?r:0,u.path=(n=e.path)!=null?n:"",u.entries=((i=e.entries)==null?void 0:i.map(t=>x.fromPartial(t)))||[],u}};function ur(){return{path:"",include_hidden:!1}}const ne={encode(e,u=o.Writer.create()){return e.path!==""&&u.uint32(10).string(e.path),e.include_hidden===!0&&u.uint32(16).bool(e.include_hidden),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=ur();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.path=r.string();break;case 2:i.include_hidden=r.bool();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{path:a(e.path)?String(e.path):"",include_hidden:a(e.include_hidden)?Boolean(e.include_hidden):!1}},toJSON(e){const u={};return e.path!==void 0&&(u.path=e.path),e.include_hidden!==void 0&&(u.include_hidden=e.include_hidden),u},create(e){return ne.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=ur();return u.path=(r=e.path)!=null?r:"",u.include_hidden=(n=e.include_hidden)!=null?n:!1,u}};function rr(){return{id:0,path:"",include_hidden:!1}}const te={encode(e,u=o.Writer.create()){return e.id!==0&&u.uint32(8).int32(e.id),e.path!==""&&u.uint32(18).string(e.path),e.include_hidden===!0&&u.uint32(24).bool(e.include_hidden),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=rr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.int32();break;case 2:i.path=r.string();break;case 3:i.include_hidden=r.bool();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?Number(e.id):0,path:a(e.path)?String(e.path):"",include_hidden:a(e.include_hidden)?Boolean(e.include_hidden):!1}},toJSON(e){const u={};return e.id!==void 0&&(u.id=Math.round(e.id)),e.path!==void 0&&(u.path=e.path),e.include_hidden!==void 0&&(u.include_hidden=e.include_hidden),u},create(e){return te.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i;const u=rr();return u.id=(r=e.id)!=null?r:0,u.path=(n=e.path)!=null?n:"",u.include_hidden=(i=e.include_hidden)!=null?i:!1,u}};function ir(){return{read_dir:void 0,send:void 0,receive:void 0,create:void 0,remove_dir:void 0,remove_file:void 0,all_files:void 0,cancel:void 0,send_confirm:void 0}}const oe={encode(e,u=o.Writer.create()){return e.read_dir!==void 0&&ne.encode(e.read_dir,u.uint32(10).fork()).ldelim(),e.send!==void 0&&pe.encode(e.send,u.uint32(18).fork()).ldelim(),e.receive!==void 0&&_e.encode(e.receive,u.uint32(26).fork()).ldelim(),e.create!==void 0&&ke.encode(e.create,u.uint32(34).fork()).ldelim(),e.remove_dir!==void 0&&me.encode(e.remove_dir,u.uint32(42).fork()).ldelim(),e.remove_file!==void 0&&Ee.encode(e.remove_file,u.uint32(50).fork()).ldelim(),e.all_files!==void 0&&te.encode(e.all_files,u.uint32(58).fork()).ldelim(),e.cancel!==void 0&&ae.encode(e.cancel,u.uint32(66).fork()).ldelim(),e.send_confirm!==void 0&&ve.encode(e.send_confirm,u.uint32(74).fork()).ldelim(),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=ir();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.read_dir=ne.decode(r,r.uint32());break;case 2:i.send=pe.decode(r,r.uint32());break;case 3:i.receive=_e.decode(r,r.uint32());break;case 4:i.create=ke.decode(r,r.uint32());break;case 5:i.remove_dir=me.decode(r,r.uint32());break;case 6:i.remove_file=Ee.decode(r,r.uint32());break;case 7:i.all_files=te.decode(r,r.uint32());break;case 8:i.cancel=ae.decode(r,r.uint32());break;case 9:i.send_confirm=ve.decode(r,r.uint32());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{read_dir:a(e.read_dir)?ne.fromJSON(e.read_dir):void 0,send:a(e.send)?pe.fromJSON(e.send):void 0,receive:a(e.receive)?_e.fromJSON(e.receive):void 0,create:a(e.create)?ke.fromJSON(e.create):void 0,remove_dir:a(e.remove_dir)?me.fromJSON(e.remove_dir):void 0,remove_file:a(e.remove_file)?Ee.fromJSON(e.remove_file):void 0,all_files:a(e.all_files)?te.fromJSON(e.all_files):void 0,cancel:a(e.cancel)?ae.fromJSON(e.cancel):void 0,send_confirm:a(e.send_confirm)?ve.fromJSON(e.send_confirm):void 0}},toJSON(e){const u={};return e.read_dir!==void 0&&(u.read_dir=e.read_dir?ne.toJSON(e.read_dir):void 0),e.send!==void 0&&(u.send=e.send?pe.toJSON(e.send):void 0),e.receive!==void 0&&(u.receive=e.receive?_e.toJSON(e.receive):void 0),e.create!==void 0&&(u.create=e.create?ke.toJSON(e.create):void 0),e.remove_dir!==void 0&&(u.remove_dir=e.remove_dir?me.toJSON(e.remove_dir):void 0),e.remove_file!==void 0&&(u.remove_file=e.remove_file?Ee.toJSON(e.remove_file):void 0),e.all_files!==void 0&&(u.all_files=e.all_files?te.toJSON(e.all_files):void 0),e.cancel!==void 0&&(u.cancel=e.cancel?ae.toJSON(e.cancel):void 0),e.send_confirm!==void 0&&(u.send_confirm=e.send_confirm?ve.toJSON(e.send_confirm):void 0),u},create(e){return oe.fromPartial(e!=null?e:{})},fromPartial(e){const u=ir();return u.read_dir=e.read_dir!==void 0&&e.read_dir!==null?ne.fromPartial(e.read_dir):void 0,u.send=e.send!==void 0&&e.send!==null?pe.fromPartial(e.send):void 0,u.receive=e.receive!==void 0&&e.receive!==null?_e.fromPartial(e.receive):void 0,u.create=e.create!==void 0&&e.create!==null?ke.fromPartial(e.create):void 0,u.remove_dir=e.remove_dir!==void 0&&e.remove_dir!==null?me.fromPartial(e.remove_dir):void 0,u.remove_file=e.remove_file!==void 0&&e.remove_file!==null?Ee.fromPartial(e.remove_file):void 0,u.all_files=e.all_files!==void 0&&e.all_files!==null?te.fromPartial(e.all_files):void 0,u.cancel=e.cancel!==void 0&&e.cancel!==null?ae.fromPartial(e.cancel):void 0,u.send_confirm=e.send_confirm!==void 0&&e.send_confirm!==null?ve.fromPartial(e.send_confirm):void 0,u}};function nr(){return{id:0}}const ae={encode(e,u=o.Writer.create()){return e.id!==0&&u.uint32(8).int32(e.id),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=nr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?Number(e.id):0}},toJSON(e){const u={};return e.id!==void 0&&(u.id=Math.round(e.id)),u},create(e){return ae.fromPartial(e!=null?e:{})},fromPartial(e){var r;const u=nr();return u.id=(r=e.id)!=null?r:0,u}};function tr(){return{dir:void 0,block:void 0,error:void 0,done:void 0,digest:void 0}}const se={encode(e,u=o.Writer.create()){return e.dir!==void 0&&ie.encode(e.dir,u.uint32(10).fork()).ldelim(),e.block!==void 0&&le.encode(e.block,u.uint32(18).fork()).ldelim(),e.error!==void 0&&ce.encode(e.error,u.uint32(26).fork()).ldelim(),e.done!==void 0&&fe.encode(e.done,u.uint32(34).fork()).ldelim(),e.digest!==void 0&&de.encode(e.digest,u.uint32(42).fork()).ldelim(),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=tr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.dir=ie.decode(r,r.uint32());break;case 2:i.block=le.decode(r,r.uint32());break;case 3:i.error=ce.decode(r,r.uint32());break;case 4:i.done=fe.decode(r,r.uint32());break;case 5:i.digest=de.decode(r,r.uint32());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{dir:a(e.dir)?ie.fromJSON(e.dir):void 0,block:a(e.block)?le.fromJSON(e.block):void 0,error:a(e.error)?ce.fromJSON(e.error):void 0,done:a(e.done)?fe.fromJSON(e.done):void 0,digest:a(e.digest)?de.fromJSON(e.digest):void 0}},toJSON(e){const u={};return e.dir!==void 0&&(u.dir=e.dir?ie.toJSON(e.dir):void 0),e.block!==void 0&&(u.block=e.block?le.toJSON(e.block):void 0),e.error!==void 0&&(u.error=e.error?ce.toJSON(e.error):void 0),e.done!==void 0&&(u.done=e.done?fe.toJSON(e.done):void 0),e.digest!==void 0&&(u.digest=e.digest?de.toJSON(e.digest):void 0),u},create(e){return se.fromPartial(e!=null?e:{})},fromPartial(e){const u=tr();return u.dir=e.dir!==void 0&&e.dir!==null?ie.fromPartial(e.dir):void 0,u.block=e.block!==void 0&&e.block!==null?le.fromPartial(e.block):void 0,u.error=e.error!==void 0&&e.error!==null?ce.fromPartial(e.error):void 0,u.done=e.done!==void 0&&e.done!==null?fe.fromPartial(e.done):void 0,u.digest=e.digest!==void 0&&e.digest!==null?de.fromPartial(e.digest):void 0,u}};function or(){return{id:0,file_num:0,last_modified:0,file_size:0,is_upload:!1}}const de={encode(e,u=o.Writer.create()){return e.id!==0&&u.uint32(8).int32(e.id),e.file_num!==0&&u.uint32(16).sint32(e.file_num),e.last_modified!==0&&u.uint32(24).uint64(e.last_modified),e.file_size!==0&&u.uint32(32).uint64(e.file_size),e.is_upload===!0&&u.uint32(40).bool(e.is_upload),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=or();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.int32();break;case 2:i.file_num=r.sint32();break;case 3:i.last_modified=S(r.uint64());break;case 4:i.file_size=S(r.uint64());break;case 5:i.is_upload=r.bool();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?Number(e.id):0,file_num:a(e.file_num)?Number(e.file_num):0,last_modified:a(e.last_modified)?Number(e.last_modified):0,file_size:a(e.file_size)?Number(e.file_size):0,is_upload:a(e.is_upload)?Boolean(e.is_upload):!1}},toJSON(e){const u={};return e.id!==void 0&&(u.id=Math.round(e.id)),e.file_num!==void 0&&(u.file_num=Math.round(e.file_num)),e.last_modified!==void 0&&(u.last_modified=Math.round(e.last_modified)),e.file_size!==void 0&&(u.file_size=Math.round(e.file_size)),e.is_upload!==void 0&&(u.is_upload=e.is_upload),u},create(e){return de.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s;const u=or();return u.id=(r=e.id)!=null?r:0,u.file_num=(n=e.file_num)!=null?n:0,u.last_modified=(i=e.last_modified)!=null?i:0,u.file_size=(t=e.file_size)!=null?t:0,u.is_upload=(s=e.is_upload)!=null?s:!1,u}};function ar(){return{id:0,file_num:0,data:new Uint8Array,compressed:!1,blk_id:0}}const le={encode(e,u=o.Writer.create()){return e.id!==0&&u.uint32(8).int32(e.id),e.file_num!==0&&u.uint32(16).sint32(e.file_num),e.data.length!==0&&u.uint32(26).bytes(e.data),e.compressed===!0&&u.uint32(32).bool(e.compressed),e.blk_id!==0&&u.uint32(40).uint32(e.blk_id),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=ar();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.int32();break;case 2:i.file_num=r.sint32();break;case 3:i.data=r.bytes();break;case 4:i.compressed=r.bool();break;case 5:i.blk_id=r.uint32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?Number(e.id):0,file_num:a(e.file_num)?Number(e.file_num):0,data:a(e.data)?k(e.data):new Uint8Array,compressed:a(e.compressed)?Boolean(e.compressed):!1,blk_id:a(e.blk_id)?Number(e.blk_id):0}},toJSON(e){const u={};return e.id!==void 0&&(u.id=Math.round(e.id)),e.file_num!==void 0&&(u.file_num=Math.round(e.file_num)),e.data!==void 0&&(u.data=h(e.data!==void 0?e.data:new Uint8Array)),e.compressed!==void 0&&(u.compressed=e.compressed),e.blk_id!==void 0&&(u.blk_id=Math.round(e.blk_id)),u},create(e){return le.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s;const u=ar();return u.id=(r=e.id)!=null?r:0,u.file_num=(n=e.file_num)!=null?n:0,u.data=(i=e.data)!=null?i:new Uint8Array,u.compressed=(t=e.compressed)!=null?t:!1,u.blk_id=(s=e.blk_id)!=null?s:0,u}};function sr(){return{id:0,error:"",file_num:0}}const ce={encode(e,u=o.Writer.create()){return e.id!==0&&u.uint32(8).int32(e.id),e.error!==""&&u.uint32(18).string(e.error),e.file_num!==0&&u.uint32(24).sint32(e.file_num),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=sr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.int32();break;case 2:i.error=r.string();break;case 3:i.file_num=r.sint32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?Number(e.id):0,error:a(e.error)?String(e.error):"",file_num:a(e.file_num)?Number(e.file_num):0}},toJSON(e){const u={};return e.id!==void 0&&(u.id=Math.round(e.id)),e.error!==void 0&&(u.error=e.error),e.file_num!==void 0&&(u.file_num=Math.round(e.file_num)),u},create(e){return ce.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i;const u=sr();return u.id=(r=e.id)!=null?r:0,u.error=(n=e.error)!=null?n:"",u.file_num=(i=e.file_num)!=null?i:0,u}};function dr(){return{id:0,path:"",include_hidden:!1,file_num:0}}const pe={encode(e,u=o.Writer.create()){return e.id!==0&&u.uint32(8).int32(e.id),e.path!==""&&u.uint32(18).string(e.path),e.include_hidden===!0&&u.uint32(24).bool(e.include_hidden),e.file_num!==0&&u.uint32(32).int32(e.file_num),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=dr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.int32();break;case 2:i.path=r.string();break;case 3:i.include_hidden=r.bool();break;case 4:i.file_num=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?Number(e.id):0,path:a(e.path)?String(e.path):"",include_hidden:a(e.include_hidden)?Boolean(e.include_hidden):!1,file_num:a(e.file_num)?Number(e.file_num):0}},toJSON(e){const u={};return e.id!==void 0&&(u.id=Math.round(e.id)),e.path!==void 0&&(u.path=e.path),e.include_hidden!==void 0&&(u.include_hidden=e.include_hidden),e.file_num!==void 0&&(u.file_num=Math.round(e.file_num)),u},create(e){return pe.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t;const u=dr();return u.id=(r=e.id)!=null?r:0,u.path=(n=e.path)!=null?n:"",u.include_hidden=(i=e.include_hidden)!=null?i:!1,u.file_num=(t=e.file_num)!=null?t:0,u}};function lr(){return{id:0,file_num:0,skip:void 0,offset_blk:void 0}}const ve={encode(e,u=o.Writer.create()){return e.id!==0&&u.uint32(8).int32(e.id),e.file_num!==0&&u.uint32(16).sint32(e.file_num),e.skip!==void 0&&u.uint32(24).bool(e.skip),e.offset_blk!==void 0&&u.uint32(32).uint32(e.offset_blk),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=lr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.int32();break;case 2:i.file_num=r.sint32();break;case 3:i.skip=r.bool();break;case 4:i.offset_blk=r.uint32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?Number(e.id):0,file_num:a(e.file_num)?Number(e.file_num):0,skip:a(e.skip)?Boolean(e.skip):void 0,offset_blk:a(e.offset_blk)?Number(e.offset_blk):void 0}},toJSON(e){const u={};return e.id!==void 0&&(u.id=Math.round(e.id)),e.file_num!==void 0&&(u.file_num=Math.round(e.file_num)),e.skip!==void 0&&(u.skip=e.skip),e.offset_blk!==void 0&&(u.offset_blk=Math.round(e.offset_blk)),u},create(e){return ve.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t;const u=lr();return u.id=(r=e.id)!=null?r:0,u.file_num=(n=e.file_num)!=null?n:0,u.skip=(i=e.skip)!=null?i:void 0,u.offset_blk=(t=e.offset_blk)!=null?t:void 0,u}};function cr(){return{id:0,file_num:0}}const fe={encode(e,u=o.Writer.create()){return e.id!==0&&u.uint32(8).int32(e.id),e.file_num!==0&&u.uint32(16).sint32(e.file_num),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=cr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.int32();break;case 2:i.file_num=r.sint32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?Number(e.id):0,file_num:a(e.file_num)?Number(e.file_num):0}},toJSON(e){const u={};return e.id!==void 0&&(u.id=Math.round(e.id)),e.file_num!==void 0&&(u.file_num=Math.round(e.file_num)),u},create(e){return fe.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=cr();return u.id=(r=e.id)!=null?r:0,u.file_num=(n=e.file_num)!=null?n:0,u}};function pr(){return{id:0,path:"",files:[],file_num:0}}const _e={encode(e,u=o.Writer.create()){e.id!==0&&u.uint32(8).int32(e.id),e.path!==""&&u.uint32(18).string(e.path);for(const r of e.files)x.encode(r,u.uint32(26).fork()).ldelim();return e.file_num!==0&&u.uint32(32).int32(e.file_num),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=pr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.int32();break;case 2:i.path=r.string();break;case 3:i.files.push(x.decode(r,r.uint32()));break;case 4:i.file_num=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?Number(e.id):0,path:a(e.path)?String(e.path):"",files:Array.isArray(e==null?void 0:e.files)?e.files.map(u=>x.fromJSON(u)):[],file_num:a(e.file_num)?Number(e.file_num):0}},toJSON(e){const u={};return e.id!==void 0&&(u.id=Math.round(e.id)),e.path!==void 0&&(u.path=e.path),e.files?u.files=e.files.map(r=>r?x.toJSON(r):void 0):u.files=[],e.file_num!==void 0&&(u.file_num=Math.round(e.file_num)),u},create(e){return _e.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t;const u=pr();return u.id=(r=e.id)!=null?r:0,u.path=(n=e.path)!=null?n:"",u.files=((i=e.files)==null?void 0:i.map(s=>x.fromPartial(s)))||[],u.file_num=(t=e.file_num)!=null?t:0,u}};function vr(){return{id:0,path:"",recursive:!1}}const me={encode(e,u=o.Writer.create()){return e.id!==0&&u.uint32(8).int32(e.id),e.path!==""&&u.uint32(18).string(e.path),e.recursive===!0&&u.uint32(24).bool(e.recursive),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=vr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.int32();break;case 2:i.path=r.string();break;case 3:i.recursive=r.bool();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?Number(e.id):0,path:a(e.path)?String(e.path):"",recursive:a(e.recursive)?Boolean(e.recursive):!1}},toJSON(e){const u={};return e.id!==void 0&&(u.id=Math.round(e.id)),e.path!==void 0&&(u.path=e.path),e.recursive!==void 0&&(u.recursive=e.recursive),u},create(e){return me.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i;const u=vr();return u.id=(r=e.id)!=null?r:0,u.path=(n=e.path)!=null?n:"",u.recursive=(i=e.recursive)!=null?i:!1,u}};function fr(){return{id:0,path:"",file_num:0}}const Ee={encode(e,u=o.Writer.create()){return e.id!==0&&u.uint32(8).int32(e.id),e.path!==""&&u.uint32(18).string(e.path),e.file_num!==0&&u.uint32(24).sint32(e.file_num),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=fr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.int32();break;case 2:i.path=r.string();break;case 3:i.file_num=r.sint32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?Number(e.id):0,path:a(e.path)?String(e.path):"",file_num:a(e.file_num)?Number(e.file_num):0}},toJSON(e){const u={};return e.id!==void 0&&(u.id=Math.round(e.id)),e.path!==void 0&&(u.path=e.path),e.file_num!==void 0&&(u.file_num=Math.round(e.file_num)),u},create(e){return Ee.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i;const u=fr();return u.id=(r=e.id)!=null?r:0,u.path=(n=e.path)!=null?n:"",u.file_num=(i=e.file_num)!=null?i:0,u}};function _r(){return{id:0,path:""}}const ke={encode(e,u=o.Writer.create()){return e.id!==0&&u.uint32(8).int32(e.id),e.path!==""&&u.uint32(18).string(e.path),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=_r();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.int32();break;case 2:i.path=r.string();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?Number(e.id):0,path:a(e.path)?String(e.path):""}},toJSON(e){const u={};return e.id!==void 0&&(u.id=Math.round(e.id)),e.path!==void 0&&(u.path=e.path),u},create(e){return ke.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=_r();return u.id=(r=e.id)!=null?r:0,u.path=(n=e.path)!=null?n:"",u}};function mr(){return{conn_id:0}}const he={encode(e,u=o.Writer.create()){return e.conn_id!==0&&u.uint32(8).int32(e.conn_id),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=mr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.conn_id=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{conn_id:a(e.conn_id)?Number(e.conn_id):0}},toJSON(e){const u={};return e.conn_id!==void 0&&(u.conn_id=Math.round(e.conn_id)),u},create(e){return he.fromPartial(e!=null?e:{})},fromPartial(e){var r;const u=mr();return u.conn_id=(r=e.conn_id)!=null?r:0,u}};function Er(){return{conn_id:0,id:0,format:""}}const Fe={encode(e,u=o.Writer.create()){return e.conn_id!==0&&u.uint32(8).int32(e.conn_id),e.id!==0&&u.uint32(16).int32(e.id),e.format!==""&&u.uint32(26).string(e.format),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Er();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.conn_id=r.int32();break;case 2:i.id=r.int32();break;case 3:i.format=r.string();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{conn_id:a(e.conn_id)?Number(e.conn_id):0,id:a(e.id)?Number(e.id):0,format:a(e.format)?String(e.format):""}},toJSON(e){const u={};return e.conn_id!==void 0&&(u.conn_id=Math.round(e.conn_id)),e.id!==void 0&&(u.id=Math.round(e.id)),e.format!==void 0&&(u.format=e.format),u},create(e){return Fe.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i;const u=Er();return u.conn_id=(r=e.conn_id)!=null?r:0,u.id=(n=e.id)!=null?n:0,u.format=(i=e.format)!=null?i:"",u}};function kr(){return{conn_id:0,formats:[]}}const De={encode(e,u=o.Writer.create()){e.conn_id!==0&&u.uint32(8).int32(e.conn_id);for(const r of e.formats)Fe.encode(r,u.uint32(18).fork()).ldelim();return u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=kr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.conn_id=r.int32();break;case 2:i.formats.push(Fe.decode(r,r.uint32()));break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{conn_id:a(e.conn_id)?Number(e.conn_id):0,formats:Array.isArray(e==null?void 0:e.formats)?e.formats.map(u=>Fe.fromJSON(u)):[]}},toJSON(e){const u={};return e.conn_id!==void 0&&(u.conn_id=Math.round(e.conn_id)),e.formats?u.formats=e.formats.map(r=>r?Fe.toJSON(r):void 0):u.formats=[],u},create(e){return De.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=kr();return u.conn_id=(r=e.conn_id)!=null?r:0,u.formats=((n=e.formats)==null?void 0:n.map(i=>Fe.fromPartial(i)))||[],u}};function hr(){return{conn_id:0,msg_flags:0}}const ye={encode(e,u=o.Writer.create()){return e.conn_id!==0&&u.uint32(8).int32(e.conn_id),e.msg_flags!==0&&u.uint32(16).int32(e.msg_flags),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=hr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.conn_id=r.int32();break;case 2:i.msg_flags=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{conn_id:a(e.conn_id)?Number(e.conn_id):0,msg_flags:a(e.msg_flags)?Number(e.msg_flags):0}},toJSON(e){const u={};return e.conn_id!==void 0&&(u.conn_id=Math.round(e.conn_id)),e.msg_flags!==void 0&&(u.msg_flags=Math.round(e.msg_flags)),u},create(e){return ye.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=hr();return u.conn_id=(r=e.conn_id)!=null?r:0,u.msg_flags=(n=e.msg_flags)!=null?n:0,u}};function Fr(){return{conn_id:0,requested_format_id:0}}const xe={encode(e,u=o.Writer.create()){return e.conn_id!==0&&u.uint32(8).int32(e.conn_id),e.requested_format_id!==0&&u.uint32(16).int32(e.requested_format_id),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Fr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.conn_id=r.int32();break;case 2:i.requested_format_id=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{conn_id:a(e.conn_id)?Number(e.conn_id):0,requested_format_id:a(e.requested_format_id)?Number(e.requested_format_id):0}},toJSON(e){const u={};return e.conn_id!==void 0&&(u.conn_id=Math.round(e.conn_id)),e.requested_format_id!==void 0&&(u.requested_format_id=Math.round(e.requested_format_id)),u},create(e){return xe.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=Fr();return u.conn_id=(r=e.conn_id)!=null?r:0,u.requested_format_id=(n=e.requested_format_id)!=null?n:0,u}};function Dr(){return{conn_id:0,msg_flags:0,format_data:new Uint8Array}}const Ae={encode(e,u=o.Writer.create()){return e.conn_id!==0&&u.uint32(8).int32(e.conn_id),e.msg_flags!==0&&u.uint32(16).int32(e.msg_flags),e.format_data.length!==0&&u.uint32(26).bytes(e.format_data),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Dr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.conn_id=r.int32();break;case 2:i.msg_flags=r.int32();break;case 3:i.format_data=r.bytes();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{conn_id:a(e.conn_id)?Number(e.conn_id):0,msg_flags:a(e.msg_flags)?Number(e.msg_flags):0,format_data:a(e.format_data)?k(e.format_data):new Uint8Array}},toJSON(e){const u={};return e.conn_id!==void 0&&(u.conn_id=Math.round(e.conn_id)),e.msg_flags!==void 0&&(u.msg_flags=Math.round(e.msg_flags)),e.format_data!==void 0&&(u.format_data=h(e.format_data!==void 0?e.format_data:new Uint8Array)),u},create(e){return Ae.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i;const u=Dr();return u.conn_id=(r=e.conn_id)!=null?r:0,u.msg_flags=(n=e.msg_flags)!=null?n:0,u.format_data=(i=e.format_data)!=null?i:new Uint8Array,u}};function yr(){return{conn_id:0,stream_id:0,list_index:0,dw_flags:0,n_position_low:0,n_position_high:0,cb_requested:0,have_clip_data_id:!1,clip_data_id:0}}const Ce={encode(e,u=o.Writer.create()){return e.conn_id!==0&&u.uint32(8).int32(e.conn_id),e.stream_id!==0&&u.uint32(16).int32(e.stream_id),e.list_index!==0&&u.uint32(24).int32(e.list_index),e.dw_flags!==0&&u.uint32(32).int32(e.dw_flags),e.n_position_low!==0&&u.uint32(40).int32(e.n_position_low),e.n_position_high!==0&&u.uint32(48).int32(e.n_position_high),e.cb_requested!==0&&u.uint32(56).int32(e.cb_requested),e.have_clip_data_id===!0&&u.uint32(64).bool(e.have_clip_data_id),e.clip_data_id!==0&&u.uint32(72).int32(e.clip_data_id),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=yr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.conn_id=r.int32();break;case 2:i.stream_id=r.int32();break;case 3:i.list_index=r.int32();break;case 4:i.dw_flags=r.int32();break;case 5:i.n_position_low=r.int32();break;case 6:i.n_position_high=r.int32();break;case 7:i.cb_requested=r.int32();break;case 8:i.have_clip_data_id=r.bool();break;case 9:i.clip_data_id=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{conn_id:a(e.conn_id)?Number(e.conn_id):0,stream_id:a(e.stream_id)?Number(e.stream_id):0,list_index:a(e.list_index)?Number(e.list_index):0,dw_flags:a(e.dw_flags)?Number(e.dw_flags):0,n_position_low:a(e.n_position_low)?Number(e.n_position_low):0,n_position_high:a(e.n_position_high)?Number(e.n_position_high):0,cb_requested:a(e.cb_requested)?Number(e.cb_requested):0,have_clip_data_id:a(e.have_clip_data_id)?Boolean(e.have_clip_data_id):!1,clip_data_id:a(e.clip_data_id)?Number(e.clip_data_id):0}},toJSON(e){const u={};return e.conn_id!==void 0&&(u.conn_id=Math.round(e.conn_id)),e.stream_id!==void 0&&(u.stream_id=Math.round(e.stream_id)),e.list_index!==void 0&&(u.list_index=Math.round(e.list_index)),e.dw_flags!==void 0&&(u.dw_flags=Math.round(e.dw_flags)),e.n_position_low!==void 0&&(u.n_position_low=Math.round(e.n_position_low)),e.n_position_high!==void 0&&(u.n_position_high=Math.round(e.n_position_high)),e.cb_requested!==void 0&&(u.cb_requested=Math.round(e.cb_requested)),e.have_clip_data_id!==void 0&&(u.have_clip_data_id=e.have_clip_data_id),e.clip_data_id!==void 0&&(u.clip_data_id=Math.round(e.clip_data_id)),u},create(e){return Ce.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s,l,c,p,f;const u=yr();return u.conn_id=(r=e.conn_id)!=null?r:0,u.stream_id=(n=e.stream_id)!=null?n:0,u.list_index=(i=e.list_index)!=null?i:0,u.dw_flags=(t=e.dw_flags)!=null?t:0,u.n_position_low=(s=e.n_position_low)!=null?s:0,u.n_position_high=(l=e.n_position_high)!=null?l:0,u.cb_requested=(c=e.cb_requested)!=null?c:0,u.have_clip_data_id=(p=e.have_clip_data_id)!=null?p:!1,u.clip_data_id=(f=e.clip_data_id)!=null?f:0,u}};function xr(){return{conn_id:0,msg_flags:0,stream_id:0,requested_data:new Uint8Array}}const ge={encode(e,u=o.Writer.create()){return e.conn_id!==0&&u.uint32(8).int32(e.conn_id),e.msg_flags!==0&&u.uint32(24).int32(e.msg_flags),e.stream_id!==0&&u.uint32(32).int32(e.stream_id),e.requested_data.length!==0&&u.uint32(42).bytes(e.requested_data),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=xr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.conn_id=r.int32();break;case 3:i.msg_flags=r.int32();break;case 4:i.stream_id=r.int32();break;case 5:i.requested_data=r.bytes();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{conn_id:a(e.conn_id)?Number(e.conn_id):0,msg_flags:a(e.msg_flags)?Number(e.msg_flags):0,stream_id:a(e.stream_id)?Number(e.stream_id):0,requested_data:a(e.requested_data)?k(e.requested_data):new Uint8Array}},toJSON(e){const u={};return e.conn_id!==void 0&&(u.conn_id=Math.round(e.conn_id)),e.msg_flags!==void 0&&(u.msg_flags=Math.round(e.msg_flags)),e.stream_id!==void 0&&(u.stream_id=Math.round(e.stream_id)),e.requested_data!==void 0&&(u.requested_data=h(e.requested_data!==void 0?e.requested_data:new Uint8Array)),u},create(e){return ge.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t;const u=xr();return u.conn_id=(r=e.conn_id)!=null?r:0,u.msg_flags=(n=e.msg_flags)!=null?n:0,u.stream_id=(i=e.stream_id)!=null?i:0,u.requested_data=(t=e.requested_data)!=null?t:new Uint8Array,u}};function Ar(){return{ready:void 0,format_list:void 0,format_list_response:void 0,format_data_request:void 0,format_data_response:void 0,file_contents_request:void 0,file_contents_response:void 0}}const Se={encode(e,u=o.Writer.create()){return e.ready!==void 0&&he.encode(e.ready,u.uint32(10).fork()).ldelim(),e.format_list!==void 0&&De.encode(e.format_list,u.uint32(18).fork()).ldelim(),e.format_list_response!==void 0&&ye.encode(e.format_list_response,u.uint32(26).fork()).ldelim(),e.format_data_request!==void 0&&xe.encode(e.format_data_request,u.uint32(34).fork()).ldelim(),e.format_data_response!==void 0&&Ae.encode(e.format_data_response,u.uint32(42).fork()).ldelim(),e.file_contents_request!==void 0&&Ce.encode(e.file_contents_request,u.uint32(50).fork()).ldelim(),e.file_contents_response!==void 0&&ge.encode(e.file_contents_response,u.uint32(58).fork()).ldelim(),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Ar();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.ready=he.decode(r,r.uint32());break;case 2:i.format_list=De.decode(r,r.uint32());break;case 3:i.format_list_response=ye.decode(r,r.uint32());break;case 4:i.format_data_request=xe.decode(r,r.uint32());break;case 5:i.format_data_response=Ae.decode(r,r.uint32());break;case 6:i.file_contents_request=Ce.decode(r,r.uint32());break;case 7:i.file_contents_response=ge.decode(r,r.uint32());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{ready:a(e.ready)?he.fromJSON(e.ready):void 0,format_list:a(e.format_list)?De.fromJSON(e.format_list):void 0,format_list_response:a(e.format_list_response)?ye.fromJSON(e.format_list_response):void 0,format_data_request:a(e.format_data_request)?xe.fromJSON(e.format_data_request):void 0,format_data_response:a(e.format_data_response)?Ae.fromJSON(e.format_data_response):void 0,file_contents_request:a(e.file_contents_request)?Ce.fromJSON(e.file_contents_request):void 0,file_contents_response:a(e.file_contents_response)?ge.fromJSON(e.file_contents_response):void 0}},toJSON(e){const u={};return e.ready!==void 0&&(u.ready=e.ready?he.toJSON(e.ready):void 0),e.format_list!==void 0&&(u.format_list=e.format_list?De.toJSON(e.format_list):void 0),e.format_list_response!==void 0&&(u.format_list_response=e.format_list_response?ye.toJSON(e.format_list_response):void 0),e.format_data_request!==void 0&&(u.format_data_request=e.format_data_request?xe.toJSON(e.format_data_request):void 0),e.format_data_response!==void 0&&(u.format_data_response=e.format_data_response?Ae.toJSON(e.format_data_response):void 0),e.file_contents_request!==void 0&&(u.file_contents_request=e.file_contents_request?Ce.toJSON(e.file_contents_request):void 0),e.file_contents_response!==void 0&&(u.file_contents_response=e.file_contents_response?ge.toJSON(e.file_contents_response):void 0),u},create(e){return Se.fromPartial(e!=null?e:{})},fromPartial(e){const u=Ar();return u.ready=e.ready!==void 0&&e.ready!==null?he.fromPartial(e.ready):void 0,u.format_list=e.format_list!==void 0&&e.format_list!==null?De.fromPartial(e.format_list):void 0,u.format_list_response=e.format_list_response!==void 0&&e.format_list_response!==null?ye.fromPartial(e.format_list_response):void 0,u.format_data_request=e.format_data_request!==void 0&&e.format_data_request!==null?xe.fromPartial(e.format_data_request):void 0,u.format_data_response=e.format_data_response!==void 0&&e.format_data_response!==null?Ae.fromPartial(e.format_data_response):void 0,u.file_contents_request=e.file_contents_request!==void 0&&e.file_contents_request!==null?Ce.fromPartial(e.file_contents_request):void 0,u.file_contents_response=e.file_contents_response!==void 0&&e.file_contents_response!==null?ge.fromPartial(e.file_contents_response):void 0,u}};function Cr(){return{display:0,x:0,y:0,width:0,height:0}}const I={encode(e,u=o.Writer.create()){return e.display!==0&&u.uint32(8).int32(e.display),e.x!==0&&u.uint32(16).sint32(e.x),e.y!==0&&u.uint32(24).sint32(e.y),e.width!==0&&u.uint32(32).int32(e.width),e.height!==0&&u.uint32(40).int32(e.height),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Cr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.display=r.int32();break;case 2:i.x=r.sint32();break;case 3:i.y=r.sint32();break;case 4:i.width=r.int32();break;case 5:i.height=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{display:a(e.display)?Number(e.display):0,x:a(e.x)?Number(e.x):0,y:a(e.y)?Number(e.y):0,width:a(e.width)?Number(e.width):0,height:a(e.height)?Number(e.height):0}},toJSON(e){const u={};return e.display!==void 0&&(u.display=Math.round(e.display)),e.x!==void 0&&(u.x=Math.round(e.x)),e.y!==void 0&&(u.y=Math.round(e.y)),e.width!==void 0&&(u.width=Math.round(e.width)),e.height!==void 0&&(u.height=Math.round(e.height)),u},create(e){return I.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s;const u=Cr();return u.display=(r=e.display)!=null?r:0,u.x=(n=e.x)!=null?n:0,u.y=(i=e.y)!=null?i:0,u.width=(t=e.width)!=null?t:0,u.height=(s=e.height)!=null?s:0,u}};function gr(){return{permission:0,enabled:!1}}const Be={encode(e,u=o.Writer.create()){return e.permission!==0&&u.uint32(8).int32(e.permission),e.enabled===!0&&u.uint32(16).bool(e.enabled),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=gr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.permission=r.int32();break;case 2:i.enabled=r.bool();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{permission:a(e.permission)?Ii(e.permission):0,enabled:a(e.enabled)?Boolean(e.enabled):!1}},toJSON(e){const u={};return e.permission!==void 0&&(u.permission=Ti(e.permission)),e.enabled!==void 0&&(u.enabled=e.enabled),u},create(e){return Be.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=gr();return u.permission=(r=e.permission)!=null?r:0,u.enabled=(n=e.enabled)!=null?n:!1,u}};function Sr(){return{image_quality:0,lock_after_session_end:0,show_remote_cursor:0,privacy_mode:0,block_input:0,custom_image_quality:0,disable_audio:0,disable_clipboard:0,enable_file_transfer:0}}const _={encode(e,u=o.Writer.create()){return e.image_quality!==0&&u.uint32(8).int32(e.image_quality),e.lock_after_session_end!==0&&u.uint32(16).int32(e.lock_after_session_end),e.show_remote_cursor!==0&&u.uint32(24).int32(e.show_remote_cursor),e.privacy_mode!==0&&u.uint32(32).int32(e.privacy_mode),e.block_input!==0&&u.uint32(40).int32(e.block_input),e.custom_image_quality!==0&&u.uint32(48).int32(e.custom_image_quality),e.disable_audio!==0&&u.uint32(56).int32(e.disable_audio),e.disable_clipboard!==0&&u.uint32(64).int32(e.disable_clipboard),e.enable_file_transfer!==0&&u.uint32(72).int32(e.enable_file_transfer),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Sr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.image_quality=r.int32();break;case 2:i.lock_after_session_end=r.int32();break;case 3:i.show_remote_cursor=r.int32();break;case 4:i.privacy_mode=r.int32();break;case 5:i.block_input=r.int32();break;case 6:i.custom_image_quality=r.int32();break;case 7:i.disable_audio=r.int32();break;case 8:i.disable_clipboard=r.int32();break;case 9:i.enable_file_transfer=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{image_quality:a(e.image_quality)?bi(e.image_quality):0,lock_after_session_end:a(e.lock_after_session_end)?w(e.lock_after_session_end):0,show_remote_cursor:a(e.show_remote_cursor)?w(e.show_remote_cursor):0,privacy_mode:a(e.privacy_mode)?w(e.privacy_mode):0,block_input:a(e.block_input)?w(e.block_input):0,custom_image_quality:a(e.custom_image_quality)?Number(e.custom_image_quality):0,disable_audio:a(e.disable_audio)?w(e.disable_audio):0,disable_clipboard:a(e.disable_clipboard)?w(e.disable_clipboard):0,enable_file_transfer:a(e.enable_file_transfer)?w(e.enable_file_transfer):0}},toJSON(e){const u={};return e.image_quality!==void 0&&(u.image_quality=Ni(e.image_quality)),e.lock_after_session_end!==void 0&&(u.lock_after_session_end=R(e.lock_after_session_end)),e.show_remote_cursor!==void 0&&(u.show_remote_cursor=R(e.show_remote_cursor)),e.privacy_mode!==void 0&&(u.privacy_mode=R(e.privacy_mode)),e.block_input!==void 0&&(u.block_input=R(e.block_input)),e.custom_image_quality!==void 0&&(u.custom_image_quality=Math.round(e.custom_image_quality)),e.disable_audio!==void 0&&(u.disable_audio=R(e.disable_audio)),e.disable_clipboard!==void 0&&(u.disable_clipboard=R(e.disable_clipboard)),e.enable_file_transfer!==void 0&&(u.enable_file_transfer=R(e.enable_file_transfer)),u},create(e){return _.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s,l,c,p,f;const u=Sr();return u.image_quality=(r=e.image_quality)!=null?r:0,u.lock_after_session_end=(n=e.lock_after_session_end)!=null?n:0,u.show_remote_cursor=(i=e.show_remote_cursor)!=null?i:0,u.privacy_mode=(t=e.privacy_mode)!=null?t:0,u.block_input=(s=e.block_input)!=null?s:0,u.custom_image_quality=(l=e.custom_image_quality)!=null?l:0,u.disable_audio=(c=e.disable_audio)!=null?c:0,u.disable_clipboard=(p=e.disable_clipboard)!=null?p:0,u.enable_file_transfer=(f=e.enable_file_transfer)!=null?f:0,u}};function Br(){return{time:0,from_client:!1}}const Pe={encode(e,u=o.Writer.create()){return e.time!==0&&u.uint32(8).int64(e.time),e.from_client===!0&&u.uint32(16).bool(e.from_client),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Br();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.time=S(r.int64());break;case 2:i.from_client=r.bool();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{time:a(e.time)?Number(e.time):0,from_client:a(e.from_client)?Boolean(e.from_client):!1}},toJSON(e){const u={};return e.time!==void 0&&(u.time=Math.round(e.time)),e.from_client!==void 0&&(u.from_client=e.from_client),u},create(e){return Pe.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=Br();return u.time=(r=e.time)!=null?r:0,u.from_client=(n=e.from_client)!=null?n:!1,u}};function Pr(){return{asymmetric_value:new Uint8Array,symmetric_value:new Uint8Array}}const E={encode(e,u=o.Writer.create()){return e.asymmetric_value.length!==0&&u.uint32(10).bytes(e.asymmetric_value),e.symmetric_value.length!==0&&u.uint32(18).bytes(e.symmetric_value),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Pr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.asymmetric_value=r.bytes();break;case 2:i.symmetric_value=r.bytes();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{asymmetric_value:a(e.asymmetric_value)?k(e.asymmetric_value):new Uint8Array,symmetric_value:a(e.symmetric_value)?k(e.symmetric_value):new Uint8Array}},toJSON(e){const u={};return e.asymmetric_value!==void 0&&(u.asymmetric_value=h(e.asymmetric_value!==void 0?e.asymmetric_value:new Uint8Array)),e.symmetric_value!==void 0&&(u.symmetric_value=h(e.symmetric_value!==void 0?e.symmetric_value:new Uint8Array)),u},create(e){return E.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=Pr();return u.asymmetric_value=(r=e.asymmetric_value)!=null?r:new Uint8Array,u.symmetric_value=(n=e.symmetric_value)!=null?n:new Uint8Array,u}};function wr(){return{id:new Uint8Array}}const we={encode(e,u=o.Writer.create()){return e.id.length!==0&&u.uint32(10).bytes(e.id),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=wr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.bytes();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:a(e.id)?k(e.id):new Uint8Array}},toJSON(e){const u={};return e.id!==void 0&&(u.id=h(e.id!==void 0?e.id:new Uint8Array)),u},create(e){return we.fromPartial(e!=null?e:{})},fromPartial(e){var r;const u=wr();return u.id=(r=e.id)!=null?r:new Uint8Array,u}};function Rr(){return{sample_rate:0,channels:0}}const Re={encode(e,u=o.Writer.create()){return e.sample_rate!==0&&u.uint32(8).uint32(e.sample_rate),e.channels!==0&&u.uint32(16).uint32(e.channels),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Rr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.sample_rate=r.uint32();break;case 2:i.channels=r.uint32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{sample_rate:a(e.sample_rate)?Number(e.sample_rate):0,channels:a(e.channels)?Number(e.channels):0}},toJSON(e){const u={};return e.sample_rate!==void 0&&(u.sample_rate=Math.round(e.sample_rate)),e.channels!==void 0&&(u.channels=Math.round(e.channels)),u},create(e){return Re.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=Rr();return u.sample_rate=(r=e.sample_rate)!=null?r:0,u.channels=(n=e.channels)!=null?n:0,u}};function br(){return{data:new Uint8Array,timestamp:0}}const be={encode(e,u=o.Writer.create()){return e.data.length!==0&&u.uint32(10).bytes(e.data),e.timestamp!==0&&u.uint32(16).int64(e.timestamp),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=br();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.data=r.bytes();break;case 2:i.timestamp=S(r.int64());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{data:a(e.data)?k(e.data):new Uint8Array,timestamp:a(e.timestamp)?Number(e.timestamp):0}},toJSON(e){const u={};return e.data!==void 0&&(u.data=h(e.data!==void 0?e.data:new Uint8Array)),e.timestamp!==void 0&&(u.timestamp=Math.round(e.timestamp)),u},create(e){return be.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=br();return u.data=(r=e.data)!=null?r:new Uint8Array,u.timestamp=(n=e.timestamp)!=null?n:0,u}};function Nr(){return{privacy_mode_state:void 0,block_input_state:void 0}}const Ne={encode(e,u=o.Writer.create()){return e.privacy_mode_state!==void 0&&u.uint32(8).int32(e.privacy_mode_state),e.block_input_state!==void 0&&u.uint32(16).int32(e.block_input_state),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Nr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.privacy_mode_state=r.int32();break;case 2:i.block_input_state=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{privacy_mode_state:a(e.privacy_mode_state)?Mi(e.privacy_mode_state):void 0,block_input_state:a(e.block_input_state)?zi(e.block_input_state):void 0}},toJSON(e){const u={};return e.privacy_mode_state!==void 0&&(u.privacy_mode_state=e.privacy_mode_state!==void 0?Li(e.privacy_mode_state):void 0),e.block_input_state!==void 0&&(u.block_input_state=e.block_input_state!==void 0?Oi(e.block_input_state):void 0),u},create(e){return Ne.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=Nr();return u.privacy_mode_state=(r=e.privacy_mode_state)!=null?r:void 0,u.block_input_state=(n=e.block_input_state)!=null?n:void 0,u}};function Ir(){return{chat_message:void 0,switch_display:void 0,permission_info:void 0,option:void 0,audio_format:void 0,close_reason:void 0,refresh_video:void 0,video_received:void 0,back_notification:void 0}}const A={encode(e,u=o.Writer.create()){return e.chat_message!==void 0&&Y.encode(e.chat_message,u.uint32(34).fork()).ldelim(),e.switch_display!==void 0&&I.encode(e.switch_display,u.uint32(42).fork()).ldelim(),e.permission_info!==void 0&&Be.encode(e.permission_info,u.uint32(50).fork()).ldelim(),e.option!==void 0&&_.encode(e.option,u.uint32(58).fork()).ldelim(),e.audio_format!==void 0&&Re.encode(e.audio_format,u.uint32(66).fork()).ldelim(),e.close_reason!==void 0&&u.uint32(74).string(e.close_reason),e.refresh_video!==void 0&&u.uint32(80).bool(e.refresh_video),e.video_received!==void 0&&u.uint32(96).bool(e.video_received),e.back_notification!==void 0&&Ne.encode(e.back_notification,u.uint32(106).fork()).ldelim(),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Ir();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 4:i.chat_message=Y.decode(r,r.uint32());break;case 5:i.switch_display=I.decode(r,r.uint32());break;case 6:i.permission_info=Be.decode(r,r.uint32());break;case 7:i.option=_.decode(r,r.uint32());break;case 8:i.audio_format=Re.decode(r,r.uint32());break;case 9:i.close_reason=r.string();break;case 10:i.refresh_video=r.bool();break;case 12:i.video_received=r.bool();break;case 13:i.back_notification=Ne.decode(r,r.uint32());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{chat_message:a(e.chat_message)?Y.fromJSON(e.chat_message):void 0,switch_display:a(e.switch_display)?I.fromJSON(e.switch_display):void 0,permission_info:a(e.permission_info)?Be.fromJSON(e.permission_info):void 0,option:a(e.option)?_.fromJSON(e.option):void 0,audio_format:a(e.audio_format)?Re.fromJSON(e.audio_format):void 0,close_reason:a(e.close_reason)?String(e.close_reason):void 0,refresh_video:a(e.refresh_video)?Boolean(e.refresh_video):void 0,video_received:a(e.video_received)?Boolean(e.video_received):void 0,back_notification:a(e.back_notification)?Ne.fromJSON(e.back_notification):void 0}},toJSON(e){const u={};return e.chat_message!==void 0&&(u.chat_message=e.chat_message?Y.toJSON(e.chat_message):void 0),e.switch_display!==void 0&&(u.switch_display=e.switch_display?I.toJSON(e.switch_display):void 0),e.permission_info!==void 0&&(u.permission_info=e.permission_info?Be.toJSON(e.permission_info):void 0),e.option!==void 0&&(u.option=e.option?_.toJSON(e.option):void 0),e.audio_format!==void 0&&(u.audio_format=e.audio_format?Re.toJSON(e.audio_format):void 0),e.close_reason!==void 0&&(u.close_reason=e.close_reason),e.refresh_video!==void 0&&(u.refresh_video=e.refresh_video),e.video_received!==void 0&&(u.video_received=e.video_received),e.back_notification!==void 0&&(u.back_notification=e.back_notification?Ne.toJSON(e.back_notification):void 0),u},create(e){return A.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i;const u=Ir();return u.chat_message=e.chat_message!==void 0&&e.chat_message!==null?Y.fromPartial(e.chat_message):void 0,u.switch_display=e.switch_display!==void 0&&e.switch_display!==null?I.fromPartial(e.switch_display):void 0,u.permission_info=e.permission_info!==void 0&&e.permission_info!==null?Be.fromPartial(e.permission_info):void 0,u.option=e.option!==void 0&&e.option!==null?_.fromPartial(e.option):void 0,u.audio_format=e.audio_format!==void 0&&e.audio_format!==null?Re.fromPartial(e.audio_format):void 0,u.close_reason=(r=e.close_reason)!=null?r:void 0,u.refresh_video=(n=e.refresh_video)!=null?n:void 0,u.video_received=(i=e.video_received)!=null?i:void 0,u.back_notification=e.back_notification!==void 0&&e.back_notification!==null?Ne.fromPartial(e.back_notification):void 0,u}};function Tr(){return{signed_id:void 0,public_key:void 0,test_delay:void 0,video_frame:void 0,login_request:void 0,login_response:void 0,hash:void 0,mouse_event:void 0,audio_frame:void 0,cursor_data:void 0,cursor_position:void 0,cursor_id:void 0,key_event:void 0,clipboard:void 0,file_action:void 0,file_response:void 0,misc:void 0,cliprdr:void 0}}const je={encode(e,u=o.Writer.create()){return e.signed_id!==void 0&&we.encode(e.signed_id,u.uint32(26).fork()).ldelim(),e.public_key!==void 0&&E.encode(e.public_key,u.uint32(34).fork()).ldelim(),e.test_delay!==void 0&&Pe.encode(e.test_delay,u.uint32(42).fork()).ldelim(),e.video_frame!==void 0&&H.encode(e.video_frame,u.uint32(50).fork()).ldelim(),e.login_request!==void 0&&b.encode(e.login_request,u.uint32(58).fork()).ldelim(),e.login_response!==void 0&&$.encode(e.login_response,u.uint32(66).fork()).ldelim(),e.hash!==void 0&&ue.encode(e.hash,u.uint32(74).fork()).ldelim(),e.mouse_event!==void 0&&N.encode(e.mouse_event,u.uint32(82).fork()).ldelim(),e.audio_frame!==void 0&&be.encode(e.audio_frame,u.uint32(90).fork()).ldelim(),e.cursor_data!==void 0&&j.encode(e.cursor_data,u.uint32(98).fork()).ldelim(),e.cursor_position!==void 0&&ee.encode(e.cursor_position,u.uint32(106).fork()).ldelim(),e.cursor_id!==void 0&&u.uint32(112).uint64(e.cursor_id),e.key_event!==void 0&&m.encode(e.key_event,u.uint32(122).fork()).ldelim(),e.clipboard!==void 0&&re.encode(e.clipboard,u.uint32(130).fork()).ldelim(),e.file_action!==void 0&&oe.encode(e.file_action,u.uint32(138).fork()).ldelim(),e.file_response!==void 0&&se.encode(e.file_response,u.uint32(146).fork()).ldelim(),e.misc!==void 0&&A.encode(e.misc,u.uint32(154).fork()).ldelim(),e.cliprdr!==void 0&&Se.encode(e.cliprdr,u.uint32(162).fork()).ldelim(),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Tr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 3:i.signed_id=we.decode(r,r.uint32());break;case 4:i.public_key=E.decode(r,r.uint32());break;case 5:i.test_delay=Pe.decode(r,r.uint32());break;case 6:i.video_frame=H.decode(r,r.uint32());break;case 7:i.login_request=b.decode(r,r.uint32());break;case 8:i.login_response=$.decode(r,r.uint32());break;case 9:i.hash=ue.decode(r,r.uint32());break;case 10:i.mouse_event=N.decode(r,r.uint32());break;case 11:i.audio_frame=be.decode(r,r.uint32());break;case 12:i.cursor_data=j.decode(r,r.uint32());break;case 13:i.cursor_position=ee.decode(r,r.uint32());break;case 14:i.cursor_id=S(r.uint64());break;case 15:i.key_event=m.decode(r,r.uint32());break;case 16:i.clipboard=re.decode(r,r.uint32());break;case 17:i.file_action=oe.decode(r,r.uint32());break;case 18:i.file_response=se.decode(r,r.uint32());break;case 19:i.misc=A.decode(r,r.uint32());break;case 20:i.cliprdr=Se.decode(r,r.uint32());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{signed_id:a(e.signed_id)?we.fromJSON(e.signed_id):void 0,public_key:a(e.public_key)?E.fromJSON(e.public_key):void 0,test_delay:a(e.test_delay)?Pe.fromJSON(e.test_delay):void 0,video_frame:a(e.video_frame)?H.fromJSON(e.video_frame):void 0,login_request:a(e.login_request)?b.fromJSON(e.login_request):void 0,login_response:a(e.login_response)?$.fromJSON(e.login_response):void 0,hash:a(e.hash)?ue.fromJSON(e.hash):void 0,mouse_event:a(e.mouse_event)?N.fromJSON(e.mouse_event):void 0,audio_frame:a(e.audio_frame)?be.fromJSON(e.audio_frame):void 0,cursor_data:a(e.cursor_data)?j.fromJSON(e.cursor_data):void 0,cursor_position:a(e.cursor_position)?ee.fromJSON(e.cursor_position):void 0,cursor_id:a(e.cursor_id)?Number(e.cursor_id):void 0,key_event:a(e.key_event)?m.fromJSON(e.key_event):void 0,clipboard:a(e.clipboard)?re.fromJSON(e.clipboard):void 0,file_action:a(e.file_action)?oe.fromJSON(e.file_action):void 0,file_response:a(e.file_response)?se.fromJSON(e.file_response):void 0,misc:a(e.misc)?A.fromJSON(e.misc):void 0,cliprdr:a(e.cliprdr)?Se.fromJSON(e.cliprdr):void 0}},toJSON(e){const u={};return e.signed_id!==void 0&&(u.signed_id=e.signed_id?we.toJSON(e.signed_id):void 0),e.public_key!==void 0&&(u.public_key=e.public_key?E.toJSON(e.public_key):void 0),e.test_delay!==void 0&&(u.test_delay=e.test_delay?Pe.toJSON(e.test_delay):void 0),e.video_frame!==void 0&&(u.video_frame=e.video_frame?H.toJSON(e.video_frame):void 0),e.login_request!==void 0&&(u.login_request=e.login_request?b.toJSON(e.login_request):void 0),e.login_response!==void 0&&(u.login_response=e.login_response?$.toJSON(e.login_response):void 0),e.hash!==void 0&&(u.hash=e.hash?ue.toJSON(e.hash):void 0),e.mouse_event!==void 0&&(u.mouse_event=e.mouse_event?N.toJSON(e.mouse_event):void 0),e.audio_frame!==void 0&&(u.audio_frame=e.audio_frame?be.toJSON(e.audio_frame):void 0),e.cursor_data!==void 0&&(u.cursor_data=e.cursor_data?j.toJSON(e.cursor_data):void 0),e.cursor_position!==void 0&&(u.cursor_position=e.cursor_position?ee.toJSON(e.cursor_position):void 0),e.cursor_id!==void 0&&(u.cursor_id=Math.round(e.cursor_id)),e.key_event!==void 0&&(u.key_event=e.key_event?m.toJSON(e.key_event):void 0),e.clipboard!==void 0&&(u.clipboard=e.clipboard?re.toJSON(e.clipboard):void 0),e.file_action!==void 0&&(u.file_action=e.file_action?oe.toJSON(e.file_action):void 0),e.file_response!==void 0&&(u.file_response=e.file_response?se.toJSON(e.file_response):void 0),e.misc!==void 0&&(u.misc=e.misc?A.toJSON(e.misc):void 0),e.cliprdr!==void 0&&(u.cliprdr=e.cliprdr?Se.toJSON(e.cliprdr):void 0),u},create(e){return je.fromPartial(e!=null?e:{})},fromPartial(e){var r;const u=Tr();return u.signed_id=e.signed_id!==void 0&&e.signed_id!==null?we.fromPartial(e.signed_id):void 0,u.public_key=e.public_key!==void 0&&e.public_key!==null?E.fromPartial(e.public_key):void 0,u.test_delay=e.test_delay!==void 0&&e.test_delay!==null?Pe.fromPartial(e.test_delay):void 0,u.video_frame=e.video_frame!==void 0&&e.video_frame!==null?H.fromPartial(e.video_frame):void 0,u.login_request=e.login_request!==void 0&&e.login_request!==null?b.fromPartial(e.login_request):void 0,u.login_response=e.login_response!==void 0&&e.login_response!==null?$.fromPartial(e.login_response):void 0,u.hash=e.hash!==void 0&&e.hash!==null?ue.fromPartial(e.hash):void 0,u.mouse_event=e.mouse_event!==void 0&&e.mouse_event!==null?N.fromPartial(e.mouse_event):void 0,u.audio_frame=e.audio_frame!==void 0&&e.audio_frame!==null?be.fromPartial(e.audio_frame):void 0,u.cursor_data=e.cursor_data!==void 0&&e.cursor_data!==null?j.fromPartial(e.cursor_data):void 0,u.cursor_position=e.cursor_position!==void 0&&e.cursor_position!==null?ee.fromPartial(e.cursor_position):void 0,u.cursor_id=(r=e.cursor_id)!=null?r:void 0,u.key_event=e.key_event!==void 0&&e.key_event!==null?m.fromPartial(e.key_event):void 0,u.clipboard=e.clipboard!==void 0&&e.clipboard!==null?re.fromPartial(e.clipboard):void 0,u.file_action=e.file_action!==void 0&&e.file_action!==null?oe.fromPartial(e.file_action):void 0,u.file_response=e.file_response!==void 0&&e.file_response!==null?se.fromPartial(e.file_response):void 0,u.misc=e.misc!==void 0&&e.misc!==null?A.fromPartial(e.misc):void 0,u.cliprdr=e.cliprdr!==void 0&&e.cliprdr!==null?Se.fromPartial(e.cliprdr):void 0,u}};var O=(()=>{if(typeof globalThis!="undefined")return globalThis;if(typeof self!="undefined")return self;if(typeof window!="undefined")return window;if(typeof global!="undefined")return global;throw"Unable to locate global object"})();function k(e){if(O.Buffer)return Uint8Array.from(O.Buffer.from(e,"base64"));{const u=O.atob(e),r=new Uint8Array(u.length);for(let n=0;n<u.length;++n)r[n]=u.charCodeAt(n);return r}}function h(e){if(O.Buffer)return O.Buffer.from(e).toString("base64");{const u=[];return e.forEach(r=>{u.push(String.fromCharCode(r))}),O.btoa(u.join(""))}}function S(e){if(e.gt(Number.MAX_SAFE_INTEGER))throw new O.Error("Value is larger than Number.MAX_SAFE_INTEGER");return e.toNumber()}o.util.Long!==Pu&&(o.util.Long=Pu,o.configure());function a(e){return e!=null}var si=(e=>(e[e.DEFAULT_CONN=0]="DEFAULT_CONN",e[e.FILE_TRANSFER=1]="FILE_TRANSFER",e[e.PORT_FORWARD=2]="PORT_FORWARD",e[e.RDP=3]="RDP",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED",e))(si||{});function di(e){switch(e){case 0:case"DEFAULT_CONN":return 0;case 1:case"FILE_TRANSFER":return 1;case 2:case"PORT_FORWARD":return 2;case 3:case"RDP":return 3;case-1:case"UNRECOGNIZED":default:return-1}}function li(e){switch(e){case 0:return"DEFAULT_CONN";case 1:return"FILE_TRANSFER";case 2:return"PORT_FORWARD";case 3:return"RDP";case-1:default:return"UNRECOGNIZED"}}var ci=(e=>(e[e.UNKNOWN_NAT=0]="UNKNOWN_NAT",e[e.ASYMMETRIC=1]="ASYMMETRIC",e[e.SYMMETRIC=2]="SYMMETRIC",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED",e))(ci||{});function tu(e){switch(e){case 0:case"UNKNOWN_NAT":return 0;case 1:case"ASYMMETRIC":return 1;case 2:case"SYMMETRIC":return 2;case-1:case"UNRECOGNIZED":default:return-1}}function ou(e){switch(e){case 0:return"UNKNOWN_NAT";case 1:return"ASYMMETRIC";case 2:return"SYMMETRIC";case-1:default:return"UNRECOGNIZED"}}function qi(e){switch(e){case 0:case"OK":return 0;case 2:case"UUID_MISMATCH":return 2;case 3:case"ID_EXISTS":return 3;case 4:case"TOO_FREQUENT":return 4;case 5:case"INVALID_ID_FORMAT":return 5;case 6:case"NOT_SUPPORT":return 6;case 7:case"SERVER_ERROR":return 7;case-1:case"UNRECOGNIZED":default:return-1}}function Ui(e){switch(e){case 0:return"OK";case 2:return"UUID_MISMATCH";case 3:return"ID_EXISTS";case 4:return"TOO_FREQUENT";case 5:return"INVALID_ID_FORMAT";case 6:return"NOT_SUPPORT";case 7:return"SERVER_ERROR";case-1:default:return"UNRECOGNIZED"}}var Ie=(e=>(e[e.ID_NOT_EXIST=0]="ID_NOT_EXIST",e[e.OFFLINE=2]="OFFLINE",e[e.LICENSE_MISMATCH=3]="LICENSE_MISMATCH",e[e.LICENSE_OVERUSE=4]="LICENSE_OVERUSE",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED",e))(Ie||{});function Ji(e){switch(e){case 0:case"ID_NOT_EXIST":return 0;case 2:case"OFFLINE":return 2;case 3:case"LICENSE_MISMATCH":return 3;case 4:case"LICENSE_OVERUSE":return 4;case-1:case"UNRECOGNIZED":default:return-1}}function Vi(e){switch(e){case 0:return"ID_NOT_EXIST";case 2:return"OFFLINE";case 3:return"LICENSE_MISMATCH";case 4:return"LICENSE_OVERUSE";case-1:default:return"UNRECOGNIZED"}}function zr(){return{id:"",serial:0}}const Te={encode(e,u=o.Writer.create()){return e.id!==""&&u.uint32(10).string(e.id),e.serial!==0&&u.uint32(16).int32(e.serial),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=zr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.string();break;case 2:i.serial=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:d(e.id)?String(e.id):"",serial:d(e.serial)?Number(e.serial):0}},toJSON(e){const u={};return e.id!==void 0&&(u.id=e.id),e.serial!==void 0&&(u.serial=Math.round(e.serial)),u},create(e){return Te.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=zr();return u.id=(r=e.id)!=null?r:"",u.serial=(n=e.serial)!=null?n:0,u}};function Or(){return{request_pk:!1}}const ze={encode(e,u=o.Writer.create()){return e.request_pk===!0&&u.uint32(16).bool(e.request_pk),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Or();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 2:i.request_pk=r.bool();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{request_pk:d(e.request_pk)?Boolean(e.request_pk):!1}},toJSON(e){const u={};return e.request_pk!==void 0&&(u.request_pk=e.request_pk),u},create(e){return ze.fromPartial(e!=null?e:{})},fromPartial(e){var r;const u=Or();return u.request_pk=(r=e.request_pk)!=null?r:!1,u}};function Mr(){return{id:"",nat_type:0,licence_key:"",conn_type:0,token:""}}const T={encode(e,u=o.Writer.create()){return e.id!==""&&u.uint32(10).string(e.id),e.nat_type!==0&&u.uint32(16).int32(e.nat_type),e.licence_key!==""&&u.uint32(26).string(e.licence_key),e.conn_type!==0&&u.uint32(32).int32(e.conn_type),e.token!==""&&u.uint32(42).string(e.token),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Mr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.string();break;case 2:i.nat_type=r.int32();break;case 3:i.licence_key=r.string();break;case 4:i.conn_type=r.int32();break;case 5:i.token=r.string();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:d(e.id)?String(e.id):"",nat_type:d(e.nat_type)?tu(e.nat_type):0,licence_key:d(e.licence_key)?String(e.licence_key):"",conn_type:d(e.conn_type)?di(e.conn_type):0,token:d(e.token)?String(e.token):""}},toJSON(e){const u={};return e.id!==void 0&&(u.id=e.id),e.nat_type!==void 0&&(u.nat_type=ou(e.nat_type)),e.licence_key!==void 0&&(u.licence_key=e.licence_key),e.conn_type!==void 0&&(u.conn_type=li(e.conn_type)),e.token!==void 0&&(u.token=e.token),u},create(e){return T.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s;const u=Mr();return u.id=(r=e.id)!=null?r:"",u.nat_type=(n=e.nat_type)!=null?n:0,u.licence_key=(i=e.licence_key)!=null?i:"",u.conn_type=(t=e.conn_type)!=null?t:0,u.token=(s=e.token)!=null?s:"",u}};function Lr(){return{socket_addr:new Uint8Array,relay_server:"",nat_type:0}}const Oe={encode(e,u=o.Writer.create()){return e.socket_addr.length!==0&&u.uint32(10).bytes(e.socket_addr),e.relay_server!==""&&u.uint32(18).string(e.relay_server),e.nat_type!==0&&u.uint32(24).int32(e.nat_type),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Lr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.socket_addr=r.bytes();break;case 2:i.relay_server=r.string();break;case 3:i.nat_type=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{socket_addr:d(e.socket_addr)?F(e.socket_addr):new Uint8Array,relay_server:d(e.relay_server)?String(e.relay_server):"",nat_type:d(e.nat_type)?tu(e.nat_type):0}},toJSON(e){const u={};return e.socket_addr!==void 0&&(u.socket_addr=D(e.socket_addr!==void 0?e.socket_addr:new Uint8Array)),e.relay_server!==void 0&&(u.relay_server=e.relay_server),e.nat_type!==void 0&&(u.nat_type=ou(e.nat_type)),u},create(e){return Oe.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i;const u=Lr();return u.socket_addr=(r=e.socket_addr)!=null?r:new Uint8Array,u.relay_server=(n=e.relay_server)!=null?n:"",u.nat_type=(i=e.nat_type)!=null?i:0,u}};function qr(){return{serial:0}}const Me={encode(e,u=o.Writer.create()){return e.serial!==0&&u.uint32(8).int32(e.serial),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=qr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.serial=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{serial:d(e.serial)?Number(e.serial):0}},toJSON(e){const u={};return e.serial!==void 0&&(u.serial=Math.round(e.serial)),u},create(e){return Me.fromPartial(e!=null?e:{})},fromPartial(e){var r;const u=qr();return u.serial=(r=e.serial)!=null?r:0,u}};function Ur(){return{port:0,cu:void 0}}const Le={encode(e,u=o.Writer.create()){return e.port!==0&&u.uint32(8).int32(e.port),e.cu!==void 0&&C.encode(e.cu,u.uint32(18).fork()).ldelim(),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Ur();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.port=r.int32();break;case 2:i.cu=C.decode(r,r.uint32());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{port:d(e.port)?Number(e.port):0,cu:d(e.cu)?C.fromJSON(e.cu):void 0}},toJSON(e){const u={};return e.port!==void 0&&(u.port=Math.round(e.port)),e.cu!==void 0&&(u.cu=e.cu?C.toJSON(e.cu):void 0),u},create(e){return Le.fromPartial(e!=null?e:{})},fromPartial(e){var r;const u=Ur();return u.port=(r=e.port)!=null?r:0,u.cu=e.cu!==void 0&&e.cu!==null?C.fromPartial(e.cu):void 0,u}};function Jr(){return{socket_addr:new Uint8Array,id:"",relay_server:"",nat_type:0,version:""}}const qe={encode(e,u=o.Writer.create()){return e.socket_addr.length!==0&&u.uint32(10).bytes(e.socket_addr),e.id!==""&&u.uint32(18).string(e.id),e.relay_server!==""&&u.uint32(26).string(e.relay_server),e.nat_type!==0&&u.uint32(32).int32(e.nat_type),e.version!==""&&u.uint32(42).string(e.version),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Jr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.socket_addr=r.bytes();break;case 2:i.id=r.string();break;case 3:i.relay_server=r.string();break;case 4:i.nat_type=r.int32();break;case 5:i.version=r.string();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{socket_addr:d(e.socket_addr)?F(e.socket_addr):new Uint8Array,id:d(e.id)?String(e.id):"",relay_server:d(e.relay_server)?String(e.relay_server):"",nat_type:d(e.nat_type)?tu(e.nat_type):0,version:d(e.version)?String(e.version):""}},toJSON(e){const u={};return e.socket_addr!==void 0&&(u.socket_addr=D(e.socket_addr!==void 0?e.socket_addr:new Uint8Array)),e.id!==void 0&&(u.id=e.id),e.relay_server!==void 0&&(u.relay_server=e.relay_server),e.nat_type!==void 0&&(u.nat_type=ou(e.nat_type)),e.version!==void 0&&(u.version=e.version),u},create(e){return qe.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s;const u=Jr();return u.socket_addr=(r=e.socket_addr)!=null?r:new Uint8Array,u.id=(n=e.id)!=null?n:"",u.relay_server=(i=e.relay_server)!=null?i:"",u.nat_type=(t=e.nat_type)!=null?t:0,u.version=(s=e.version)!=null?s:"",u}};function Vr(){return{id:"",uuid:new Uint8Array,pk:new Uint8Array,old_id:""}}const Ue={encode(e,u=o.Writer.create()){return e.id!==""&&u.uint32(10).string(e.id),e.uuid.length!==0&&u.uint32(18).bytes(e.uuid),e.pk.length!==0&&u.uint32(26).bytes(e.pk),e.old_id!==""&&u.uint32(34).string(e.old_id),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Vr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.string();break;case 2:i.uuid=r.bytes();break;case 3:i.pk=r.bytes();break;case 4:i.old_id=r.string();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:d(e.id)?String(e.id):"",uuid:d(e.uuid)?F(e.uuid):new Uint8Array,pk:d(e.pk)?F(e.pk):new Uint8Array,old_id:d(e.old_id)?String(e.old_id):""}},toJSON(e){const u={};return e.id!==void 0&&(u.id=e.id),e.uuid!==void 0&&(u.uuid=D(e.uuid!==void 0?e.uuid:new Uint8Array)),e.pk!==void 0&&(u.pk=D(e.pk!==void 0?e.pk:new Uint8Array)),e.old_id!==void 0&&(u.old_id=e.old_id),u},create(e){return Ue.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t;const u=Vr();return u.id=(r=e.id)!=null?r:"",u.uuid=(n=e.uuid)!=null?n:new Uint8Array,u.pk=(i=e.pk)!=null?i:new Uint8Array,u.old_id=(t=e.old_id)!=null?t:"",u}};function Wr(){return{result:0}}const Je={encode(e,u=o.Writer.create()){return e.result!==0&&u.uint32(8).int32(e.result),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Wr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.result=r.int32();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{result:d(e.result)?qi(e.result):0}},toJSON(e){const u={};return e.result!==void 0&&(u.result=Ui(e.result)),u},create(e){return Je.fromPartial(e!=null?e:{})},fromPartial(e){var r;const u=Wr();return u.result=(r=e.result)!=null?r:0,u}};function Hr(){return{socket_addr:new Uint8Array,pk:new Uint8Array,failure:0,relay_server:"",nat_type:void 0,is_local:void 0,other_failure:""}}const Ve={encode(e,u=o.Writer.create()){return e.socket_addr.length!==0&&u.uint32(10).bytes(e.socket_addr),e.pk.length!==0&&u.uint32(18).bytes(e.pk),e.failure!==0&&u.uint32(24).int32(e.failure),e.relay_server!==""&&u.uint32(34).string(e.relay_server),e.nat_type!==void 0&&u.uint32(40).int32(e.nat_type),e.is_local!==void 0&&u.uint32(48).bool(e.is_local),e.other_failure!==""&&u.uint32(58).string(e.other_failure),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Hr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.socket_addr=r.bytes();break;case 2:i.pk=r.bytes();break;case 3:i.failure=r.int32();break;case 4:i.relay_server=r.string();break;case 5:i.nat_type=r.int32();break;case 6:i.is_local=r.bool();break;case 7:i.other_failure=r.string();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{socket_addr:d(e.socket_addr)?F(e.socket_addr):new Uint8Array,pk:d(e.pk)?F(e.pk):new Uint8Array,failure:d(e.failure)?Ji(e.failure):0,relay_server:d(e.relay_server)?String(e.relay_server):"",nat_type:d(e.nat_type)?tu(e.nat_type):void 0,is_local:d(e.is_local)?Boolean(e.is_local):void 0,other_failure:d(e.other_failure)?String(e.other_failure):""}},toJSON(e){const u={};return e.socket_addr!==void 0&&(u.socket_addr=D(e.socket_addr!==void 0?e.socket_addr:new Uint8Array)),e.pk!==void 0&&(u.pk=D(e.pk!==void 0?e.pk:new Uint8Array)),e.failure!==void 0&&(u.failure=Vi(e.failure)),e.relay_server!==void 0&&(u.relay_server=e.relay_server),e.nat_type!==void 0&&(u.nat_type=e.nat_type!==void 0?ou(e.nat_type):void 0),e.is_local!==void 0&&(u.is_local=e.is_local),e.other_failure!==void 0&&(u.other_failure=e.other_failure),u},create(e){return Ve.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s,l,c;const u=Hr();return u.socket_addr=(r=e.socket_addr)!=null?r:new Uint8Array,u.pk=(n=e.pk)!=null?n:new Uint8Array,u.failure=(i=e.failure)!=null?i:0,u.relay_server=(t=e.relay_server)!=null?t:"",u.nat_type=(s=e.nat_type)!=null?s:void 0,u.is_local=(l=e.is_local)!=null?l:void 0,u.other_failure=(c=e.other_failure)!=null?c:"",u}};function Kr(){return{serial:0,rendezvous_servers:[]}}const C={encode(e,u=o.Writer.create()){e.serial!==0&&u.uint32(8).int32(e.serial);for(const r of e.rendezvous_servers)u.uint32(18).string(r);return u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Kr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.serial=r.int32();break;case 2:i.rendezvous_servers.push(r.string());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{serial:d(e.serial)?Number(e.serial):0,rendezvous_servers:Array.isArray(e==null?void 0:e.rendezvous_servers)?e.rendezvous_servers.map(u=>String(u)):[]}},toJSON(e){const u={};return e.serial!==void 0&&(u.serial=Math.round(e.serial)),e.rendezvous_servers?u.rendezvous_servers=e.rendezvous_servers.map(r=>r):u.rendezvous_servers=[],u},create(e){return C.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=Kr();return u.serial=(r=e.serial)!=null?r:0,u.rendezvous_servers=((n=e.rendezvous_servers)==null?void 0:n.map(i=>i))||[],u}};function Zr(){return{id:"",uuid:"",socket_addr:new Uint8Array,relay_server:"",secure:!1,licence_key:"",conn_type:0,token:""}}const z={encode(e,u=o.Writer.create()){return e.id!==""&&u.uint32(10).string(e.id),e.uuid!==""&&u.uint32(18).string(e.uuid),e.socket_addr.length!==0&&u.uint32(26).bytes(e.socket_addr),e.relay_server!==""&&u.uint32(34).string(e.relay_server),e.secure===!0&&u.uint32(40).bool(e.secure),e.licence_key!==""&&u.uint32(50).string(e.licence_key),e.conn_type!==0&&u.uint32(56).int32(e.conn_type),e.token!==""&&u.uint32(66).string(e.token),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Zr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.id=r.string();break;case 2:i.uuid=r.string();break;case 3:i.socket_addr=r.bytes();break;case 4:i.relay_server=r.string();break;case 5:i.secure=r.bool();break;case 6:i.licence_key=r.string();break;case 7:i.conn_type=r.int32();break;case 8:i.token=r.string();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{id:d(e.id)?String(e.id):"",uuid:d(e.uuid)?String(e.uuid):"",socket_addr:d(e.socket_addr)?F(e.socket_addr):new Uint8Array,relay_server:d(e.relay_server)?String(e.relay_server):"",secure:d(e.secure)?Boolean(e.secure):!1,licence_key:d(e.licence_key)?String(e.licence_key):"",conn_type:d(e.conn_type)?di(e.conn_type):0,token:d(e.token)?String(e.token):""}},toJSON(e){const u={};return e.id!==void 0&&(u.id=e.id),e.uuid!==void 0&&(u.uuid=e.uuid),e.socket_addr!==void 0&&(u.socket_addr=D(e.socket_addr!==void 0?e.socket_addr:new Uint8Array)),e.relay_server!==void 0&&(u.relay_server=e.relay_server),e.secure!==void 0&&(u.secure=e.secure),e.licence_key!==void 0&&(u.licence_key=e.licence_key),e.conn_type!==void 0&&(u.conn_type=li(e.conn_type)),e.token!==void 0&&(u.token=e.token),u},create(e){return z.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s,l,c,p;const u=Zr();return u.id=(r=e.id)!=null?r:"",u.uuid=(n=e.uuid)!=null?n:"",u.socket_addr=(i=e.socket_addr)!=null?i:new Uint8Array,u.relay_server=(t=e.relay_server)!=null?t:"",u.secure=(s=e.secure)!=null?s:!1,u.licence_key=(l=e.licence_key)!=null?l:"",u.conn_type=(c=e.conn_type)!=null?c:0,u.token=(p=e.token)!=null?p:"",u}};function Gr(){return{socket_addr:new Uint8Array,uuid:"",relay_server:"",id:void 0,pk:void 0,refuse_reason:"",version:""}}const We={encode(e,u=o.Writer.create()){return e.socket_addr.length!==0&&u.uint32(10).bytes(e.socket_addr),e.uuid!==""&&u.uint32(18).string(e.uuid),e.relay_server!==""&&u.uint32(26).string(e.relay_server),e.id!==void 0&&u.uint32(34).string(e.id),e.pk!==void 0&&u.uint32(42).bytes(e.pk),e.refuse_reason!==""&&u.uint32(50).string(e.refuse_reason),e.version!==""&&u.uint32(58).string(e.version),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Gr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.socket_addr=r.bytes();break;case 2:i.uuid=r.string();break;case 3:i.relay_server=r.string();break;case 4:i.id=r.string();break;case 5:i.pk=r.bytes();break;case 6:i.refuse_reason=r.string();break;case 7:i.version=r.string();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{socket_addr:d(e.socket_addr)?F(e.socket_addr):new Uint8Array,uuid:d(e.uuid)?String(e.uuid):"",relay_server:d(e.relay_server)?String(e.relay_server):"",id:d(e.id)?String(e.id):void 0,pk:d(e.pk)?F(e.pk):void 0,refuse_reason:d(e.refuse_reason)?String(e.refuse_reason):"",version:d(e.version)?String(e.version):""}},toJSON(e){const u={};return e.socket_addr!==void 0&&(u.socket_addr=D(e.socket_addr!==void 0?e.socket_addr:new Uint8Array)),e.uuid!==void 0&&(u.uuid=e.uuid),e.relay_server!==void 0&&(u.relay_server=e.relay_server),e.id!==void 0&&(u.id=e.id),e.pk!==void 0&&(u.pk=e.pk!==void 0?D(e.pk):void 0),e.refuse_reason!==void 0&&(u.refuse_reason=e.refuse_reason),e.version!==void 0&&(u.version=e.version),u},create(e){return We.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s,l,c;const u=Gr();return u.socket_addr=(r=e.socket_addr)!=null?r:new Uint8Array,u.uuid=(n=e.uuid)!=null?n:"",u.relay_server=(i=e.relay_server)!=null?i:"",u.id=(t=e.id)!=null?t:void 0,u.pk=(s=e.pk)!=null?s:void 0,u.refuse_reason=(l=e.refuse_reason)!=null?l:"",u.version=(c=e.version)!=null?c:"",u}};function Yr(){return{url:""}}const He={encode(e,u=o.Writer.create()){return e.url!==""&&u.uint32(10).string(e.url),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Yr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.url=r.string();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{url:d(e.url)?String(e.url):""}},toJSON(e){const u={};return e.url!==void 0&&(u.url=e.url),u},create(e){return He.fromPartial(e!=null?e:{})},fromPartial(e){var r;const u=Yr();return u.url=(r=e.url)!=null?r:"",u}};function Qr(){return{socket_addr:new Uint8Array,relay_server:""}}const Ke={encode(e,u=o.Writer.create()){return e.socket_addr.length!==0&&u.uint32(10).bytes(e.socket_addr),e.relay_server!==""&&u.uint32(18).string(e.relay_server),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Qr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.socket_addr=r.bytes();break;case 2:i.relay_server=r.string();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{socket_addr:d(e.socket_addr)?F(e.socket_addr):new Uint8Array,relay_server:d(e.relay_server)?String(e.relay_server):""}},toJSON(e){const u={};return e.socket_addr!==void 0&&(u.socket_addr=D(e.socket_addr!==void 0?e.socket_addr:new Uint8Array)),e.relay_server!==void 0&&(u.relay_server=e.relay_server),u},create(e){return Ke.fromPartial(e!=null?e:{})},fromPartial(e){var r,n;const u=Qr();return u.socket_addr=(r=e.socket_addr)!=null?r:new Uint8Array,u.relay_server=(n=e.relay_server)!=null?n:"",u}};function Xr(){return{socket_addr:new Uint8Array,local_addr:new Uint8Array,relay_server:"",id:"",version:""}}const Ze={encode(e,u=o.Writer.create()){return e.socket_addr.length!==0&&u.uint32(10).bytes(e.socket_addr),e.local_addr.length!==0&&u.uint32(18).bytes(e.local_addr),e.relay_server!==""&&u.uint32(26).string(e.relay_server),e.id!==""&&u.uint32(34).string(e.id),e.version!==""&&u.uint32(42).string(e.version),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=Xr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.socket_addr=r.bytes();break;case 2:i.local_addr=r.bytes();break;case 3:i.relay_server=r.string();break;case 4:i.id=r.string();break;case 5:i.version=r.string();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{socket_addr:d(e.socket_addr)?F(e.socket_addr):new Uint8Array,local_addr:d(e.local_addr)?F(e.local_addr):new Uint8Array,relay_server:d(e.relay_server)?String(e.relay_server):"",id:d(e.id)?String(e.id):"",version:d(e.version)?String(e.version):""}},toJSON(e){const u={};return e.socket_addr!==void 0&&(u.socket_addr=D(e.socket_addr!==void 0?e.socket_addr:new Uint8Array)),e.local_addr!==void 0&&(u.local_addr=D(e.local_addr!==void 0?e.local_addr:new Uint8Array)),e.relay_server!==void 0&&(u.relay_server=e.relay_server),e.id!==void 0&&(u.id=e.id),e.version!==void 0&&(u.version=e.version),u},create(e){return Ze.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s;const u=Xr();return u.socket_addr=(r=e.socket_addr)!=null?r:new Uint8Array,u.local_addr=(n=e.local_addr)!=null?n:new Uint8Array,u.relay_server=(i=e.relay_server)!=null?i:"",u.id=(t=e.id)!=null?t:"",u.version=(s=e.version)!=null?s:"",u}};function $r(){return{cmd:"",mac:"",id:"",username:"",hostname:"",platform:"",misc:""}}const Ge={encode(e,u=o.Writer.create()){return e.cmd!==""&&u.uint32(10).string(e.cmd),e.mac!==""&&u.uint32(18).string(e.mac),e.id!==""&&u.uint32(26).string(e.id),e.username!==""&&u.uint32(34).string(e.username),e.hostname!==""&&u.uint32(42).string(e.hostname),e.platform!==""&&u.uint32(50).string(e.platform),e.misc!==""&&u.uint32(58).string(e.misc),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=$r();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 1:i.cmd=r.string();break;case 2:i.mac=r.string();break;case 3:i.id=r.string();break;case 4:i.username=r.string();break;case 5:i.hostname=r.string();break;case 6:i.platform=r.string();break;case 7:i.misc=r.string();break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{cmd:d(e.cmd)?String(e.cmd):"",mac:d(e.mac)?String(e.mac):"",id:d(e.id)?String(e.id):"",username:d(e.username)?String(e.username):"",hostname:d(e.hostname)?String(e.hostname):"",platform:d(e.platform)?String(e.platform):"",misc:d(e.misc)?String(e.misc):""}},toJSON(e){const u={};return e.cmd!==void 0&&(u.cmd=e.cmd),e.mac!==void 0&&(u.mac=e.mac),e.id!==void 0&&(u.id=e.id),e.username!==void 0&&(u.username=e.username),e.hostname!==void 0&&(u.hostname=e.hostname),e.platform!==void 0&&(u.platform=e.platform),e.misc!==void 0&&(u.misc=e.misc),u},create(e){return Ge.fromPartial(e!=null?e:{})},fromPartial(e){var r,n,i,t,s,l,c;const u=$r();return u.cmd=(r=e.cmd)!=null?r:"",u.mac=(n=e.mac)!=null?n:"",u.id=(i=e.id)!=null?i:"",u.username=(t=e.username)!=null?t:"",u.hostname=(s=e.hostname)!=null?s:"",u.platform=(l=e.platform)!=null?l:"",u.misc=(c=e.misc)!=null?c:"",u}};function jr(){return{register_peer:void 0,register_peer_response:void 0,punch_hole_request:void 0,punch_hole:void 0,punch_hole_sent:void 0,punch_hole_response:void 0,fetch_local_addr:void 0,local_addr:void 0,configure_update:void 0,register_pk:void 0,register_pk_response:void 0,software_update:void 0,request_relay:void 0,relay_response:void 0,test_nat_request:void 0,test_nat_response:void 0,peer_discovery:void 0}}const eu={encode(e,u=o.Writer.create()){return e.register_peer!==void 0&&Te.encode(e.register_peer,u.uint32(50).fork()).ldelim(),e.register_peer_response!==void 0&&ze.encode(e.register_peer_response,u.uint32(58).fork()).ldelim(),e.punch_hole_request!==void 0&&T.encode(e.punch_hole_request,u.uint32(66).fork()).ldelim(),e.punch_hole!==void 0&&Oe.encode(e.punch_hole,u.uint32(74).fork()).ldelim(),e.punch_hole_sent!==void 0&&qe.encode(e.punch_hole_sent,u.uint32(82).fork()).ldelim(),e.punch_hole_response!==void 0&&Ve.encode(e.punch_hole_response,u.uint32(90).fork()).ldelim(),e.fetch_local_addr!==void 0&&Ke.encode(e.fetch_local_addr,u.uint32(98).fork()).ldelim(),e.local_addr!==void 0&&Ze.encode(e.local_addr,u.uint32(106).fork()).ldelim(),e.configure_update!==void 0&&C.encode(e.configure_update,u.uint32(114).fork()).ldelim(),e.register_pk!==void 0&&Ue.encode(e.register_pk,u.uint32(122).fork()).ldelim(),e.register_pk_response!==void 0&&Je.encode(e.register_pk_response,u.uint32(130).fork()).ldelim(),e.software_update!==void 0&&He.encode(e.software_update,u.uint32(138).fork()).ldelim(),e.request_relay!==void 0&&z.encode(e.request_relay,u.uint32(146).fork()).ldelim(),e.relay_response!==void 0&&We.encode(e.relay_response,u.uint32(154).fork()).ldelim(),e.test_nat_request!==void 0&&Me.encode(e.test_nat_request,u.uint32(162).fork()).ldelim(),e.test_nat_response!==void 0&&Le.encode(e.test_nat_response,u.uint32(170).fork()).ldelim(),e.peer_discovery!==void 0&&Ge.encode(e.peer_discovery,u.uint32(178).fork()).ldelim(),u},decode(e,u){const r=e instanceof o.Reader?e:new o.Reader(e);let n=u===void 0?r.len:r.pos+u;const i=jr();for(;r.pos<n;){const t=r.uint32();switch(t>>>3){case 6:i.register_peer=Te.decode(r,r.uint32());break;case 7:i.register_peer_response=ze.decode(r,r.uint32());break;case 8:i.punch_hole_request=T.decode(r,r.uint32());break;case 9:i.punch_hole=Oe.decode(r,r.uint32());break;case 10:i.punch_hole_sent=qe.decode(r,r.uint32());break;case 11:i.punch_hole_response=Ve.decode(r,r.uint32());break;case 12:i.fetch_local_addr=Ke.decode(r,r.uint32());break;case 13:i.local_addr=Ze.decode(r,r.uint32());break;case 14:i.configure_update=C.decode(r,r.uint32());break;case 15:i.register_pk=Ue.decode(r,r.uint32());break;case 16:i.register_pk_response=Je.decode(r,r.uint32());break;case 17:i.software_update=He.decode(r,r.uint32());break;case 18:i.request_relay=z.decode(r,r.uint32());break;case 19:i.relay_response=We.decode(r,r.uint32());break;case 20:i.test_nat_request=Me.decode(r,r.uint32());break;case 21:i.test_nat_response=Le.decode(r,r.uint32());break;case 22:i.peer_discovery=Ge.decode(r,r.uint32());break;default:r.skipType(t&7);break}}return i},fromJSON(e){return{register_peer:d(e.register_peer)?Te.fromJSON(e.register_peer):void 0,register_peer_response:d(e.register_peer_response)?ze.fromJSON(e.register_peer_response):void 0,punch_hole_request:d(e.punch_hole_request)?T.fromJSON(e.punch_hole_request):void 0,punch_hole:d(e.punch_hole)?Oe.fromJSON(e.punch_hole):void 0,punch_hole_sent:d(e.punch_hole_sent)?qe.fromJSON(e.punch_hole_sent):void 0,punch_hole_response:d(e.punch_hole_response)?Ve.fromJSON(e.punch_hole_response):void 0,fetch_local_addr:d(e.fetch_local_addr)?Ke.fromJSON(e.fetch_local_addr):void 0,local_addr:d(e.local_addr)?Ze.fromJSON(e.local_addr):void 0,configure_update:d(e.configure_update)?C.fromJSON(e.configure_update):void 0,register_pk:d(e.register_pk)?Ue.fromJSON(e.register_pk):void 0,register_pk_response:d(e.register_pk_response)?Je.fromJSON(e.register_pk_response):void 0,software_update:d(e.software_update)?He.fromJSON(e.software_update):void 0,request_relay:d(e.request_relay)?z.fromJSON(e.request_relay):void 0,relay_response:d(e.relay_response)?We.fromJSON(e.relay_response):void 0,test_nat_request:d(e.test_nat_request)?Me.fromJSON(e.test_nat_request):void 0,test_nat_response:d(e.test_nat_response)?Le.fromJSON(e.test_nat_response):void 0,peer_discovery:d(e.peer_discovery)?Ge.fromJSON(e.peer_discovery):void 0}},toJSON(e){const u={};return e.register_peer!==void 0&&(u.register_peer=e.register_peer?Te.toJSON(e.register_peer):void 0),e.register_peer_response!==void 0&&(u.register_peer_response=e.register_peer_response?ze.toJSON(e.register_peer_response):void 0),e.punch_hole_request!==void 0&&(u.punch_hole_request=e.punch_hole_request?T.toJSON(e.punch_hole_request):void 0),e.punch_hole!==void 0&&(u.punch_hole=e.punch_hole?Oe.toJSON(e.punch_hole):void 0),e.punch_hole_sent!==void 0&&(u.punch_hole_sent=e.punch_hole_sent?qe.toJSON(e.punch_hole_sent):void 0),e.punch_hole_response!==void 0&&(u.punch_hole_response=e.punch_hole_response?Ve.toJSON(e.punch_hole_response):void 0),e.fetch_local_addr!==void 0&&(u.fetch_local_addr=e.fetch_local_addr?Ke.toJSON(e.fetch_local_addr):void 0),e.local_addr!==void 0&&(u.local_addr=e.local_addr?Ze.toJSON(e.local_addr):void 0),e.configure_update!==void 0&&(u.configure_update=e.configure_update?C.toJSON(e.configure_update):void 0),e.register_pk!==void 0&&(u.register_pk=e.register_pk?Ue.toJSON(e.register_pk):void 0),e.register_pk_response!==void 0&&(u.register_pk_response=e.register_pk_response?Je.toJSON(e.register_pk_response):void 0),e.software_update!==void 0&&(u.software_update=e.software_update?He.toJSON(e.software_update):void 0),e.request_relay!==void 0&&(u.request_relay=e.request_relay?z.toJSON(e.request_relay):void 0),e.relay_response!==void 0&&(u.relay_response=e.relay_response?We.toJSON(e.relay_response):void 0),e.test_nat_request!==void 0&&(u.test_nat_request=e.test_nat_request?Me.toJSON(e.test_nat_request):void 0),e.test_nat_response!==void 0&&(u.test_nat_response=e.test_nat_response?Le.toJSON(e.test_nat_response):void 0),e.peer_discovery!==void 0&&(u.peer_discovery=e.peer_discovery?Ge.toJSON(e.peer_discovery):void 0),u},create(e){return eu.fromPartial(e!=null?e:{})},fromPartial(e){const u=jr();return u.register_peer=e.register_peer!==void 0&&e.register_peer!==null?Te.fromPartial(e.register_peer):void 0,u.register_peer_response=e.register_peer_response!==void 0&&e.register_peer_response!==null?ze.fromPartial(e.register_peer_response):void 0,u.punch_hole_request=e.punch_hole_request!==void 0&&e.punch_hole_request!==null?T.fromPartial(e.punch_hole_request):void 0,u.punch_hole=e.punch_hole!==void 0&&e.punch_hole!==null?Oe.fromPartial(e.punch_hole):void 0,u.punch_hole_sent=e.punch_hole_sent!==void 0&&e.punch_hole_sent!==null?qe.fromPartial(e.punch_hole_sent):void 0,u.punch_hole_response=e.punch_hole_response!==void 0&&e.punch_hole_response!==null?Ve.fromPartial(e.punch_hole_response):void 0,u.fetch_local_addr=e.fetch_local_addr!==void 0&&e.fetch_local_addr!==null?Ke.fromPartial(e.fetch_local_addr):void 0,u.local_addr=e.local_addr!==void 0&&e.local_addr!==null?Ze.fromPartial(e.local_addr):void 0,u.configure_update=e.configure_update!==void 0&&e.configure_update!==null?C.fromPartial(e.configure_update):void 0,u.register_pk=e.register_pk!==void 0&&e.register_pk!==null?Ue.fromPartial(e.register_pk):void 0,u.register_pk_response=e.register_pk_response!==void 0&&e.register_pk_response!==null?Je.fromPartial(e.register_pk_response):void 0,u.software_update=e.software_update!==void 0&&e.software_update!==null?He.fromPartial(e.software_update):void 0,u.request_relay=e.request_relay!==void 0&&e.request_relay!==null?z.fromPartial(e.request_relay):void 0,u.relay_response=e.relay_response!==void 0&&e.relay_response!==null?We.fromPartial(e.relay_response):void 0,u.test_nat_request=e.test_nat_request!==void 0&&e.test_nat_request!==null?Me.fromPartial(e.test_nat_request):void 0,u.test_nat_response=e.test_nat_response!==void 0&&e.test_nat_response!==null?Le.fromPartial(e.test_nat_response):void 0,u.peer_discovery=e.peer_discovery!==void 0&&e.peer_discovery!==null?Ge.fromPartial(e.peer_discovery):void 0,u}};var Ye=(()=>{if(typeof globalThis!="undefined")return globalThis;if(typeof self!="undefined")return self;if(typeof window!="undefined")return window;if(typeof global!="undefined")return global;throw"Unable to locate global object"})();function F(e){if(Ye.Buffer)return Uint8Array.from(Ye.Buffer.from(e,"base64"));{const u=Ye.atob(e),r=new Uint8Array(u.length);for(let n=0;n<u.length;++n)r[n]=u.charCodeAt(n);return r}}function D(e){if(Ye.Buffer)return Ye.Buffer.from(e).toString("base64");{const u=[];return e.forEach(r=>{u.push(String.fromCharCode(r))}),Ye.btoa(u.join(""))}}function d(e){return e!=null}class _u{constructor(u,r=!0){v(this,"_websocket");v(this,"_eventHandlers");v(this,"_buf");v(this,"_status");v(this,"_latency");v(this,"_secretKey");v(this,"_uri");v(this,"_isRendezvous");this._eventHandlers={message:n=>{},open:()=>{},close:()=>{},error:()=>{}},this._uri=u,this._status="",this._buf=[],this._websocket=new WebSocket(u),this._websocket.onmessage=this._recv_message.bind(this),this._websocket.binaryType="arraybuffer",this._latency=new Date().getTime(),this._isRendezvous=r}latency(){return this._latency}setSecretKey(u){this._secretKey=[u,0,0]}sendMessage(u){let r=je.encode(je.fromPartial(u)).finish(),n=this._secretKey;n&&(n[1]+=1,r=pn(r,n[1],n[0])),this._websocket.send(r)}sendRendezvous(u){this._websocket.send(eu.encode(eu.fromPartial(u)).finish())}parseMessage(u){return je.decode(u)}parseRendezvous(u){return eu.decode(u)}off(u){this._eventHandlers[u]=()=>{}}on(u,r){this._eventHandlers[u]=r}async open(u=12e3){return new Promise((r,n)=>{setTimeout(()=>{this._status!="open"&&n(this._status||"Timeout")},u),this._websocket.onopen=()=>{var i;this._latency=new Date().getTime()-this._latency,this._status="open",console.debug(">> WebSock.onopen"),(i=this._websocket)!=null&&i.protocol&&console.info("Server choose sub-protocol: "+this._websocket.protocol),this._eventHandlers.open(),console.info("WebSock.onopen"),r(this)},this._websocket.onclose=i=>{this._status=="open",this._status=i,console.error("WebSock.onclose: "),console.error(i),this._eventHandlers.close(i),n("Reset by the peer")},this._websocket.onerror=i=>{if(!this._status){n("Failed to connect to "+(this._isRendezvous?"rendezvous":"relay")+" server");return}this._status=i,console.error("WebSock.onerror: "),console.error(i),this._eventHandlers.error(i)}})}async next(u=12e3){const r=(n,i,t)=>{if(this._buf.length)n(this._buf[0]),this._buf.splice(0,1);else{if(this._status!="open"){i(this._status);return}new Date().getTime()>t+u?i("Timeout"):setTimeout(()=>r(n,i,t),1)}};return new Promise((n,i)=>{r(n,i,new Date().getTime())})}close(){this._status="",this._websocket&&((this._websocket.readyState===WebSocket.OPEN||this._websocket.readyState===WebSocket.CONNECTING)&&(console.info("Closing WebSocket connection"),this._websocket.close()),this._websocket.onmessage=()=>{})}_recv_message(u){if(u.data instanceof window.ArrayBuffer){let r=new Uint8Array(u.data);const n=this._secretKey;n&&(n[2]+=1,r=vn(r,n[2],n[0])),this._buf.push(this._isRendezvous?this.parseRendezvous(r):this.parseMessage(r))}this._eventHandlers.message(u.data)}}async function pi(e){const u=await Ai();console.log("isSIMD: "+u),window.OGVLoader.loadClass(u?"OGVDecoderVideoVP9SIMDW":"OGVDecoderVideoVP9W",r=>{window.videoCodecClass=r,r({videoFormat:{}}).then(n=>{n.init(()=>{e(n)})})},{worker:!0,threading:!0})}const ei={ru:{Status:"C\u0442\u0430\u0442\u0443\u0441","Your Desktop":"\u0412\u0430\u0448 \u0440\u0430\u0431\u043E\u0447\u0438\u0439 \u0441\u0442\u043E\u043B",desk_tip:"\u0412\u0430\u0448 \u0440\u0430\u0431\u043E\u0447\u0438\u0439 \u0441\u0442\u043E\u043B \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0441 \u044D\u0442\u0438\u043C \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u043E\u043C \u0438 \u043F\u0430\u0440\u043E\u043B\u0435\u043C",Password:"\u041F\u0430\u0440\u043E\u043B\u044C",Ready:"\u0413\u043E\u0442\u043E\u0432\u043E",Established:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",connecting_status:"\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043A \u0441\u0435\u0442\u0438 RustDesk...","Enable Service":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u043B\u0443\u0436\u0431\u0443","Start Service":"\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0441\u043B\u0443\u0436\u0431\u0443","Service is running":"\u0421\u043B\u0443\u0436\u0431\u0430 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442","Service is not running":"\u0421\u043B\u0443\u0436\u0431\u0430 \u043D\u0435 \u0437\u0430\u043F\u0443\u0449\u0435\u043D\u0430",not_ready_status:"\u041D\u0435 \u0433\u043E\u0442\u043E\u0432\u043E. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435","Control Remote Desktop":"\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u043C \u0440\u0430\u0431\u043E\u0447\u0438\u043C \u0441\u0442\u043E\u043B\u043E\u043C","Transfer File":"\u041F\u0435\u0440\u0435\u0434\u0430\u0442\u044C \u0444\u0430\u0439\u043B",Connect:"\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C\u0441\u044F","Recent Sessions":"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 \u0441\u0435\u0430\u043D\u0441\u044B","Address Book":"\u0410\u0434\u0440\u0435\u0441\u043D\u0430\u044F \u043A\u043D\u0438\u0433\u0430",Confirmation:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435","TCP Tunneling":"TCP-\u0442\u0443\u043D\u043D\u0435\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",Remove:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","Refresh random password":"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C","Set your own password":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u0432\u043E\u0439 \u043F\u0430\u0440\u043E\u043B\u044C","Enable Keyboard/Mouse":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0443/\u043C\u044B\u0448\u044C","Enable Clipboard":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430","Enable File Transfer":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0444\u0430\u0439\u043B\u043E\u0432","Enable TCP Tunneling":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0442\u0443\u043D\u043D\u0435\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 TCP","IP Whitelisting":"\u0421\u043F\u0438\u0441\u043E\u043A \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u043D\u044B\u0445 IP-\u0430\u0434\u0440\u0435\u0441\u043E\u0432","ID/Relay Server":"ID/\u0421\u0435\u0440\u0432\u0435\u0440 \u0440\u0435\u0442\u0440\u0430\u043D\u0441\u043B\u044F\u0446\u0438\u0438","Stop service":"\u041E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u043B\u0443\u0436\u0431\u0443","Change ID":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C ID",Website:"\u0412\u0435\u0431-\u0441\u0430\u0439\u0442",About:"\u041E RustDesk",Mute:"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0437\u0432\u0443\u043A","Audio Input":"\u0410\u0443\u0434\u0438\u043E\u0432\u0445\u043E\u0434","ID Server":"ID-\u0441\u0435\u0440\u0432\u0435\u0440","Relay Server":"\u0421\u0435\u0440\u0432\u0435\u0440 \u0440\u0435\u0442\u0440\u0430\u043D\u0441\u043B\u044F\u0446\u0438\u0438","API Server":"API-\u0441\u0435\u0440\u0432\u0435\u0440",invalid_http:"\u0414\u043E\u043B\u0436\u0435\u043D \u043D\u0430\u0447\u0438\u043D\u0430\u0442\u044C\u0441\u044F \u0441 http:// \u0438\u043B\u0438 https://","Invalid IP":"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 IP-\u0430\u0434\u0440\u0435\u0441",id_change_tip:"\u0414\u043E\u043F\u0443\u0441\u043A\u0430\u044E\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u0438\u043C\u0432\u043E\u043B\u044B a-z, A-Z, 0-9 \u0438 _ (\u043F\u043E\u0434\u0447\u0435\u0440\u043A\u0438\u0432\u0430\u043D\u0438\u0435). \u041F\u0435\u0440\u0432\u0430\u044F \u0431\u0443\u043A\u0432\u0430 \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C a-z, A-Z. \u0414\u043B\u0438\u043D\u0430 \u043E\u0442 6 \u0434\u043E 16","Invalid format":"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442",server_not_support:"\u041F\u043E\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0441\u0435\u0440\u0432\u0435\u0440\u043E\u043C","Not available":"\u041D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E","Too frequent":"\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0447\u0430\u0441\u0442\u043E",Cancel:"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C",Skip:"\u041F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C",Close:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C",Retry:"\u041F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C \u0441\u043D\u043E\u0432\u0430",OK:"\u041E\u041A","Password Required":"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043F\u0430\u0440\u043E\u043B\u044C","Please enter your password":"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0432\u0430\u0448 \u043F\u0430\u0440\u043E\u043B\u044C","Remember password":"\u0417\u0430\u043F\u043E\u043C\u043D\u0438\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C","Wrong Password":"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C","Do you want to enter again?":"\u0412\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0441\u043D\u043E\u0432\u0430 \u0432\u043E\u0439\u0442\u0438?","Connection Error":"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F",Error:"\u041E\u0448\u0438\u0431\u043A\u0430","Reset by the peer":"\u0421\u0431\u0440\u043E\u0448\u0435\u043D\u043E \u043F\u0438\u0440\u043E\u043C","Connecting...":"\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435...","Connection in progress. Please wait.":"\u0412\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u0434\u043E\u0436\u0434\u0438\u0442\u0435.","Please try 1 minute later":"\u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0447\u0435\u0440\u0435\u0437 1 \u043C\u0438\u043D\u0443\u0442\u0443","Login Error":"\u041E\u0448\u0438\u0431\u043A\u0430 \u0432\u0445\u043E\u0434\u0430",Successful:"\u041E\u043F\u0435\u0440\u0430\u0446\u0438\u044F \u0443\u0441\u043F\u0435\u0448\u043D\u0430","Connected, waiting for image...":"\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F...",Name:"\u0418\u043C\u044F",Type:"\u0422\u0438\u043F",Modified:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E",Size:"\u0420\u0430\u0437\u043C\u0435\u0440","Show Hidden Files":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u043A\u0440\u044B\u0442\u044B\u0435 \u0444\u0430\u0439\u043B\u044B",Receive:"\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C",Send:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","Refresh File":"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0444\u0430\u0439\u043B",Local:"\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439",Remote:"\u0423\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0439","Remote Computer":"\u0423\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0439 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440","Local Computer":"\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440","Confirm Delete":"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435",Delete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",Properties:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430","Multi Select":"\u041C\u043D\u043E\u0433\u043E\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043D\u044B\u0439 \u0432\u044B\u0431\u043E\u0440","Empty Directory":"\u041F\u0443\u0441\u0442\u0430\u044F \u043F\u0430\u043F\u043A\u0430","Not an empty directory":"\u041F\u0430\u043F\u043A\u0430 \u043D\u0435 \u043F\u0443\u0441\u0442\u0430","Are you sure you want to delete this file?":"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u0444\u0430\u0439\u043B?","Are you sure you want to delete this empty directory?":"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u0443\u0441\u0442\u0443\u044E \u043F\u0430\u043F\u043A\u0443?","Are you sure you want to delete the file of this directory?":"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0444\u0430\u0439\u043B \u0438\u0437 \u044D\u0442\u043E\u0439 \u043F\u0430\u043F\u043A\u0438?","Do this for all conflicts":"\u042D\u0442\u043E \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0441\u044F \u043A\u043E \u0432\u0441\u0435\u043C \u043A\u043E\u043D\u0444\u043B\u0438\u043A\u0442\u0430\u043C","This is irreversible!":"\u042D\u0442\u043E \u043D\u0435\u043E\u0431\u0440\u0430\u0442\u0438\u043C\u043E!",Deleting:"\u0423\u0434\u0430\u043B\u0435\u043D\u0438\u0435",files:"\u0444\u0430\u0439\u043B\u044B",Waiting:"\u041E\u0436\u0438\u0434\u0430\u043D\u0438\u0435",Finished:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E",Speed:"\u0421\u043A\u043E\u0440\u043E\u0441\u0442\u044C","Custom Image Quality":"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0435 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u043E \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","Privacy mode":"\u0420\u0435\u0436\u0438\u043C \u043A\u043E\u043D\u0444\u0438\u0434\u0435\u043D\u0446\u0438\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u0438","Block user input":"\u0411\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0432\u0432\u043E\u0434","Unblock user input":"\u0420\u0430\u0437\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0432\u0432\u043E\u0434","Adjust Window":"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u043E\u043A\u043D\u043E",Original:"\u041E\u0440\u0438\u0433\u0438\u043D\u0430\u043B",Shrink:"\u0423\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C",Stretch:"\u0420\u0430\u0441\u0442\u044F\u043D\u0443\u0442\u044C","Good image quality":"\u0425\u043E\u0440\u043E\u0448\u0435\u0435 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u043E \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",Balanced:"\u0421\u0431\u0430\u043B\u0430\u043D\u0441\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439","Optimize reaction time":"\u041E\u043F\u0442\u0438\u043C\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0440\u0435\u043C\u044F \u0440\u0435\u0430\u043A\u0446\u0438\u0438",Custom:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439","Show remote cursor":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0439 \u043A\u0443\u0440\u0441\u043E\u0440","Disable clipboard":"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430","Lock after session end":"\u0412\u044B\u0445\u043E\u0434 \u0438\u0437 \u0443\u0447\u0451\u0442\u043D\u043E\u0439 \u0437\u0430\u043F\u0438\u0441\u0438 \u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0441\u0435\u0430\u043D\u0441\u0430",Insert:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C","Insert Lock":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u0430\u043C\u043E\u043A",Refresh:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C","ID does not exist":"ID \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442","Failed to connect to rendezvous server":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C\u0441\u044F \u043A \u043F\u0440\u043E\u043C\u0435\u0436\u0443\u0442\u043E\u0447\u043D\u043E\u043C\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0443","Please try later":"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043F\u043E\u0437\u0436\u0435","Remote desktop is offline":"\u0423\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0439 \u0440\u0430\u0431\u043E\u0447\u0438\u0439 \u0441\u0442\u043E\u043B \u043D\u0435 \u0432 \u0441\u0435\u0442\u0438","Key mismatch":"\u041D\u0435\u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u043A\u043B\u044E\u0447\u0435\u0439",Timeout:"\u0422\u0430\u0439\u043C-\u0430\u0443\u0442","Failed to connect to relay server":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C\u0441\u044F \u043A \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0440\u0435\u0442\u0440\u0430\u043D\u0441\u043B\u044F\u0446\u0438\u0438","Failed to connect via rendezvous server":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C\u0441\u044F \u0447\u0435\u0440\u0435\u0437 \u043F\u0440\u043E\u043C\u0435\u0436\u0443\u0442\u043E\u0447\u043D\u044B\u0439 \u0441\u0435\u0440\u0432\u0435\u0440","Failed to connect via relay server":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C\u0441\u044F \u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u0440\u0432\u0435\u0440 \u0440\u0435\u0442\u0440\u0430\u043D\u0441\u043B\u044F\u0446\u0438\u0438","Failed to make direct connection to remote desktop":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u0440\u044F\u043C\u043E\u0435 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043A \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u043E\u043C\u0443 \u0440\u0430\u0431\u043E\u0447\u0435\u043C\u0443 \u0441\u0442\u043E\u043B\u0443","Set Password":"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C","OS Password":"\u041F\u0430\u0440\u043E\u043B\u044C \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u043E\u043D\u043D\u043E\u0439 \u0441\u0438\u0441\u0442\u0435\u043C\u044B",install_tip:"\u0412 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u0441\u043B\u0443\u0447\u0430\u044F\u0445 \u0438\u0437-\u0437\u0430 UAC RustDesk \u043C\u043E\u0436\u0435\u0442 \u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u043D\u0435\u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u043E \u043D\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u043E\u043C \u0443\u0437\u043B\u0435. \u0427\u0442\u043E\u0431\u044B \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044C UAC, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u043A\u043D\u043E\u043F\u043A\u0443 \u043D\u0438\u0436\u0435, \u0447\u0442\u043E\u0431\u044B \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C RustDesk \u0432 \u0441\u0438\u0441\u0442\u0435\u043C\u0435","Click to upgrade":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043D\u0430 \u043D\u0430\u043B\u0438\u0447\u0438\u0435 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0439","Click to download":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0441\u043A\u0430\u0447\u0430\u0442\u044C","Click to update":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C",Configure:"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C",config_acc:'\u0427\u0442\u043E\u0431\u044B \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u043E \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0441\u0432\u043E\u0438\u043C \u0440\u0430\u0431\u043E\u0447\u0438\u043C \u0441\u0442\u043E\u043B\u043E\u043C, \u0432\u044B \u0434\u043E\u043B\u0436\u043D\u044B \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C RustDesk \u043F\u0440\u0430\u0432\u0430 \\"\u0434\u043E\u0441\u0442\u0443\u043F\u0430\\"',config_screen:'\u0414\u043B\u044F \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u043E\u0433\u043E \u0434\u043E\u0441\u0442\u0443\u043F\u0430 \u043A \u0440\u0430\u0431\u043E\u0447\u0435\u043C\u0443 \u0441\u0442\u043E\u043B\u0443 \u0432\u044B \u0434\u043E\u043B\u0436\u043D\u044B \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C RustDesk \u043F\u0440\u0430\u0432\u0430 \\"\u0441\u043D\u0438\u043C\u043E\u043A \u044D\u043A\u0440\u0430\u043D\u0430\\"',"Installing ...":"\u0423\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442\u0441\u044F...",Install:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C",Installation:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430","Installation Path":"\u041F\u0430\u043F\u043A\u0430 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438","Create start menu shortcuts":'\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u044F\u0440\u043B\u044B\u043A\u0438 \u043C\u0435\u043D\u044E \\"\u041F\u0443\u0441\u043A\\"',"Create desktop icon":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0437\u043D\u0430\u0447\u043E\u043A \u043D\u0430 \u0440\u0430\u0431\u043E\u0447\u0435\u043C \u0441\u0442\u043E\u043B\u0435",agreement_tip:"\u0415\u0441\u043B\u0438 \u0432\u044B \u043D\u0430\u0447\u043D\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0443, \u043F\u0440\u0438\u043C\u0438\u0442\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u043E\u0435 \u0441\u043E\u0433\u043B\u0430\u0448\u0435\u043D\u0438\u0435","Accept and Install":"\u041F\u0440\u0438\u043D\u044F\u0442\u044C \u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C","End-user license agreement":"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u043E\u0435 \u0441\u043E\u0433\u043B\u0430\u0448\u0435\u043D\u0438\u0435 \u0441 \u043A\u043E\u043D\u0435\u0447\u043D\u044B\u043C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u043C","Generating ...":"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F...","Your installation is lower version.":"\u0412\u0430\u0448\u0430 \u0438\u043D\u0441\u0442\u0430\u043B\u044F\u0446\u0438\u044F \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0431\u043E\u043B\u0435\u0435 \u0440\u0430\u043D\u043D\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439",not_close_tcp_tip:"\u041D\u0435 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u044D\u0442\u043E \u043E\u043A\u043D\u043E \u043F\u0440\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0438 \u0442\u0443\u043D\u043D\u0435\u043B\u044F","Listening ...":"\u041E\u0436\u0438\u0434\u0430\u0435\u043C...","Remote Host":"\u0423\u0434\u0430\u043B\u0435\u043D\u043D\u0430\u044F \u043C\u0430\u0448\u0438\u043D\u0430","Remote Port":"\u0423\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0439 \u043F\u043E\u0440\u0442",Action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435",Add:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C","Local Port":"\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u043F\u043E\u0440\u0442",setup_server_tip:"\u0414\u043B\u044F \u0431\u043E\u043B\u0435\u0435 \u0431\u044B\u0441\u0442\u0440\u043E\u0433\u043E \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u0442\u0435 \u0441\u0432\u043E\u0439 \u0441\u043E\u0431\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F","Too short, at least 6 characters.":"\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043A\u043E\u0440\u043E\u0442\u043A\u043E, \u043C\u0438\u043D\u0438\u043C\u0443\u043C 6 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432","The confirmation is not identical.":"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435 \u043D\u0435 \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u0435\u0442",Permissions:"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u044F",Accept:"\u041F\u0440\u0438\u043D\u044F\u0442\u044C",Dismiss:"\u041E\u0442\u043A\u043B\u043E\u043D\u0438\u0442\u044C",Disconnect:"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C","Allow using keyboard and mouse":"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u0438 \u043C\u044B\u0448\u0438","Allow using clipboard":"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u0431\u0443\u0444\u0435\u0440\u0430 \u043E\u0431\u043C\u0435\u043D\u0430","Allow hearing sound":"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0437\u0432\u0443\u043A\u0430","Allow file copy and paste":"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0438 \u0432\u0441\u0442\u0430\u0432\u043A\u0443 \u0444\u0430\u0439\u043B\u043E\u0432",Connected:"\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E","Direct and encrypted connection":"\u041F\u0440\u044F\u043C\u043E\u0435 \u0438 \u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435","Relayed and encrypted connection":"\u041A\u043E\u043C\u043C\u0443\u0442\u0438\u0440\u0443\u0435\u043C\u043E\u0435 \u0438 \u0437\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435","Direct and unencrypted connection":"\u041F\u0440\u044F\u043C\u043E\u0435 \u0438 \u043D\u0435\u0437\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435","Relayed and unencrypted connection":"\u041A\u043E\u043C\u043C\u0443\u0442\u0438\u0440\u0443\u0435\u043C\u043E\u0435 \u0438 \u043D\u0435\u0437\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435","Enter Remote ID":"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0439 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440","Enter your password":"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043F\u0430\u0440\u043E\u043B\u044C","Logging in...":"\u0412\u0445\u043E\u0434...","Enable RDP session sharing":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043E\u0431\u0449\u0438\u0439 \u0434\u043E\u0441\u0442\u0443\u043F \u043A \u0441\u0435\u0430\u043D\u0441\u0443 RDP","Auto Login":'\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u0432\u0445\u043E\u0434 (\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u0435\u043D, \u0442\u043E\u043B\u044C\u043A\u043E \u0435\u0441\u043B\u0438 \u0432\u044B \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u043B\u0438 \\"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0433\u043E \u0441\u0435\u0430\u043D\u0441\u0430 \u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0443\u0434\u0430\u043B\u0451\u043D\u043D\u043E\u0433\u043E \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F\\"',"Enable Direct IP Access":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u0440\u044F\u043C\u043E\u0439 IP-\u0434\u043E\u0441\u0442\u0443\u043F",Rename:"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C",Space:"\u041C\u0435\u0441\u0442\u043E","Create Desktop Shortcut":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u044F\u0440\u043B\u044B\u043A \u043D\u0430 \u0440\u0430\u0431\u043E\u0447\u0435\u043C \u0441\u0442\u043E\u043B\u0435","Change Path":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0443\u0442\u044C","Create Folder":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0443","Please enter the folder name":"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0438\u043C\u044F \u043F\u0430\u043F\u043A\u0438","Fix it":"\u0418\u0441\u043F\u0440\u0430\u0432\u0438\u0442\u044C",Warning:"\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435","Login screen using Wayland is not supported":"\u0412\u0445\u043E\u0434 \u0432 \u0441\u0438\u0441\u0442\u0435\u043C\u0443 \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C Wayland \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F","Reboot required":"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430","Unsupported display server ":"\u041D\u0435\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u0438\u0441\u043F\u043B\u0435\u044F","x11 expected":"\u041E\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044F X11",Port:"\u041F\u043E\u0440\u0442",Settings:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",Username:"\u0418\u043C\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F","Invalid port":"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043F\u043E\u0440\u0442","Closed manually by the peer":"\u0417\u0430\u043A\u0440\u044B\u0442\u043E \u0443\u0437\u043B\u043E\u043C \u0432\u0440\u0443\u0447\u043D\u0443\u044E","Enable remote configuration modification":"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u043E\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438","Run without install":"\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0431\u0435\u0437 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438","Always connected via relay":"\u0412\u0441\u0435\u0433\u0434\u0430 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0442\u0440\u0430\u043D\u0441\u043B\u044F\u0446\u0438\u043E\u043D\u043D\u044B\u0439 \u0441\u0435\u0440\u0432\u0435\u0440","Always connect via relay":"\u0412\u0441\u0435\u0433\u0434\u0430 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0430\u0442\u044C\u0441\u044F \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0442\u0440\u0430\u043D\u0441\u043B\u044F\u0446\u0438\u043E\u043D\u043D\u044B\u0439 \u0441\u0435\u0440\u0432\u0435\u0440",whitelist_tip:"\u0422\u043E\u043B\u044C\u043A\u043E IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u0438\u0437 \u0431\u0435\u043B\u043E\u0433\u043E \u0441\u043F\u0438\u0441\u043A\u0430 \u043C\u043E\u0433\u0443\u0442 \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F \u043A\u043E \u043C\u043D\u0435",Login:"\u0412\u043E\u0439\u0442\u0438",Logout:"\u0412\u044B\u0439\u0442\u0438",Tags:"\u041A\u043B\u044E\u0447\u0435\u0432\u044B\u0435 \u0441\u043B\u043E\u0432\u0430","Search ID":"\u041F\u043E\u0438\u0441\u043A \u043F\u043E ID","Current Wayland display server is not supported":"\u0422\u0435\u043A\u0443\u0449\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F Wayland \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",whitelist_sep:"\u0420\u0430\u0437\u0434\u0435\u043B\u044C\u043D\u043E \u0437\u0430\u043F\u044F\u0442\u043E\u0439, \u0442\u043E\u0447\u043A\u043E\u0439 \u0441 \u0437\u0430\u043F\u044F\u0442\u043E\u0439, \u043F\u0440\u043E\u0431\u0435\u043B\u043E\u043C \u0438\u043B\u0438 \u043D\u043E\u0432\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u043E\u0439","Add ID":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C ID","Add Tag":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0435 \u0441\u043B\u043E\u0432\u043E","Unselect all tags":"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u044B\u0431\u043E\u0440 \u0432\u0441\u0435\u0445 \u0442\u0435\u0433\u043E\u0432","Network error":"\u041E\u0448\u0438\u0431\u043A\u0430 \u0441\u0435\u0442\u0438","Username missed":"\u0418\u043C\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442","Password missed":"\u0417\u0430\u0431\u044B\u043B\u0438 \u043F\u0430\u0440\u043E\u043B\u044C","Wrong credentials":"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0443\u0447\u0435\u0442\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435","Edit Tag":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u0433","Unremember Password":"\u041D\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C",Favorites:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435","Add to Favorites":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u0438\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435","Remove from Favorites":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u0438\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E",Empty:"\u041F\u0443\u0441\u0442\u043E","Invalid folder name":"\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0438\u043C\u044F \u043F\u0430\u043F\u043A\u0438","Socks5 Proxy":"\u041F\u0440\u043E\u043A\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440 Socks5",Hostname:"\u0418\u043C\u044F \u041F\u041A",Discovered:"\u041D\u0430\u0439\u0434\u0435\u043D\u043E",install_daemon_tip:"\u0414\u043B\u044F \u0437\u0430\u043F\u0443\u0441\u043A\u0430 \u043F\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0435 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0443\u044E \u0441\u043B\u0443\u0436\u0431\u0443","Remote ID":"\u0423\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0439 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440",Paste:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C","Paste here?":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0441\u044E\u0434\u0430?","Are you sure to close the connection?":"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u044C \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435?","Download new version":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E","Touch mode":"\u0421\u0435\u043D\u0441\u043E\u0440\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C","Mouse mode":"\u0420\u0435\u0436\u0438\u043C \u043C\u044B\u0448\u0438","One-Finger Tap":"\u041A\u0430\u0441\u0430\u043D\u0438\u0435 \u043E\u0434\u043D\u0438\u043C \u043F\u0430\u043B\u044C\u0446\u0435\u043C","Left Mouse":"\u041B\u0435\u0432\u0430\u044F \u043A\u043D\u043E\u043F\u043A\u0430 \u043C\u044B\u0448\u0438","One-Long Tap":"\u041E\u0434\u043D\u043E \u0434\u043E\u043B\u0433\u043E\u0435 \u043A\u0430\u0441\u0430\u043D\u0438\u0435 \u043F\u0430\u043B\u044C\u0446\u0435\u043C","Two-Finger Tap":"\u041A\u0430\u0441\u0430\u043D\u0438\u0435 \u0434\u0432\u0443\u043C\u044F \u043F\u0430\u043B\u044C\u0446\u0430\u043C\u0438","Right Mouse":"\u041F\u0440\u0430\u0432\u0430\u044F \u043C\u044B\u0448\u044C","One-Finger Move":"\u0414\u0432\u0438\u0436\u0435\u043D\u0438\u0435 \u043E\u0434\u043D\u0438\u043C \u043F\u0430\u043B\u044C\u0446\u0435\u043C","Double Tap & Move":"\u0414\u0432\u043E\u0439\u043D\u043E\u0435 \u043D\u0430\u0436\u0430\u0442\u0438\u0435 \u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435","Mouse Drag":"\u041F\u0435\u0440\u0435\u0442\u0430\u0441\u043A\u0438\u0432\u0430\u043D\u0438\u0435 \u043C\u044B\u0448\u044C\u044E","Three-Finger vertically":"\u0422\u0440\u0435\u043C\u044F \u043F\u0430\u043B\u044C\u0446\u0430\u043C\u0438 \u043F\u043E \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0438","Mouse Wheel":"\u041A\u043E\u043B\u0435\u0441\u0438\u043A\u043E \u043C\u044B\u0448\u0438","Two-Finger Move":"\u0414\u0432\u0438\u0436\u0435\u043D\u0438\u0435 \u0434\u0432\u0443\u043C\u044F \u043F\u0430\u043B\u044C\u0446\u0430\u043C\u0438","Canvas Move":"\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0445\u043E\u043B\u0441\u0442\u0430","Pinch to Zoom":"\u0421\u043E\u0436\u043C\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C","Canvas Zoom":"\u041C\u0430\u0441\u0448\u0442\u0430\u0431 \u0445\u043E\u043B\u0441\u0442\u0430","Reset canvas":"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0445\u043E\u043B\u0441\u0442","No permission of file transfer":"\u041D\u0435\u0442 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u044F \u043D\u0430 \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0444\u0430\u0439\u043B\u043E\u0432",Note:"\u041F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u0435",Connection:"\u0421\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435","Share Screen":"\u041F\u043E\u0434\u0435\u043B\u0438\u0442\u044C\u0441\u044F \u044D\u043A\u0440\u0430\u043D\u043E\u043C",CLOSE:"\u0417\u0410\u041A\u0420\u042B\u0422\u042C",OPEN:"\u041E\u0422\u041A\u0420\u042B\u0422\u042C",Chat:"\u0427\u0430\u0442",Total:"\u0412\u0441\u0435\u0433\u043E",items:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",Selected:"\u0412\u044B\u0431\u0440\u0430\u043D\u043E","Screen Capture":"\u0417\u0430\u0445\u0432\u0430\u0442 \u044D\u043A\u0440\u0430\u043D\u0430","Input Control":"\u0412\u0445\u043E\u0434\u043D\u043E\u0439 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C","Audio Capture":"\u0417\u0430\u0445\u0432\u0430\u0442 \u0430\u0443\u0434\u0438\u043E","File Connection":"\u0424\u0430\u0439\u043B\u043E\u0432\u043E\u0435 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435","Screen Connection":"\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u044D\u043A\u0440\u0430\u043D\u0430","Do you accept?":"\u0412\u044B \u0441\u043E\u0433\u043B\u0430\u0441\u043D\u044B?","Open System Setting":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0441\u0438\u0441\u0442\u0435\u043C\u044B","How to get Android input permission?":"\u041A\u0430\u043A \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043D\u0430 \u0432\u0432\u043E\u0434 Android?",android_input_permission_tip1:"\u0427\u0442\u043E\u0431\u044B \u0443\u0434\u0430\u043B\u0435\u043D\u043D\u043E\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u043C\u043E\u0433\u043B\u043E \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0432\u0430\u0448\u0438\u043C Android-\u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E\u043C \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043C\u044B\u0448\u0438 \u0438\u043B\u0438 \u043A\u0430\u0441\u0430\u043D\u0438\u044F, \u0432\u0430\u043C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C RustDesk \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u043B\u0443\u0436\u0431\u0443 \xAB\u0421\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438\xBB.",android_input_permission_tip2:"\u041F\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0443\u044E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0445 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A, \u043D\u0430\u0439\u0434\u0438\u0442\u0435 \u0438 \u0432\u043E\u0439\u0434\u0438\u0442\u0435 \u0432 [\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0441\u043B\u0443\u0436\u0431\u044B], \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u0435 \u0441\u043B\u0443\u0436\u0431\u0443 [RustDesk Input].",android_new_connection_tip:"\u041F\u043E\u043B\u0443\u0447\u0435\u043D \u043D\u043E\u0432\u044B\u0439 \u0437\u0430\u043F\u0440\u043E\u0441 \u043D\u0430 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0432\u0430\u0448\u0438\u043C \u0442\u0435\u043A\u0443\u0449\u0438\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E\u043C.",android_service_will_start_tip:"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u044D\u043A\u0440\u0430\u043D\u0430 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0435\u0442 \u0441\u043B\u0443\u0436\u0431\u0443, \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044F \u0434\u0440\u0443\u0433\u0438\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430\u043C \u0437\u0430\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044C \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 \u0441 \u044D\u0442\u043E\u0433\u043E \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430.",android_stop_service_tip:"\u0417\u0430\u043A\u0440\u044B\u0442\u0438\u0435 \u0441\u043B\u0443\u0436\u0431\u044B \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0437\u0430\u043A\u0440\u043E\u0435\u0442 \u0432\u0441\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u044F.",android_version_audio_tip:"\u0422\u0435\u043A\u0443\u0449\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F Android \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0437\u0430\u0445\u0432\u0430\u0442 \u0437\u0432\u0443\u043A\u0430, \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u0435 \u0435\u0435 \u0434\u043E Android 10 \u0438\u043B\u0438 \u0432\u044B\u0448\u0435.",android_start_service_tip:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 [\u0417\u0430\u043F\u0443\u0441\u043A \u043F\u0440\u043E\u043C\u0435\u0436\u0443\u0442\u043E\u0447\u043D\u043E\u0433\u043E \u0441\u0435\u0440\u0432\u0435\u0440\u0430] \u0438\u043B\u0438 \u041E\u0422\u041A\u0420\u042B\u0422\u042C \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 [\u0417\u0430\u0445\u0432\u0430\u0442 \u044D\u043A\u0440\u0430\u043D\u0430], \u0447\u0442\u043E\u0431\u044B \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0441\u043B\u0443\u0436\u0431\u0443 \u0434\u0435\u043C\u043E\u043D\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u044D\u043A\u0440\u0430\u043D\u0430.",Account:"\u0410\u043A\u043A\u0430\u0443\u043D\u0442",Overwrite:"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C","This file exists, skip or overwrite this file?":"\u042D\u0442\u043E\u0442 \u0444\u0430\u0439\u043B \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u043F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u044D\u0442\u043E\u0442 \u0444\u0430\u0439\u043B?",Quit:"\u0412\u044B\u0439\u0442\u0438",doc_mac_permission:"https://rustdesk.com/docs/ru/manual/mac/#\u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435-\u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0439",Help:"\u041F\u043E\u043C\u043E\u0449\u044C",Failed:"\u041D\u0435\u0443\u0441\u043F\u0435\u0448\u043D\u044B\u0439",Succeeded:"\u0423\u0441\u043F\u0435\u0448\u043D\u043E","Someone turns on privacy mode, exit":"\u041A\u0442\u043E-\u0442\u043E \u0432\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u0440\u0435\u0436\u0438\u043C \u043A\u043E\u043D\u0444\u0438\u0434\u0435\u043D\u0446\u0438\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u0438, \u0432\u044B\u0439\u0434\u0438\u0442\u0435",Unsupported:"\u041D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F","Peer denied":"\u041E\u0442\u043A\u0430\u0437\u0430\u043D\u043E \u0432 \u043F\u0438\u0440\u0435","Please install plugins":"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u043F\u043B\u0430\u0433\u0438\u043D\u044B","Peer exit":"\u041E\u0434\u043D\u043E\u0440\u0430\u043D\u0433\u043E\u0432\u044B\u0439 \u0432\u044B\u0445\u043E\u0434","Failed to turn off":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C","Turned off":"\u0412\u044B\u043A\u043B\u044E\u0447\u0435\u043D","In privacy mode":"\u0412 \u0440\u0435\u0436\u0438\u043C\u0435 \u043A\u043E\u043D\u0444\u0438\u0434\u0435\u043D\u0446\u0438\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u0438","Out privacy mode":"\u0412\u044B\u0445\u043E\u0434 \u0438\u0437 \u0440\u0435\u0436\u0438\u043C\u0430 \u043A\u043E\u043D\u0444\u0438\u0434\u0435\u043D\u0446\u0438\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u0438",Language:""},ptbr:{Status:"Status","Your Desktop":"Seu Desktop",desk_tip:"Seu desktop pode ser acessado com este ID e senha.",Password:"Senha",Ready:"Pronto",Established:"Estabelecido",connecting_status:"Conectando \xE0 rede do RustDesk...","Enable Service":"Habilitar Servi\xE7o","Start Service":"Iniciar Servi\xE7o","Service is running":"Servi\xE7o est\xE1 em execu\xE7\xE3o","Service is not running":"Servi\xE7o n\xE3o est\xE1 em execu\xE7\xE3o",not_ready_status:"N\xE3o est\xE1 pronto. Por favor verifique sua conex\xE3o","Control Remote Desktop":"Controle o Desktop \xE0 dist\xE2ncia","Transfer File":"Transferir Arquivo",Connect:"Conectar","Recent Sessions":"Sess\xF5es recentes","Address Book":"Lista de Endere\xE7os",Confirmation:"Confirma\xE7\xE3o","TCP Tunneling":"Tunelamento TCP",Remove:"Remover","Refresh random password":"Atualizar senha aleat\xF3ria","Set your own password":"Configure sua pr\xF3pria senha","Enable Keyboard/Mouse":"Habilitar Teclado/Mouse","Enable Clipboard":"Habilitar \xC1rea de Transfer\xEAncia","Enable File Transfer":"Habilitar Transfer\xEAncia de Arquivos","Enable TCP Tunneling":"Habilitar Tunelamento TCP","IP Whitelisting":"Whitelist de IP","ID/Relay Server":"Servidor ID/Relay","Stop service":"Parar servi\xE7o","Change ID":"Alterar ID",Website:"Website",About:"Sobre",Mute:"Emudecer","Audio Input":"Entrada de \xC1udio","ID Server":"Servidor de ID","Relay Server":"Servidor de Relay","API Server":"Servidor da API",invalid_http:"deve iniciar com http:// ou https://","Invalid IP":"IP inv\xE1lido",id_change_tip:"Somente os caracteres a-z, A-Z, 0-9 e _ (sublinhado) s\xE3o permitidos. A primeira letra deve ser a-z, A-Z. Comprimento entre 6 e 16.","Invalid format":"Formato inv\xE1lido",server_not_support:"Ainda n\xE3o suportado pelo servidor","Not available":"Indispon\xEDvel","Too frequent":"Muito frequente",Cancel:"Cancelar",Skip:"Pular",Close:"Fechar",Retry:"Tentar novamente",OK:"OK","Password Required":"Senha Necess\xE1ria","Please enter your password":"Por favor informe sua senha","Remember password":"Lembrar senha","Wrong Password":"Senha Incorreta","Do you want to enter again?":"Voc\xEA quer entrar novamente?","Connection Error":"Erro de Conex\xE3o",Error:"Erro","Reset by the peer":"Reiniciado pelo par","Connecting...":"Conectando...","Connection in progress. Please wait.":"Conex\xE3o em progresso. Aguarde por favor.","Please try 1 minute later":"Por favor tente ap\xF3s 1 minuto","Login Error":"Erro de Login",Successful:"Sucesso","Connected, waiting for image...":"Conectado. Aguardando pela imagem...",Name:"Nome",Type:"Tipo",Modified:"Modificado",Size:"Tamanho","Show Hidden Files":"Mostrar Arquivos Ocultos",Receive:"Receber",Send:"Enviar","Refresh File":"Atualizar Arquivo",Local:"Local",Remote:"Remoto","Remote Computer":"Computador Remoto","Local Computer":"Computador Local","Confirm Delete":"Confirmar Apagar",Delete:"Apagar",Properties:"Propriedades","Multi Select":"Sele\xE7\xE3o M\xFAltipla","Empty Directory":"Diret\xF3rio Vazio","Not an empty directory":"Diret\xF3rio n\xE3o est\xE1 vazio","Are you sure you want to delete this file?":"Tem certeza que deseja apagar este arquivo?","Are you sure you want to delete this empty directory?":"Tem certeza que deseja apagar este diret\xF3rio vazio?","Are you sure you want to delete the file of this directory?":"Tem certeza que deseja apagar este arquivo deste diret\xF3rio?","Do this for all conflicts":"Fazer isto para todos os conflitos","This is irreversible!":"Isso \xE9 irrevers\xEDvel!",Deleting:"Apagando",files:"arquivos",Waiting:"Aguardando",Finished:"Completo",Speed:"Velocidade","Custom Image Quality":"Qualidade Visual Personalizada","Privacy mode":"Modo privado","Block user input":"Bloquear entrada de usu\xE1rio","Unblock user input":"Desbloquear entrada de usu\xE1rio","Adjust Window":"Ajustar Janela",Original:"Original",Shrink:"Reduzir",Stretch:"Aumentar","Good image quality":"Qualidade visual boa",Balanced:"Balanceada","Optimize reaction time":"Otimizar tempo de rea\xE7\xE3o",Custom:"Personalizado","Show remote cursor":"Mostrar cursor remoto","Disable clipboard":"Desabilitar \xE1rea de transfer\xEAncia","Lock after session end":"Bloquear ap\xF3s o fim da sess\xE3o",Insert:"Inserir","Insert Lock":"Inserir Trava",Refresh:"Atualizar","ID does not exist":"ID n\xE3o existe","Failed to connect to rendezvous server":"Falha ao conectar ao servidor de rendezvous","Please try later":"Por favor tente mais tarde","Remote desktop is offline":"Desktop remoto est\xE1 offline","Key mismatch":"Chaves incompat\xEDveis",Timeout:"Tempo esgotado","Failed to connect to relay server":"Falha ao conectar ao servidor de relay","Failed to connect via rendezvous server":"Falha ao conectar ao servidor de rendezvous","Failed to connect via relay server":"Falha ao conectar atrav\xE9s do servidor de relay","Failed to make direct connection to remote desktop":"Falha ao fazer conex\xE3o direta ao desktop remoto","Set Password":"Definir Senha","OS Password":"Senha do SO",install_tip:"Devido ao UAC, o RustDesk n\xE3o funciona corretamente como o lado remoto em alguns casos. Para evitar o UAC, por favor clique no bot\xE3o abaixo para instalar o RustDesk no sistema.","Click to upgrade":"Clique para fazer o upgrade","Click to download":"Clique para baixar","Click to update":"Clique para fazer o update",Configure:"Configurar",config_acc:'Para controlar seu Desktop remotamente, voc\xEA precisa conceder ao RustDesk permiss\xF5es de \\"Acessibilidade\\".',config_screen:'Para acessar seu Desktop remotamente, voc\xEA precisa conceder ao RustDesk permiss\xF5es de \\"Gravar a Tela\\"/',"Installing ...":"Instalando ...",Install:"Instalar",Installation:"Instala\xE7\xE3o","Installation Path":"Caminho da Instala\xE7\xE3o","Create start menu shortcuts":"Criar atalhos no menu iniciar","Create desktop icon":"Criar \xEDcone na \xE1rea de trabalho",agreement_tip:"Ao iniciar a instala\xE7\xE3o, voc\xEA concorda com o acordo de licen\xE7a.","Accept and Install":"Aceitar e Instalar","End-user license agreement":"Acordo de licen\xE7a do usu\xE1rio final","Generating ...":"Gerando ...","Your installation is lower version.":"Sua instala\xE7\xE3o \xE9 de uma vers\xE3o menor.",not_close_tcp_tip:"N\xE3o feche esta janela enquanto estiver utilizando o t\xFAnel","Listening ...":"Escutando ...","Remote Host":"Host Remoto","Remote Port":"Porta Remota",Action:"A\xE7\xE3o",Add:"Adicionar","Local Port":"Porta Local",setup_server_tip:"Para uma conex\xE3o mais r\xE1pida, por favor configure seu pr\xF3prio servidor","Too short, at least 6 characters.":"Muito curto, pelo menos 6 caracteres.","The confirmation is not identical.":"A confirma\xE7\xE3o n\xE3o \xE9 id\xEAntica.",Permissions:"Permiss\xF5es",Accept:"Aceitar",Dismiss:"Dispensar",Disconnect:"Desconectar","Allow using keyboard and mouse":"Permitir o uso de teclado e mouse","Allow using clipboard":"Permitir o uso da \xE1rea de transfer\xEAncia","Allow hearing sound":"Permitir escutar som","Allow file copy and paste":"Permitir copiar e pegar arquivos",Connected:"Conectado","Direct and encrypted connection":"Conex\xE3o direta e criptografada","Relayed and encrypted connection":"Conex\xE3o via relay e criptografada","Direct and unencrypted connection":"Conex\xE3o direta e n\xE3o criptografada","Relayed and unencrypted connection":"Conex\xE3o via relay e n\xE3o criptografada","Enter Remote ID":"Informe o ID Remoto","Enter your password":"Informe sua senha","Logging in...":"Fazendo Login...","Enable RDP session sharing":"Habilitar compartilhamento de sess\xE3o RDP","Auto Login":'Login Autom\xE1tico (Somente v\xE1lido se voc\xEA habilitou \\"Bloquear ap\xF3s o fim da sess\xE3o\\")',"Enable Direct IP Access":"Habilitar Acesso IP Direto",Rename:"Renomear",Space:"Espa\xF5","Create Desktop Shortcut":"Criar Atalho na \xC1rea de Trabalho","Change Path":"Alterar Caminho","Create Folder":"Criar Diret\xF3rio","Please enter the folder name":"Por favor informe o nome do diret\xF3rio","Fix it":"Conserte",Warning:"Aguardando","Login screen using Wayland is not supported":"Tela de Login utilizando Wayland n\xE3o \xE9 suportada","Reboot required":"Reinicializa\xE7\xE3o necess\xE1ria","Unsupported display server ":"Servidor de display n\xE3o suportado","x11 expected":"x11 esperado",Port:"Porta",Settings:"Configura\xE7\xF5es",Username:"Nome de usu\xE1rio","Invalid port":"Porta inv\xE1lida","Closed manually by the peer":"Fechada manualmente pelo par","Enable remote configuration modification":"Habilitar modifica\xE7\xF5es de configura\xE7\xE3o remotas","Run without install":"Executar sem instalar","Always connected via relay":"Sempre conectado via relay","Always connect via relay":"Sempre conectar via relay",whitelist_tip:"Somente IPs na whitelist podem me acessar",Login:"Login",Logout:"Sair",Tags:"Tags","Search ID":"Buscar ID","Current Wayland display server is not supported":"Servidor de display Wayland atual n\xE3o \xE9 suportado",whitelist_sep:"Separado por v\xEDrcula, ponto-e-v\xEDrgula, espa\xE7os ou nova linha","Add ID":"Adicionar ID","Add Tag":"Adicionar Tag","Unselect all tags":"Desselecionar todas as tags","Network error":"Erro de rede","Username missed":"Nome de usu\xE1rio faltante","Password missed":"Senha faltante","Wrong credentials":"Nome de usu\xE1rio ou senha incorretos","Edit Tag":"Editar Tag","Unremember Password":"Esquecer Senha",Favorites:"Favoritos","Add to Favorites":"Adicionar aos Favoritos","Remove from Favorites":"Remover dos Favoritos",Empty:"Vazio","Invalid folder name":"Nome de diret\xF3rio inv\xE1lido","Socks5 Proxy":"Proxy Socks5",Hostname:"Nome de anfitri\xE3o",Discovered:"Descoberto",install_daemon_tip:"Para inicializa\xE7\xE3o junto ao sistema, voc\xEA deve instalar o servi\xE7o de sistema.","Remote ID":"ID Remoto",Paste:"Colar","Paste here?":"Colar aqui?","Are you sure to close the connection?":"Tem certeza que deseja fechar a conex\xE3o?","Download new version":"Baixar nova vers\xE3o","Touch mode":"Modo toque","Mouse mode":"Modo mouse","One-Finger Tap":"Toque com um dedo","Left Mouse":"Bot\xE3o esquerdo do mouse","One-Long Tap":"Um toque longo","Two-Finger Tap":"Toque com dois dedos","Right Mouse":"Bot\xE3o direito do mouse","One-Finger Move":"Mover com um dedo","Double Tap & Move":"Toque duplo & mover","Mouse Drag":"Arrastar com o mouse","Three-Finger vertically":"Tr\xEAs dedos verticalmente","Mouse Wheel":"Roda do Mouse","Two-Finger Move":"Mover com dois dedos","Canvas Move":"Mover Tela","Pinch to Zoom":"Beliscar para Zoom","Canvas Zoom":"Zoom na Tela","Reset canvas":"Reiniciar tela","No permission of file transfer":"Sem permiss\xF5es de transfer\xEAncia de arquivo",Note:"Nota",Connection:"Conex\xE3o","Share Screen":"Compartilhar Tela",CLOSE:"FECHAR",OPEN:"ABRIR",Chat:"Chat",Total:"Total",items:"itens",Selected:"Selecionado","Screen Capture":"Captura de Tela","Input Control":"Controle de Entrada","Audio Capture":"Captura de \xC1udio","File Connection":"Conex\xE3o de Arquivo","Screen Connection":"Conex\xE3o de Tela","Do you accept?":"Voc\xEA aceita?","Open System Setting":"Abrir Configura\xE7\xF5es do Sistema","How to get Android input permission?":"Como habilitar a permiss\xE3o de entrada do Android?",android_input_permission_tip1:'Para que um dispositivo remoto controle seu dispositivo Android via mouse ou toque, voc\xEA precisa permitir que o RustDesk use o servi\xE7o \\"Acessibilidade\\".',android_input_permission_tip2:"Por favor v\xE1 para a pr\xF3xima p\xE1gina de configura\xE7\xE3o do sistema, encontre e entre [Servi\xE7os Instalados], HABILITE o servi\xE7o [RustDesk Input].",android_new_connection_tip:"Nova requisi\xE7\xE3o de controle recebida, solicita o controle de seu dispositivo atual.",android_service_will_start_tip:"Habilitar a Captura de Tela ir\xE1 automaticamente inicalizar o servi\xE7o, permitindo que outros dispositivos solicitem uma conex\xE3o deste dispositivo.",android_stop_service_tip:"Fechar o servi\xE7o ir\xE1 automaticamente fechar todas as conex\xF5es estabelecidas.",android_version_audio_tip:"A vers\xE3o atual do Android n\xE3o suporta captura de \xE1udio, por favor atualize para o Android 10 ou maior.",android_start_service_tip:"Toque [Iniciar Servi\xE7o] ou abra a permiss\xE3o [Captura de Tela] para iniciar o servi\xE7o de compartilhamento de tela.",Account:"Conta",Overwrite:"Substituir","This file exists, skip or overwrite this file?":"Este arquivo existe, pular ou substituir este arquivo?",Quit:"Sa\xEDda",doc_mac_permission:"https://rustdesk.com/docs/en/manual/mac/#enable-permissions",Help:"Ajuda",Failed:"Falhou",Succeeded:"Conseguiu","Someone turns on privacy mode, exit":"Algu\xE9m liga o modo de privacidade, saia",Unsupported:"Sem suporte","Peer denied":"Par negado","Please install plugins":"Por favor instale plugins","Peer exit":"Sa\xEDda de pares","Failed to turn off":"Falha ao desligar","Turned off":"Desligado","In privacy mode":"No modo de privacidade","Out privacy mode":"Fora do modo de privacidade",Language:""},cn:{Status:"\u72B6\u6001","Your Desktop":"\u4F60\u7684\u684C\u9762",desk_tip:"\u4F60\u7684\u684C\u9762\u53EF\u4EE5\u901A\u8FC7\u4E0B\u9762\u7684ID\u548C\u5BC6\u7801\u8BBF\u95EE\u3002",Password:"\u5BC6\u7801",Ready:"\u5C31\u7EEA",Established:"\u5DF2\u5EFA\u7ACB",connecting_status:"\u6B63\u5728\u63A5\u5165RustDesk\u7F51\u7EDC...","Enable Service":"\u5141\u8BB8\u670D\u52A1","Start Service":"\u542F\u52A8\u670D\u52A1","Service is running":"\u670D\u52A1\u6B63\u5728\u8FD0\u884C","Service is not running":"\u670D\u52A1\u6CA1\u6709\u542F\u52A8",not_ready_status:"\u672A\u5C31\u7EEA\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u8FDE\u63A5","Control Remote Desktop":"\u63A7\u5236\u8FDC\u7A0B\u684C\u9762","Transfer File":"\u4F20\u8F93\u6587\u4EF6",Connect:"\u8FDE\u63A5","Recent Sessions":"\u6700\u8FD1\u8BBF\u95EE\u8FC7","Address Book":"\u5730\u5740\u7C3F",Confirmation:"\u786E\u8BA4","TCP Tunneling":"TCP\u96A7\u9053",Remove:"\u5220\u9664","Refresh random password":"\u5237\u65B0\u968F\u673A\u5BC6\u7801","Set your own password":"\u8BBE\u7F6E\u5BC6\u7801","Enable Keyboard/Mouse":"\u5141\u8BB8\u63A7\u5236\u952E\u76D8/\u9F20\u6807","Enable Clipboard":"\u5141\u8BB8\u540C\u6B65\u526A\u8D34\u677F","Enable File Transfer":"\u5141\u8BB8\u4F20\u8F93\u6587\u4EF6","Enable TCP Tunneling":"\u5141\u8BB8\u5EFA\u7ACBTCP\u96A7\u9053","IP Whitelisting":"IP\u767D\u540D\u5355","ID/Relay Server":"ID/\u4E2D\u7EE7\u670D\u52A1\u5668","Stop service":"\u505C\u6B62\u670D\u52A1","Change ID":"\u6539\u53D8ID",Website:"\u7F51\u7AD9",About:"\u5173\u4E8E",Mute:"\u9759\u97F3","Audio Input":"\u97F3\u9891\u8F93\u5165","ID Server":"ID\u670D\u52A1\u5668","Relay Server":"\u4E2D\u7EE7\u670D\u52A1\u5668","API Server":"API\u670D\u52A1\u5668",invalid_http:"\u5FC5\u987B\u4EE5http://\u6216\u8005https://\u5F00\u5934","Invalid IP":"\u65E0\u6548IP",id_change_tip:"\u53EA\u53EF\u4EE5\u4F7F\u7528\u5B57\u6BCDa-z, A-Z, 0-9, _ (\u4E0B\u5212\u7EBF)\u3002\u9996\u5B57\u6BCD\u5FC5\u987B\u662Fa-z, A-Z\u3002\u957F\u5EA6\u57286\u4E0E16\u4E4B\u95F4\u3002","Invalid format":"\u65E0\u6548\u683C\u5F0F",server_not_support:"\u670D\u52A1\u5668\u6682\u4E0D\u652F\u6301","Not available":"\u5DF2\u88AB\u5360\u7528","Too frequent":"\u4FEE\u6539\u592A\u9891\u7E41\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",Cancel:"\u53D6\u6D88",Skip:"\u8DF3\u8FC7",Close:"\u5173\u95ED",Retry:"\u518D\u8BD5",OK:"\u786E\u8BA4","Password Required":"\u9700\u8981\u5BC6\u7801","Please enter your password":"\u8BF7\u8F93\u5165\u5BC6\u7801","Remember password":"\u8BB0\u4F4F\u5BC6\u7801","Wrong Password":"\u5BC6\u7801\u9519\u8BEF","Do you want to enter again?":"\u8FD8\u60F3\u8F93\u5165\u4E00\u6B21\u5417?","Connection Error":"\u8FDE\u63A5\u9519\u8BEF",Error:"\u9519\u8BEF","Reset by the peer":"\u8FDE\u63A5\u88AB\u5BF9\u65B9\u5173\u95ED","Connecting...":"\u6B63\u5728\u8FDE\u63A5...","Connection in progress. Please wait.":"\u8FDE\u63A5\u8FDB\u884C\u4E2D\uFF0C\u8BF7\u7A0D\u7B49\u3002","Please try 1 minute later":"\u4E00\u5206\u949F\u540E\u518D\u8BD5","Login Error":"\u767B\u5F55\u9519\u8BEF",Successful:"\u6210\u529F","Connected, waiting for image...":"\u5DF2\u8FDE\u63A5\uFF0C\u7B49\u5F85\u753B\u9762\u4F20\u8F93...",Name:"\u540D\u79F0",Type:"\u7C7B\u578B",Modified:"\u4FEE\u6539\u65F6\u95F4",Size:"\u5927\u5C0F","Show Hidden Files":"\u663E\u793A\u9690\u85CF\u6587\u4EF6",Receive:"\u63A5\u53D7",Send:"\u53D1\u9001","Refresh File":"\u5237\u65B0\u6587\u4EF6",Local:"\u672C\u5730",Remote:"\u8FDC\u7A0B","Remote Computer":"\u8FDC\u7A0B\u7535\u8111","Local Computer":"\u672C\u5730\u7535\u8111","Confirm Delete":"\u786E\u8BA4\u5220\u9664",Delete:"\u5220\u9664",Properties:"\u5C5E\u6027","Multi Select":"\u591A\u9009","Empty Directory":"\u7A7A\u6587\u4EF6\u5939","Not an empty directory":"\u8FD9\u4E0D\u662F\u4E00\u4E2A\u7A7A\u6587\u4EF6\u5939","Are you sure you want to delete this file?":"\u662F\u5426\u5220\u9664\u6B64\u6587\u4EF6?","Are you sure you want to delete this empty directory?":"\u662F\u5426\u5220\u9664\u6B64\u7A7A\u6587\u4EF6\u5939?","Are you sure you want to delete the file of this directory?":"\u662F\u5426\u5220\u9664\u6587\u4EF6\u5939\u4E0B\u7684\u6587\u4EF6?","Do this for all conflicts":"\u5E94\u7528\u4E8E\u5176\u5B83\u51B2\u7A81","This is irreversible!":"\u6B64\u64CD\u4F5C\u4E0D\u53EF\u9006\uFF01",Deleting:"\u6B63\u5728\u5220\u9664",files:"\u6587\u4EF6",Waiting:"\u7B49\u5F85...",Finished:"\u5B8C\u6210",Speed:"\u901F\u5EA6","Custom Image Quality":"\u8BBE\u7F6E\u753B\u9762\u8D28\u91CF","Privacy mode":"\u9690\u79C1\u6A21\u5F0F","Block user input":"\u963B\u6B62\u7528\u6237\u8F93\u5165","Unblock user input":"\u53D6\u6D88\u963B\u6B62\u7528\u6237\u8F93\u5165","Adjust Window":"\u8C03\u8282\u7A97\u53E3",Original:"\u539F\u59CB\u6BD4\u4F8B",Shrink:"\u6536\u7F29",Stretch:"\u4F38\u5C55","Good image quality":"\u597D\u753B\u8D28",Balanced:"\u4E00\u822C\u753B\u8D28","Optimize reaction time":"\u4F18\u5316\u53CD\u5E94\u65F6\u95F4",Custom:"\u81EA\u5B9A\u4E49\u753B\u8D28","Show remote cursor":"\u663E\u793A\u8FDC\u7A0B\u5149\u6807","Disable clipboard":"\u7981\u6B62\u526A\u8D34\u677F","Lock after session end":"\u65AD\u5F00\u540E\u9501\u5B9A\u8FDC\u7A0B\u7535\u8111",Insert:"\u63D2\u5165","Insert Lock":"\u9501\u5B9A\u8FDC\u7A0B\u7535\u8111",Refresh:"\u5237\u65B0\u753B\u9762","ID does not exist":"ID\u4E0D\u5B58\u5728","Failed to connect to rendezvous server":"\u8FDE\u63A5\u6CE8\u518C\u670D\u52A1\u5668\u5931\u8D25","Please try later":"\u8BF7\u7A0D\u540E\u518D\u8BD5","Remote desktop is offline":"\u8FDC\u7A0B\u7535\u8111\u4E0D\u5728\u7EBF","Key mismatch":"Key\u4E0D\u5339\u914D",Timeout:"\u8FDE\u63A5\u8D85\u65F6","Failed to connect to relay server":"\u65E0\u6CD5\u8FDE\u63A5\u5230\u4E2D\u7EE7\u670D\u52A1\u5668","Failed to connect via rendezvous server":"\u65E0\u6CD5\u901A\u8FC7\u6CE8\u518C\u670D\u52A1\u5668\u5EFA\u7ACB\u8FDE\u63A5","Failed to connect via relay server":"\u65E0\u6CD5\u901A\u8FC7\u4E2D\u7EE7\u670D\u52A1\u5668\u5EFA\u7ACB\u8FDE\u63A5","Failed to make direct connection to remote desktop":"\u65E0\u6CD5\u5EFA\u7ACB\u76F4\u63A5\u8FDE\u63A5","Set Password":"\u8BBE\u7F6E\u5BC6\u7801","OS Password":"\u64CD\u4F5C\u7CFB\u7EDF\u5BC6\u7801",install_tip:"\u5F53\u524D\u4E3A Portable \u6A21\u5F0F\u3002","Click to upgrade":"\u70B9\u51FB\u8FD9\u91CC\u5347\u7EA7","Click to download":"\u70B9\u51FB\u8FD9\u91CC\u4E0B\u8F7D","Click to update":"\u70B9\u51FB\u8FD9\u91CC\u66F4\u65B0",Configure:"\u914D\u7F6E",config_acc:'\u4E3A\u4E86\u80FD\u591F\u8FDC\u7A0B\u63A7\u5236\u4F60\u7684\u684C\u9762, \u8BF7\u7ED9\u4E88RustDesk\\"\u8F85\u52A9\u529F\u80FD\\" \u6743\u9650\u3002',config_screen:'\u4E3A\u4E86\u80FD\u591F\u8FDC\u7A0B\u8BBF\u95EE\u4F60\u7684\u684C\u9762, \u8BF7\u7ED9\u4E88RustDesk\\"\u5C4F\u5E55\u5F55\u5236\\" \u6743\u9650\u3002',"Installing ...":"\u5B89\u88C5 ...",Install:"\u5B89\u88C5",Installation:"\u5B89\u88C5","Installation Path":"\u5B89\u88C5\u8DEF\u5F84","Create start menu shortcuts":"\u521B\u5EFA\u542F\u52A8\u83DC\u5355\u5FEB\u6377\u65B9\u5F0F","Create desktop icon":"\u521B\u5EFA\u684C\u9762\u56FE\u6807",agreement_tip:"\u5F00\u59CB\u5B89\u88C5\u5373\u8868\u793A\u63A5\u53D7\u8BB8\u53EF\u534F\u8BAE\u3002","Accept and Install":"\u540C\u610F\u5E76\u5B89\u88C5","End-user license agreement":"\u7528\u6237\u534F\u8BAE","Generating ...":"\u6B63\u5728\u4EA7\u751F ...","Your installation is lower version.":"\u4F60\u5B89\u88C5\u7684\u7248\u672C\u6BD4\u5F53\u524D\u8FD0\u884C\u7684\u4F4E\u3002",not_close_tcp_tip:"\u8BF7\u5728\u4F7F\u7528\u96A7\u9053\u7684\u65F6\u5019\uFF0C\u4E0D\u8981\u5173\u95ED\u672C\u7A97\u53E3","Listening ...":"\u6B63\u5728\u7B49\u5F85\u96A7\u9053\u8FDE\u63A5 ...","Remote Host":"\u8FDC\u7A0B\u4E3B\u673A","Remote Port":"\u8FDC\u7A0B\u7AEF\u53E3",Action:"\u52A8\u4F5C",Add:"\u6DFB\u52A0","Local Port":"\u672C\u5730\u7AEF\u53E3",setup_server_tip:"\u5982\u679C\u9700\u8981\u66F4\u5FEB\u8FDE\u63A5\u901F\u5EA6\uFF0C\u4F60\u53EF\u4EE5\u9009\u62E9\u81EA\u5EFA\u670D\u52A1\u5668","Too short, at least 6 characters.":"\u592A\u77ED\u4E86\uFF0C\u81F3\u5C116\u4E2A\u5B57\u7B26","The confirmation is not identical.":"\u4E24\u6B21\u8F93\u5165\u4E0D\u5339\u914D",Permissions:"\u6743\u9650",Accept:"\u63A5\u53D7",Dismiss:"\u62D2\u7EDD",Disconnect:"\u65AD\u5F00\u8FDE\u63A5","Allow using keyboard and mouse":"\u5141\u8BB8\u4F7F\u7528\u952E\u76D8\u9F20\u6807","Allow using clipboard":"\u5141\u8BB8\u4F7F\u7528\u526A\u8D34\u677F","Allow hearing sound":"\u5141\u8BB8\u542C\u5230\u58F0\u97F3","Allow file copy and paste":"\u5141\u8BB8\u590D\u5236\u7C98\u8D34\u6587\u4EF6",Connected:"\u5DF2\u7ECF\u8FDE\u63A5","Direct and encrypted connection":"\u52A0\u5BC6\u76F4\u8FDE","Relayed and encrypted connection":"\u52A0\u5BC6\u4E2D\u7EE7\u8FDE\u63A5","Direct and unencrypted connection":"\u975E\u52A0\u5BC6\u76F4\u8FDE","Relayed and unencrypted connection":"\u975E\u52A0\u5BC6\u4E2D\u7EE7\u8FDE\u63A5","Enter Remote ID":"\u8F93\u5165\u5BF9\u65B9ID","Enter your password":"\u8F93\u5165\u5BC6\u7801","Logging in...":"\u6B63\u5728\u767B\u5F55...","Enable RDP session sharing":"\u5141\u8BB8RDP\u4F1A\u8BDD\u5171\u4EAB","Auto Login":"\u81EA\u52A8\u767B\u5F55\uFF08\u8BBE\u7F6E\u65AD\u5F00\u540E\u9501\u5B9A\u624D\u6709\u6548\uFF09","Enable Direct IP Access":"\u5141\u8BB8IP\u76F4\u63A5\u8BBF\u95EE",Rename:"\u6539\u540D",Space:"\u7A7A\u683C","Create Desktop Shortcut":"\u521B\u5EFA\u684C\u9762\u5FEB\u6377\u65B9\u5F0F","Change Path":"\u6539\u53D8\u8DEF\u5F84","Create Folder":"\u521B\u5EFA\u6587\u4EF6\u5939","Please enter the folder name":"\u8BF7\u8F93\u5165\u6587\u4EF6\u5939\u540D\u79F0","Fix it":"\u4FEE\u590D",Warning:"\u8B66\u544A","Login screen using Wayland is not supported":"\u4E0D\u652F\u6301\u4F7F\u7528 Wayland \u767B\u5F55\u754C\u9762","Reboot required":"\u91CD\u542F\u540E\u624D\u80FD\u751F\u6548","Unsupported display server ":"\u4E0D\u652F\u6301\u5F53\u524D\u663E\u793A\u670D\u52A1\u5668","x11 expected":"\u8BF7\u5207\u6362\u5230 x11",Port:"\u7AEF\u53E3",Settings:"\u8BBE\u7F6E",Username:" \u7528\u6237\u540D","Invalid port":"\u65E0\u6548\u7AEF\u53E3","Closed manually by the peer":"\u88AB\u5BF9\u65B9\u624B\u52A8\u5173\u95ED","Enable remote configuration modification":"\u5141\u8BB8\u8FDC\u7A0B\u4FEE\u6539\u914D\u7F6E","Run without install":"\u65E0\u5B89\u88C5\u8FD0\u884C","Always connected via relay":"\u5F3A\u5236\u8D70\u4E2D\u7EE7\u8FDE\u63A5","Always connect via relay":"\u5F3A\u5236\u8D70\u4E2D\u7EE7\u8FDE\u63A5",whitelist_tip:"\u53EA\u6709\u767D\u540D\u5355\u91CC\u7684ip\u624D\u80FD\u8BBF\u95EE\u6211",Login:"\u767B\u5F55",Logout:"\u767B\u51FA",Tags:"\u6807\u7B7E","Search ID":"\u67E5\u627EID","Current Wayland display server is not supported":"\u4E0D\u652F\u6301 Wayland \u663E\u793A\u670D\u52A1\u5668",whitelist_sep:"\u53EF\u4EE5\u4F7F\u7528\u9017\u53F7\uFF0C\u5206\u53F7\uFF0C\u7A7A\u683C\u6216\u8005\u6362\u884C\u7B26\u4F5C\u4E3A\u5206\u9694\u7B26","Add ID":"\u589E\u52A0ID","Add Tag":"\u589E\u52A0\u6807\u7B7E","Unselect all tags":"\u53D6\u6D88\u9009\u62E9\u6240\u6709\u6807\u7B7E","Network error":"\u7F51\u7EDC\u9519\u8BEF","Username missed":"\u7528\u6237\u540D\u6CA1\u6709\u586B\u5199","Password missed":"\u5BC6\u7801\u6CA1\u6709\u586B\u5199","Wrong credentials":"\u7528\u6237\u540D\u6216\u8005\u5BC6\u7801\u9519\u8BEF","Edit Tag":"\u4FEE\u6539\u6807\u7B7E","Unremember Password":"\u5FD8\u6389\u5BC6\u7801",Favorites:"\u6536\u85CF","Add to Favorites":"\u52A0\u5165\u5230\u6536\u85CF","Remove from Favorites":"\u4ECE\u6536\u85CF\u4E2D\u5220\u9664",Empty:"\u7A7A\u7A7A\u5982\u4E5F","Invalid folder name":"\u65E0\u6548\u6587\u4EF6\u5939\u540D\u79F0","Socks5 Proxy":"Socks5 \u4EE3\u7406",Hostname:"\u4E3B\u673A\u540D",Discovered:"\u5DF2\u53D1\u73B0",install_daemon_tip:"\u4E3A\u4E86\u5F00\u673A\u542F\u52A8\uFF0C\u8BF7\u5B89\u88C5\u7CFB\u7EDF\u670D\u52A1\u3002","Remote ID":"\u8FDC\u7A0BID",Paste:"\u7C98\u8D34","Paste here?":"\u7C98\u8D34\u5230\u8FD9\u91CC?","Are you sure to close the connection?":"\u662F\u5426\u786E\u8BA4\u5173\u95ED\u8FDE\u63A5\uFF1F","Download new version":"\u4E0B\u8F7D\u65B0\u7248\u672C","Touch mode":"\u89E6\u5C4F\u6A21\u5F0F","Mouse mode":"\u9F20\u6807\u6A21\u5F0F","One-Finger Tap":"\u5355\u6307\u8F7B\u89E6","Left Mouse":"\u9F20\u6807\u5DE6\u952E","One-Long Tap":"\u5355\u6307\u957F\u6309","Two-Finger Tap":"\u53CC\u6307\u8F7B\u89E6","Right Mouse":"\u9F20\u6807\u53F3\u952E","One-Finger Move":"\u5355\u6307\u79FB\u52A8","Double Tap & Move":"\u53CC\u51FB\u5E76\u79FB\u52A8","Mouse Drag":"\u9F20\u6807\u9009\u4E2D\u62D6\u52A8","Three-Finger vertically":"\u4E09\u6307\u5782\u76F4\u6ED1\u52A8","Mouse Wheel":"\u9F20\u6807\u6EDA\u8F6E","Two-Finger Move":"\u53CC\u6307\u79FB\u52A8","Canvas Move":"\u79FB\u52A8\u753B\u5E03","Pinch to Zoom":"\u53CC\u6307\u7F29\u653E","Canvas Zoom":"\u7F29\u653E\u753B\u5E03","Reset canvas":"\u91CD\u7F6E\u753B\u5E03","No permission of file transfer":"\u6CA1\u6709\u6587\u4EF6\u4F20\u8F93\u6743\u9650",Note:"\u5907\u6CE8",Connection:"\u8FDE\u63A5","Share Screen":"\u5171\u4EAB\u5C4F\u5E55",CLOSE:"\u5173\u95ED",OPEN:"\u5F00\u542F",Chat:"\u804A\u5929\u6D88\u606F",Total:"\u603B\u8BA1",items:"\u4E2A\u9879\u76EE",Selected:"\u5DF2\u9009\u62E9","Screen Capture":"\u5C4F\u5E55\u5F55\u5236","Input Control":"\u8F93\u5165\u63A7\u5236","Audio Capture":"\u97F3\u9891\u5F55\u5236","File Connection":"\u6587\u4EF6\u8FDE\u63A5","Screen Connection":"\u5C4F\u5E55\u8FDE\u63A5","Do you accept?":"\u662F\u5426\u63A5\u53D7\uFF1F","Open System Setting":"\u6253\u5F00\u7CFB\u7EDF\u8BBE\u7F6E","How to get Android input permission?":"\u5982\u4F55\u83B7\u53D6\u5B89\u5353\u7684\u8F93\u5165\u6743\u9650\uFF1F",android_input_permission_tip1:'\u70BA\u4E86\u8B93\u9060\u7A0B\u8A2D\u5099\u901A\u904E\u9F20\u6A19\u6216\u8005\u89F8\u5C4F\u63A7\u5236\u60A8\u7684\u5B89\u5353\u8A2D\u5099\uFF0C\u4F60\u9700\u8981\u5141\u8A31RustDesk\u4F7F\u7528\\"\u7121\u969C\u7919\\"\u670D\u52D9\u3002',android_input_permission_tip2:"\u8BF7\u5728\u63A5\u4E0B\u6765\u7684\u7CFB\u7EDF\u8BBE\u7F6E\u9875\u9762\u91CC\uFF0C\u627E\u5230\u5E76\u8FDB\u5165 [\u5DF2\u5B89\u88C5\u7684\u670D\u52A1] \u9875\u9762\uFF0C\u5C06 [RustDesk Input] \u670D\u52A1\u5F00\u542F\u3002",android_new_connection_tip:"\u6536\u5230\u65B0\u7684\u8FDE\u63A5\u63A7\u5236\u8BF7\u6C42\uFF0C\u5BF9\u65B9\u60F3\u8981\u63A7\u5236\u4F60\u5F53\u524D\u7684\u8BBE\u5907\u3002",android_service_will_start_tip:"\u5F00\u542F\u5F55\u5C4F\u6743\u9650\u5C06\u81EA\u52A8\u5F00\u542F\u670D\u52A1\uFF0C\u5141\u8BB8\u5176\u4ED6\u8BBE\u5907\u5411\u6B64\u8BBE\u5907\u8BF7\u6C42\u5EFA\u7ACB\u8FDE\u63A5\u3002",android_stop_service_tip:"\u5173\u95ED\u670D\u52A1\u5C06\u81EA\u52A8\u5173\u95ED\u6240\u6709\u5DF2\u5EFA\u7ACB\u7684\u8FDE\u63A5\u3002",android_version_audio_tip:"\u5F53\u524D\u5B89\u5353\u7248\u672C\u4E0D\u652F\u6301\u97F3\u9891\u5F55\u5236\uFF0C\u8BF7\u5347\u7EA7\u81F3\u5B89\u535310\u6216\u66F4\u9AD8\u3002",android_start_service_tip:"\u70B9\u51FB [\u542F\u52A8\u670D\u52A1] \u6216\u6253\u5F00 [\u5C4F\u5E55\u5F55\u5236] \u6743\u9650\u5F00\u542F\u624B\u673A\u5C4F\u5E55\u5171\u4EAB\u670D\u52A1\u3002",Account:"\u8D26\u53F7",Overwrite:"\u8986\u76D6","This file exists, skip or overwrite this file?":"\u8FD9\u4E2A\u6587\u4EF6/\u6587\u4EF6\u5939\u5DF2\u5B58\u5728\uFF0C\u8DF3\u8FC7/\u8986\u76D6?",Quit:"\u9000\u51FA",doc_mac_permission:"https://rustdesk.com/docs/zh-cn/manual/mac/#\u542F\u7528\u6743\u9650",Help:"\u5E2E\u52A9",Failed:"\u5931\u8D25",Succeeded:"\u6210\u529F","Someone turns on privacy mode, exit":"\u5176\u4ED6\u7528\u6237\u4F7F\u7528\u9690\u79C1\u6A21\u5F0F\uFF0C\u9000\u51FA",Unsupported:"\u4E0D\u652F\u6301","Peer denied":"\u88AB\u63A7\u7AEF\u62D2\u7EDD","Please install plugins":"\u8BF7\u5B89\u88C5\u63D2\u4EF6","Peer exit":"\u88AB\u63A7\u7AEF\u9000\u51FA","Failed to turn off":"\u9000\u51FA\u5931\u8D25","Turned off":"\u9000\u51FA","In privacy mode":"\u8FDB\u5165\u9690\u79C1\u6A21\u5F0F","Out privacy mode":"\u9000\u51FA\u9690\u79C1\u6A21\u5F0F",Language:"\u8BED\u8A00"},cs:{Status:"Stav","Your Desktop":"Va\u0161e plocha",desk_tip:"Pomoc\xED tohoto identifik\xE1toru a hesla m\u016F\u017Eete p\u0159istupovat ke sv\xE9 plo\u0161e.",Password:"Heslo",Ready:"P\u0159ipraveno",Established:"Nav\xE1z\xE1no",connecting_status:"P\u0159ipojov\xE1n\xED se k Rusdesk s\xEDti\u2026","Enable Service":"Povolit slu\u017Ebu","Start Service":"Spustit slu\u017Ebu","Service is running":"Slu\u017Eba je spu\u0161t\u011Bn\xE1","Service is not running":"Slu\u017Eba nen\xED spu\u0161t\u011Bn\xE1",not_ready_status:"Nep\u0159ipraveno. Zkontrolujte sv\xE9 p\u0159ipojen\xED.","Control Remote Desktop":"Ovl\xE1dat vzd\xE1lenou plochu","Transfer File":"P\u0159en\xE9st soubor",Connect:"P\u0159ipojit","Recent Sessions":"Ned\xE1vn\xE9 relace","Address Book":"Adres\xE1\u0159 kontakt\u016F",Confirmation:"Potvrzen\xED","TCP Tunneling":"TCP tunelov\xE1n\xED",Remove:"Odebrat","Refresh random password":"Vytvo\u0159it nov\xE9 n\xE1hodn\xE9 heslo","Set your own password":"Nastavte si sv\xE9 vlastn\xED heslo","Enable Keyboard/Mouse":"Povolit kl\xE1vesnici/my\u0161","Enable Clipboard":"Povolit schr\xE1nku","Enable File Transfer":"Povolit p\u0159enos soubor\u016F","Enable TCP Tunneling":"Povolit TCP tunelov\xE1n\xED","IP Whitelisting":"Povolov\xE1n\xED pouze z dan\xFDch IP adres)","ID/Relay Server":"Identifik\xE1tor / p\u0159ed\xE1vac\xED (relay) server","Stop service":"Zastavit slu\u017Ebu","Change ID":"Zm\u011Bnit identifik\xE1tor",Website:"Webov\xE9 str\xE1nky",About:"O aplikaci",Mute:"Ztlumit","Audio Input":"Vstup zvuku","ID Server":"Server pro identif.","Relay Server":"P\u0159ed\xE1vac\xED (relay) server","API Server":"Server s API rozhran\xEDm",invalid_http:"Je t\u0159eba, aby za\u010D\xEDnalo na http:// nebo https://","Invalid IP":"Neplatn\xE1 IP adresa",id_change_tip:"Pou\u017E\xEDt je mozn\xE9 pouze znaky a-z, A-Z, 0-9 a _ (podtr\u017E\xEDtko). D\xE1le je t\u0159eba aby za\u010D\xEDnalo na p\xEDsmeno a-z, A-Z. D\xE9lka mezi 6 a 16 znaky.","Invalid format":"Neplatn\xFD form\xE1t",server_not_support:"Server zat\xEDm nepodporuje","Not available":"Nen\xED k dispozici","Too frequent":"P\u0159\xEDli\u0161 \u010Dast\xE9",Cancel:"Storno",Skip:"P\u0159esko\u010Dit",Close:"Zav\u0159\xEDt",Retry:"Zkusit znovu",OK:"OK","Password Required":"Vy\u017Eadov\xE1no heslo","Please enter your password":"Zadejte sv\xE9 heslo","Remember password":"Zapamatovat heslo","Wrong Password":"Nespr\xE1vn\xE9 heslo","Do you want to enter again?":"Chcete se znovu p\u0159ipojit?","Connection Error":"Chyba spojen\xED",Error:"Chyba","Reset by the peer":"Resetov\xE1no prot\u011Bj\u0161kem","Connecting...":"P\u0159ipojov\xE1n\xED\u2026","Connection in progress. Please wait.":"Prob\xEDh\xE1 p\u0159ipojov\xE1n\xED \u2013 vy\u010Dkejte.","Please try 1 minute later":"Zkuste to a\u017E za minutu \u010Di d\xE9le","Login Error":"Chyba p\u0159ihl\xE1\u0161en\xED se",Successful:"\xDAsp\u011B\u0161n\xE9","Connected, waiting for image...":"P\u0159ipojeno, \u010Dek\xE1 se na obraz\u2026",Name:"N\xE1zev",Type:"Typ",Modified:"Zm\u011Bn\u011Bno",Size:"Velikost","Show Hidden Files":"Zobrazit skryt\xE9 soubory",Receive:"P\u0159ijmout",Send:"Odeslat","Refresh File":"Znovu na\u010D\xEDst soubor",Local:"M\xEDstn\xED",Remote:"Vzd\xE1len\xE9","Remote Computer":"Vzd\xE1len\xFD po\u010D\xEDta\u010D","Local Computer":"M\xEDstn\xED po\u010D\xEDta\u010D","Confirm Delete":"Potvrdit smaz\xE1n\xED",Delete:"Smazat",Properties:"Vlastnosti","Multi Select":"V\xEDcen\xE1sobn\xFD v\xFDb\u011Br","Empty Directory":"Pr\xE1zdn\xE1 slo\u017Eka","Not an empty directory":"Nepr\xE1zdn\xE1 slo\u017Eka","Are you sure you want to delete this file?":"Opravdu chcete tento soubor vymazat?","Are you sure you want to delete this empty directory?":"Opravdu chcete tuto pr\xE1zdnou slo\u017Eku smazat?","Are you sure you want to delete the file of this directory?":"Opravdu chcete vymazat soubor, poch\xE1zej\xEDc\xED z t\xE9to slo\u017Eky?","Do this for all conflicts":"Nalo\u017Eit takto se v\u0161emi konflikty","This is irreversible!":"Toto nelze vz\xEDt zp\u011Bt",Deleting:"Maz\xE1n\xED",files:"soubory",Waiting:"\u010Cek\xE1 se",Finished:"Dokon\u010Deno",Speed:"Rychlost","Custom Image Quality":"U\u017Eivatelsky ur\u010Den\xE1 kvalita obrazu","Privacy mode":"Re\u017Eim soukrom\xED","Block user input":"Blokovat vstupn\xED za\u0159\xEDzen\xED u\u017Eivatele","Unblock user input":"Odblokovat vstupn\xED za\u0159\xEDzen\xED u\u017Eivatele","Adjust Window":"P\u0159izp\u016Fsobit velikost okna",Original:"P\u016Fvodn\xED",Shrink:"O\u0159\xEDznout",Stretch:"Rozt\xE1hnout","Good image quality":"Dobr\xE1 kvalita obrazu",Balanced:"Vyv\xE1\u017Een\xE9","Optimize reaction time":"Optimalizovat pro co nejni\u017E\u0161\xED prodlevu odezvy",Custom:"U\u017Eivatelsky ur\u010Den\xE9","Show remote cursor":"Zobrazovat ukazatel my\u0161i z prot\u011Bj\u0161ku","Disable clipboard":"Vypnout schr\xE1nku","Lock after session end":"Po ukon\u010Den\xED relace zamknout plochu",Insert:"Vlo\u017Eit","Insert Lock":"Vlo\u017Eit z\xE1mek",Refresh:"Na\u010D\xEDst znovu","ID does not exist":"Takov\xFD identifik\xE1tor neexistuje","Failed to connect to rendezvous server":"Nepoda\u0159il se p\u0159ipojit ke zprost\u0159edkov\xE1vaj\xEDc\xEDmu serveru","Please try later":"Zkuste to pozd\u011Bji","Remote desktop is offline":"Vzd\xE1len\xE1 plocha nen\xED p\u0159ipojen\xE1 ke slu\u017Eb\u011B","Key mismatch":"Neshoda kl\xED\u010D\u016F",Timeout:"P\u0159ekro\u010Den \u010Dasov\xFD limit pro nav\xE1z\xE1n\xED spojen\xED","Failed to connect to relay server":"Nepoda\u0159ilo se p\u0159ipojit k p\u0159ed\xE1vac\xEDmu (relay) serveru","Failed to connect via rendezvous server":"Nepoda\u0159ilo se p\u0159ipojit prost\u0159ednictv\xEDm zprost\u0159edkov\xE1vaj\xEDc\xEDho serveru","Failed to connect via relay server":"Nepoda\u0159ilo se p\u0159ipojit prost\u0159ednictv\xEDm p\u0159ed\xE1vac\xEDmu (relay) serveru","Failed to make direct connection to remote desktop":"Nepoda\u0159ilo s nav\xE1zat p\u0159\xEDm\xE9 p\u0159ipojen\xED ke vzd\xE1len\xE9 plo\u0161e","Set Password":"Nastavit heslo","OS Password":"Heslo do opera\u010Dn\xEDho syst\xE9mu",install_tip:"Kv\u016Fli \u0159\xEDzen\xED opr\xE1vn\u011Bn\xED v syst\xE9mu (UAC), RustDesk v n\u011Bkter\xFDch p\u0159\xEDpadech na prot\u011Bj\u0161ku nefunguje spr\xE1vn\u011B. Abyste se UAC vyhnuli, klikn\u011Bte na n\xED\u017Ee uveden\xE9 tla\u010D\xEDtko a nainstalujte tak RustDesk do syst\xE9mu.","Click to upgrade":"Aktualizaci nainstalujete kliknut\xEDm","Click to download":"St\xE1hnete si kliknut\xEDm","Click to update":"Znovu na\u010Dtete kliknut\xEDm",Configure:"Nastavit",config_acc:"Aby bylo mo\u017En\xE9 na d\xE1lku ovl\xE1dat va\u0161i plochu, je t\u0159eba aplikaci RustDesk ud\u011Blit opr\xE1vn\u011Bn\xED pro \u201EZp\u0159\xEDstupn\u011Bn\xED pro hendikepovan\xE9\u201C.",config_screen:"Aby bylo mo\u017En\xE9 p\u0159istupovat k va\u0161\xED plo\u0161e na d\xE1lku, je t\u0159eba aplikaci RustDesk ud\u011Blit opr\xE1vn\u011B\xED pro \u201ENahr\xE1v\xE1n\xED obsahu obrazovky\u201C.","Installing ...":"Instaluje se\u2026",Install:"Nainstalovat",Installation:"Instalace","Installation Path":"Popis um\xEDst\u011Bn\xED instalace","Create start menu shortcuts":"Vytvo\u0159it z\xE1stupce v nab\xEDdce Start","Create desktop icon":"Vytvo\u0159it ikonu na plo\u0161e",agreement_tip:"Spu\u0161t\u011Bn\xEDm instalace p\u0159ij\xEDm\xE1te licen\u010Dn\xED ujedn\xE1n\xED.","Accept and Install":"P\u0159ijmout a nainstalovat","End-user license agreement":"Licencen\u010Dn\xED ujedn\xE1n\xED s koncov\xFDm u\u017Eivatelem","Generating ...":"Vytv\xE1\u0159en\xED\u2026","Your installation is lower version.":"M\xE1te nainstalovanou star\u0161\xED verzi",not_close_tcp_tip:"Po dobu, po kterou tunel pot\u0159ebujete, nezav\xEDrejte toto okno","Listening ...":"O\u010Dek\xE1vn\xED spojen\xED\u2026","Remote Host":"Vzd\xE1len\xFD stroj","Remote Port":"Port na prot\u011Bj\u0161ku",Action:"Akce",Add:"P\u0159idat","Local Port":"M\xEDstn\xED port",setup_server_tip:"Rychlej\u0161\xED p\u0159ipojen\xED z\xEDsk\xE1te vytvo\u0159en\xEDm si sv\xE9ho vlastn\xEDho serveru","Too short, at least 6 characters.":"P\u0159\xEDli\u0161 kr\xE1tk\xE9 \u2013 alespo\u0148 6 znak\u016F.","The confirmation is not identical.":"Kontroln\xED zad\xE1n\xED se neshoduje.",Permissions:"Opr\xE1vn\u011Bn\xED",Accept:"P\u0159ijmout",Dismiss:"Zahodit",Disconnect:"Odpojit","Allow using keyboard and mouse":"Umo\u017Enit ovl\xE1d\xE1n\xED m\xE9 kl\xE1vesnice a my\u0161i","Allow using clipboard":"Umo\u017Enit pou\u017E\xEDv\xE1n\xED schr\xE1nky","Allow hearing sound":"Umo\u017Enit sly\u0161et m\u016Fj zvuk","Allow file copy and paste":"Povolit kop\xEDrov\xE1n\xED a vkl\xE1d\xE1n\xED soubor\u016F",Connected:"P\u0159ipojeno","Direct and encrypted connection":"P\u0159\xEDm\xE9 a \u0161ifrovan\xE9 spojen\xED","Relayed and encrypted connection":"P\u0159ed\xE1van\xE9 (relay) a \u0161ifrovan\xE9 spojen\xED","Direct and unencrypted connection":"P\u0159\xEDm\xE9 a ne\u0161ifrovan\xE9 spojen\xED","Relayed and unencrypted connection":"P\u0159ed\xE1van\xE9 (relay) a ne\u0161ifrovan\xE9 spojen\xED","Enter Remote ID":"Zadejte identifik\xE1tor prot\u011Bj\u0161ku","Enter your password":"Zadejte sv\xE9 heslo","Logging in...":"P\u0159ihla\u0161ov\xE1n\xED se\u2026","Enable RDP session sharing":"Zapnout sd\xEDlen\xED relace RDP protokolu","Auto Login":"Automatick\xE9 p\u0159ihl\xE1\u0161en\xED","Enable Direct IP Access":"Zapnout p\u0159\xEDm\xFD p\u0159\xEDstup na IP adresu",Rename:"P\u0159ejmenovat",Space:"Mezera","Create Desktop Shortcut":"Vytvo\u0159it z\xE1stupce na plo\u0161e","Change Path":"Zm\u011Bnit um\xEDst\u011Bn\xED","Create Folder":"Vytvo\u0159it slo\u017Eku","Please enter the folder name":"Zadejte n\xE1zev pro slo\u017Eku","Fix it":"Opravit to",Warning:"Upozornen\xED","Login screen using Wayland is not supported":"P\u0159ihla\u0161ovac\xED obrazovka prost\u0159ednictv\xEDm Wayland nen\xED podporov\xE1na","Reboot required":"Je t\u0159eba restartovat","Unsupported display server ":"Nepodporovan\xFD zobrazovac\xED server","x11 expected":"o\u010Dek\xE1v\xE1ny x11",Port:"\u010C\xEDslo portu",Settings:"Nastaven\xED",Username:"U\u017Eivatelsk\xE9 jm\xE9no","Invalid port":"Neplatn\xE9 \u010D\xEDslo portu","Closed manually by the peer":"Ru\u010Dn\u011B ukon\u010Deno prot\u011Bj\u0161kem","Enable remote configuration modification":"Umo\u017Enit upravov\xE1n\xED nastaven\xED vzd\xE1len\xE9ho","Run without install":"Spustit bez instalov\xE1n\xED","Always connected via relay":"V\u017Edy spojov\xE1no prost\u0159ednictv\xEDm br\xE1ny pro p\u0159ed\xE1v\xE1n\xED (relay)","Always connect via relay":"V\u017Edy se spojovat prost\u0159ednictv\xEDm br\xE1ny pro p\u0159ed\xE1v\xE1n\xED (relay)",whitelist_tip:"P\u0159\xEDstup je umo\u017En\u011Bn pouze z IP adres, nach\xE1zej\xEDc\xEDch se na seznamu povolen\xFDch",Login:"P\u0159ihl\xE1sit se",Logout:"Odhl\xE1sit se",Tags:"\u0160t\xEDtky","Search ID":"Hledat identifik\xE1tor","Current Wayland display server is not supported":"Zobrazovac\xED server Wayland zat\xEDm nen\xED podporov\xE1n",whitelist_sep:"Od\u011Blov\xE1no \u010D\xE1rkou, st\u0159edn\xEDkem, mezerou nebo koncem \u0159\xE1dku","Add ID":"P\u0159idat identifik\xE1tor","Add Tag":"P\u0159idat \u0161t\xEDtek","Unselect all tags":"Zru\u0161it v\xFDb\u011Br v\u0161ech \u0161t\xEDtk\u016F","Network error":"Chyba s\xEDt\u011B","Username missed":"Chyb\xED u\u017Eivatelsk\xE9 jm\xE9no","Password missed":"Chyb\xED heslo","Wrong credentials":"Nespr\xE1vn\xE9 p\u0159ihla\u0161ovac\xED \xFAdaje","Edit Tag":"Upravit \u0161t\xEDtek","Unremember Password":"P\u0159estat si heslo pamatovat",Favorites:"Obl\xEDben\xE9","Add to Favorites":"P\u0159idat do obl\xEDben\xFDch","Remove from Favorites":"Odebrat z obl\xEDben\xFDch",Empty:"Pr\xE1zdn\xE9","Invalid folder name":"Neplatn\xFD n\xE1zev slo\u017Eky","Socks5 Proxy":"Socks5 proxy",Hostname:"N\xE1zev stroje",Discovered:"Objeveno",install_daemon_tip:"Pokud m\xE1 b\xFDt spou\u0161t\u011Bno p\u0159i startu syst\xE9mu, je t\u0159eba nainstalovat syst\xE9movou slu\u017Ebu.","Remote ID":"Identif. prot\u011Bj\u0161ku",Paste:"Vlo\u017Eit","Paste here?":"Vlo\u017Eit sem?","Are you sure to close the connection?":"Opravdu chcete spojen\xED ukon\u010Dit?","Download new version":"St\xE1hnout si novou verzi","Touch mode":"Re\u017Eim dotyku","Mouse mode":"Re\u017Eim my\u0161i","One-Finger Tap":"Klepnut\xED jedn\xEDm prstem","Left Mouse":"Lev\xE9 tla\u010D\xEDtko my\u0161i","One-Long Tap":"Jedno dlouh\xE9 klepnut\xED","Two-Finger Tap":"Klepnut\xED dv\u011Bma prsty","Right Mouse":"Prav\xE9 tla\u010D\xEDtko my\u0161i","One-Finger Move":"P\u0159esouv\xE1n\xED jedn\xEDm prstem","Double Tap & Move":"Dvojit\xE9 klepnut\xED a p\u0159esun","Mouse Drag":"P\u0159eta\u017Een\xED my\u0161\xED","Three-Finger vertically":"T\u0159emi prsty svisle","Mouse Wheel":"Kole\u010Dko my\u0161i","Two-Finger Move":"Posun dv\u011Bma prsty","Canvas Move":"Posun zobrazen\xED","Pinch to Zoom":"P\u0159ibl\xED\u017E\xEDte rozta\u017Een\xEDm dv\u011Bma prsty","Canvas Zoom":"P\u0159ibl\xED\u017Een\xED zobrazen\xED","Reset canvas":"Vr\xE1tit m\u011B\u0159tko zobrazen\xED na v\xFDchoz\xED","No permission of file transfer":"\u017D\xE1dn\xE9 opr\xE1vn\u011Bn\xED p\u0159enosu souboru",Note:"Pozn\xE1mka",Connection:"P\u0159ipojen\xED","Share Screen":"Nasd\xEDlet obrazovku",CLOSE:"ZAV\u0158\xCDT",OPEN:"OTEV\u0158\xCDT",Chat:"Chat",Total:"Celkem",items:"Polo\u017Eek",Selected:"Vybr\xE1no","Screen Capture":"Zachyt\xE1v\xE1n\xED obrazovky","Input Control":"Ovl\xE1d\xE1n\xED vstupn\xEDch za\u0159\xEDzen\xED","Audio Capture":"Zachyt\xE1v\xE1n\xED zvuku","File Connection":"Souborov\xE9 spojen\xED","Screen Connection":"Spojen\xED obrazovky","Do you accept?":"P\u0159ij\xEDm\xE1te?","Open System Setting":"Otev\u0159\xEDt nastaven\xED syst\xE9mu","How to get Android input permission?":"Jak v syst\xE9mu Android z\xEDskat opr\xE1vn\u011Bn\xED pro vstupn\xED za\u0159\xEDzen\xED?",android_input_permission_tip1:"Aby vzd\xE1len\xE9 za\u0159\xEDzen\xED mohlo ovl\xE1dat va\u0161e Android za\u0159\xEDzen\xED prost\u0159ednictv\xED my\u0161i \u010Di dotyk\u016F, je t\u0159eba povolit, aby RustDesk mohlo pou\u017E\xEDvat slu\u017Ebu \u201EZp\u0159\xEDstupn\u011Bn\xED hendikepovan\xFDm\u201C.",android_input_permission_tip2:"P\u0159ejd\u011Bte na n\xE1sleduj\xEDc\xED str\xE1nku nastaven\xED syst\xE9mu, najd\u011Bte a p\u0159ejd\u011Bte do [Nainstalovan\xE9 slu\u017Eby] a zapn\u011Bte slu\u017Ebu [RustDesk vstup].",android_new_connection_tip:"Obdr\u017Een nov\xFD po\u017Eadavek na \u0159\xEDzen\xED za\u0159\xEDzen\xED, kter\xFD chce ovl\xE1dat va\u0161e st\xE1vaj\xEDc\xED za\u0159\xEDzen\xED.",android_service_will_start_tip:"Zapnut\xED \u201EZachyt\xE1v\xE1n\xED obsahu obrazovky\u201C automaticky spust\xED slu\u017Ebu, co\u017E umo\u017En\xED ostatn\xEDm za\u0159\xEDzen\xEDm \u017E\xE1dat o p\u0159ipojen\xED k va\u0161emu za\u0159\xEDzen\xED.",android_stop_service_tip:"Zastaven\xED slu\u017Eby automaticky ukon\u010D\xED ve\u0161ker\xE1 nav\xE1zan\xE1 spojen\xED.",android_version_audio_tip:"V\xE1mi nyn\xED pou\u017E\xEDvan\xE1 verze syst\xE9mu Android nepodporuje zachyt\xE1v\xE1n\xED zvuku \u2013 p\u0159ejd\u011Bte na Android 10 nebo nov\u011Bj\u0161\xED.",android_start_service_tip:"Slu\u017Ebu pro sd\xEDlen\xED obrazovky spust\xEDte klepnut\xEDm na [Spustit slu\u017Ebu] nebo UD\u011ALTE pov\u011B\u0159en\xED pro [Zachyt\xE1v\xE1n\xED obsahu obrazovky].",Account:"\xDA\u010Det",Overwrite:"P\u0159epsat","This file exists, skip or overwrite this file?":"Tento soubor existuje \u2013 p\u0159esko\u010Dit ho nebo p\u0159epsat?",Quit:"Ukon\u010Dit",doc_mac_permission:"https://rustdesk.com/docs/en/manual/mac/#enable-permissions",Help:"N\xE1pov\u011Bda",Failed:"Nepoda\u0159ilo se",Succeeded:"Usp\u011Bl","Someone turns on privacy mode, exit":"N\u011Bkdo zapne re\u017Eim soukrom\xED, ukon\u010Dete ho",Unsupported:"Nepodporov\xE1no","Peer denied":"Peer pop\u0159el","Please install plugins":"Nainstalujte si pros\xEDm pluginy","Peer exit":"Peer exit","Failed to turn off":"Nepoda\u0159ilo se vypnout","Turned off":"Vypnut\xFD","In privacy mode":"v re\u017Eimu soukrom\xED","Out privacy mode":"mimo re\u017Eim soukrom\xED",Language:""},tw:{Status:"\u72C0\u614B","Your Desktop":"\u60A8\u7684\u684C\u9762",desk_tip:"\u60A8\u53EF\u4EE5\u900F\u904E\u6B64 ID \u53CA\u5BC6\u78BC\u5B58\u53D6\u60A8\u7684\u684C\u9762",Password:"\u5BC6\u78BC",Ready:"\u5C31\u7DD2",Established:"\u5DF2\u5EFA\u7ACB",connecting_status:"\u6B63\u5728\u9023\u63A5\u81F3 RustDesk \u7DB2\u8DEF...","Enable Service":"\u555F\u7528\u670D\u52D9","Start Service":"\u555F\u52D5\u670D\u52D9","Service is running":"\u670D\u52D9\u6B63\u5728\u904B\u884C","Service is not running":"\u670D\u52D9\u5C1A\u672A\u57F7\u884C",not_ready_status:"\u5C1A\u672A\u5C31\u7DD2\u3002\u8ACB\u6AA2\u67E5\u60A8\u7684\u7DB2\u8DEF\u9023\u7DDA","Control Remote Desktop":"\u63A7\u5236\u9060\u7AEF\u684C\u9762","Transfer File":"\u50B3\u8F38\u6A94\u6848",Connect:"\u9023\u63A5","Recent Sessions":"\u8FD1\u671F\u7684\u5DE5\u4F5C\u968E\u6BB5","Address Book":"\u901A\u8A0A\u9304",Confirmation:"\u78BA\u8A8D","TCP Tunneling":"TCP \u901A\u9053",Remove:"\u79FB\u9664","Refresh random password":"\u91CD\u65B0\u7522\u751F\u96A8\u6A5F\u5BC6\u78BC","Set your own password":"\u81EA\u884C\u8A2D\u7F6E\u5BC6\u78BC","Enable Keyboard/Mouse":"\u555F\u7528\u9375\u76E4/\u6ED1\u9F20","Enable Clipboard":"\u555F\u7528\u526A\u8CBC\u7C3F","Enable File Transfer":"\u555F\u7528\u6A94\u6848\u50B3\u8F38","Enable TCP Tunneling":"\u555F\u7528 TCP \u901A\u9053","IP Whitelisting":"IP \u767D\u540D\u55AE","ID/Relay Server":"ID/\u8F49\u9001\u4F3A\u670D\u5668","Stop service":"\u505C\u6B62\u670D\u52D9","Change ID":"\u66F4\u6539 ID",Website:"\u7DB2\u7AD9",About:"\u95DC\u65BC",Mute:"\u975C\u97F3","Audio Input":"\u97F3\u8A0A\u8F38\u5165","ID Server":"ID \u4F3A\u670D\u5668","Relay Server":"\u8F49\u9001\u4F3A\u670D\u5668","API Server":"API \u4F3A\u670D\u5668",invalid_http:"\u958B\u982D\u5FC5\u9808\u70BA http:// \u6216 https://","Invalid IP":"IP \u7121\u6548",id_change_tip:"\u50C5\u80FD\u4F7F\u7528\u4EE5\u4E0B\u5B57\u5143\uFF1Aa-z\u3001A-Z\u30010-9\u3001_ (\u5E95\u7DDA)\u3002\u9996\u5B57\u5143\u5FC5\u9808\u70BA a-z \u6216 A-Z\u3002\u9577\u5EA6\u4ECB\u65BC 6 \u5230 16 \u4E4B\u9593\u3002","Invalid format":"\u683C\u5F0F\u7121\u6548",server_not_support:"\u670D\u52D9\u5668\u66AB\u4E0D\u652F\u6301","Not available":"\u7121\u6CD5\u4F7F\u7528","Too frequent":"\u4FEE\u6539\u904E\u65BC\u983B\u7E41\uFF0C\u8ACB\u7A0D\u5F8C\u518D\u8A66\u3002",Cancel:"\u53D6\u6D88",Skip:"\u8DF3\u904E",Close:"\u95DC\u9589",Retry:"\u91CD\u8A66",OK:"\u78BA\u5B9A","Password Required":"\u9700\u8981\u5BC6\u78BC","Please enter your password":"\u8ACB\u8F38\u5165\u60A8\u7684\u5BC6\u78BC","Remember password":"\u8A18\u4F4F\u5BC6\u78BC","Wrong Password":"\u5BC6\u78BC\u932F\u8AA4","Do you want to enter again?":"\u60A8\u8981\u91CD\u65B0\u8F38\u5165\u55CE\uFF1F","Connection Error":"\u9023\u7DDA\u932F\u8AA4",Error:"\u932F\u8AA4","Reset by the peer":"\u5C0D\u65B9\u91CD\u7F6E\u4E86\u9023\u7DDA","Connecting...":"\u6B63\u5728\u9023\u63A5...","Connection in progress. Please wait.":"\u6B63\u5728\u9023\u63A5\uFF0C\u8ACB\u7A0D\u5019\u3002","Please try 1 minute later":"\u8ACB\u65BC 1 \u5206\u9418\u5F8C\u518D\u8A66","Login Error":"\u767B\u5165\u932F\u8AA4",Successful:"\u6210\u529F","Connected, waiting for image...":"\u5DF2\u9023\u7DDA\uFF0C\u7B49\u5F85\u756B\u9762\u50B3\u8F38...",Name:"\u540D\u7A31",Type:"\u985E\u578B",Modified:"\u4FEE\u6539\u6642\u9593",Size:"\u5927\u5C0F","Show Hidden Files":"\u986F\u793A\u96B1\u85CF\u6A94\u6848",Receive:"\u63A5\u6536",Send:"\u50B3\u9001","Refresh File":"\u5237\u65B0\u6587\u4EF6",Local:"\u672C\u5730",Remote:"\u9060\u7AEF","Remote Computer":"\u9060\u7AEF\u96FB\u8166","Local Computer":"\u672C\u5730\u96FB\u8166","Confirm Delete":"\u78BA\u8A8D\u522A\u9664",Delete:"\u522A\u9664",Properties:"\u5C6C\u6027","Multi Select":"\u591A\u9078","Empty Directory":"\u7A7A\u6587\u4EF6\u593E","Not an empty directory":"\u4E0D\u662F\u4E00\u500B\u7A7A\u6587\u4EF6\u593E","Are you sure you want to delete this file?":"\u60A8\u78BA\u5B9A\u8981\u522A\u9664\u6B64\u6A94\u6848\u55CE\uFF1F","Are you sure you want to delete this empty directory?":"\u60A8\u78BA\u5B9A\u8981\u522A\u9664\u6B64\u7A7A\u76EE\u9304\u55CE\uFF1F","Are you sure you want to delete the file of this directory?":"\u60A8\u78BA\u5B9A\u8981\u522A\u9664\u6B64\u76EE\u9304\u4E2D\u7684\u6A94\u6848\u55CE\uFF1F","Do this for all conflicts":"\u5957\u7528\u5230\u5176\u4ED6\u885D\u7A81","This is irreversible!":"\u6B64\u64CD\u4F5C\u4E0D\u53EF\u9006\uFF01",Deleting:"\u6B63\u5728\u522A\u9664",files:"\u6A94\u6848",Waiting:"\u6B63\u5728\u7B49\u5019...",Finished:"\u5DF2\u5B8C\u6210",Speed:"\u901F\u5EA6","Custom Image Quality":"\u81EA\u8A02\u5716\u7247\u54C1\u8CEA","Privacy mode":"\u96B1\u79C1\u6A21\u5F0F","Block user input":"\u5C01\u9396\u4F7F\u7528\u8005\u8F38\u5165","Unblock user input":"\u53D6\u6D88\u5C01\u9396\u4F7F\u7528\u8005\u8F38\u5165","Adjust Window":"\u8ABF\u6574\u8996\u7A97",Original:"\u539F\u59CB",Shrink:"\u7E2E\u6E1B",Stretch:"\u5EF6\u5C55","Good image quality":"\u756B\u9762\u54C1\u8CEA\u826F\u597D",Balanced:"\u5E73\u8861","Optimize reaction time":"\u56DE\u61C9\u901F\u5EA6\u6700\u4F73\u5316",Custom:"\u81EA\u8A02","Show remote cursor":"\u986F\u793A\u9060\u7AEF\u6E38\u6A19","Disable clipboard":"\u505C\u7528\u526A\u8CBC\u7C3F","Lock after session end":"\u5DE5\u4F5C\u968E\u6BB5\u7D50\u675F\u5F8C\u9396\u5B9A\u96FB\u8166",Insert:"\u63D2\u5165","Insert Lock":"\u9396\u5B9A\u9060\u7AEF\u96FB\u8166",Refresh:"\u91CD\u65B0\u8F09\u5165","ID does not exist":"ID \u4E0D\u5B58\u5728","Failed to connect to rendezvous server":"\u7121\u6CD5\u9023\u63A5\u81F3 rendezvous \u4F3A\u670D\u5668","Please try later":"\u8ACB\u7A0D\u5019\u518D\u8A66","Remote desktop is offline":"\u9060\u7AEF\u96FB\u8166\u96E2\u7DDA","Key mismatch":"\u91D1\u9470\u4E0D\u7B26",Timeout:"\u903E\u6642","Failed to connect to relay server":"\u7121\u6CD5\u9023\u63A5\u81F3\u8F49\u9001\u4F3A\u670D\u5668","Failed to connect via rendezvous server":"\u7121\u6CD5\u900F\u904E rendezvous \u4F3A\u670D\u5668\u9023\u63A5","Failed to connect via relay server":"\u7121\u6CD5\u900F\u904E\u8F49\u9001\u4F3A\u670D\u5668\u9023\u63A5","Failed to make direct connection to remote desktop":"\u7121\u6CD5\u76F4\u63A5\u9023\u7DDA\u81F3\u9060\u7AEF\u96FB\u8166","Set Password":"\u8A2D\u7F6E\u5BC6\u78BC","OS Password":"\u4F5C\u696D\u7CFB\u7D71\u5BC6\u78BC",install_tip:"UAC \u6703\u5C0E\u81F4 RustDesk \u5728 Portable \u4E0B\u7121\u6CD5\u6B63\u5E38\u4EE5\u9060\u7AEF\u96FB\u8166\u904B\u4F5C\u3002","Click to upgrade":"\u9EDE\u64CA\u4EE5\u5347\u7D1A","Click to download":"\u9EDE\u64CA\u4EE5\u4E0B\u8F09","Click to update":"\u9EDE\u64CA\u4EE5\u66F4\u65B0",Configure:"\u8A2D\u5B9A",config_acc:"\u60A8\u9700\u8981\u6388\u4E88 RustDesk \uFF62\u5354\u52A9\u5DE5\u5177\u300D \u6B0A\u9650\u624D\u80FD\u9060\u7AEF\u5B58\u53D6\u96FB\u8166\u3002",config_screen:"\u60A8\u9700\u8981\u6388\u4E88 RustDesk \uFF62\u756B\u9762\u9304\u88FD\u300D \u6B0A\u9650\u624D\u80FD\u9060\u7AEF\u5B58\u53D6\u96FB\u8166\u3002","Installing ...":"\u6B63\u5728\u5B89\u88DD...",Install:"\u5B89\u88DD",Installation:"\u5B89\u88DD","Installation Path":"\u5B89\u88DD\u8DEF\u5F91","Create start menu shortcuts":"\u5EFA\u7ACB\u958B\u59CB\u9078\u55AE\u6377\u5F91","Create desktop icon":"\u5EFA\u7ACB\u684C\u9762\u5716\u793A",agreement_tip:"\u958B\u59CB\u5B89\u88DD\u5373\u8868\u793A\u63A5\u53D7\u8A31\u53EF\u5354\u8B70","Accept and Install":"\u63A5\u53D7\u4E26\u5B89\u88DD","End-user license agreement":"\u4F7F\u7528\u8005\u6388\u6B0A\u5408\u7D04","Generating ...":"\u6B63\u5728\u7522\u751F ...","Your installation is lower version.":"\u60A8\u7684\u5B89\u88DD\u7248\u672C\u904E\u820A\u3002",not_close_tcp_tip:"\u4F7F\u7528\u901A\u9053\u6642\u8ACB\u4E0D\u8981\u95DC\u9589\u6B64\u8996\u7A97","Listening ...":"\u6B63\u5728\u7B49\u5F85\u901A\u9053\u9023\u63A5...","Remote Host":"\u9060\u7AEF\u4E3B\u6A5F","Remote Port":"\u9060\u7AEF\u9023\u63A5\u57E0",Action:"\u64CD\u4F5C",Add:"\u65B0\u589E","Local Port":"\u672C\u6A5F\u9023\u63A5\u57E0",setup_server_tip:"\u82E5\u60A8\u9700\u8981\u66F4\u5FEB\u7684\u9023\u63A5\u901F\u5EA6\uFF0C\u53EF\u4EE5\u9078\u64C7\u81EA\u884C\u5EFA\u7ACB\u4F3A\u670D\u5668","Too short, at least 6 characters.":"\u904E\u77ED\uFF0C\u81F3\u5C11\u9700 6 \u500B\u5B57\u5143\u3002","The confirmation is not identical.":"\u5169\u6B21\u8F38\u5165\u4E0D\u76F8\u7B26",Permissions:"\u6B0A\u9650",Accept:"\u63A5\u53D7",Dismiss:"\u95DC\u9589",Disconnect:"\u65B7\u958B\u9023\u7DDA","Allow using keyboard and mouse":"\u5141\u8A31\u4F7F\u7528\u9375\u76E4\u548C\u6ED1\u9F20","Allow using clipboard":"\u5141\u8A31\u4F7F\u7528\u526A\u8CBC\u7C3F","Allow hearing sound":"\u5141\u8A31\u5206\u4EAB\u97F3\u8A0A","Allow file copy and paste":"\u5141\u8A31\u6587\u4EF6\u8907\u88FD\u548C\u7C98\u8CBC",Connected:"\u5DF2\u9023\u63A5","Direct and encrypted connection":"\u52A0\u5BC6\u76F4\u63A5\u9023\u7DDA","Relayed and encrypted connection":"\u52A0\u5BC6\u8F49\u9001\u9023\u7DDA","Direct and unencrypted connection":"\u672A\u52A0\u5BC6\u76F4\u63A5\u9023\u7DDA","Relayed and unencrypted connection":"\u672A\u52A0\u5BC6\u8F49\u9001\u9023\u7DDA","Enter Remote ID":"\u8F38\u5165\u9060\u7AEF ID","Enter your password":"\u8F38\u5165\u60A8\u7684\u5BC6\u78BC","Logging in...":"\u6B63\u5728\u767B\u5165...","Enable RDP session sharing":"\u555F\u7528 RDP \u5DE5\u4F5C\u968E\u6BB5\u5171\u4EAB","Auto Login":"\u81EA\u52D5\u767B\u5165 (\u9396\u5B9A\u5C07\u5728\u8A2D\u5B9A\u95DC\u9589\u5F8C\u5957\u7528)","Enable Direct IP Access":"\u5141\u8A31 IP \u76F4\u63A5\u5B58\u53D6",Rename:"\u91CD\u65B0\u547D\u540D",Space:"\u7A7A\u767D","Create Desktop Shortcut":"\u5EFA\u7ACB\u684C\u9762\u6377\u5F91","Change Path":"\u66F4\u6539\u8DEF\u5F91","Create Folder":"\u5EFA\u7ACB\u8CC7\u6599\u593E","Please enter the folder name":"\u8ACB\u8F38\u5165\u8CC7\u6599\u593E\u540D\u7A31","Fix it":"\u4FEE\u5FA9",Warning:"\u8B66\u544A","Login screen using Wayland is not supported":"\u4E0D\u652F\u63F4\u4F7F\u7528 Wayland \u7684\u767B\u5165\u756B\u9762","Reboot required":"\u9700\u8981\u91CD\u65B0\u555F\u52D5","Unsupported display server ":"\u4E0D\u652F\u63F4\u986F\u793A\u4F3A\u670D\u5668","x11 expected":"\u9810\u671F x11",Port:"\u9023\u63A5\u57E0",Settings:"\u8A2D\u5B9A",Username:"\u4F7F\u7528\u8005\u540D\u7A31","Invalid port":"\u9023\u63A5\u57E0\u7121\u6548","Closed manually by the peer":"\u7531\u5C0D\u65B9\u624B\u52D5\u95DC\u9589","Enable remote configuration modification":"\u555F\u7528\u9060\u7AEF\u66F4\u6539\u8A2D\u5B9A","Run without install":"\u8DF3\u904E\u5B89\u88DD\u76F4\u63A5\u57F7\u884C","Always connected via relay":"\u4E00\u5F8B\u900F\u904E\u8F49\u9001\u9023\u7DDA","Always connect via relay":"\u4E00\u5F8B\u900F\u904E\u8F49\u9001\u9023\u7DDA",whitelist_tip:"\u53EA\u6709\u767D\u540D\u55AE\u4E2D\u7684 IP \u53EF\u4EE5\u5B58\u53D6",Login:"\u767B\u5165",Logout:"\u767B\u51FA",Tags:"\u6A19\u7C64","Search ID":"\u641C\u5C0B ID","Current Wayland display server is not supported":"\u76EE\u524D\u4E0D\u652F\u63F4 Wayland \u986F\u793A\u4F3A\u670D\u5668",whitelist_sep:"\u4F7F\u7528\u9017\u865F\u3001\u5206\u865F\u3001\u7A7A\u767D\uFF0C\u6216\u662F\u63DB\u884C\u4F86\u5206\u9694","Add ID":"\u65B0\u589E ID","Add Tag":"\u65B0\u589E\u6A19\u7C64","Unselect all tags":"\u53D6\u6D88\u9078\u53D6\u6240\u6709\u6A19\u7C64","Network error":"\u7DB2\u8DEF\u932F\u8AA4","Username missed":"\u7F3A\u5C11\u4F7F\u7528\u8005\u540D\u7A31","Password missed":"\u7F3A\u5C11\u5BC6\u78BC","Wrong credentials":"\u63D0\u4F9B\u7684\u767B\u5165\u8CC7\u8A0A\u6709\u8AA4","Edit Tag":"\u7DE8\u8F2F\u6A19\u7C64","Unremember Password":"\u5FD8\u6389\u5BC6\u78BC",Favorites:"\u6536\u85CF","Add to Favorites":"\u52A0\u5165\u5230\u6536\u85CF","Remove from Favorites":"\u5F9E\u6536\u85CF\u4E2D\u522A\u9664",Empty:"\u7A7A\u7A7A\u5982\u4E5F","Invalid folder name":"\u8CC7\u6599\u593E\u540D\u7A31\u7121\u6548","Socks5 Proxy":"Socks5 \u4EE3\u7406",Hostname:"\u4E3B\u6A5F\u540D\u7A31",Discovered:"\u5DF2\u767C\u73FE",install_daemon_tip:"\u70BA\u4E86\u958B\u6A5F\u555F\u52D5\uFF0C\u8ACB\u5B89\u88DD\u7CFB\u7D71\u670D\u52D9\u3002","Remote ID":"\u9060\u7AEF ID",Paste:"\u8CBC\u4E0A","Paste here?":"\u8CBC\u4E0A\u5230\u9019\u88E1?","Are you sure to close the connection?":"\u60A8\u78BA\u5B9A\u8981\u95DC\u9589\u9023\u7DDA\u55CE\uFF1F","Download new version":"\u4E0B\u8F09\u65B0\u7248\u672C","Touch mode":"\u89F8\u63A7\u6A21\u5F0F","Mouse mode":"\u6ED1\u9F20\u6A21\u5F0F","One-Finger Tap":"\u55AE\u6307\u8F15\u89F8","Left Mouse":"\u6ED1\u9F20\u5DE6\u9375","One-Long Tap":"\u55AE\u6307\u9577\u6309","Two-Finger Tap":"\u96D9\u6307\u8F15\u89F8","Right Mouse":"\u6ED1\u9F20\u53F3\u9375","One-Finger Move":"\u55AE\u6307\u79FB\u52D5","Double Tap & Move":"\u96D9\u64CA\u4E26\u79FB\u52D5","Mouse Drag":"\u6ED1\u9F20\u9078\u4E2D\u62D6\u52D5","Three-Finger vertically":"\u4E09\u6307\u5782\u76F4\u6ED1\u52D5","Mouse Wheel":"\u6ED1\u9F20\u6EFE\u8F2A","Two-Finger Move":"\u96D9\u6307\u79FB\u52D5","Canvas Move":"\u79FB\u52D5\u756B\u5E03","Pinch to Zoom":"\u96D9\u6307\u7E2E\u653E","Canvas Zoom":"\u7E2E\u653E\u756B\u5E03","Reset canvas":"\u91CD\u7F6E\u756B\u5E03","No permission of file transfer":"\u7121\u6587\u4EF6\u50B3\u8F38\u6B0A\u9650",Note:"\u5099\u8A3B",Connection:"\u9023\u63A5","Share Screen":"\u5171\u4EAB\u756B\u9762",CLOSE:"\u95DC\u9589",OPEN:"\u958B\u555F",Chat:"\u804A\u5929\u6D88\u606F",Total:"\u7E3D\u8A08",items:"\u500B\u9805\u76EE",Selected:"\u5DF2\u9078\u64C7","Screen Capture":"\u756B\u9762\u9304\u88FD","Input Control":"\u8F38\u5165\u63A7\u5236","Audio Capture":"\u97F3\u8A0A\u9304\u88FD","File Connection":"\u6A94\u6848\u9023\u7DDA","Screen Connection":"\u756B\u9762\u9023\u7DDA","Do you accept?":"\u662F\u5426\u63A5\u53D7\uFF1F","Open System Setting":"\u6253\u958B\u7CFB\u7D71\u8A2D\u5B9A","How to get Android input permission?":"\u5982\u4F55\u7372\u53D6 Android \u7684\u8F38\u5165\u6B0A\u9650\uFF1F",android_input_permission_tip1:"\u53D6\u5F97\u8F38\u5165\u6B0A\u9650\u5F8C\u53EF\u4EE5\u8B93\u9060\u7AEF\u88DD\u7F6E\u901A\u904E\u6ED1\u9F20\u63A7\u5236\u6B64 Android \u88DD\u7F6E",android_input_permission_tip2:"\u8ACB\u5728\u63A5\u4E0B\u4F86\u7684\u7CFB\u7D71\u8A2D\u5B9A\u9801\u9762\u4E2D\uFF0C\u627E\u5230\u4E26\u9032\u5165 \uFF62\u5DF2\u5B89\u88DD\u7684\u670D\u52D9\uFF63 \u9801\u9762\uFF0C\u4E26\u5C07 \uFF62RustDesk Input\uFF63 \u670D\u52D9\u958B\u555F",android_new_connection_tip:"\u6536\u5230\u65B0\u7684\u9023\u63A5\u63A7\u5236\u8ACB\u6C42\uFF0C\u5C0D\u65B9\u60F3\u8981\u63A7\u5236\u60A8\u76EE\u524D\u7684\u8A2D\u5099",android_service_will_start_tip:"\u958B\u555F\u756B\u9762\u9304\u88FD\u6B0A\u9650\u5C07\u81EA\u52D5\u958B\u555F\u670D\u52D9\uFF0C\u5141\u8A31\u5176\u4ED6\u88DD\u7F6E\u5411\u6B64\u88DD\u7F6E\u8ACB\u6C42\u5EFA\u7ACB\u9023\u63A5\u3002",android_stop_service_tip:"\u95DC\u9589\u670D\u52D9\u5C07\u81EA\u52D5\u95DC\u9589\u6240\u6709\u5DF2\u5EFA\u7ACB\u7684\u9023\u63A5\u3002",android_version_audio_tip:"\u76EE\u524D\u7684 Android \u7248\u672C\u4E0D\u652F\u6301\u97F3\u8A0A\u9304\u88FD\uFF0C\u8ACB\u5347\u7D1A\u81F3 Android 10 \u6216\u4EE5\u4E0A\u7248\u672C\u3002",android_start_service_tip:"\u9EDE\u64CA \uFF62\u555F\u52D5\u670D\u52D9\uFF63 \u6216\u555F\u7528 \uFF62\u756B\u9762\u9304\u88FD\uFF63 \u6B0A\u9650\u4EE5\u958B\u555F\u624B\u6A5F\u756B\u9762\u5171\u4EAB\u670D\u52D9\u3002",Account:"\u5E33\u6236",Overwrite:"\u8986\u5BEB","This file exists, skip or overwrite this file?":"\u6B64\u6A94\u6848/\u8CC7\u6599\u593E\u5DF2\u5B58\u5728\uFF0C\u8981\u8DF3\u904E\u6216\u662F\u8986\u5BEB\u6B64\u6A94\u6848\u55CE\uFF1F",Quit:"\u9000\u51FA",doc_mac_permission:"https://rustdesk.com/docs/zh-tw/manual/mac/#\u555F\u7528\u6B0A\u9650",Help:"\u5E6B\u52A9",Failed:"\u5931\u6557",Succeeded:"\u6210\u529F","Someone turns on privacy mode, exit":"\u5176\u4ED6\u7528\u6236\u958B\u555F\u96B1\u79C1\u6A21\u5F0F\uFF0C\u9000\u51FA",Unsupported:"\u4E0D\u652F\u6301","Peer denied":"\u88AB\u63A7\u7AEF\u62D2\u7D55","Please install plugins":"\u8ACB\u5B89\u88DD\u63D2\u4EF6","Peer exit":"\u88AB\u63A7\u7AEF\u9000\u51FA","Failed to turn off":"\u9000\u51FA\u5931\u6557","Turned off":"\u9000\u51FA","In privacy mode":"\u958B\u555F\u96B1\u79C1\u6A21\u5F0F","Out privacy mode":"\u9000\u51FA\u96B1\u79C1\u6A21\u5F0F",Language:"\u8A9E\u8A00"},sk:{Status:"Stav","Your Desktop":"Va\u0161a plocha",desk_tip:"K svojej ploche sa m\xF4\u017Eete pripoji\u0165 pomocou zobrazen\xE9ho ID a hesla.",Password:"Heslo",Ready:"Pripraven\xE9",Established:"Nadviazan\xE9",connecting_status:"Prip\xE1jam sa na RusDesk server...","Enable Service":"Povoli\u0165 slu\u017Ebu","Start Service":"Spusti\u0165 slu\u017Ebu","Service is running":"Slu\u017Eba je akt\xEDvna","Service is not running":"Slu\u017Eba je vypnut\xE1",not_ready_status:"Nepripraven\xE9. Skontrolujte svoje sie\u0165ov\xE9 pripojenie.","Control Remote Desktop":"Ovl\xE1da\u0165 vzdialen\xFA plochu","Transfer File":"Prenos s\xFAborov",Connect:"Pripoji\u0165","Recent Sessions":"Ned\xE1vne pripojenie","Address Book":"Adres\xE1r kontaktov",Confirmation:"Potvrdenie","TCP Tunneling":"TCP tunelovanie",Remove:"Odstr\xE1ni\u0165","Refresh random password":"Aktualizova\u0165 n\xE1hodn\xE9 heslo","Set your own password":"Nastavte si svoje vlastn\xE9 heslo","Enable Keyboard/Mouse":"Povoli\u0165 kl\xE1vesnicu/my\u0161","Enable Clipboard":"Povoli\u0165 schr\xE1nku","Enable File Transfer":"Povoli\u0165 prenos s\xFAborov","Enable TCP Tunneling":"Povoli\u0165 TCP tunelovanie","IP Whitelisting":"Zoznam povolen\xFDch IP adries","ID/Relay Server":"ID/Prepojovac\xED server","Stop service":"Zastavi\u0165 slu\u017Ebu","Change ID":"Zmeni\u0165 ID",Website:"Webov\xE1 str\xE1nka",About:"O RustDesk",Mute:"St\xED\u0161i\u0165","Audio Input":"Zvukov\xFD vstup","ID Server":"ID server","Relay Server":"Prepojovac\xED server","API Server":"API server",invalid_http:"Mus\xED za\u010D\xEDna\u0165 http:// alebo https://","Invalid IP":"Neplatn\xE1 IP adresa",id_change_tip:"Povolen\xE9 s\xFA len znaky a-z, A-Z, 0-9 a _ (pod\u010Diarkovn\xEDk). Prv\xFD znak mus\xED by\u0165 a-z, A-Z. D\u013A\u017Eka mus\xED by\u0165 medzi 6 a 16 znakmi.","Invalid format":"Neplatn\xFD form\xE1t",server_not_support:"Zatia\u013E serverom nepodporovan\xE9","Not available":"Nie je k dispoz\xEDcii","Too frequent":"Pr\xEDli\u0161 \u010Dasto",Cancel:"Zru\u0161i\u0165",Skip:"Presko\u010Di\u0165",Close:"Zatvori\u0165",Retry:"Zopakova\u0165",OK:"OK","Password Required":"Vy\u017Eaduje sa heslo","Please enter your password":"Zadajte va\u0161e heslo","Remember password":"Zapam\xE4ta\u0165 heslo","Wrong Password":"Chybn\xE9 heslo","Do you want to enter again?":"Chcete ho znova zada\u0165?","Connection Error":"Chyba spojenia",Error:"Chyba","Reset by the peer":"Odmietnut\xE9 druhou stranou spojenia","Connecting...":"Prip\xE1janie sa...","Connection in progress. Please wait.":"Pok\xFA\u0161am sa pripoji\u0165. Po\u010Dkajte chv\xED\u013Eu.","Please try 1 minute later":"Sk\xFAte znova za min\xFAtu, alebo e\u0161te nesk\xF4r","Login Error":"Chyba prihl\xE1senia",Successful:"\xDAspech","Connected, waiting for image...":"Pripojen\xE9, \u010Dak\xE1m na obraz...",Name:"N\xE1zov",Type:"Typ",Modified:"Zmenen\xE9",Size:"Ve\u013Ekos\u0165","Show Hidden Files":"Zobrazova\u0165 skryt\xE9 s\xFAbory",Receive:"Prija\u0165",Send:"Odosla\u0165","Refresh File":"Aktualizova\u0165 s\xFAbor",Local:"Miestne",Remote:"Vzdialen\xE9","Remote Computer":"Vzdialen\xFD po\u010D\xEDta\u010D","Local Computer":"Miestny po\u010D\xEDta\u010D","Confirm Delete":"Potvrdenie zmazania",Delete:"Zmaza\u0165",Properties:"Vlastnosti","Multi Select":"Viacn\xE1sobn\xFD v\xFDber","Empty Directory":"Pr\xE1zdny adres\xE1r","Not an empty directory":"Nie pr\xE1zdny adres\xE1r","Are you sure you want to delete this file?":"Ste si ist\xFD, \u017Ee chcete zmaza\u0165 tento s\xFAbor?","Are you sure you want to delete this empty directory?":"Ste si ist\xFD, \u017Ee chcete zmaza\u0165 tento adres\xE1r?","Are you sure you want to delete the file of this directory?":"Ste si ist\xFD, \u017Ee chcete zmaza\u0165 tento s\xFAbor alebo adres\xE1r?","Do this for all conflicts":"V\u0161etky konflikty rie\u0161i\u0165 t\xFDmto sp\xF4sobom","This is irreversible!":"Toto je nezvratn\xE1 oper\xE1cia",Deleting:"Mazanie",files:"s\xFAbory",Waiting:"\u010Cak\xE1 sa",Finished:"Ukon\u010Den\xE9",Speed:"R\xFDchlos\u0165","Custom Image Quality":"Vlastn\xE1 kvalita obrazu","Privacy mode":"Re\u017Eim s\xFAkromia","Block user input":"Blokova\u0165 vstupn\xE9 zariadenia u\u017E\xEDvate\u013Ea","Unblock user input":"Odblokova\u0165 vstupn\xE9 zariadenia u\u017E\xEDvate\u013Ea","Adjust Window":"Prisp\xF4sobi\u0165 okno",Original:"P\xF4vodn\xFD",Shrink:"Zmen\u0161en\xE9",Stretch:"Roztiahnut\xE9","Good image quality":"Dobr\xE1 kvalita obrazu",Balanced:"Vyv\xE1\u017Een\xE9","Optimize reaction time":"Optimalizovan\xE9 pre \u010Das odozvy",Custom:"Vlastn\xE9","Show remote cursor":"Zobrazova\u0165 vzdialen\xFD ukazovate\u013E my\u0161i","Disable clipboard":"Vypn\xFA\u0165 schr\xE1nku","Lock after session end":"Po skon\u010Den\xED uzamkn\xFA\u0165 plochu",Insert:"Vlo\u017Ei\u0165","Insert Lock":"Uzamkn\xFA\u0165",Refresh:"Aktualizova\u0165","ID does not exist":"ID neexistuje","Failed to connect to rendezvous server":"Nepodarilo sa pripoji\u0165 k zoznamovaciemu serveru","Please try later":"Vysk\xFA\u0161ajte nesk\xF4r","Remote desktop is offline":"Vzdialen\xE1 plocha je pripojen\xE1","Key mismatch":"K\u013E\xFA\u010De sa nezhoduj\xFA",Timeout:"\u010Cas pre nadviazanie pripojenia vypr\u0161al","Failed to connect to relay server":"Nepodarilo sa pripoji\u0165 k prepojovaciemu serveru","Failed to connect via rendezvous server":"Nepodarilo sa pripoji\u0165 cez zoznamovac\xED server","Failed to connect via relay server":"Nepodarilo sa pripoji\u0165 cez prepojovac\xED server","Failed to make direct connection to remote desktop":"Nepodarilo sa nadviaza\u0165 priamu komunik\xE1ciu so vzdialenou plochou","Set Password":"Nastavi\u0165 heslo","OS Password":"Heslo do opera\u010Dn\xE9ho syst\xE9mu",install_tip:"V niektor\xFDch pr\xEDpadoch RustDesk nefunguje spr\xE1vne z d\xF4vodu riadenia u\u017E\xEDvate\u013Esk\xFDch opr\xE1vnen\xED (UAC). Vyhnete sa tomu kliknut\xEDm na ni\u017E\u0161ie zobrazene tla\u010D\xEDtko a nain\u0161talovan\xEDm RuskDesk do syst\xE9mu.","Click to upgrade":"Kliknut\xEDm nain\u0161talujete aktualiz\xE1ciu","Click to download":"Kliknut\xEDm potvr\u010Fte stiahnutie","Click to update":"Kliknut\xEDm aktualizova\u0165",Configure:"Nastavi\u0165",config_acc:'Aby bolo mo\u017En\xE9 na dia\u013Eku ovl\xE1da\u0165 va\u0161u plochu, je potrebn\xE9 aplik\xE1cii RustDesk udeli\u0165 pr\xE1va \\"Dostupnos\u0165\\".',config_screen:'Aby bolo mo\u017En\xE9 na dia\u013Eku sledova\u0165 va\u0161u obrazovku, je potrebn\xE9 aplik\xE1cii RustDesk udeli\u0165 pr\xE1va \\"Zachyt\xE1vanie obsahu obrazovky\\".',"Installing ...":"In\u0161taluje sa",Install:"In\u0161talova\u0165",Installation:"In\u0161tal\xE1cia","Installation Path":"In\u0161tala\u010Dn\xFD adres\xE1r","Create start menu shortcuts":"Vytvori\u0165 z\xE1stupcu do ponuky \u0160tart","Create desktop icon":"Vytvori\u0165 z\xE1stupcu na plochu",agreement_tip:"Spusten\xEDm in\u0161tal\xE1cie prij\xEDmate licen\u010Dn\xE9 podmienky.","Accept and Install":"Prija\u0165 a in\u0161talova\u0165","End-user license agreement":"Licen\u010Dn\xE9 podmienky dohodnut\xE9 s koncov\xFDm u\u017E\xEDvate\u013Eom","Generating ...":"Generujem ...","Your installation is lower version.":"Va\u0161a in\u0161tal\xE1cia je star\u0161ia",not_close_tcp_tip:"Nezatv\xE1rajte toto okno po cel\xFD \u010Das, kedy pou\u017E\xEDvate TCP tunel","Listening ...":"\u010Cak\xE1m na pripojenie ...","Remote Host":"Vzdialen\xFD po\u010D\xEDta\u010D","Remote Port":"Vzdialen\xFD port",Action:"Akcia",Add:"Prida\u0165","Local Port":"Lok\xE1lny port",setup_server_tip:"Pre zr\xFDchlenie pripojenia si nain\u0161talujte svoj vlastn\xFD server","Too short, at least 6 characters.":"Pr\xEDli\u0161 kr\xE1tke, vy\u017Eaduje sa aspo\u0148 6 znakov.","The confirmation is not identical.":"Potvrdenie nie je zhodn\xE9.",Permissions:"Pr\xE1va",Accept:"Prija\u0165",Dismiss:"Odmietnu\u0165",Disconnect:"Odpoji\u0165","Allow using keyboard and mouse":"Povoli\u0165 pou\u017E\xEDvanie kl\xE1vesnice a my\u0161i","Allow using clipboard":"Povoli\u0165 pou\u017E\xEDvanie schr\xE1nky","Allow hearing sound":"Povoli\u0165 zvuky","Allow file copy and paste":"Povoli\u0165 kop\xEDrovanie a vkladanie s\xFAborov",Connected:"Pripojen\xE9","Direct and encrypted connection":"Priame a \u0161ifrovan\xE9 spojenie","Relayed and encrypted connection":"Sprostredkovan\xE9 a \u0161ifrovan\xE9 spojenie","Direct and unencrypted connection":"Priame a ne\u0161ifrovan\xE9 spojenie","Relayed and unencrypted connection":"Sprostredkovan\xE9 a ne\u0161ifrovan\xE9 spojenie","Enter Remote ID":"Zadajte ID vzdialenej plochy","Enter your password":"Zadajte svoje heslo","Logging in...":"Prihlasovanie sa....","Enable RDP session sharing":"Povoli\u0165 zdie\u013Eanie RDP rel\xE1cie","Auto Login":"Automatick\xE9 prihl\xE1senie","Enable Direct IP Access":"Povoli\u0165 priame pripojenie cez IP",Rename:"Premenova\u0165",Space:"Medzera","Create Desktop Shortcut":"Vytvori\u0165 z\xE1stupcu na ploche","Change Path":"Zmeni\u0165 adres\xE1r","Create Folder":"Vytvori\u0165 adres\xE1r","Please enter the folder name":"Zadajte n\xE1zov adres\xE1ra","Fix it":"Opravi\u0165 to",Warning:"Upozornenie","Login screen using Wayland is not supported":"Prihlasovacia obrazovka prostredn\xEDctvom Wayland nie je podporovan\xE1","Reboot required":"Vy\u017Eaduje sa re\u0161tart","Unsupported display server ":"Nepodporovan\xFD zobrazovac\xED (display) server","x11 expected":"o\u010Dak\xE1va sa x11",Port:"Port",Settings:"Nastavenia",Username:"U\u017Eivate\u013Esk\xE9 meno","Invalid port":"Neplatn\xFD port","Closed manually by the peer":"Manu\xE1lne ukon\u010Den\xE9 opa\u010Dnou stranou pripojenia","Enable remote configuration modification":"Povoli\u0165 zmeny konfigur\xE1cie zo vzdialen\xE9ho PC","Run without install":"Spusti\u0165 bez in\u0161tal\xE1cie","Always connected via relay":"V\u017Edy pripojen\xE9 cez prep\xE1jac\xED server","Always connect via relay":"V\u017Edy prip\xE1ja\u0165 cez prep\xE1jac\xED server",whitelist_tip:"Len vymenovan\xE9 IP adresy maj\xFA opr\xE1vnenie sa pripoji\u0165 k vzdialenej spr\xE1ve",Login:"Prihl\xE1senie",Logout:"Odhl\xE1senie",Tags:"\u0160t\xEDtky","Search ID":"H\u013Eada\u0165 ID","Current Wayland display server is not supported":"Zobrazovac\xED (display) server Wayland nie je podporovan\xFD",whitelist_sep:"Oddelen\xE9 \u010Diarkou, bodko\u010Diarkou, medzerou alebo koncom riadku","Add ID":"Prida\u0165 ID","Add Tag":"Prida\u0165 \u0161t\xEDtok","Unselect all tags":"Zru\u0161i\u0165 v\xFDber v\u0161etk\xFDch \u0161t\xEDtkov","Network error":"Chyba siete","Username missed":"Ch\xFDba u\u017E\xEDvate\u013Esk\xE9 meno","Password missed":"Ch\xFDba heslo","Wrong credentials":"Nespr\xE1vne prihlasovacie \xFAdaje","Edit Tag":"Upravi\u0165 \u0161t\xEDtok","Unremember Password":"Zabudn\xFA\u0165 heslo",Favorites:"Ob\u013E\xFAben\xE9","Add to Favorites":"Prida\u0165 medzi ob\u013E\xFAben\xE9","Remove from Favorites":"Odstr\xE1ni\u0165 z ob\u013E\xFAben\xFDch",Empty:"Pr\xE1zdne","Invalid folder name":"Neplatn\xFD n\xE1zov adres\xE1ra","Socks5 Proxy":"Socks5 Proxy",Hostname:"N\xE1zov po\u010D\xEDta\u010Da",Discovered:"Objaven\xE9",install_daemon_tip:"Ak chcete, aby sa sp\xFA\u0161\u0165al pri \u0161tarte syst\xE9mu, mus\xEDte nain\u0161talova\u0165 syst\xE9mov\xFA slu\u017Ebu.","Remote ID":"Vzdialen\xE9 ID",Paste:"Vlo\u017Ei\u0165","Paste here?":"Vlo\u017Ei\u0165 sem?","Are you sure to close the connection?":"Ste si ist\xFD, \u017Ee chcete ukon\u010Di\u0165 spojenie?","Download new version":"Stiahnu\u0165 nov\xFA verziu","Touch mode":"Dotykov\xFD re\u017Eim","Mouse mode":"Re\u017Eim ovl\xE1dania my\u0161ou","One-Finger Tap":"Klepnutie jedn\xFDm prstom","Left Mouse":"\u013Dav\xE9 tla\u010Didlo my\u0161i","One-Long Tap":"Jedno dlh\xE9 klepnutie","Two-Finger Tap":"Klepnutie dvoma prstami","Right Mouse":"Prav\xE9 tla\u010Didlo my\u0161i","One-Finger Move":"Pres\xFAvanie jedn\xFDm prstom","Double Tap & Move":"Dvojit\xE9 klepnutie a presun","Mouse Drag":"Presun my\u0161ou","Three-Finger vertically":"Pohyb tromi prstami zvisle","Mouse Wheel":"Koliesko my\u0161i","Two-Finger Move":"Pohyb dvoma prstami","Canvas Move":"Pohyb zobrazenia","Pinch to Zoom":"Roztiahnut\xEDm prstov pribl\xED\u017Ei\u0165","Canvas Zoom":"Pribl\xED\u017Eenie zobrazenia","Reset canvas":"Obnovi\u0165 zobrazenie","No permission of file transfer":"Prenos s\xFAborov nie je povolen\xFD",Note:"Pozn\xE1mka",Connection:"Pripojenie","Share Screen":"Zdiela\u0165 obrazovku",CLOSE:"ZATVORI\u0164",OPEN:"OTVORI\u0164",Chat:"Chat",Total:"Celkom",items:"polo\u017Eiek",Selected:"Vybran\xE9","Screen Capture":"Sn\xEDmanie obrazovky","Input Control":"Ovl\xE1danie vstupn\xFDch zariaden\xED","Audio Capture":"Sn\xEDmanie zvuku","File Connection":"Pripojenie s\xFAborov","Screen Connection":"Pripojenie obrazu","Do you accept?":"S\xFAhlas\xEDte?","Open System Setting":"Otvorenie nastaven\xED syst\xE9mu","How to get Android input permission?":"Ako v syst\xE9me Android povoli\u0165 opr\xE1vnenie p\xEDsa\u0165 zo vstupn\xE9ho zariadenia?",android_input_permission_tip1:'Aby bolo mo\u017En\xE9 na dia\u013Eku ovl\xE1da\u0165 va\u0161u plochu pomocou my\u0161i alebo dotykov, je potrebn\xE9 aplik\xE1cii RustDesk udeli\u0165 pr\xE1va \\"Dostupnos\u0165\\".',android_input_permission_tip2:"Prejdite na str\xE1nku nastaven\xED syst\xE9mu, n\xE1jdite a vst\xFApte do [Stiahnut\xE9 slu\u017Eby], zapnite [RustDesk Input] slu\u017Ebu.",android_new_connection_tip:"Bola prijat\xE1 nov\xE1 po\u017Eiadavka na ovl\xE1danie v\xE1\u0161ho zariadenia.",android_service_will_start_tip:'Zapnutie \\"Zachyt\xE1vanie obsahu obrazovky\\" automaticky spist\xED slu\u017Ebu, \u010Do in\xFDm zariadeniam umo\u017En\xED po\u017Eiada\u0165 o pripojenie k tomuto zariadeniu.',android_stop_service_tip:"Zastavenie slu\u017Eby automaticky ukon\u010D\xED v\u0161etky naviazan\xE9 spojenia.",android_version_audio_tip:"Va\u0161a verzia Androidu neumo\u017E\u0148uje zaznamen\xE1vanie zvuku. Prejdite na verziu Android 10 alebo vy\u0161\u0161iu.",android_start_service_tip:"Klepnite na [Spusti\u0165 slu\u017Ebu] alebo OTVORTE opr\xE1vnenie [Zachyt\xE1vanie obsahu obrazovky], aby sa aktivovala slu\u017Eba zdie\u013Eania obrazovky.",Account:"\xDA\u010Det",Overwrite:"Prep\xEDsa\u0165","This file exists, skip or overwrite this file?":"Presko\u010Di\u0165 alebo prep\xEDsa\u0165 existuj\xFAci s\xFAbor?",Quit:"Ukon\u010Di\u0165",doc_mac_permission:"https://rustdesk.com/docs/en/manual/mac/#enable-permissions",Help:"N\xE1poveda",Failed:"Nepodarilo sa",Succeeded:"Podarilo sa","Someone turns on privacy mode, exit":"Niekto zapne re\u017Eim s\xFAkromia, ukon\u010Dite ho",Unsupported:"Nepodporovan\xE9","Peer denied":"Peer poprel","Please install plugins":"Nain\u0161talujte si pros\xEDm pluginy","Peer exit":"Peer exit","Failed to turn off":"Nepodarilo sa vypn\xFA\u0165","Turned off":"Vypnut\xFD","In privacy mode":"V re\u017Eime s\xFAkromia","Out privacy mode":"Mimo re\u017Eimu s\xFAkromia",Language:""},id:{Status:"Status","Your Desktop":"Desktop Anda",desk_tip:"Desktop Anda dapat diakses dengan ID dan kata sandi ini.",Password:"Password",Ready:"Siap",Established:"Didirikan",connecting_status:"Menghubungkan ke jaringan RustDesk...","Enable Service":"Aktifkan Layanan","Start Service":"Mulai Layanan","Service is running":"Layanan berjalan","Service is not running":"Layanan tidak berjalan",not_ready_status:"Belum siap. Silakan periksa koneksi Anda","Control Remote Desktop":"Kontrol Remote Desktop","Transfer File":"File Transfer",Connect:"Menghubung","Recent Sessions":"Sesi Terkini","Address Book":"Buku Alamat",Confirmation:"Konfirmasi","TCP Tunneling":"TCP Tunneling",Remove:"Hapus","Refresh random password":"Segarkan kata sandi acak","Set your own password":"Tetapkan kata sandi Anda sendiri","Enable Keyboard/Mouse":"Aktifkan Keyboard/Mouse","Enable Clipboard":"Aktifkan Papan Klip","Enable File Transfer":"Aktifkan Transfer File","Enable TCP Tunneling":"Aktifkan TCP Tunneling","IP Whitelisting":"Daftar Putih IP","ID/Relay Server":"ID/Relay Server","Stop service":"Hentikan Layanan","Change ID":"Ubah ID",Website:"Website",About:"Tentang",Mute:"Bisukan","Audio Input":"Masukkan Audio","ID Server":"Server ID","Relay Server":"Server Relay","API Server":"API Server",invalid_http:"harus dimulai dengan http:// atau https://","Invalid IP":"IP tidak valid",id_change_tip:"Hanya karakter a-z, A-Z, 0-9 dan _ (underscore) yang diperbolehkan. Huruf pertama harus a-z, A-Z. Panjang antara 6 dan 16.","Invalid format":"Format tidak valid",server_not_support:"Belum didukung oleh server","Not available":"Tidak tersedia","Too frequent":"Terlalu sering",Cancel:"Batal",Skip:"Lanjutkan",Close:"Tutup",Retry:"Ulangi",OK:"OK","Password Required":"Password dibutukan","Please enter your password":"Silahkan masukkan password anda","Remember password":"Ingat Password","Wrong Password":"Password Salah","Do you want to enter again?":"Apakah anda ingin masuk lagi?","Connection Error":"Kesalahan koneksi",Error:"Kesalahan","Reset by the peer":"Setel ulang oleh rekan","Connecting...":"Hubungkan...","Connection in progress. Please wait.":"Koneksi sedang berlangsung. Mohon tunggu.","Please try 1 minute later":"Silahkan coba 1 menit lagi","Login Error":"Kesalahan Login",Successful:"Berhasil","Connected, waiting for image...":"Terhubung, menunggu gambar...",Name:"Nama",Type:"Tipe",Modified:"Diperbarui",Size:"Ukuran","Show Hidden Files":"Tampilkan File Tersembunyi",Receive:"Menerima",Send:"Kirim","Refresh File":"Segarkan File",Local:"Lokal",Remote:"Remote","Remote Computer":"Remote Komputer","Local Computer":"Lokal Komputer","Confirm Delete":"Konfirmasi Hapus",Delete:"Hapus",Properties:"Properti","Multi Select":"Pilih Beberapa","Empty Directory":"Folder Kosong","Not an empty directory":"Folder tidak kosong","Are you sure you want to delete this file?":"Apakah anda yakin untuk menghapus file ini?","Are you sure you want to delete this empty directory?":"Apakah anda yakin untuk menghapus folder ini?","Are you sure you want to delete the file of this directory?":"Apakah anda yakin untuk menghapus file dan folder ini?","Do this for all conflicts":"Lakukan untuk semua konflik","This is irreversible!":"Ini tidak dapat diubah!",Deleting:"Menghapus",files:"file",Waiting:"Menunggu",Finished:"Selesai",Speed:"Kecepatan","Custom Image Quality":"Sesuaikan Kualitas Gambar","Privacy mode":"Mode Privasi","Block user input":"Blokir masukan pengguna","Unblock user input":"Jangan blokir masukan pengguna","Adjust Window":"Sesuaikan Jendela",Original:"Original",Shrink:"Susutkan",Stretch:"Regangkan","Good image quality":"Kualitas Gambar Baik",Balanced:"Seimbang","Optimize reaction time":"Optimalkan waktu reaksi",Custom:"Custom","Show remote cursor":"Tampilkan remote kursor","Disable clipboard":"Matikan papan klip","Lock after session end":"Kunci setelah sesi berakhir",Insert:"Menyisipkan","Insert Lock":"Masukkan Kunci",Refresh:"Segarkan","ID does not exist":"ID tidak ada","Failed to connect to rendezvous server":"Gagal menghubungkan ke rendezvous server","Please try later":"Silahkan coba lagi nanti","Remote desktop is offline":"Remote desktop offline","Key mismatch":"Ketidakcocokan kunci",Timeout:"Waktu habis","Failed to connect to relay server":"Gagal terkoneksi ke relay server","Failed to connect via rendezvous server":"Gagal terkoneksi via rendezvous server","Failed to connect via relay server":"Gagal terkoneksi via relay server","Failed to make direct connection to remote desktop":"Gagal membuat koneksi langsung ke desktop jarak jauh","Set Password":"Tetapkan Password","OS Password":"Kata Sandi OS",install_tip:"Karena UAC, RustDesk tidak dapat bekerja dengan baik sebagai sisi remote dalam beberapa kasus. Untuk menghindari UAC, silakan klik tombol di bawah ini untuk menginstal RustDesk ke sistem.","Click to upgrade":"Klik untuk upgrade","Click to download":"Kli untuk download","Click to update":"Klik untuk update",Configure:"Konfigurasi",config_acc:'Untuk mengontrol Desktop Anda dari jarak jauh, Anda perlu memberikan izin \\"Aksesibilitas\\" RustDesk.',config_screen:'Untuk mengakses Desktop Anda dari jarak jauh, Anda perlu memberikan izin \\"Perekaman Layar\\" RustDesk.',"Installing ...":"Menginstall",Install:"Instal",Installation:"Instalasi","Installation Path":"Jalur Instalasi","Create start menu shortcuts":"Buat pintasan start menu","Create desktop icon":"Buat icon desktop",agreement_tip:"Dengan memulai instalasi, Anda menerima perjanjian lisensi.","Accept and Install":"Terima dan Install","End-user license agreement":"Perjanjian lisensi pengguna akhir","Generating ...":"Menghasilkan...","Your installation is lower version.":"Instalasi Anda adalah versi yang lebih rendah.",not_close_tcp_tip:"Jangan tutup jendela ini saat menggunakan tunnel","Listening ...":"Mendengarkan...","Remote Host":"Remote Host","Remote Port":"Remote Port",Action:"Aksi",Add:"Tambah","Local Port":"Port Lokal",setup_server_tip:"Untuk koneksi yang lebih cepat, silakan atur server Anda sendiri","Too short, at least 6 characters.":"Terlalu pendek, setidaknya 6 karekter.","The confirmation is not identical.":"Konfirmasi tidak identik.",Permissions:"Izin",Accept:"Terima",Dismiss:"Hentikan",Disconnect:"Terputus","Allow using keyboard and mouse":"Izinkan menggunakan keyboard dan mouse","Allow using clipboard":"Izinkan menggunakan papan klip","Allow hearing sound":"Izinkan mendengarkan suara","Allow file copy and paste":"Izinkan penyalinan dan tempel file",Connected:"Terkoneksi","Direct and encrypted connection":"Koneksi langsung dan terenkripsi","Relayed and encrypted connection":"Koneksi relai dan terenkripsi","Direct and unencrypted connection":"Koneksi langsung dan tidak terenkripsi","Relayed and unencrypted connection":"Koneksi relai dan tidak terenkripsi","Enter Remote ID":"Masukkan Remote ID","Enter your password":"Masukkan password anda","Logging in...":"Masuk...","Enable RDP session sharing":"Aktifkan berbagi sesi RDP","Auto Login":'Auto Login (Hanya valid jika Anda menyetel \\"Kunci setelah sesi berakhir\\")',"Enable Direct IP Access":"Aktifkan Akses IP Langsung",Rename:"Ubah nama",Space:"Spasi","Create Desktop Shortcut":"Buat Pintasan Desktop","Change Path":"Ubah Jalur","Create Folder":"Buat Folder","Please enter the folder name":"Silahkan masukkan nama folder","Fix it":"Memperbaiki",Warning:"Peringatan","Login screen using Wayland is not supported":"Layar masuk menggunakan Wayland tidak didukung","Reboot required":"Diperlukan boot ulang","Unsupported display server ":"Server tampilan tidak didukung ","x11 expected":"x11 diharapkan",Port:"Port",Settings:"Pengaturan",Username:"Username","Invalid port":"Kesalahan port","Closed manually by the peer":"Ditutup secara manual oleh peer","Enable remote configuration modification":"Aktifkan modifikasi konfigurasi jarak jauh","Run without install":"Jalankan tanpa menginstal","Always connected via relay":"Selalu terhubung melalui relai","Always connect via relay":"Selalu terhubung melalui relai",whitelist_tip:"Hanya whitelisted IP yang dapat mengakses saya",Login:"Masuk",Logout:"Keluar",Tags:"Tag","Search ID":"Cari ID","Current Wayland display server is not supported":"",whitelist_sep:"Dipisahkan dengan koma, titik koma, spasi, atau baris baru","Add ID":"Tambah ID","Add Tag":"Tambah Tag","Unselect all tags":"Batalkan pilihan semua tag","Network error":"Kesalahan Jaringan","Username missed":"Username tidak sesuai","Password missed":"Kata sandi tidak sesuai","Wrong credentials":"Username atau password salah","Edit Tag":"Ubah Tag","Unremember Password":"Lupa Kata Sandi",Favorites:"Favorit","Add to Favorites":"Tambah ke Favorit","Remove from Favorites":"Hapus dari favorit",Empty:"Kosong","Invalid folder name":"Nama folder tidak valid","Socks5 Proxy":"Socks5 Proxy",Hostname:"Hostname",Discovered:"Telah ditemukan",install_daemon_tip:"Untuk memulai saat boot, Anda perlu menginstal system service.","Remote ID":"Remote ID",Paste:"Tempel","Paste here?":"Tempel disini?","Are you sure to close the connection?":"Apakah anda yakin akan menutup koneksi?","Download new version":"Untuk versi baru","Touch mode":"Mode Sentuh","Mouse mode":"Mode Mouse","One-Finger Tap":"Ketuk Satu Jari","Left Mouse":"Mouse Kiri","One-Long Tap":"Ketuk Satu Panjang","Two-Finger Tap":"Ketuk Dua Jari","Right Mouse":"Mouse Kanan","One-Finger Move":"Gerakan Satu Jari","Double Tap & Move":"Ketuk Dua Kali & Pindah","Mouse Drag":"Geser Mouse","Three-Finger vertically":"Tiga Jari secara vertikal","Mouse Wheel":"Roda mouse","Two-Finger Move":"Gerakan Dua Jari","Canvas Move":"Gerakan Kanvas","Pinch to Zoom":"Cubit untuk Memperbesar","Canvas Zoom":"Perbesar Canvas","Reset canvas":"Setel Ulang Canvas","No permission of file transfer":"Tidak ada izin untuk mengirim file",Note:"Catatan",Connection:"Koneksi","Share Screen":"Bagikan Layar",CLOSE:"TUTUP",OPEN:"BUKA",Chat:"Obrolan",Total:"Total",items:"item",Selected:"Dipilih","Screen Capture":"Rekam Layar","Input Control":"kontrol input","Audio Capture":"Rekam Suara","File Connection":"Koneksi File","Screen Connection":"koneksi layar","Do you accept?":"Apakah diperbolehkan?","Open System Setting":"Buka Pengaturan Sistem","How to get Android input permission?":"",android_input_permission_tip1:'Agar perangkat jarak jauh dapat mengontrol perangkat Android Anda melalui mouse atau sentuhan, Anda harus mengizinkan RustDesk untuk menggunakan layanan \\"Aksesibilitas\\".',android_input_permission_tip2:"Silakan buka halaman pengaturan sistem berikutnya, temukan dan masuk ke [Layanan Terinstal], aktifkan layanan [Input RustDesk].",android_new_connection_tip:"Permintaan kontrol baru telah diterima, yang ingin mengontrol perangkat Anda saat ini.",android_service_will_start_tip:'Mengaktifkan \\"Tangkapan Layar\\" akan memulai layanan secara otomatis, memungkinkan perangkat lain untuk meminta sambungan ke perangkat Anda.',android_stop_service_tip:"Menutup layanan akan secara otomatis menutup semua koneksi yang dibuat.",android_version_audio_tip:"Versi Android saat ini tidak mendukung pengambilan audio, harap tingkatkan ke Android 10 atau lebih tinggi.",android_start_service_tip:"Ketuk izin [Mulai Layanan] atau BUKA [Tangkapan Layar] untuk memulai layanan berbagi layar.",Account:"Akun",Overwrite:"Timpa","This file exists, skip or overwrite this file?":"",Quit:"Keluar",doc_mac_permission:"https://rustdesk.com/docs/en/manual/mac/#enable-permissions",Help:"Bantuan",Failed:"Gagal",Succeeded:"Berhasil","Someone turns on privacy mode, exit":"Seseorang mengaktifkan mode privasi, keluar",Unsupported:"Tidak didukung","Peer denied":"Rekan ditolak","Please install plugins":"Silakan instal plugin","Peer exit":"keluar rekan","Failed to turn off":"Gagal mematikan","Turned off":"Matikan","In privacy mode":"Dalam mode privasi","Out privacy mode":"Keluar dari mode privasi",Language:""},da:{Status:"Status","Your Desktop":"dit skrivebord",desk_tip:"Du kan f\xE5 adgang til dit skrivebord med dette ID og adgangskode.",Password:"Kodeord",Ready:"Klar",Established:"Etableret",connecting_status:"Opretter forbindelse til RustDesk-netv\xE6rket...","Enable Service":"T\xE6nd forbindelsesserveren","Start Service":"Starte forbindelsesserveren","Service is running":"Tjenesten k\xF8rer","Service is not running":"Den tilknyttede tjeneste k\xF8rer ikke",not_ready_status:"Ikke klar. Tjek venligst din forbindelse","Control Remote Desktop":"Styr fjernskrivebord","Transfer File":"Overf\xF8re fil",Connect:"Forbind","Recent Sessions":"Sidste sessioner","Address Book":"Adressebog",Confirmation:"Bekr\xE6ftelse","TCP Tunneling":"TCP tunneling",Remove:"Fjern","Refresh random password":"Opdater tilf\xE6ldig adgangskode","Set your own password":"Indstil din egen adgangskode","Enable Keyboard/Mouse":"T\xE6nd for tastatur/mus","Enable Clipboard":"T\xE6nd for udklipsholderen","Enable File Transfer":"Aktiver filoverf\xF8rsel","Enable TCP Tunneling":"Sl\xE5 TCP-tunneling til","IP Whitelisting":"IP-udgivelsesliste","ID/Relay Server":"ID/forbindelsesserver","Stop service":"Sluk for forbindelsesserveren","Change ID":"\xC6ndre ID",Website:"Hjemmeside",About:"Omkring",Mute:"Sluk for mikrofonen","Audio Input":"Lydindgang","ID Server":"identifikations Server","Relay Server":"Rel\xE6 Server","API Server":"API Server",invalid_http:"Skal begynde med http:// eller https://","Invalid IP":"Ugyldig IP-adresse",id_change_tip:"Kun tegnene a-z, A-Z, 0-9 og _ (understregning) er tilladt. Det f\xF8rste bogstav skal v\xE6re a-z, A-Z. L\xE6ngde mellem 6 og 16.","Invalid format":"Ugyldigt format",server_not_support:"Endnu ikke underst\xF8ttet af serveren","Not available":"ikke Tilg\xE6ngelig","Too frequent":"For ofte",Cancel:"Abort",Skip:"Spring over",Close:"Luk",Retry:"Pr\xF8v igen",OK:"OK","Password Required":"Adgangskode kr\xE6ves","Please enter your password":"Indtast venligst dit kodeord","Remember password":"Husk kodeord","Wrong Password":"Forkert kodeord","Do you want to enter again?":"Vil du forbinde igen?","Connection Error":"Forbindelsesfejl",Error:"fejl","Reset by the peer":"Nulstil ved peer","Connecting...":"Opretter forbindelse...","Connection in progress. Please wait.":"Forbindelsen er etableret. Vent venligst.","Please try 1 minute later":"Pr\xF8v igen, 1 minut senere","Login Error":"Login fejl",Successful:"Vellykket","Connected, waiting for image...":"Tilsluttet, venter p\xE5 billede...",Name:"Navn",Type:"Type",Modified:"\xC6ndret",Size:"St\xF8rrelse","Show Hidden Files":"Vis skjulte filer",Receive:"Modtag",Send:"Send","Refresh File":"Genopfrisk fil",Local:"Lokalt",Remote:"Remote","Remote Computer":"Fjern computer","Local Computer":"Lokal Computer","Confirm Delete":"Bekr\xE6ft sletning",Delete:"Slet",Properties:"Egenskaber","Multi Select":"Flere valg","Empty Directory":"Tom bibliotek","Not an empty directory":"Intet tomt bibliotek","Are you sure you want to delete this file?":"Er du sikker p\xE5, at du vil slette denne fil?","Are you sure you want to delete this empty directory?":"Er du sikker p\xE5, at du vil slette dette tomme bibliotek?","Are you sure you want to delete the file of this directory?":"Er du sikker p\xE5, at du vil slette filen til dette bibliotek?","Do this for all conflicts":"G\xF8r dette for alle konflikter","This is irreversible!":"Dette er irreversibelt!",Deleting:"Sletter",files:"Filer",Waiting:"Venter",Finished:"F\xE6rdig",Speed:"hastighed","Custom Image Quality":"Individuel billedkvalitet","Privacy mode":"Databeskyttelsestilstand (Privatlivstilstand)","Block user input":"Bloker brugerinput","Unblock user input":"Fjern blokering af brugerinput","Adjust Window":"Juster vinduet",Original:"Original",Shrink:"Krymp",Stretch:"Strak","Good image quality":"God billedkvalitet",Balanced:"Afbalanceret","Optimize reaction time":"Optimeret responstid",Custom:"Brugerdefineret","Show remote cursor":"Vis fjernbetjeningskontrolleret mark\xF8r","Disable clipboard":"Deaktiver udklipsholder","Lock after session end":"L\xE5s efter afslutningen af fjernstyring",Insert:"Inds\xE6t","Insert Lock":"Inds\xE6t l\xE5s",Refresh:"Genopfrisk","ID does not exist":"ID findes ikke","Failed to connect to rendezvous server":"Forbindelse til forbindelsesserveren mislykkedes","Please try later":"Pr\xF8v det senere","Remote desktop is offline":"Fjernet desktop er offline","Key mismatch":"N\xF8gle uoverensstemmelse",Timeout:"Timeout","Failed to connect to relay server":"Forbindelse til rel\xE6-serveren mislykkedes","Failed to connect via rendezvous server":"Forbindelse via Rendezvous-server mislykkedes","Failed to connect via relay server":"Forbindelse via rel\xE6-serveren mislykkedes","Failed to make direct connection to remote desktop":"Direkte forbindelse til fjernskrivebord kunne ikke etableres","Set Password":"Indstil adgangskode","OS Password":"Operativsystemadgangskode",install_tip:"P\xE5 grund af UAC kan Rustdesk ikke fungere korrekt p\xE5 den anden side i nogle tilf\xE6lde. For at undg\xE5 UAC skal du klikke p\xE5 knappen nedenfor for at installere Rustdesk p\xE5 systemet","Click to upgrade":"Klik for at opgradere","Click to download":"Klik for at downloade","Click to update":"Klik for at opdatere",Configure:"Konfigurer",config_acc:'For at kontrollere dit skrivebord p\xE5 afstand skal du give Rustdesk \\"Access \\" Rettigheder.',config_screen:'For at kunne f\xE5 adgang til dit skrivebord langtfra, skal du give Rustdesk \\"sk\xE6rmst\xF8tte \\" tilladelser.',"Installing ...":"Installere ...",Install:"installere",Installation:"Installation","Installation Path":"Installationsti","Create start menu shortcuts":"Opret startmenu links","Create desktop icon":"Opret skrivebords-symbol",agreement_tip:"Hvis du starter installationen, skal du acceptere licensaftalen","Accept and Install":"Accepter og installer","End-user license agreement":"Licensaftale for slutbrugere","Generating ...":"Generer kode ...","Your installation is lower version.":"Din installation er en lavere version.",not_close_tcp_tip:"Luk ikke dette vindue, mens du bruger tunnelen.","Listening ...":"Lytter ...","Remote Host":"Fjern-Host","Remote Port":"Fjern-Port",Action:"\u0420andling",Add:"Tilf\xF8j","Local Port":"Lokal Port",setup_server_tip:"For en hurtigere forbindelse skal du indstille din egen forbindelsesserver","Too short, at least 6 characters.":"For kort, mindst 6 tegn.","The confirmation is not identical.":"Bekr\xE6ftelsen er ikke identisk.",Permissions:"Tilladelser",Accept:"Acceptere",Dismiss:"Afvise",Disconnect:"Frakobl","Allow using keyboard and mouse":"Tillad brug af tastatur og mus","Allow using clipboard":"Tillad brug af udklipsholderen","Allow hearing sound":"Tillader h\xF8relse fra lyd","Allow file copy and paste":"Tillad fil kopiering og inds\xE6ttelse",Connected:"Forbundet","Direct and encrypted connection":"Direkte og krypteret forbindelse","Relayed and encrypted connection":"Brugt rel\xE6et og krypteret forbindelse","Direct and unencrypted connection":"Direkte og ukrypteret forbindelse","Relayed and unencrypted connection":"Brugt rel\xE6et og ukrypteret forbindelse","Enter Remote ID":"Indtast Remote-ID","Enter your password":"Skriv dit kodeord","Logging in...":"Logger ind...","Enable RDP session sharing":"RDP-Aktiv\xE9r sessiongodkendelse","Auto Login":'Automatisk login (kun gyldigt hvis du har konfigureret \\"Lock efter afslutningen af sessionen\\")',"Enable Direct IP Access":"Aktiv\xE9r direkte IP-adgang",Rename:"Omd\xF8b",Space:"Plads","Create Desktop Shortcut":"Opret skrivebords-genvej","Change Path":"Skift stien","Create Folder":"Opret mappe","Please enter the folder name":"Indtast venligst mappenavnet","Fix it":"K\xF8r reparation",Warning:"Advarsel","Login screen using Wayland is not supported":"Registreringssk\xE6rm med Wayland underst\xF8ttes ikke","Reboot required":"Genstart kr\xE6vet","Unsupported display server ":"Ikke-underst\xF8ttet displayserver","x11 expected":"X11 Forventet",Port:"Port",Settings:"Indstillinger",Username:" Brugernavn","Invalid port":"Ugyldig port","Closed manually by the peer":"Manuelt lukket af peer","Enable remote configuration modification":"Tillad at \xE6ndre afstandskonfigurationen","Run without install":"K\xF8r uden installation","Always connected via relay":"Tilslut altid via rel\xE6-server","Always connect via relay":"Forbindelse via rel\xE6-server",whitelist_tip:"Kun IP'er p\xE5 udgivelseslisten kan f\xE5 adgang til mig",Login:"Login",Logout:"logger af",Tags:"N\xF8gleord","Search ID":"S\xF8g ID","Current Wayland display server is not supported":"Den aktuelle Wayland-Anzege-server underst\xF8ttes ikke",whitelist_sep:"Adskilt af komma, semikolon, rum eller linjepaus","Add ID":"Tilf\xF8j ID","Add Tag":"Tilf\xF8j n\xF8gleord","Unselect all tags":"Frav\xE6lg alle n\xF8gleord","Network error":"Netv\xE6rksfejl","Username missed":"Benutzername fehlt","Password missed":"Glemt kodeord","Wrong credentials":"Forkerte registreringsdata","Edit Tag":"Rediger n\xF8gleord","Unremember Password":"Bem\xE6rk ikke adgangskoden",Favorites:"Favorit","Add to Favorites":"Tilf\xF8j til favoritter","Remove from Favorites":"Fjern favoritter",Empty:"Tom","Invalid folder name":"Ugyldigt mappenavn","Socks5 Proxy":"Socks5 Proxy",Hostname:"Computernavn",Discovered:"Fundet",install_daemon_tip:"Til at begynde med opstart, skal du installere systemtjenesten","Remote ID":"Fjern ID",Paste:"Inds\xE6t","Paste here?":"Inds\xE6t her?","Are you sure to close the connection?":"Sind Sie sicher, dass Sie die Verbindung schlie\xDFen wollen?","Download new version":"Neue Version herunterladen","Touch mode":"Touch-tilstand","Mouse mode":"Musse-tilstand","One-Finger Tap":"En fingerspids-tap","Left Mouse":"Venstre mus","One-Long Tap":"Tryk med en finger lang","Two-Finger Tap":"Tryk med to fingre-tap","Right Mouse":"H\xF8jre mus","One-Finger Move":"En fingerbev\xE6gelse","Double Tap & Move":"Dobbelt og flytte","Mouse Drag":"Mus","Three-Finger vertically":"Tre fingre lodret","Mouse Wheel":"Mussehjul","Two-Finger Move":"To fingreflytning","Canvas Move":"Flyt l\xE6rred","Pinch to Zoom":"Zoom ind","Canvas Zoom":"L\xE6rred zoom","Reset canvas":"Nulstil sk\xE6rm","No permission of file transfer":"Ingen tilladelse til at overf\xF8re filen",Note:"Note",Connection:"Forbindelse","Share Screen":"Del sk\xE6rmen",CLOSE:"LUK",OPEN:"\xC5BEN",Chat:"Chat",Total:"Total",items:"artikel",Selected:"Valgte","Screen Capture":"Sk\xE6rmoptagelse","Input Control":"Inputkontrol","Audio Capture":"Lydoptagelse","File Connection":"Filforbindelse","Screen Connection":"F\xE6rdigg\xF8relse","Do you accept?":"Accepterer du?","Open System Setting":"\xC5bn systemindstillingen","How to get Android input permission?":"Hvordan f\xE5r jeg en Android-input tilladelse?",android_input_permission_tip1:'For at en ekstern enhed kan kontrollere din Android-enhed via mus eller ber\xF8ring, skal du give Rustdesk mulighed for at bruge tjenesten \\"tilg\xE6ngelighed \\".',android_input_permission_tip2:"G\xE5 til den n\xE6ste systemindstillingsside, s\xF8g og indtast [installerede tjenester], t\xE6nd for [Rustdesk Input] Service.",android_new_connection_tip:"En ny kontrolanmodning blev modtaget, der gerne ville kontrollere din nuv\xE6rende enhed.",android_service_will_start_tip:"Ved at t\xE6nde for sk\xE6rmoptagelsen startes tjenesten automatisk, s\xE5 andre enheder kan anmode om en forbindelse fra denne enhed.",android_stop_service_tip:"Ved at lukke tjenesten lukkes alle fremstillede forbindelser automatisk.",android_version_audio_tip:"Den aktuelle Android -version underst\xF8tter ikke lydoptagelse, skal du opdatere om Android 10 eller h\xF8jere.",android_start_service_tip:"Tryk p\xE5 [Start Service] eller \xE5bn autorisationen [sk\xE6rmoptagelse] for at starte sk\xE6rmudgivelsen.",Account:"Konto",Overwrite:"Overskriv","This file exists, skip or overwrite this file?":"Denne fil findes, springer over denne fil eller overskriver?",Quit:"Afslut",doc_mac_permission:"https://rustdesk.com/docs/en/manual/mac/#enable-permissions",Help:"Hj\xE6lp",Failed:"Mislykkedet",Succeeded:"Vellykket","Someone turns on privacy mode, exit":"Nogen aktiverede databeskyttelsestilstand, slut",Unsupported:"Ikke underst\xF8ttet","Peer denied":"Peer n\xE6gtet","Please install plugins":"Venligst Installer plugins","Peer exit":"Peer-Afslut","Failed to turn off":"Slukke","Turned off":"Slukket","In privacy mode":"I databeskyttelsestilstand","Out privacy mode":"Databeskyttelsestilstand fra",Language:""},de:{Status:"Status","Your Desktop":"Ihr Desktop",desk_tip:"Mit dieser ID und diesem Passwort k\xF6nnen Sie auf Ihren Desktop zugreifen.",Password:"Passwort",Ready:"Bereit",Established:"Etabliert",connecting_status:"Verbinden mit dem RustDesk-Netzwerk...","Enable Service":"Verbindungsserver einschalten","Start Service":"Starte Verbindungsserver","Service is running":"Dienst l\xE4uft","Service is not running":"Der Verbindungsserver l\xE4uft nicht",not_ready_status:"Nicht bereit. Bitte \xFCberpr\xFCfen Sie Ihre Verbindung","Control Remote Desktop":"Entfernten Desktop steuern","Transfer File":"Datei \xFCbertragen",Connect:"Verbinden","Recent Sessions":"Letzte Sitzungen","Address Book":"Adressbuch",Confirmation:"Best\xE4tigung","TCP Tunneling":"TCP Tunneln",Remove:"Entfernen","Refresh random password":"Zuf\xE4lliges Passwort aktualisieren","Set your own password":"Legen Sie Ihr eigenes Passwort fest","Enable Keyboard/Mouse":"Tastatur/Maus einschalten","Enable Clipboard":"Zwischenablage einschalten","Enable File Transfer":"Datei\xFCbertragung aktivieren","Enable TCP Tunneling":"TCP-Tunneling einschalten","IP Whitelisting":"IP Freigabeliste","ID/Relay Server":"ID/Verbindungsserver","Stop service":"Verbindungsserver ausschalten","Change ID":"ID wechseln",Website:"Webseite",About:"\xDCber",Mute:"Stummschalten","Audio Input":"Audio-Eingang","ID Server":"ID Server","Relay Server":"Verbindungsserver Server","API Server":"API Server",invalid_http:"Muss mit http:// oder https:// beginnen","Invalid IP":"Ung\xFCltige IP-Adresse",id_change_tip:"Nur die Zeichen a-z, A-Z, 0-9 und _ (Unterstrich) sind erlaubt. Der erste Buchstabe muss a-z, A-Z sein. L\xE4nge zwischen 6 und 16.","Invalid format":"Ung\xFCltiges Format",server_not_support:"Noch nicht vom Server unterst\xFCtzt","Not available":"Nicht verf\xFCgbar","Too frequent":"Zu h\xE4ufig",Cancel:"Abbrechen",Skip:"\xDCberspringen",Close:"Schlie\xDFen",Retry:"Nochmal versuchen",OK:"OK","Password Required":"Passwort erforderlich","Please enter your password":"Bitte geben Sie Ihr Passwort ein","Remember password":"Passwort merken","Wrong Password":"Falsches Passwort","Do you want to enter again?":"M\xF6chten Sie erneut teilnehmen?","Connection Error":"Verbindungsfehler",Error:"Fehler","Reset by the peer":"Zur\xFCcksetzen durch die Gegenstelle","Connecting...":"Verbinden...","Connection in progress. Please wait.":"Die Verbindung wird hergestellt. Bitte warten Sie.","Please try 1 minute later":"Bitte versuchen Sie es 1 Minute sp\xE4ter","Login Error":"Anmeldefehler",Successful:"Erfolgreich","Connected, waiting for image...":"Verbunden, warten auf Bild...",Name:"Name",Type:"Typ",Modified:"Ge\xE4ndert",Size:"Gr\xF6\xDFe","Show Hidden Files":"Versteckte Dateien anzeigen",Receive:"Empfangen",Send:"Senden","Refresh File":"Datei aktualisieren",Local:"Lokaler",Remote:"Entfernter","Remote Computer":"Entfernter Computer","Local Computer":"Lokaler Computer","Confirm Delete":"L\xF6schen best\xE4tigen",Delete:"L\xF6schen",Properties:"Eigenschaften","Multi Select":"Mehrfachauswahl","Empty Directory":"Leeres Verzeichnis","Not an empty directory":"Kein leeres Verzeichnis","Are you sure you want to delete this file?":"Sind Sie sicher, dass Sie diese Datei l\xF6schen wollen?","Are you sure you want to delete this empty directory?":"Sind Sie sicher, dass Sie dieses leere Verzeichnis l\xF6schen m\xF6chten?","Are you sure you want to delete the file of this directory?":"Sind Sie sicher, dass Sie die Datei dieses Verzeichnisses l\xF6schen m\xF6chten?","Do this for all conflicts":"Dies gilt f\xFCr alle Konflikte","This is irreversible!":"Dies ist irreversibel!",Deleting:"L\xF6schen",files:"Dateien",Waiting:"Warten",Finished:"Fertiggestellt",Speed:"Geschwindigkeit","Custom Image Quality":"Individuelle Bildqualit\xE4t","Privacy mode":"Datenschutz-Modus","Block user input":"Benutzereingaben blockieren","Unblock user input":"Benutzereingaben freigeben","Adjust Window":"Fenster anpassen",Original:"Original",Shrink:"Geschrumpft",Stretch:"Gestreckt","Good image quality":"Gute Bildqualit\xE4t",Balanced:"Ausgeglichen","Optimize reaction time":"Optimierte Reaktionszeit",Custom:"Benutzerdefiniert","Show remote cursor":"Ferngesteuerten Cursor anzeigen","Disable clipboard":"Zwischenablage deaktivieren","Lock after session end":"Sperren nach Sitzungsende",Insert:"Einf\xFCgen","Insert Lock":"Sperre einf\xFCgen",Refresh:"Aktualisieren","ID does not exist":"Die ID existiert nicht","Failed to connect to rendezvous server":"Verbindung zum Verbindungsserver fehlgeschlagen","Please try later":"Bitte versuchen Sie es sp\xE4ter","Remote desktop is offline":"Entfernter Desktop ist offline","Key mismatch":"Schl\xFCssel nicht \xFCbereinstimmend",Timeout:"Zeit\xFCberschreitung","Failed to connect to relay server":"Verbindung zum Verbindungsserver fehlgeschlagen","Failed to connect via rendezvous server":"Verbindung \xFCber rendezvous server fehlgeschlagen","Failed to connect via relay server":"Verbindung \xFCber den Verbindungsserver ist fehlgeschlagen","Failed to make direct connection to remote desktop":"Direkte Verbindung zum Entfernten-Desktop konnte nicht hergestellt werden","Set Password":"Passwort festlegen","OS Password":"Betriebssystem-Passwort",install_tip:"Aufgrund der UAC kann RustDesk in manchen F\xE4llen nicht ordnungsgem\xE4\xDF auf der Gegenseite funktionieren. Um UAC zu vermeiden, klicken Sie bitte auf die Schaltfl\xE4che unten, um RustDesk auf dem System zu installieren","Click to upgrade":"Zum Upgrade anklicken","Click to download":"Zum Herunterladen klicken","Click to update":"Zum Aktualisieren klicken",Configure:"Konfigurieren",config_acc:'Um Ihren Desktop aus der Ferne zu steuern, m\xFCssen Sie RustDesk \\"Zugangs\\" Rechte erteilen.',config_screen:'Um aus der Ferne auf Ihren Desktop zugreifen zu k\xF6nnen, m\xFCssen Sie RustDesk \\"Bildschirm-Aufnahme\\" Berechtigungen erteilen.',"Installing ...":"Installiere ...",Install:"Installieren",Installation:"Einrichtung","Installation Path":"Einrichtungs Pfad","Create start menu shortcuts":"Startmen\xFC Verkn\xFCpfungen erstellen","Create desktop icon":"Desktop Symbol erstellen",agreement_tip:"Wenn Sie die Einrichtung starten, akzeptieren Sie die Lizenzvereinbarung","Accept and Install":"Akzeptieren und installieren","End-user license agreement":"Lizenzvereinbarung f\xFCr Endbenutzer","Generating ...":"Generierung ...","Your installation is lower version.":"Ihre Installation ist eine niedrigere Version.",not_close_tcp_tip:"Schlie\xDFen Sie dieses Fenster nicht, w\xE4hrend Sie den Tunnel benutzen.","Listening ...":"H\xF6ren ...","Remote Host":"Entfernter Rechner","Remote Port":"Entfernter Port",Action:"Aktion",Add:"Hinzuf\xFCgen","Local Port":"Lokaler Port",setup_server_tip:"F\xFCr eine schnellere Verbindung, richten Sie bitte Ihren eigenen Verbindungsserver ein","Too short, at least 6 characters.":"Zu kurz, mindestens 6 Zeichen.","The confirmation is not identical.":"Die Best\xE4tigung ist nicht identisch.",Permissions:"Berechtigungen",Accept:"Akzeptieren",Dismiss:"Ablehnen",Disconnect:"Verbindung trennen","Allow using keyboard and mouse":"Erlaubt die Verwendung von Tastatur und Maus","Allow using clipboard":"Verwendung der Zwischenablage zulassen","Allow hearing sound":"Erlaubt das H\xF6ren von Sound","Allow file copy and paste":"Kopieren und Einf\xFCgen von Dateien zulassen",Connected:"Verbunden","Direct and encrypted connection":"Direkte und verschl\xFCsselte Verbindung","Relayed and encrypted connection":"Vermittelte und verschl\xFCsselte Verbindung","Direct and unencrypted connection":"Direkte und unverschl\xFCsselte Verbindung","Relayed and unencrypted connection":"Vermittelte und unverschl\xFCsselte Verbindung","Enter Remote ID":"Remote-ID eingeben","Enter your password":"Geben Sie Ihr Passwort ein","Logging in...":"Anmeldung...","Enable RDP session sharing":"RDP-Sitzungsfreigabe aktivieren","Auto Login":'Automatisches Login (nur g\xFCltig, wenn Sie \\"Sperren nach Sitzungsende\\" eingestellt haben)',"Enable Direct IP Access":"Direkten IP-Zugang aktivieren",Rename:"Umbenennen",Space:"Platz","Create Desktop Shortcut":"Desktop-Verkn\xFCpfung erstellen","Change Path":"Pfad \xE4ndern","Create Folder":"Ordner erstellen","Please enter the folder name":"Bitte geben Sie den Ordnernamen ein","Fix it":"Reparieren",Warning:"Warnung","Login screen using Wayland is not supported":"Anmeldebildschirm mit Wayland wird nicht unterst\xFCtzt","Reboot required":"Neustart erforderlich","Unsupported display server ":"Nicht unterst\xFCtzter Display-Server","x11 expected":"X11 erwartet",Port:"Port",Settings:"Einstellungen",Username:" Benutzername","Invalid port":"Ung\xFCltiger Port","Closed manually by the peer":"Vom Peer manuell geschlossen","Enable remote configuration modification":"\xC4nderung der Fernkonfiguration zulassen","Run without install":"Ohne Installation ausf\xFChren","Always connected via relay":"Immer \xFCber Verbindungsserver verbunden","Always connect via relay":"Verbindung immer \xFCber Verbindungsserver",whitelist_tip:"Nur IPs auf der Freigabeliste k\xF6nnen auf mich zugreifen",Login:"Anmeldung",Logout:"Abmeldung",Tags:"Stichworte","Search ID":"Suche ID","Current Wayland display server is not supported":"Der aktuelle Wayland-Anzeigeserver wird nicht unterst\xFCtzt",whitelist_sep:"Getrennt durch Komma, Semikolon, Leerzeichen oder Zeilenumbruch","Add ID":"ID hinzuf\xFCgen","Add Tag":"Stichwort hinzuf\xFCgen","Unselect all tags":"Alle Stichworte abw\xE4hlen","Network error":"Netzwerkfehler","Username missed":"Benutzername fehlt","Password missed":"Passwort vergessen","Wrong credentials":"Falsche Anmeldedaten","Edit Tag":"Stichwort bearbeiten","Unremember Password":"Passwort nicht merken",Favorites:"Favoriten","Add to Favorites":"Zu Favoriten hinzuf\xFCgen","Remove from Favorites":"Entferne von Favoriten",Empty:"Leer","Invalid folder name":"Ung\xFCltiger Ordnername","Socks5 Proxy":"Socks5 Proxy",Hostname:"Rechnername",Discovered:"Gefunden",install_daemon_tip:"Um beim Booten zu starten, m\xFCssen Sie den Systemdienst installieren","Remote ID":"Entfernte ID",Paste:"Einf\xFCgen","Paste here?":"Hier einf\xFCgen?","Are you sure to close the connection?":"Sind Sie sicher, dass Sie die Verbindung schlie\xDFen wollen?","Download new version":"Neue Version herunterladen","Touch mode":"Touch-Modus","Mouse mode":"Mouse-Modus","One-Finger Tap":"Ein Fingertipp","Left Mouse":"Linke Maus","One-Long Tap":"Tippen Sie mit einem Finger lang","Two-Finger Tap":"Zwei Finger tippen","Right Mouse":"Rechte Maus","One-Finger Move":"Eine Fingerbewegung","Double Tap & Move":"Doppeltippen und verschieben","Mouse Drag":"Maus ziehen","Three-Finger vertically":"Drei Finger vertikal","Mouse Wheel":"Mausrad","Two-Finger Move":"Zwei Finger Bewegung","Canvas Move":"Leinwand bewegen","Pinch to Zoom":"Zum Zoomen kneifen","Canvas Zoom":"Leinwand Zoom","Reset canvas":"Anzeige zur\xFCcksetzen","No permission of file transfer":"Keine Erlaubnis zur Datei\xFCbertragung",Note:"Notiz",Connection:"Verbindung","Share Screen":"Bildschirm freigeben",CLOSE:"NAH DRAN",OPEN:"OFFEN",Chat:"Plaudern",Total:"Gesamt",items:"Artikel",Selected:"Ausgew\xE4hlt","Screen Capture":"Bildschirmaufnahme","Input Control":"Eingabesteuerung","Audio Capture":"Audioaufnahme","File Connection":"Dateiverbindung","Screen Connection":"Bildschirmanschluss","Do you accept?":"Akzeptieren Sie?","Open System Setting":"Systemeinstellung \xF6ffnen","How to get Android input permission?":"Wie erhalte ich eine Android-Eingabeberechtigung?",android_input_permission_tip1:'Damit ein Remote-Ger\xE4t Ihr Android-Ger\xE4t per Maus oder Ber\xFChrung steuern kann, m\xFCssen Sie RustDesk erlauben, den Dienst \\"Barrierefreiheit\\" zu verwenden.',android_input_permission_tip2:"Bitte gehen Sie zur n\xE4chsten Systemeinstellungsseite, suchen und geben Sie [Installierte Dienste] ein, schalten Sie den Dienst [RustDesk Input] ein.",android_new_connection_tip:"Es wurde eine neue Steuerungsanforderung empfangen, die Ihr aktuelles Ger\xE4t steuern m\xF6chte.",android_service_will_start_tip:"Durch das Einschalten der Bildschirmaufnahme wird der Dienst automatisch gestartet, sodass andere Ger\xE4te eine Verbindung von diesem Ger\xE4t anfordern k\xF6nnen.",android_stop_service_tip:"Durch das Schlie\xDFen des Dienstes werden automatisch alle hergestellten Verbindungen geschlossen.",android_version_audio_tip:"Die aktuelle Android-Version unterst\xFCtzt keine Audioaufnahme, bitte aktualisieren Sie auf Android 10 oder h\xF6her.",android_start_service_tip:"Tippen Sie auf [Dienst starten] oder \xD6FFNEN Sie die Berechtigung [Bildschirmaufnahme], um den Bildschirmfreigabedienst zu starten.",Account:"Konto",Overwrite:"\xDCberschreiben","This file exists, skip or overwrite this file?":"Diese Datei existiert, diese Datei \xFCberspringen oder \xFCberschreiben?",Quit:"Aufh\xF6ren",doc_mac_permission:"https://rustdesk.com/docs/en/manual/mac/#enable-permissions",Help:"Hilfe",Failed:"Gescheitert",Succeeded:"Erfolgreich","Someone turns on privacy mode, exit":"Jemand aktiviert den Datenschutzmodus, beenden",Unsupported:"Nicht unterst\xFCtzt","Peer denied":"Peer verweigert","Please install plugins":"Bitte installieren Sie Plugins","Peer exit":"Peer-Ausgang","Failed to turn off":"Ausschalten fehlgeschlagen","Turned off":"Ausgeschaltet","In privacy mode":"im Datenschutzmodus","Out privacy mode":"Datenschutzmodus aus",Language:"Sprache"},tr:{Status:"Durum","Your Desktop":"Sizin Masa\xFCst\xFCn\xFCz",desk_tip:"Masa\xFCst\xFCn\xFCze bu ID ve \u015Fifre ile eri\u015Filebilir",Password:"\u015Eifre",Ready:"Haz\u0131r",Established:"Ba\u011Flant\u0131 sa\u011Fland\u0131",connecting_status:"Ba\u011Flan\u0131l\u0131yor ","Enable Service":"Servisi aktif et","Start Service":"Servisi ba\u015Flat","Service is running":"Servis \xE7al\u0131\u015F\u0131yor","Service is not running":"Servis durduruldu",not_ready_status:"Haz\u0131r de\u011Fil. Ba\u011Flant\u0131n\u0131z\u0131 kontrol edin","Control Remote Desktop":"Ba\u011Flan\u0131lacak Uzak Ba\u011Flant\u0131 ID","Transfer File":"Dosya transferi",Connect:"Ba\u011Flan","Recent Sessions":"S\u0131kl\u0131kla Ba\u011Flan\u0131lanlar","Address Book":"Adres Defteri",Confirmation:"Onayla","TCP Tunneling":"TCP T\xFCnelleri",Remove:"Kald\u0131r","Refresh random password":"Yeni rastgele \u015Fifre olu\u015Ftur","Set your own password":"Kendi \u015Fifreni olu\u015Ftur","Enable Keyboard/Mouse":"Klavye ve Fareye izin ver","Enable Clipboard":"Kopyalanan ge\xE7ici veriye izin ver","Enable File Transfer":"Dosya Transferine izin ver","Enable TCP Tunneling":"TCP T\xFCneline izin ver","IP Whitelisting":"\u0130zinli IP listesi","ID/Relay Server":"ID/Relay Sunucusu","Stop service":"Servisi Durdur","Change ID":"ID De\u011Fi\u015Ftir",Website:"Website",About:"Hakk\u0131nda",Mute:"Sesi Kapat","Audio Input":"Ses Giri\u015Fi","ID Server":"ID Sunucu","Relay Server":"Relay Sunucu","API Server":"API Sunucu",invalid_http:"http:// veya https:// ile ba\u015Flamal\u0131d\u0131r","Invalid IP":"Ge\xE7ersiz IP adresi",id_change_tip:"Yaln\u0131zca a-z, A-Z, 0-9 ve _ (alt \xE7izgi) karakterlerini kullanabilirsiniz. \u0130lk karakter a-z veya A-Z olmal\u0131d\u0131r. Uzunluk 6 ile 16 karakter aras\u0131nda olmal\u0131d\u0131r.","Invalid format":"Hatal\u0131 Format",server_not_support:"Hen\xFCz sunucu taraf\u0131ndan desteklenmiyor","Not available":"Eri\u015Filebilir de\u011Fil","Too frequent":"\xC7ok s\u0131k",Cancel:"\u0130ptal",Skip:"Ge\xE7",Close:"Kapat",Retry:"Tekrar Dene",OK:"Tamam","Password Required":"\u015Eifre Gerekli","Please enter your password":"L\xFCtfen \u015Fifrenizi giriniz","Remember password":"\u015Eifreyi hat\u0131rla","Wrong Password":"Hatal\u0131 \u015Fifre","Do you want to enter again?":"Tekrar giri\u015F yapmak ister misiniz?","Connection Error":"Ba\u011Flant\u0131 Hatas\u0131",Error:"Hata","Reset by the peer":"E\u015F taraf\u0131nda s\u0131f\u0131rla","Connecting...":"Ba\u011Flan\u0131l\u0131yor...","Connection in progress. Please wait.":"Ba\u011Flant\u0131 sa\u011Flan\u0131yor. L\xFCtfen bekleyiniz.","Please try 1 minute later":"L\xFCtfen 1 dakika sonra tekrar deneyiniz","Login Error":"Giri\u015F Hatal\u0131",Successful:"Ba\u015Far\u0131l\u0131","Connected, waiting for image...":"Ba\u011Fland\u0131. G\xF6r\xFCnt\xFC bekleniyor...",Name:"Ad",Type:"Tip",Modified:"De\u011Fi\u015Ftirildi",Size:"Boyut","Show Hidden Files":"Gizli Dosyalar\u0131 G\xF6ster",Receive:"Al",Send:"G\xF6nder","Refresh File":"Dosyay\u0131 yenile",Local:"Yerel",Remote:"Uzak","Remote Computer":"Uzak Bilgisayar","Local Computer":"Yerel Bilgisayar","Confirm Delete":"Silmeyi Onayla",Delete:"Sil",Properties:"\xD6zellikler","Multi Select":"\xC7oklu Se\xE7im","Empty Directory":"Bo\u015F Klas\xF6r","Not an empty directory":"Klas\xF6r bo\u015F de\u011Fil","Are you sure you want to delete this file?":"Bu dosyay\u0131 silmek istedi\u011Finize emin misiniz?","Are you sure you want to delete this empty directory?":"Bu bo\u015F klas\xF6r\xFC silmek istedi\u011Finize emin misiniz?","Are you sure you want to delete the file of this directory?":"Bu klas\xF6rdeki dosyay\u0131 silmek istedi\u011Finize emin misiniz?","Do this for all conflicts":"Bunu t\xFCm \xE7ak\u0131\u015Fmalar i\xE7in yap","This is irreversible!":"Bu i\u015Flem geri d\xF6nd\xFCr\xFClemez!",Deleting:"Siliniyor",files:"dosyalar",Waiting:"Bekleniyor",Finished:"Tamamland\u0131",Speed:"H\u0131z","Custom Image Quality":"\xD6zel G\xF6r\xFCnt\xFC Kalitesi","Privacy mode":"Gizlilik modu","Block user input":"Kullan\u0131c\u0131 giri\u015Fini engelle","Unblock user input":"Kullan\u0131 giri\u015Fine izin ver","Adjust Window":"Pencereyi Ayarla",Original:"Orjinal",Shrink:"S\u0131\u011Fd\u0131r",Stretch:"Uzat","Good image quality":"\u0130yi g\xF6r\xFCnt\xFC kalitesi",Balanced:"Dengelenmi\u015F","Optimize reaction time":"Tepki s\xFCresini optimize et",Custom:"\xD6zel","Show remote cursor":"Uzaktaki fare imlecini g\xF6ster","Disable clipboard":"Haf\u0131zadaki kopyalanm\u0131\u015Flar\u0131 engelle","Lock after session end":"Ba\u011Flant\u0131dan sonra kilitle",Insert:"Ekle","Insert Lock":"Kilit Ekle",Refresh:"Yenile","ID does not exist":"ID hatal\u0131","Failed to connect to rendezvous server":"ID olu\u015Fturma sunucusuna ba\u011Flan\u0131lamad\u0131","Please try later":"Da\u011Fa sonra tekrar deneyiniz","Remote desktop is offline":"Uzak masa\xFCst\xFC kapal\u0131","Key mismatch":"Anahtar uyumlu de\u011Fil",Timeout:"Zaman a\u015F\u0131m\u0131","Failed to connect to relay server":"Relay sunucusuna ba\u011Flan\u0131lamad\u0131","Failed to connect via rendezvous server":"ID olu\u015Fturma sunucusuna ba\u011Flan\u0131lamad\u0131","Failed to connect via relay server":"Relay olu\u015Fturma sunucusuna ba\u011Flan\u0131lamad\u0131","Failed to make direct connection to remote desktop":"Uzak masa\xFCst\xFCne do\u011Frudan ba\u011Flant\u0131 kurulamad\u0131","Set Password":"\u015Eifre ayarla","OS Password":"\u0130\u015Fletim Sistemi \u015Eifresi",install_tip:"Kullan\u0131c\u0131 Hesab\u0131 Denetimi nedeniyle, RustDesk bir uzak masa\xFCst\xFC olarak d\xFCzg\xFCn \xE7al\u0131\u015Fmayabilir. Bu sorunu \xF6nlemek i\xE7in, RustDesk'i sistem seviyesinde kurmak i\xE7in a\u015Fa\u011F\u0131daki butona t\u0131klay\u0131n.","Click to upgrade":"Y\xFCkseltmek i\xE7in t\u0131klay\u0131n\u0131z","Click to download":"\u0130ndirmek i\xE7in t\u0131klay\u0131n\u0131z","Click to update":"G\xFCncellemek i\xE7in t\u0131klay\u0131n\u0131z",Configure:"Ayarla",config_acc:`Masa\xFCst\xFCn\xFCz\xFC d\u0131\u015Far\u0131dan kontrol etmek i\xE7in RustDesk'e \\"Eri\u015Filebilirlik\\"`,config_screen:`Masa\xFCst\xFCn\xFCz\xFC d\u0131\u015Far\u0131dan kontrol etmek i\xE7in RustDesk'e \\"Ekran Kayd\u0131\\" iznini vermeniz gerekir.`,"Installing ...":"Y\xFCkleniyor ...",Install:"Y\xFCkle",Installation:"Kurulum","Installation Path":"Kurulacak olan konum","Create start menu shortcuts":"Ba\u015Flang\u0131ca k\u0131sayol olu\u015Ftur","Create desktop icon":"Masa\xFCst\xFCne k\u0131sayol olu\u015Ftur",agreement_tip:"Kurulumu ba\u015Flatarak, lisans s\xF6zle\u015Fmesinin \u015Fartlar\u0131n\u0131 kabul etmi\u015F olursunuz.","Accept and Install":"Kabul Et ve Y\xFCkle","End-user license agreement":"Son kullan\u0131c\u0131 lisans anla\u015Fmas\u0131","Generating ...":"Olu\u015Fturuluyor...","Your installation is lower version.":"Kurulumunuz alt s\xFCr\xFCmd\xFCr.",not_close_tcp_tip:"T\xFCneli kullan\u0131rken bu pencereyi kapatmay\u0131n","Listening ...":"Dinleniyor...","Remote Host":"Uzak Sunucu","Remote Port":"Uzak Port",Action:"Eylem",Add:"Ekle","Local Port":"Yerel Port",setup_server_tip:"Daha h\u0131zl\u0131 ba\u011Flant\u0131 i\xE7in kendi sunucunuzu kurun","Too short, at least 6 characters.":"\xC7ok k\u0131sa en az 6 karakter gerekli.","The confirmation is not identical.":"Do\u011Frulama yap\u0131lamad\u0131.",Permissions:"\u0130zinler",Accept:"Kabul Et",Dismiss:"Reddet",Disconnect:"Ba\u011Flan\u0131y\u0131 kes","Allow using keyboard and mouse":"Klavye ve fare kullan\u0131m\u0131na izin ver","Allow using clipboard":"Pano kullan\u0131m\u0131na izin ver","Allow hearing sound":"Sesi duymaya izin ver","Allow file copy and paste":"Dosya kopyalamaya ve yap\u0131\u015Ft\u0131rmaya izin ver",Connected:"Ba\u011Fland\u0131","Direct and encrypted connection":"Do\u011Frudan ve \u015Fifreli ba\u011Flant\u0131","Relayed and encrypted connection":"Aktarmal\u0131 ve \u015Fifreli ba\u011Flant\u0131","Direct and unencrypted connection":"Do\u011Frudan ve \u015Fifrelenmemi\u015F ba\u011Flant\u0131","Relayed and unencrypted connection":"Aktarmal\u0131 ve \u015Fifrelenmemi\u015F ba\u011Flant\u0131","Enter Remote ID":"Uzak ID'yi Girin","Enter your password":"\u015Eifrenizi girin","Logging in...":"Giri\u015F yap\u0131l\u0131yor...","Enable RDP session sharing":"RDP oturum payla\u015F\u0131m\u0131n\u0131 etkinle\u015Ftir","Auto Login":"Otomatik giri\u015F","Enable Direct IP Access":"Do\u011Frudan IP Eri\u015Fimini Etkinle\u015Ftir",Rename:"Yeniden adland\u0131r",Space:"Bo\u015Fluk","Create Desktop Shortcut":"Masa\xFCst\xFC k\u0131sayolu olu\u015Fturun","Change Path":"Yolu de\u011Fi\u015Ftir","Create Folder":"Klas\xF6r olu\u015Fturun","Please enter the folder name":"L\xFCtfen klas\xF6r ad\u0131n\u0131 girin","Fix it":"D\xFCzenle",Warning:"Uyar\u0131","Login screen using Wayland is not supported":"Wayland kullanan giri\u015F ekran\u0131 desteklenmiyor","Reboot required":"Yeniden ba\u015Flatma gerekli","Unsupported display server ":"Desteklenmeyen g\xF6r\xFCnt\xFC sunucusu","x11 expected":"x11 bekleniyor",Port:"Port",Settings:"Ayarlar",Username:"Kullan\u0131c\u0131 Ad\u0131","Invalid port":"Ge\xE7ersiz ba\u011Flant\u0131 noktas\u0131","Closed manually by the peer":"E\u015F taraf\u0131ndan manuel olarak kapat\u0131ld\u0131","Enable remote configuration modification":"Uzaktan yap\u0131land\u0131rma de\u011Fi\u015Fikli\u011Fini etkinle\u015Ftir","Run without install":"Y\xFCklemeden \xE7al\u0131\u015Ft\u0131r","Always connected via relay":"Her zaman r\xF6le ile ba\u011Fl\u0131","Always connect via relay":"Always connect via relay",whitelist_tip:"Bu masa\xFCst\xFCne yaln\u0131zca yetkili IP adresleri ba\u011Flanabilir",Login:"Giri\u015F yap",Logout:"\xC7\u0131k\u0131\u015F yap",Tags:"Etiketler","Search ID":"ID Arama","Current Wayland display server is not supported":"Mevcut Wayland g\xF6r\xFCnt\xFCleme sunucusu desteklenmiyor",whitelist_sep:"Virg\xFCl, noktal\u0131 virg\xFCl, bo\u015Fluk veya yeni sat\u0131r ile ayr\u0131lm\u0131\u015F","Add ID":"ID Ekle","Add Tag":"Etiket Ekle","Unselect all tags":"T\xFCm etiketlerin se\xE7imini kald\u0131r","Network error":"Network error","Username missed":"Kullan\u0131c\u0131 ad\u0131 bo\u015F","Password missed":"\u015Eifre bo\u015F","Wrong credentials":"Yanl\u0131\u015F kimlik bilgileri","Edit Tag":"Etiketi d\xFCzenle","Unremember Password":"\u015Eifreyi Unut",Favorites:"Favoriler","Add to Favorites":"Favorilere ekle","Remove from Favorites":"Favorilerden \xE7\u0131kar",Empty:"Bo\u015F","Invalid folder name":"Ge\xE7ersiz klas\xF6r ad\u0131","Socks5 Proxy":"Socks5 Proxy",Hostname:"Ana bilgisayar ad\u0131",Discovered:"Ke\u015Ffedilenler",install_daemon_tip:"Ba\u015Flang\u0131\xE7ta ba\u015Flamak i\xE7in sistem hizmetini y\xFCklemeniz gerekir.","Remote ID":"Uzak ID",Paste:"Yap\u0131\u015Ft\u0131r","Paste here?":"Buraya yap\u0131\u015Ft\u0131r?","Are you sure to close the connection?":"Ba\u011Flant\u0131y\u0131 kapatmak istedi\u011Finize emin misiniz?","Download new version":"Yeni s\xFCr\xFCm\xFC indir","Touch mode":"Dokunmatik mod","Mouse mode":"Fare modu","One-Finger Tap":"Tek Parmakla Dokunma","Left Mouse":"Sol Fare","One-Long Tap":"Tek-Uzun Dokunma","Two-Finger Tap":"\u0130ki-Parmak Dokunma","Right Mouse":"Sa\u011F Fare","One-Finger Move":"Tek Parmakla Hareket","Double Tap & Move":"\xC7ift Dokun ve Ta\u015F\u0131","Mouse Drag":"Fare S\xFCr\xFCkleme","Three-Finger vertically":"Dikey olarak \xFC\xE7 parmak","Mouse Wheel":"Fare Tekerli\u011Fi","Two-Finger Move":"\u0130ki Parmakla Hareket","Canvas Move":"Tuval Hareketi","Pinch to Zoom":"\u0130ki parmakla yak\u0131nla\u015Ft\u0131r","Canvas Zoom":"Tuval Yak\u0131nla\u015Ft\u0131rma","Reset canvas":"Tuvali s\u0131f\u0131rla","No permission of file transfer":"Dosya aktar\u0131m\u0131 izni yok",Note:"Not",Connection:"Ba\u011Flant\u0131","Share Screen":"Ekran\u0131 Payla\u015F",CLOSE:"KAPAT",OPEN:"A\xC7",Chat:"Mesajla\u015F",Total:"Toplam",items:"\xF6\u011Feler",Selected:"Se\xE7ildi","Screen Capture":"Ekran g\xF6r\xFCnt\xFCs\xFC","Input Control":"Giri\u015F Kontrol\xFC","Audio Capture":"Ses Yakalama","File Connection":"Dosya Ba\u011Flant\u0131s\u0131","Screen Connection":"Ekran Ba\u011Flant\u0131s\u0131","Do you accept?":"Kabul ediyor musun?","Open System Setting":"Sistem Ayar\u0131n\u0131 A\xE7","How to get Android input permission?":"Android giri\u015F izni nas\u0131l al\u0131n\u0131r?",android_input_permission_tip1:`Uzak bir cihaz\u0131n Android cihaz\u0131n\u0131z\u0131 fare veya dokunma yoluyla kontrol edebilmesi i\xE7in, RustDesk'in \\"Eri\u015Filebilirlik\\" \xF6zelli\u011Fini kullanmas\u0131na izin vermelisiniz.`,android_input_permission_tip2:"Sonraki sistem ayarlar\u0131 sayfas\u0131na gidin, [Y\xFCkl\xFC Hizmetler]'i bulun ve eri\u015Fin, [RustDesk Giri\u015Fi] hizmetini etkinle\u015Ftirin.",android_new_connection_tip:"Yeni bir kontrol talebi al\u0131nd\u0131, cihaz\u0131n\u0131z\u0131 kontrol etmesine izin verilsin mi.",android_service_will_start_tip:"Ekran Yakalaman\u0131n etkinle\u015Ftirilmesi, hizmeti otomatik olarak ba\u015Flatacak ve di\u011Fer cihazlar\u0131n bu cihazdan ba\u011Flant\u0131 talep etmesine izin verecektir.",android_stop_service_tip:"Hizmetin kapat\u0131lmas\u0131, kurulan t\xFCm ba\u011Flant\u0131lar\u0131 otomatik olarak kapatacakt\u0131r.",android_version_audio_tip:"Mevcut Android s\xFCr\xFCm\xFC ses yakalamay\u0131 desteklemiyor, l\xFCtfen Android 10 veya sonraki bir s\xFCr\xFCme y\xFCkseltin.",android_start_service_tip:"Ekran payla\u015F\u0131m hizmetini ba\u015Flatmak i\xE7in [Hizmeti Ba\u015Flat] veya A\xC7 [Ekran Yakalama] iznine dokunun.",Account:"Hesap",Overwrite:"\xFCzerine yaz","This file exists, skip or overwrite this file?":"Bu dosya var, bu dosya atlans\u0131n veya \xFCzerine yaz\u0131ls\u0131n m\u0131?",Quit:"\xC7\u0131k\u0131\u015F",doc_mac_permission:"https://rustdesk.com/docs/en/manual/mac/#enable-permissions",Help:"Yard\u0131m",Failed:"Ar\u0131zal\u0131",Succeeded:"ba\u015Far\u0131l\u0131","Someone turns on privacy mode, exit":"Birisi gizlilik modunu a\xE7ar, \xE7\u0131k",Unsupported:"desteklenmiyor","Peer denied":"akran reddedildi","Please install plugins":"L\xFCtfen eklentileri y\xFCkleyin","Peer exit":"akran \xE7\u0131k\u0131\u015F\u0131","Failed to turn off":"kapat\u0131lamad\u0131","Turned off":"Kapal\u0131","In privacy mode":"Gizlilik modunda","Out privacy mode":"Gizlilik modu d\u0131\u015F\u0131nda",Language:""},it:{Status:"Stato","Your Desktop":"Il tuo desktop",desk_tip:"Puoi accedere al tuo desktop usando l'ID e la password riportati qui.",Password:"Password",Ready:"Pronto",Established:"Stabilito",connecting_status:"Connessione alla rete RustDesk in corso...","Enable Service":"Abilita servizio","Start Service":"Avvia servizio","Service is running":"Il servizio \xE8 in esecuzione","Service is not running":"Il servizio non \xE8 in esecuzione",not_ready_status:"Non pronto. Verifica la tua connessione","Control Remote Desktop":"Controlla una scrivania remota","Transfer File":"Trasferisci file",Connect:"Connetti","Recent Sessions":"Sessioni recenti","Address Book":"Rubrica",Confirmation:"Conferma","TCP Tunneling":"Tunnel TCP",Remove:"Rimuovi","Refresh random password":"Nuova password casuale","Set your own password":"Imposta la tua password","Enable Keyboard/Mouse":"Abilita tastiera/mouse","Enable Clipboard":"Abilita appunti","Enable File Transfer":"Abilita trasferimento file","Enable TCP Tunneling":"Abilita tunnel TCP","IP Whitelisting":"IP autorizzati","ID/Relay Server":"Server ID/Relay","Stop service":"Arresta servizio","Change ID":"Cambia ID",Website:"Sito web",About:"Informazioni",Mute:"Silenzia","Audio Input":"Input audio","ID Server":"ID server","Relay Server":"Server relay","API Server":"Server API",invalid_http:"deve iniziare con http:// o https://","Invalid IP":"Indirizzo IP non valido",id_change_tip:"Puoi usare solo i caratteri a-z, A-Z, 0-9 e _ (underscore). Il primo carattere deve essere a-z o A-Z. La lunghezza deve essere fra 6 e 16 caratteri.","Invalid format":"Formato non valido",server_not_support:"Non ancora supportato dal server","Not available":"Non disponibile","Too frequent":"Troppo frequente",Cancel:"Annulla",Skip:"Ignora",Close:"Chiudi",Retry:"Riprova",OK:"OK","Password Required":"Password richiesta","Please enter your password":"Inserisci la tua password","Remember password":"Ricorda password","Wrong Password":"Password errata","Do you want to enter again?":"Vuoi riprovare?","Connection Error":"Errore di connessione",Error:"Errore","Reset by the peer":"Reimpostata dal peer","Connecting...":"Connessione...","Connection in progress. Please wait.":"Connessione in corso. Attendi.","Please try 1 minute later":"Per favore riprova fra 1 minuto","Login Error":"Errore di login",Successful:"Successo","Connected, waiting for image...":"Connesso, in attesa dell'immagine...",Name:"Nome",Type:"Tipo",Modified:"Modificato",Size:"Dimensione","Show Hidden Files":"Mostra file nascosti",Receive:"Ricevi",Send:"Invia","Refresh File":"Aggiorna file",Local:"Locale",Remote:"Remote","Remote Computer":"Computer remoto","Local Computer":"Computer locale","Confirm Delete":"Conferma cancellazione",Delete:"Eliminare",Properties:"Propriet\xE0","Multi Select":"Selezione multipla","Empty Directory":"Directory vuota","Not an empty directory":"Non una directory vuota","Are you sure you want to delete this file?":"Vuoi davvero eliminare questo file?","Are you sure you want to delete this empty directory?":"Sei sicuro di voler eliminare questa directory vuota?","Are you sure you want to delete the file of this directory?":"Sei sicuro di voler eliminare il file di questa directory?","Do this for all conflicts":"Ricorca questa scelta per tutti i conflitti","This is irreversible!":"Questo \xE8 irreversibile!",Deleting:"Cancellazione di",files:"file",Waiting:"In attesa",Finished:"Terminato",Speed:"Velocit\xE0","Custom Image Quality":"Qualit\xE0 immagine personalizzata","Privacy mode":"Modalit\xE0 privacy","Block user input":"Blocca l'input dell'utente","Unblock user input":"Sbloccare l'input dell'utente","Adjust Window":"Adatta la finestra",Original:"Originale",Shrink:"Restringi",Stretch:"Allarga","Good image quality":"Buona qualit\xE0 immagine",Balanced:"Bilanciato","Optimize reaction time":"Ottimizza il tempo di reazione",Custom:"Personalizzato","Show remote cursor":"Mostra il cursore remoto","Disable clipboard":"Disabilita appunti","Lock after session end":"Blocca al termine della sessione",Insert:"Inserisci","Insert Lock":"Blocco inserimento",Refresh:"Aggiorna","ID does not exist":"L'ID non esiste","Failed to connect to rendezvous server":"Errore di connessione al server rendezvous","Please try later":"Riprova pi\xF9 tardi","Remote desktop is offline":"Il desktop remoto \xE8 offline","Key mismatch":"La chiave non corrisponde",Timeout:"Timeout","Failed to connect to relay server":"Errore di connessione al server relay","Failed to connect via rendezvous server":"Errore di connessione tramite il server rendezvous","Failed to connect via relay server":"Errore di connessione tramite il server relay","Failed to make direct connection to remote desktop":"Impossibile connettersi direttamente al desktop remoto","Set Password":"Imposta password","OS Password":"Password del sistema operativo",install_tip:"A causa del Controllo Account Utente, RustDesk potrebbe non funzionare correttamente come desktop remoto. Per evitare questo problema, fai click sul tasto qui sotto per installare RustDesk a livello di sistema.","Click to upgrade":"Fai click per aggiornare","Click to download":"Cliquez per scaricare","Click to update":"Fare clic per aggiornare",Configure:"Configura",config_acc:`Per controllare il tuo desktop dall'esterno, devi fornire a RustDesk il permesso \\"Accessibilit\xE0\\".`,config_screen:`Per controllare il tuo desktop dall'esterno, devi fornire a RustDesk il permesso \\"Registrazione schermo\\".`,"Installing ...":"Installazione ...",Install:"Installa",Installation:"Installazione","Installation Path":"Percorso di installazione","Create start menu shortcuts":"Crea i collegamenti nel menu di avvio","Create desktop icon":"Crea un'icona sul desktop",agreement_tip:"Avviando l'installazione, accetti i termini del contratto di licenza.","Accept and Install":"Accetta e installa","End-user license agreement":"Contratto di licenza con l'utente finale","Generating ...":"Generazione ...","Your installation is lower version.":"La tua installazione non \xE8 aggiornata.",not_close_tcp_tip:"Non chiudere questa finestra mentre stai usando il tunnel","Listening ...":"In ascolto ...","Remote Host":"Host remoto","Remote Port":"Porta remota",Action:"Azione",Add:"Aggiungi","Local Port":"Porta locale",setup_server_tip:"Per una connessione pi\xF9 veloce, configura un tuo server","Too short, at least 6 characters.":"Troppo breve, almeno 6 caratteri","The confirmation is not identical.":"La conferma non corrisponde",Permissions:"Permessi",Accept:"Accetta",Dismiss:"Rifiuta",Disconnect:"Disconnetti","Allow using keyboard and mouse":"Consenti l'uso di tastiera e mouse","Allow using clipboard":"Consenti l'uso degli appunti","Allow hearing sound":"Consenti la riproduzione dell'audio","Allow file copy and paste":"Consenti copia e incolla di file",Connected:"Connesso","Direct and encrypted connection":"Connessione diretta e cifrata","Relayed and encrypted connection":"Connessione tramite relay e cifrata","Direct and unencrypted connection":"Connessione diretta e non cifrata","Relayed and unencrypted connection":"Connessione tramite relay e non cifrata","Enter Remote ID":"Inserisci l'ID remoto","Enter your password":"Inserisci la tua password","Logging in...":"Autenticazione...","Enable RDP session sharing":"Abilita la condivisione della sessione RDP","Auto Login":"Login automatico","Enable Direct IP Access":"Abilita l'accesso diretto tramite IP",Rename:"Rinomina",Space:"Spazio","Create Desktop Shortcut":"Crea collegamento sul desktop","Change Path":"Cambia percorso","Create Folder":"Crea cartella","Please enter the folder name":"Inserisci il nome della cartella","Fix it":"Risolvi",Warning:"Avviso","Login screen using Wayland is not supported":"La schermata di login non \xE8 supportata utilizzando Wayland","Reboot required":"Riavvio necessario","Unsupported display server ":"Display server non supportato","x11 expected":"x11 necessario",Port:"Porta",Settings:"Impostazioni",Username:" Nome utente","Invalid port":"Porta non valida","Closed manually by the peer":"Chiuso manualmente dal peer","Enable remote configuration modification":"Abilita la modifica remota della configurazione","Run without install":"Avvia senza installare","Always connected via relay":"Connesso sempre tramite relay","Always connect via relay":"Connetti sempre tramite relay",whitelist_tip:"Solo gli indirizzi IP autorizzati possono connettersi a questo desktop",Login:"Accedi",Logout:"Esci",Tags:"Tag","Search ID":"Cerca ID","Current Wayland display server is not supported":"Questo display server Wayland non \xE8 supportato",whitelist_sep:"Separati da virgola, punto e virgola, spazio o a capo","Add ID":"Aggiungi ID","Add Tag":"Aggiungi tag","Unselect all tags":"Deseleziona tutti i tag","Network error":"Errore di rete","Username missed":"Nome utente dimenticato","Password missed":"Password dimenticata","Wrong credentials":"Credenziali errate","Edit Tag":"Modifica tag","Unremember Password":"Dimentica password",Favorites:"Preferiti","Add to Favorites":"Aggiungi ai preferiti","Remove from Favorites":"Rimuovi dai preferiti",Empty:"Vuoto","Invalid folder name":"Nome della cartella non valido","Socks5 Proxy":"Proxy Socks5",Hostname:"Nome host",Discovered:"Rilevati",install_daemon_tip:"Per avviarsi all'accensione, \xE8 necessario installare il servizio di sistema.","Remote ID":"ID remoto",Paste:"Impasto","Paste here?":"Incolla qui?","Are you sure to close the connection?":"Sei sicuro di voler chiudere la connessione?","Download new version":"Scarica nuova versione","Touch mode":"Modalit\xE0 tocco","Mouse mode":"Modalit\xE0 mouse","One-Finger Tap":"Tocca con un dito","Left Mouse":"Mouse sinistro","One-Long Tap":"Tocco lungo con un dito","Two-Finger Tap":"Tocca con due dita","Right Mouse":"Mouse destro","One-Finger Move":"Movimento con un dito","Double Tap & Move":"Tocca due volte e sposta","Mouse Drag":"Trascina il mouse","Three-Finger vertically":"Tre dita in verticale","Mouse Wheel":"Rotellina del mouse","Two-Finger Move":"Movimento con due dita","Canvas Move":"Sposta tela","Pinch to Zoom":"Pizzica per zoomare","Canvas Zoom":"Zoom tela","Reset canvas":"Ripristina tela","No permission of file transfer":"Nessun permesso di trasferimento di file",Note:"Nota",Connection:"Connessione","Share Screen":"Condividi schermo",CLOSE:"CHIUDERE",OPEN:"APRIRE",Chat:"Chat",Total:"Totale",items:"Oggetti",Selected:"Selezionato","Screen Capture":"Cattura schermo","Input Control":"Controllo di input","Audio Capture":"Acquisizione audio","File Connection":"Connessione file","Screen Connection":"Connessione schermo","Do you accept?":"Accetti?","Open System Setting":"Apri impostazioni di sistema","How to get Android input permission?":"Come ottenere l'autorizzazione di input su Android?",android_input_permission_tip1:'Affinch\xE9 un dispositivo remoto possa controllare il tuo dispositivo Android tramite mouse o tocco, devi consentire a RustDesk di utilizzare il servizio \\"Accessibilit\xE0\\".',android_input_permission_tip2:"Vai alla pagina delle impostazioni di sistema che si aprir\xE0 di seguito, trova e accedi a [Servizi installati], attiva il servizio [RustDesk Input].",android_new_connection_tip:"\xC8 stata ricevuta una nuova richiesta di controllo per il dispositivo corrente.",android_service_will_start_tip:"L'attivazione di Cattura schermo avvier\xE0 automaticamente il servizio, consentendo ad altri dispositivi di richiedere una connessione da questo dispositivo.",android_stop_service_tip:"La chiusura del servizio chiuder\xE0 automaticamente tutte le connessioni stabilite.",android_version_audio_tip:"L'attuale versione di Android non supporta l'acquisizione audio, esegui l'upgrade ad Android 10 o versioni successive.",android_start_service_tip:"Toccare [Avvia servizio] o APRI l'autorizzazione [Cattura schermo] per avviare il servizio di condivisione dello schermo.",Account:"Account",Overwrite:"Sovrascrivi","This file exists, skip or overwrite this file?":"Questo file esiste, saltare o sovrascrivere questo file?",Quit:"Esci",doc_mac_permission:"https://rustdesk.com/docs/en/manual/mac/#enable-permissions",Help:"Aiuto",Failed:"Fallito",Succeeded:"Successo","Someone turns on privacy mode, exit":"Qualcuno attiva la modalit\xE0 privacy, esci",Unsupported:"Non supportato","Peer denied":"Pari negato","Please install plugins":"Si prega di installare i plugin","Peer exit":"Uscita tra pari","Failed to turn off":"Impossibile spegnere","Turned off":"Spegni","In privacy mode":"In modalit\xE0 privacy","Out privacy mode":"Fuori modalit\xE0 privacy",Language:"Linguaggio"},fr:{Status:"Statut","Your Desktop":"Votre bureau",desk_tip:"Votre bureau est accessible via l'identifiant et le mot de passe ci-dessous.",Password:"Mot de passe",Ready:"Pr\xEAt",Established:"\xC9tabli",connecting_status:"Connexion au r\xE9seau RustDesk...","Enable Service":"Autoriser le service","Start Service":"D\xE9marrer le service","Service is running":"Le service est en cours d'ex\xE9cution","Service is not running":"Le service ne fonctionne pas",not_ready_status:"Pas pr\xEAt, veuillez v\xE9rifier la connexion r\xE9seau","Control Remote Desktop":"Contr\xF4ler le bureau \xE0 distance","Transfer File":"Transf\xE9rer le fichier",Connect:"Connecter","Recent Sessions":"Sessions r\xE9centes","Address Book":"Carnet d'adresses",Confirmation:"Confirmation","TCP Tunneling":"Tunneling TCP",Remove:"Supprimer","Refresh random password":"Actualiser le mot de passe al\xE9atoire","Set your own password":"D\xE9finir votre propre mot de passe","Enable Keyboard/Mouse":"Activer le contr\xF4le clavier/souris","Enable Clipboard":"Activer la synchronisation du presse-papier","Enable File Transfer":"Activer le transfert de fichiers","Enable TCP Tunneling":"Activer le tunneling TCP","IP Whitelisting":"Liste blanche IP","ID/Relay Server":"ID/Serveur Relais","Stop service":"Arr\xEAter le service","Change ID":"Changer d'ID",Website:"Site Web",About:"\xC0 propos de",Mute:"Muet","Audio Input":"Entr\xE9e audio","ID Server":"Serveur ID","Relay Server":"Serveur relais","API Server":"Serveur API",invalid_http:"Doit commencer par http:// ou https://","Invalid IP":"IP invalide",id_change_tip:"Seules les lettres a-z, A-Z, 0-9, _ (trait de soulignement) peuvent \xEAtre utilis\xE9es. La premi\xE8re lettre doit \xEAtre a-z, A-Z. La longueur doit \xEAtre comprise entre 6 et 16.","Invalid format":"Format invalide",server_not_support:"Pas encore support\xE9 par le serveur","Not available":"Indisponible","Too frequent":"Modifi\xE9 trop fr\xE9quemment, veuillez r\xE9essayer plus tard",Cancel:"Annuler",Skip:"Ignorer",Close:"Fermer",Retry:"R\xE9essayer",OK:"Confirmer","Password Required":"Mot de passe requis","Please enter your password":"Veuillez saisir votre mot de passe","Remember password":"M\xE9moriser le mot de passe","Wrong Password":"Mauvais mot de passe","Do you want to enter again?":"Voulez-vous participer \xE0 nouveau ?","Connection Error":"Erreur de connexion",Error:"Erreur","Reset by the peer":"La connexion a \xE9t\xE9 ferm\xE9e par le pair","Connecting...":"Connexion...","Connection in progress. Please wait.":"Connexion en cours. Veuillez patienter.","Please try 1 minute later":"R\xE9essayez dans une minute","Login Error":"Erreur de connexion",Successful:"Succ\xE8s","Connected, waiting for image...":"Connect\xE9, en attente de transmission d'image...",Name:"Nom",Type:"Taper",Modified:"Modifi\xE9",Size:"Taille","Show Hidden Files":"Afficher les fichiers cach\xE9s",Receive:"Accepter",Send:"Envoyer","Refresh File":"Actualiser le fichier",Local:"Local",Remote:"Distant","Remote Computer":"Ordinateur distant","Local Computer":"Ordinateur local","Confirm Delete":"Confirmer la suppression",Delete:"Supprimer",Properties:"Propri\xE9t\xE9s","Multi Select":"Choix multiple","Empty Directory":"R\xE9pertoire vide","Not an empty directory":"Pas un r\xE9pertoire vide","Are you sure you want to delete this file?":"Voulez-vous vraiment supprimer ce fichier?","Are you sure you want to delete this empty directory?":"Voulez-vous vraiment supprimer ce r\xE9pertoire vide\xA0?","Are you sure you want to delete the file of this directory?":"Voulez-vous vraiment supprimer le fichier de ce r\xE9pertoire\xA0?","Do this for all conflicts":"Appliquer \xE0 d'autres conflits","This is irreversible!":"C'est irr\xE9versible !",Deleting:"Suppression",files:"fichier",Waiting:"En attente...",Finished:"Termin\xE9",Speed:"Vitesse","Custom Image Quality":"D\xE9finir la qualit\xE9 d'image","Privacy mode":"Mode priv\xE9","Block user input":"Bloquer la saisie de l'utilisateur","Unblock user input":"D\xE9bloquer l'entr\xE9e de l'utilisateur","Adjust Window":"Ajuster la fen\xEAtre",Original:"Ratio d'origine",Shrink:"R\xE9tr\xE9cir",Stretch:"\xC9tirer","Good image quality":"Bonne qualit\xE9 d'image",Balanced:"Qualit\xE9 d'image normale","Optimize reaction time":"Optimiser le temps de r\xE9action",Custom:"Qualit\xE9 d'image personnalis\xE9e","Show remote cursor":"Afficher le curseur distant","Disable clipboard":"D\xE9sactiver le presse-papier","Lock after session end":"Verrouiller l'ordinateur distant apr\xE8s la d\xE9connexion",Insert:"Ins\xE9rer","Insert Lock":"Verrouiller l'ordinateur distant",Refresh:"Rafra\xEEchir l'\xE9cran","ID does not exist":"L'ID n'existe pas","Failed to connect to rendezvous server":"\xC9chec de la connexion au serveur rendezvous","Please try later":"Veuillez essayer plus tard","Remote desktop is offline":"Le bureau \xE0 distance est hors ligne","Key mismatch":"Discordance de cl\xE9s",Timeout:"Connexion expir\xE9e","Failed to connect to relay server":"\xC9chec de la connexion au serveur relais","Failed to connect via rendezvous server":"\xC9chec de l'\xE9tablissement d'une connexion via le serveur rendezvous","Failed to connect via relay server":"Impossible d'\xE9tablir une connexion via le serveur relais","Failed to make direct connection to remote desktop":"Impossible d'\xE9tablir une connexion directe","Set Password":"D\xE9finir le mot de passe","OS Password":"Mot de passe du syst\xE8me d'exploitation",install_tip:"Vous utilisez une version non install\xE9e. En raison des restrictions UAC, en tant que terminal contr\xF4l\xE9, dans certains cas, il ne sera pas en mesure de contr\xF4ler la souris et le clavier ou d'enregistrer l'\xE9cran. Veuillez cliquer sur le bouton ci-dessous pour installer RustDesk au syst\xE8me pour \xE9viter la question ci-dessus.","Click to upgrade":"Cliquez pour mettre \xE0 niveau","Click to download":"Cliquez pour t\xE9l\xE9charger","Click to update":"Cliquez pour mettre \xE0 jour",Configure:"Configurer",config_acc:`Afin de pouvoir contr\xF4ler votre bureau \xE0 distance, veuillez donner l'autorisation \\"accessibilit\xE9\\" \xE0 RustDesk.`,config_screen:`Afin de pouvoir acc\xE9der \xE0 votre bureau \xE0 distance, veuillez donner \xE0 RustDesk l'autorisation \\"enregistrement d'\xE9cran\\".`,"Installing ...":"Installation...",Install:"Installer",Installation:"Installation","Installation Path":"Chemin d'installation","Create start menu shortcuts":"Cr\xE9er des raccourcis dans le menu d\xE9marrer","Create desktop icon":"Cr\xE9er une ic\xF4ne sur le bureau",agreement_tip:"D\xE9marrer l'installation signifie accepter le contrat de licence.","Accept and Install":"Accepter et installer","End-user license agreement":"Contrat d'utilisateur","Generating ...":"G\xE9n\xE9ration...","Your installation is lower version.":"La version que vous avez install\xE9e est inf\xE9rieure \xE0 la version en cours d'ex\xE9cution.",not_close_tcp_tip:"Veuillez ne pas fermer cette fen\xEAtre lors de l'utilisation du tunnel","Listening ...":"En attente de connexion tunnel...","Remote Host":"H\xF4te distant","Remote Port":"Port distant",Action:"Action",Add:"Ajouter","Local Port":"Port local",setup_server_tip:"Si vous avez besoin d'une vitesse de connexion plus rapide, vous pouvez choisir de cr\xE9er votre propre serveur","Too short, at least 6 characters.":"Trop court, au moins 6 caract\xE8res.","The confirmation is not identical.":"Les deux entr\xE9es ne correspondent pas",Permissions:"Autorisations",Accept:"Accepter",Dismiss:"Rejeter",Disconnect:"D\xE9connecter","Allow using keyboard and mouse":"Autoriser l'utilisation du clavier et de la souris","Allow using clipboard":"Autoriser l'utilisation du presse-papier","Allow hearing sound":"Autoriser l'audition du son","Allow file copy and paste":"Autoriser le copier-coller de fichiers",Connected:"Connect\xE9","Direct and encrypted connection":"Connexion directe chiffr\xE9e","Relayed and encrypted connection":"Connexion relais chiffr\xE9e","Direct and unencrypted connection":"Connexion directe non chiffr\xE9e","Relayed and unencrypted connection":"Connexion relais non chiffr\xE9e","Enter Remote ID":"Entrez l'ID de l'appareil \xE0 distance","Enter your password":"Entrez votre mot de passe","Logging in...":"Se connecter...","Enable RDP session sharing":"Activer le partage de session RDP","Auto Login":"Connexion automatique (le verrouillage ne sera effectif qu'apr\xE8s la d\xE9sactivation du premier param\xE8tre)","Enable Direct IP Access":"Autoriser l'acc\xE8s direct par IP",Rename:"Renommer",Space:"Espace","Create Desktop Shortcut":"Cr\xE9er un raccourci sur le bureau","Change Path":"Changer de chemin","Create Folder":"Cr\xE9er un dossier","Please enter the folder name":"Veuillez saisir le nom du dossier","Fix it":"R\xE9parez-le",Warning:"Avertissement","Login screen using Wayland is not supported":"L'\xE9cran de connexion utilisant Wayland n'est pas pris en charge","Reboot required":"Red\xE9marrage pour prendre effet","Unsupported display server ":"Le serveur d'affichage actuel n'est pas pris en charge","x11 expected":"Veuillez passer \xE0 x11",Port:"Port",Settings:"Param\xE8tres",Username:" Nom d'utilisateur","Invalid port":"Port invalide","Closed manually by the peer":"Ferm\xE9 manuellement par le pair","Enable remote configuration modification":"Autoriser la modification de la configuration \xE0 distance","Run without install":"Ex\xE9cuter sans installer","Always connected via relay":"Forcer la connexion relais","Always connect via relay":"Forcer la connexion relais",whitelist_tip:"Seul l'IP dans la liste blanche peut acc\xE9der \xE0 mon appareil",Login:"Connexion",Logout:"D\xE9connexion",Tags:"\xC9tiqueter","Search ID":"Rechercher un ID","Current Wayland display server is not supported":"Le serveur d'affichage Wayland n'est pas pris en charge",whitelist_sep:"Vous pouvez utiliser une virgule, un point-virgule, un espace ou une nouvelle ligne comme s\xE9parateur","Add ID":"Ajouter un ID","Add Tag":"Ajouter une balise","Unselect all tags":"D\xE9s\xE9lectionner toutes les balises","Network error":"Erreur r\xE9seau","Username missed":"Nom d'utilisateur manqu\xE9","Password missed":"Mot de passe manqu\xE9","Wrong credentials":"Identifiant ou mot de passe erron\xE9","Edit Tag":"Modifier la balise","Unremember Password":"Mot de passe oubli\xE9",Favorites:"Favoris","Add to Favorites":"Ajouter aux Favoris","Remove from Favorites":"Retirer des favoris",Empty:"Vide","Invalid folder name":"Nom de dossier invalide","Socks5 Proxy":"Socks5 Agents",Hostname:"Nom d'h\xF4te",Discovered:"D\xE9couvert",install_daemon_tip:"Pour d\xE9marrer au d\xE9marrage, vous devez installer le service syst\xE8me.","Remote ID":"ID de l'appareil \xE0 distance",Paste:"Coller","Paste here?":"Coller ici\xA0?","Are you sure to close the connection?":"\xCAtes-vous s\xFBr de fermer la connexion?","Download new version":"T\xE9l\xE9charger la nouvelle version","Touch mode":"Mode tactile","Mouse mode":"Mode souris","One-Finger Tap":"Tapez d'un doigt","Left Mouse":"Souris gauche","One-Long Tap":"Un long robinet","Two-Finger Tap":"Tapez \xE0 deux doigts","Right Mouse":"Bouton droit de la souris","One-Finger Move":"Mouvement \xE0 un doigt","Double Tap & Move":"Appuyez deux fois et d\xE9placez","Mouse Drag":"Glissement de la souris","Three-Finger vertically":"Trois doigts verticalement","Mouse Wheel":"Roulette de la souris","Two-Finger Move":"Mouvement \xE0 deux doigts","Canvas Move":"D\xE9placement de la toile","Pinch to Zoom":"Pincer pour zoomer","Canvas Zoom":"Zoom sur la toile","Reset canvas":"R\xE9initialiser le canevas","No permission of file transfer":"Aucune autorisation de transfert de fichiers",Note:"Noter",Connection:"Connexion","Share Screen":"Partager l'\xE9cran",CLOSE:"FERMER",OPEN:"OUVRIR",Chat:"Discuter",Total:"Total",items:"\xE9l\xE9ments",Selected:"Choisi","Screen Capture":"Capture d'\xE9cran","Input Control":"Contr\xF4le de saisie","Audio Capture":"Capture audio","File Connection":"Connexion de fichier","Screen Connection":"Connexion de l'\xE9cran","Do you accept?":"Accepter vous ?","Open System Setting":"Ouvrir les param\xE8tres syst\xE8me","How to get Android input permission?":"Comment obtenir l'autorisation d'entr\xE9e Android\xA0?",android_input_permission_tip1:`Pour qu'un appareil distant puisse contr\xF4ler votre appareil Android via la souris ou le toucher, vous devez autoriser RustDesk \xE0 utiliser le service \\"Accessibilit\xE9\\".`,android_input_permission_tip2:"Veuillez acc\xE9der \xE0 la page suivante des param\xE8tres syst\xE8me, recherchez et entrez [Services install\xE9s], activez le service [RustDesk Input].",android_new_connection_tip:"Une nouvelle demande de contr\xF4le a \xE9t\xE9 re\xE7ue, elle souhaite contr\xF4ler votre appareil actuel.",android_service_will_start_tip:"L'activation de la capture d'\xE9cran d\xE9marrera automatiquement le service, permettant \xE0 d'autres appareils de demander une connexion \xE0 partir de cet appareil.",android_stop_service_tip:"La fermeture du service fermera automatiquement toutes les connexions \xE9tablies.",android_version_audio_tip:"La version actuelle d'Android ne prend pas en charge la capture audio, veuillez passer \xE0 Android 10 ou sup\xE9rieur.",android_start_service_tip:"Appuyez sur [D\xE9marrer le service] ou sur l'autorisation OUVRIR [Capture d'\xE9cran] pour d\xE9marrer le service de partage d'\xE9cran.",Account:"Compte",Overwrite:"\xC9craser","This file exists, skip or overwrite this file?":"Ce fichier existe, ignorer ou \xE9craser ce fichier\xA0?",Quit:"Quitter",doc_mac_permission:"https://rustdesk.com/docs/en/manual/mac/#enable-permissions",Help:"Aider",Failed:"\xE9chouer",Succeeded:"Succ\xE8s","Someone turns on privacy mode, exit":"Quelqu'un active le mode de confidentialit\xE9, quittez",Unsupported:"Non pris en charge","Peer denied":"Pair refus\xE9","Please install plugins":"Veuillez installer les plugins","Peer exit":"Sortie des pairs","Failed to turn off":"\xC9chec de la d\xE9sactivation","Turned off":"\xC9teindre","In privacy mode":"en mode priv\xE9","Out privacy mode":"hors mode de confidentialit\xE9",Language:"Langue"},en:{desk_tip:"Your desktop can be accessed with this ID and password.",connecting_status:"Connecting to the RustDesk network...",not_ready_status:"Not ready. Please check your connection",id_change_tip:"Only a-z, A-Z, 0-9 and _ (underscore) characters allowed. The first letter must be a-z, A-Z. Length between 6 and 16.",install_tip:"Due to UAC, RustDesk might encounter problems under special cases if working in Portable Mode.",config_acc:'In order to control your Desktop remotely, you need to grant RustDesk \\"Accessibility\\" permissions.',config_screen:'In order to access your Desktop remotely, you need to grant RustDesk \\"Screen Recording\\" permissions.',agreement_tip:"By starting the installation, you accept the license agreement.",not_close_tcp_tip:"Don't close this window while you are using the tunnel",setup_server_tip:"For faster connection, please set up your own server","Auto Login":'Auto Login (Only valid if you set \\"Lock after session end\\")',whitelist_tip:"Only whitelisted IP can access me",whitelist_sep:"Seperated by comma, semicolon, spaces or new line","Wrong credentials":"Wrong username or password",invalid_http:"must start with http:// or https://",install_daemon_tip:"For starting on boot, you need to install system service.",android_input_permission_tip1:'In order for a remote device to control your Android device via mouse or touch, you need to allow RustDesk to use the \\"Accessibility\\" service.',android_input_permission_tip2:"Please go to the next system settings page, find and enter [Installed Services], turn on [RustDesk Input] service.",android_new_connection_tip:"New control request has been received, which wants to control your current device.",android_service_will_start_tip:'Turning on \\"Screen Capture\\" will automatically start the service, allowing other devices to request a connection to your device.',android_stop_service_tip:"Closing the service will automatically close all established connections.",android_version_audio_tip:"The current Android version does not support audio capture, please upgrade to Android 10 or higher.",android_start_service_tip:"Tap [Start Service] or OPEN [Screen Capture] permission to start the screen sharing service.",doc_mac_permission:"https://rustdesk.com/docs/en/manual/mac/#enable-permissions",doc_fix_wayland:"https://rustdesk.com/docs/en/manual/linux/#x11-required",server_not_support:"Not yet supported by the server"},eo:{Status:"Stato","Your Desktop":"Via aparato",desk_tip:"Via aparato povas esti alirita kun tiu identigilo kaj pasvorto",Password:"Pasvorto",Ready:"Preta",Established:"",connecting_status:"Konektante al la reto RustDesk...","Enable Service":"Ebligi servon","Start Service":"Starti servon","Service is running":"","Service is not running":"La servo ne funkcias",not_ready_status:"Ne preta, bonvolu kontroli la retkonekto","Control Remote Desktop":"Kontroli foran aparaton","Transfer File":"Transigi dosieron",Connect:"Konekti al","Recent Sessions":"Lastaj sesioj","Address Book":"Adresaro",Confirmation:"Konfirmacio","TCP Tunneling":"Tunelado TCP",Remove:"Forigi","Refresh random password":"Regeneri hazardan pasvorton","Set your own password":"Agordi vian propran pasvorton","Enable Keyboard/Mouse":"Ebligi klavaro/muso","Enable Clipboard":"Sinkronigi po\u015Don","Enable File Transfer":"Ebligi dosiertransigado","Enable TCP Tunneling":"Ebligi tunelado TCP","IP Whitelisting":"Listo de IP akceptataj","ID/Relay Server":"Identigila/Relajsa servilo","Stop service":"Haltu servon","Change ID":"\u015Can\u011Di identigilon",Website:"Retejo",About:"Pri",Mute:"Muta","Audio Input":"A\u016Ddia enigo","ID Server":"Servilo de identigiloj","Relay Server":"Relajsa servilo","API Server":"Servilo de API",invalid_http:"Devas komenci kun http:// a\u016D https://","Invalid IP":"IP nevalida",id_change_tip:"Nur la signoj a-z, A-Z, 0-9, _ (substreko) povas esti uzataj. La unua litero povas esti inter a-z, A-Z. La longeco devas esti inter 6 kaj 16.","Invalid format":"Formato nevalida",server_not_support:"Ankora\u016D ne subtenata de la servilo","Not available":"Nedisponebla","Too frequent":"Tro ofte \u015Dan\u011Dita, bonvolu reprovi poste",Cancel:"Nuligi",Skip:"Ignori",Close:"Fermi",Retry:"Reprovi",OK:"Konfermi","Password Required":"Pasvorto deviga","Please enter your password":"Bonvolu tajpi vian pasvorton","Remember password":"Memori pasvorton","Wrong Password":"Erara pasvorto","Do you want to enter again?":"\u0108u vi aliri denove?","Connection Error":"Eraro de konektado",Error:"Eraro","Reset by the peer":"La konekto estas fermita de la samtavolano","Connecting...":"Konektante...","Connection in progress. Please wait.":"Konektado farata. Bonvolu atendi.","Please try 1 minute later":"Reprovi post 1 minuto","Login Error":"Eraro de konektado",Successful:"Sukceso","Connected, waiting for image...":"Konektita, atendante bildon...",Name:"Nomo",Type:"",Modified:"Modifita",Size:"Grandeco","Show Hidden Files":"Montri ka\u015Ditajn dosierojn",Receive:"Akcepti",Send:"Sendi","Refresh File":"",Local:"",Remote:"","Remote Computer":"Fora komputilo","Local Computer":"Loka komputilo","Confirm Delete":"Konfermi la forigo",Delete:"",Properties:"","Multi Select":"","Empty Directory":"","Not an empty directory":"","Are you sure you want to delete this file?":"\u0108u vi vere volas forigi tiun dosieron?","Are you sure you want to delete this empty directory?":"","Are you sure you want to delete the file of this directory?":"","Do this for all conflicts":"Same por \u0109iuj konfliktoj","This is irreversible!":"",Deleting:"Forigado",files:"dosiero",Waiting:"Atendante...",Finished:"Finita",Speed:"","Custom Image Quality":"Agordi bildan kvaliton","Privacy mode":"Modo privata","Block user input":"Bloki uzanta enigo","Unblock user input":"Malbloki uzanta enigo","Adjust Window":"Adapti fenestro",Original:"Originala rilatumo",Shrink:"\u015Crumpi",Stretch:"Stre\u0109i","Good image quality":"Bona bilda kvalito",Balanced:"Normala bilda kvalito","Optimize reaction time":"Optimigi reakcia tempo",Custom:"Personigi bilda kvalito","Show remote cursor":"Montri foran kursoron","Disable clipboard":"Malebligi po\u015Don","Lock after session end":"\u015Closi foran komputilon post malkonektado",Insert:"Enmeti","Insert Lock":"\u015Closi foran komputilon",Refresh:"Refre\u015Digi ekranon","ID does not exist":"La identigilo ne ekzistas","Failed to connect to rendezvous server":"Malsukcesis konekti al la servilo rendezvous","Please try later":"Bonvolu provi poste","Remote desktop is offline":"La fora aparato estas senkonektita","Key mismatch":"Miskongruo de klavoj",Timeout:"Konekta posttempo","Failed to connect to relay server":"Malsukcesis konekti al la relajsa servilo","Failed to connect via rendezvous server":"Malsukcesis konekti per servilo rendezvous","Failed to connect via relay server":"Malsukcesis konekti per relajsa servilo","Failed to make direct connection to remote desktop":"Malsukcesis konekti direkte","Set Password":"Agordi pasvorton","OS Password":"Pasvorto de la operaciumo",install_tip:"Vi ne uzas instalita versio. Pro limigoj pro UAC, kiel aparato kontrolata, en kelkaj kazoj, ne estos ebla kontroli la muson kaj klavaron a\u016D registri la ekranon. Bonvolu alkliku la butonon malsupre por instali RustDesk sur la operaciumo por eviti la demando supre.","Click to upgrade":"Alklaki por plibonigi","Click to download":"Alklaki por el\u015Duti","Click to update":"Alklaki por \u011Disdatigi",Configure:"Konfiguri",config_acc:'Por uzi vian foran aparaton, bonvolu doni la permeson \\"alirebleco\\" al RustDesk.',config_screen:'Por uzi vian foran aparaton, bonvolu doni la permeson \\"ekranregistrado\\" al RustDesk.',"Installing ...":"Instalante...",Install:"Instali",Installation:"Instalado","Installation Path":"Vojo de instalo","Create start menu shortcuts":"Aldoni ligilojn sur la startmenuo","Create desktop icon":"Aldoni ligilojn sur la labortablo",agreement_tip:"Starti la instaladon signifas akcepti la permesilon.","Accept and Install":"Akcepti kaj instali","End-user license agreement":"Uzanta permesilon","Generating ...":"Generante...","Your installation is lower version.":"Via versio de instala\u0135o estas pli malalta ol la lasta.",not_close_tcp_tip:"Bonvolu ne fermu tiun fenestron dum la uzo de la tunelo","Listening ...":"Atendante konekton al la tunelo...","Remote Host":"Fora gastiganto","Remote Port":"Fora pordo",Action:"Ago",Add:"Aldoni","Local Port":"Loka pordo",setup_server_tip:"Se vi bezonas pli rapida konekcio, vi povas krei vian propran servilon","Too short, at least 6 characters.":"Tro mallonga, almena\u016D 6 signoj.","The confirmation is not identical.":"Amba\u016D enigoj ne kongruas",Permissions:"Permesoj",Accept:"Akcepti",Dismiss:"Malakcepti",Disconnect:"Malkonekti","Allow using keyboard and mouse":"Permesi la uzon de la klavaro kaj muso","Allow using clipboard":"Permesi la uzon de la po\u015Do","Allow hearing sound":"Permesi la uzon de la sono","Allow file copy and paste":"Permesu kopii kaj alglui dosierojn",Connected:"Konektata","Direct and encrypted connection":"Konekcio direkta \u0109ifrata","Relayed and encrypted connection":"Konekcio relajsa \u0109ifrata","Direct and unencrypted connection":"Konekcio direkta ne\u0109ifrata","Relayed and unencrypted connection":"Konekcio relajsa ne\u0109ifrata","Enter Remote ID":"Tajpu foran identigilon","Enter your password":"Tajpu vian pasvorton","Logging in...":"Konektante...","Enable RDP session sharing":"Ebligi la kundivido de sesio RDP","Auto Login":"A\u016Dtomata konektado (la \u015Dloso nur estos ebligita post la malebligado de la unua parametro)","Enable Direct IP Access":"Permesi direkta eniro per IP",Rename:"Renomi",Space:"Spaco","Create Desktop Shortcut":"Krei ligilon sur la labortablon","Change Path":"\u015Can\u011Di vojon","Create Folder":"Krei dosierujon","Please enter the folder name":"Bonvolu enigi la dosiernomon","Fix it":"Riparu \u011Din",Warning:"Averto","Login screen using Wayland is not supported":"Konektajn ekranojn uzantajn Wayland ne estas subtenitaj","Reboot required":"Restarto deviga","Unsupported display server ":"La aktuala bilda servilo ne estas subtenita","x11 expected":"Bonvolu uzi x11",Port:"Pordo",Settings:"Agordoj",Username:" Uzanta nomo","Invalid port":"Pordo nevalida","Closed manually by the peer":"Manuale fermita de la samtavolano","Enable remote configuration modification":"Permesi foran redaktadon de la konfiguracio","Run without install":"Plenumi sen instali","Always connected via relay":"\u0108iam konektata per relajso","Always connect via relay":"\u0108iam konekti per relajso",whitelist_tip:"Nur la IP en la blanka listo povas kontroli mian komputilon",Login:"Konekti",Logout:"Malkonekti",Tags:"Etikedi","Search ID":"Ser\u0109i ID","Current Wayland display server is not supported":"La aktuala bilda servilo Wayland ne estas subtenita",whitelist_sep:"Vi povas uzi komon, punktokomon, spacon a\u016D linsalton kiel apartigilo","Add ID":"Aldoni identigilo","Add Tag":"Aldoni etikedo","Unselect all tags":"Malselekti \u0109iujn etikedojn","Network error":"Reta eraro","Username missed":"Uzantnomo forgesita","Password missed":"Pasvorto forgesita","Wrong credentials":"Identigilo a\u016D pasvorto erara","Edit Tag":"Redakti etikedo","Unremember Password":"Forgesi pasvorton",Favorites:"Favorataj","Add to Favorites":"Aldoni al la favorataj","Remove from Favorites":"Forigi el la favorataj",Empty:"Malplena","Invalid folder name":"Dosiernomo nevalida","Socks5 Proxy":"Socks5 prokura servilo",Hostname:"Nomo de gastiga",Discovered:"Malkovritaj",install_daemon_tip:"","Remote ID":"Fora identigilo",Paste:"Alglui","Paste here?":"","Are you sure to close the connection?":"\u0108u vi vere volas fermi la konekton?","Download new version":"El\u015Duti la novan version","Touch mode":"Tu\u015Da modo","Mouse mode":"","One-Finger Tap":"","Left Mouse":"","One-Long Tap":"","Two-Finger Tap":"","Right Mouse":"","One-Finger Move":"","Double Tap & Move":"","Mouse Drag":"","Three-Finger vertically":"","Mouse Wheel":"","Two-Finger Move":"","Canvas Move":"","Pinch to Zoom":"","Canvas Zoom":"","Reset canvas":"Restarigi kanvaso","No permission of file transfer":"Neniu permeso de dosiertransigo",Note:"Notu",Connection:"","Share Screen":"",CLOSE:"",OPEN:"",Chat:"",Total:"",items:"",Selected:"","Screen Capture":"","Input Control":"","Audio Capture":"","File Connection":"","Screen Connection":"","Do you accept?":"","Open System Setting":"","How to get Android input permission?":"",android_input_permission_tip1:"",android_input_permission_tip2:"",android_new_connection_tip:"",android_service_will_start_tip:"",android_stop_service_tip:"",android_version_audio_tip:"",android_start_service_tip:"",Account:"",Overwrite:"","This file exists, skip or overwrite this file?":"",Quit:"",doc_mac_permission:"https://rustdesk.com/docs/en/manual/mac/#enable-permissions",Help:"",Failed:"",Succeeded:"","Someone turns on privacy mode, exit":"",Unsupported:"","Peer denied":"","Please install plugins":"","Peer exit":"","Failed to turn off":"","Turned off":"","In privacy mode":"","Out privacy mode":"",Language:""},es:{Status:"Estado","Your Desktop":"Tu escritorio",desk_tip:"Puoi accedere al tuo desktop usando l'ID e la password riportati qui.",Password:"Contrase\xF1a",Ready:"Listo",Established:"Establecido",connecting_status:"Conexi\xF3n a la red RustDesk en progreso...","Enable Service":"Habilitar Servicio","Start Service":"Iniciar Servicio","Service is running":"Servicio se est\xE1 ejecutando","Service is not running":"Servicio no se est\xE1 ejecutando",not_ready_status:"No est\xE1 listo. Comprueba tu conexi\xF3n","Control Remote Desktop":"Controlar Escritorio Remoto","Transfer File":"Transferir archivo",Connect:"Conectar","Recent Sessions":"Sesiones recientes","Address Book":"Directorio",Confirmation:"Confirmaci\xF3n","TCP Tunneling":"Tunel TCP",Remove:"Remover","Refresh random password":"Actualizar contrase\xF1a aleatoria","Set your own password":"Establece tu propia contrase\xF1a","Enable Keyboard/Mouse":"Habilitar teclado/rat\xF3n","Enable Clipboard":"Habilitar portapapeles","Enable File Transfer":"Habilitar transferencia de archivos","Enable TCP Tunneling":"Habilitar tunel TCP","IP Whitelisting":"Lista blanca IP","ID/Relay Server":"Servidor de ID/Relay","Stop service":"Parar servicio","Change ID":"Cambiar identificaci\xF3n",Website:"Sitio web",About:"Sobre",Mute:"Silencio","Audio Input":"Entrada de audio","ID Server":"ID server","Relay Server":"Server relay","API Server":"Server API",invalid_http:"debe comenzar con http:// o https://","Invalid IP":"IP inv\xE1lida",id_change_tip:"Solo puedes usar caracteres a-z, A-Z, 0-9 e _ (guion bajo). El primer car\xE1cter debe ser a-z o A-Z. La longitud debe estar entre 6 a 16 caracteres.","Invalid format":"Formato inv\xE1lido",server_not_support:"A\xFAn no es compatible con el servidor","Not available":"Indisponible","Too frequent":"Demasiado frecuente",Cancel:"Cancelar",Skip:"Saltar",Close:"Cerrar",Retry:"Volver",OK:"OK","Password Required":"Se requiere contrase\xF1a","Please enter your password":"Por favor, introduzca su contrase\xF1a","Remember password":"Recordar contrase\xF1a","Wrong Password":"Contrase\xF1a incorrecta","Do you want to enter again?":"Quieres volver a entrar?","Connection Error":"Error de conexi\xF3n",Error:"Error","Reset by the peer":"Restablecido por el par","Connecting...":"Conectando...","Connection in progress. Please wait.":"Conexi\xF3n en curso. Espere por favor.","Please try 1 minute later":"Intente 1 minuto m\xE1s tarde","Login Error":"Error de inicio de sesi\xF3n",Successful:"Exitoso","Connected, waiting for image...":"Conectado, esperando imagen...",Name:"Nombre",Type:"Tipo",Modified:"Modificado",Size:"Tama\xF1o","Show Hidden Files":"Mostrar archivos ocultos",Receive:"Recibir",Send:"Enviar","Refresh File":"Actualizar archivo",Local:"Local",Remote:"Remoto","Remote Computer":"Computadora remota","Local Computer":"Computadora local","Confirm Delete":"Confirmar eliminaci\xF3n",Delete:"Borrar",Properties:"Propiedades","Multi Select":"Selecci\xF3n m\xFAltiple","Empty Directory":"Directorio vac\xEDo","Not an empty directory":"No es un directorio vac\xEDo","Are you sure you want to delete this file?":"Est\xE1s seguro de que quieres eliminar este archivo?","Are you sure you want to delete this empty directory?":"Est\xE1 seguro de que desea eliminar este directorio vac\xEDo?","Are you sure you want to delete the file of this directory?":"Est\xE1 seguro de que desea eliminar el archivo de este directorio?","Do this for all conflicts":"Haga esto para todos los conflictos","This is irreversible!":"Esto es irreversible!",Deleting:"Borrando",files:"archivos",Waiting:"Esperando",Finished:"Acabado",Speed:"Velocidad","Custom Image Quality":"Calidad de imagen personalizada","Privacy mode":"Modo privado","Block user input":"Bloquear entrada de usuario","Unblock user input":"Desbloquear entrada de usuario","Adjust Window":"Ajustar ventana",Original:"Original",Shrink:"Encogerse",Stretch:"Estirar","Good image quality":"Buena calidad de imagen",Balanced:"Equilibrado","Optimize reaction time":"Optimizar el tiempo de reacci\xF3n",Custom:"Personalizado","Show remote cursor":"Mostrar cursor remoto","Disable clipboard":"Deshabilitar portapapeles","Lock after session end":"Bloquear despu\xE9s del final de la sesi\xF3n",Insert:"Insertar","Insert Lock":"Insertar bloqueo",Refresh:"Actualizar","ID does not exist":"ID no existe","Failed to connect to rendezvous server":"No se pudo conectar al servidor de encuentro","Please try later":"Por favor intente mas tarde","Remote desktop is offline":"El escritorio remoto est\xE1 fuera de l\xEDnea","Key mismatch":"La clave no coincide",Timeout:"Timeout","Failed to connect to relay server":"No se pudo conectar al servidor de retransmisi\xF3n","Failed to connect via rendezvous server":"No se pudo conectar a trav\xE9s del servidor de encuentro","Failed to connect via relay server":"No se pudo conectar a trav\xE9s del servidor de retransmisi\xF3n","Failed to make direct connection to remote desktop":"No se pudo establecer la conexi\xF3n directa con el escritorio remoto","Set Password":"Configurar la clave","OS Password":"Contrase\xF1a del sistema operativo",install_tip:"Debido al Control de cuentas de usuario, es posible que RustDesk no funcione correctamente como escritorio remoto. Para evitar este problema, haga clic en el bot\xF3n de abajo para instalar RustDesk a nivel de sistema.","Click to upgrade":"Clic para actualizar","Click to download":"Clic para descargar","Click to update":"Fare clic per aggiornare",Configure:"Configurar",config_acc:'Para controlar su escritorio desde el exterior, debe otorgar permiso a RustDesk de \\"Accesibilidad\\".',config_screen:'Para controlar su escritorio desde el exterior, debe otorgar permiso a RustDesk de \\"Grabaci\xF3n de pantalla\\".',"Installing ...":"Instalando ...",Install:"Instalar",Installation:"Instalaci\xF3n","Installation Path":"Ruta de instalaci\xF3n","Create start menu shortcuts":"Crear accesos directos al men\xFA de inicio","Create desktop icon":"Crear icono de escritorio",agreement_tip:"Al iniciar la instalaci\xF3n, acepta los t\xE9rminos del acuerdo de licencia.","Accept and Install":"Aceptar e instalar","End-user license agreement":"Acuerdo de licencia de usuario final","Generating ...":"Generando ...","Your installation is lower version.":"Su instalaci\xF3n es una versi\xF3n inferior.",not_close_tcp_tip:"No cierre esta ventana mientras est\xE9 usando el t\xFAnel","Listening ...":"Escuchando ...","Remote Host":"Servidor remoto","Remote Port":"Puerto remoto",Action:"Acci\xF3n",Add:"Agregar","Local Port":"Puerto local",setup_server_tip:"Para una conexi\xF3n m\xE1s r\xE1pida, configure su propio servidor","Too short, at least 6 characters.":"Demasiado corto, al menos 6 caracteres.","The confirmation is not identical.":"La confirmaci\xF3n no es id\xE9ntica.",Permissions:"Permisos",Accept:"Aceptar",Dismiss:"Cancelar",Disconnect:"Desconectar","Allow using keyboard and mouse":"Permitir el uso del teclado y el mouse","Allow using clipboard":"Permitir usar portapapeles","Allow hearing sound":"Permitir escuchar sonido","Allow file copy and paste":"Permitir copiar y pegar archivos",Connected:"Conectado","Direct and encrypted connection":"Conexi\xF3n directa y encriptada","Relayed and encrypted connection":"Conexi\xF3n retransmitida y cifrada","Direct and unencrypted connection":"Conexi\xF3n directa y sin cifrar","Relayed and unencrypted connection":"Conexi\xF3n retransmitida y sin cifrar","Enter Remote ID":"Ingrese el ID remoto","Enter your password":"Ingrese su contrase\xF1a","Logging in...":"Iniciando sesi\xF3n...","Enable RDP session sharing":"Habilitar el uso compartido de sesiones RDP","Auto Login":"Ingreso autom\xE1tico","Enable Direct IP Access":"Habilitar acceso IP directo",Rename:"Renombrar",Space:"Espacio","Create Desktop Shortcut":"Crear acceso directo del escritorio","Change Path":"Cambiar ruta","Create Folder":"Crear carpeta","Please enter the folder name":"Por favor ingrese el nombre de la carpeta","Fix it":"Resolver",Warning:"Aviso","Login screen using Wayland is not supported":"La pantalla de inicio de sesi\xF3n con Wayland no es compatible","Reboot required":"Reinicio requerido","Unsupported display server ":"Servidor de visualizaci\xF3n no compatible","x11 expected":"x11 necesario",Port:"Puerto",Settings:"Ajustes",Username:" Nombre de usuario","Invalid port":"Puerto inv\xE1lido","Closed manually by the peer":"Cerrado manualmente por el par","Enable remote configuration modification":"Habilitar modificaci\xF3n de configuraci\xF3n remota","Run without install":"Ejecutar sin instalar","Always connected via relay":"Siempre conectado a trav\xE9s de relay","Always connect via relay":"Con\xE9ctese siempre a trav\xE9s de relay",whitelist_tip:"Solo las direcciones IP autorizadas pueden conectarse a este escritorio",Login:"Iniciar sesi\xF3n",Logout:"Salir",Tags:"Tags","Search ID":"Buscar ID","Current Wayland display server is not supported":"El servidor de visualizaci\xF3n actual de Wayland no es compatible",whitelist_sep:"Separados por coma, punto y coma, espacio o nueva l\xEDnea","Add ID":"Agregar ID","Add Tag":"Agregar tag","Unselect all tags":"Deseleccionar todos los tags","Network error":"Error de red","Username missed":"Olvid\xF3 su nombre de usuario","Password missed":"Olvid\xF3 su contrase\xF1a","Wrong credentials":"Credenciales incorrectas","Edit Tag":"Editar tag","Unremember Password":"Olvidaste tu contrase\xF1a",Favorites:"Favoritos","Add to Favorites":"Agregar a favoritos","Remove from Favorites":"Quitar de favoritos",Empty:"Vac\xEDo","Invalid folder name":"Nombre de carpeta no v\xE1lido","Socks5 Proxy":"Proxy Socks5",Hostname:"Nombre de host",Discovered:"Descubierto",install_daemon_tip:"Para comenzar en el encendido, debe instalar el servicio del sistema.","Remote ID":"ID remoto",Paste:"Pegar","Paste here?":"Pegar aqui?","Are you sure to close the connection?":"Est\xE1s seguro de cerrar la conexi\xF3n?","Download new version":"Descargar nueva versi\xF3n","Touch mode":"Modo t\xE1ctil","Mouse mode":"Modo rat\xF3n","One-Finger Tap":"Toque con un dedo","Left Mouse":"Rat\xF3n izquierdo","One-Long Tap":"Un toque largo","Two-Finger Tap":"Toque con dos dedos","Right Mouse":"Bot\xF3n derecho","One-Finger Move":"Movimiento con un dedo","Double Tap & Move":"Toca dos veces y mueve","Mouse Drag":"Arrastre de rat\xF3n","Three-Finger vertically":"Tres dedos verticalmente","Mouse Wheel":"Rueda de rat\xF3n","Two-Finger Move":"Movimiento con dos dedos","Canvas Move":"Movimiento de lienzo","Pinch to Zoom":"Pellizcar para ampliar","Canvas Zoom":"Ampliar lienzo","Reset canvas":"Restablecer lienzo","No permission of file transfer":"Sin permiso de transferencia de archivos",Note:"Nota",Connection:"Conexi\xF3n","Share Screen":"Compartir pantalla",CLOSE:"CERRAR",OPEN:"ABRIR",Chat:"Chat",Total:"Total",items:"items",Selected:"Seleccionado","Screen Capture":"Captura de pantalla","Input Control":"Control de entrada","Audio Capture":"Captura de audio","File Connection":"Conexi\xF3n de archivos","Screen Connection":"Conexi\xF3n de pantalla","Do you accept?":"Aceptas?","Open System Setting":"Configuraci\xF3n del sistema abierto","How to get Android input permission?":"C\xF3mo obtener el permiso de entrada de Android?",android_input_permission_tip1:'Para que un dispositivo remoto controle su dispositivo Android a trav\xE9s del mouse o toque, debe permitir que RustDesk use el servicio de \\"Accesibilidad\\".',android_input_permission_tip2:"Vaya a la p\xE1gina de configuraci\xF3n del sistema que se abrir\xE1 a continuaci\xF3n, busque y acceda a [Servicios instalados], active el servicio [RustDesk Input].",android_new_connection_tip:"Se recibi\xF3 una nueva solicitud de control para el dispositivo actual.",android_service_will_start_tip:"Habilitar la captura de pantalla iniciar\xE1 autom\xE1ticamente el servicio, lo que permitir\xE1 que otros dispositivos soliciten una conexi\xF3n desde este dispositivo.",android_stop_service_tip:"Cerrar el servicio cerrar\xE1 autom\xE1ticamente todas las conexiones establecidas.",android_version_audio_tip:"La versi\xF3n actual de Android no admite la captura de audio, actualice a Android 10 o posterior.",android_start_service_tip:"Toque el permiso [Iniciar servicio] o ABRIR [Captura de pantalla] para iniciar el servicio de uso compartido de pantalla.",Account:"Cuenta",Overwrite:"Sobrescribir","This file exists, skip or overwrite this file?":"Este archivo existe, \xBFomitir o sobrescribir este archivo?",Quit:"Salir",doc_mac_permission:"https://rustdesk.com/docs/en/manual/mac/#enable-permissions",Help:"Ayuda",Failed:"Fallido",Succeeded:"Logrado","Someone turns on privacy mode, exit":"Alguien active el modo privacidad, salga",Unsupported:"No soportado","Peer denied":"Par negado","Please install plugins":"Instale complementos","Peer exit":"Par salio","Failed to turn off":"Error al apagar","Turned off":"Apagado","In privacy mode":"En modo de privacidad","Out privacy mode":"Fuera del modo de privacidad",Language:""}};function Wi(e,u,r){return e=="error"&&u=="Connection Error"&&r.toLowerCase().indexOf("offline")<0&&r.toLowerCase().indexOf("exist")<0&&r.toLowerCase().indexOf("handshake")<0&&r.toLowerCase().indexOf("failed")<0&&r.toLowerCase().indexOf("resolve")<0&&r.toLowerCase().indexOf("mismatch")<0&&r.toLowerCase().indexOf("manually")<0&&r.toLowerCase().indexOf("not allowed")<0}const Hi={VK_A:"a",VK_B:"b",VK_C:"c",VK_D:"d",VK_E:"e",VK_F:"f",VK_G:"g",VK_H:"h",VK_I:"i",VK_J:"j",VK_K:"k",VK_L:"l",VK_M:"m",VK_N:"n",VK_O:"o",VK_P:"p",VK_Q:"q",VK_R:"r",VK_S:"s",VK_T:"t",VK_U:"u",VK_V:"v",VK_W:"w",VK_X:"x",VK_Y:"y",VK_Z:"z",VK_0:"0",VK_1:"1",VK_2:"2",VK_3:"3",VK_4:"4",VK_5:"5",VK_6:"6",VK_7:"7",VK_8:"8",VK_9:"9",VK_COMMA:",",VK_SLASH:"/",VK_SEMICOLON:";",VK_QUOTE:"'",VK_LBRACKET:"[",VK_RBRACKET:"]",VK_BACKSLASH:"\\",VK_MINUS:"-",VK_PLUS:"=",VK_DIVIDE:"Divide",VK_MULTIPLY:"Multiply",VK_SUBTRACT:"Subtract",VK_ADD:"Add",VK_DECIMAL:"Decimal",VK_F1:"F1",VK_F2:"F2",VK_F3:"F3",VK_F4:"F4",VK_F5:"F5",VK_F6:"F6",VK_F7:"F7",VK_F8:"F8",VK_F9:"F9",VK_F10:"F10",VK_F11:"F11",VK_F12:"F12",VK_ENTER:"Return",VK_CANCEL:"Cancel",VK_BACK:"Backspace",VK_TAB:"Tab",VK_CLEAR:"Clear",VK_RETURN:"Return",VK_SHIFT:"Shift",VK_CONTROL:"Control",VK_MENU:"Alt",VK_PAUSE:"Pause",VK_CAPITAL:"CapsLock",VK_KANA:"Kana",VK_HANGUL:"Hangul",VK_JUNJA:"Junja",VK_FINAL:"Final",VK_HANJA:"Hanja",VK_KANJI:"Kanji",VK_ESCAPE:"Escape",VK_CONVERT:"Convert",VK_SPACE:"Space",VK_PRIOR:"PageUp",VK_NEXT:"PageDown",VK_END:"End",VK_HOME:"Home",VK_LEFT:"LeftArrow",VK_UP:"UpArrow",VK_RIGHT:"RightArrow",VK_DOWN:"DownArrow",VK_SELECT:"Select",VK_PRINT:"Print",VK_EXECUTE:"Execute",VK_SNAPSHOT:"Snapshot",VK_INSERT:"Insert",VK_DELETE:"Delete",VK_HELP:"Help",VK_SLEEP:"Sleep",VK_SEPARATOR:"Separator",VK_NUMPAD0:"Numpad0",VK_NUMPAD1:"Numpad1",VK_NUMPAD2:"Numpad2",VK_NUMPAD3:"Numpad3",VK_NUMPAD4:"Numpad4",VK_NUMPAD5:"Numpad5",VK_NUMPAD6:"Numpad6",VK_NUMPAD7:"Numpad7",VK_NUMPAD8:"Numpad8",VK_NUMPAD9:"Numpad9",Apps:"Apps",Meta:"Meta",RAlt:"RAlt",RWin:"RWin",RControl:"RControl",RShift:"RShift",CTRL_ALT_DEL:"CtrlAltDel",LOCK_SCREEN:"LockScreen"},Ki="1.1.10";let mu;async function vi(){const e=new Ci;await e.init(),console.log("zstd ready"),mu=e}async function ui(e){let n=30*e.length;n>67108864&&(n=67108864),n<1048576&&(n=1048576);try{return mu||await vi(),mu.decode(e,n)}catch(i){console.error("decompress failed: "+i);return}}const Zi=$i();function Gi(e,u){const r=Zi||e.substring(e.length-2).toLowerCase();let n=ei.en,i=ei[r];i||(i=n);let t=i[u];return!t&&r!="en"&&(t=n[u]),t||u}const Yi="z".charCodeAt(0),Qi="a".charCodeAt(0);function Xi(e,u){const r=Hi[e]||e;if(r.length==1){const i=r.charCodeAt(0);return!u&&(i>Yi||i<Qi)?m.fromPartial({unicode:i}):m.fromPartial({chr:i})}const n=ru(r);return n==B.UNRECOGNIZED&&console.error("Unknown control key "+r),m.fromPartial({control_key:n})}async function su(e){await new Promise(u=>setTimeout(u,e))}function $i(){try{const e=window.location.search;return new URLSearchParams(e).get("lang")||""}catch{return""}}const ji=21116,fi=["rs-sg.rustdesk.com","rs-cn.rustdesk.com","rs-us.rustdesk.com"];let _i=localStorage.getItem("rendezvous-server")||fi[0];const en=location.protocol=="https:"?"wss://":"ws://";class un{constructor(){v(this,"_msgs");v(this,"_ws");v(this,"_interval");v(this,"_id");v(this,"_hash");v(this,"_msgbox");v(this,"_draw");v(this,"_peerInfo");v(this,"_firstFrame");v(this,"_videoDecoder");v(this,"_password");v(this,"_options");v(this,"_videoTestSpeed");this._msgbox=tn,this._draw=Eu,this._msgs=[],this._id="",this._videoTestSpeed=[0,0]}async start(u){try{await this._start(u)}catch(r){this.msgbox("error","Connection Error",r.type=="close"?"Reset by the peer":String(r))}}async _start(u){if(this._options||(this._options=nu()[u]||{}),!this._password){const f=this.getOption("password");if(f)try{this._password=Uint8Array.from(JSON.parse("["+f+"]"))}catch(au){console.error(au)}}this._interval=setInterval(()=>{var f;for(;this._msgs.length;)(f=this._ws)==null||f.sendMessage(this._msgs[0]),this._msgs.splice(0,1)},1),this.loadVideoDecoder();const r=ri(),n=new _u(r,!0);this._ws=n,this._id=u,console.log(new Date+": Conntecting to rendezvoous server: "+r+", for "+u),await n.open(),console.log(new Date+": Connected to rendezvoous server");const i=si.DEFAULT_CONN,t=ci.SYMMETRIC,s=T.fromPartial({id:u,licence_key:localStorage.getItem("key")||void 0,conn_type:i,nat_type:t,token:localStorage.getItem("access_token")||void 0});n.sendRendezvous({punch_hole_request:s});const l=await n.next();n.close(),console.log(new Date+": Got relay response",l);const c=l.punch_hole_response,p=l.relay_response;if(c){if(c!=null&&c.other_failure){this.msgbox("error","Error",c==null?void 0:c.other_failure);return}if(c.failure!=Ie.UNRECOGNIZED)switch(c==null?void 0:c.failure){case Ie.ID_NOT_EXIST:this.msgbox("error","Error","ID does not exist");break;case Ie.OFFLINE:this.msgbox("error","Error","Remote desktop is offline");break;case Ie.LICENSE_MISMATCH:this.msgbox("error","Error","Key mismatch");break;case Ie.LICENSE_OVERUSE:this.msgbox("error","Error","Key overuse");break}}else if(p){if(!p.version){this.msgbox("error","Error","Remote version is low, not support web");return}await this.connectRelay(p)}}async connectRelay(u){const r=u.pk;let n=u.relay_server;n?n=hu(n,!0,2):n=ri(!0);const i=u.uuid;console.log(new Date+": Connecting to relay server: "+n);const t=new _u(n,!1);await t.open(),console.log(new Date+": Connected to relay server"),this._ws=t;const s=z.fromPartial({licence_key:localStorage.getItem("key")||void 0,uuid:i});t.sendRendezvous({request_relay:s});const l=await this.secure(r)||!1;P("connection_ready",{secure:l,direct:!1}),await this.msgLoop()}async secure(u){var Du,yu,xu,Au,Cu,gu,Su,Bu;if(u){const y="OeVuKk5nlHiXp+APNn0Y3pC1Iwpwn44JGqrQCsWqmBw=";try{if(u=await ni(u,localStorage.getItem("key")||y),u){const M=fu.decode(u);M.id==this._id&&(u=M.pk)}(u==null?void 0:u.length)!=32&&(u=void 0)}catch(M){console.error(M),u=void 0}u||console.error("Handshake failed: invalid public key from rendezvous server")}if(!u){const y=E.fromPartial({});(Du=this._ws)==null||Du.sendMessage({public_key:y});return}const r=await((yu=this._ws)==null?void 0:yu.next());let n=r==null?void 0:r.signed_id;if(!n){console.error("Handshake failed: invalid message type");const y=E.fromPartial({});(xu=this._ws)==null||xu.sendMessage({public_key:y});return}try{n=await ni(n.id,Uint8Array.from(u))}catch(y){console.error(y),console.error("pk mismatch, fall back to non-secure");const M=E.fromPartial({});(Au=this._ws)==null||Au.sendMessage({public_key:M});return}const i=fu.decode(n),t=i.id,s=i.pk;if(t!=this._id){console.error("Handshake failed: sign failure");const y=E.fromPartial({});(Cu=this._ws)==null||Cu.sendMessage({public_key:y});return}if(s.length!=32){console.error("Handshake failed: invalid public box key length from peer");const y=E.fromPartial({});(gu=this._ws)==null||gu.sendMessage({public_key:y});return}const[l,c]=dn(),p=ln(),f=cn(p,s,l),au=E.fromPartial({asymmetric_value:c,symmetric_value:f});return(Su=this._ws)==null||Su.sendMessage({public_key:au}),(Bu=this._ws)==null||Bu.setSecretKey(p),console.log("secured"),!0}async msgLoop(){var u,r;for(;;){const n=await((u=this._ws)==null?void 0:u.next());if(n!=null&&n.hash){this._hash=n==null?void 0:n.hash;const i=this.getOption("tmppwd");!this._password&&i&&(this._password=Uint8Array.from(JSON.parse("["+i+"]")),this.setOption("tmppwd","")),this._password||this.msgbox("input-password","Password Required",""),this.login()}else if(n!=null&&n.test_delay){const i=n==null?void 0:n.test_delay;console.log(i),i.from_client||(r=this._ws)==null||r.sendMessage({test_delay:i})}else if(n!=null&&n.login_response){const i=n==null?void 0:n.login_response;i.error?i.error=="Wrong Password"?(this._password=void 0,this.msgbox("re-input-password",i.error,"Do you want to enter again?")):this.msgbox("error","Login Error",i.error):i.peer_info&&this.handlePeerInfo(i.peer_info)}else if(n!=null&&n.video_frame)this.handleVideoFrame(n==null?void 0:n.video_frame);else if(n!=null&&n.clipboard){const i=n==null?void 0:n.clipboard;if(i.compress){const t=await ui(i.content);if(!t)continue;i.content=t}try{hn(new TextDecoder().decode(i.content))}catch(t){console.error(t)}}else if(n!=null&&n.cursor_data){const i=n==null?void 0:n.cursor_data,t=await ui(i.colors);if(!t)continue;i.colors=t,P("cursor_data",i)}else if(n!=null&&n.cursor_id)P("cursor_id",{id:n==null?void 0:n.cursor_id});else if(n!=null&&n.cursor_position)P("cursor_position",n==null?void 0:n.cursor_position);else if(n!=null&&n.misc){if(!this.handleMisc(n==null?void 0:n.misc))break}else n!=null&&n.audio_frame&&En(n==null?void 0:n.audio_frame.data)}}msgbox(u,r,n){var i;(i=this._msgbox)==null||i.call(this,u,r,n)}draw(u){var r;(r=this._draw)==null||r.call(this,u),Eu(u)}close(){var u,r;this._msgs=[],clearInterval(this._interval),(u=this._ws)==null||u.close(),(r=this._videoDecoder)==null||r.close()}refresh(){var r;const u=A.fromPartial({refresh_video:!0});(r=this._ws)==null||r.sendMessage({misc:u})}setMsgbox(u){this._msgbox=u}setDraw(u){this._draw=u}login(u=void 0){var r,n,i;if(u){const t=(r=this._hash)==null?void 0:r.salt;let s=du([u,t]);this._password=s;const l=(n=this._hash)==null?void 0:n.challenge;s=du([s,l]),this.msgbox("connecting","Connecting...","Logging in..."),this._sendLoginMessage(s)}else{let t=this._password;if(t){const s=(i=this._hash)==null?void 0:i.challenge;t=du([t,s])}this._sendLoginMessage(t)}}async reconnect(){this.close(),await this.start(this._id)}_sendLoginMessage(u=void 0){var n;const r=b.fromPartial({username:this._id,my_id:"web",my_name:"web",password:u,option:this.getOptionMessage(),video_ack_required:!0});(n=this._ws)==null||n.sendMessage({login_request:r})}getOptionMessage(){let u=0;const r=_.fromPartial({}),n=this.getImageQualityEnum(this.getImageQuality(),!0),i=q.Yes;return n!=null&&(r.image_quality=n,u+=1),this._options["show-remote-cursor"]&&(r.show_remote_cursor=i,u+=1),this._options["lock-after-session-end"]&&(r.lock_after_session_end=i,u+=1),this._options["privacy-mode"]&&(r.privacy_mode=i,u+=1),this._options["disable-audio"]&&(r.disable_audio=i,u+=1),this._options["disable-clipboard"]&&(r.disable_clipboard=i,u+=1),u>0?r:void 0}sendVideoReceived(){var r;const u=A.fromPartial({video_received:!0});(r=this._ws)==null||r.sendMessage({misc:u})}handleVideoFrame(u){var i;if(this._firstFrame||(this.msgbox("","",""),this._firstFrame=!0),u.vp9s){const t=this._videoDecoder;var r=new Date().getTime(),n=0;const s=(i=u.vp9s)==null?void 0:i.frames.length;u.vp9s.frames.forEach(l=>{t.processFrame(l.data.slice(0).buffer,c=>{if(n++,n==s&&this.sendVideoReceived(),c&&t.frameBuffer&&s==n){this.draw(t.frameBuffer);var p=new Date().getTime()-r;this._videoTestSpeed[1]+=p,this._videoTestSpeed[0]+=1,this._videoTestSpeed[0]>=30&&(console.log("video decoder: "+parseInt(""+this._videoTestSpeed[1]/this._videoTestSpeed[0])),this._videoTestSpeed=[0,0])}})})}}handlePeerInfo(u){var i,t;if(this._peerInfo=u,u.displays.length==0){this.msgbox("error","Remote Error","No Display");return}this.msgbox("success","Successful","Connected, waiting for image..."),P("peer_info",u);const r=this.shouldAutoLogin();r&&this.inputOsPassword(r);const n=(i=this.getOption("info"))==null?void 0:i.username;if(n&&!u.username&&(u.username=n),this.setOption("info",u),this.getRemember()){if((t=this._password)!=null&&t.length){const s=this._password.toString();s!=this.getOption("password")&&(this.setOption("password",s),console.log("remember password of "+this._id))}}else this.setOption("password",void 0)}shouldAutoLogin(){const u=this.getOption("lock-after-session-end"),r=!!this.getOption("auto-login"),n=this.getOption("os-password");return n&&u&&r?n:""}handleMisc(u){if(u.audio_format)mn(u.audio_format.channels,u.audio_format.sample_rate);else if(u.chat_message)P("chat",{text:u.chat_message.text});else if(u.permission_info){const r=u.permission_info;console.info("Change permission "+r.permission+" -> "+r.enabled);let n;switch(r.permission){case $e.Keyboard:n="keyboard";break;case $e.Clipboard:n="clipboard";break;case $e.Audio:n="audio";break;default:return}P("permission",{[n]:r.enabled})}else if(u.switch_display)this.loadVideoDecoder(),P("switch_display",u.switch_display);else if(u.close_reason)return this.msgbox("error","Connection Error",u.close_reason),this.close(),!1;return!0}getRemember(){return this._options.remember||!1}setRemember(u){this.setOption("remember",u)}getOption(u){return this._options[u]}setOption(u,r){r==null?delete this._options[u]:this._options[u]=r,this._options.tm=new Date().getTime();const n=nu();n[this._id]=this._options,localStorage.setItem("peers",JSON.stringify(n))}inputKey(u,r,n,i,t,s,l){var p;const c=Xi(u,nn());!c||(i&&(u=="VK_MENU"||u=="RAlt")&&(i=!1),t&&(u=="VK_CONTROL"||u=="RControl")&&(t=!1),s&&(u=="VK_SHIFT"||u=="RShift")&&(s=!1),l&&(u=="Meta"||u=="RWin")&&(l=!1),c.down=r,c.press=n,c.modifiers=this.getMod(i,t,s,l),(p=this._ws)==null||p.sendMessage({key_event:c}))}ctrlAltDel(){var r,n;const u=m.fromPartial({down:!0});((r=this._peerInfo)==null?void 0:r.platform)=="Windows"?u.control_key=B.CtrlAltDel:(u.control_key=B.Delete,u.modifiers=this.getMod(!0,!0,!1,!1)),(n=this._ws)==null||n.sendMessage({key_event:u})}inputString(u){var n;const r=m.fromPartial({seq:u});(n=this._ws)==null||n.sendMessage({key_event:r})}switchDisplay(u){var i;const r=I.fromPartial({display:u}),n=A.fromPartial({switch_display:r});(i=this._ws)==null||i.sendMessage({misc:n})}async inputOsPassword(u){var n;this.inputMouse(),await su(50),this.inputMouse(0,3,3),await su(50),this.inputMouse(1|1<<3),this.inputMouse(2|1<<3),await su(1200);const r=m.fromPartial({press:!0,seq:u});(n=this._ws)==null||n.sendMessage({key_event:r})}lockScreen(){var r;const u=m.fromPartial({down:!0,control_key:B.LockScreen});(r=this._ws)==null||r.sendMessage({key_event:u})}getMod(u,r,n,i){const t=[];return u&&t.push(B.Alt),r&&t.push(B.Control),n&&t.push(B.Shift),i&&t.push(B.Meta),t}inputMouse(u=0,r=0,n=0,i=!1,t=!1,s=!1,l=!1){var p;const c=N.fromPartial({mask:u,x:r,y:n,modifiers:this.getMod(i,t,s,l)});(p=this._ws)==null||p.sendMessage({mouse_event:c})}toggleOption(u){var s;const r=!this._options[u],n=_.fromPartial({}),i=r?q.Yes:q.No;switch(u){case"show-remote-cursor":n.show_remote_cursor=i;break;case"disable-audio":n.disable_audio=i;break;case"disable-clipboard":n.disable_clipboard=i;break;case"lock-after-session-end":n.lock_after_session_end=i;break;case"privacy-mode":n.privacy_mode=i;break;case"block-input":n.block_input=q.Yes;break;case"unblock-input":n.block_input=q.No;break;default:return}u.indexOf("block-input")<0&&this.setOption(u,r);const t=A.fromPartial({option:n});(s=this._ws)==null||s.sendMessage({misc:t})}getImageQuality(){return this.getOption("image-quality")}getImageQualityEnum(u,r){switch(u){case"low":return Xe.Low;case"best":return Xe.Best;case"balanced":return r?void 0:Xe.Balanced;default:return}}setImageQuality(u){var t;this.setOption("image-quality",u);const r=this.getImageQualityEnum(u,!1);if(r==null)return;const n=_.fromPartial({image_quality:r}),i=A.fromPartial({option:n});(t=this._ws)==null||t.sendMessage({misc:i})}loadVideoDecoder(){var u;(u=this._videoDecoder)==null||u.close(),pi(r=>{this._videoDecoder=r,console.log("vp9 loaded"),console.log(r)})}}function rn(){fi.forEach(e=>{const u=new Date().getTime();new _u(hu(e),!0).open().then(()=>{console.log("latency of "+e+": "+(new Date().getTime()-u)),_i=e,localStorage.setItem("rendezvous-server",e)})})}rn();function ri(e=!1){const u=localStorage.getItem("custom-rendezvous-server");return hu(u||_i,e)}function hu(e,u=!1,r=0){if(e.indexOf(":")>0){const n=e.split(":"),i=parseInt(n[1]);e=n[0]+":"+(i+(u?r||3:2))}else e+=":"+(ji+(u?3:2));return en+e}function du(e){const u=new gi.exports.Hash;return e.forEach(r=>(typeof r=="string"&&(r=new TextEncoder().encode(r)),u.update(r))),u.digest()}window.curConn=void 0;window.isMobile=()=>/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4));function nn(){return!isMobile()}function tn(e,u,r){if(!(!e||e=="error"&&!r)){r.toLowerCase();var n=Wi(e,u,r)?"true":"";onGlobalEvent(JSON.stringify({name:"msgbox",type:e,title:u,text:r,hasRetry:n}))}}function on(e){var u={};for(const[r,n]of Object.entries(e))!r||(u[r]=n instanceof Uint8Array?"["+n.toString()+"]":JSON.stringify(n));return u}function P(e,u){u=on(u),u.name=e,onGlobalEvent(JSON.stringify(u))}let Qe,mi,uu,lu,cu,ii;if(YUVCanvas.WebGLFrameSink.isAvailable()){var iu=document.createElement("canvas");mi=YUVCanvas.attach(iu,{webGL:!0}),uu=iu.getContext("webgl")}else Qe=new Worker("./yuv.js");let L=[0,0];function Eu(e){if(Qe)Qe.postMessage(e);else{var u=new Date().getTime();mi.drawFrame(e);var r=iu.width,n=iu.height,i=r*n*4;i!=ii&&(lu=new Uint8Array(i),cu=new Uint8Array(i),ii=i),uu.readPixels(0,0,r,n,uu.RGBA,uu.UNSIGNED_BYTE,lu);const t=r*4,s=(n-1)*t;for(let l=0;l<i;l+=t)cu.set(lu.subarray(l,l+t),s-l);onRgba(cu),L[1]+=new Date().getTime()-u,L[0]+=1,L[0]>30&&(console.log("gl: "+parseInt(""+L[1]/L[0])),L=[0,0])}}function Ei(e){window.curConn=e}function ku(){return window.curConn}async function an(e){setByName("remote_id",e),await curConn.start(e)}function ki(){var e;(e=ku())==null||e.close(),Ei(void 0)}function hi(){var u;(u=window.curConn)==null||u.close();const e=new un;return Ei(e),e}let g;async function ni(e,u){return g||(await wu.ready,g=wu),typeof u=="string"&&(u=sn(u)),g.crypto_sign_open(e,u)}function sn(e){return g.from_base64(e,g.base64_variants.ORIGINAL)}function dn(){const e=g.crypto_box_keypair(),u=e.privateKey,r=e.publicKey;return[u,r]}function ln(){return g.crypto_secretbox_keygen()}function cn(e,u,r){const n=Uint8Array.from(Array(24).fill(0));return g.crypto_box_easy(e,n,u,r)}function Fi(e){for(var u=Array(24).fill(0),r=0;r<u.length&&e>0;r++){var n=e&255;u[r]=n,e=(e-n)/256}return Uint8Array.from(u)}function pn(e,u,r){return g.crypto_secretbox_easy(e,Fi(u),r)}function vn(e,u,r){return g.crypto_secretbox_open_easy(e,Fi(u),r)}window.setByName=(e,u)=>{switch(e){case"remote_id":localStorage.setItem("remote-id",u);break;case"connect":hi(),an(u);break;case"login":u=JSON.parse(u),curConn.setRemember(u.remember=="true"),curConn.login(u.password);break;case"close":ki();break;case"refresh":curConn.refresh();break;case"reconnect":curConn.reconnect();break;case"toggle_option":curConn.toggleOption(u);break;case"image_quality":curConn.setImageQuality(u);break;case"lock_screen":curConn.lockScreen();break;case"ctrl_alt_del":curConn.ctrlAltDel();break;case"switch_display":curConn.switchDisplay(u);break;case"remove":const r=nu();delete r[u],localStorage.setItem("peers",JSON.stringify(r));break;case"input_key":u=JSON.parse(u),curConn.inputKey(u.name,u.down=="true",u.press=="true",u.alt=="true",u.ctrl=="true",u.shift=="true",u.command=="true");break;case"input_string":curConn.inputString(u);break;case"send_mouse":let n=0;switch(u=JSON.parse(u),u.type){case"down":n=1;break;case"up":n=2;break;case"wheel":n=3;break}switch(u.buttons){case"left":n|=1<<3;break;case"right":n|=2<<3;break;case"wheel":n|=4<<3}curConn.inputMouse(n,parseInt(u.x||"0"),parseInt(u.y||"0"),u.alt=="true",u.ctrl=="true",u.shift=="true",u.command=="true");break;case"option":u=JSON.parse(u),localStorage.setItem(u.name,u.value);break;case"peer_option":u=JSON.parse(u),curConn.setOption(u.name,u.value);break;case"input_os_password":curConn.inputOsPassword(u);break}};window.getByName=(e,u)=>{let r=_n(e,u);return typeof r=="string"||r instanceof String?r:r==null||r==null?"":JSON.stringify(r)};function fn(){const e=[];for(const[u,r]of Object.entries(nu())){if(!u)continue;const n=r.tm,i=r.info;!n||!i||e.push([n,u,i])}return e.sort().reverse().map(u=>u.slice(1))}function _n(e,u){switch(e){case"peers":return fn();case"remote_id":return localStorage.getItem("remote-id");case"remember":return curConn.getRemember();case"toggle_option":return curConn.getOption(u)||!1;case"option":return localStorage.getItem(u);case"image_quality":return curConn.getImageQuality();case"translate":return u=JSON.parse(u),Gi(u.locale,u.text);case"peer_option":return curConn.getOption(u);case"test_if_valid_server":break;case"version":return Ki}return""}let Fu=new Worker("./libopus.js"),Di;function mn(e,u){Di=kn(e,u),Fu.postMessage({channels:e,sampleRate:u})}function En(e){Fu.postMessage(e,[e.buffer])}window.init=async()=>{Qe&&(Qe.onmessage=e=>{onRgba(e.data)}),Fu.onmessage=e=>{Di.feed(e.data)},pi(()=>{}),await vi(),console.log("init done")};function nu(){try{return JSON.parse(localStorage.getItem("peers"))||{}}catch{return{}}}function kn(e,u){return new Si({channels:e,sampleRate:u,flushingTime:2e3})}function hn(e){if(window.clipboardData&&window.clipboardData.setData)return window.clipboardData.setData("Text",e);if(document.queryCommandSupported&&document.queryCommandSupported("copy")){var u=document.createElement("textarea");u.textContent=e,u.style.position="fixed",document.body.appendChild(u),u.select();try{return document.execCommand("copy")}catch(r){console.warn("Copy to clipboard failed.",r)}finally{document.body.removeChild(u)}}}const ti=document.querySelector("#app");if(ti){let u=function(r,n,i){!ku()||(r=="input-password"?(document.querySelector("div#status").style.display="none",document.querySelector("div#password").style.display="block"):r?r=="error"?(document.querySelector("div#status").style.display="block",document.querySelector("div#canvas").style.display="none",document.querySelector("div#text").innerHTML='<div style="color: red; font-weight: bold;">'+i+"</div>"):(document.querySelector("div#password").style.display="none",document.querySelector("div#status").style.display="block",document.querySelector("div#text").innerHTML='<div style="font-weight: bold;">'+i+"</div>"):(document.querySelector("div#canvas").style.display="block",document.querySelector("div#password").style.display="none",document.querySelector("div#status").style.display="none"))};ti.innerHTML=`
|
|
<div id="connect" style="text-align: center"><table style="display: inline-block">
|
|
<tr><td><span>Host: </span></td><td><input id="host" /></td></tr>
|
|
<tr><td><span>Key: </span></td><td><input id="key" /></td></tr>
|
|
<tr><td><span>Id: </span></td><td><input id="id" /></td></tr>
|
|
<tr><td></td><td><button onclick="connect();">Connect</button></td></tr>
|
|
</table></div>
|
|
<div id="password" style="display: none;">
|
|
<input type="password" id="password" />
|
|
<button id="confirm" onclick="confirm()">Confirm</button>
|
|
<button id="cancel" onclick="cancel();">Cancel</button>
|
|
</div>
|
|
<div id="status" style="display: none;">
|
|
<div id="text" style="line-height: 2em"></div>
|
|
<button id="cancel" onclick="cancel();">Cancel</button>
|
|
</div>
|
|
<div id="canvas" style="display: none;">
|
|
<button id="cancel" onclick="cancel();">Cancel</button>
|
|
<canvas id="player"></canvas>
|
|
<canvas id="test-yuv-decoder-canvas"></canvas>
|
|
</div>
|
|
`;let e;window.init(),document.body.onload=()=>{const r=document.querySelector("#host");r.value=localStorage.getItem("custom-rendezvous-server");const n=document.querySelector("#id");n.value=localStorage.getItem("id");const i=document.querySelector("#key");i.value=localStorage.getItem("key"),e=YUVCanvas.attach(document.getElementById("player"))},window.connect=()=>{const r=document.querySelector("#host");localStorage.setItem("custom-rendezvous-server",r.value);const n=document.querySelector("#id");localStorage.setItem("id",n.value);const i=document.querySelector("#key");localStorage.setItem("key",i.value),(async()=>{const s=hi();s.setMsgbox(u),s.setDraw(l=>{Eu(l),e.drawFrame(l)}),document.querySelector("div#status").style.display="block",document.querySelector("div#connect").style.display="none",document.querySelector("div#text").innerHTML="Connecting ...",await s.start(n.value)})()},window.cancel=()=>{ki(),document.querySelector("div#connect").style.display="block",document.querySelector("div#password").style.display="none",document.querySelector("div#status").style.display="none",document.querySelector("div#canvas").style.display="none"},window.confirm=()=>{const r=document.querySelector("input#password").value;r&&(document.querySelector("div#password").style.display="none",ku().login(r))}}
|