cloudcmd 19.0.6 → 19.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ChangeLog +10 -0
- package/HELP.md +3 -1
- package/README.md +1 -1
- package/dist/cloudcmd.common.js +1 -1
- package/dist/cloudcmd.common.js.map +1 -1
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/dist-dev/cloudcmd.common.js +1 -1
- package/dist-dev/index.html +1 -1
- package/dist-dev/sw.js +1 -1
- package/package.json +2 -2
- package/server/depstore.js +2 -2
package/ChangeLog
CHANGED
package/HELP.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Cloud Commander v19.0.
|
|
1
|
+
# Cloud Commander v19.0.8
|
|
2
2
|
|
|
3
3
|
### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL]
|
|
4
4
|
|
|
@@ -1111,6 +1111,8 @@ There are a lot of ways to be involved in `Cloud Commander` development:
|
|
|
1111
1111
|
|
|
1112
1112
|
## Version history
|
|
1113
1113
|
|
|
1114
|
+
- *2025.09.20*, **[v19.0.8](//github.com/coderaiser/cloudcmd/releases/tag/v19.0.8)**
|
|
1115
|
+
- *2025.09.18*, **[v19.0.7](//github.com/coderaiser/cloudcmd/releases/tag/v19.0.7)**
|
|
1114
1116
|
- *2025.09.17*, **[v19.0.6](//github.com/coderaiser/cloudcmd/releases/tag/v19.0.6)**
|
|
1115
1117
|
- *2025.09.16*, **[v19.0.5](//github.com/coderaiser/cloudcmd/releases/tag/v19.0.5)**
|
|
1116
1118
|
- *2025.09.15*, **[v19.0.4](//github.com/coderaiser/cloudcmd/releases/tag/v19.0.4)**
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Cloud Commander v19.0.
|
|
1
|
+
# Cloud Commander v19.0.8 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL]
|
|
2
2
|
|
|
3
3
|
### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL]
|
|
4
4
|
|
package/dist/cloudcmd.common.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(globalThis.webpackChunkcloudcmd=globalThis.webpackChunkcloudcmd||[]).push([[94,229,267,547,552],{55:e=>{"use strict";e.exports=e=>{const t={value:e};return(...e)=>{const[n]=e;return e.length?(t.value=n,n):t.value}}},112:(e,t,n)=>{"use strict";const r=n(6790),o=Promise.all.bind(Promise);e.exports=async e=>{const[t,n=[]]=await r(o,e);return[t,...n]}},181:(e,t,n)=>{"use strict";const r=n(6098),o=r.CurrentInfo,{sort:s,order:i}=CloudCmd,a=r.getPanelPosition();let c=s[a];const{getPanel:l}=r;CloudCmd.sortPanel=(e,t=l())=>{const n=t.dataset.name.replace("js-","");e!==c?i[n]="asc":"asc"===i[n]?i[n]="desc":i[n]="asc",c=e,s[n]=e;const r=n!==o.panelPosition;CloudCmd.refresh({panel:t,noCurrent:r})}},231:(e,t,n)=>{"use strict";const{FS:r}=n(4180),o=n(701),s={top:!0};e.exports.delete=async(e,t)=>await o({method:"DELETE",url:r+e,data:t,imgPosition:{top:Boolean(t)}}),e.exports.patch=async(e,t)=>await o({method:"PATCH",url:r+e,data:t,imgPosition:s}),e.exports.write=async(e,t)=>await o({method:"PUT",url:r+e,data:t,imgPosition:s}),e.exports.createDirectory=async e=>await o({method:"PUT",url:`${r}${e}?dir`,imgPosition:s}),e.exports.read=async(e,t="text")=>{const n=!e.includes("?");return await o({method:"GET",url:r+e,notLog:n,dataType:t})},e.exports.copy=async(e,t,n)=>await o({method:"PUT",url:"/copy",data:{from:e,to:t,names:n},imgPosition:s}),e.exports.pack=async e=>await o({method:"PUT",url:"/pack",data:e}),e.exports.extract=async e=>await o({method:"PUT",url:"/extract",data:e}),e.exports.move=async(e,t,n)=>await o({method:"PUT",url:"/move",data:{from:e,to:t,names:n},imgPosition:s}),e.exports.rename=async(e,t)=>await o({method:"PUT",url:"/rename",data:{from:e,to:t},imgPosition:s}),e.exports.Config={read:async()=>await o({method:"GET",url:"/config",imgPosition:s,notLog:!0}),write:async e=>await o({method:"PATCH",url:"/config",data:e,imgPosition:s})},e.exports.Markdown={read:async e=>await o({method:"GET",url:`/markdown${e}`,imgPosition:s,notLog:!0}),render:async e=>await o({method:"PUT",url:"/markdown",data:e,imgPosition:s,notLog:!0})}},246:(e,t,n)=>{"use strict";n.r(t)},316:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e=>"object"==typeof e&&null!=e&&1===e.nodeType,r=(e,t)=>(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e,o=(e,t)=>{if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){const n=getComputedStyle(e,null);return r(n.overflowY,t)||r(n.overflowX,t)||(e=>{const t=(e=>{if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}})(e);return!!t&&(t.clientHeight<e.scrollHeight||t.clientWidth<e.scrollWidth)})(e)}return!1},s=(e,t,n,r,o,s,i,a)=>s<e&&i>t||s>e&&i<t?0:s<=e&&a<=n||i>=t&&a>=n?s-e-r:i>t&&a<n||s<e&&a>n?i-t+o:0,i=e=>{const t=e.parentElement;return null==t?e.getRootNode().host||null:t};t.compute=(e,t)=>{var r,a,c,l;if("undefined"==typeof document)return[];const{scrollMode:u,block:d,inline:f,boundary:p,skipOverflowHiddenElements:m}=t,h="function"==typeof p?p:e=>e!==p;if(!n(e))throw new TypeError("Invalid target");const g=document.scrollingElement||document.documentElement,C=[];let y=e;for(;n(y)&&h(y);){if(y=i(y),y===g){C.push(y);break}null!=y&&y===document.body&&o(y)&&!o(document.documentElement)||null!=y&&o(y,m)&&C.push(y)}const w=null!=(a=null==(r=window.visualViewport)?void 0:r.width)?a:innerWidth,x=null!=(l=null==(c=window.visualViewport)?void 0:c.height)?l:innerHeight,{scrollX:v,scrollY:b}=window,{height:D,width:E,top:O,right:M,bottom:k,left:S}=e.getBoundingClientRect(),{top:P,right:N,bottom:F,left:A}=(e=>{const t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);let T="start"===d||"nearest"===d?O-P:"end"===d?k+F:O+D/2-P+F,j="center"===f?S+E/2-A+N:"end"===f?M+N:S-A;const L=[];for(let e=0;e<C.length;e++){const t=C[e],{height:n,width:r,top:i,right:a,bottom:c,left:l}=t.getBoundingClientRect();if("if-needed"===u&&O>=0&&S>=0&&k<=x&&M<=w&&(t===g&&!o(t)||O>=i&&k<=c&&S>=l&&M<=a))return L;const p=getComputedStyle(t),m=parseInt(p.borderLeftWidth,10),h=parseInt(p.borderTopWidth,10),y=parseInt(p.borderRightWidth,10),P=parseInt(p.borderBottomWidth,10);let N=0,F=0;const A="offsetWidth"in t?t.offsetWidth-t.clientWidth-m-y:0,I="offsetHeight"in t?t.offsetHeight-t.clientHeight-h-P:0,$="offsetWidth"in t?0===t.offsetWidth?0:r/t.offsetWidth:0,_="offsetHeight"in t?0===t.offsetHeight?0:n/t.offsetHeight:0;if(g===t)N="start"===d?T:"end"===d?T-x:"nearest"===d?s(b,b+x,x,h,P,b+T,b+T+D,D):T-x/2,F="start"===f?j:"center"===f?j-w/2:"end"===f?j-w:s(v,v+w,w,m,y,v+j,v+j+E,E),N=Math.max(0,N+b),F=Math.max(0,F+v);else{N="start"===d?T-i-h:"end"===d?T-c+P+I:"nearest"===d?s(i,c,n,h,P+I,T,T+D,D):T-(i+n/2)+I/2,F="start"===f?j-l-m:"center"===f?j-(l+r/2)+A/2:"end"===f?j-a+y+A:s(l,a,r,m,y+A,j,j+E,E);const{scrollLeft:e,scrollTop:o}=t;N=0===_?0:Math.max(0,Math.min(o+N/_,t.scrollHeight-n/_+I)),F=0===$?0:Math.max(0,Math.min(e+F/$,t.scrollWidth-r/$+A)),T+=o-N,j+=e-F}L.push({el:t,top:N,left:F})}return L}},368:(e,t,n)=>{"use strict";n(9074);const r=n(6558);DOM.scrollIntoViewIfNeeded=e=>r(e,{block:"nearest"})},407:(e,t,n)=>{"use strict";const r=n(4299),o=r((e,t,n)=>e.setAttribute(n,t[n])),s=r((e,t,n)=>e[n]=t[n]),i=r((e,t)=>!e(t)),a=e=>e!=e.toLowerCase();function c(e){var t;if(e)return t=e,document.querySelector(`[data-name="${t}"]`)}e.exports=(e,t={})=>{const{dataName:n,notAppend:r,parent:l=document.body,uniq:u=!0,...d}=t,f=c(n);if(u&&f)return f;const p=document.createElement(e);return n&&(p.dataset.name=n),Object.keys(d).filter(a).map(s(p,t)),Object.keys(d).filter(i(a)).map(o(p,t)),r||l.appendChild(p),p},e.exports.isElementPresent=c},459:(e,t,n)=>{"use strict";CloudCmd.Contact=t;const r=n(1362),o=n(7346),{Events:s}=DOM,{Key:i}=CloudCmd;function a(){i.unsetBind(),o.hide(),r("api.box.expand")}function c(){i.setBind(),r("api.box.hide")}function l({keyCode:e}){e===i.ESC&&c()}e.exports.show=a,e.exports.hide=c,e.exports.init=()=>{s.addKey(l),r.identify("6216-545-10-4223"),r("api.box.onExpand",a),r("api.box.onShow",a),r("api.box.onShrink",c)}},613:e=>{"use strict";e.exports.createBinder=()=>{let e=!1;return{isBind:()=>e,setBind(){e=!0},unsetBind(){e=!1}}}},701:(e,t,n)=>{"use strict";const{promisify:r}=n(4905),o=n(7346),s=n(4656);function i(e){return e.replace(/#/g,"%23")}e.exports=r((e,t)=>{const n=e,{prefixURL:r}=CloudCmd;n.url=r+n.url,n.url=encodeURI(n.url),n.url=i(n.url),s.ajax({method:n.method,url:n.url,data:n.data,dataType:n.dataType,error:e=>{const n=e.responseText,{statusText:r,status:o}=e;t(Error(404===o?n:r))},success:e=>{o.hide(),n.notLog||CloudCmd.log(e),t(null,e)}})}),e.exports._replaceHash=i},722:(e,t,n)=>{"use strict";const r=n(2515),o=n(726);e.exports=new function(){const e=this,t=e=>"touchstart"===e&&{passive:!0};function n(e,o,s,i){let a;const c=[e,o,s,i],l=r(e);switch(l){default:if(!l.endsWith("element"))throw Error(`unknown eventName: ${l}`);n(c[1],c[0],s,i);break;case"string":a=r.function(o),a&&(s=o,o=null),o||(o=window),i(o,[e,s,t(e)]);break;case"array":for(const t of e)n(t,o,s,i);break;case"object":for(const t of Object.keys(e))n(t,o,e[t],i)}}function s(e){if(!e)throw Error("type could not be empty!")}this.add=(t,r,i)=>(s(t),n(t,r,i,(e,t)=>{const[n,r,s]=t;e.addEventListener(n,r,s),o.add(e,n,r)}),e),this.addOnce=(t,n,r)=>{const o=s=>{e.remove(t,n,o),r(s)};return r||(r=n,n=null),this.add(t,n,o),e},this.remove=(t,r,o)=>(s(t),n(t,r,o,(e,t)=>{e.removeEventListener(...t)}),e),this.removeAll=()=>{const e=o.get();for(const[t,n,r]of e)t.removeEventListener(n,r);o.clear()},this.addKey=function(...t){return e.add("keydown",...t)},this.rmKey=function(...t){return e.remove("keydown",...t)},this.addClick=function(...t){return e.add("click",...t)},this.rmClick=function(...t){return e.remove("click",...t)},this.addContextMenu=function(...t){return e.add("contextmenu",...t)},this.addLoad=function(...t){return e.add("load",...t)}}},726:e=>{"use strict";let t=[];e.exports.add=(e,n,r)=>{t.push([e,n,r])},e.exports.clear=()=>{t=[]},e.exports.get=()=>t},850:(e,t,n)=>{"use strict";const r=n(3366),o=n(5655),{setCurrent:s,selectFileNotParent:i}=n(9530),{Dialog:a}=DOM,c={...DOM,...CloudCmd};e.exports=async(e,t,n=c)=>{const o=l(t,n);await r(e,o)};const l=(e,t)=>{const{Info:n=DOM.CurrentInfo,Operation:r,unselectFiles:i,setCurrentFile:c,setCurrentByName:l,getCurrentName:u,toggleSelectedFile:d,Buffer:f={}}=t;return{escape:i,remove:()=>{r.show("delete")},makeDirectory:()=>{e.stopImmediatePropagation(),e.preventDefault(),DOM.promptNewDir()},makeFile:()=>{e.stopImmediatePropagation(),e.preventDefault(),DOM.promptNewFile()},terminal:()=>{CloudCmd.Terminal.show()},edit:()=>{CloudCmd.EditFileVim.show()},copy:()=>{f.copy(),i()},select:()=>{const e=n.element;d(e)},paste:f.paste,moveNext:({count:e,isVisual:t,isDelete:o})=>{s("next",{count:e,isVisual:t,isDelete:o},{Info:n,setCurrentFile:c,unselectFiles:i,Operation:r})},movePrevious:({count:e,isVisual:t,isDelete:o})=>{s("previous",{count:e,isVisual:t,isDelete:o},{Info:n,setCurrentFile:c,unselectFiles:i,Operation:r})},find:async()=>{e.preventDefault();const[,t]=await a.prompt("Find","");if(!t)return;const r=n.files.map(u),[s]=o.find(t,r);l(s)},findNext:()=>{const e=o.findNext();l(e)},findPrevious:()=>{const e=o.findPrevious();l(e)}}};e.exports.selectFile=i},887:(e,t,n)=>{"use strict";const r=n(9168),o=e=>"string"==typeof e;e.exports.escapeRegExp=e=>(o(e)&&(e=e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")),e),e.exports.getRegExp=e=>{const t=`^${e.replace(/\./g,"\\.").replace(/\*/g,".*").replace("?",".?")}$`;return RegExp(t)},e.exports.exec=r,e.exports.getExt=e=>{if(!o(e))return"";const t=e.lastIndexOf(".");return~t?e.substr(t):""},e.exports.findObjByNameInArr=(e,t)=>{let n;if(!Array.isArray(e))throw Error("array should be array!");if(!o(t))throw Error("name should be string!");return e.some(e=>{const r=e.name===t,o=Array.isArray(e);return r?(n=e,r):o?e.some(e=>{const r=e.name===t;return r&&(n=e.data),r}):r}),n},e.exports.time=e=>{r.ifExist(console,"time",[e])},e.exports.timeEnd=e=>{r.ifExist(console,"timeEnd",[e])}},975:e=>{"use strict";e.exports=(e,t)=>{(function(e,t){const n={}.toString.call(e);if(e&&"[object Date]"!==n)throw Error("date should be Date!");if(t&&"object"!=typeof t)throw Error("options should be object!")})(e=e||new Date,t),t||(t={});const{sep:n=".",order:r="big"}=t;let o=e.getDate(),s=e.getMonth()+1;const i=e.getFullYear();switch(s<=9&&(s="0"+s),o<=9&&(o="0"+o),r){case"big":return[i,s,o].join(n);case"middle":return[s,o,i].join(n);case"little":return[o,s,i].join(n);default:throw Error('order could be "big", "middle" and "little" only!')}}},977:(e,t,n)=>{"use strict";const r=n(5291),o=n(9317),s=n(2954),{Dialog:i,Images:a}=DOM;e.exports=e=>t=>{const{operation:n,callback:c,noContinue:l,from:u,to:d}=e;let f,p;const m=o(({emitter:e,operation:t})=>{e.abort();const n=`${t} aborted`;p=!0,i.alert(n,{cancel:!1})}),h=t.removeListener.bind(t),g=t.on.bind(t),C=s(n,u,d),y=i.progress(C);y.catch(m({emitter:t,operation:n}));const w={progress:e=>{f=100===e,y.setProgress(e)},end:()=>{a.hide(),r(h,w),y.remove(),(p||f)&&c()},error:async e=>{if(p=e,l)return w.end(e),i.alert(e),void y.remove();const[n]=await i.confirm(`${e}\n Continue?`);if(!f&&!n)return t.continue();t.abort(),y.remove()}};r(g,w)}},1e3:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isIdentifierChar",{enumerable:!0,get:function(){return r.isIdentifierChar}}),Object.defineProperty(t,"isIdentifierName",{enumerable:!0,get:function(){return r.isIdentifierName}}),Object.defineProperty(t,"isIdentifierStart",{enumerable:!0,get:function(){return r.isIdentifierStart}}),Object.defineProperty(t,"isKeyword",{enumerable:!0,get:function(){return o.isKeyword}}),Object.defineProperty(t,"isReservedWord",{enumerable:!0,get:function(){return o.isReservedWord}}),Object.defineProperty(t,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return o.isStrictBindOnlyReservedWord}}),Object.defineProperty(t,"isStrictBindReservedWord",{enumerable:!0,get:function(){return o.isStrictBindReservedWord}}),Object.defineProperty(t,"isStrictReservedWord",{enumerable:!0,get:function(){return o.isStrictReservedWord}});var r=n(8721),o=n(3115)},1014:e=>{var t=String,n=function(){return{isColorSupported:!1,reset:t,bold:t,dim:t,italic:t,underline:t,inverse:t,hidden:t,strikethrough:t,black:t,red:t,green:t,yellow:t,blue:t,magenta:t,cyan:t,white:t,gray:t,bgBlack:t,bgRed:t,bgGreen:t,bgYellow:t,bgBlue:t,bgMagenta:t,bgCyan:t,bgWhite:t,blackBright:t,redBright:t,greenBright:t,yellowBright:t,blueBright:t,magentaBright:t,cyanBright:t,whiteBright:t,bgBlackBright:t,bgRedBright:t,bgGreenBright:t,bgYellowBright:t,bgBlueBright:t,bgMagentaBright:t,bgCyanBright:t,bgWhiteBright:t}};e.exports=n(),e.exports.createColors=n},1113:(e,t,n)=>{"use strict";const r=n(2121),o=n(4299)((e,t)=>t.includes(e)),s=r(e=>e&&e.length,[function(e,t){const n=e.split("").join(".*")+".*",r=RegExp(`^${n}$`,"i"),o=r.test.bind(r);return t.filter(o)},function(e,t){return t.filter(o(e))}]);e.exports=(e,t)=>(function(e,t){if("string"!=typeof e)throw Error("pattern should be string!");if(!Array.isArray(t))throw Error("list should be an array!")}(e,t),s(e,t)||[])},1115:(e,t,n)=>{"use strict";const r=n(8446),{parse:o,stringify:s}=JSON;e.exports.parse=(...e)=>{const[,t]=r(o,...e);return t},e.exports.stringify=(...e)=>{const[,t]=r(s,...e);return t}},1213:e=>{"use strict";e.exports=e=>{const t={};return Function("module",e)(t),t.exports}},1256:(e,t,n)=>{"use strict";const{promisify:r}=n(5450),o=n(407),s=()=>{},i=(e,t,n)=>{e.addEventListener(t,r=>{n(r),e.removeEventListener(t,n)})},a=async e=>{switch(function(e){let t,n="";return"string"==typeof e&&(t=e.lastIndexOf("."),~t&&(n=e.substr(t))),n}(e)){case".js":return await a.js(e);case".css":return await a.css(e);case".json":return await a.json(e);default:return await a.ajax(e)}};function c(e){if("string"!=typeof e)return"";~e.indexOf(":")&&(e+="-join");const t=e.lastIndexOf("/")+1,n=e.substr(e,t);return e.replace(n,"").replace(/\./g,"-")}a.onerror=s,a.onload=s,a.addLoadListener=e=>{a.onload=e},a.addErrorListener=e=>{a.onerror=e},e.exports=a,a.js=r((e,t)=>{const n=c(e);let r=document.getElementById(n);if(r)return t();r=o("script",{id:n,src:e}),i(r,"load",e=>{t(null,e),a.onload()}),i(r,"error",n=>{t(n),document.body.removeChild(r),a.onerror(n,e)})}),a.css=r((e,t)=>{const n=c(e);let r=document.getElementById(n);if(r)return t();r=o("link",{id:c(e),rel:"stylesheet",href:e,parent:document.head}),r.addEventListener("load",e=>{t(null,e),a.onload()}),r.addEventListener("error",n=>{t(n),document.head.removeChild(r),a.onerror(n,e)})}),a.ajax=r((e,t)=>{const n=new XMLHttpRequest;n.open("GET",e,!0),n.addEventListener("load",()=>{if(n.status>=200&&n.status<400){const e=n.responseText;t(null,e),a.onload()}}),n.addEventListener("error",e=>{a.onerror(e),t(e)}),n.send()}),a.json=r((e,t)=>{a.ajax(e,(e,n)=>{let r;e||(r=JSON.parse(n)),t(e,r)})}),a.series=async e=>{const t=e.shift();t&&(await a(t),await a.series(e))},a.parallel=async e=>{const t=e.map(a);return await Promise.all(t)},a.getIdBySrc=c},1343:(e,t,n)=>{"use strict";n.r(t)},1347:(e,t,n)=>{"use strict";n.d(t,{createCloudMenu:()=>i});var r=n(3850);const o=()=>{},{CloudCmd:s}=globalThis,i=async(e,t,n)=>{const r=await async function(){if("aleman"===s.config("menu")){const{host:e,protocol:t}=window.location,n=`${t}//${e}/node_modules/aleman/menu/menu.js`,{createMenu:r}=await import(n);return r}return a}(),i=await r(e,t,n);return i.addContextMenuListener=i.addContextMenuListener||o,i};function a(e,t,n){const o=document.querySelector('[data-name="js-fm"]');return r(o,t,n)}},1362:e=>{"use strict";const t="static.olark.com/jsclient/loader.js";if(!window.olark){const e=document.createElement("script"),[n]=document.getElementsByTagName("script");e.async=1,e.src="//"+t,n.parentNode.insertBefore(e,n);const r=window.olark=(...e)=>{o.s.push(e),o.t.push(Number(new Date))};r.extend=(e,t)=>{r("extend",e,t)},r.identify=e=>{r("identify",o.i=e)},r.configure=(e,t)=>{r("configure",e,t),o.c[e]=t};const o=r._={s:[],t:[Number(new Date)],c:{},l:t}}e.exports=window.olark},1583:e=>{"use strict";e.exports=(e,t,n)=>e<t?n.slice(e,t+1):e>t?n.slice(t,e+1):[n[e]]},1597:e=>{"use strict";function t(e){let t=0;const{length:n}=e;for(;t<n&&" "===e[t];)++t;return t}e.exports=(e,...n)=>{const r=function(e,t){const n=[],r=e.length+t.length;let o=0;for(let s=0;s<r;s++){const r=s%2?t.shift():e[o++];n.push(r)}return n.join("")}(e,n),o=r.split("\n").slice(1,-1);if(!o.length)return"";const[s]=o,i=t(s),a=[];for(const e of o){const n=t(e);n<i?a.push(e.slice(n)):a.push(e.slice(i))}return a.join("\n")}},1617:(e,t,n)=>{"use strict";n(246);const r=n(6686),o=n(4299),s=n(9317),i=n(6790),a=n(1256),c=n(9290),l=n(407),{time:u}=n(887),{FS:d}=n(4180),{isImage:f,isAudio:p,getType:m}=n(9744),h=n(3181),g=n(722),C=n(7346),{encode:y}=n(4404),{assign:w}=Object,{isArray:x}=Array,v=o((e,t,n,r)=>e(r,t,n)),b=s((...e)=>{for(const t of e)t()}),D=e=>"function"==typeof e,E=v(g.add),O=a.css;e.exports.show=async function(e,t={}){const n=CloudCmd.prefixURL+d;if(M)return;if(t&&!1===t.bindKeys||g.addKey(B),F=l("div",{className:"view",notAppend:!0}),F.tabIndex=0,e)return x(e)?F.append(...e):F.append(e),void c.open(F,$(t));C.show.load();const o=n+S.path;switch(t.raw?"":await m(o)){default:return await async function(){const[e,t]=await S.getData();if(e)return C.hide();const n=document.createTextNode(t),r=T;CloudCmd.config("showFileName")&&(r.title=S.name),F.append(n),c.open(F,r)}();case"markdown":return await CloudCmd.Markdown.show(S.path);case"html":return L(o);case"image":return function(e,t){const n=S.files.map(DOM.getCurrentPath).filter(t=>f(t)||t===e),r=n.map(e=>({href:`${t}${e}`,title:y(N(e))})),o={index:n.indexOf(S.path),autoSize:!0,arrows:!0,keys:!0,helpers:{title:{}}},s={...T,...o};c.open(r,s)}(S.path,n);case"media":return await async function(e){const[t,n]=await async function(e){!function(e){if("string"!=typeof e)throw Error("src should be a string!")}(e);const[t,n]=await i(h.get,"view/media-tmpl");if(t)return[t];const{name:o}=S;A||(A=n);const s=p(o)?"audio":"video",a=r(A,{src:e,type:s,name:o});return[null,l("div",{innerHTML:a})]}(e);if(t)return alert(t);const o={...T,autoSize:!0,afterShow:()=>{n.querySelector("audio, video").focus()}};c.open(n,o)}(o);case"pdf":return function(e){const t=j(e),n=w({},T);CloudCmd.config("showFileName")&&(n.title=S.name),c.open(t,n)}(o)}},e.exports.hide=_;let M=!1;const k="View";CloudCmd[k]=e.exports;const S=DOM.CurrentInfo,{Key:P}=CloudCmd,N=e=>e.split("/").pop();let F,A;const T={beforeShow:()=>{C.hide(),P.unsetBind()},beforeClose:()=>{g.rmKey(B),P.setBind()},afterShow:()=>{F.focus()},onOverlayClick:R,afterClose:()=>{},autoSize:!1,helpers:{title:{}}};function j(e){const t=l("iframe",{src:e,width:"100%",height:"100%"});return t.addEventListener("load",()=>{t.contentWindow.addEventListener("keydown",B)}),t}function L(e){c.open(j(e),T)}e.exports._Config=T,e.exports.init=async()=>{await async function(){const{DIR_DIST:e}=CloudCmd;u(`${k} load`),M=!0,await O(`${e}/view.css`),M=!1}(),["click","contextmenu"].forEach(E(void 0,R))},e.exports._createIframe=j,e.exports._viewHtml=L;const I=e=>w({},e);function $(e){const t=I(T);if(!e)return t;const n=Object.keys(e);for(const r of n){const n=Boolean(t[r]),o=e[r];if(!D(o)||!n){t[r]=e[r];continue}const s=t[r];t[r]=b(s,o)}return t}function _(){c.close()}function R(e){!function(e){const t=DOM.getCurrentByPosition(e);if(!t)return;const{files:n,filesPassive:r}=S,o=n.includes(t),s=r.includes(t);(o||s)&&(DOM.isCurrentFile(t)||DOM.setCurrentFile(t))}({x:e.clientX,y:e.clientY})}function B({keyCode:e}){e===P.ESC&&_()}e.exports._initConfig=$},1730:(e,t,n)=>{"use strict";e.exports.addSlashToEnd=e=>{if(!e)throw Error("path could not be empty!");return"/"===e[e.length-1]?e:`${e}/`},e.exports.size=e=>{const t=1024,n=1048576,r=n*t,o=r*t,s=o*t;return"number"==typeof e?e<t?e+"b":e<n?(e/t).toFixed(2)+"kb":e<r?(e/n).toFixed(2)+"mb":e<o?(e/r).toFixed(2)+"gb":e<s?(e/o).toFixed(2)+"tb":(e/s).toFixed(2)+"pb":e},e.exports.permissions=n(2234)},1747:(e,t,n)=>{"use strict";const r=n(6790);async function o(e){if(!navigator.serviceWorker)return;const t="https:"===location.protocol,n="localhost"===location.hostname;if(!t&&!n)return;const{serviceWorker:o}=navigator,s=o.register.bind(o),[i,a]=await r(s,`${e}/sw.js`);return i?null:a}e.exports.registerSW=o,e.exports.unregisterSW=async function(e){const t=await o(e);null==t||t.unregister(e)},e.exports.listenSW=(e,...t)=>{null==e||e.addEventListener(...t)}},1753:(e,t,n)=>{"use strict";const{getExt:r}=n(887);e.exports=e=>{const t=function(e){return/\.tar\.gz$/.test(e)?".tar.gz":/\.tar\.bz2$/.test(e)?".tar.bz2":r(e)}(e);return e.replace(t,"")}},1795:e=>{"use strict";const t=[()=>()=>{},e=>(...t)=>e(...t),(e,t)=>(...n)=>e(t(...n)),(e,t,n)=>(...r)=>e(t(n(...r))),(e,t,n,r)=>(...o)=>e(t(n(r(...o)))),(e,t,n,r,o)=>(...s)=>e(t(n(r(o(...s))))),(e,t,n,r,o,s)=>(...i)=>e(t(n(r(o(s(...i)))))),(e,t,n,r,o,s,i)=>(...a)=>e(t(n(r(o(s(i(...a)))))))];e.exports=(...e)=>e.length<t.length?t[e.length](...e):function(e){return(...t)=>{let n=e.length-1,r=e[n](...t);for(;--n;)r=e[n](r);return r}}(e)},1825:(e,t,n)=>{"use strict";n.r(t)},1954:e=>{"use strict";e.exports={BACKSPACE:8,TAB:9,ENTER:13,CAPSLOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,INSERT:45,DELETE:46,ZERO:48,SEMICOLON:52,A:65,C:67,D:68,G:71,J:74,K:75,M:77,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,X:88,Z:90,INSERT_MAC:96,ASTERISK:106,PLUS:107,MINUS:109,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,COLON:186,EQUAL:187,HYPHEN:189,DOT:190,SLASH:191,TRA:192,BACKSLASH:220,BRACKET_CLOSE:221}},1979:(e,t,n)=>{"use strict";const r=n(4299),o=e.exports,s=(e,t)=>{if(!e)throw Error("element could not be empty!");if(!t)throw Error("className could not be empty!");if(Array.isArray(t))return t.some(r(s,e));const{classList:n}=e;return n.contains(t)};e.exports.isContainClass=s,e.exports.getByTag=(e,t=document)=>t.getElementsByTagName(e),e.exports.getById=(e,t=document)=>t.querySelector(`#${e}`),e.exports.getByClass=(e,t=document)=>o.getByClassAll(e,t)[0],e.exports.getByDataName=(e,t=document)=>{const n='[data-name="'+e+'"]';return t.querySelector(n)},e.exports.getByClassAll=(e,t)=>(t||document).getElementsByClassName(e),e.exports.hide=e=>(e.classList.add("hidden"),o),e.exports.show=e=>(e.classList.remove("hidden"),o)},2121:(e,t,n)=>{"use strict";const r=n(4299),o=n(1795),s=n(7023),i=r((e,t)=>e(t)),a=e=>e,c=r((e,t)=>t(...e));e.exports=function(e,t){t||(t=e,e=a),function(e,t){if("function"!=typeof e)throw Error("condition should be function!");if(!Array.isArray(t))throw Error("filters should be an array!");!function(e,t){const n=s(e=>{throw Error(`fn should be ${e}!`)},e),r=s((e,t)=>e!==t,e);if(!t.length)return n(e);t.map(e=>typeof e).filter(r).forEach(n)}("function",t)}(e,t);const n=function(e){let t;return n=>{let r;return e(n)?t=r=n:(r=t,t=null),r}}(e),r=s(o,e,n),l=t.map(i(r)).reverse();return(...e)=>(l.some(c(e)),n())}},2234:(e,t,n)=>{"use strict";const r=n(4299),o={name:"r",value:4},s={name:"w",value:2},i={name:"x",value:1},a=r((e,t)=>e&t.value?t.name:"-"),c=r((e,t)=>[o,s,i].map(e(t)).join(""));e.exports.symbolic=e=>{if(void 0===e)return"";const t=e.slice(-3);return[Number(t[0]).toString(2),Number(t[1]).toString(2),Number(t[2]).toString(2)].map(c(a)).join(" ")},e.exports.numeric=e=>{if(!e||11!==e.length)throw Error('permissions should be in format "xxx xxx xxx"');return"00"+(("r"===e[0]?4:0)+("w"===e[1]?2:0)+("x"===e[2]?1:0))+(("r"===e[4]?4:0)+("w"===e[5]?2:0)+("x"===e[6]?1:0))+(("r"===e[8]?4:0)+("w"===e[9]?2:0)+("x"===e[10]?1:0))}},2286:(e,t,n)=>{"use strict";const r=n(55),{J:o,K:s,UP:i,DOWN:a}=n(1954),c=r(1);e.exports=(e,{key:t,keyCode:n})=>{if(/^\d+$/.test(t)&&c(Number(t)),n===a||n===o){const t=c();return c(1),function(e,t){const{length:n}=e;e.selectedIndex===n-1?e.selectedIndex=0:e.selectedIndex+=t,e.selectedIndex<0&&(e.selectedIndex=n-1)}(e,t)}if(n===i||n===s){const t=c();return c(1),function(e,t){const{length:n}=e;e.selectedIndex?e.selectedIndex-=t:e.selectedIndex=n-1,e.selectedIndex<0&&(e.selectedIndex=0)}(e,t)}}},2300:(e,t,n)=>{"use strict";const r=n(6790),{alert:o,prompt:s,confirm:i,progress:a}=n(9638),c="Cloud Commander";e.exports.alert=(...e)=>o(c,...e,{cancel:!1}),e.exports.prompt=(...e)=>r(s,c,...e),e.exports.confirm=(...e)=>r(i,c,...e),e.exports.progress=(...e)=>a(c,...e),e.exports.alert.noFiles=()=>o(c,"No files selected!",{cancel:!1})},2515:e=>{"use strict";e.exports=t;for(const e of["null","arrayBuffer","file","array","object"])t[e]=n.bind(null,e);for(const e of["string","undefined","boolean","number","function"])t[e]=r.bind(null,e);function t(e){return{}.toString.call(e).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(e,n){return t(n)===e}function r(e,t){return typeof t===e}},2538:(e,t,n)=>{"use strict";n.r(t)},2630:(e,t,n)=>{"use strict";const r=n(6790),{encode:o}=n(4404),s=n(7346),i=n(231),a=n(2300),c=e=>async(...t)=>{const[n,i]=await r(e,...t);if(!n)return[n,i];const c=o(n.message);return s.show.error(c),a.alert(c),[n,i]};e.exports.delete=c(i.delete),e.exports.patch=c(i.patch),e.exports.write=c(i.write),e.exports.createDirectory=c(i.createDirectory),e.exports.read=c(i.read),e.exports.copy=c(i.copy),e.exports.pack=c(i.pack),e.exports.extract=c(i.extract),e.exports.move=c(i.move),e.exports.rename=c(i.rename),e.exports.Config={read:c(i.Config.read),write:c(i.Config.write)},e.exports.Markdown={read:c(i.Markdown.read),render:c(i.Markdown.render)}},2799:(e,t,n)=>{"use strict";const r=n(9317),o=n(55),s=n(407),i=n(8533),a=n(4307),c=o(),l=o(),u=r((e,t)=>m(c()+1,e,t)),d=r((e,t)=>m(c()-1,e,t)),f=r((e,t)=>{e.hidden=!1,t()}),p=(e,t)=>function n(r){let o=c();const{keyCode:s}=r;if(37===s)--o;else{if(39!==s)return 27===s?document.body.removeEventListener("keydown",n):void 0;++o}m(o,e,t)};function m(e,t,n){const r=n.length-1;if(e<0||e>r)return;c(e),a("nav-left").hidden=!e,a("nav-right").hidden=e===r;const{href:o,title:s}=n[e];t.src=o,t.title=s,t.href=s,t.alt=s,l().title&&i(s,a("child"))}function h(e,t,n){return function r(o){n(o),e.removeEventListener(t,r)}}function g(e,t,n){e.addEventListener(t,h(e,t,n))}e.exports=function(e,t,{afterShow:n,helpers:r,index:o}){c(o),l(r);const i=function(){const e=document.createElement("img");return e.className="modal-image",e}();e.appendChild(i),e.hidden=!0,e.appendChild(s("div",{className:"modal-nav modal-nav-left",dataName:"modal-nav-left",innerHTML:"<span></span>"})),e.appendChild(s("div",{className:"modal-nav modal-nav-right",dataName:"modal-nav-right",innerHTML:'<span data-name="modal-next"></span>'})),m(o,i,t),g(i,"load",f(e,n)),a("nav-left").addEventListener("click",d(i,t)),a("nav-right").addEventListener("click",u(i,t)),document.body.addEventListener("keydown",p(i,t))},e.exports._rmListener=h,e.exports._addListenerOnce=g,e.exports._onKeydown=p,e.exports._indexStore=c,e.exports._helpersStore=l,e.exports._onload=f},2882:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1014),o=n(5879),s=n(1e3);const i=(e,t)=>n=>e(t(n));function a(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.gray,invalid:i(i(e.white,e.bgRed),e.bold),gutter:e.gray,marker:i(e.red,e.bold),message:i(e.red,e.bold),reset:e.reset}}const c=a(r.createColors(!0)),l=a(r.createColors(!1));function u(e){return e?c:l}const d=new Set(["as","async","from","get","of","set"]),f=/\r\n|[\n\r\u2028\u2029]/,p=/^[()[\]{}]$/;let m;{const e=/^[a-z][\w-]*$/i,t=function(t,n,r){if("name"===t.type){if(s.isKeyword(t.value)||s.isStrictReservedWord(t.value,!0)||d.has(t.value))return"keyword";if(e.test(t.value)&&("<"===r[n-1]||"</"===r.slice(n-2,n)))return"jsxIdentifier";if(t.value[0]!==t.value[0].toLowerCase())return"capitalized"}return"punctuator"===t.type&&p.test(t.value)?"bracket":"invalid"!==t.type||"@"!==t.value&&"#"!==t.value?t.type:"punctuator"};m=function*(e){let n;for(;n=o.default.exec(e);){const r=o.matchToToken(n);yield{type:t(r,n.index,e),value:r.value}}}}function h(e){if(""===e)return"";const t=u(!0);let n="";for(const{type:r,value:o}of m(e))n+=r in t?o.split(f).map(e=>t[r](e)).join("\n"):o;return n}let g=!1;const C=/\r\n|[\n\r\u2028\u2029]/;function y(e,t,n={}){const o=n.forceColor||("object"!=typeof process||"0"!==process.env.FORCE_COLOR&&"false"!==process.env.FORCE_COLOR)&&r.isColorSupported&&n.highlightCode,s=u(o),i=e.split(C),{start:a,end:c,markerLines:l}=function(e,t,n){const r=Object.assign({column:0,line:-1},e.start),o=Object.assign({},r,e.end),{linesAbove:s=2,linesBelow:i=3}=n||{},a=r.line,c=r.column,l=o.line,u=o.column;let d=Math.max(a-(s+1),0),f=Math.min(t.length,l+i);-1===a&&(d=0),-1===l&&(f=t.length);const p=l-a,m={};if(p)for(let e=0;e<=p;e++){const n=e+a;if(c)if(0===e){const e=t[n-1].length;m[n]=[c,e-c+1]}else if(e===p)m[n]=[0,u];else{const r=t[n-e].length;m[n]=[0,r]}else m[n]=!0}else m[a]=c===u?!c||[c,0]:[c,u-c];return{start:d,end:f,markerLines:m}}(t,i,n),d=t.start&&"number"==typeof t.start.column,f=String(c).length;let p=(o?h(e):e).split(C,c).slice(a,c).map((e,t)=>{const r=a+1+t,o=` ${` ${r}`.slice(-f)} |`,i=l[r],c=!l[r+1];if(i){let t="";if(Array.isArray(i)){const r=e.slice(0,Math.max(i[0]-1,0)).replace(/[^\t]/g," "),a=i[1]||1;t=["\n ",s.gutter(o.replace(/\d/g," "))," ",r,s.marker("^").repeat(a)].join(""),c&&n.message&&(t+=" "+s.message(n.message))}return[s.marker(">"),s.gutter(o),e.length>0?` ${e}`:"",t].join("")}return` ${s.gutter(o)}${e.length>0?` ${e}`:""}`}).join("\n");return n.message&&!d&&(p=`${" ".repeat(f+1)}${n.message}\n${p}`),o?s.reset(p):p}t.codeFrameColumns=y,t.default=function(e,t,n,r={}){if(!g){g=!0;const e="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";process.emitWarning?process.emitWarning(e,"DeprecationWarning"):(new Error(e).name="DeprecationWarning",console.warn(new Error(e)))}return y(e,{start:{column:n=Math.max(n,0),line:t}},r)},t.highlight=h},2893:(e,t,n)=>{"use strict";const r=n(7252),o=n(7346),{FS:s}=n(4180),i=n(6098),a=n(2300),{getCurrentDirPath:c}=i;e.exports=e=>{e.length&&o.show("top");const t=Array.from(e).map(e=>e.webkitGetAsEntry()),n=c().replace(/\/$/,""),i=a.progress("Uploading...");i.catch(()=>{a.alert("Upload aborted"),f.abort()});const f=r(t,(e,t,r,o,a,c)=>{const{prefixURL:f}=CloudCmd,p=f+s+n+t;let m;switch(e){case"file":m=u(p,r);break;case"directory":m=d(p)}m.on("end",c),m.on("progress",e=>{const t=l(o,a),n=l(o+1,a),r=t+l(e,100,n-t);i.setProgress(r)})});f.on("error",e=>{a.alert(e),f.abort()}),f.on("end",CloudCmd.refresh)};const l=(e,t,n=100)=>Math.round(e*n/t),u=(e,t)=>i.load.put(e,t),d=e=>i.load.put(`${e}?dir`)},2954:e=>{"use strict";e.exports=(e,t,n)=>n?`${e} ${t} -> ${n}`:`${e} ${t}`},3115:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isKeyword=function(e){return n.has(e)},t.isReservedWord=s,t.isStrictBindOnlyReservedWord=a,t.isStrictBindReservedWord=function(e,t){return i(e,t)||a(e)},t.isStrictReservedWord=i;const n=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),r=new Set(["implements","interface","let","package","private","protected","public","static","yield"]),o=new Set(["eval","arguments"]);function s(e,t){return t&&"await"===e||"enum"===e}function i(e,t){return s(e,t)||r.has(e)}function a(e){return o.has(e)}},3131:(e,t,n)=>{"use strict";const r=n(9168),o=n(2515),s=n(4299),i=n(6790),a=n(6735),c=n(1583),l=n(4355),{FS:u}=n(4180),d=s(n(8218)),f=RegExp(String.fromCharCode(160),"g");e.exports.init=async()=>{await Promise.all([E(),O(),void DOM.Events.add(["unload","beforeunload"],e=>{const{Key:t}=CloudCmd;if(!(null==t?void 0:t.isBind()))return e.preventDefault(),"Please make sure that you saved all work."}),void h.add("popstate",async({state:e})=>{const t=(e||"").replace(u,"");if(!t)return CloudCmd.route(location.hash);await CloudCmd.changeDir(t,{history:!1})}),void h.add("resize",()=>{if(!(window.innerWidth<CloudCmd.MIN_ONE_PANEL_WIDTH))return;const{panel:e}=m;if(!e)return;"js-left"===e.getAttribute("data-name")||DOM.changePanel()}),y(),x()])},CloudCmd.Listeners=e.exports;const p=s((e,t)=>{for(const n of e)n(t)}),m=DOM.CurrentInfo,{Events:h}=DOM,g={mousedown:r.with(b,function(e){const t={alt:e.altKey,ctrl:e.ctrlKey,meta:e.metaKey,shift:e.shiftKey},n=D(e.target),r=m.name;DOM.setCurrentFile(n);const o=m.name;let s=[];t.shift?s=function(e,t){const n=DOM.getAllFiles(),r=DOM.getFilenames(n),o=d(r),s=o(e),i=o(t);return c(s,i,n)}(r,o):s.push(m.element),0===e.button&&function(e,t){const n=/Mac/.test(window.navigator.platform);if(!e)throw Error("key should not be undefined!");const[r]=t;if(n&&e.meta)return DOM.toggleSelectedFile(r);e.shift&&t.map(DOM.selectFile)}(t,s)}),click:p([function(e){e.preventDefault(),function(e){const{panel:t}=m,n=DOM.getByDataName("js-files",t);(function(e){for(;"UL"!==e.tagName;)e=e.parentElement;return e})(e)!==n&&DOM.changePanel()}(e.target)},r.with(function(e,t){DOM.getCSSVar("is-mobile")||e(t)},e=>{const t=/Mac/.test(window.navigator.platform),{shiftKey:n,metaKey:r,ctrlKey:o}=e;n||t&&r||o||DOM.unselectFiles()})]),dragstart:r.with(b,function(e){const{prefixURL:t}=CloudCmd,n=D(e.target),{isDir:r}=m;let o=DOM.getCurrentLink(n),s=DOM.getCurrentName(n);r&&(s+=C,o=document.createElement("a"),o.textContent=s,o.href=t+"/pack"+m.path+C),e.dataTransfer.setData("DownloadURL","application/octet-stream:"+s+":"+o)}),dblclick:r.with(b,async function(e){e.preventDefault();const t=D(e.target),n=DOM.isCurrentIsDir(t),r=DOM.getCurrentPath(t);if(!n)return CloudCmd.View.show();await CloudCmd.changeDir(r)}),touchstart:r.with(b,async function(e){const t=D(e.target);DOM.isCurrentIsDir(t)&&DOM.isCurrentFile(t)&&await CloudCmd.changeDir(DOM.getCurrentPath(t))})};let C;function y(){const e=DOM.getFM(),t=e=>e.dataset,n=e=>/^js-(left|right)$/.test(e.dataset.name);h.addClick(e,e=>{const r=e.target;if("js-fm-header"!==r.parentElement.dataset.name)return;const o=(r.dataset.name||"").replace("js-","");if(!/^(name|size|date)$/.test(o))return;const s=w(r).filter(t).filter(n).pop();CloudCmd.sortPanel(o,s)})}function w(e,t=[]){return e?w(e.parentElement,t.concat(e)):t}async function x(){const[,e]=await i(DOM.Files.get,"config"),t=null==e?void 0:e.packer;C=DOM.getPackerExt(t)}async function v(e,t){t.preventDefault();const n=t.target,r=n.getAttribute("data-name"),o=function(e){const t=m.panel;return!t||e.getAttribute("data-name")!==t.getAttribute("data-name")}(e);if("js-copy-path"===r)return s=n,void a.writeText(s.parentElement.title).then(CloudCmd.log).catch(CloudCmd.log);var s;if("js-refresh"===r)return CloudCmd.refresh({panel:e,noCurrent:o});if("js-path-link"!==r)return;const{href:i}=n,c=function(e){const t=CloudCmd.HOST,{prefix:n}=CloudCmd,r=RegExp("^"+n+u);return decodeURI(e).replace(t,"").replace(r,"").replace("%%","%25%").replace(f," ")||"/"}(i);await CloudCmd.changeDir(c,{isRefresh:!1,panel:o?e:m.panel})}function b(e,t){const{target:n}=t,{tagName:r}=n;"UL"!==r&&e(t)}function D(e){if(!e)return e;for(;"LI"!==e.tagName;)e=e.parentElement;return e}function E(){const e=DOM.getFM();h.addOnce("contextmenu",e,e=>{CloudCmd.Menu.show({x:e.clientX,y:e.clientY})}),h.addContextMenu(e,e=>{CloudCmd.Menu.ENABLED||e.preventDefault()})}function O(){const e=DOM.getByClassAll("panel"),t=({target:e})=>{e.classList.add("selected-panel")},n=({target:e})=>{e.classList.remove("selected-panel")},r=e=>{const{files:t,items:n}=e.dataTransfer,{length:r}=t;if(e.preventDefault(),r&&(!n||!n.length||!n[0].webkitGetAsEntry))return l(t);const o=Array.from(n).filter(e=>"file"===e.kind);if(o.length)return DOM.uploadDirectory(o);const{Operation:s}=CloudCmd,i=e.shiftKey?"move":"copy";return s.show(i)},o=e=>{const{dataTransfer:t}=e,{effectAllowed:n}=t;/move|linkMove/.test(n)?t.dropEffect="move":t.dropEffect="copy",e.preventDefault()};for(const s of e)h.add("dragover",s,o).add("drop",s,r).add("dragenter",t).add(["dragleave","drop"],n)}e.exports.initKeysPanel=()=>{const e=DOM.getById("js-keyspanel");e&&h.addClick(e,e=>{const{target:t}=e,{id:n}=t,o=e=>{const{Operation:t}=CloudCmd;return t.show.bind(null,e)},s={f1:CloudCmd.Help.show,f2:CloudCmd.UserMenu.show,f3:CloudCmd.View.show,f4:CloudCmd.EditFile.show,f5:o("copy"),f6:o("move"),f7:DOM.promptNewDir,f8:o("delete"),f9:()=>{e.stopPropagation(),CloudCmd.Menu.show()},f10:CloudCmd.Config.show,"~":CloudCmd.Konsole.show,"shift~":CloudCmd.Terminal.show,contact:CloudCmd.Contact.show};r(s[n])})},e.exports.setOnPanel=e=>{const t=(e=>o.string(e)?DOM.getByDataName(`js-${e}`):e)(e),n=DOM.getByDataName("js-files",t),r=DOM.getByDataName("js-path",t);h.addClick(r,function(e){return v.bind(null,e)}(t)),h.add(n,g)}},3181:(e,t,n)=>{"use strict";const r=n(2515),{promisify:o}=n(4905),s=n(4656),i=n(2630),a={},c="view/media-tmpl|config-tmpl|upload",l="/tmpl/",u=`${l}fs/`,d=function(){let e;return t=>{e||(e=!0,setTimeout(()=>{e=!1,t()},2e3))}}();e.exports.get=function e(t){const n=r(t);return function(e){if(!e)throw Error("name could not be empty!")}(t),"string"===n?function(e){const t=RegExp("file|path|link|pathLink|media|"+c),n=RegExp("config|modules"),r=t.test(e),o=n.test(e);if(!r&&!o)return function(e){throw Error(`Wrong file name: ${e}`)}(e);if("config"===e)return p();const s=function(e,t,n){let r;const o=RegExp(c).test(e);return t?(r=o?l+e.replace("-tmpl",""):u+e,r+=".hbs"):n&&(r="/json/"+e+".json"),r}(e,r,o);return f(s)}(t):"array"===n?Promise.all(t.map(e)):void 0};const f=o((e,t)=>{const{prefix:n}=CloudCmd;a[e]||(a[e]=new Promise((t,r)=>{const o=n+e;s.ajax({url:o,success:t,error:r})})),a[e].then(e=>{t(null,e)},n=>{a[e]=null,t(n)})}),p=async()=>{let e;a.config||(a.config=()=>(e=!0,i.Config.read()));const[,t]=await a.config();return t&&(e=!1),d(()=>{e||(a.config=null)}),t}},3366:(e,t,n)=>{"use strict";const r=n(55),o=r(""),s=r(!1),i=()=>{s(!1)},a=()=>{o("")},c=()=>{};function l(e){const t="d"===e[0];var n;return t&&(s(!0),e=e.split("").slice(1).join("")),{count:(n=e)?"g"===n?1:parseInt(n):1,isDelete:t,isVisual:s()}}e.exports=(e,t={})=>{const n=o(),r=s(),u=o(n.concat(e)),{escape:d=c,moveNext:f=c,movePrevious:p=c,remove:m=c,copy:h=c,paste:g=c,select:C=c,find:y=c,findNext:w=c,findPrevious:x=c,makeFile:v=c,makeDirectory:b=c,terminal:D=c,edit:E=c}=t;if("Enter"===e)return a();if("Escape"===e)return s(!1),d(),a();if("j"===e||"w"===e){const{count:e,isDelete:t,isVisual:r}=l(n);return!isNaN(e)&&f({count:e,isVisual:r,isDelete:t}),a()}if("k"===e||"b"===e){const{count:e,isDelete:t,isVisual:r}=l(n);return!isNaN(e)&&p({count:e,isVisual:r,isDelete:t}),a()}if("gg"===u||"^"===e){const{isDelete:e,isVisual:t}=l(n);return p({count:1/0,isVisual:t,isDelete:e}),a()}return"md"===u?(b(),a()):"tt"===u?(D(),a()):"e"===u?(E(),a()):"mf"===u?(v(),a()):"d"!==e||!s()&&"d"!==n?"G"===e||"$"===e?(f({count:1/0,isVisual:r}),a()):"y"===e?s()?(i(),h(),a()):a():/^p$/i.test(e)?(g(),a()):/^v$/i.test(e)?(s(!s()),C(),a()):"/"===e?(y(),a()):"n"===e?(w(),a()):"N"===e?(x(),a()):" "===e?a():void 0:(i(),m(),a())}},3415:(e,t,n)=>{"use strict";let r="*.*";const{getRegExp:o}=n(887),{alert:s,prompt:i}=n(2300),a=n(6098);e.exports=async(e,t)=>{if(!t)return;const n=`Specify file type for ${e} selection`,[c,l]=await i(n,r);if(c)return;r=l;const u=o(l);let d=0;for(const n of t){const t=a.getCurrentName(n);if(".."===t||!u.test(t))continue;++d;let r=a.isSelected(n);"expand"===e&&(r=!r),r&&a.toggleSelectedFile(n)}d||s("No matches found!")}},3494:(e,t,n)=>{"use strict";CloudCmd.EditFile=t;const r=n(1730),o=n(55),s=n(9168),i=n(3850),a=DOM.CurrentInfo,{Dialog:c,Images:l}=DOM,{config:u}=CloudCmd;let d,f;const p=o(),m={beforeClose:async()=>{s.ifExist(d,"hide"),await C()}};function h(){CloudCmd.Edit.hide()}function g(e){const t={x:e.clientX,y:e.clientY};if(e.preventDefault(),d)return;const n={beforeShow:e=>{e.x-=18,e.y-=27},afterClick:()=>{CloudCmd.Edit.getEditor().focus()}},r=CloudCmd.Edit.getElement();d=i(r,n,function(){const e=CloudCmd.Edit.getEditor();return{"Save Ctrl+S":()=>{e.save()},"Go To Line Ctrl+G":()=>{e.goToLine()},"Cut Ctrl+X":()=>{e.cutToClipboard()},"Copy Ctrl+C":()=>{e.copyToClipboard()},"Paste Ctrl+V":()=>{e.pasteFromClipboard()},"Delete Del":()=>{e.remove("right")},"Select All Ctrl+A":()=>{e.selectAll()},"Close Esc":h}}()),d.addContextMenuListener(),d.show(t.x,t.y)}async function C(){const e=CloudCmd.Edit.getEditor();if(!e.isChanged())return;const[t]=await c.confirm(f);t||e.save()}e.exports.init=async()=>{p(!0),await CloudCmd.Edit();const e=CloudCmd.Edit.getEditor();var t;(t=e).emit("auth",u("username"),u("password")),t.on("reject",()=>{c.alert("Wrong credentials!")}),function(e){const t=CloudCmd.Edit.getElement();DOM.Events.addOnce("contextmenu",t,g),e.on("save",e=>{DOM.setCurrentSize(r.size(e))})}(e),p(!1)},e.exports.show=async e=>{if(p())return;const t={...m,...e};CloudCmd.config("showFileName")&&(t.title=a.name),l.show.load(),CloudCmd.Edit.getEditor().setOption("keyMap","default");const[n,r]=await a.getData();if(n)return l.hide(),CloudCmd.Edit;const{path:o}=a,s=function(){const{name:e,isDir:t}=a;return t?`${e}.json`:e}();return function(e){f=`Do you want to save changes to ${e}?`}(s),CloudCmd.Edit.getEditor().setValueFirst(o,r).setModeForPath(s).enableKey(),CloudCmd.Edit.show(t),CloudCmd.Edit},e.exports.hide=h,e.exports.isChanged=C},3688:e=>{"use strict";e.exports=({autoSize:e,isTitle:t})=>{const n=["modal-main"];return e&&n.push("modal-autosize"),t&&n.push("modal-is-title"),n.join(" ")}},3850:(e,t,n)=>{"use strict";n(4887);const r=n(407),o=n(6727),s=n(8812),i=e=>"number"==typeof e,a=(e,...t)=>(e=>"function"==typeof e)(e)&&e(...t);e.exports=function e(t,n,c){if(!(this instanceof e))return new e(t,n,c);const l=new s;let u,d,f,p,m={};c?(u=p=t,m=n):n?(u=p=t,c=n):(u=document.body,p=window,c=t);const h={},g=function(e){const t=o(e,h,m);return r("ul",{dataName:"js-menu",className:"menu menu-hidden",innerHTML:t,parent:u,uniq:!1})}(c);function C(e,t){let n=l.getItem(e),r=l.isName(n),o=l.isItem(n),s=l.isSubMenu(n);return r&&o||(n=document.elementFromPoint(t.x,t.y),s=l.isSubMenu(n),r=l.isName(n),o=l.isItem(n)),{name:r,item:o,sub:s}}function y(e,t){e.stopPropagation();const{afterClick:n,beforeClick:r,beforeHide:o,afterHide:s,name:i}=m,c=e.target,u=t||C(c,{x:e.clientX,y:e.clientY}),d=a(r,i);if(u.sub)return e.preventDefault();if(a(o),v(),a(s),!d&&(u.name||u.item)){const e=function(e){const t=l.getName(e);if(!t)return null;const n=t.getAttribute("data-menu-path");return h[n]}(c);a(e),a(n)}}function w(e){e.preventDefault();const t=e.target,n=e.clientX,r=e.clientY,o=C(t,{x:n,y:r});if(o.name||o.item||o.sub)return y(e,o);v(),x(n,r)}function x(e,t){const{name:n,beforeShow:r,afterShow:o}=m,s={x:e,y:t,name:n},c=a(r,s);(c||!1!==c)&&(g.classList.remove("menu-hidden"),function(e,t){const n=i(e),r=i(t),o=function(){if(!d){const{height:e}=getComputedStyle(g);d=parseInt(e,10)}return d}(),s=function(){if(!f){const{width:e}=getComputedStyle(g);f=parseInt(e,10)}return f}(),a=window.innerHeight;window.innerWidth<s+e&&(e-=s)<0&&(e=0),a<o+t&&(t-=o)<0&&(t=0),n&&(g.style.left=`${e}px`),r&&(g.style.top=t-14+"px")}(s.x,s.y),a(o,s))}function v(){a(m.beforeClose)||g.classList.add("menu-hidden")}p.addEventListener("click",y),this.show=x,this.hide=v,this.addContextMenuListener=()=>{p.addEventListener("contextmenu",w)},this.removeContextMenuListener=()=>{p.addEventListener("contextmenu",w)},this.remove=function(){p.removeEventListener("click",y),p.removeEventListener("contextmenu",w),u.removeChild(g)}}},3954:(e,t,n)=>{"use strict";const r=n(9168),o=n(4299),s=n(1256),{ajax:i}=n(4656),a=n(3181),c=n(7346),{log:l}=CloudCmd,u=o(function(e,t){const{url:n,filename:o}=t,s=r.with(e,o);i({url:n,responseType:"arraybuffer",success:s})});CloudCmd.Cloud=e.exports,e.exports.init=async()=>{const[e]=await Promise.all([a.get("modules"),s.js("//api.filepicker.io/v2/filepicker.js")]),{key:t}=e.data.FilePicker;filepicker.setKey(t),c.hide()},e.exports.uploadFile=(e,t)=>{filepicker.store(t,{mimetype:"",filename:e},e=>{filepicker.exportFile(e,l,l)})},e.exports.saveFile=e=>{filepicker.pick(u(e))}},4002:e=>{"use strict";e.exports.MAIN='<ul data-name="js-menu" class="menu menu-hidden">{{ items }}</ul>',e.exports.ITEM='<li data-name="js-menu-item" class="menu-item{{ className }}"{{ attribute }}><label data-menu-path="{{ path }}">{{ name }}</label>{{ subitems }}</li>'},4049:(e,t,n)=>{"use strict";const r=n(4299),o=n(9317),{promisify:s}=n(4905),i=n(9168),a=n(1256),c=n(6790),{encode:l}=n(4404),u=n(1753),d=n(977),f=n(8199);CloudCmd.Operation=t;const{config:p}=CloudCmd,{Dialog:m,Images:h}=DOM,g=o(function(e,t){const n=o(t),r=o(m.alert);e.on("accept",n(e)),e.on("reject",r("Wrong credentials!")),e.emit("auth",p("username"),p("password"))}),C={};let y,w,x,v,b,D,E;const O=DOM.CurrentInfo,M=h.show.load.bind(null,"top"),k=r(async function(e,t){let n,r,o,s,i,a="",c="",u=[];t?(({from:a,to:c,names:u}=t),({panel:o}=O)):(a=O.dirPath,c=DOM.getNotCurrentDirPath(),n=DOM.getSelectedFiles(),u=DOM.getFilenames(n),t={},s=!0,o=O.panelPassive),u.length||u.push(DOM.getCurrentName());const[d]=u,f=DOM.getCurrentByName(d,o);if(!t&&S())return;const{type:h}=e,g="copy"===h,C=g?"Copy":"Rename/Move",y=g?w:x;if(s&&p(g?"confirmCopy":"confirmMove")){const[e,t]=await async function(e,t,n){const r=n.length,[o]=n;return e+=" ",n.length>1?e+=`${r} file(s)`:e+=`"${o}"`,e+=" to",await m.prompt(e,t)}(C,c,u.map(l));return void(e||v(t))}function v(e){if(i=a!==e&&e,i&&!s||!f)return n();const t=`"${d}" already exist. Overwrite?`;function n(){M(),r={from:a,to:e,names:u},y(r,async()=>{await DOM.Storage.remove(a);const{panel:e,panelPassive:t}=O;O.isOnePanel||CloudCmd.refresh({panel:t,noCurrent:!0}),CloudCmd.refresh({panel:e})})}m.confirm(t,{cancel:!1}).then(n)}v(c)}),S=()=>{const{length:e}=DOM.getActiveFiles(),t=Boolean(!e);return t?m.alert.noFiles():t};e.exports.init=s(e=>{M(),i.series([DOM.loadSocket,async e=>{if(p("dropbox"))return e();const{prefix:t,prefixSocket:n}=CloudCmd;await async function(){const{prefix:e}=CloudCmd,t=`${e}/fileop/fileop.js`,[n]=await c(a.js,t);n&&m.alert(n.message),y=!0}(),await async function(e,t,n){t=`${t}/fileop`;const r=await fileop({prefix:e,socketPrefix:t});r.on("connect",g(r,P(n)))}(t,n,e)},e=>{y=!0,h.hide(),e()}],e)});const P=r((e,t)=>{!function(e){E=({from:t,to:n,names:r},o)=>{const s=d({operation:"Tar",callback:o,noContinue:!0,from:t,to:n});e.tar(t,n,r).then(s)},D=({from:t,to:n,names:r},o)=>{const s=d({operation:"Zip",callback:o,noContinue:!0,from:t,to:n});e.zip(t,n,r).then(s)},v=(t,n,r)=>{t=t.replace(/\?.*/,"");const o=d({operation:"Delete",callback:r,from:t});e.remove(t,n).then(o)},w=({from:t,to:n,names:r},o)=>{const s=d({operation:"Copy",callback:o,from:t,to:n,names:r});e.copy(t,n,r).then(s)},x=({from:t,to:n,names:r},o)=>{const s=d({operation:"Move",callback:o,from:t,to:n});e.move(t,n,r).then(s)},b=({from:t,to:n},r)=>{const o=d({operation:"Extract",callback:r,noContinue:!0,from:t,to:n});e.extract(t,n).then(o)}}(t),e()});function N(e=DOM.getActiveFiles()){const t=O.dirPath;if(S())return;M();const n=DOM.getFilenames(e),r=DOM.CurrentInfo.files.map(DOM.getCurrentName),o=DOM.getCurrentName(),s=f(o,r,n);v(t+"?files",n,async()=>{await CloudCmd.refresh();const e=O.files.map(DOM.getCurrentName).includes(o)?o:s;DOM.setCurrentByName(e)})}function F(e,t){let n,r,o=O.name;const{path:s,dirPath:i}=O,a=DOM.getActiveFiles(),c=DOM.getFilenames(a);if(function(e,t){if(!t)throw Error("operation could not be empty!")}(0,e),!c.length)return m.alert.noFiles();switch(e){case"extract":n=b,r={from:s,to:i},o=u(o);break;case"pack":n=function(e){return"zip"===e?D:E}(t),c.length>1&&(o=O.dir),o+=DOM.getPackerExt(t),r={from:i,to:i+o,names:c}}M(),n(r,e=>{!e&&CloudCmd.refresh({currentName:o})})}e.exports.hide=()=>{CloudCmd.View.hide()},e.exports.show=(e,t)=>{if(y)return"copy"===e?C.copy(t):"move"===e?C.move(t):"delete"===e?C.delete():"delete:silent"===e?C.deleteSilent():"pack"===e?C.pack():"extract"===e?C.extract():void 0},C.copy=k({type:"copy"}),C.move=k({type:"move"}),C.delete=async function(){if(S())return;const e="Do you really want to delete the ",t="selected ",n=DOM.getActiveFiles(),r=DOM.getFilenames(n),o=r.length;let s;if(o){let n="";for(let e=0;e<5&&e<o;e++)n+="\n"+r[e];o>=5&&(n+="\n..."),s=e+t+o+" files/directories?\n"+l(n)}else{const n=DOM.getCurrentFile();s=e+t+((e=>e?"directory":"file")(DOM.isCurrentIsDir(n))+" ")+DOM.getCurrentName(n)+"?"}const[i]=await m.confirm(s);i||N(n)},C.deleteSilent=N,C.pack=()=>{F("pack","zip"===p("packer")?"zip":"tar")},C.extract=()=>{F("extract")}},4180:(e,t,n)=>{"use strict";const r=n(6686),o=n(4299),s=n(55),{encode:i}=n(4404),{btoa:a}=n(5496),c=o(function(e,t,n){return e!==n||"name"===e&&"asc"===t?n:`${n}${"asc"===t?"↑":"↓"}`}),l="/fs",u=s();function d(e,t,n){if(!e)throw Error("url could not be empty!");if(!n)throw Error("template could not be empty!");const o=["/",...e.split("/").slice(1,-1)],s=[],i=o.length;let a="/";for(let e=0;e<i;e++){const c=o[e];if(e&&(a+=`${c}/`),e&&e===i-1){s.push(`${c}/`);continue}const l=e?"/":"";s.push(r(n,{path:a,name:c,slash:l,prefix:t}))}return s.join("")}u("/"),e.exports.FS=l,e.exports.apiURL="/api/v1",e.exports.MAX_FILE_SIZE=512e3,e.exports.getHeaderField=c,e.exports.getPathLink=d,e.exports.getDotDot=g,e.exports.formatMsg=(e,t,n)=>((t=t||"")&&(t=`("${t}")`),`${e}: ${n=n||"ok"}${t}`),e.exports.getTitle=e=>{e=e||{};const{path:t=u(),name:n}=e;return[n||"Cloud Commander",t].filter(Boolean).join(" - ")};const f=e=>`data-name="js-file-${a(encodeURI(e))}" `;e.exports.buildFromJSON=e=>{const{prefix:t,template:n,sort:o="name",order:s="asc",showDotFiles:a}=e,h=n.file,C=n.link,y=e.data,w=i(y.path),{files:x}=y,v=d(w,t,n.pathLink);let b=r(n.path,{link:t+l+w,fullPath:w,path:v});const D=c(o,s),E=D("name"),O=D("size"),M=D("date"),k=r(h,{tag:"div",attribute:'data-name="js-fm-header" ',className:"fm-header",type:"",name:E,size:O,date:M,owner:"owner",mode:"mode"});if(u(w),b+=`${k}<ul data-name="js-files" class="files">`,"/"!==w){const e=g(w),o=t+l+e,s=r(n.link,{link:o,title:"..",name:".."}),i=`draggable="true" ${f("..")}`;b+=r(n.file,{tag:"li",attribute:i,className:"",type:"directory",name:s,size:"<dir>",date:"--.--.----",owner:".",mode:"--- --- ---"})}return b+=x.filter((({showDotFiles:e})=>({name:t})=>!!e||!t.startsWith("."))({showDotFiles:a})).map(p).map(e=>{const n=i(e.name),o=t+l+w+n,{type:s,mode:a,date:c,owner:u,size:d}=e,p=r(C,{link:o,title:n,name:n,attribute:m(e.type)}),g=f(e.name);return r(h,{tag:"li",attribute:`draggable="true" ${g}`,className:"",type:s,name:p,size:d,date:c,owner:u,mode:a})}).join(""),b+="</ul>",b};const p=e=>({...e,date:e.date||"--.--.----",owner:e.owner||"root",size:h(e)});function m(e){return"directory"===e?"":'target="_blank" '}function h({size:e,type:t}){return"directory"===t?"<dir>":/link/.test(t)?"<link>":e}function g(e){const t=e.substr(e,e.lastIndexOf("/"));return t.substr(t,t.lastIndexOf("/"))||"/"}e.exports._getSize=h},4261:e=>{"use strict";function t(){if(!(this instanceof t))return new t;this._all={}}function n(e){if("string"!=typeof e)throw Error("event should be string!")}function r(e,t){n(e),function(e){if("function"!=typeof e)throw Error("callback should be function!")}(t)}e.exports=t,t.prototype.on=function(e,t){var n=this._all[e];return r(e,t),n?n.push(t):this._all[e]=[t],this},t.prototype.addListener=t.prototype.on,t.prototype.once=function(e,t){var n=this;return r(e,t),n.on(e,function r(){t.apply(null,arguments),n.off(e,r)}),this},t.prototype.off=function(e,t){var n=this._all[e]||[],o=n.indexOf(t);for(r(e,t);~o;)n.splice(o,1),o=n.indexOf(t);return this},t.prototype.removeListener=t.prototype.off,t.prototype.emit=function(e){var t=[].slice.call(arguments,1),r=this._all[e];if(n(e),!r&&"error"===e)throw t[0];return r?(r.forEach(function(e){e.apply(null,t)}),this):this},t.prototype.removeAllListeners=function(e){return n(e),this._all[e]=[],this}},4299:e=>{"use strict";const t=(e,...n)=>{if(function(e){if("function"!=typeof e)throw Error("fn should be function!")}(e),n.length>=e.length)return e(...n);const r=(...r)=>t(e,...n,...r),o=e.length-n.length-1,s=(e=>[function(t){return e(...arguments)},function(t,n){return e(...arguments)},function(t,n,r){return e(...arguments)},function(t,n,r,o){return e(...arguments)},function(t,n,r,o,s){return e(...arguments)}])(r)[o];return s||r};e.exports=t},4307:e=>{"use strict";e.exports=e=>document.querySelector(`[data-name="modal-${e}"]`)},4355:(e,t,n)=>{"use strict";const{eachSeries:r}=n(9168),o=n(9317),s=n(4656),i=n(7346),{alert:a}=n(2300),{FS:c}=n(4180),{getCurrentDirPath:l}=n(6098),u=o(function(e,t,n,r){const{name:o}=n,a=e+o,{prefixURL:l}=CloudCmd,u=l+c;s.put(u+a,n).on("error",f).on("end",r).on("progress",e=>{const n=(e=>100/e)(t),r=0*n+((e,t,n=100)=>Math.round(e*n/t))(e,100,n);i.show.load("top"),i.setProgress(Math.round(r))})}),d=o(function(e){CloudCmd.refresh({currentName:e})});function f({message:e}){a(e)}e.exports=(e,t)=>{t||(t=e,e=l());const n=t.length;if(!n)return;const o=Array.from(t),{name:s}=t[0];r(o,u(e,n),d(s))}},4404:e=>{"use strict";const t={"<":"<",">":">",""":'"'},n=Object.keys(t);e.exports.encode=e=>{for(const r of n){const n=RegExp(t[r],"g");e=e.replace(n,r)}return e},e.exports.decode=e=>{for(const r of n){const n=t[r],o=RegExp(r,"g");e=e.replace(o,n)}return e}},4641:(e,t,n)=>{"use strict";CloudCmd.CommandLine=t;const r=n(2300);e.exports.init=()=>{},e.exports.show=async function(){const[,e]=await r.prompt("Command Line",""),t="^(t|terminal)";if(RegExp(`${t}$`).test(e))return await CloudCmd.Terminal.show();if(RegExp(t).test(e)){const n=e.replace(RegExp(`${t} `),"");return void(-1===await CloudCmd.TerminalRun.show({command:`bash -c '${n}'`})&&await r.alert("☝️ Looks like Terminal is disabled, start Cloud Coammnder with '--terminal' flag."))}},e.exports.hide=function(){}},4656:(e,t,n)=>{"use strict";const r=n(2515),o=n(1115),s=n(7411),i=n(9168),a=n(7346);e.exports.getIdBySrc=function(e){if(!r.string(e))return;e.includes(":")&&(e+="-join");const t=e.lastIndexOf("/")+1,n=e.substr(e,t);return e.replace(n,"").replace(/\./g,"-")},e.exports.ajax=e=>{const t=e,n=r.object(t.data),s=r.array(t.data),c="arraybuffer"===r(t.data),l=t.type||t.method||"GET",{headers:u={}}=t,d=new XMLHttpRequest;d.open(l,t.url,!0);for(const e of Object.keys(u)){const t=u[e];d.setRequestHeader(e,t)}let f;t.responseType&&(d.responseType=t.responseType),!c&&n||s?f=o.stringify(t.data):({data:f}=t),d.onreadystatechange=e=>{const n=e.target;if(n.readyState!==n.DONE)return;a.clearProgress();const r=n.getResponseHeader("content-type");if(200!==n.status)return i(t.error,n);const s="text"!==t.dataType,c=r.includes("application/json");let l=n.response;r&&c&&s&&(l=o.parse(n.response)||n.response),i(t.success,l,n.statusText,n)},d.send(f)},e.exports.put=(e,t)=>{const n=s(),r=new XMLHttpRequest;return e=encodeURI(e).replace(/#/g,"%23"),r.open("put",e,!0),r.upload.onprogress=e=>{if(!e.lengthComputable)return;const t=e.loaded/e.total*100,r=Math.round(t);n.emit("progress",r)},r.onreadystatechange=()=>{if(r.readyState!==r.DONE)return;if(200===r.status)return n.emit("progress",100),n.emit("end");const e=Error(r.responseText);n.emit("error",e)},r.send(t),n}},4762:(e,t,n)=>{"use strict";CloudCmd.Konsole=t;const r=n(9168),o=n(4299),s=n(6790),i=n(1256).js,a=n(407),c=n(7346),{Dialog:l,CurrentInfo:u}=DOM;let d;const{config:f}=CloudCmd,p=o((e,t)=>{return e(`cd ${n=t,n.replace(/\/$/,"")||"/"}`);var n}),m="Konsole";let h,g;e.exports.init=async()=>{f("console")&&(c.show.load("top"),await CloudCmd.View(),await b(),await x())},e.exports.hide=()=>{CloudCmd.View.hide()},e.exports.clear=()=>{d.clear()};const C=()=>CloudCmd.prefix+"/console";async function y(e){u.dirPath!==e&&await CloudCmd.changeDir(e)}const w=()=>{if(f("syncConsolePath"))return u.dirPath},x=async()=>{const e={cwd:w(),env:{ACTIVE_DIR:DOM.getCurrentDirPath.bind(DOM),PASSIVE_DIR:DOM.getNotCurrentDirPath.bind(DOM),CURRENT_NAME:DOM.getCurrentName.bind(DOM),CURRENT_PATH:()=>u.path},prefix:C(),prefixSocket:CloudCmd.prefixSocket+"/console",socketPath:CloudCmd.prefix};h=a("div",{className:"console"}),d=await Console(h,e),d.on("connect",r.with(v,d)),d.on("path",f.if("syncConsolePath",y)),CloudCmd.on("active-dir",f.if("syncConsolePath",p(d.handler))),d.addShortCuts({P:()=>{const e=d.getPromptText(),t=DOM.getCurrentDirPath();d.setPromptText(e+t)}})};function v(e){e.emit("auth",f("username"),f("password")),e.on("reject",()=>{l.alert("Wrong credentials!")})}e.exports.show=e=>{g&&f("console")&&CloudCmd.View.show(h,{afterShow:()=>{d.focus(),r(e)}})};const b=async()=>{Util.time(`${m} load`);const e=`${C()}/console.js`,[t]=await s(i,e);if(g=!0,Util.timeEnd(`${m} load`),t)return l.alert(t.message,{cancel:!1})}},4802:(e,t,n)=>{"use strict";n(1343);const r=n(6686),o=n(4299),s=n(9317),i=n(1795),{promisify:a}=n(4905),c=n(6790),l=n(1256),u=n(407),d=n(6042),f=n(7346),p=n(722),m=n(3181),{getTitle:h}=n(4180),{Dialog:g,setTitle:C}=DOM;CloudCmd.Config=e.exports;const y=a(DOM.loadSocket),w=o((e,t)=>(p.addKey(t,e),t)),x=o((e,t)=>(p.add("change",t,e),t)),v={};let b;const D=l.css;e.exports.init=async()=>{if(!CloudCmd.config("configDialog"))return;f.show.load("top");const{DIR_DIST:e}=CloudCmd;[b]=await Promise.all([m.get("config-tmpl"),y(),D(`${e}/config.css`),CloudCmd.View()]),function(){const e=function(){const{host:e,origin:t,protocol:n}=location;return t||`${n}//${e}`}(),{prefixSocket:t,prefix:n}=CloudCmd,r=io.connect(e+t+"/config",{reconnectionAttempts:1/0,reconnectionDelay:6e4,path:`${n}/socket.io`}),o=e=>{P(e),r.send(e)};(function(e){e.emit("auth",E("username"),E("password")),e.on("reject",s(g.alert,"Wrong credentials!"))})(r),r.on("connect",()=>{v.save=o}),r.on("message",P),r.on("log",CloudCmd.log),r.on("disconnect",()=>{v.save=N}),r.on("err",g.alert)}()};const{config:E,Key:O}=CloudCmd;let M;function k(){CloudCmd.View.hide()}async function S(e){const t={},n=d.getName(e),r=d.getValue(n,M);"name"===n?function(e){C(h({name:e}))}(r):"auth"===n&&F(r),t[n]=r,await v.save(t)}function P(e){for(const t of Object.keys(e)){const n=e[t];CloudCmd._config(t,n),d.setValue(t,n,M)}}async function N(e){const{RESTful:t}=DOM,[n]=await t.Config.write(e);n||P(e)}function F(e){const t=d.getElementByName("username",M),n=d.getElementByName("password",M);t.disabled=!e,n.disabled=!e}async function A({keyCode:e,target:t}){switch(e){case O.ESC:return k();case O.ENTER:return await S(t)}}v.save=N,e.exports.show=async function(){CloudCmd.config("configDialog")&&await async function(){const[e,t]=await c(m.get,"config");if(e)return g.alert("Could not load config!");const{editor:n,menu:o,packer:s,columns:a,theme:l,configAuth:f,...p}=d.convert(t);p[`${o}-selected`]="selected",p[`${n}-selected`]="selected",p[`${s}-selected`]="selected",p[`${a}-selected`]="selected",p[`${l}-selected`]="selected",p.configAuth=f?"":"hidden";const h=r(b,p);M=u("form",{className:"config",innerHTML:h});const C=document.querySelectorAll("input, select",M),[y]=C;let v;y&&(F(y.checked),v=y.focus.bind(y));const D=i(S,({target:e})=>e);Array.from(C).map(w(A)).map(x(D));CloudCmd.View.show(M,{autoSize:!0,afterShow:v})}()},e.exports.hide=k},4887:(e,t,n)=>{"use strict";n.r(t)},4905:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.promisify=r;var n="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__";function r(e){if("function"!=typeof e)throw new TypeError("Argument to promisify must be a function");var t=e[n],o=r.Promise||Promise;if("function"!=typeof o)throw new Error("No Promise implementation found; do you need a polyfill?");return function(){for(var n=this,r=arguments.length,s=Array(r),i=0;i<r;i++)s[i]=arguments[i];return new o(function(r,o){s.push(function(e){if(e)return o(e);for(var n=arguments.length,s=Array(1<n?n-1:0),i=1;i<n;i++)s[i-1]=arguments[i];if(1===s.length||!t)return r(s[0]);var a={};s.forEach(function(e,n){var r=t[n];r&&(a[r]=e)}),r(a)}),e.apply(n,s)})}}r.argumentNames="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__",r.Promise=void 0},5e3:(e,t,n)=>{"use strict";CloudCmd.Help=t;const r=n(7346);e.exports.init=()=>{r.show.load("top")},e.exports.show=function(){CloudCmd.Markdown.show("/HELP.md",{positionLoad:"top",relative:!0})},e.exports.hide=function(){CloudCmd.View.hide()}},5158:(e,t,n)=>{"use strict";const r=n(5606);n(5910);const o=n(9317),s=n(1256),{registerSW:i,listenSW:a}=n(1747),c="development"===r.env.NODE_ENV;function l(e){return e?e.indexOf("/")?`/${e}`:e:""}e.exports=async e=>{window.Util=n(887),window.CloudFunc=n(4180),window.DOM=n(6098),window.CloudCmd=n(5386),await async function(e){const{prefix:t}=e,n=await i(t);a(n,"updatefound",u(e))}(e),n(3131),n(9793),n(181);const t=l(e.prefix);window.CloudCmd.init(t,e),"aleman"===window.CloudCmd.config("menu")&&setTimeout(()=>{Promise.resolve().then(n.bind(n,1736)),Promise.resolve().then(n.bind(n,3398))},100)},window.CloudCmd=e.exports;const u=o(async e=>{if(c)return;const{DOM:t}=window,n=l(e.prefix);await s.js(`${n}/dist/cloudcmd.common.js`),await s.js(`${n}/dist/cloudcmd.js`),console.log("cloudcmd: sw: updated"),t.Events.removeAll(),window.CloudCmd(e)})},5190:(e,t,n)=>{"use strict";const r=n(9168),o=n(6790),s=n(1256).js,i=n(8815);e.exports=function(e){if(!e)return;const{path:t}=e,n=t&&i(t).replace(/.js$/,""),a=e.dobefore;CloudCmd[n]||(CloudCmd[n]=async()=>{r(a);const{DIR_MODULES:e}=CloudCmd,o=`${e}/${t}.js`;await s(o);const i=async e=>e&&e(),c=CloudCmd[n];return Object.assign(i,c),CloudCmd[n]=i,CloudCmd.log("init",n),await c.init(),i},CloudCmd[n].show=async(...e)=>{CloudCmd.log("show",n,e);const t=CloudCmd[n],[r,s]=await o(t);return r?console.error(r):await s.show(...e)})}},5291:e=>{"use strict";e.exports=(e,t)=>{Object.keys(t).forEach(((e,t)=>n=>e(n,t[n]))(e,t))}},5386:(e,t,n)=>{"use strict";const r=n(5606),o=n(7411),s=n(6698),i=n(6686),a=n(1256),c=n(6790),{addSlashToEnd:l}=n(1730),u=n(8815),d=n(4299),f=n(7346),{unregisterSW:p}=n(1747),m=n(8633),h=n(9793),{apiURL:g,formatMsg:C,buildFromJSON:y}=n(4180),w=n(5190),x="development"===r.env.NODE_ENV;function v(e){let t;o.call(this);const n=this,r=e.CurrentInfo,{Storage:s,Files:v}=e;this.log=(...e)=>{x&&console.log(...e)},this.prefix="",this.prefixSocket="",this.prefixURL="",this.MIN_ONE_PANEL_WIDTH=e.getCSSVar("min-one-panel-width"),this.HOST=location.origin||location.protocol+"//"+location.host,this.sort={left:"name",right:"name"},this.order={left:"asc",right:"asc"},this.changeDir=async(t,o={})=>{const{isRefresh:a,panel:c,history:u=!0,noCurrent:d,currentName:p}=o,m=a;let h,g;!d&&c&&c!==r.panel&&(e.changePanel(),h=!0),(h||m||!u)&&(g="top"),f.show.load(g,c),await async function(t,o={},a){const{RESTful:c}=e;n.log(`reading dir: "${t}";`);const l=n.config("dirStorage")&&await s.getJson(t),u=o.currentName||r.name,{noCurrent:d,refresh:f}=o;if(!f&&l)return await E(l,a,o);const p=e.getPanelPosition(a),m=n.sort[p],h=n.order[p],g=i("?sort={{ sort }}&order={{ order }}",{sort:m,order:h}),[,C]=await c.read(t+g,"json");C&&(o.sort=m,o.order=h,await E(C,a,o),f&&!d&&e.setCurrentByName(u),n.config("dirStorage")&&s.setJson(t,C))}(l(t),{refresh:m,history:u,noCurrent:d,currentName:p,showDotFiles:n.config("showDotFiles")},c)},this.init=async(r,o)=>{n.prefix=r,n.prefixURL=`${r}${g}`,n.prefixSocket=o.prefixSocket,n.DIR_DIST=`${r}/dist`,n.DIR_MODULES=`${this.DIR_DIST}/modules`,n.config=e=>o[e],n.config.if=d((e,t,n)=>o[e]&&t(n)),n._config=(e,t)=>{"password"!==e&&(o[e]=t)},o.oneFilePanel&&(n.MIN_ONE_PANEL_WIDTH=1/0),document.body.scrollIntoViewIfNeeded||await a.js(`${n.DIR_MODULES}/polyfill.js`),await b(),await async function(){const r=e.getFiles();n.on("current-file",e.updateCurrentInfo),n.on("current-name",D);const o=await s.get("current-name"),i=o&&e.getCurrentByName(o)||r[0];r&&e.setCurrentFile(i,{history:!location.hash});const a=e.getCurrentDirPath();({Listeners:t}=n),t.init(),function(){const e=["left"];return n.config("oneFilePanel")?e:[...e,"right"]}().forEach(t.setOnPanel),t.initKeysPanel(),n.config("dirStorage")&&(await s.get(a)||await s.setJson(a,m()))}(),n.route(location.hash)},this.route=t=>{const r=t.split("/");if(!t)return;const[o]=r,s=u(o.slice(1)).replace(/.js$/,""),i=r[1],a=e.getCurrentByName(i);if(i&&!a){const e=C("set current file",i,"error");return void n.log(e)}e.setCurrentFile(a),n.execFromModule(s,"show")},this.logOut=async()=>{const t=n.prefix+"/logout",{prefix:r}=n;await e.Storage.clear(),p(r),e.load.ajax({url:t,error:()=>document.location.reload()})};const b=async()=>{n.Key=h,n.Key.bind();const[,e]=await c(v.get,"modules"),t=f.show.load,r={edit:t,menu:t},o=(e,t,n)=>{w({name:e,path:t,dobefore:n})};if(e)for(const t of e.local)o(null,t,r[t])};async function D(e){await s.set("current-name",e)}async function E(o,s,i){const{history:a,noCurrent:l,showDotFiles:u}=i,[d,[f,p,m,h]]=await c(v.get,["file","path","link","pathLink"]);if(d)return e.Dialog.alert(d.responseText);const g=s||e.getPanel(),{prefix:C}=n,{dir:w,name:x}=r,{childNodes:b}=g;let D=b.length;for(;D--;)g.removeChild(g.lastChild);if(g.innerHTML=y({sort:i.sort,order:i.order,data:o,id:g.id,prefix:C,showDotFiles:u,template:{file:f,path:p,pathLink:h,link:m}}),t.setOnPanel(g),!l){let t;".."===x&&"/"!==w&&(t=e.getCurrentByName(w)),t||([t]=e.getFiles(g)),e.setCurrentFile(t,{history:a}),n.emit("active-dir",r.dirPath)}}this.execFromModule=async(e,t,...r)=>{await n[e](),(0,n[e][t])(...r)},this.refresh=async(t={})=>{const{panel:o=r.panel,currentName:s}=t,i=e.getCurrentDirPath(o),a=null==t?void 0:t.noCurrent;await n.changeDir(i,{isRefresh:!0,history:!1,panel:o,noCurrent:a,currentName:s})},this.goToParentDir=async()=>{const{dir:t,dirPath:o,parentDirPath:s,panel:i}=r;if(o===s)return;const a=s;await n.changeDir(a);const c=e.getCurrentByName(t),[l]=e.getFiles(i);e.setCurrentFile(c||l,{history})}}s(v,o),e.exports=new v(DOM),a.addErrorListener((e,t)=>{const n=`file ${t} could not be loaded`;f.show.error(n)})},5450:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.promisify=r;var n="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__";function r(e){if("function"!=typeof e)throw new TypeError("Argument to promisify must be a function");var t=e[n],o=r.Promise||Promise;if("function"!=typeof o)throw new Error("No Promise implementation found; do you need a polyfill?");return function(){for(var n=this,r=arguments.length,s=new Array(r),i=0;i<r;i++)s[i]=arguments[i];return new o(function(r,o){s.push(function(e){if(e)return o(e);for(var n=arguments.length,s=new Array(n>1?n-1:0),i=1;i<n;i++)s[i-1]=arguments[i];if(1===s.length||!t)return r(s[0]);var a={};s.forEach(function(e,n){var r=t[n];r&&(a[r]=e)}),r(a)}),e.apply(n,s)})}}r.argumentNames=n,r.Promise=void 0},5496:e=>{"use strict";e.exports.btoa=e=>"function"==typeof btoa?btoa(e):Buffer.from(e).toString("base64"),e.exports.atob=e=>"function"==typeof atob?atob(e):Buffer.from(e,"base64").toString("binary")},5499:(e,t,n)=>{"use strict";CloudCmd.EditFileVim=t;const r=n(722),{Key:o}=CloudCmd,s={bindKeys:!1,beforeClose:()=>{r.rmKey(a),CloudCmd.EditFile.isChanged()}};function i(){CloudCmd.Edit.hide()}function a(e){const{keyCode:t,shiftKey:n}=e;n&&t===o.ESC&&(e.preventDefault(),i())}e.exports.init=async()=>{await CloudCmd.EditFile()},e.exports.show=async()=>{r.addKey(a),(await CloudCmd.EditFile.show(s)).getEditor().setKeyMap("vim")},e.exports.hide=i},5606:e=>{var t,n,r=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:o}catch(e){t=o}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(e){n=s}}();var a,c=[],l=!1,u=-1;function d(){l&&a&&(l=!1,a.length?c=a.concat(c):u=-1,c.length&&f())}function f(){if(!l){var e=i(d);l=!0;for(var t=c.length;t;){for(a=c,c=[];++u<t;)a&&a[u].run();u=-1,t=c.length}a=null,l=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function m(){}r.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new p(e,t)),1!==c.length||l||i(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=m,r.addListener=m,r.once=m,r.off=m,r.removeListener=m,r.removeAllListeners=m,r.emit=m,r.prependListener=m,r.prependOnceListener=m,r.listeners=function(e){return[]},r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},5655:(e,t,n)=>{"use strict";const r=n(55),o=n(1113),s=r([]),i=r(0);function a(e,t){return e===t-1?0:++e}function c(e,t){return e?--e:t-1}e.exports.find=(e,t)=>{const n=o(e,t);return s(n),i(0),n},e.exports.findNext=()=>{const e=s(),t=a(i(),e.length);return i(t),e[i()]},e.exports.findPrevious=()=>{const e=s(),t=c(i(),e.length);return i(t),e[t]},e.exports._next=a,e.exports._previous=c},5667:(e,t,n)=>{"use strict";const r=n(5734),o=n(2300),s=n(8487),i=n(2630),{isCurrentFile:a,getCurrentName:c,getCurrentFile:l,getCurrentByName:u,getCurrentType:d,getCurrentDirPath:f,setCurrentName:p}=n(8622);e.exports=async e=>{a(e)||(e=l());const t=c(e);if(".."===t)return o.alert.noFiles();const[n,m]=await o.prompt("Rename",t);if(n)return;const h=u(m);if(h){const e=d(h),t=`${r(e)} "${m}" already exists. Proceed?`,[n]=await o.confirm(t);if(n)return}if(t===m)return;const g=f(),C=`${g}${t}`,y=`${g}${m}`,[w]=await i.rename(C,y);w||(p(m,e),s.remove(g),CloudCmd.refresh())}},5734:e=>{e.exports=function(e){if("string"!=typeof e)throw Error("just-capitalize expects a string argument");return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}},5776:(e,t,n)=>{"use strict";const{escapeRegExp:r}=n(887),o=DOM.CurrentInfo;e.exports=function(e,t){let n,s=0,i=!1,a=0;const c=r(e),l=new RegExp(`^${c}.*$`,"i"),{files:u}=o,d=t(),f=d.length;for(;a<f&&e===d[a];)a++;a||t([]);const p=s=a;var m;t(t().concat(e)),DOM.getFilenames(u).filter(e=>l.test(e)).filter((m=e=>".."===e,e=>!m(e))).some(e=>{const t=DOM.getCurrentByName(e);if(!s)return i=!0,DOM.setCurrentFile(t),!0;p===s&&(n=t),--s}),i||(DOM.setCurrentFile(n),t([e]))}},5879:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g,t.matchToToken=function(e){var t={type:"invalid",value:e[0],closed:void 0};return e[1]?(t.type="string",t.closed=!(!e[3]&&!e[4])):e[5]?t.type="comment":e[6]?(t.type="comment",t.closed=!!e[7]):e[8]?t.type="regex":e[9]?t.type="number":e[10]?t.type="name":e[11]?t.type="punctuator":e[12]&&(t.type="whitespace"),t}},5910:(e,t,n)=>{"use strict";n.r(t)},6042:(e,t,n)=>{"use strict";const r=n(4299)((e,t,n)=>e===typeof t[n])("boolean");function o(e,t){const n=`[data-name="js-${e}"]`;return t.querySelector(n)}function s(e){return e?" checked":""}e.exports.getElementByName=o,e.exports.getName=e=>e.getAttribute("data-name").replace(/^js-/,""),e.exports.convert=e=>{const t=e,n=Object.keys(e).filter(r(e));for(const r of n){const n=e[r];t[r]=s(n)}return t},e.exports.getValue=(e,t)=>{const n=o(e,t),{type:r}=n;switch(r){case"checkbox":return n.checked;case"number":return Number(n.value);default:return n.value}},e.exports.setValue=(e,t,n)=>{const r=o(e,n),{type:s}=r;"checkbox"===s?r.checked=t:r.value=t}},6098:(e,t,n)=>{"use strict";const r=n(887),o=n(7346),s=n(2630),i=n(8487),a=n(5667),c=n(8622),l=n(1979),u=e.exports,d={...l,...c,...u},f={};d.Images=o,d.load=n(4656),d.Files=n(3181),d.RESTful=s,d.IO=n(231),d.Storage=i,d.Dialog=n(2300),d.CurrentInfo=f,e.exports=d,d.uploadDirectory=n(2893),d.Buffer=n(8706),d.Events=n(722);const p=n(9999),m=n(3415),h="selected-file",g={"js-left":null,"js-right":null};async function C(e){const{Dialog:t}=d,n=d.getCurrentDirPath(),r=`New ${e}`||"File",o=(()=>{const e=d.getCurrentName();return".."===e?"":e})(),[i,a]=await t.prompt(r,o);if(i)return;const c=`${n}${a}`;"directory"===e?await s.createDirectory(c):await s.write(c),await CloudCmd.refresh({currentName:a})}e.exports.loadRemote=(e,t,n)=>(p(e,t,n),d),e.exports.loadSocket=e=>(d.loadRemote("socket",{name:"io"},e),d),e.exports.promptNewDir=async function(){await C("directory")},e.exports.promptNewFile=async()=>{await C("file")},e.exports.getCurrentDirName=()=>{const e=d.getCurrentDirPath().replace(/\/$/,""),t=e.substr(e,e.lastIndexOf("/"));return e.replace(`${t}/`,"")||"/"},e.exports.getParentDirPath=e=>{const t=d.getCurrentDirPath(e),n=d.getCurrentDirName()+"/",r=t.lastIndexOf(n);return"/"!==t?t.slice(0,r):t},e.exports.getNotCurrentDirPath=()=>{const e=d.getPanel({active:!1});return d.getCurrentDirPath(e)},e.exports.getSelectedFiles=()=>{const e=d.getPanel(),t=d.getByClassAll(h,e);return Array.from(t)},e.exports.unselectFiles=e=>{e=e||d.getSelectedFiles(),Array.from(e).forEach(d.toggleSelectedFile)},e.exports.getActiveFiles=()=>{const e=d.getCurrentFile(),t=d.getSelectedFiles(),n=d.getCurrentName(e);return t.length||".."===n?t:[e]},e.exports.getCurrentDate=e=>{const t=e||d.getCurrentFile();return d.getByDataName("js-date",t).textContent},e.exports.getCurrentSize=e=>{const t=e||d.getCurrentFile();return d.getByDataName("js-size",t).textContent.replace(/^<|>$/g,"")},e.exports.loadCurrentSize=async e=>{const t=e||d.getCurrentFile(),n=d.getCurrentPath(t);if(o.show.load(),".."===name)return;const[,r]=await s.read(n+"?size");return d.setCurrentSize(r,t),o.hide(),t},e.exports.loadCurrentHash=async e=>{const t=e||d.getCurrentFile(),n=d.getCurrentPath(t),[,r]=await s.read(n+"?hash");return r},e.exports.setCurrentSize=(e,t)=>{const n=t||d.getCurrentFile();d.getByDataName("js-size",n).textContent=e},e.exports.getCurrentMode=e=>{const t=e||d.getCurrentFile();return d.getByDataName("js-mode",t).textContent},e.exports.getCurrentOwner=e=>{const t=e||d.getCurrentFile();return d.getByDataName("js-owner",t).textContent},e.exports.getCurrentData=async e=>{const{Dialog:t}=d,n=d.CurrentInfo,r=e||d.getCurrentFile(),o=d.getCurrentPath(r),a=d.isCurrentIsDir(r);if(".."===n.name)return t.alert.noFiles(),[Error("No Files")];if(a)return await s.read(o);const[c,l]=await d.checkStorageHash(o);if(!c)return[Error("Can't get hash of a file")];if(l===c)return[null,await i.get(`${o}-data`)];const[u,f]=await s.read(o);if(u)return[u,null];const{length:p}=f;return l&&p<1073741824&&await d.saveDataToStorage(o,f,c),[null,f]},e.exports.getRefreshButton=(e=d.getPanel())=>d.getByDataName("js-refresh",e),e.exports.selectFile=e=>((e||d.getCurrentFile()).classList.add(h),u),e.exports.unselectFile=e=>((e||d.getCurrentFile()).classList.remove(h),u),e.exports.toggleSelectedFile=e=>{const t=e||d.getCurrentFile();return".."===d.getCurrentName(t)||t.classList.toggle(h),u},e.exports.toggleAllSelectedFiles=()=>(d.getAllFiles().map(d.toggleSelectedFile),u),e.exports.selectAllFiles=()=>(d.getAllFiles().map(d.selectFile),u),e.exports.getAllFiles=()=>{const e=d.getPanel(),t=d.getFiles(e),n=".."===d.getCurrentName(t[0])?1:0;return Array.from(t).slice(n)},e.exports.expandSelection=()=>{const{files:e}=f;m("expand",e)},e.exports.shrinkSelection=()=>{const{files:e}=f;m("shrink",e)},e.exports.setHistory=(e,t,n)=>{const r=window.history,{prefix:o}=CloudCmd;return n=o+n,r&&history.pushState(e,t,n),r},e.exports.isSelected=e=>!!e&&d.isContainClass(e,h),e.exports.getCurrentLink=e=>{const t=e||d.getCurrentFile();return d.getByTag("a",t)[0]},e.exports.getFilenames=e=>{if(!e)throw Error("AllFiles could not be empty");const t=e[0]||d.getCurrentFile(),n=d.getCurrentName(t),r=Array.from(e);return".."===n&&r.shift(),r.map(e=>d.getCurrentName(e))},e.exports.checkStorageHash=async e=>{const t=`${e}-hash`;if("string"!=typeof e)throw Error("name should be a string!");const[n,r]=await Promise.all([d.loadCurrentHash(),i.get(t)]);return[n,r]},e.exports.saveDataToStorage=async(e,t,n)=>{if(d.isCurrentIsDir())return;n=n||await d.loadCurrentHash();const r=`${e}-hash`,o=`${e}-data`;return await i.set(r,n),await i.set(o,t),n},e.exports.getFM=()=>d.getPanel().parentElement,e.exports.getPanelPosition=e=>(e=e||d.getPanel()).dataset.name.replace("js-",""),e.exports.getCSSVar=(e,{body:t=document.body}={})=>getComputedStyle(t).getPropertyValue(`--${e}`),e.exports.getPanel=e=>{let t,n,r,o="js-";const s=d.getCurrentFile();if(s?(t=s.parentElement,n=t.parentElement,r="js-left"===n.getAttribute("data-name")):n=d.getByDataName("js-left"),e&&!e.active&&(o+=r?"right":"left",n=d.getByDataName(o)),window.innerWidth<CloudCmd.MIN_ONE_PANEL_WIDTH&&(n=d.getByDataName("js-left")),!n)throw Error("can not find Active Panel!");return n},e.exports.getFiles=e=>d.getByDataName("js-files",e).children||[],e.exports.showPanel=e=>{const t=d.getPanel({active:e});return!!t&&(d.show(t),!0)},e.exports.hidePanel=e=>{const t=d.getPanel({active:e});return!!t&&d.hide(t)},e.exports.remove=(e,t)=>((t||document.body).removeChild(e),d),e.exports.deleteCurrent=e=>{e||d.getCurrentFile();const t=null==e?void 0:e.parentElement,n=d.getCurrentName(e);if(e&&".."!==n){const n=e.nextSibling,r=e.previousSibling;d.setCurrentFile(n||r),t.removeChild(e)}},e.exports.deleteSelected=e=>{(e=e||d.getSelectedFiles())&&e.map(d.deleteCurrent)},e.exports.renameCurrent=a,e.exports.scrollIntoViewIfNeeded=(e,t=!1)=>{e&&e.scrollIntoViewIfNeeded&&e.scrollIntoViewIfNeeded(t)},e.exports.scrollByPages=(e,t)=>{const n=(null==e?void 0:e.scrollByPages)&&t;return n&&e.scrollByPages(t),n},e.exports.changePanel=()=>{const e=f;let t=d.getPanel();CloudCmd.emit("passive-dir",e.dirPath);const n=d.getPanel({active:!1});let r=d.getCurrentName();const o=d.getFiles(n);let s,i,a=t.getAttribute("data-name");return g[a]=r,t=n,a=t.getAttribute("data-name"),r=g[a],r&&(i=d.getCurrentByName(r,t),i&&(s=i.parentElement)),s&&s.parentElement||(i=d.getCurrentByName(r,t),i||([i]=o)),d.setCurrentFile(i,{history:!0}),CloudCmd.emit("active-dir",e.dirPath),d},e.exports.getPackerExt=e=>"zip"===e?".zip":".tar.gz",e.exports.goToDirectory=async()=>{const{Dialog:e}=d,{dirPath:t}=f,[n,r=t]=await e.prompt("Go to directory:",t);n||await CloudCmd.changeDir(r)},e.exports.duplicatePanel=async()=>{const e=f,{isDir:t}=e,n=e.panelPassive,r=!e.isOnePanel,o=(t=>t?e.path:e.dirPath)(t);await CloudCmd.changeDir(o,{panel:n,noCurrent:r})},e.exports.swapPanels=async()=>{const e=f,{panel:t,files:n,element:r,panelPassive:o}=e,s=d.getCurrentDirPath(),i=d.getNotCurrentDirPath();let a=n.indexOf(r);await CloudCmd.changeDir(s,{panel:o,noCurrent:!0}),await CloudCmd.changeDir(i,{panel:t});const c=e.files.length-1;a>c&&(a=c);const l=e.files[a];d.setCurrentFile(l)},e.exports.CurrentInfo=f,e.exports.updateCurrentInfo=e=>{const t=d.CurrentInfo,n=e||d.getCurrentFile(),o=n.parentElement,s=d.getPanel({active:!1}),i=d.getFiles(s),a=d.getCurrentName(n);t.dir=d.getCurrentDirName(),t.dirPath=d.getCurrentDirPath(),t.parentDirPath=d.getParentDirPath(),t.element=n,t.ext=r.getExt(a),t.files=Array.from(o.children),t.filesPassive=Array.from(i),t.first=o.firstChild,t.getData=d.getCurrentData,t.last=o.lastChild,t.link=d.getCurrentLink(n),t.mode=d.getCurrentMode(n),t.name=a,t.path=d.getCurrentPath(n),t.panel=o.parentElement||d.getPanel(),t.panelPassive=s,t.size=d.getCurrentSize(n),t.isDir=d.isCurrentIsDir(),t.isSelected=d.isSelected(n),t.panelPosition=d.getPanel().dataset.name.replace("js-",""),t.isOnePanel=t.panel.getAttribute("data-name")===t.panelPassive.getAttribute("data-name")}},6439:(e,t,n)=>{"use strict";CloudCmd.EditNamesVim=t;const r=n(722),{Key:o}=CloudCmd,s={bindKeys:!1,beforeClose:()=>{r.rmKey(a),CloudCmd.EditNames.isChanged()}};function i(){CloudCmd.Edit.hide()}function a(e){const{keyCode:t,shiftKey:n}=e;n&&t===o.ESC&&(e.preventDefault(),i())}e.exports.init=async()=>{await CloudCmd.EditNames()},e.exports.show=()=>{r.addKey(a),CloudCmd.EditNames.show(s).getEditor().setKeyMap("vim")},e.exports.hide=i},6558:(e,t,n)=>{"use strict";var r=n(316);e.exports=function(e,t){if(!e.isConnected||!(e=>{let t=e;for(;t&&t.parentNode;){if(t.parentNode===document)return!0;t=t.parentNode instanceof ShadowRoot?t.parentNode.host:t.parentNode}return!1})(e))return;const n=(e=>{const t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);if((e=>"object"==typeof e&&"function"==typeof e.behavior)(t))return t.behavior(r.compute(e,t));const o="boolean"==typeof t||null==t?void 0:t.behavior;for(const{el:s,top:i,left:a}of r.compute(e,(e=>!1===e?{block:"end",inline:"nearest"}:(e=>e===Object(e)&&0!==Object.keys(e).length)(e)?e:{block:"start",inline:"nearest"})(t))){const e=i-n.top+n.bottom,t=a-n.left+n.right;s.scroll({top:e,left:t,behavior:o})}}},6686:e=>{"use strict";const t=e=>()=>e,{keys:n}=Object;function r(e,t,n){if(!n)return[`{{ ${e} }}`,t[e]];const r=e.replaceAll("{{","").replaceAll("}}","").replaceAll(" ",""),o=t[r]||"";if(!r.includes("|"))return[e,o];const[s,i]=r.split("|"),a=n[i],c=t[s];return a?[e,a(c)]:[e,c]}e.exports=(e,o,s)=>{!function(e,t){if("string"!=typeof e)throw Error("template should be a string!");if("object"!=typeof t)throw Error("values should be an object!")}(e,o);let i=e;const a=s?e.match(/{{(.*?)}}/g):n(o);for(const e of a){const[n,a]=r(e,o,s),c=t(a);for(;i.includes(n);)i=i.replace(n,c)}return i.includes("{{")&&(i=i.replace(/{{.*?}}/g,"")),i}},6698:e=>{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},6727:(e,t,n)=>{"use strict";const r=n(6686),o=n(4002),s=e=>"object"==typeof e,{entries:i}=Object;e.exports=function e(t,n,a,c=""){let l="";c&&(c+=".");for(const[u,d]of i(t)){let t,i="",f="",p="";const m=c+u;s(d)?(i=r(o.MAIN,{items:e(d,n,a,m)}),f=" menu-submenu",p=' data-menu="js-submenu"'):n[m]=d,a.icon&&(t=u.replace(/\(|\)/g,"").replace(/\s/g,"-").toLowerCase(),f+=` icon icon-${t}`),l+=r(o.ITEM,{name:u,subitems:i,className:f,attribute:p,path:m})}return l}},6735:e=>{"use strict";e.exports=navigator.clipboard||{readText:function(){return Promise.reject()},writeText:async function(e){const t=document.createElement("textarea");t.value=e,document.body.appendChild(t),t.select();const n=document.execCommand("copy");if(document.body.removeChild(t),!n)return Promise.reject()}}},6790:e=>{"use strict";e.exports=async(e,...t)=>{!function(e){if("function"!=typeof e)throw Error("fn should be a function!")}(e);try{return[null,await e(...t)]}catch(e){return[e]}}},6927:(e,t,n)=>{"use strict";const r=n(6790);n(1825);const o=n(9168),s=n(1256),i=n(6098),a=n(7346),c=s.parallel,{Dialog:l}=i,{Key:u,config:d}=CloudCmd;let f,p,m;function h(){CloudCmd.View.hide()}CloudCmd.Terminal=t,e.exports.init=async()=>{d("terminal")&&(a.show.load("top"),await CloudCmd.View(),await(async()=>{const{prefix:e}=CloudCmd,t=`${g()}/gritty.js`,n=`${e}/dist/terminal.css`,[o]=await r(c,[t,n]);if(o){const e=o.target.src.replace(window.location.href,"");return l.alert(`file ${e} could not be loaded`)}f=!0})(),function(){const e={env:C(),prefix:CloudCmd.prefixSocket+"/gritty",socketPath:CloudCmd.prefix,fontFamily:"Droid Sans Mono"},{socket:t,terminal:n}=gritty(document.body,e);m=t,p=n,p.onKey(({domEvent:e})=>{const{keyCode:t,shiftKey:n}=e;n&&t===u.ESC&&h()}),m.on("connect",o.with(y,t))}())},e.exports.show=function(){f&&d("terminal")&&CloudCmd.View.show(p.element,{afterShow:()=>{p.focus()}})},e.exports.hide=h;const g=()=>CloudCmd.prefix+"/gritty";const C=()=>({ACTIVE_DIR:i.getCurrentDirPath,PASSIVE_DIR:i.getNotCurrentDirPath,CURRENT_NAME:i.getCurrentName,CURRENT_PATH:i.getCurrentPath});function y(e){e.emit("auth",d("username"),d("password")),e.on("reject",()=>{l.alert("Wrong credentials!")})}},7023:e=>{"use strict";e.exports=(e,...t)=>(function(e){if("function"!=typeof e)throw Error("fn should be function!")}(e),(...n)=>{const r=[...t,...n];return e(...r)})},7252:(e,t,n)=>{"use strict";const r=n(9915),o=n(7411),s=n(9775),i=n(6698),{isArray:a}=Array;function c(e,t){if(!(this instanceof c))return new c(e,t);if("function"!=typeof t)throw Error("processingFn should be function!");o.call(this);const n=a(r=e)?r:[r];var r;this._i=0,this._n=0,this._processingFn=t,this._pause=!1,this._prev=0,this._find(n,(e,t)=>{this._files=e,this._dirs=t,this._n=e.length+t.length,this._data={},this._getFiles(e,this._data,()=>{this._process()})})}e.exports=c,i(c,o),c.prototype._process=function(){const e=this._processingFn.length,t=e=>{++this._i,e&&(this.emit("error",e),this.pause()),this._process(),this._progress()};let n,r,o=this._dirs.shift(),s="directory";if(!o){s="file";const e=this._files.shift();e&&(o=e.fullPath,n=this._data[o])}if(!o)return this.emit("end");this._pause||(r=6===e?[s,o,n,this._i,this._n]:[s,o,n],r.push(t),this._processingFn(...r))},c.prototype.pause=function(){this._pause=!0},c.prototype.continue=function(){this._pause&&(this._pause=!1,this._process())},c.prototype.abort=function(){this._files=[],this._dirs=[],this._process()},c.prototype._progress=function(){const e=Math.round(100*this._i/this._n);e!==this._prev&&(this._prev=e,this.emit("progress",e))},c.prototype._getFiles=function(e,t,n){const r=e.slice(),o=r.shift();if(!o)return n(null,t);o.file(e=>{const s=o.fullPath;t[s]=e,this._getFiles(r,t,n)})},c.prototype._find=function(e,t){const n=[],o=[];s(e,(e,t)=>{const s=r(e);s.on("directory",e=>{o.push(e)}),s.on("file",(e,t)=>{n.push(t)}),s.on("end",()=>{t()})},()=>{t(n,o)})}},7346:(e,t,n)=>{"use strict";const r=n(407),o=e.exports,s="loading",i="hidden",a="error",c=()=>function(){const e=document.createElementNS;if(!e)return!1;const t=e.bind(document)("http://www.w3.org/2000/svg","animate").toString();return/SVGAnimate/.test(t)}()?"-svg":"-gif";function l(){return r("span",{id:"js-status-image",className:"icon",dataName:"progress",notAppend:!0})}function u(e,t){const n=o.loading(),r=n.parentElement,s=DOM.getRefreshButton(t);let i;return"top"===e?i=s.parentElement:(i=DOM.getCurrentFile(),i=i?DOM.getByDataName("js-name",i):s.parentElement),(!r||r&&r!==i)&&i.appendChild(n),DOM.show(n),n}e.exports.get=l,e.exports.loading=()=>{const e=l(),{classList:t}=e,n=s+c();return t.add(s,n),t.remove(a,i),e},e.exports.error=()=>{const e=l(),{classList:t}=e,n=s+c();return t.add(a),t.remove(i,s,n),e},e.exports.show=u,e.exports.show.load=u,e.exports.show.error=function(e){const t=o.error();return DOM.show(t),t.title=e,t},e.exports.hide=()=>{const e=o.get();return DOM.hide(e),o},e.exports.setProgress=(e,t)=>{const n=o.get();return n?(n.setAttribute("data-progress",`${e}%`),t&&(n.title=t),o):o},e.exports.clearProgress=()=>{const e=o.get();return e?(e.setAttribute("data-progress",""),e.title="",o):o}},7411:e=>{"use strict";function t(){if(!(this instanceof t))return new t;this._all={}}function n(e){if("string"!=typeof e)throw Error("event should be string!")}function r(e,t){n(e),function(e){if("function"!=typeof e)throw Error("callback should be function!")}(t)}e.exports=t,t.prototype.on=function(e,t){const n=this._all[e];return r(e,t),n?n.push(t):this._all[e]=[t],this},t.prototype.addListener=t.prototype.on,t.prototype.once=function(e,t){const n=this;return r(e,t),this.on(e,function r(...o){t(...o),n.off(e,r)}),this},t.prototype.off=function(e,t){const n=this._all[e]||[];let o=n.indexOf(t);for(r(e,t);~o;)n.splice(o,1),o=n.indexOf(t);return this},t.prototype.removeListener=t.prototype.off,t.prototype.emit=function(e,...t){const r=this._all[e];if(n(e),!r&&"error"===e)throw t[0];if(!r)return this;for(const e of r)e(...t);return this},t.prototype.removeAllListeners=function(e){return n(e),this._all[e]=[],this}},7508:e=>{"use strict";e.exports.runSelected=async(e,t,n)=>{for(const r of e)await n(t[r])}},7775:(e,t,n)=>{"use strict";n.r(t)},7975:e=>{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",o=0,s=-1,i=0,a=0;a<=e.length;++a){if(a<e.length)n=e.charCodeAt(a);else{if(47===n)break;n=47}if(47===n){if(s===a-1||1===i);else if(s!==a-1&&2===i){if(r.length<2||2!==o||46!==r.charCodeAt(r.length-1)||46!==r.charCodeAt(r.length-2))if(r.length>2){var c=r.lastIndexOf("/");if(c!==r.length-1){-1===c?(r="",o=0):o=(r=r.slice(0,c)).length-1-r.lastIndexOf("/"),s=a,i=0;continue}}else if(2===r.length||1===r.length){r="",o=0,s=a,i=0;continue}t&&(r.length>0?r+="/..":r="..",o=2)}else r.length>0?r+="/"+e.slice(s+1,a):r=e.slice(s+1,a),o=a-s-1;s=a,i=0}else 46===n&&-1!==i?++i:i=-1}return r}var r={resolve:function(){for(var e,r="",o=!1,s=arguments.length-1;s>=-1&&!o;s--){var i;s>=0?i=arguments[s]:(void 0===e&&(e=process.cwd()),i=e),t(i),0!==i.length&&(r=i+"/"+r,o=47===i.charCodeAt(0))}return r=n(r,!o),o?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&o&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n<arguments.length;++n){var o=arguments[n];t(o),o.length>0&&(void 0===e?e=o:e+="/"+o)}return void 0===e?".":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=r.resolve(e))===(n=r.resolve(n)))return"";for(var o=1;o<e.length&&47===e.charCodeAt(o);++o);for(var s=e.length,i=s-o,a=1;a<n.length&&47===n.charCodeAt(a);++a);for(var c=n.length-a,l=i<c?i:c,u=-1,d=0;d<=l;++d){if(d===l){if(c>l){if(47===n.charCodeAt(a+d))return n.slice(a+d+1);if(0===d)return n.slice(a+d)}else i>l&&(47===e.charCodeAt(o+d)?u=d:0===d&&(u=0));break}var f=e.charCodeAt(o+d);if(f!==n.charCodeAt(a+d))break;47===f&&(u=d)}var p="";for(d=o+u+1;d<=s;++d)d!==s&&47!==e.charCodeAt(d)||(0===p.length?p+="..":p+="/..");return p.length>0?p+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,o=-1,s=!0,i=e.length-1;i>=1;--i)if(47===(n=e.charCodeAt(i))){if(!s){o=i;break}}else s=!1;return-1===o?r?"/":".":r&&1===o?"//":e.slice(0,o)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var r,o=0,s=-1,i=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,c=-1;for(r=e.length-1;r>=0;--r){var l=e.charCodeAt(r);if(47===l){if(!i){o=r+1;break}}else-1===c&&(i=!1,c=r+1),a>=0&&(l===n.charCodeAt(a)?-1===--a&&(s=r):(a=-1,s=c))}return o===s?s=c:-1===s&&(s=e.length),e.slice(o,s)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!i){o=r+1;break}}else-1===s&&(i=!1,s=r+1);return-1===s?"":e.slice(o,s)},extname:function(e){t(e);for(var n=-1,r=0,o=-1,s=!0,i=0,a=e.length-1;a>=0;--a){var c=e.charCodeAt(a);if(47!==c)-1===o&&(s=!1,o=a+1),46===c?-1===n?n=a:1!==i&&(i=1):-1!==n&&(i=-1);else if(!s){r=a+1;break}}return-1===n||-1===o||0===i||1===i&&n===o-1&&n===r+1?"":e.slice(n,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+r:n+"/"+r:r}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var r,o=e.charCodeAt(0),s=47===o;s?(n.root="/",r=1):r=0;for(var i=-1,a=0,c=-1,l=!0,u=e.length-1,d=0;u>=r;--u)if(47!==(o=e.charCodeAt(u)))-1===c&&(l=!1,c=u+1),46===o?-1===i?i=u:1!==d&&(d=1):-1!==i&&(d=-1);else if(!l){a=u+1;break}return-1===i||-1===c||0===d||1===d&&i===c-1&&i===a+1?-1!==c&&(n.base=n.name=0===a&&s?e.slice(1,c):e.slice(a,c)):(0===a&&s?(n.name=e.slice(1,i),n.base=e.slice(1,c)):(n.name=e.slice(a,i),n.base=e.slice(a,c)),n.ext=e.slice(i,c)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r},8167:(e,t,n)=>{"use strict";const{promisify:r}=n(4905),o=n(6790),s=n(55);n(1825);const i=n(9168),a=n(1256),c=n(6098),l=n(7346),{Dialog:u}=c,{Key:d,config:f}=CloudCmd;let p,m,h;CloudCmd.TerminalRun=t;const g=s();function C(){CloudCmd.View.hide()}e.exports.init=async()=>{f("terminal")&&(l.show.load("top"),await CloudCmd.View(),await(async()=>{const{prefix:e}=CloudCmd,t=`${y()}/gritty.js`,n=`${e}/dist/terminal.css`,[r]=await o(a.parallel,[t,n]);if(r){const e=r.target.src.replace(window.location.href,"");return u.alert(`file ${e} could not be loaded`)}p=!0})())},e.exports.show=r((e={},t)=>{if(!p)return t(null,-1);f("terminal")&&(function(e){const{cwd:t=c.getCurrentDirPath(),command:n,autoClose:r,closeMessage:o="Press any key to close Terminal..."}=e,s={cwd:t,env:w(),prefix:CloudCmd.prefixSocket+"/gritty",socketPath:CloudCmd.prefix,fontFamily:"Droid Sans Mono",command:n,autoRestart:!1};let a=!1;const{socket:l,terminal:u}=gritty(document.body,s);h=l,m=u,m.onKey(({domEvent:e})=>{const{keyCode:t,shiftKey:n}=e;a&&C(),n&&t===d.ESC&&C()}),h.on("exit",e=>{if(g(e),r)return C();u.write(`\n${o}`),a=!0}),h.on("connect",i.with(x,l))}(e),CloudCmd.View.show(m.element,{afterShow:()=>{m.focus()},afterClose:()=>{t(null,g())}}))}),e.exports.hide=C;const y=()=>CloudCmd.prefix+"/gritty";const w=()=>({ACTIVE_DIR:c.getCurrentDirPath,PASSIVE_DIR:c.getNotCurrentDirPath,CURRENT_NAME:c.getCurrentName,CURRENT_PATH:c.getCurrentPath});function x(e){e.emit("auth",f("username"),f("password")),e.on("reject",()=>{u.alert("Wrong credentials!")})}},8199:(e,t,n)=>{"use strict";const r=n(4299),o=r((e,t)=>!e.includes(t)),s=r((e,t)=>e.filter(o(t)));e.exports=(e,t,n)=>{const r=t.indexOf(e),o=s(t,n),{length:i}=o;return o[r]?o[r]:o[i-1]}},8218:e=>{"use strict";e.exports=(e,t)=>{const n=e.indexOf(t);return~n?n:0}},8221:(e,t,n)=>{"use strict";n(2538);const r=n(4299),o=n(9317),s=n(55),i=n(1256),a=n(407),c=n(8446),l=n(6790),{codeFrameColumns:u}=n(2882),d=n(7346),f=n(2300),p=n(1213),m=n(2286),h=n(8373),g=n(8498),{runSelected:C}=n(7508),y=i.css,w=s();CloudCmd.UserMenu=e.exports;const{Key:x}=CloudCmd;e.exports.init=async()=>{await Promise.all([y(`${CloudCmd.prefix}/dist/user-menu.css`),CloudCmd.View()])},e.exports.show=async function(){d.show.load("top");const{dirPath:e}=v,t=await fetch(`${CloudCmd.prefix}/api/v1/user-menu?dir=${e}`),n=await t.text(),[r,o]=c(p,n);if(d.hide(),r)return f.alert(S({error:r,source:n}));w(n);const{names:s,keys:i,items:l,settings:u}=g(o);if(u.run)return C(u.select,l,k);const m=a("button",{className:"cloudcmd-user-menu-button",innerText:"User Menu",notAppend:!0}),h=a("select",{className:"cloudcmd-user-menu",innerHTML:b(s),notAppend:!0,size:10});m.addEventListener("click",O(o,h)),h.addEventListener("dblclick",E(o)),h.addEventListener("keydown",M({keys:i,userMenu:o})),CloudCmd.View.show([m,h],{autoSize:!0,afterShow:()=>h.focus()})},e.exports.hide=D;const{CurrentInfo:v}=DOM;function b(e){const t=[];for(const n of e)t.push(`<option>${n}</option>`);return t.join("")}function D(){CloudCmd.View.hide()}const E=r(async(e,t)=>{const{value:n}=t.target;await k(e[n])}),O=o(async(e,{value:t})=>{await k(e[t])}),M=r(async({keys:e,userMenu:t},n)=>{const{keyCode:r,target:o}=n,s=n.key.toUpperCase();let i;if(n.preventDefault(),n.stopPropagation(),r===x.ESC)return D();if(r===x.ENTER)i=t[o.value];else{if(!e[s])return m(o,n);i=e[s]}await k(i)}),k=async e=>{D();const[t]=await l(e,{DOM,CloudCmd,tryToCatch:l});if(!t)return;const n=w();return f.alert(S({error:t,source:n}))};function S({error:e,source:t}){const{code:n}=e;if(!n||"frame"===n)return e.message;const[r,o]=h(e);return`<pre>${u(t,{start:{line:r,column:o}},{message:e.message,highlightCode:!1})}</pre>`}},8278:(e,t,n)=>{e.exports=n(4261)},8373:e=>{"use strict";const t=e=>"number"==typeof e;e.exports=e=>{const{lineNumber:n,columnNumber:r}=e;if(t(n)&&t(r))return[n,r];const o=e.stack.indexOf(">"),s=e.stack.slice(o+1),i=s.indexOf(")"),a=s.slice(1,i),[c,l]=a.split(":");return[Number(c),Number(l)]}},8401:(e,t,n)=>{"use strict";const r=n(975);e.exports=(e,t)=>(function(e,t){if(!e)throw Error("pattern could not be empty!");if(!Array.isArray(t))throw Error("names should be an array!")}(e,t),t.map(o(e)));const o=e=>(t,n)=>{const[o,s]=function(e){const t=e.lastIndexOf(".");return~t?[e.substr(0,t),e.substr(t)]:[e,""]}(t),i=r(new Date,{sep:"-"});return e.replace("[n]",o).replace("[e]",s).replace("[c]",n+1).replace("[ymd]",i)}},8423:(e,t,n)=>{"use strict";n.r(t)},8446:e=>{"use strict";e.exports=(e,...t)=>{try{return[null,e(...t)]}catch(e){return[e]}}},8451:(e,t,n)=>{"use strict";const r=n(1597),{promisify:o}=n(4905),s=n(6790),i=n(407),a=n(1256),{MAX_FILE_SIZE:c}=n(4180),{time:l,timeEnd:u}=n(887),d=()=>g,f=a.js,p="Edit";CloudCmd[p]=t;const m=CloudCmd.config("editor");let h,g,C=!0;const y={afterShow:()=>{g.moveCursorTo(0,0).focus()}};e.exports.init=async()=>{const e=function(){const e=i("div",{style:r`
|
|
1
|
+
(globalThis.webpackChunkcloudcmd=globalThis.webpackChunkcloudcmd||[]).push([[94,229,267,547,552],{55:e=>{"use strict";e.exports=e=>{const t={value:e};return(...e)=>{const[n]=e;return e.length?(t.value=n,n):t.value}}},112:(e,t,n)=>{"use strict";const r=n(6790),o=Promise.all.bind(Promise);e.exports=async e=>{const[t,n=[]]=await r(o,e);return[t,...n]}},181:(e,t,n)=>{"use strict";const r=n(6098),o=r.CurrentInfo,{sort:s,order:i}=CloudCmd,a=r.getPanelPosition();let c=s[a];const{getPanel:l}=r;CloudCmd.sortPanel=(e,t=l())=>{const n=t.dataset.name.replace("js-","");e!==c?i[n]="asc":"asc"===i[n]?i[n]="desc":i[n]="asc",c=e,s[n]=e;const r=n!==o.panelPosition;CloudCmd.refresh({panel:t,noCurrent:r})}},231:(e,t,n)=>{"use strict";const{FS:r}=n(4180),o=n(701),s={top:!0};e.exports.delete=async(e,t)=>await o({method:"DELETE",url:r+e,data:t,imgPosition:{top:Boolean(t)}}),e.exports.patch=async(e,t)=>await o({method:"PATCH",url:r+e,data:t,imgPosition:s}),e.exports.write=async(e,t)=>await o({method:"PUT",url:r+e,data:t,imgPosition:s}),e.exports.createDirectory=async e=>await o({method:"PUT",url:`${r}${e}?dir`,imgPosition:s}),e.exports.read=async(e,t="text")=>{const n=!e.includes("?");return await o({method:"GET",url:r+e,notLog:n,dataType:t})},e.exports.copy=async(e,t,n)=>await o({method:"PUT",url:"/copy",data:{from:e,to:t,names:n},imgPosition:s}),e.exports.pack=async e=>await o({method:"PUT",url:"/pack",data:e}),e.exports.extract=async e=>await o({method:"PUT",url:"/extract",data:e}),e.exports.move=async(e,t,n)=>await o({method:"PUT",url:"/move",data:{from:e,to:t,names:n},imgPosition:s}),e.exports.rename=async(e,t)=>await o({method:"PUT",url:"/rename",data:{from:e,to:t},imgPosition:s}),e.exports.Config={read:async()=>await o({method:"GET",url:"/config",imgPosition:s,notLog:!0}),write:async e=>await o({method:"PATCH",url:"/config",data:e,imgPosition:s})},e.exports.Markdown={read:async e=>await o({method:"GET",url:`/markdown${e}`,imgPosition:s,notLog:!0}),render:async e=>await o({method:"PUT",url:"/markdown",data:e,imgPosition:s,notLog:!0})}},246:(e,t,n)=>{"use strict";n.r(t)},316:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e=>"object"==typeof e&&null!=e&&1===e.nodeType,r=(e,t)=>(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e,o=(e,t)=>{if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){const n=getComputedStyle(e,null);return r(n.overflowY,t)||r(n.overflowX,t)||(e=>{const t=(e=>{if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}})(e);return!!t&&(t.clientHeight<e.scrollHeight||t.clientWidth<e.scrollWidth)})(e)}return!1},s=(e,t,n,r,o,s,i,a)=>s<e&&i>t||s>e&&i<t?0:s<=e&&a<=n||i>=t&&a>=n?s-e-r:i>t&&a<n||s<e&&a>n?i-t+o:0,i=e=>{const t=e.parentElement;return null==t?e.getRootNode().host||null:t};t.compute=(e,t)=>{var r,a,c,l;if("undefined"==typeof document)return[];const{scrollMode:u,block:d,inline:f,boundary:p,skipOverflowHiddenElements:m}=t,h="function"==typeof p?p:e=>e!==p;if(!n(e))throw new TypeError("Invalid target");const g=document.scrollingElement||document.documentElement,C=[];let y=e;for(;n(y)&&h(y);){if(y=i(y),y===g){C.push(y);break}null!=y&&y===document.body&&o(y)&&!o(document.documentElement)||null!=y&&o(y,m)&&C.push(y)}const w=null!=(a=null==(r=window.visualViewport)?void 0:r.width)?a:innerWidth,x=null!=(l=null==(c=window.visualViewport)?void 0:c.height)?l:innerHeight,{scrollX:v,scrollY:b}=window,{height:D,width:E,top:O,right:M,bottom:k,left:S}=e.getBoundingClientRect(),{top:P,right:N,bottom:F,left:A}=(e=>{const t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);let T="start"===d||"nearest"===d?O-P:"end"===d?k+F:O+D/2-P+F,j="center"===f?S+E/2-A+N:"end"===f?M+N:S-A;const L=[];for(let e=0;e<C.length;e++){const t=C[e],{height:n,width:r,top:i,right:a,bottom:c,left:l}=t.getBoundingClientRect();if("if-needed"===u&&O>=0&&S>=0&&k<=x&&M<=w&&(t===g&&!o(t)||O>=i&&k<=c&&S>=l&&M<=a))return L;const p=getComputedStyle(t),m=parseInt(p.borderLeftWidth,10),h=parseInt(p.borderTopWidth,10),y=parseInt(p.borderRightWidth,10),P=parseInt(p.borderBottomWidth,10);let N=0,F=0;const A="offsetWidth"in t?t.offsetWidth-t.clientWidth-m-y:0,I="offsetHeight"in t?t.offsetHeight-t.clientHeight-h-P:0,$="offsetWidth"in t?0===t.offsetWidth?0:r/t.offsetWidth:0,_="offsetHeight"in t?0===t.offsetHeight?0:n/t.offsetHeight:0;if(g===t)N="start"===d?T:"end"===d?T-x:"nearest"===d?s(b,b+x,x,h,P,b+T,b+T+D,D):T-x/2,F="start"===f?j:"center"===f?j-w/2:"end"===f?j-w:s(v,v+w,w,m,y,v+j,v+j+E,E),N=Math.max(0,N+b),F=Math.max(0,F+v);else{N="start"===d?T-i-h:"end"===d?T-c+P+I:"nearest"===d?s(i,c,n,h,P+I,T,T+D,D):T-(i+n/2)+I/2,F="start"===f?j-l-m:"center"===f?j-(l+r/2)+A/2:"end"===f?j-a+y+A:s(l,a,r,m,y+A,j,j+E,E);const{scrollLeft:e,scrollTop:o}=t;N=0===_?0:Math.max(0,Math.min(o+N/_,t.scrollHeight-n/_+I)),F=0===$?0:Math.max(0,Math.min(e+F/$,t.scrollWidth-r/$+A)),T+=o-N,j+=e-F}L.push({el:t,top:N,left:F})}return L}},368:(e,t,n)=>{"use strict";n(9074);const r=n(6558);DOM.scrollIntoViewIfNeeded=e=>r(e,{block:"nearest"})},407:(e,t,n)=>{"use strict";const r=n(4299),o=r((e,t,n)=>e.setAttribute(n,t[n])),s=r((e,t,n)=>e[n]=t[n]),i=r((e,t)=>!e(t)),a=e=>e!=e.toLowerCase();function c(e){var t;if(e)return t=e,document.querySelector(`[data-name="${t}"]`)}e.exports=(e,t={})=>{const{dataName:n,notAppend:r,parent:l=document.body,uniq:u=!0,...d}=t,f=c(n);if(u&&f)return f;const p=document.createElement(e);return n&&(p.dataset.name=n),Object.keys(d).filter(a).map(s(p,t)),Object.keys(d).filter(i(a)).map(o(p,t)),r||l.appendChild(p),p},e.exports.isElementPresent=c},459:(e,t,n)=>{"use strict";CloudCmd.Contact=t;const r=n(1362),o=n(7346),{Events:s}=DOM,{Key:i}=CloudCmd;function a(){i.unsetBind(),o.hide(),r("api.box.expand")}function c(){i.setBind(),r("api.box.hide")}function l({keyCode:e}){e===i.ESC&&c()}e.exports.show=a,e.exports.hide=c,e.exports.init=()=>{s.addKey(l),r.identify("6216-545-10-4223"),r("api.box.onExpand",a),r("api.box.onShow",a),r("api.box.onShrink",c)}},613:e=>{"use strict";e.exports.createBinder=()=>{let e=!1;return{isBind:()=>e,setBind(){e=!0},unsetBind(){e=!1}}}},701:(e,t,n)=>{"use strict";const{promisify:r}=n(4905),o=n(7346),s=n(4656);function i(e){return e.replace(/#/g,"%23")}e.exports=r((e,t)=>{const n=e,{prefixURL:r}=CloudCmd;n.url=r+n.url,n.url=encodeURI(n.url),n.url=i(n.url),s.ajax({method:n.method,url:n.url,data:n.data,dataType:n.dataType,error:e=>{const n=e.responseText,{statusText:r,status:o}=e;t(Error(404===o?n:r))},success:e=>{o.hide(),n.notLog||CloudCmd.log(e),t(null,e)}})}),e.exports._replaceHash=i},722:(e,t,n)=>{"use strict";const r=n(2515),o=n(726);e.exports=new function(){const e=this,t=e=>"touchstart"===e&&{passive:!0};function n(e,o,s,i){let a;const c=[e,o,s,i],l=r(e);switch(l){default:if(!l.endsWith("element"))throw Error(`unknown eventName: ${l}`);n(c[1],c[0],s,i);break;case"string":a=r.function(o),a&&(s=o,o=null),o||(o=window),i(o,[e,s,t(e)]);break;case"array":for(const t of e)n(t,o,s,i);break;case"object":for(const t of Object.keys(e))n(t,o,e[t],i)}}function s(e){if(!e)throw Error("type could not be empty!")}this.add=(t,r,i)=>(s(t),n(t,r,i,(e,t)=>{const[n,r,s]=t;e.addEventListener(n,r,s),o.add(e,n,r)}),e),this.addOnce=(t,n,r)=>{const o=s=>{e.remove(t,n,o),r(s)};return r||(r=n,n=null),this.add(t,n,o),e},this.remove=(t,r,o)=>(s(t),n(t,r,o,(e,t)=>{e.removeEventListener(...t)}),e),this.removeAll=()=>{const e=o.get();for(const[t,n,r]of e)t.removeEventListener(n,r);o.clear()},this.addKey=function(...t){return e.add("keydown",...t)},this.rmKey=function(...t){return e.remove("keydown",...t)},this.addClick=function(...t){return e.add("click",...t)},this.rmClick=function(...t){return e.remove("click",...t)},this.addContextMenu=function(...t){return e.add("contextmenu",...t)},this.addLoad=function(...t){return e.add("load",...t)}}},726:e=>{"use strict";let t=[];e.exports.add=(e,n,r)=>{t.push([e,n,r])},e.exports.clear=()=>{t=[]},e.exports.get=()=>t},850:(e,t,n)=>{"use strict";const r=n(3366),o=n(5655),{setCurrent:s,selectFileNotParent:i}=n(9530),{Dialog:a}=DOM,c={...DOM,...CloudCmd};e.exports=async(e,t,n=c)=>{const o=l(t,n);await r(e,o)};const l=(e,t)=>{const{Info:n=DOM.CurrentInfo,Operation:r,unselectFiles:i,setCurrentFile:c,setCurrentByName:l,getCurrentName:u,toggleSelectedFile:d,Buffer:f={}}=t;return{escape:i,remove:()=>{r.show("delete")},makeDirectory:()=>{e.stopImmediatePropagation(),e.preventDefault(),DOM.promptNewDir()},makeFile:()=>{e.stopImmediatePropagation(),e.preventDefault(),DOM.promptNewFile()},terminal:()=>{CloudCmd.Terminal.show()},edit:()=>{CloudCmd.EditFileVim.show()},copy:()=>{f.copy(),i()},select:()=>{const e=n.element;d(e)},paste:f.paste,moveNext:({count:e,isVisual:t,isDelete:o})=>{s("next",{count:e,isVisual:t,isDelete:o},{Info:n,setCurrentFile:c,unselectFiles:i,Operation:r})},movePrevious:({count:e,isVisual:t,isDelete:o})=>{s("previous",{count:e,isVisual:t,isDelete:o},{Info:n,setCurrentFile:c,unselectFiles:i,Operation:r})},find:async()=>{e.preventDefault();const[,t]=await a.prompt("Find","");if(!t)return;const r=n.files.map(u),[s]=o.find(t,r);l(s)},findNext:()=>{const e=o.findNext();l(e)},findPrevious:()=>{const e=o.findPrevious();l(e)}}};e.exports.selectFile=i},887:(e,t,n)=>{"use strict";const r=n(9168),o=e=>"string"==typeof e;e.exports.escapeRegExp=e=>(o(e)&&(e=e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")),e),e.exports.getRegExp=e=>{const t=`^${e.replace(/\./g,"\\.").replace(/\*/g,".*").replace("?",".?")}$`;return RegExp(t)},e.exports.exec=r,e.exports.getExt=e=>{if(!o(e))return"";const t=e.lastIndexOf(".");return~t?e.substr(t):""},e.exports.findObjByNameInArr=(e,t)=>{let n;if(!Array.isArray(e))throw Error("array should be array!");if(!o(t))throw Error("name should be string!");return e.some(e=>{const r=e.name===t,o=Array.isArray(e);return r?(n=e,r):o?e.some(e=>{const r=e.name===t;return r&&(n=e.data),r}):r}),n},e.exports.time=e=>{r.ifExist(console,"time",[e])},e.exports.timeEnd=e=>{r.ifExist(console,"timeEnd",[e])}},975:e=>{"use strict";e.exports=(e,t)=>{(function(e,t){const n={}.toString.call(e);if(e&&"[object Date]"!==n)throw Error("date should be Date!");if(t&&"object"!=typeof t)throw Error("options should be object!")})(e=e||new Date,t),t||(t={});const{sep:n=".",order:r="big"}=t;let o=e.getDate(),s=e.getMonth()+1;const i=e.getFullYear();switch(s<=9&&(s="0"+s),o<=9&&(o="0"+o),r){case"big":return[i,s,o].join(n);case"middle":return[s,o,i].join(n);case"little":return[o,s,i].join(n);default:throw Error('order could be "big", "middle" and "little" only!')}}},977:(e,t,n)=>{"use strict";const r=n(5291),o=n(9317),s=n(2954),{Dialog:i,Images:a}=DOM;e.exports=e=>t=>{const{operation:n,callback:c,noContinue:l,from:u,to:d}=e;let f,p;const m=o(({emitter:e,operation:t})=>{e.abort();const n=`${t} aborted`;p=!0,i.alert(n,{cancel:!1})}),h=t.removeListener.bind(t),g=t.on.bind(t),C=s(n,u,d),y=i.progress(C);y.catch(m({emitter:t,operation:n}));const w={progress:e=>{f=100===e,y.setProgress(e)},end:()=>{a.hide(),r(h,w),y.remove(),(p||f)&&c()},error:async e=>{if(p=e,l)return w.end(e),i.alert(e),void y.remove();const[n]=await i.confirm(`${e}\n Continue?`);if(!f&&!n)return t.continue();t.abort(),y.remove()}};r(g,w)}},1e3:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isIdentifierChar",{enumerable:!0,get:function(){return r.isIdentifierChar}}),Object.defineProperty(t,"isIdentifierName",{enumerable:!0,get:function(){return r.isIdentifierName}}),Object.defineProperty(t,"isIdentifierStart",{enumerable:!0,get:function(){return r.isIdentifierStart}}),Object.defineProperty(t,"isKeyword",{enumerable:!0,get:function(){return o.isKeyword}}),Object.defineProperty(t,"isReservedWord",{enumerable:!0,get:function(){return o.isReservedWord}}),Object.defineProperty(t,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return o.isStrictBindOnlyReservedWord}}),Object.defineProperty(t,"isStrictBindReservedWord",{enumerable:!0,get:function(){return o.isStrictBindReservedWord}}),Object.defineProperty(t,"isStrictReservedWord",{enumerable:!0,get:function(){return o.isStrictReservedWord}});var r=n(8721),o=n(3115)},1014:e=>{var t=String,n=function(){return{isColorSupported:!1,reset:t,bold:t,dim:t,italic:t,underline:t,inverse:t,hidden:t,strikethrough:t,black:t,red:t,green:t,yellow:t,blue:t,magenta:t,cyan:t,white:t,gray:t,bgBlack:t,bgRed:t,bgGreen:t,bgYellow:t,bgBlue:t,bgMagenta:t,bgCyan:t,bgWhite:t,blackBright:t,redBright:t,greenBright:t,yellowBright:t,blueBright:t,magentaBright:t,cyanBright:t,whiteBright:t,bgBlackBright:t,bgRedBright:t,bgGreenBright:t,bgYellowBright:t,bgBlueBright:t,bgMagentaBright:t,bgCyanBright:t,bgWhiteBright:t}};e.exports=n(),e.exports.createColors=n},1113:(e,t,n)=>{"use strict";const r=n(2121),o=n(4299)((e,t)=>t.includes(e)),s=r(e=>e&&e.length,[function(e,t){const n=e.split("").join(".*")+".*",r=RegExp(`^${n}$`,"i"),o=r.test.bind(r);return t.filter(o)},function(e,t){return t.filter(o(e))}]);e.exports=(e,t)=>(function(e,t){if("string"!=typeof e)throw Error("pattern should be string!");if(!Array.isArray(t))throw Error("list should be an array!")}(e,t),s(e,t)||[])},1115:(e,t,n)=>{"use strict";const r=n(8446),{parse:o,stringify:s}=JSON;e.exports.parse=(...e)=>{const[,t]=r(o,...e);return t},e.exports.stringify=(...e)=>{const[,t]=r(s,...e);return t}},1213:e=>{"use strict";e.exports=e=>{const t={};return Function("module",e)(t),t.exports}},1256:(e,t,n)=>{"use strict";const{promisify:r}=n(5450),o=n(407),s=()=>{},i=(e,t,n)=>{e.addEventListener(t,r=>{n(r),e.removeEventListener(t,n)})},a=async e=>{switch(function(e){let t,n="";return"string"==typeof e&&(t=e.lastIndexOf("."),~t&&(n=e.substr(t))),n}(e)){case".js":return await a.js(e);case".css":return await a.css(e);case".json":return await a.json(e);default:return await a.ajax(e)}};function c(e){if("string"!=typeof e)return"";~e.indexOf(":")&&(e+="-join");const t=e.lastIndexOf("/")+1,n=e.substr(e,t);return e.replace(n,"").replace(/\./g,"-")}a.onerror=s,a.onload=s,a.addLoadListener=e=>{a.onload=e},a.addErrorListener=e=>{a.onerror=e},e.exports=a,a.js=r((e,t)=>{const n=c(e);let r=document.getElementById(n);if(r)return t();r=o("script",{id:n,src:e}),i(r,"load",e=>{t(null,e),a.onload()}),i(r,"error",n=>{t(n),document.body.removeChild(r),a.onerror(n,e)})}),a.css=r((e,t)=>{const n=c(e);let r=document.getElementById(n);if(r)return t();r=o("link",{id:c(e),rel:"stylesheet",href:e,parent:document.head}),r.addEventListener("load",e=>{t(null,e),a.onload()}),r.addEventListener("error",n=>{t(n),document.head.removeChild(r),a.onerror(n,e)})}),a.ajax=r((e,t)=>{const n=new XMLHttpRequest;n.open("GET",e,!0),n.addEventListener("load",()=>{if(n.status>=200&&n.status<400){const e=n.responseText;t(null,e),a.onload()}}),n.addEventListener("error",e=>{a.onerror(e),t(e)}),n.send()}),a.json=r((e,t)=>{a.ajax(e,(e,n)=>{let r;e||(r=JSON.parse(n)),t(e,r)})}),a.series=async e=>{const t=e.shift();t&&(await a(t),await a.series(e))},a.parallel=async e=>{const t=e.map(a);return await Promise.all(t)},a.getIdBySrc=c},1343:(e,t,n)=>{"use strict";n.r(t)},1347:(e,t,n)=>{"use strict";n.d(t,{createCloudMenu:()=>i});var r=n(3850);const o=()=>{},{CloudCmd:s}=globalThis,i=async(e,t,n)=>{const r=await async function(){if("aleman"===s.config("menu")){const{host:e,protocol:t}=window.location,n=`${t}//${e}/node_modules/aleman/menu/menu.js`,{createMenu:r}=await import(n);return r}return a}(),i=await r(e,t,n);return i.addContextMenuListener=i.addContextMenuListener||o,i};function a(e,t,n){const o=document.querySelector('[data-name="js-fm"]');return r(o,t,n)}},1362:e=>{"use strict";const t="static.olark.com/jsclient/loader.js";if(!window.olark){const e=document.createElement("script"),[n]=document.getElementsByTagName("script");e.async=1,e.src="//"+t,n.parentNode.insertBefore(e,n);const r=window.olark=(...e)=>{o.s.push(e),o.t.push(Number(new Date))};r.extend=(e,t)=>{r("extend",e,t)},r.identify=e=>{r("identify",o.i=e)},r.configure=(e,t)=>{r("configure",e,t),o.c[e]=t};const o=r._={s:[],t:[Number(new Date)],c:{},l:t}}e.exports=window.olark},1583:e=>{"use strict";e.exports=(e,t,n)=>e<t?n.slice(e,t+1):e>t?n.slice(t,e+1):[n[e]]},1597:e=>{"use strict";function t(e){let t=0;const{length:n}=e;for(;t<n&&" "===e[t];)++t;return t}e.exports=(e,...n)=>{const r=function(e,t){const n=[],r=e.length+t.length;let o=0;for(let s=0;s<r;s++){const r=s%2?t.shift():e[o++];n.push(r)}return n.join("")}(e,n),o=r.split("\n").slice(1,-1);if(!o.length)return"";const[s]=o,i=t(s),a=[];for(const e of o){const n=t(e);n<i?a.push(e.slice(n)):a.push(e.slice(i))}return a.join("\n")}},1617:(e,t,n)=>{"use strict";n(246);const r=n(6686),o=n(4299),s=n(9317),i=n(6790),a=n(1256),c=n(9290),l=n(407),{time:u}=n(887),{FS:d}=n(4180),{isImage:f,isAudio:p,getType:m}=n(9744),h=n(3181),g=n(722),C=n(7346),{encode:y}=n(4404),{assign:w}=Object,{isArray:x}=Array,v=o((e,t,n,r)=>e(r,t,n)),b=s((...e)=>{for(const t of e)t()}),D=e=>"function"==typeof e,E=v(g.add),O=a.css;e.exports.show=async function(e,t={}){const n=CloudCmd.prefixURL+d;if(M)return;if(t&&!1===t.bindKeys||g.addKey(B),F=l("div",{className:"view",notAppend:!0}),F.tabIndex=0,e)return x(e)?F.append(...e):F.append(e),void c.open(F,$(t));C.show.load();const o=n+S.path;switch(t.raw?"":await m(o)){default:return await async function(){const[e,t]=await S.getData();if(e)return C.hide();const n=document.createTextNode(t),r=T;CloudCmd.config("showFileName")&&(r.title=S.name),F.append(n),c.open(F,r)}();case"markdown":return await CloudCmd.Markdown.show(S.path);case"html":return L(o);case"image":return function(e,t){const n=S.files.map(DOM.getCurrentPath).filter(t=>f(t)||t===e),r=n.map(e=>({href:`${t}${e}`,title:y(N(e))})),o={index:n.indexOf(S.path),autoSize:!0,arrows:!0,keys:!0,helpers:{title:{}}},s={...T,...o};c.open(r,s)}(S.path,n);case"media":return await async function(e){const[t,n]=await async function(e){!function(e){if("string"!=typeof e)throw Error("src should be a string!")}(e);const[t,n]=await i(h.get,"view/media-tmpl");if(t)return[t];const{name:o}=S;A||(A=n);const s=p(o)?"audio":"video",a=r(A,{src:e,type:s,name:o});return[null,l("div",{innerHTML:a})]}(e);if(t)return alert(t);const o={...T,autoSize:!0,afterShow:()=>{n.querySelector("audio, video").focus()}};c.open(n,o)}(o);case"pdf":return function(e){const t=j(e),n=w({},T);CloudCmd.config("showFileName")&&(n.title=S.name),c.open(t,n)}(o)}},e.exports.hide=_;let M=!1;const k="View";CloudCmd[k]=e.exports;const S=DOM.CurrentInfo,{Key:P}=CloudCmd,N=e=>e.split("/").pop();let F,A;const T={beforeShow:()=>{C.hide(),P.unsetBind()},beforeClose:()=>{g.rmKey(B),P.setBind()},afterShow:()=>{F.focus()},onOverlayClick:R,afterClose:()=>{},autoSize:!1,helpers:{title:{}}};function j(e){const t=l("iframe",{src:e,width:"100%",height:"100%"});return t.addEventListener("load",()=>{t.contentWindow.addEventListener("keydown",B)}),t}function L(e){c.open(j(e),T)}e.exports._Config=T,e.exports.init=async()=>{await async function(){const{DIR_DIST:e}=CloudCmd;u(`${k} load`),M=!0,await O(`${e}/view.css`),M=!1}(),["click","contextmenu"].forEach(E(void 0,R))},e.exports._createIframe=j,e.exports._viewHtml=L;const I=e=>w({},e);function $(e){const t=I(T);if(!e)return t;const n=Object.keys(e);for(const r of n){const n=Boolean(t[r]),o=e[r];if(!D(o)||!n){t[r]=e[r];continue}const s=t[r];t[r]=b(s,o)}return t}function _(){c.close()}function R(e){!function(e){const t=DOM.getCurrentByPosition(e);if(!t)return;const{files:n,filesPassive:r}=S,o=n.includes(t),s=r.includes(t);(o||s)&&(DOM.isCurrentFile(t)||DOM.setCurrentFile(t))}({x:e.clientX,y:e.clientY})}function B({keyCode:e}){e===P.ESC&&_()}e.exports._initConfig=$},1730:(e,t,n)=>{"use strict";e.exports.addSlashToEnd=e=>{if(!e)throw Error("path could not be empty!");return"/"===e[e.length-1]?e:`${e}/`},e.exports.size=e=>{const t=1024,n=1048576,r=n*t,o=r*t,s=o*t;return"number"==typeof e?e<t?e+"b":e<n?(e/t).toFixed(2)+"kb":e<r?(e/n).toFixed(2)+"mb":e<o?(e/r).toFixed(2)+"gb":e<s?(e/o).toFixed(2)+"tb":(e/s).toFixed(2)+"pb":e},e.exports.permissions=n(2234)},1747:(e,t,n)=>{"use strict";const r=n(6790);async function o(e){if(!navigator.serviceWorker)return;const t="https:"===location.protocol,n="localhost"===location.hostname;if(!t&&!n)return;const{serviceWorker:o}=navigator,s=o.register.bind(o),[i,a]=await r(s,`${e}/sw.js`);return i?null:a}e.exports.registerSW=o,e.exports.unregisterSW=async function(e){const t=await o(e);null==t||t.unregister(e)},e.exports.listenSW=(e,...t)=>{null==e||e.addEventListener(...t)}},1753:(e,t,n)=>{"use strict";const{getExt:r}=n(887);e.exports=e=>{const t=function(e){return/\.tar\.gz$/.test(e)?".tar.gz":/\.tar\.bz2$/.test(e)?".tar.bz2":r(e)}(e);return e.replace(t,"")}},1795:e=>{"use strict";const t=[()=>()=>{},e=>(...t)=>e(...t),(e,t)=>(...n)=>e(t(...n)),(e,t,n)=>(...r)=>e(t(n(...r))),(e,t,n,r)=>(...o)=>e(t(n(r(...o)))),(e,t,n,r,o)=>(...s)=>e(t(n(r(o(...s))))),(e,t,n,r,o,s)=>(...i)=>e(t(n(r(o(s(...i)))))),(e,t,n,r,o,s,i)=>(...a)=>e(t(n(r(o(s(i(...a)))))))];e.exports=(...e)=>e.length<t.length?t[e.length](...e):function(e){return(...t)=>{let n=e.length-1,r=e[n](...t);for(;--n;)r=e[n](r);return r}}(e)},1825:(e,t,n)=>{"use strict";n.r(t)},1954:e=>{"use strict";e.exports={BACKSPACE:8,TAB:9,ENTER:13,CAPSLOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,INSERT:45,DELETE:46,ZERO:48,SEMICOLON:52,A:65,C:67,D:68,G:71,J:74,K:75,M:77,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,X:88,Z:90,INSERT_MAC:96,ASTERISK:106,PLUS:107,MINUS:109,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,COLON:186,EQUAL:187,HYPHEN:189,DOT:190,SLASH:191,TRA:192,BACKSLASH:220,BRACKET_CLOSE:221}},1979:(e,t,n)=>{"use strict";const r=n(4299),o=e.exports,s=(e,t)=>{if(!e)throw Error("element could not be empty!");if(!t)throw Error("className could not be empty!");if(Array.isArray(t))return t.some(r(s,e));const{classList:n}=e;return n.contains(t)};e.exports.isContainClass=s,e.exports.getByTag=(e,t=document)=>t.getElementsByTagName(e),e.exports.getById=(e,t=document)=>t.querySelector(`#${e}`),e.exports.getByClass=(e,t=document)=>o.getByClassAll(e,t)[0],e.exports.getByDataName=(e,t=document)=>{const n='[data-name="'+e+'"]';return t.querySelector(n)},e.exports.getByClassAll=(e,t)=>(t||document).getElementsByClassName(e),e.exports.hide=e=>(e.classList.add("hidden"),o),e.exports.show=e=>(e.classList.remove("hidden"),o)},2121:(e,t,n)=>{"use strict";const r=n(4299),o=n(1795),s=n(7023),i=r((e,t)=>e(t)),a=e=>e,c=r((e,t)=>t(...e));e.exports=function(e,t){t||(t=e,e=a),function(e,t){if("function"!=typeof e)throw Error("condition should be function!");if(!Array.isArray(t))throw Error("filters should be an array!");!function(e,t){const n=s(e=>{throw Error(`fn should be ${e}!`)},e),r=s((e,t)=>e!==t,e);if(!t.length)return n(e);t.map(e=>typeof e).filter(r).forEach(n)}("function",t)}(e,t);const n=function(e){let t;return n=>{let r;return e(n)?t=r=n:(r=t,t=null),r}}(e),r=s(o,e,n),l=t.map(i(r)).reverse();return(...e)=>(l.some(c(e)),n())}},2234:(e,t,n)=>{"use strict";const r=n(4299),o={name:"r",value:4},s={name:"w",value:2},i={name:"x",value:1},a=r((e,t)=>e&t.value?t.name:"-"),c=r((e,t)=>[o,s,i].map(e(t)).join(""));e.exports.symbolic=e=>{if(void 0===e)return"";const t=e.slice(-3);return[Number(t[0]).toString(2),Number(t[1]).toString(2),Number(t[2]).toString(2)].map(c(a)).join(" ")},e.exports.numeric=e=>{if(!e||11!==e.length)throw Error('permissions should be in format "xxx xxx xxx"');return"00"+(("r"===e[0]?4:0)+("w"===e[1]?2:0)+("x"===e[2]?1:0))+(("r"===e[4]?4:0)+("w"===e[5]?2:0)+("x"===e[6]?1:0))+(("r"===e[8]?4:0)+("w"===e[9]?2:0)+("x"===e[10]?1:0))}},2286:(e,t,n)=>{"use strict";const r=n(55),{J:o,K:s,UP:i,DOWN:a}=n(1954),c=r(1);e.exports=(e,{key:t,keyCode:n})=>{if(/^\d+$/.test(t)&&c(Number(t)),n===a||n===o){const t=c();return c(1),function(e,t){const{length:n}=e;e.selectedIndex===n-1?e.selectedIndex=0:e.selectedIndex+=t,e.selectedIndex<0&&(e.selectedIndex=n-1)}(e,t)}if(n===i||n===s){const t=c();return c(1),function(e,t){const{length:n}=e;e.selectedIndex?e.selectedIndex-=t:e.selectedIndex=n-1,e.selectedIndex<0&&(e.selectedIndex=0)}(e,t)}}},2300:(e,t,n)=>{"use strict";const r=n(6790),{alert:o,prompt:s,confirm:i,progress:a}=n(9638),c="Cloud Commander";e.exports.alert=(...e)=>o(c,...e,{cancel:!1}),e.exports.prompt=(...e)=>r(s,c,...e),e.exports.confirm=(...e)=>r(i,c,...e),e.exports.progress=(...e)=>a(c,...e),e.exports.alert.noFiles=()=>o(c,"No files selected!",{cancel:!1})},2515:e=>{"use strict";e.exports=t;for(const e of["null","arrayBuffer","file","array","object"])t[e]=n.bind(null,e);for(const e of["string","undefined","boolean","number","function"])t[e]=r.bind(null,e);function t(e){return{}.toString.call(e).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(e,n){return t(n)===e}function r(e,t){return typeof t===e}},2538:(e,t,n)=>{"use strict";n.r(t)},2630:(e,t,n)=>{"use strict";const r=n(6790),{encode:o}=n(4404),s=n(7346),i=n(231),a=n(2300),c=e=>async(...t)=>{const[n,i]=await r(e,...t);if(!n)return[n,i];const c=o(n.message);return s.show.error(c),a.alert(c),[n,i]};e.exports.delete=c(i.delete),e.exports.patch=c(i.patch),e.exports.write=c(i.write),e.exports.createDirectory=c(i.createDirectory),e.exports.read=c(i.read),e.exports.copy=c(i.copy),e.exports.pack=c(i.pack),e.exports.extract=c(i.extract),e.exports.move=c(i.move),e.exports.rename=c(i.rename),e.exports.Config={read:c(i.Config.read),write:c(i.Config.write)},e.exports.Markdown={read:c(i.Markdown.read),render:c(i.Markdown.render)}},2799:(e,t,n)=>{"use strict";const r=n(9317),o=n(55),s=n(407),i=n(8533),a=n(4307),c=o(),l=o(),u=r((e,t)=>m(c()+1,e,t)),d=r((e,t)=>m(c()-1,e,t)),f=r((e,t)=>{e.hidden=!1,t()}),p=(e,t)=>function n(r){let o=c();const{keyCode:s}=r;if(37===s)--o;else{if(39!==s)return 27===s?document.body.removeEventListener("keydown",n):void 0;++o}m(o,e,t)};function m(e,t,n){const r=n.length-1;if(e<0||e>r)return;c(e),a("nav-left").hidden=!e,a("nav-right").hidden=e===r;const{href:o,title:s}=n[e];t.src=o,t.title=s,t.href=s,t.alt=s,l().title&&i(s,a("child"))}function h(e,t,n){return function r(o){n(o),e.removeEventListener(t,r)}}function g(e,t,n){e.addEventListener(t,h(e,t,n))}e.exports=function(e,t,{afterShow:n,helpers:r,index:o}){c(o),l(r);const i=function(){const e=document.createElement("img");return e.className="modal-image",e}();e.appendChild(i),e.hidden=!0,e.appendChild(s("div",{className:"modal-nav modal-nav-left",dataName:"modal-nav-left",innerHTML:"<span></span>"})),e.appendChild(s("div",{className:"modal-nav modal-nav-right",dataName:"modal-nav-right",innerHTML:'<span data-name="modal-next"></span>'})),m(o,i,t),g(i,"load",f(e,n)),a("nav-left").addEventListener("click",d(i,t)),a("nav-right").addEventListener("click",u(i,t)),document.body.addEventListener("keydown",p(i,t))},e.exports._rmListener=h,e.exports._addListenerOnce=g,e.exports._onKeydown=p,e.exports._indexStore=c,e.exports._helpersStore=l,e.exports._onload=f},2882:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1014),o=n(5879),s=n(1e3);const i=(e,t)=>n=>e(t(n));function a(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.gray,invalid:i(i(e.white,e.bgRed),e.bold),gutter:e.gray,marker:i(e.red,e.bold),message:i(e.red,e.bold),reset:e.reset}}const c=a(r.createColors(!0)),l=a(r.createColors(!1));function u(e){return e?c:l}const d=new Set(["as","async","from","get","of","set"]),f=/\r\n|[\n\r\u2028\u2029]/,p=/^[()[\]{}]$/;let m;{const e=/^[a-z][\w-]*$/i,t=function(t,n,r){if("name"===t.type){if(s.isKeyword(t.value)||s.isStrictReservedWord(t.value,!0)||d.has(t.value))return"keyword";if(e.test(t.value)&&("<"===r[n-1]||"</"===r.slice(n-2,n)))return"jsxIdentifier";if(t.value[0]!==t.value[0].toLowerCase())return"capitalized"}return"punctuator"===t.type&&p.test(t.value)?"bracket":"invalid"!==t.type||"@"!==t.value&&"#"!==t.value?t.type:"punctuator"};m=function*(e){let n;for(;n=o.default.exec(e);){const r=o.matchToToken(n);yield{type:t(r,n.index,e),value:r.value}}}}function h(e){if(""===e)return"";const t=u(!0);let n="";for(const{type:r,value:o}of m(e))n+=r in t?o.split(f).map(e=>t[r](e)).join("\n"):o;return n}let g=!1;const C=/\r\n|[\n\r\u2028\u2029]/;function y(e,t,n={}){const o=n.forceColor||("object"!=typeof process||"0"!==process.env.FORCE_COLOR&&"false"!==process.env.FORCE_COLOR)&&r.isColorSupported&&n.highlightCode,s=u(o),i=e.split(C),{start:a,end:c,markerLines:l}=function(e,t,n){const r=Object.assign({column:0,line:-1},e.start),o=Object.assign({},r,e.end),{linesAbove:s=2,linesBelow:i=3}=n||{},a=r.line,c=r.column,l=o.line,u=o.column;let d=Math.max(a-(s+1),0),f=Math.min(t.length,l+i);-1===a&&(d=0),-1===l&&(f=t.length);const p=l-a,m={};if(p)for(let e=0;e<=p;e++){const n=e+a;if(c)if(0===e){const e=t[n-1].length;m[n]=[c,e-c+1]}else if(e===p)m[n]=[0,u];else{const r=t[n-e].length;m[n]=[0,r]}else m[n]=!0}else m[a]=c===u?!c||[c,0]:[c,u-c];return{start:d,end:f,markerLines:m}}(t,i,n),d=t.start&&"number"==typeof t.start.column,f=String(c).length;let p=(o?h(e):e).split(C,c).slice(a,c).map((e,t)=>{const r=a+1+t,o=` ${` ${r}`.slice(-f)} |`,i=l[r],c=!l[r+1];if(i){let t="";if(Array.isArray(i)){const r=e.slice(0,Math.max(i[0]-1,0)).replace(/[^\t]/g," "),a=i[1]||1;t=["\n ",s.gutter(o.replace(/\d/g," "))," ",r,s.marker("^").repeat(a)].join(""),c&&n.message&&(t+=" "+s.message(n.message))}return[s.marker(">"),s.gutter(o),e.length>0?` ${e}`:"",t].join("")}return` ${s.gutter(o)}${e.length>0?` ${e}`:""}`}).join("\n");return n.message&&!d&&(p=`${" ".repeat(f+1)}${n.message}\n${p}`),o?s.reset(p):p}t.codeFrameColumns=y,t.default=function(e,t,n,r={}){if(!g){g=!0;const e="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";process.emitWarning?process.emitWarning(e,"DeprecationWarning"):(new Error(e).name="DeprecationWarning",console.warn(new Error(e)))}return y(e,{start:{column:n=Math.max(n,0),line:t}},r)},t.highlight=h},2893:(e,t,n)=>{"use strict";const r=n(7252),o=n(7346),{FS:s}=n(4180),i=n(6098),a=n(2300),{getCurrentDirPath:c}=i;e.exports=e=>{e.length&&o.show("top");const t=Array.from(e).map(e=>e.webkitGetAsEntry()),n=c().replace(/\/$/,""),i=a.progress("Uploading...");i.catch(()=>{a.alert("Upload aborted"),f.abort()});const f=r(t,(e,t,r,o,a,c)=>{const{prefixURL:f}=CloudCmd,p=f+s+n+t;let m;switch(e){case"file":m=u(p,r);break;case"directory":m=d(p)}m.on("end",c),m.on("progress",e=>{const t=l(o,a),n=l(o+1,a),r=t+l(e,100,n-t);i.setProgress(r)})});f.on("error",e=>{a.alert(e),f.abort()}),f.on("end",CloudCmd.refresh)};const l=(e,t,n=100)=>Math.round(e*n/t),u=(e,t)=>i.load.put(e,t),d=e=>i.load.put(`${e}?dir`)},2954:e=>{"use strict";e.exports=(e,t,n)=>n?`${e} ${t} -> ${n}`:`${e} ${t}`},3115:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isKeyword=function(e){return n.has(e)},t.isReservedWord=s,t.isStrictBindOnlyReservedWord=a,t.isStrictBindReservedWord=function(e,t){return i(e,t)||a(e)},t.isStrictReservedWord=i;const n=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),r=new Set(["implements","interface","let","package","private","protected","public","static","yield"]),o=new Set(["eval","arguments"]);function s(e,t){return t&&"await"===e||"enum"===e}function i(e,t){return s(e,t)||r.has(e)}function a(e){return o.has(e)}},3131:(e,t,n)=>{"use strict";const r=n(9168),o=n(2515),s=n(4299),i=n(6790),a=n(6735),c=n(1583),l=n(4355),{FS:u}=n(4180),d=s(n(8218)),f=RegExp(String.fromCharCode(160),"g");e.exports.init=async()=>{await Promise.all([E(),O(),void DOM.Events.add(["unload","beforeunload"],e=>{const{Key:t}=CloudCmd;if(!(null==t?void 0:t.isBind()))return e.preventDefault(),"Please make sure that you saved all work."}),void h.add("popstate",async({state:e})=>{const t=(e||"").replace(u,"");if(!t)return CloudCmd.route(location.hash);await CloudCmd.changeDir(t,{history:!1})}),void h.add("resize",()=>{if(!(window.innerWidth<CloudCmd.MIN_ONE_PANEL_WIDTH))return;const{panel:e}=m;if(!e)return;"js-left"===e.getAttribute("data-name")||DOM.changePanel()}),y(),x()])},CloudCmd.Listeners=e.exports;const p=s((e,t)=>{for(const n of e)n(t)}),m=DOM.CurrentInfo,{Events:h}=DOM,g={mousedown:r.with(b,function(e){const t={alt:e.altKey,ctrl:e.ctrlKey,meta:e.metaKey,shift:e.shiftKey},n=D(e.target),r=m.name;DOM.setCurrentFile(n);const o=m.name;let s=[];t.shift?s=function(e,t){const n=DOM.getAllFiles(),r=DOM.getFilenames(n),o=d(r),s=o(e),i=o(t);return c(s,i,n)}(r,o):s.push(m.element),0===e.button&&function(e,t){const n=/Mac/.test(window.navigator.platform);if(!e)throw Error("key should not be undefined!");const[r]=t;if(n&&e.meta)return DOM.toggleSelectedFile(r);e.shift&&t.map(DOM.selectFile)}(t,s)}),click:p([function(e){e.preventDefault(),function(e){const{panel:t}=m,n=DOM.getByDataName("js-files",t);(function(e){for(;"UL"!==e.tagName;)e=e.parentElement;return e})(e)!==n&&DOM.changePanel()}(e.target)},r.with(function(e,t){DOM.getCSSVar("is-mobile")||e(t)},e=>{const t=/Mac/.test(window.navigator.platform),{shiftKey:n,metaKey:r,ctrlKey:o}=e;n||t&&r||o||DOM.unselectFiles()})]),dragstart:r.with(b,function(e){const{prefixURL:t}=CloudCmd,n=D(e.target),{isDir:r}=m;let o=DOM.getCurrentLink(n),s=DOM.getCurrentName(n);r&&(s+=C,o=document.createElement("a"),o.textContent=s,o.href=t+"/pack"+m.path+C),e.dataTransfer.setData("DownloadURL","application/octet-stream:"+s+":"+o)}),dblclick:r.with(b,async function(e){e.preventDefault();const t=D(e.target),n=DOM.isCurrentIsDir(t),r=DOM.getCurrentPath(t);if(!n)return CloudCmd.View.show();await CloudCmd.changeDir(r)}),touchstart:r.with(b,async function(e){const t=D(e.target);DOM.isCurrentIsDir(t)&&DOM.isCurrentFile(t)&&await CloudCmd.changeDir(DOM.getCurrentPath(t))})};let C;function y(){const e=DOM.getFM(),t=e=>e.dataset,n=e=>/^js-(left|right)$/.test(e.dataset.name);h.addClick(e,e=>{const r=e.target;if("js-fm-header"!==r.parentElement.dataset.name)return;const o=(r.dataset.name||"").replace("js-","");if(!/^(name|size|date)$/.test(o))return;const s=w(r).filter(t).filter(n).pop();CloudCmd.sortPanel(o,s)})}function w(e,t=[]){return e?w(e.parentElement,t.concat(e)):t}async function x(){const[,e]=await i(DOM.Files.get,"config"),t=null==e?void 0:e.packer;C=DOM.getPackerExt(t)}async function v(e,t){t.preventDefault();const n=t.target,r=n.getAttribute("data-name"),o=function(e){const t=m.panel;return!t||e.getAttribute("data-name")!==t.getAttribute("data-name")}(e);if("js-copy-path"===r)return s=n,void a.writeText(s.parentElement.title).then(CloudCmd.log).catch(CloudCmd.log);var s;if("js-refresh"===r)return CloudCmd.refresh({panel:e,noCurrent:o});if("js-path-link"!==r)return;const{href:i}=n,c=function(e){const t=CloudCmd.HOST,{prefix:n}=CloudCmd,r=RegExp("^"+n+u);return decodeURI(e).replace(t,"").replace(r,"").replace("%%","%25%").replace(f," ")||"/"}(i);await CloudCmd.changeDir(c,{isRefresh:!1,panel:o?e:m.panel})}function b(e,t){const{target:n}=t,{tagName:r}=n;"UL"!==r&&e(t)}function D(e){if(!e)return e;for(;"LI"!==e.tagName;)e=e.parentElement;return e}function E(){const e=DOM.getFM();h.addOnce("contextmenu",e,e=>{CloudCmd.Menu.show({x:e.clientX,y:e.clientY})}),h.addContextMenu(e,e=>{CloudCmd.Menu.ENABLED||e.preventDefault()})}function O(){const e=DOM.getByClassAll("panel"),t=({target:e})=>{e.classList.add("selected-panel")},n=({target:e})=>{e.classList.remove("selected-panel")},r=e=>{const{files:t,items:n}=e.dataTransfer,{length:r}=t;if(e.preventDefault(),r&&(!n||!n.length||!n[0].webkitGetAsEntry))return l(t);const o=Array.from(n).filter(e=>"file"===e.kind);if(o.length)return DOM.uploadDirectory(o);const{Operation:s}=CloudCmd,i=e.shiftKey?"move":"copy";return s.show(i)},o=e=>{const{dataTransfer:t}=e,{effectAllowed:n}=t;/move|linkMove/.test(n)?t.dropEffect="move":t.dropEffect="copy",e.preventDefault()};for(const s of e)h.add("dragover",s,o).add("drop",s,r).add("dragenter",t).add(["dragleave","drop"],n)}e.exports.initKeysPanel=()=>{const e=DOM.getById("js-keyspanel");e&&h.addClick(e,e=>{const{target:t}=e,{id:n}=t,o=e=>{const{Operation:t}=CloudCmd;return t.show.bind(null,e)},s={f1:CloudCmd.Help.show,f2:CloudCmd.UserMenu.show,f3:CloudCmd.View.show,f4:CloudCmd.EditFile.show,f5:o("copy"),f6:o("move"),f7:DOM.promptNewDir,f8:o("delete"),f9:()=>{e.stopPropagation(),CloudCmd.Menu.show()},f10:CloudCmd.Config.show,"~":CloudCmd.Konsole.show,"shift~":CloudCmd.Terminal.show,contact:CloudCmd.Contact.show};r(s[n])})},e.exports.setOnPanel=e=>{const t=(e=>o.string(e)?DOM.getByDataName(`js-${e}`):e)(e),n=DOM.getByDataName("js-files",t),r=DOM.getByDataName("js-path",t);h.addClick(r,function(e){return v.bind(null,e)}(t)),h.add(n,g)}},3181:(e,t,n)=>{"use strict";const r=n(2515),{promisify:o}=n(4905),s=n(4656),i=n(2630),a={},c="view/media-tmpl|config-tmpl|upload",l="/tmpl/",u=`${l}fs/`,d=function(){let e;return t=>{e||(e=!0,setTimeout(()=>{e=!1,t()},2e3))}}();e.exports.get=function e(t){const n=r(t);return function(e){if(!e)throw Error("name could not be empty!")}(t),"string"===n?function(e){const t=RegExp("file|path|link|pathLink|media|"+c),n=RegExp("config|modules"),r=t.test(e),o=n.test(e);if(!r&&!o)return function(e){throw Error(`Wrong file name: ${e}`)}(e);if("config"===e)return p();const s=function(e,t,n){let r;const o=RegExp(c).test(e);return t?(r=o?l+e.replace("-tmpl",""):u+e,r+=".hbs"):n&&(r="/json/"+e+".json"),r}(e,r,o);return f(s)}(t):"array"===n?Promise.all(t.map(e)):void 0};const f=o((e,t)=>{const{prefix:n}=CloudCmd;a[e]||(a[e]=new Promise((t,r)=>{const o=n+e;s.ajax({url:o,success:t,error:r})})),a[e].then(e=>{t(null,e)},n=>{a[e]=null,t(n)})}),p=async()=>{let e;a.config||(a.config=()=>(e=!0,i.Config.read()));const[,t]=await a.config();return t&&(e=!1),d(()=>{e||(a.config=null)}),t}},3366:(e,t,n)=>{"use strict";const r=n(55),o=r(""),s=r(!1),i=()=>{s(!1)},a=()=>{o("")},c=()=>{};function l(e){const t="d"===e[0];var n;return t&&(s(!0),e=e.split("").slice(1).join("")),{count:(n=e)?"g"===n?1:parseInt(n):1,isDelete:t,isVisual:s()}}e.exports=(e,t={})=>{const n=o(),r=s(),u=o(n.concat(e)),{escape:d=c,moveNext:f=c,movePrevious:p=c,remove:m=c,copy:h=c,paste:g=c,select:C=c,find:y=c,findNext:w=c,findPrevious:x=c,makeFile:v=c,makeDirectory:b=c,terminal:D=c,edit:E=c}=t;if("Enter"===e)return a();if("Escape"===e)return s(!1),d(),a();if("j"===e||"w"===e){const{count:e,isDelete:t,isVisual:r}=l(n);return!isNaN(e)&&f({count:e,isVisual:r,isDelete:t}),a()}if("k"===e||"b"===e){const{count:e,isDelete:t,isVisual:r}=l(n);return!isNaN(e)&&p({count:e,isVisual:r,isDelete:t}),a()}if("gg"===u||"^"===e){const{isDelete:e,isVisual:t}=l(n);return p({count:1/0,isVisual:t,isDelete:e}),a()}return"md"===u?(b(),a()):"tt"===u?(D(),a()):"e"===u?(E(),a()):"mf"===u?(v(),a()):"d"!==e||!s()&&"d"!==n?"G"===e||"$"===e?(f({count:1/0,isVisual:r}),a()):"y"===e?s()?(i(),h(),a()):a():/^p$/i.test(e)?(g(),a()):/^v$/i.test(e)?(s(!s()),C(),a()):"/"===e?(y(),a()):"n"===e?(w(),a()):"N"===e?(x(),a()):" "===e?a():void 0:(i(),m(),a())}},3415:(e,t,n)=>{"use strict";let r="*.*";const{getRegExp:o}=n(887),{alert:s,prompt:i}=n(2300),a=n(6098);e.exports=async(e,t)=>{if(!t)return;const n=`Specify file type for ${e} selection`,[c,l]=await i(n,r);if(c)return;r=l;const u=o(l);let d=0;for(const n of t){const t=a.getCurrentName(n);if(".."===t||!u.test(t))continue;++d;let r=a.isSelected(n);"expand"===e&&(r=!r),r&&a.toggleSelectedFile(n)}d||s("No matches found!")}},3494:(e,t,n)=>{"use strict";CloudCmd.EditFile=t;const r=n(1730),o=n(55),s=n(9168),i=n(3850),a=DOM.CurrentInfo,{Dialog:c,Images:l}=DOM,{config:u}=CloudCmd;let d,f;const p=o(),m={beforeClose:async()=>{s.ifExist(d,"hide"),await C()}};function h(){CloudCmd.Edit.hide()}function g(e){const t={x:e.clientX,y:e.clientY};if(e.preventDefault(),d)return;const n={beforeShow:e=>{e.x-=18,e.y-=27},afterClick:()=>{CloudCmd.Edit.getEditor().focus()}},r=CloudCmd.Edit.getElement();d=i(r,n,function(){const e=CloudCmd.Edit.getEditor();return{"Save Ctrl+S":()=>{e.save()},"Go To Line Ctrl+G":()=>{e.goToLine()},"Cut Ctrl+X":()=>{e.cutToClipboard()},"Copy Ctrl+C":()=>{e.copyToClipboard()},"Paste Ctrl+V":()=>{e.pasteFromClipboard()},"Delete Del":()=>{e.remove("right")},"Select All Ctrl+A":()=>{e.selectAll()},"Close Esc":h}}()),d.addContextMenuListener(),d.show(t.x,t.y)}async function C(){const e=CloudCmd.Edit.getEditor();if(!e.isChanged())return;const[t]=await c.confirm(f);t||e.save()}e.exports.init=async()=>{p(!0),await CloudCmd.Edit();const e=CloudCmd.Edit.getEditor();var t;(t=e).emit("auth",u("username"),u("password")),t.on("reject",()=>{c.alert("Wrong credentials!")}),function(e){const t=CloudCmd.Edit.getElement();DOM.Events.addOnce("contextmenu",t,g),e.on("save",e=>{DOM.setCurrentSize(r.size(e))})}(e),p(!1)},e.exports.show=async e=>{if(p())return;const t={...m,...e};CloudCmd.config("showFileName")&&(t.title=a.name),l.show.load(),CloudCmd.Edit.getEditor().setOption("keyMap","default");const[n,r]=await a.getData();if(n)return l.hide(),CloudCmd.Edit;const{path:o}=a,s=function(){const{name:e,isDir:t}=a;return t?`${e}.json`:e}();return function(e){f=`Do you want to save changes to ${e}?`}(s),CloudCmd.Edit.getEditor().setValueFirst(o,r).setModeForPath(s).enableKey(),CloudCmd.Edit.show(t),CloudCmd.Edit},e.exports.hide=h,e.exports.isChanged=C},3688:e=>{"use strict";e.exports=({autoSize:e,isTitle:t})=>{const n=["modal-main"];return e&&n.push("modal-autosize"),t&&n.push("modal-is-title"),n.join(" ")}},3850:(e,t,n)=>{"use strict";n(4887);const r=n(407),o=n(6727),s=n(8812),i=e=>"number"==typeof e,a=(e,...t)=>(e=>"function"==typeof e)(e)&&e(...t);e.exports=function e(t,n,c){if(!(this instanceof e))return new e(t,n,c);const l=new s;let u,d,f,p,m={};c?(u=p=t,m=n):n?(u=p=t,c=n):(u=document.body,p=window,c=t);const h={},g=function(e){const t=o(e,h,m);return r("ul",{dataName:"js-menu",className:"menu menu-hidden",innerHTML:t,parent:u,uniq:!1})}(c);function C(e,t){let n=l.getItem(e),r=l.isName(n),o=l.isItem(n),s=l.isSubMenu(n);return r&&o||(n=document.elementFromPoint(t.x,t.y),s=l.isSubMenu(n),r=l.isName(n),o=l.isItem(n)),{name:r,item:o,sub:s}}function y(e,t){e.stopPropagation();const{afterClick:n,beforeClick:r,beforeHide:o,afterHide:s,name:i}=m,c=e.target,u=t||C(c,{x:e.clientX,y:e.clientY}),d=a(r,i);if(u.sub)return e.preventDefault();if(a(o),v(),a(s),!d&&(u.name||u.item)){const e=function(e){const t=l.getName(e);if(!t)return null;const n=t.getAttribute("data-menu-path");return h[n]}(c);a(e),a(n)}}function w(e){e.preventDefault();const t=e.target,n=e.clientX,r=e.clientY,o=C(t,{x:n,y:r});if(o.name||o.item||o.sub)return y(e,o);v(),x(n,r)}function x(e,t){const{name:n,beforeShow:r,afterShow:o}=m,s={x:e,y:t,name:n},c=a(r,s);(c||!1!==c)&&(g.classList.remove("menu-hidden"),function(e,t){const n=i(e),r=i(t),o=function(){if(!d){const{height:e}=getComputedStyle(g);d=parseInt(e,10)}return d}(),s=function(){if(!f){const{width:e}=getComputedStyle(g);f=parseInt(e,10)}return f}(),a=window.innerHeight;window.innerWidth<s+e&&(e-=s)<0&&(e=0),a<o+t&&(t-=o)<0&&(t=0),n&&(g.style.left=`${e}px`),r&&(g.style.top=t-14+"px")}(s.x,s.y),a(o,s))}function v(){a(m.beforeClose)||g.classList.add("menu-hidden")}p.addEventListener("click",y),this.show=x,this.hide=v,this.addContextMenuListener=()=>{p.addEventListener("contextmenu",w)},this.removeContextMenuListener=()=>{p.addEventListener("contextmenu",w)},this.remove=function(){p.removeEventListener("click",y),p.removeEventListener("contextmenu",w),u.removeChild(g)}}},3954:(e,t,n)=>{"use strict";const r=n(9168),o=n(4299),s=n(1256),{ajax:i}=n(4656),a=n(3181),c=n(7346),{log:l}=CloudCmd,u=o(function(e,t){const{url:n,filename:o}=t,s=r.with(e,o);i({url:n,responseType:"arraybuffer",success:s})});CloudCmd.Cloud=e.exports,e.exports.init=async()=>{const[e]=await Promise.all([a.get("modules"),s.js("//api.filepicker.io/v2/filepicker.js")]),{key:t}=e.data.FilePicker;filepicker.setKey(t),c.hide()},e.exports.uploadFile=(e,t)=>{filepicker.store(t,{mimetype:"",filename:e},e=>{filepicker.exportFile(e,l,l)})},e.exports.saveFile=e=>{filepicker.pick(u(e))}},4002:e=>{"use strict";e.exports.MAIN='<ul data-name="js-menu" class="menu menu-hidden">{{ items }}</ul>',e.exports.ITEM='<li data-name="js-menu-item" class="menu-item{{ className }}"{{ attribute }}><label data-menu-path="{{ path }}">{{ name }}</label>{{ subitems }}</li>'},4049:(e,t,n)=>{"use strict";const r=n(4299),o=n(9317),{promisify:s}=n(4905),i=n(9168),a=n(1256),c=n(6790),{encode:l}=n(4404),u=n(1753),d=n(977),f=n(8199);CloudCmd.Operation=t;const{config:p}=CloudCmd,{Dialog:m,Images:h}=DOM,g=o(function(e,t){const n=o(t),r=o(m.alert);e.on("accept",n(e)),e.on("reject",r("Wrong credentials!")),e.emit("auth",p("username"),p("password"))}),C={};let y,w,x,v,b,D,E;const O=DOM.CurrentInfo,M=h.show.load.bind(null,"top"),k=r(async function(e,t){let n,r,o,s,i,a="",c="",u=[];t?(({from:a,to:c,names:u}=t),({panel:o}=O)):(a=O.dirPath,c=DOM.getNotCurrentDirPath(),n=DOM.getSelectedFiles(),u=DOM.getFilenames(n),t={},s=!0,o=O.panelPassive),u.length||u.push(DOM.getCurrentName());const[d]=u,f=DOM.getCurrentByName(d,o);if(!t&&S())return;const{type:h}=e,g="copy"===h,C=g?"Copy":"Rename/Move",y=g?w:x;if(s&&p(g?"confirmCopy":"confirmMove")){const[e,t]=await async function(e,t,n){const r=n.length,[o]=n;return e+=" ",n.length>1?e+=`${r} file(s)`:e+=`"${o}"`,e+=" to",await m.prompt(e,t)}(C,c,u.map(l));return void(e||v(t))}function v(e){if(i=a!==e&&e,i&&!s||!f)return n();const t=`"${d}" already exist. Overwrite?`;function n(){M(),r={from:a,to:e,names:u},y(r,async()=>{await DOM.Storage.remove(a);const{panel:e,panelPassive:t}=O;O.isOnePanel||CloudCmd.refresh({panel:t,noCurrent:!0}),CloudCmd.refresh({panel:e})})}m.confirm(t,{cancel:!1}).then(n)}v(c)}),S=()=>{const{length:e}=DOM.getActiveFiles(),t=Boolean(!e);return t?m.alert.noFiles():t};e.exports.init=s(e=>{M(),i.series([DOM.loadSocket,async e=>{if(p("dropbox"))return e();const{prefix:t,prefixSocket:n}=CloudCmd;await async function(){const{prefix:e}=CloudCmd,t=`${e}/fileop/fileop.js`,[n]=await c(a.js,t);n&&m.alert(n.message),y=!0}(),await async function(e,t,n){t=`${t}/fileop`;const r=await fileop({prefix:e,socketPrefix:t});r.on("connect",g(r,P(n)))}(t,n,e)},e=>{y=!0,h.hide(),e()}],e)});const P=r((e,t)=>{!function(e){E=({from:t,to:n,names:r},o)=>{const s=d({operation:"Tar",callback:o,noContinue:!0,from:t,to:n});e.tar(t,n,r).then(s)},D=({from:t,to:n,names:r},o)=>{const s=d({operation:"Zip",callback:o,noContinue:!0,from:t,to:n});e.zip(t,n,r).then(s)},v=(t,n,r)=>{t=t.replace(/\?.*/,"");const o=d({operation:"Delete",callback:r,from:t});e.remove(t,n).then(o)},w=({from:t,to:n,names:r},o)=>{const s=d({operation:"Copy",callback:o,from:t,to:n,names:r});e.copy(t,n,r).then(s)},x=({from:t,to:n,names:r},o)=>{const s=d({operation:"Move",callback:o,from:t,to:n});e.move(t,n,r).then(s)},b=({from:t,to:n},r)=>{const o=d({operation:"Extract",callback:r,noContinue:!0,from:t,to:n});e.extract(t,n).then(o)}}(t),e()});function N(e=DOM.getActiveFiles()){const t=O.dirPath;if(S())return;M();const n=DOM.getFilenames(e),r=DOM.CurrentInfo.files.map(DOM.getCurrentName),o=DOM.getCurrentName(),s=f(o,r,n);v(t+"?files",n,async()=>{await CloudCmd.refresh();const e=O.files.map(DOM.getCurrentName).includes(o)?o:s;DOM.setCurrentByName(e)})}function F(e,t){let n,r,o=O.name;const{path:s,dirPath:i}=O,a=DOM.getActiveFiles(),c=DOM.getFilenames(a);if(function(e,t){if(!t)throw Error("operation could not be empty!")}(0,e),!c.length)return m.alert.noFiles();switch(e){case"extract":n=b,r={from:s,to:i},o=u(o);break;case"pack":n=function(e){return"zip"===e?D:E}(t),c.length>1&&(o=O.dir),o+=DOM.getPackerExt(t),r={from:i,to:i+o,names:c}}M(),n(r,e=>{!e&&CloudCmd.refresh({currentName:o})})}e.exports.hide=()=>{CloudCmd.View.hide()},e.exports.show=(e,t)=>{if(y)return"copy"===e?C.copy(t):"move"===e?C.move(t):"delete"===e?C.delete():"delete:silent"===e?C.deleteSilent():"pack"===e?C.pack():"extract"===e?C.extract():void 0},C.copy=k({type:"copy"}),C.move=k({type:"move"}),C.delete=async function(){if(S())return;const e="Do you really want to delete the ",t="selected ",n=DOM.getActiveFiles(),r=DOM.getFilenames(n),o=r.length;let s;if(o){let n="";for(let e=0;e<5&&e<o;e++)n+="\n"+r[e];o>=5&&(n+="\n..."),s=e+t+o+" files/directories?\n"+l(n)}else{const n=DOM.getCurrentFile();s=e+t+((e=>e?"directory":"file")(DOM.isCurrentIsDir(n))+" ")+DOM.getCurrentName(n)+"?"}const[i]=await m.confirm(s);i||N(n)},C.deleteSilent=N,C.pack=()=>{F("pack","zip"===p("packer")?"zip":"tar")},C.extract=()=>{F("extract")}},4180:(e,t,n)=>{"use strict";const r=n(6686),o=n(4299),s=n(55),{encode:i}=n(4404),{btoa:a}=n(5496),c=o(function(e,t,n){return e!==n||"name"===e&&"asc"===t?n:`${n}${"asc"===t?"↑":"↓"}`}),l="/fs",u=s();function d(e,t,n){if(!e)throw Error("url could not be empty!");if(!n)throw Error("template could not be empty!");const o=["/",...e.split("/").slice(1,-1)],s=[],i=o.length;let a="/";for(let e=0;e<i;e++){const c=o[e];if(e&&(a+=`${c}/`),e&&e===i-1){s.push(`${c}/`);continue}const l=e?"/":"";s.push(r(n,{path:a,name:c,slash:l,prefix:t}))}return s.join("")}u("/"),e.exports.FS=l,e.exports.apiURL="/api/v1",e.exports.MAX_FILE_SIZE=512e3,e.exports.getHeaderField=c,e.exports.getPathLink=d,e.exports.getDotDot=g,e.exports.formatMsg=(e,t,n)=>((t=t||"")&&(t=`("${t}")`),`${e}: ${n=n||"ok"}${t}`),e.exports.getTitle=e=>{e=e||{};const{path:t=u(),name:n}=e;return[n||"Cloud Commander",t].filter(Boolean).join(" - ")};const f=e=>`data-name="js-file-${a(encodeURI(e))}" `;e.exports.buildFromJSON=e=>{const{prefix:t,template:n,sort:o="name",order:s="asc",showDotFiles:a}=e,h=n.file,C=n.link,y=e.data,w=i(y.path),{files:x}=y,v=d(w,t,n.pathLink);let b=r(n.path,{link:t+l+w,fullPath:w,path:v});const D=c(o,s),E=D("name"),O=D("size"),M=D("date"),k=r(h,{tag:"div",attribute:'data-name="js-fm-header" ',className:"fm-header",type:"",name:E,size:O,date:M,owner:"owner",mode:"mode"});if(u(w),b+=`${k}<ul data-name="js-files" class="files">`,"/"!==w){const e=g(w),o=t+l+e,s=r(n.link,{link:o,title:"..",name:".."}),i=`draggable="true" ${f("..")}`;b+=r(n.file,{tag:"li",attribute:i,className:"",type:"directory",name:s,size:"<dir>",date:"--.--.----",owner:".",mode:"--- --- ---"})}return b+=x.filter((({showDotFiles:e})=>({name:t})=>!!e||!t.startsWith("."))({showDotFiles:a})).map(p).map(e=>{const n=i(e.name),o=t+l+w+n,{type:s,mode:a,date:c,owner:u,size:d}=e,p=r(C,{link:o,title:n,name:n,attribute:m(e.type)}),g=f(e.name);return r(h,{tag:"li",attribute:`draggable="true" ${g}`,className:"",type:s,name:p,size:d,date:c,owner:u,mode:a})}).join(""),b+="</ul>",b};const p=e=>({...e,date:e.date||"--.--.----",owner:e.owner||"root",size:h(e)});function m(e){return"directory"===e?"":'target="_blank" '}function h({size:e,type:t}){return"directory"===t?"<dir>":/link/.test(t)?"<link>":e}function g(e){const t=e.substr(e,e.lastIndexOf("/"));return t.substr(t,t.lastIndexOf("/"))||"/"}e.exports._getSize=h},4261:e=>{"use strict";function t(){if(!(this instanceof t))return new t;this._all={}}function n(e){if("string"!=typeof e)throw Error("event should be string!")}function r(e,t){n(e),function(e){if("function"!=typeof e)throw Error("callback should be function!")}(t)}e.exports=t,t.prototype.on=function(e,t){var n=this._all[e];return r(e,t),n?n.push(t):this._all[e]=[t],this},t.prototype.addListener=t.prototype.on,t.prototype.once=function(e,t){var n=this;return r(e,t),n.on(e,function r(){t.apply(null,arguments),n.off(e,r)}),this},t.prototype.off=function(e,t){var n=this._all[e]||[],o=n.indexOf(t);for(r(e,t);~o;)n.splice(o,1),o=n.indexOf(t);return this},t.prototype.removeListener=t.prototype.off,t.prototype.emit=function(e){var t=[].slice.call(arguments,1),r=this._all[e];if(n(e),!r&&"error"===e)throw t[0];return r?(r.forEach(function(e){e.apply(null,t)}),this):this},t.prototype.removeAllListeners=function(e){return n(e),this._all[e]=[],this}},4299:e=>{"use strict";const t=(e,...n)=>{if(function(e){if("function"!=typeof e)throw Error("fn should be function!")}(e),n.length>=e.length)return e(...n);const r=(...r)=>t(e,...n,...r),o=e.length-n.length-1,s=(e=>[function(t){return e(...arguments)},function(t,n){return e(...arguments)},function(t,n,r){return e(...arguments)},function(t,n,r,o){return e(...arguments)},function(t,n,r,o,s){return e(...arguments)}])(r)[o];return s||r};e.exports=t},4307:e=>{"use strict";e.exports=e=>document.querySelector(`[data-name="modal-${e}"]`)},4355:(e,t,n)=>{"use strict";const{eachSeries:r}=n(9168),o=n(9317),s=n(4656),i=n(7346),{alert:a}=n(2300),{FS:c}=n(4180),{getCurrentDirPath:l}=n(6098),u=o(function(e,t,n,r){const{name:o}=n,a=e+o,{prefixURL:l}=CloudCmd,u=l+c;s.put(u+a,n).on("error",f).on("end",r).on("progress",e=>{const n=(e=>100/e)(t),r=0*n+((e,t,n=100)=>Math.round(e*n/t))(e,100,n);i.show.load("top"),i.setProgress(Math.round(r))})}),d=o(function(e){CloudCmd.refresh({currentName:e})});function f({message:e}){a(e)}e.exports=(e,t)=>{t||(t=e,e=l());const n=t.length;if(!n)return;const o=Array.from(t),{name:s}=t[0];r(o,u(e,n),d(s))}},4404:e=>{"use strict";const t={"<":"<",">":">",""":'"'},n=Object.keys(t);e.exports.encode=e=>{for(const r of n){const n=RegExp(t[r],"g");e=e.replace(n,r)}return e},e.exports.decode=e=>{for(const r of n){const n=t[r],o=RegExp(r,"g");e=e.replace(o,n)}return e}},4641:(e,t,n)=>{"use strict";CloudCmd.CommandLine=t;const r=n(2300);e.exports.init=()=>{},e.exports.show=async function(){const[,e]=await r.prompt("Command Line",""),t="^(t|terminal)";if(RegExp(`${t}$`).test(e))return await CloudCmd.Terminal.show();if(RegExp(t).test(e)){const n=e.replace(RegExp(`${t} `),"");return void(-1===await CloudCmd.TerminalRun.show({command:`bash -c '${n}'`})&&await r.alert("☝️ Looks like Terminal is disabled, start Cloud Coammnder with '--terminal' flag."))}},e.exports.hide=function(){}},4656:(e,t,n)=>{"use strict";const r=n(2515),o=n(1115),s=n(7411),i=n(9168),a=n(7346);e.exports.getIdBySrc=function(e){if(!r.string(e))return;e.includes(":")&&(e+="-join");const t=e.lastIndexOf("/")+1,n=e.substr(e,t);return e.replace(n,"").replace(/\./g,"-")},e.exports.ajax=e=>{const t=e,n=r.object(t.data),s=r.array(t.data),c="arraybuffer"===r(t.data),l=t.type||t.method||"GET",{headers:u={}}=t,d=new XMLHttpRequest;d.open(l,t.url,!0);for(const e of Object.keys(u)){const t=u[e];d.setRequestHeader(e,t)}let f;t.responseType&&(d.responseType=t.responseType),!c&&n||s?f=o.stringify(t.data):({data:f}=t),d.onreadystatechange=e=>{const n=e.target;if(n.readyState!==n.DONE)return;a.clearProgress();const r=n.getResponseHeader("content-type");if(200!==n.status)return i(t.error,n);const s="text"!==t.dataType,c=r.includes("application/json");let l=n.response;r&&c&&s&&(l=o.parse(n.response)||n.response),i(t.success,l,n.statusText,n)},d.send(f)},e.exports.put=(e,t)=>{const n=s(),r=new XMLHttpRequest;return e=encodeURI(e).replace(/#/g,"%23"),r.open("put",e,!0),r.upload.onprogress=e=>{if(!e.lengthComputable)return;const t=e.loaded/e.total*100,r=Math.round(t);n.emit("progress",r)},r.onreadystatechange=()=>{if(r.readyState!==r.DONE)return;if(200===r.status)return n.emit("progress",100),n.emit("end");const e=Error(r.responseText);n.emit("error",e)},r.send(t),n}},4762:(e,t,n)=>{"use strict";CloudCmd.Konsole=t;const r=n(9168),o=n(4299),s=n(6790),i=n(1256).js,a=n(407),c=n(7346),{Dialog:l,CurrentInfo:u}=DOM;let d;const{config:f}=CloudCmd,p=o((e,t)=>{return e(`cd ${n=t,n.replace(/\/$/,"")||"/"}`);var n}),m="Konsole";let h,g;e.exports.init=async()=>{f("console")&&(c.show.load("top"),await CloudCmd.View(),await b(),await x())},e.exports.hide=()=>{CloudCmd.View.hide()},e.exports.clear=()=>{d.clear()};const C=()=>CloudCmd.prefix+"/console";async function y(e){u.dirPath!==e&&await CloudCmd.changeDir(e)}const w=()=>{if(f("syncConsolePath"))return u.dirPath},x=async()=>{const e={cwd:w(),env:{ACTIVE_DIR:DOM.getCurrentDirPath.bind(DOM),PASSIVE_DIR:DOM.getNotCurrentDirPath.bind(DOM),CURRENT_NAME:DOM.getCurrentName.bind(DOM),CURRENT_PATH:()=>u.path},prefix:C(),prefixSocket:CloudCmd.prefixSocket+"/console",socketPath:CloudCmd.prefix};h=a("div",{className:"console"}),d=await Console(h,e),d.on("connect",r.with(v,d)),d.on("path",f.if("syncConsolePath",y)),CloudCmd.on("active-dir",f.if("syncConsolePath",p(d.handler))),d.addShortCuts({P:()=>{const e=d.getPromptText(),t=DOM.getCurrentDirPath();d.setPromptText(e+t)}})};function v(e){e.emit("auth",f("username"),f("password")),e.on("reject",()=>{l.alert("Wrong credentials!")})}e.exports.show=e=>{g&&f("console")&&CloudCmd.View.show(h,{afterShow:()=>{d.focus(),r(e)}})};const b=async()=>{Util.time(`${m} load`);const e=`${C()}/console.js`,[t]=await s(i,e);if(g=!0,Util.timeEnd(`${m} load`),t)return l.alert(t.message,{cancel:!1})}},4802:(e,t,n)=>{"use strict";n(1343);const r=n(6686),o=n(4299),s=n(9317),i=n(1795),{promisify:a}=n(4905),c=n(6790),l=n(1256),u=n(407),d=n(6042),f=n(7346),p=n(722),m=n(3181),{getTitle:h}=n(4180),{Dialog:g,setTitle:C}=DOM;CloudCmd.Config=e.exports;const y=a(DOM.loadSocket),w=o((e,t)=>(p.addKey(t,e),t)),x=o((e,t)=>(p.add("change",t,e),t)),v={};let b;const D=l.css;e.exports.init=async()=>{if(!CloudCmd.config("configDialog"))return;f.show.load("top");const{DIR_DIST:e}=CloudCmd;[b]=await Promise.all([m.get("config-tmpl"),y(),D(`${e}/config.css`),CloudCmd.View()]),function(){const e=function(){const{host:e,origin:t,protocol:n}=location;return t||`${n}//${e}`}(),{prefixSocket:t,prefix:n}=CloudCmd,r=io.connect(e+t+"/config",{reconnectionAttempts:1/0,reconnectionDelay:6e4,path:`${n}/socket.io`}),o=e=>{P(e),r.send(e)};(function(e){e.emit("auth",E("username"),E("password")),e.on("reject",s(g.alert,"Wrong credentials!"))})(r),r.on("connect",()=>{v.save=o}),r.on("message",P),r.on("log",CloudCmd.log),r.on("disconnect",()=>{v.save=N}),r.on("err",g.alert)}()};const{config:E,Key:O}=CloudCmd;let M;function k(){CloudCmd.View.hide()}async function S(e){const t={},n=d.getName(e),r=d.getValue(n,M);"name"===n?function(e){C(h({name:e}))}(r):"auth"===n&&F(r),t[n]=r,await v.save(t)}function P(e){for(const t of Object.keys(e)){const n=e[t];CloudCmd._config(t,n),d.setValue(t,n,M)}}async function N(e){const{RESTful:t}=DOM,[n]=await t.Config.write(e);n||P(e)}function F(e){const t=d.getElementByName("username",M),n=d.getElementByName("password",M);t.disabled=!e,n.disabled=!e}async function A({keyCode:e,target:t}){switch(e){case O.ESC:return k();case O.ENTER:return await S(t)}}v.save=N,e.exports.show=async function(){CloudCmd.config("configDialog")&&await async function(){const[e,t]=await c(m.get,"config");if(e)return g.alert("Could not load config!");const{editor:n,menu:o,packer:s,columns:a,theme:l,configAuth:f,...p}=d.convert(t);p[`${o}-selected`]="selected",p[`${n}-selected`]="selected",p[`${s}-selected`]="selected",p[`${a}-selected`]="selected",p[`${l}-selected`]="selected",p.configAuth=f?"":"hidden";const h=r(b,p);M=u("form",{className:"config",innerHTML:h});const C=document.querySelectorAll("input, select",M),[y]=C;let v;y&&(F(y.checked),v=y.focus.bind(y));const D=i(S,({target:e})=>e);Array.from(C).map(w(A)).map(x(D));CloudCmd.View.show(M,{autoSize:!0,afterShow:v})}()},e.exports.hide=k},4887:(e,t,n)=>{"use strict";n.r(t)},4905:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.promisify=r;var n="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__";function r(e){if("function"!=typeof e)throw new TypeError("Argument to promisify must be a function");var t=e[n],o=r.Promise||Promise;if("function"!=typeof o)throw new Error("No Promise implementation found; do you need a polyfill?");return function(){for(var n=this,r=arguments.length,s=Array(r),i=0;i<r;i++)s[i]=arguments[i];return new o(function(r,o){s.push(function(e){if(e)return o(e);for(var n=arguments.length,s=Array(1<n?n-1:0),i=1;i<n;i++)s[i-1]=arguments[i];if(1===s.length||!t)return r(s[0]);var a={};s.forEach(function(e,n){var r=t[n];r&&(a[r]=e)}),r(a)}),e.apply(n,s)})}}r.argumentNames="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__",r.Promise=void 0},5e3:(e,t,n)=>{"use strict";CloudCmd.Help=t;const r=n(7346);e.exports.init=()=>{r.show.load("top")},e.exports.show=function(){CloudCmd.Markdown.show("/HELP.md",{positionLoad:"top",relative:!0})},e.exports.hide=function(){CloudCmd.View.hide()}},5158:(e,t,n)=>{"use strict";const r=n(5606);n(5910);const o=n(9317),s=n(1256),{registerSW:i,listenSW:a}=n(1747),c="development"===r.env.NODE_ENV;function l(e){return e?e.indexOf("/")?`/${e}`:e:""}e.exports=async e=>{window.Util=n(887),window.CloudFunc=n(4180),window.DOM=n(6098),window.CloudCmd=n(5386),await async function(e){const{prefix:t}=e,n=await i(t);a(n,"updatefound",u(e))}(e),n(3131),n(9793),n(181);const t=l(e.prefix);window.CloudCmd.init(t,e),"aleman"===window.CloudCmd.config("menu")&&setTimeout(()=>{Promise.resolve().then(n.bind(n,1736)),Promise.resolve().then(n.bind(n,3398))},100)},window.CloudCmd=e.exports;const u=o(async e=>{if(c)return;const{DOM:t}=window,n=l(e.prefix);await s.js(`${n}/dist/cloudcmd.common.js`),await s.js(`${n}/dist/cloudcmd.js`),console.log("cloudcmd: sw: updated"),t.Events.removeAll(),window.CloudCmd(e)})},5190:(e,t,n)=>{"use strict";const r=n(9168),o=n(6790),s=n(1256).js,i=n(8815);e.exports=function(e){if(!e)return;const{path:t}=e,n=t&&i(t).replace(/.js$/,""),a=e.dobefore;CloudCmd[n]||(CloudCmd[n]=async()=>{r(a);const{DIR_MODULES:e}=CloudCmd,o=`${e}/${t}.js`;await s(o);const i=async e=>e&&e(),c=CloudCmd[n];return Object.assign(i,c),CloudCmd[n]=i,CloudCmd.log("init",n),await c.init(),i},CloudCmd[n].show=async(...e)=>{CloudCmd.log("show",n,e);const t=CloudCmd[n],[r,s]=await o(t);return r?console.error(r):await s.show(...e)})}},5291:e=>{"use strict";e.exports=(e,t)=>{Object.keys(t).forEach(((e,t)=>n=>e(n,t[n]))(e,t))}},5386:(e,t,n)=>{"use strict";const r=n(5606),o=n(7411),s=n(6698),i=n(6686),a=n(1256),c=n(6790),{addSlashToEnd:l}=n(1730),u=n(8815),d=n(4299),f=n(7346),{unregisterSW:p}=n(1747),m=n(8633),h=n(9793),{apiURL:g,formatMsg:C,buildFromJSON:y}=n(4180),w=n(5190),x="development"===r.env.NODE_ENV;function v(e){let t;o.call(this);const n=this,r=e.CurrentInfo,{Storage:s,Files:v}=e;this.log=(...e)=>{x&&console.log(...e)},this.prefix="",this.prefixSocket="",this.prefixURL="",this.MIN_ONE_PANEL_WIDTH=e.getCSSVar("min-one-panel-width"),this.HOST=location.origin||location.protocol+"//"+location.host,this.sort={left:"name",right:"name"},this.order={left:"asc",right:"asc"},this.changeDir=async(t,o={})=>{const{isRefresh:a,panel:c,history:u=!0,noCurrent:d,currentName:p}=o,m=a;let h,g;!d&&c&&c!==r.panel&&(e.changePanel(),h=!0),(h||m||!u)&&(g="top"),f.show.load(g,c),await async function(t,o={},a){const{RESTful:c}=e;n.log(`reading dir: "${t}";`);const l=n.config("dirStorage")&&await s.getJson(t),u=o.currentName||r.name,{noCurrent:d,refresh:f}=o;if(!f&&l)return await E(l,a,o);const p=e.getPanelPosition(a),m=n.sort[p],h=n.order[p],g=i("?sort={{ sort }}&order={{ order }}",{sort:m,order:h}),[,C]=await c.read(t+g,"json");C&&(o.sort=m,o.order=h,await E(C,a,o),f&&!d&&e.setCurrentByName(u),n.config("dirStorage")&&s.setJson(t,C))}(l(t),{refresh:m,history:u,noCurrent:d,currentName:p,showDotFiles:n.config("showDotFiles")},c)},this.init=async(r,o)=>{n.prefix=r,n.prefixURL=`${r}${g}`,n.prefixSocket=o.prefixSocket,n.DIR_DIST=`${r}/dist`,n.DIR_MODULES=`${this.DIR_DIST}/modules`,n.config=e=>o[e],n.config.if=d((e,t,n)=>o[e]&&t(n)),n._config=(e,t)=>{"password"!==e&&(o[e]=t)},o.oneFilePanel&&(n.MIN_ONE_PANEL_WIDTH=1/0),document.body.scrollIntoViewIfNeeded||await a.js(`${n.DIR_MODULES}/polyfill.js`),await b(),await async function(){const r=e.getFiles();n.on("current-file",e.updateCurrentInfo),n.on("current-name",D);const o=await s.get("current-name"),i=o&&e.getCurrentByName(o)||r[0];r&&e.setCurrentFile(i,{history:!location.hash});const a=e.getCurrentDirPath();({Listeners:t}=n),t.init(),function(){const e=["left"];return n.config("oneFilePanel")?e:[...e,"right"]}().forEach(t.setOnPanel),t.initKeysPanel(),n.config("dirStorage")&&(await s.get(a)||await s.setJson(a,m()))}(),n.route(location.hash)},this.route=t=>{const r=t.split("/");if(!t)return;const[o]=r,s=u(o.slice(1)).replace(/.js$/,""),[,i]=r,a=e.getCurrentByName(i);if(i&&!a){const e=C("set current file",i,"error");return void n.log(e)}e.setCurrentFile(a),n.execFromModule(s,"show")},this.logOut=async()=>{const t=n.prefix+"/logout",{prefix:r}=n;await e.Storage.clear(),p(r),e.load.ajax({url:t,error:()=>document.location.reload()})};const b=async()=>{n.Key=h,n.Key.bind();const[,e]=await c(v.get,"modules"),t=f.show.load,r={edit:t,menu:t},o=(e,t,n)=>{w({name:e,path:t,dobefore:n})};if(e)for(const t of e.local)o(null,t,r[t])};async function D(e){await s.set("current-name",e)}async function E(o,s,i){const{history:a,noCurrent:l,showDotFiles:u}=i,[d,[f,p,m,h]]=await c(v.get,["file","path","link","pathLink"]);if(d)return e.Dialog.alert(d.responseText);const g=s||e.getPanel(),{prefix:C}=n,{dir:w,name:x}=r,{childNodes:b}=g;let D=b.length;for(;D--;)g.removeChild(g.lastChild);if(g.innerHTML=y({sort:i.sort,order:i.order,data:o,id:g.id,prefix:C,showDotFiles:u,template:{file:f,path:p,pathLink:h,link:m}}),t.setOnPanel(g),!l){let t;".."===x&&"/"!==w&&(t=e.getCurrentByName(w)),t||([t]=e.getFiles(g)),e.setCurrentFile(t,{history:a}),n.emit("active-dir",r.dirPath)}}this.execFromModule=async(e,t,...r)=>{await n[e](),(0,n[e][t])(...r)},this.refresh=async(t={})=>{const{panel:o=r.panel,currentName:s}=t,i=e.getCurrentDirPath(o),a=null==t?void 0:t.noCurrent;await n.changeDir(i,{isRefresh:!0,history:!1,panel:o,noCurrent:a,currentName:s})},this.goToParentDir=async()=>{const{dir:t,dirPath:o,parentDirPath:s,panel:i}=r;if(o===s)return;const a=s;await n.changeDir(a);const c=e.getCurrentByName(t),[l]=e.getFiles(i);e.setCurrentFile(c||l,{history})}}s(v,o),e.exports=new v(DOM),a.addErrorListener((e,t)=>{const n=`file ${t} could not be loaded`;f.show.error(n)})},5450:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.promisify=r;var n="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__";function r(e){if("function"!=typeof e)throw new TypeError("Argument to promisify must be a function");var t=e[n],o=r.Promise||Promise;if("function"!=typeof o)throw new Error("No Promise implementation found; do you need a polyfill?");return function(){for(var n=this,r=arguments.length,s=new Array(r),i=0;i<r;i++)s[i]=arguments[i];return new o(function(r,o){s.push(function(e){if(e)return o(e);for(var n=arguments.length,s=new Array(n>1?n-1:0),i=1;i<n;i++)s[i-1]=arguments[i];if(1===s.length||!t)return r(s[0]);var a={};s.forEach(function(e,n){var r=t[n];r&&(a[r]=e)}),r(a)}),e.apply(n,s)})}}r.argumentNames=n,r.Promise=void 0},5496:e=>{"use strict";e.exports.btoa=e=>"function"==typeof btoa?btoa(e):Buffer.from(e).toString("base64"),e.exports.atob=e=>"function"==typeof atob?atob(e):Buffer.from(e,"base64").toString("binary")},5499:(e,t,n)=>{"use strict";CloudCmd.EditFileVim=t;const r=n(722),{Key:o}=CloudCmd,s={bindKeys:!1,beforeClose:()=>{r.rmKey(a),CloudCmd.EditFile.isChanged()}};function i(){CloudCmd.Edit.hide()}function a(e){const{keyCode:t,shiftKey:n}=e;n&&t===o.ESC&&(e.preventDefault(),i())}e.exports.init=async()=>{await CloudCmd.EditFile()},e.exports.show=async()=>{r.addKey(a),(await CloudCmd.EditFile.show(s)).getEditor().setKeyMap("vim")},e.exports.hide=i},5606:e=>{var t,n,r=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:o}catch(e){t=o}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(e){n=s}}();var a,c=[],l=!1,u=-1;function d(){l&&a&&(l=!1,a.length?c=a.concat(c):u=-1,c.length&&f())}function f(){if(!l){var e=i(d);l=!0;for(var t=c.length;t;){for(a=c,c=[];++u<t;)a&&a[u].run();u=-1,t=c.length}a=null,l=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function m(){}r.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new p(e,t)),1!==c.length||l||i(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=m,r.addListener=m,r.once=m,r.off=m,r.removeListener=m,r.removeAllListeners=m,r.emit=m,r.prependListener=m,r.prependOnceListener=m,r.listeners=function(e){return[]},r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},5655:(e,t,n)=>{"use strict";const r=n(55),o=n(1113),s=r([]),i=r(0);function a(e,t){return e===t-1?0:++e}function c(e,t){return e?--e:t-1}e.exports.find=(e,t)=>{const n=o(e,t);return s(n),i(0),n},e.exports.findNext=()=>{const e=s(),t=a(i(),e.length);return i(t),e[i()]},e.exports.findPrevious=()=>{const e=s(),t=c(i(),e.length);return i(t),e[t]},e.exports._next=a,e.exports._previous=c},5667:(e,t,n)=>{"use strict";const r=n(5734),o=n(2300),s=n(8487),i=n(2630),{isCurrentFile:a,getCurrentName:c,getCurrentFile:l,getCurrentByName:u,getCurrentType:d,getCurrentDirPath:f,setCurrentName:p}=n(8622);e.exports=async e=>{a(e)||(e=l());const t=c(e);if(".."===t)return o.alert.noFiles();const[n,m]=await o.prompt("Rename",t);if(n)return;const h=u(m);if(h){const e=d(h),t=`${r(e)} "${m}" already exists. Proceed?`,[n]=await o.confirm(t);if(n)return}if(t===m)return;const g=f(),C=`${g}${t}`,y=`${g}${m}`,[w]=await i.rename(C,y);w||(p(m,e),s.remove(g),CloudCmd.refresh())}},5734:e=>{e.exports=function(e){if("string"!=typeof e)throw Error("just-capitalize expects a string argument");return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}},5776:(e,t,n)=>{"use strict";const{escapeRegExp:r}=n(887),o=DOM.CurrentInfo;e.exports=function(e,t){let n,s=0,i=!1,a=0;const c=r(e),l=new RegExp(`^${c}.*$`,"i"),{files:u}=o,d=t(),f=d.length;for(;a<f&&e===d[a];)a++;a||t([]);const p=s=a;var m;t(t().concat(e)),DOM.getFilenames(u).filter(e=>l.test(e)).filter((m=e=>".."===e,e=>!m(e))).some(e=>{const t=DOM.getCurrentByName(e);if(!s)return i=!0,DOM.setCurrentFile(t),!0;p===s&&(n=t),--s}),i||(DOM.setCurrentFile(n),t([e]))}},5879:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g,t.matchToToken=function(e){var t={type:"invalid",value:e[0],closed:void 0};return e[1]?(t.type="string",t.closed=!(!e[3]&&!e[4])):e[5]?t.type="comment":e[6]?(t.type="comment",t.closed=!!e[7]):e[8]?t.type="regex":e[9]?t.type="number":e[10]?t.type="name":e[11]?t.type="punctuator":e[12]&&(t.type="whitespace"),t}},5910:(e,t,n)=>{"use strict";n.r(t)},6042:(e,t,n)=>{"use strict";const r=n(4299)((e,t,n)=>e===typeof t[n])("boolean");function o(e,t){const n=`[data-name="js-${e}"]`;return t.querySelector(n)}function s(e){return e?" checked":""}e.exports.getElementByName=o,e.exports.getName=e=>e.getAttribute("data-name").replace(/^js-/,""),e.exports.convert=e=>{const t=e,n=Object.keys(e).filter(r(e));for(const r of n){const n=e[r];t[r]=s(n)}return t},e.exports.getValue=(e,t)=>{const n=o(e,t),{type:r}=n;switch(r){case"checkbox":return n.checked;case"number":return Number(n.value);default:return n.value}},e.exports.setValue=(e,t,n)=>{const r=o(e,n),{type:s}=r;"checkbox"===s?r.checked=t:r.value=t}},6098:(e,t,n)=>{"use strict";const r=n(887),o=n(7346),s=n(2630),i=n(8487),a=n(5667),c=n(8622),l=n(1979),u=e.exports,d={...l,...c,...u},f={};d.Images=o,d.load=n(4656),d.Files=n(3181),d.RESTful=s,d.IO=n(231),d.Storage=i,d.Dialog=n(2300),d.CurrentInfo=f,e.exports=d,d.uploadDirectory=n(2893),d.Buffer=n(8706),d.Events=n(722);const p=n(9999),m=n(3415),h="selected-file",g={"js-left":null,"js-right":null};async function C(e){const{Dialog:t}=d,n=d.getCurrentDirPath(),r=`New ${e}`||"File",o=(()=>{const e=d.getCurrentName();return".."===e?"":e})(),[i,a]=await t.prompt(r,o);if(i)return;const c=`${n}${a}`;"directory"===e?await s.createDirectory(c):await s.write(c),await CloudCmd.refresh({currentName:a})}e.exports.loadRemote=(e,t,n)=>(p(e,t,n),d),e.exports.loadSocket=e=>(d.loadRemote("socket",{name:"io"},e),d),e.exports.promptNewDir=async function(){await C("directory")},e.exports.promptNewFile=async()=>{await C("file")},e.exports.getCurrentDirName=()=>{const e=d.getCurrentDirPath().replace(/\/$/,""),t=e.substr(e,e.lastIndexOf("/"));return e.replace(`${t}/`,"")||"/"},e.exports.getParentDirPath=e=>{const t=d.getCurrentDirPath(e),n=d.getCurrentDirName()+"/",r=t.lastIndexOf(n);return"/"!==t?t.slice(0,r):t},e.exports.getNotCurrentDirPath=()=>{const e=d.getPanel({active:!1});return d.getCurrentDirPath(e)},e.exports.getSelectedFiles=()=>{const e=d.getPanel(),t=d.getByClassAll(h,e);return Array.from(t)},e.exports.unselectFiles=e=>{e=e||d.getSelectedFiles(),Array.from(e).forEach(d.toggleSelectedFile)},e.exports.getActiveFiles=()=>{const e=d.getCurrentFile(),t=d.getSelectedFiles(),n=d.getCurrentName(e);return t.length||".."===n?t:[e]},e.exports.getCurrentDate=e=>{const t=e||d.getCurrentFile();return d.getByDataName("js-date",t).textContent},e.exports.getCurrentSize=e=>{const t=e||d.getCurrentFile();return d.getByDataName("js-size",t).textContent.replace(/^<|>$/g,"")},e.exports.loadCurrentSize=async e=>{const t=e||d.getCurrentFile(),n=d.getCurrentPath(t);if(o.show.load(),".."===name)return;const[,r]=await s.read(n+"?size");return d.setCurrentSize(r,t),o.hide(),t},e.exports.loadCurrentHash=async e=>{const t=e||d.getCurrentFile(),n=d.getCurrentPath(t),[,r]=await s.read(n+"?hash");return r},e.exports.setCurrentSize=(e,t)=>{const n=t||d.getCurrentFile();d.getByDataName("js-size",n).textContent=e},e.exports.getCurrentMode=e=>{const t=e||d.getCurrentFile();return d.getByDataName("js-mode",t).textContent},e.exports.getCurrentOwner=e=>{const t=e||d.getCurrentFile();return d.getByDataName("js-owner",t).textContent},e.exports.getCurrentData=async e=>{const{Dialog:t}=d,n=d.CurrentInfo,r=e||d.getCurrentFile(),o=d.getCurrentPath(r),a=d.isCurrentIsDir(r);if(".."===n.name)return t.alert.noFiles(),[Error("No Files")];if(a)return await s.read(o);const[c,l]=await d.checkStorageHash(o);if(!c)return[Error("Can't get hash of a file")];if(l===c)return[null,await i.get(`${o}-data`)];const[u,f]=await s.read(o);if(u)return[u,null];const{length:p}=f;return l&&p<1073741824&&await d.saveDataToStorage(o,f,c),[null,f]},e.exports.getRefreshButton=(e=d.getPanel())=>d.getByDataName("js-refresh",e),e.exports.selectFile=e=>((e||d.getCurrentFile()).classList.add(h),u),e.exports.unselectFile=e=>((e||d.getCurrentFile()).classList.remove(h),u),e.exports.toggleSelectedFile=e=>{const t=e||d.getCurrentFile();return".."===d.getCurrentName(t)||t.classList.toggle(h),u},e.exports.toggleAllSelectedFiles=()=>(d.getAllFiles().map(d.toggleSelectedFile),u),e.exports.selectAllFiles=()=>(d.getAllFiles().map(d.selectFile),u),e.exports.getAllFiles=()=>{const e=d.getPanel(),t=d.getFiles(e),n=".."===d.getCurrentName(t[0])?1:0;return Array.from(t).slice(n)},e.exports.expandSelection=()=>{const{files:e}=f;m("expand",e)},e.exports.shrinkSelection=()=>{const{files:e}=f;m("shrink",e)},e.exports.setHistory=(e,t,n)=>{const r=window.history,{prefix:o}=CloudCmd;return n=o+n,r&&history.pushState(e,t,n),r},e.exports.isSelected=e=>!!e&&d.isContainClass(e,h),e.exports.getCurrentLink=e=>{const t=e||d.getCurrentFile();return d.getByTag("a",t)[0]},e.exports.getFilenames=e=>{if(!e)throw Error("AllFiles could not be empty");const t=e[0]||d.getCurrentFile(),n=d.getCurrentName(t),r=Array.from(e);return".."===n&&r.shift(),r.map(e=>d.getCurrentName(e))},e.exports.checkStorageHash=async e=>{const t=`${e}-hash`;if("string"!=typeof e)throw Error("name should be a string!");const[n,r]=await Promise.all([d.loadCurrentHash(),i.get(t)]);return[n,r]},e.exports.saveDataToStorage=async(e,t,n)=>{if(d.isCurrentIsDir())return;n=n||await d.loadCurrentHash();const r=`${e}-hash`,o=`${e}-data`;return await i.set(r,n),await i.set(o,t),n},e.exports.getFM=()=>d.getPanel().parentElement,e.exports.getPanelPosition=e=>(e=e||d.getPanel()).dataset.name.replace("js-",""),e.exports.getCSSVar=(e,{body:t=document.body}={})=>getComputedStyle(t).getPropertyValue(`--${e}`),e.exports.getPanel=e=>{let t,n,r,o="js-";const s=d.getCurrentFile();if(s?(t=s.parentElement,n=t.parentElement,r="js-left"===n.getAttribute("data-name")):n=d.getByDataName("js-left"),e&&!e.active&&(o+=r?"right":"left",n=d.getByDataName(o)),window.innerWidth<CloudCmd.MIN_ONE_PANEL_WIDTH&&(n=d.getByDataName("js-left")),!n)throw Error("can not find Active Panel!");return n},e.exports.getFiles=e=>d.getByDataName("js-files",e).children||[],e.exports.showPanel=e=>{const t=d.getPanel({active:e});return!!t&&(d.show(t),!0)},e.exports.hidePanel=e=>{const t=d.getPanel({active:e});return!!t&&d.hide(t)},e.exports.remove=(e,t)=>((t||document.body).removeChild(e),d),e.exports.deleteCurrent=e=>{e||d.getCurrentFile();const t=null==e?void 0:e.parentElement,n=d.getCurrentName(e);if(e&&".."!==n){const n=e.nextSibling,r=e.previousSibling;d.setCurrentFile(n||r),t.removeChild(e)}},e.exports.deleteSelected=e=>{(e=e||d.getSelectedFiles())&&e.map(d.deleteCurrent)},e.exports.renameCurrent=a,e.exports.scrollIntoViewIfNeeded=(e,t=!1)=>{e&&e.scrollIntoViewIfNeeded&&e.scrollIntoViewIfNeeded(t)},e.exports.scrollByPages=(e,t)=>{const n=(null==e?void 0:e.scrollByPages)&&t;return n&&e.scrollByPages(t),n},e.exports.changePanel=()=>{const e=f;let t=d.getPanel();CloudCmd.emit("passive-dir",e.dirPath);const n=d.getPanel({active:!1});let r=d.getCurrentName();const o=d.getFiles(n);let s,i,a=t.getAttribute("data-name");return g[a]=r,t=n,a=t.getAttribute("data-name"),r=g[a],r&&(i=d.getCurrentByName(r,t),i&&(s=i.parentElement)),s&&s.parentElement||(i=d.getCurrentByName(r,t),i||([i]=o)),d.setCurrentFile(i,{history:!0}),CloudCmd.emit("active-dir",e.dirPath),d},e.exports.getPackerExt=e=>"zip"===e?".zip":".tar.gz",e.exports.goToDirectory=async()=>{const{Dialog:e}=d,{dirPath:t}=f,[n,r=t]=await e.prompt("Go to directory:",t);n||await CloudCmd.changeDir(r)},e.exports.duplicatePanel=async()=>{const e=f,{isDir:t}=e,n=e.panelPassive,r=!e.isOnePanel,o=(t=>t?e.path:e.dirPath)(t);await CloudCmd.changeDir(o,{panel:n,noCurrent:r})},e.exports.swapPanels=async()=>{const e=f,{panel:t,files:n,element:r,panelPassive:o}=e,s=d.getCurrentDirPath(),i=d.getNotCurrentDirPath();let a=n.indexOf(r);await CloudCmd.changeDir(s,{panel:o,noCurrent:!0}),await CloudCmd.changeDir(i,{panel:t});const c=e.files.length-1;a>c&&(a=c);const l=e.files[a];d.setCurrentFile(l)},e.exports.CurrentInfo=f,e.exports.updateCurrentInfo=e=>{const t=d.CurrentInfo,n=e||d.getCurrentFile(),o=n.parentElement,s=d.getPanel({active:!1}),i=d.getFiles(s),a=d.getCurrentName(n);t.dir=d.getCurrentDirName(),t.dirPath=d.getCurrentDirPath(),t.parentDirPath=d.getParentDirPath(),t.element=n,t.ext=r.getExt(a),t.files=Array.from(o.children),t.filesPassive=Array.from(i),t.first=o.firstChild,t.getData=d.getCurrentData,t.last=o.lastChild,t.link=d.getCurrentLink(n),t.mode=d.getCurrentMode(n),t.name=a,t.path=d.getCurrentPath(n),t.panel=o.parentElement||d.getPanel(),t.panelPassive=s,t.size=d.getCurrentSize(n),t.isDir=d.isCurrentIsDir(),t.isSelected=d.isSelected(n),t.panelPosition=d.getPanel().dataset.name.replace("js-",""),t.isOnePanel=t.panel.getAttribute("data-name")===t.panelPassive.getAttribute("data-name")}},6439:(e,t,n)=>{"use strict";CloudCmd.EditNamesVim=t;const r=n(722),{Key:o}=CloudCmd,s={bindKeys:!1,beforeClose:()=>{r.rmKey(a),CloudCmd.EditNames.isChanged()}};function i(){CloudCmd.Edit.hide()}function a(e){const{keyCode:t,shiftKey:n}=e;n&&t===o.ESC&&(e.preventDefault(),i())}e.exports.init=async()=>{await CloudCmd.EditNames()},e.exports.show=()=>{r.addKey(a),CloudCmd.EditNames.show(s).getEditor().setKeyMap("vim")},e.exports.hide=i},6558:(e,t,n)=>{"use strict";var r=n(316);e.exports=function(e,t){if(!e.isConnected||!(e=>{let t=e;for(;t&&t.parentNode;){if(t.parentNode===document)return!0;t=t.parentNode instanceof ShadowRoot?t.parentNode.host:t.parentNode}return!1})(e))return;const n=(e=>{const t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);if((e=>"object"==typeof e&&"function"==typeof e.behavior)(t))return t.behavior(r.compute(e,t));const o="boolean"==typeof t||null==t?void 0:t.behavior;for(const{el:s,top:i,left:a}of r.compute(e,(e=>!1===e?{block:"end",inline:"nearest"}:(e=>e===Object(e)&&0!==Object.keys(e).length)(e)?e:{block:"start",inline:"nearest"})(t))){const e=i-n.top+n.bottom,t=a-n.left+n.right;s.scroll({top:e,left:t,behavior:o})}}},6686:e=>{"use strict";const t=e=>()=>e,{keys:n}=Object;function r(e,t,n){if(!n)return[`{{ ${e} }}`,t[e]];const r=e.replaceAll("{{","").replaceAll("}}","").replaceAll(" ",""),o=t[r]||"";if(!r.includes("|"))return[e,o];const[s,i]=r.split("|"),a=n[i],c=t[s];return a?[e,a(c)]:[e,c]}e.exports=(e,o,s)=>{!function(e,t){if("string"!=typeof e)throw Error("template should be a string!");if("object"!=typeof t)throw Error("values should be an object!")}(e,o);let i=e;const a=s?e.match(/{{(.*?)}}/g):n(o);for(const e of a){const[n,a]=r(e,o,s),c=t(a);for(;i.includes(n);)i=i.replace(n,c)}return i.includes("{{")&&(i=i.replace(/{{.*?}}/g,"")),i}},6698:e=>{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},6727:(e,t,n)=>{"use strict";const r=n(6686),o=n(4002),s=e=>"object"==typeof e,{entries:i}=Object;e.exports=function e(t,n,a,c=""){let l="";c&&(c+=".");for(const[u,d]of i(t)){let t,i="",f="",p="";const m=c+u;s(d)?(i=r(o.MAIN,{items:e(d,n,a,m)}),f=" menu-submenu",p=' data-menu="js-submenu"'):n[m]=d,a.icon&&(t=u.replace(/\(|\)/g,"").replace(/\s/g,"-").toLowerCase(),f+=` icon icon-${t}`),l+=r(o.ITEM,{name:u,subitems:i,className:f,attribute:p,path:m})}return l}},6735:e=>{"use strict";e.exports=navigator.clipboard||{readText:function(){return Promise.reject()},writeText:async function(e){const t=document.createElement("textarea");t.value=e,document.body.appendChild(t),t.select();const n=document.execCommand("copy");if(document.body.removeChild(t),!n)return Promise.reject()}}},6790:e=>{"use strict";e.exports=async(e,...t)=>{!function(e){if("function"!=typeof e)throw Error("fn should be a function!")}(e);try{return[null,await e(...t)]}catch(e){return[e]}}},6927:(e,t,n)=>{"use strict";const r=n(6790);n(1825);const o=n(9168),s=n(1256),i=n(6098),a=n(7346),c=s.parallel,{Dialog:l}=i,{Key:u,config:d}=CloudCmd;let f,p,m;function h(){CloudCmd.View.hide()}CloudCmd.Terminal=t,e.exports.init=async()=>{d("terminal")&&(a.show.load("top"),await CloudCmd.View(),await(async()=>{const{prefix:e}=CloudCmd,t=`${g()}/gritty.js`,n=`${e}/dist/terminal.css`,[o]=await r(c,[t,n]);if(o){const e=o.target.src.replace(window.location.href,"");return l.alert(`file ${e} could not be loaded`)}f=!0})(),function(){const e={env:C(),prefix:CloudCmd.prefixSocket+"/gritty",socketPath:CloudCmd.prefix,fontFamily:"Droid Sans Mono"},{socket:t,terminal:n}=gritty(document.body,e);m=t,p=n,p.onKey(({domEvent:e})=>{const{keyCode:t,shiftKey:n}=e;n&&t===u.ESC&&h()}),m.on("connect",o.with(y,t))}())},e.exports.show=function(){f&&d("terminal")&&CloudCmd.View.show(p.element,{afterShow:()=>{p.focus()}})},e.exports.hide=h;const g=()=>CloudCmd.prefix+"/gritty";const C=()=>({ACTIVE_DIR:i.getCurrentDirPath,PASSIVE_DIR:i.getNotCurrentDirPath,CURRENT_NAME:i.getCurrentName,CURRENT_PATH:i.getCurrentPath});function y(e){e.emit("auth",d("username"),d("password")),e.on("reject",()=>{l.alert("Wrong credentials!")})}},7023:e=>{"use strict";e.exports=(e,...t)=>(function(e){if("function"!=typeof e)throw Error("fn should be function!")}(e),(...n)=>{const r=[...t,...n];return e(...r)})},7252:(e,t,n)=>{"use strict";const r=n(9915),o=n(7411),s=n(9775),i=n(6698),{isArray:a}=Array;function c(e,t){if(!(this instanceof c))return new c(e,t);if("function"!=typeof t)throw Error("processingFn should be function!");o.call(this);const n=a(r=e)?r:[r];var r;this._i=0,this._n=0,this._processingFn=t,this._pause=!1,this._prev=0,this._find(n,(e,t)=>{this._files=e,this._dirs=t,this._n=e.length+t.length,this._data={},this._getFiles(e,this._data,()=>{this._process()})})}e.exports=c,i(c,o),c.prototype._process=function(){const e=this._processingFn.length,t=e=>{++this._i,e&&(this.emit("error",e),this.pause()),this._process(),this._progress()};let n,r,o=this._dirs.shift(),s="directory";if(!o){s="file";const e=this._files.shift();e&&(o=e.fullPath,n=this._data[o])}if(!o)return this.emit("end");this._pause||(r=6===e?[s,o,n,this._i,this._n]:[s,o,n],r.push(t),this._processingFn(...r))},c.prototype.pause=function(){this._pause=!0},c.prototype.continue=function(){this._pause&&(this._pause=!1,this._process())},c.prototype.abort=function(){this._files=[],this._dirs=[],this._process()},c.prototype._progress=function(){const e=Math.round(100*this._i/this._n);e!==this._prev&&(this._prev=e,this.emit("progress",e))},c.prototype._getFiles=function(e,t,n){const r=e.slice(),o=r.shift();if(!o)return n(null,t);o.file(e=>{const s=o.fullPath;t[s]=e,this._getFiles(r,t,n)})},c.prototype._find=function(e,t){const n=[],o=[];s(e,(e,t)=>{const s=r(e);s.on("directory",e=>{o.push(e)}),s.on("file",(e,t)=>{n.push(t)}),s.on("end",()=>{t()})},()=>{t(n,o)})}},7346:(e,t,n)=>{"use strict";const r=n(407),o=e.exports,s="loading",i="hidden",a="error",c=()=>function(){const e=document.createElementNS;if(!e)return!1;const t=e.bind(document)("http://www.w3.org/2000/svg","animate").toString();return/SVGAnimate/.test(t)}()?"-svg":"-gif";function l(){return r("span",{id:"js-status-image",className:"icon",dataName:"progress",notAppend:!0})}function u(e,t){const n=o.loading(),r=n.parentElement,s=DOM.getRefreshButton(t);let i;return"top"===e?i=s.parentElement:(i=DOM.getCurrentFile(),i=i?DOM.getByDataName("js-name",i):s.parentElement),(!r||r&&r!==i)&&i.appendChild(n),DOM.show(n),n}e.exports.get=l,e.exports.loading=()=>{const e=l(),{classList:t}=e,n=s+c();return t.add(s,n),t.remove(a,i),e},e.exports.error=()=>{const e=l(),{classList:t}=e,n=s+c();return t.add(a),t.remove(i,s,n),e},e.exports.show=u,e.exports.show.load=u,e.exports.show.error=function(e){const t=o.error();return DOM.show(t),t.title=e,t},e.exports.hide=()=>{const e=o.get();return DOM.hide(e),o},e.exports.setProgress=(e,t)=>{const n=o.get();return n?(n.setAttribute("data-progress",`${e}%`),t&&(n.title=t),o):o},e.exports.clearProgress=()=>{const e=o.get();return e?(e.setAttribute("data-progress",""),e.title="",o):o}},7411:e=>{"use strict";function t(){if(!(this instanceof t))return new t;this._all={}}function n(e){if("string"!=typeof e)throw Error("event should be string!")}function r(e,t){n(e),function(e){if("function"!=typeof e)throw Error("callback should be function!")}(t)}e.exports=t,t.prototype.on=function(e,t){const n=this._all[e];return r(e,t),n?n.push(t):this._all[e]=[t],this},t.prototype.addListener=t.prototype.on,t.prototype.once=function(e,t){const n=this;return r(e,t),this.on(e,function r(...o){t(...o),n.off(e,r)}),this},t.prototype.off=function(e,t){const n=this._all[e]||[];let o=n.indexOf(t);for(r(e,t);~o;)n.splice(o,1),o=n.indexOf(t);return this},t.prototype.removeListener=t.prototype.off,t.prototype.emit=function(e,...t){const r=this._all[e];if(n(e),!r&&"error"===e)throw t[0];if(!r)return this;for(const e of r)e(...t);return this},t.prototype.removeAllListeners=function(e){return n(e),this._all[e]=[],this}},7508:e=>{"use strict";e.exports.runSelected=async(e,t,n)=>{for(const r of e)await n(t[r])}},7775:(e,t,n)=>{"use strict";n.r(t)},7975:e=>{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",o=0,s=-1,i=0,a=0;a<=e.length;++a){if(a<e.length)n=e.charCodeAt(a);else{if(47===n)break;n=47}if(47===n){if(s===a-1||1===i);else if(s!==a-1&&2===i){if(r.length<2||2!==o||46!==r.charCodeAt(r.length-1)||46!==r.charCodeAt(r.length-2))if(r.length>2){var c=r.lastIndexOf("/");if(c!==r.length-1){-1===c?(r="",o=0):o=(r=r.slice(0,c)).length-1-r.lastIndexOf("/"),s=a,i=0;continue}}else if(2===r.length||1===r.length){r="",o=0,s=a,i=0;continue}t&&(r.length>0?r+="/..":r="..",o=2)}else r.length>0?r+="/"+e.slice(s+1,a):r=e.slice(s+1,a),o=a-s-1;s=a,i=0}else 46===n&&-1!==i?++i:i=-1}return r}var r={resolve:function(){for(var e,r="",o=!1,s=arguments.length-1;s>=-1&&!o;s--){var i;s>=0?i=arguments[s]:(void 0===e&&(e=process.cwd()),i=e),t(i),0!==i.length&&(r=i+"/"+r,o=47===i.charCodeAt(0))}return r=n(r,!o),o?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&o&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n<arguments.length;++n){var o=arguments[n];t(o),o.length>0&&(void 0===e?e=o:e+="/"+o)}return void 0===e?".":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=r.resolve(e))===(n=r.resolve(n)))return"";for(var o=1;o<e.length&&47===e.charCodeAt(o);++o);for(var s=e.length,i=s-o,a=1;a<n.length&&47===n.charCodeAt(a);++a);for(var c=n.length-a,l=i<c?i:c,u=-1,d=0;d<=l;++d){if(d===l){if(c>l){if(47===n.charCodeAt(a+d))return n.slice(a+d+1);if(0===d)return n.slice(a+d)}else i>l&&(47===e.charCodeAt(o+d)?u=d:0===d&&(u=0));break}var f=e.charCodeAt(o+d);if(f!==n.charCodeAt(a+d))break;47===f&&(u=d)}var p="";for(d=o+u+1;d<=s;++d)d!==s&&47!==e.charCodeAt(d)||(0===p.length?p+="..":p+="/..");return p.length>0?p+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,o=-1,s=!0,i=e.length-1;i>=1;--i)if(47===(n=e.charCodeAt(i))){if(!s){o=i;break}}else s=!1;return-1===o?r?"/":".":r&&1===o?"//":e.slice(0,o)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var r,o=0,s=-1,i=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,c=-1;for(r=e.length-1;r>=0;--r){var l=e.charCodeAt(r);if(47===l){if(!i){o=r+1;break}}else-1===c&&(i=!1,c=r+1),a>=0&&(l===n.charCodeAt(a)?-1===--a&&(s=r):(a=-1,s=c))}return o===s?s=c:-1===s&&(s=e.length),e.slice(o,s)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!i){o=r+1;break}}else-1===s&&(i=!1,s=r+1);return-1===s?"":e.slice(o,s)},extname:function(e){t(e);for(var n=-1,r=0,o=-1,s=!0,i=0,a=e.length-1;a>=0;--a){var c=e.charCodeAt(a);if(47!==c)-1===o&&(s=!1,o=a+1),46===c?-1===n?n=a:1!==i&&(i=1):-1!==n&&(i=-1);else if(!s){r=a+1;break}}return-1===n||-1===o||0===i||1===i&&n===o-1&&n===r+1?"":e.slice(n,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+r:n+"/"+r:r}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var r,o=e.charCodeAt(0),s=47===o;s?(n.root="/",r=1):r=0;for(var i=-1,a=0,c=-1,l=!0,u=e.length-1,d=0;u>=r;--u)if(47!==(o=e.charCodeAt(u)))-1===c&&(l=!1,c=u+1),46===o?-1===i?i=u:1!==d&&(d=1):-1!==i&&(d=-1);else if(!l){a=u+1;break}return-1===i||-1===c||0===d||1===d&&i===c-1&&i===a+1?-1!==c&&(n.base=n.name=0===a&&s?e.slice(1,c):e.slice(a,c)):(0===a&&s?(n.name=e.slice(1,i),n.base=e.slice(1,c)):(n.name=e.slice(a,i),n.base=e.slice(a,c)),n.ext=e.slice(i,c)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r},8167:(e,t,n)=>{"use strict";const{promisify:r}=n(4905),o=n(6790),s=n(55);n(1825);const i=n(9168),a=n(1256),c=n(6098),l=n(7346),{Dialog:u}=c,{Key:d,config:f}=CloudCmd;let p,m,h;CloudCmd.TerminalRun=t;const g=s();function C(){CloudCmd.View.hide()}e.exports.init=async()=>{f("terminal")&&(l.show.load("top"),await CloudCmd.View(),await(async()=>{const{prefix:e}=CloudCmd,t=`${y()}/gritty.js`,n=`${e}/dist/terminal.css`,[r]=await o(a.parallel,[t,n]);if(r){const e=r.target.src.replace(window.location.href,"");return u.alert(`file ${e} could not be loaded`)}p=!0})())},e.exports.show=r((e={},t)=>{if(!p)return t(null,-1);f("terminal")&&(function(e){const{cwd:t=c.getCurrentDirPath(),command:n,autoClose:r,closeMessage:o="Press any key to close Terminal..."}=e,s={cwd:t,env:w(),prefix:CloudCmd.prefixSocket+"/gritty",socketPath:CloudCmd.prefix,fontFamily:"Droid Sans Mono",command:n,autoRestart:!1};let a=!1;const{socket:l,terminal:u}=gritty(document.body,s);h=l,m=u,m.onKey(({domEvent:e})=>{const{keyCode:t,shiftKey:n}=e;a&&C(),n&&t===d.ESC&&C()}),h.on("exit",e=>{if(g(e),r)return C();u.write(`\n${o}`),a=!0}),h.on("connect",i.with(x,l))}(e),CloudCmd.View.show(m.element,{afterShow:()=>{m.focus()},afterClose:()=>{t(null,g())}}))}),e.exports.hide=C;const y=()=>CloudCmd.prefix+"/gritty";const w=()=>({ACTIVE_DIR:c.getCurrentDirPath,PASSIVE_DIR:c.getNotCurrentDirPath,CURRENT_NAME:c.getCurrentName,CURRENT_PATH:c.getCurrentPath});function x(e){e.emit("auth",f("username"),f("password")),e.on("reject",()=>{u.alert("Wrong credentials!")})}},8199:(e,t,n)=>{"use strict";const r=n(4299),o=r((e,t)=>!e.includes(t)),s=r((e,t)=>e.filter(o(t)));e.exports=(e,t,n)=>{const r=t.indexOf(e),o=s(t,n),{length:i}=o;return o[r]?o[r]:o[i-1]}},8218:e=>{"use strict";e.exports=(e,t)=>{const n=e.indexOf(t);return~n?n:0}},8221:(e,t,n)=>{"use strict";n(2538);const r=n(4299),o=n(9317),s=n(55),i=n(1256),a=n(407),c=n(8446),l=n(6790),{codeFrameColumns:u}=n(2882),d=n(7346),f=n(2300),p=n(1213),m=n(2286),h=n(8373),g=n(8498),{runSelected:C}=n(7508),y=i.css,w=s();CloudCmd.UserMenu=e.exports;const{Key:x}=CloudCmd;e.exports.init=async()=>{await Promise.all([y(`${CloudCmd.prefix}/dist/user-menu.css`),CloudCmd.View()])},e.exports.show=async function(){d.show.load("top");const{dirPath:e}=v,t=await fetch(`${CloudCmd.prefix}/api/v1/user-menu?dir=${e}`),n=await t.text(),[r,o]=c(p,n);if(d.hide(),r)return f.alert(S({error:r,source:n}));w(n);const{names:s,keys:i,items:l,settings:u}=g(o);if(u.run)return C(u.select,l,k);const m=a("button",{className:"cloudcmd-user-menu-button",innerText:"User Menu",notAppend:!0}),h=a("select",{className:"cloudcmd-user-menu",innerHTML:b(s),notAppend:!0,size:10});m.addEventListener("click",O(o,h)),h.addEventListener("dblclick",E(o)),h.addEventListener("keydown",M({keys:i,userMenu:o})),CloudCmd.View.show([m,h],{autoSize:!0,afterShow:()=>h.focus()})},e.exports.hide=D;const{CurrentInfo:v}=DOM;function b(e){const t=[];for(const n of e)t.push(`<option>${n}</option>`);return t.join("")}function D(){CloudCmd.View.hide()}const E=r(async(e,t)=>{const{value:n}=t.target;await k(e[n])}),O=o(async(e,{value:t})=>{await k(e[t])}),M=r(async({keys:e,userMenu:t},n)=>{const{keyCode:r,target:o}=n,s=n.key.toUpperCase();let i;if(n.preventDefault(),n.stopPropagation(),r===x.ESC)return D();if(r===x.ENTER)i=t[o.value];else{if(!e[s])return m(o,n);i=e[s]}await k(i)}),k=async e=>{D();const[t]=await l(e,{DOM,CloudCmd,tryToCatch:l});if(!t)return;const n=w();return f.alert(S({error:t,source:n}))};function S({error:e,source:t}){const{code:n}=e;if(!n||"frame"===n)return e.message;const[r,o]=h(e);return`<pre>${u(t,{start:{line:r,column:o}},{message:e.message,highlightCode:!1})}</pre>`}},8278:(e,t,n)=>{e.exports=n(4261)},8373:e=>{"use strict";const t=e=>"number"==typeof e;e.exports=e=>{const{lineNumber:n,columnNumber:r}=e;if(t(n)&&t(r))return[n,r];const o=e.stack.indexOf(">"),s=e.stack.slice(o+1),i=s.indexOf(")"),a=s.slice(1,i),[c,l]=a.split(":");return[Number(c),Number(l)]}},8401:(e,t,n)=>{"use strict";const r=n(975);e.exports=(e,t)=>(function(e,t){if(!e)throw Error("pattern could not be empty!");if(!Array.isArray(t))throw Error("names should be an array!")}(e,t),t.map(o(e)));const o=e=>(t,n)=>{const[o,s]=function(e){const t=e.lastIndexOf(".");return~t?[e.substr(0,t),e.substr(t)]:[e,""]}(t),i=r(new Date,{sep:"-"});return e.replace("[n]",o).replace("[e]",s).replace("[c]",n+1).replace("[ymd]",i)}},8423:(e,t,n)=>{"use strict";n.r(t)},8446:e=>{"use strict";e.exports=(e,...t)=>{try{return[null,e(...t)]}catch(e){return[e]}}},8451:(e,t,n)=>{"use strict";const r=n(1597),{promisify:o}=n(4905),s=n(6790),i=n(407),a=n(1256),{MAX_FILE_SIZE:c}=n(4180),{time:l,timeEnd:u}=n(887),d=()=>g,f=a.js,p="Edit";CloudCmd[p]=t;const m=CloudCmd.config("editor");let h,g,C=!0;const y={afterShow:()=>{g.moveCursorTo(0,0).focus()}};e.exports.init=async()=>{const e=function(){const e=i("div",{style:r`
|
|
2
2
|
width: 100%;
|
|
3
3
|
height: 100%;
|
|
4
4
|
font-family: "Droid Sans Mono";
|