(()=>{var e,t={23771:(e,t,r)=>{"use strict";var n=r(15671),a=r(43144),s=r(97326),o=r(60136),i=r(27121),c=r(61120),u=r(4942),l=r(92826),p=r(71002);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var d=function(){function e(){(0,n.Z)(this,e),(0,u.Z)(this,"hookMap",{})}return(0,a.Z)(e,[{key:"trigger",value:function(e){if(this.hookMap[e]){for(var t=[],r=arguments.length,n=new Array(r>1?r-1:0),a=1;a-1&&this.hookMap[e].splice(r,1)}}}]),e}(),h=r(42982),m=r(27484),v=r.n(m),g={debug:10,info:100,warn:1e3,error:1e4};function y(){for(var e={},t=arguments.length,r=new Array(t),n=0;n1?r-1:0),s=1;s2?r-2:0),a=2;a=g[this.core.level]&&this.core.writer.write(e,t,y(this.label,n)),this.core.debug){"object"===(0,p.Z)(t)&&(t=JSON.stringify(t));var s="".concat(v()(new Date).format("YYYY-MM-DD HH:mm:ss")," [").concat(e,"] msg=").concat(t," label=").concat(JSON.stringify(y(this.label,n)));switch(e){case"error":console.error(s);break;case"warn":console.warn(s);break;default:console.info(s)}}k.hook.trigger("log",{level:e,message:t,label:n})}},{key:"with",value:function(){for(var t=arguments.length,r=new Array(t),n=0;n1?t-1:0),n=1;n1?t-1:0),n=1;n1?t-1:0),n=1;n1?t-1:0),n=1;n=0}function fe(e,t){chrome.notifications.create({type:"basic",title:e,message:t,iconUrl:chrome.runtime.getURL("assets/logo.png")})}function de(e){switch((0,p.Z)(e)){case"string":return"s".concat(e);case"number":return"n".concat(e.toString());case"boolean":return"b".concat(e?"true":"false");default:try{return"o".concat(JSON.stringify(e))}catch(e){return""}}}function he(e,t,r){try{return ce().lte(e,t)}catch(e){null==r||r.warn("does not conform to the Semantic Versioning specification",b.E(e))}for(var n=e.split("."),a=t.split("."),s=0;sNumber(a[s]))return!1;if(Number(n[s])>6!=2)return t;var r;var n=t-3;if(n>=0&&je(e[n]))return n;if(n=t-2,n>=0&&(je(e[n])||De(e[n])))return n;if(n=t-1,n>=0&&(je(e[n])||De(e[n])||Ee(e[n])))return n;return-1}(e,i)))return s;var u=function(e,t){if(t===e.length)return t;var r=t-3;if(r>=0&&je(e[r]))return t+1;if(r=t-2,r>=0){if(je(e[r]))return t+2;if(De(e[r]))return t+1}if(r=t-1,r>=0){if(je(e[r]))return t+3;if(De(e[r]))return t+2;if(Ee(e[r]))return t+1}return t}(e,Math.min(e.length,i+o));if(u>e.length)return s;for(var l=e.slice(i,u),p=0;p>3==30}function De(e){return e>>4==14}function Ee(e){return e>>5==6}var Te,Ae=function(){function e(t,r){(0,n.Z)(this,e),this.message=t,this.name=r,this.logger=k.getLogger({component:this.name,manager:!0})}return(0,a.Z)(e,[{key:"listenEvent",value:function(e,t){this.message.setHandler("".concat(this.name,"-").concat(e),(function(e,r,n){return new Promise((function(e){e(t(r,n))}))}))}}]),e}();function Ue(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ge(e){for(var t=1;t(new Date).getTime()-6e4)){e.next=6;break}return e.abrupt("return",Promise.resolve(a));case 6:return e.prev=6,e.next=9,this.updateResource(r,t,n);case 9:if(!(a=e.sent)){e.next=12;break}return e.abrupt("return",Promise.resolve(a));case 12:e.next=16;break;case 14:e.prev=14,e.t0=e.catch(6);case 16:return e.abrupt("return",Promise.resolve(void 0));case 17:case"end":return e.stop()}}),e,this,[[6,14]])}))),function(e,t,r){return i.apply(this,arguments)})},{key:"updateResource",value:(s=(0,w.Z)(O().mark((function e(t,r,n){var a,s,o,i,c;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=this.parseUrl(t),e.next=3,this.getResourceModel(a.url);case 3:return s=e.sent,e.prev=4,e.next=7,this.loadByUrl(a.url,n);case 7:if((o=e.sent).updatetime=(new Date).getTime(),W.getInstance().set(Ie.resourceByUrl(a.url),o),s){e.next=19;break}return o.createtime=(new Date).getTime(),e.next=14,this.resourceDAO.save(o);case 14:i=e.sent,s=o,this.logger.info("reload new resource success",{url:a.url,id:i}),e.next=27;break;case 19:return s.base64=o.base64,s.content=o.content,s.contentType=o.contentType,s.hash=o.hash,s.updatetime=o.updatetime,e.next=26,this.resourceDAO.update(s.id,s);case 26:this.logger.info("reload resource success",{url:a.url,id:s.id});case 27:e.next=33;break;case 29:throw e.prev=29,e.t0=e.catch(4),this.logger.error("load resource error",{url:a.url},b.E(e.t0)),e.t0;case 33:return e.next=35,this.resourceLinkDAO.findOne({url:a.url,scriptId:r});case 35:if(!e.sent){e.next=38;break}return e.abrupt("return",Promise.resolve(s));case 38:return e.next=40,this.resourceLinkDAO.save({id:0,url:a.url,scriptId:r,createtime:(new Date).getTime()});case 40:return c=e.sent,this.logger.debug("resource link",{url:a.url,resourceID:s.id,id:c}),e.abrupt("return",Promise.resolve(s));case 43:case"end":return e.stop()}}),e,this,[[4,29]])}))),function(e,t,r){return s.apply(this,arguments)})},{key:"addResource",value:(r=(0,w.Z)(O().mark((function e(t,r,n){var a,s,o,i,c;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=this.parseUrl(t),e.next=3,this.getResourceModel(a.url);case 3:if(s=e.sent){e.next=23;break}return e.prev=5,e.next=8,this.loadByUrl(a.url,n);case 8:return(o=e.sent).createtime=(new Date).getTime(),o.updatetime=(new Date).getTime(),W.getInstance().set(Ie.resourceByUrl(a.url),o),e.next=14,this.resourceDAO.save(o);case 14:i=e.sent,s=o,this.logger.info("load resource success",{url:a.url,id:i}),e.next=23;break;case 19:throw e.prev=19,e.t0=e.catch(5),this.logger.error("load resource error",{url:a.url},b.E(e.t0)),e.t0;case 23:return e.next=25,this.resourceLinkDAO.findOne({url:a.url,scriptId:r});case 25:if(!e.sent){e.next=28;break}return e.abrupt("return",Promise.resolve(s));case 28:return e.next=30,this.resourceLinkDAO.save({id:0,url:a.url,scriptId:r,createtime:(new Date).getTime()});case 30:return c=e.sent,this.logger.debug("resource link",{url:a.url,resourceID:s.id,id:c}),e.abrupt("return",Promise.resolve(s));case 33:case"end":return e.stop()}}),e,this,[[5,19]])}))),function(e,t,n){return r.apply(this,arguments)})},{key:"getResourceModel",value:(t=(0,w.Z)(O().mark((function e(t){var r,n;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.parseUrl(t),e.next=3,this.resourceDAO.findOne({url:r.url});case 3:if(!(n=e.sent)){e.next=7;break}return r.hash&&(r.hash.md5&&r.hash.md5!==n.hash.md5||r.hash.sha1&&r.hash.sha1!==n.hash.sha1||r.hash.sha256&&r.hash.sha256!==n.hash.sha256||r.hash.sha384&&r.hash.sha384!==n.hash.sha384||r.hash.sha512&&r.hash.sha512!==n.hash.sha512)&&(n.content="console.warn(\"ScriptCat: couldn't load resource from URL ".concat(t,' due to a SRI error ");')),e.abrupt("return",Promise.resolve(n));case 7:return e.abrupt("return",Promise.resolve(void 0));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"loadByUrl",value:function(e,t){var r=this;return new Promise((function(n,a){var s=r.parseUrl(e);J.Z.get(s.url,{responseType:"blob"}).then(function(){var e=(0,w.Z)(O().mark((function e(r){var o,i;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(200===r.status){e.next=2;break}return e.abrupt("return",a(new Error("resource response status not 200:".concat(r.status))));case 2:return e.t0=s.url,e.t1=(r.headers["content-type"]||"application/octet-stream").split(";")[0],e.next=6,Be(r.data);case 6:return e.t2=e.sent,e.t3=t,e.t4=(new Date).getTime(),o={id:0,url:e.t0,content:"",contentType:e.t1,hash:e.t2,base64:"",type:e.t3,createtime:e.t4},e.next=12,r.data.arrayBuffer();case 12:if(i=e.sent,!Ce(new Uint8Array(i))){e.next=18;break}return e.next=17,r.data.text();case 17:o.content=e.sent;case 18:return e.next=20,Ze(r.data);case 20:if(e.t5=e.sent,e.t5){e.next=23;break}e.t5="";case 23:return o.base64=e.t5,e.abrupt("return",n(o));case 25:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){return a(e)}))}))}},{key:"parseUrl",value:function(e){var t=e.split("#");if(t.length<2)return{url:t[0],hash:void 0};var r=t[1].split(/[,;]/),n={};return r.forEach((function(e){var t=e.split("=");t.length<2||(n[t[0]]=t[1].toLocaleLowerCase())})),{url:t[0],hash:n}}}]),y}(Ae))||Te;const qe=He;var Ne=r(53229);function Ve(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=(0,c.Z)(e);if(t){var a=(0,c.Z)(this).constructor;r=Reflect.construct(n,arguments,a)}else r=n.apply(this,arguments);return(0,i.Z)(this,r)}}var Fe=function(e){(0,o.Z)(r,e);var t=Ve(r);function r(e){var a;return(0,n.Z)(this,r),(a=t.call(this)).tag=e,a.reconnect(),a}return(0,a.Z)(r,[{key:"reconnect",value:function(){var e=this;this.port=chrome.runtime.connect({name:this.tag}),this.channelManager=new _((function(t){e.nativeSend(t)})),this.port.onMessage.addListener((function(t){e.handler(t,e.channelManager,{targetTag:"content"})})),this.port.onDisconnect.addListener((function(){var t;e.channelManager.free(),null===(t=e.onDisconnect)||void 0===t||t.call(e)}))}},{key:"getChannel",value:function(e){return this.channelManager.getChannel(e)}},{key:"channel",value:function(e){return this.channelManager.channel(e)}},{key:"disChannel",value:function(e){this.channelManager.disChannel(e)}},{key:"free",value:function(){this.channelManager.free()}},{key:"nativeSend",value:function(e){this.port.postMessage(e)}},{key:"send",value:function(e,t){this.port.postMessage({action:e,data:t})}},{key:"syncSend",value:function(e,t){return this.channelManager.channel().syncSend(e,t)}},{key:"broadcast",value:function(e,t,r){this.nativeSend({target:e,action:t,data:r,broadcast:!0})}},{key:"broadcastChannel",value:function(e,t,r){this.nativeSend({target:e,data:{stream:t,channel:!0,data:r},broadcast:!0})}}]),r}(S),ze=r(3067),Je=function(){function e(t,r){(0,n.Z)(this,e),this.prefix="".concat(t,"_"),this.storage=r?chrome.storage.sync:chrome.storage.local}return(0,a.Z)(e,[{key:"buildKey",value:function(e){return this.prefix+e}},{key:"get",value:function(e){var t=this;return new Promise((function(r){e=t.buildKey(e),t.storage.get(e,(function(t){r(t[e])}))}))}},{key:"set",value:function(e,t){var r=this;return new Promise((function(n){var a={};a[r.buildKey(e)]=t,r.storage.set(a,(function(){return n()}))}))}},{key:"remove",value:function(e){var t=this;return new Promise((function(r){t.storage.remove(t.buildKey(e),(function(){return r()}))}))}},{key:"removeAll",value:function(){var e=this;return new Promise((function(t){e.storage.clear((function(){return t()}))}))}},{key:"keys",value:function(){var e=this;return new Promise((function(t){var r={},n=e.buildKey("");e.storage.get((function(e){Object.keys(e).forEach((function(t){t.startsWith(n)&&(r[t.substring(n.length)]=e[t])})),t(r)}))}))}}]),e}();function We(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ye(e){for(var t=1;t1&&void 0!==o[1]?o[1]:"user",n=this.logger.with({scriptId:t.id,name:t.name,uuid:t.uuid,version:t.metadata.version[0],upsertBy:r}),!t.id){e.next=7;break}return e.next=5,this.dao.findById(t.id);case 5:(a=e.sent)&&(t.selfMetadata=a.selfMetadata);case 7:return e.abrupt("return",new Promise((function(e,a){s.dao.save(t).then((function(){n.info("script upsert success"),xt.hook.trigger("upsert",t,r),e({id:t.id})}),(function(e){n.error("script upsert failed",b.E(e)),a(e)}))})));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"fetchInfoHandler",value:function(e){var t=this;return new Promise((function(r){r(t.cache.get(Ie.scriptInfo(e)))}))}},{key:"enableHandler",value:function(e){var t=this,r=this.logger.with({scriptId:e});return new Promise((function(n,a){t.dao.findById(e).then((function(e){return e?(e.status!==$&&(e.status=$,e.updatetime=(new Date).getTime(),t.dao.save(e),r.info("enable script"),xt.hook.trigger("enable",e)),n(1)):a(new Error("脚本不存在"))})).catch((function(e){r.error("enable error",b.E(e)),a(e)}))}))}},{key:"disableHandler",value:function(e){var t=this,r=this.logger.with({scriptId:e});return new Promise((function(n,a){t.dao.findById(e).then((function(e){return e?(e.status===$&&(e.status=2,e.updatetime=(new Date).getTime(),t.dao.save(e),r.info("disable script"),xt.hook.trigger("disable",e)),n(1)):a(new Error("脚本不存在"))})).catch((function(e){r.error("disable error",b.E(e)),a(e)}))}))}},{key:"deleteHandler",value:function(e){var t=this,r=this.logger.with({scriptId:e});return new Promise((function(n,a){t.dao.findById(e).then((function(e){return e?(r=r.with({name:e.name,uuid:e.uuid,version:e.metadata.version[0]}),t.dao.delete(e.id).then((function(){return r.info("script delete success"),xt.hook.trigger("delete",e),n(1)})).catch((function(e){return r.error("script delete failed",b.E(e)),a(e)}))):Promise.reject(new Error("脚本不存在"))}))}))}},{key:"checkUpdateHandler",value:function(e){return this.manager.checkUpdate(e,"user")}},{key:"importByUrlHandler",value:function(e){return this.manager.openInstallPageByUrl(e)}},{key:"excludeHandler",value:function(e){var t=this,r=e.id,n=e.exclude,a=e.remove,s=this.logger.with({scriptId:r});return new Promise((function(e,o){t.dao.findById(r).then((function(r){if(!r)return o(new Error("脚本不存在"));r.selfMetadata=r.selfMetadata||{};var i=r.selfMetadata.exclude||[];if(a)for(var c=0;c0&&void 0!==arguments[0]?arguments[0]:{};return function(r,n,a){var s=n;t.listener&&t.listener(),e.apis.set(s,{api:a.value,param:t});var o=s.replace("_",".");o!==s&&("GM.xmlhttpRequest"===o&&(o="GM.xmlHttpRequest"),e.apis.set(o,{api:a.value,param:t}))}}}]),e}();(0,u.Z)(gr,"apis",new Map);Dt=gr.API(),Et=gr.API(),Tt=gr.API({depend:["GM_setValue"]}),At=gr.API(),Ut=gr.API(),Gt=gr.API(),Lt=gr.API(),Bt=gr.API(),Ht=gr.API(),qt=gr.API({depend:["CAT_fetchBlob","CAT_createBlobUrl","CAT_fetchDocument"]}),Nt=gr.API(),Vt=gr.API(),Ft=gr.API(),zt=gr.API(),Jt=gr.API({depend:["GM_closeInTab"]}),Wt=gr.API(),Yt=gr.API(),Qt=gr.API(),Xt=gr.API(),$t=gr.API(),Kt=gr.API(),er=gr.API(),tr=gr.API(),rr=gr.API(),nr=gr.API(),ar=gr.API(),sr=gr.API(),or=gr.API(),ir=gr.API(),cr=gr.API({depend:["CAT_fetchBlob","CAT_createBlobUrl"]}),ur=function(){function e(){(0,n.Z)(this,e),(0,u.Z)(this,"valueChangeListener",new Map)}var t,r,s,o;return(0,a.Z)(e,[{key:"sendMessage",value:function(e,t){return this.message.syncSend("gmApi",{api:e,scriptId:this.scriptRes.id,params:t,runFlag:this.runFlag})}},{key:"connect",value:function(e,t,r){var n=(0,Z.Z)(),a=this.message.channel(n);return a.setHandler(r),a.channel("gmApiChannel",{api:e,scriptId:this.scriptRes.id,params:t,runFlag:this.runFlag}),a}},{key:"valueUpdate",value:function(e){var t=this,r=this.scriptRes.metadata.storagename;(e.value.scriptId===this.scriptRes.id||r&&e.value.storageName&&r[0]===e.value.storageName)&&(void 0===e.value.value?delete this.scriptRes.value[e.value.key]:this.scriptRes.value[e.value.key]=e.value,this.valueChangeListener.forEach((function(r){r.name===e.value.key&&r.listener(e.value.key,e.oldValue,e.value.value,e.sender.runFlag!==t.runFlag,e.sender.tabId)})))}},{key:"GM_getValue",value:function(e,t){var r=this.scriptRes.value[e];return r?r.value:t}},{key:"GM_setValue",value:function(e,t){"object"===(0,p.Z)(t)&&(t=JSON.parse(JSON.stringify(t)));var r=this.scriptRes.value[e];return r?r.value=t:r={id:0,scriptId:this.scriptRes.id,storageName:this.scriptRes.metadata.storagename&&this.scriptRes.metadata.storagename[0]||"",key:e,value:t,createtime:(new Date).getTime(),updatetime:0},void 0===t?delete this.scriptRes.value[e]:this.scriptRes.value[e]=r,this.sendMessage("GM_setValue",[e,t])}},{key:"GM_deleteValue",value:function(e){this.GM_setValue(e,void 0)}},{key:"GM_listValues",value:function(){return Object.keys(this.scriptRes.value)}},{key:"GM_addValueChangeListener",value:function(e,t){var r=1e7*Math.random();return this.valueChangeListener.set(r,{name:e,listener:t}),r}},{key:"GM_removeValueChangeListener",value:function(e){this.valueChangeListener.delete(e)}},{key:"CAT_fetchBlob",value:function(e){return this.message.syncSend("CAT_fetchBlob",e)}},{key:"CAT_fetchDocument",value:function(e){var t=this;return new Promise((function(r){var n;t.message.sendCallback("CAT_fetchDocument",e,(function(e){n=t.message.getAndDelRelatedTarget(e.relatedTarget),r(n)}))}))}},{key:"CAT_createBlobUrl",value:function(e){return this.message.syncSend("CAT_createBlobUrl",e)}},{key:"GM_xmlhttpRequest",value:function(e){var t,r=this,n=new URL(e.url,window.location.href);e.headers&&Object.keys(e.headers).forEach((function(t){"cookie"===t.toLowerCase()&&(e.cookie=e.headers[t],delete e.headers[t])}));var a={method:e.method,timeout:e.timeout,url:n.href,headers:e.headers,cookie:e.cookie,context:e.context,responseType:e.responseType,overrideMimeType:e.overrideMimeType,anonymous:e.anonymous,user:e.user,password:e.password,maxRedirects:e.maxRedirects};a.headers||(a.headers={}),e.nocache&&(a.headers["Cache-Control"]="no-cache");var s=function(){var n=(0,w.Z)(O().mark((function n(){var s,o,i,c,u,l,p,f;return O().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!e.data){n.next=20;break}if(!(e.data instanceof FormData)){n.next=12;break}return a.dataType="FormData",o=[],i={},e.data.forEach((function(e,t){i[t]=!0})),c=Object.keys(i).map((function(t){var r=e.data.getAll(t).map((function(e){return new Promise((function(r){e instanceof File?Ze(e).then((function(n){o.push({key:t,type:"file",val:n||"",filename:e.name}),r()})):(o.push({key:t,type:"text",val:e}),r())}))}));return Promise.all(r)})),n.next=9,Promise.all(c);case 9:a.data=o,n.next=20;break;case 12:if(!(e.data instanceof Blob)){n.next=19;break}return a.dataType="Blob",n.next=16,r.CAT_createBlobUrl(e.data);case 16:a.data=n.sent,n.next=20;break;case 19:a.data=e.data;case 20:p=null===(s=e.responseType)||void 0===s?void 0:s.toLocaleLowerCase(),f=function(e){return"stream"===p&&(u=new ReadableStream({start:function(e){l=e}})),function(){var t=(0,w.Z)(O().mark((function t(n){var a;return O().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!n.response){t.next=19;break}if("document"!==p){t.next=9;break}return t.next=4,r.CAT_fetchDocument(n.response);case 4:n.response=t.sent,n.responseXML=n.response,n.responseType="document",t.next=19;break;case 9:return t.next=11,r.CAT_fetchBlob(n.response);case 11:if(a=t.sent,"arraybuffer"!==p){t.next=18;break}return t.next=15,a.arrayBuffer();case 15:n.response=t.sent,t.next=19;break;case 18:n.response=a;case 19:"stream"===p&&(n.response=u),e(n);case 21:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()},"arraybuffer"!==p&&"blob"!==p&&"document"!==p&&"stream"!==p||(e.onload&&(e.onload=f(e.onload)),e.onreadystatechange&&(e.onreadystatechange=f(e.onreadystatechange)),e.onloadend&&(e.onloadend=f(e.onloadend)),"document"===p&&(a.responseType="blob"),"stream"===p&&e.onloadstart&&(e.onloadstart=f(e.onloadstart))),(t=r.connect("GM_xmlhttpRequest",[a],(function(t){var r,n=t.data||{};switch(t.event){case"onload":e.onload&&e.onload(n);break;case"onloadend":var a;if(e.onloadend&&e.onloadend(n),u)null===(a=l)||void 0===a||a.close();break;case"onloadstart":e.onloadstart&&e.onloadstart(n);break;case"onprogress":e.onprogress&&e.onprogress(n);break;case"onreadystatechange":e.onreadystatechange&&e.onreadystatechange(n);break;case"ontimeout":e.ontimeout&&e.ontimeout();break;case"onerror":e.onerror&&e.onerror("");break;case"onabort":e.onabort&&e.onabort();break;case"onstream":null===(r=l)||void 0===r||r.enqueue(new Uint8Array(t.data));break;default:k.getLogger().warn("GM_xmlhttpRequest resp is error",{resp:t})}}))).setCatch((function(t){e.onerror&&e.onerror(t)}));case 25:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}();return s(),{abort:function(){t&&t.disChannel()}}}},{key:"GM_notification",value:(o=(0,w.Z)(O().mark((function e(t,r,n,a){var s,o,i,c,u=arguments;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s={},"string"!=typeof t){e.next=12;break}s.text=t,e.t0=u.length,e.next=4===e.t0?6:3===e.t0?7:2===e.t0?8:9;break;case 6:s.onclick=a;case 7:s.image=n;case 8:s.title=r;case 9:return e.abrupt("break",10);case 10:e.next=14;break;case 12:(s=t).ondone=s.ondone||r;case 14:s.onclick&&(o=s.onclick,delete s.onclick),s.ondone&&(i=s.ondone,delete s.ondone),s.oncreate&&(c=s.oncreate,delete s.oncreate),this.connect("GM_notification",[s],(function(e){switch(e.event){case"click":o&&o.apply({id:e.id},[e.id,e.index]);break;case"done":i&&i.apply({id:e.id},[e.user]);break;case"create":c&&c.apply({id:e.id},[e.id]);break;default:k.getLogger().warn("GM_notification resp is error",{resp:e})}}));case 18:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return o.apply(this,arguments)})},{key:"GM_closeNotification",value:function(e){this.sendMessage("GM_closeNotification",[e])}},{key:"GM_updateNotification",value:function(e,t){this.sendMessage("GM_updateNotification",[e,t])}},{key:"GM_log",value:function(e,t,r){return this.sendMessage("GM_log",[e,t,r])}},{key:"GM_openInTab",value:function(e,t){var r,n=this,a={};1===arguments.length?a.active=!0:"boolean"==typeof t?a.active=t:a=t;var s={close:function(){n.GM_closeInTab(r)}},o=this.connect("GM_openInTab",[e,a],(function(e){switch(e.event){case"oncreate":r=e.tabId;break;case"onclose":s.onclose&&s.onclose(),s.closed=!0,o.disChannel()}}));return s}},{key:"GM_closeInTab",value:function(e){return this.sendMessage("GM_closeInTab",[e])}},{key:"GM_getResourceText",value:function(e){if(this.scriptRes.resource){var t=this.scriptRes.resource[e];return t?t.content:void 0}}},{key:"GM_getResourceURL",value:function(e,t){if(this.scriptRes.resource){var r=this.scriptRes.resource[e];return r?t?URL.createObjectURL(Pe(r.base64)):r.base64:void 0}}},{key:"GM_addStyle",value:function(e){var t,r=this;return this.message.sendCallback("GM_addElement",{param:["style",{textContent:e}]},(function(e){t=r.message.getAndDelRelatedTarget(e.relatedTarget)})),t}},{key:"GM_getTab",value:(s=(0,w.Z)(O().mark((function e(t){var r;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sendMessage("GM_getTab",[]);case 2:r=e.sent,t(r);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"GM_saveTab",value:function(e){return"object"===(0,p.Z)(e)&&(e=JSON.parse(JSON.stringify(e))),this.sendMessage("GM_saveTab",[e])}},{key:"GM_getTabs",value:(r=(0,w.Z)(O().mark((function e(t){var r;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sendMessage("GM_getTabs",[]);case 2:r=e.sent,t(r);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"GM_download",value:function(e,t){var r;r="string"==typeof e?{name:t||"",url:e}:e;var n=this.connect("GM_download",[{method:r.method,url:r.url,name:r.name,headers:r.headers,saveAs:r.saveAs,timeout:r.timeout,cookie:r.cookie,anonymous:r.anonymous}],(function(e){var t=e.data||{};switch(e.event){case"onload":r.onload&&r.onload(t);break;case"onprogress":r.onprogress&&r.onprogress(t);break;case"ontimeout":r.ontimeout&&r.ontimeout();break;case"onerror":r.onerror&&r.onerror({error:"unknown"});break;default:k.getLogger().warn("GM_download resp is error",{resp:e})}}));return{abort:function(){n.disChannel()}}}},{key:"GM_setClipboard",value:function(e,t){return this.sendMessage("GM_setClipboard",[e,t])}},{key:"GM_cookie",value:function(e,t,r){this.sendMessage("GM_cookie",[e,t]).then((function(e){r&&r(e,void 0)})).catch((function(e){r&&r(void 0,e)}))}},{key:"GM_registerMenuCommand",value:function(e,t,r){this.menuMap||(this.menuMap=new Map);var n=0;if(this.menuMap.forEach((function(t,r){t===e&&(n=r)})),n)return n;this.menuId?this.menuId+=1:this.menuId=1;var a=this.menuId;return this.connect("GM_registerMenuCommand",[a,e,r],(function(){t()})),this.menuMap.set(a,e),a}},{key:"GM_unregisterMenuCommand",value:function(e){this.menuMap||(this.menuMap=new Map),this.menuMap.delete(e),this.sendMessage("GM_unregisterMenuCommand",[e])}},{key:"CAT_userConfig",value:function(){return this.sendMessage("CAT_userConfig",[])}},{key:"GM_addElement",value:function(e,t,r){var n,a=this;return this.message.sendCallback("GM_addElement",{param:["string"==typeof e?e:t,"string"==typeof e?t:r],relatedTarget:"string"==typeof e?null:e},(function(e){n=a.message.getAndDelRelatedTarget(e.relatedTarget)})),n}},{key:"CAT_fileStorage",value:(t=(0,w.Z)(O().mark((function e(t,r){var n,a,s,o=this;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n={path:r.path||"",filename:r.filename,file:r.file},"upload"!==t){e.next=6;break}return e.next=4,this.CAT_createBlobUrl(r.data);case 4:a=e.sent,n.data=a;case 6:s=this.connect("CAT_fileStorage",[t,n],function(){var e=(0,w.Z)(O().mark((function e(n){var a;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("download"!==t){e.next=7;break}return e.next=3,o.CAT_fetchBlob(n.data);case 3:a=e.sent,r.onload&&r.onload(a),e.next=8;break;case 7:r.onload&&r.onload(n.data);case 8:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),s.setCatch((function(e){void 0!==e.code?r.onerror&&r.onerror(e):r.onerror&&r.onerror({code:-1,message:e.message})}));case 8:case"end":return e.stop()}}),e,this)}))),function(e,r){return t.apply(this,arguments)})}],[{key:"GM_info",value:function(e){var t,r,n,a=(t=e.sourceCode,r=t.indexOf("==UserScript=="),n=t.indexOf("==/UserScript=="),-1===r||-1===n?null:"// ".concat(t.substring(r,n+14))),s={description:e.metadata.description&&e.metadata.description[0]||null,matches:e.metadata.match||[],includes:e.metadata.include||[],"run-at":e.metadata["run-at"]&&e.metadata["run-at"][0]||"document-idle",icon:e.metadata.icon&&e.metadata.icon[0]||null,icon64:e.metadata.icon64&&e.metadata.icon64[0]||null,header:a,grant:e.metadata.grant||[]};return{scriptWillUpdate:!0,scriptHandler:"ScriptCat",scriptUpdateURL:e.downloadUrl,scriptMetaStr:a,version:dr,script:vr({name:e.name,namespace:e.namespace,version:e.metadata.version&&e.metadata.version[0],author:e.author},s)}}}]),e}(),(0,Ne.Z)(ur.prototype,"GM_getValue",[Dt],Object.getOwnPropertyDescriptor(ur.prototype,"GM_getValue"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_setValue",[Et],Object.getOwnPropertyDescriptor(ur.prototype,"GM_setValue"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_deleteValue",[Tt],Object.getOwnPropertyDescriptor(ur.prototype,"GM_deleteValue"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_listValues",[At],Object.getOwnPropertyDescriptor(ur.prototype,"GM_listValues"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_addValueChangeListener",[Ut],Object.getOwnPropertyDescriptor(ur.prototype,"GM_addValueChangeListener"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_removeValueChangeListener",[Gt],Object.getOwnPropertyDescriptor(ur.prototype,"GM_removeValueChangeListener"),ur.prototype),(0,Ne.Z)(ur.prototype,"CAT_fetchBlob",[Lt],Object.getOwnPropertyDescriptor(ur.prototype,"CAT_fetchBlob"),ur.prototype),(0,Ne.Z)(ur.prototype,"CAT_fetchDocument",[Bt],Object.getOwnPropertyDescriptor(ur.prototype,"CAT_fetchDocument"),ur.prototype),(0,Ne.Z)(ur.prototype,"CAT_createBlobUrl",[Ht],Object.getOwnPropertyDescriptor(ur.prototype,"CAT_createBlobUrl"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_xmlhttpRequest",[qt],Object.getOwnPropertyDescriptor(ur.prototype,"GM_xmlhttpRequest"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_notification",[Nt],Object.getOwnPropertyDescriptor(ur.prototype,"GM_notification"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_closeNotification",[Vt],Object.getOwnPropertyDescriptor(ur.prototype,"GM_closeNotification"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_updateNotification",[Ft],Object.getOwnPropertyDescriptor(ur.prototype,"GM_updateNotification"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_log",[zt],Object.getOwnPropertyDescriptor(ur.prototype,"GM_log"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_openInTab",[Jt],Object.getOwnPropertyDescriptor(ur.prototype,"GM_openInTab"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_closeInTab",[Wt],Object.getOwnPropertyDescriptor(ur.prototype,"GM_closeInTab"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_getResourceText",[Yt],Object.getOwnPropertyDescriptor(ur.prototype,"GM_getResourceText"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_getResourceURL",[Qt],Object.getOwnPropertyDescriptor(ur.prototype,"GM_getResourceURL"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_addStyle",[Xt],Object.getOwnPropertyDescriptor(ur.prototype,"GM_addStyle"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_getTab",[$t],Object.getOwnPropertyDescriptor(ur.prototype,"GM_getTab"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_saveTab",[Kt],Object.getOwnPropertyDescriptor(ur.prototype,"GM_saveTab"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_getTabs",[er],Object.getOwnPropertyDescriptor(ur.prototype,"GM_getTabs"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_download",[tr],Object.getOwnPropertyDescriptor(ur.prototype,"GM_download"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_setClipboard",[rr],Object.getOwnPropertyDescriptor(ur.prototype,"GM_setClipboard"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_cookie",[nr],Object.getOwnPropertyDescriptor(ur.prototype,"GM_cookie"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_registerMenuCommand",[ar],Object.getOwnPropertyDescriptor(ur.prototype,"GM_registerMenuCommand"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_unregisterMenuCommand",[sr],Object.getOwnPropertyDescriptor(ur.prototype,"GM_unregisterMenuCommand"),ur.prototype),(0,Ne.Z)(ur.prototype,"CAT_userConfig",[or],Object.getOwnPropertyDescriptor(ur.prototype,"CAT_userConfig"),ur.prototype),(0,Ne.Z)(ur.prototype,"GM_addElement",[ir],Object.getOwnPropertyDescriptor(ur.prototype,"GM_addElement"),ur.prototype),(0,Ne.Z)(ur.prototype,"CAT_fileStorage",[cr],Object.getOwnPropertyDescriptor(ur.prototype,"CAT_fileStorage"),ur.prototype);function yr(e){var t=e.code,r="";return e.metadata.require&&e.metadata.require.forEach((function(t){var n=e.resource[t];n&&(r="".concat(r,"\n").concat(n.content))})),"with (context) return (()=>{\n".concat(t=r+t,"\n//# sourceURL=").concat(chrome.runtime.getURL("/".concat(encodeURI(e.name),".user.js")),"\n})()")}var br={addEventListener:r.g.addEventListener.bind(r.g),removeEventListener:r.g.removeEventListener.bind(r.g),dispatchEvent:r.g.dispatchEvent.bind(r.g)},kr=new Map,wr=Object.getOwnPropertyDescriptors(r.g);Object.keys(wr).forEach((function(e){var t=wr[e];t&&t.writable&&!br[e]?"function"==typeof t.value?t.value.prototype?br[e]=t.value:br[e]=t.value.bind(r.g):br[e]=t.value:kr.set(e,!0)}));var xr=J.Z.create({baseURL:"".concat(hr,"api/v1"),validateStatus:function(e){return e<500}});function Or(e){return xr.get("/auth/net-disk/token?netDiskType=".concat(e)).then((function(e){return e.data}))}function Zr(e,t){return xr.post("/auth/net-disk/token/refresh?netDiskType=".concat(e),{netDiskType:e,refreshToken:t}).then((function(e){return e.data}))}function Pr(e){return new Promise((function(t){var r=window.open("".concat(hr,"api/v1/auth/net-disk?netDiskType=").concat(e)),n=setInterval((function(){try{r.closed&&(clearInterval(n),t())}catch(e){clearInterval(n),t()}}),1e3)}))}function Mr(e,t){return _r.apply(this,arguments)}function _r(){return(_r=(0,w.Z)(O().mark((function e(t,r){var n,a,s;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{n=JSON.parse(localStorage["netdisk:token:".concat(t)])}catch(e){}if(!r&&n&&n.accessToken){e.next=11;break}return e.next=4,Pr(t);case 4:return e.next=6,Or(t);case 6:if(0===(a=e.sent).code){e.next=9;break}return e.abrupt("return",Promise.reject(new Error(a.msg)));case 9:n={accessToken:a.data.token.access_token,refreshToken:a.data.token.refresh_token,createtime:Date.now()},localStorage["netdisk:token:".concat(t)]=JSON.stringify(n);case 11:if(!(Date.now()>=n.createtime+36e5)){e.next=28;break}return e.prev=12,e.next=15,Zr(t,n.refreshToken);case 15:if(0===(s=e.sent).code){e.next=19;break}return localStorage.removeItem("netdisk:token:".concat(t)),e.abrupt("return",Promise.reject(new Error(s.msg)));case 19:n={accessToken:s.data.token.access_token,refreshToken:s.data.token.refresh_token,createtime:Date.now()},localStorage["netdisk:token:".concat(t)]=JSON.stringify(n),e.next=26;break;case 23:return e.prev=23,e.t0=e.catch(12),e.abrupt("return",Promise.resolve(n.accessToken));case 26:e.next=29;break;case 28:case 29:return e.abrupt("return",Promise.resolve(n.accessToken));case 30:case"end":return e.stop()}}),e,null,[[12,23]])})))).apply(this,arguments)}function Sr(){for(var e="",t=arguments.length,r=new Array(t),n=0;n2&&(r=t.slice(0,t.length-1).join("/"));var n=new Headers;return n.append("Content-Type","application/json"),this.request("https://graph.microsoft.com/v1.0/me/drive/special/approot:".concat(r,":/children"),{method:"POST",headers:n,body:JSON.stringify({name:t[t.length-1],folder:{},"@microsoft.graph.conflictBehavior":"replace"})}).then((function(e){if(e.errno)throw new Error(JSON.stringify(e));return Promise.resolve()}))}},{key:"request",value:function(e,t,r){var n=(t=t||{}).headers||new Headers;n.append("Authorization","Bearer ".concat(this.accessToken)),t.headers=n;var a=fetch(e,t);return r?a:a.then((function(e){return e.json()})).then(function(){var e=(0,w.Z)(O().mark((function e(t){return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.error){e.next=2;break}throw new Error(JSON.stringify(t));case 2:return e.abrupt("return",t);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())}},{key:"delete",value:function(e){return this.request("https://graph.microsoft.com/v1.0/me/drive/special/approot:".concat(Sr(this.path,e)),{method:"DELETE"},!0).then(function(){var e=(0,w.Z)(O().mark((function e(t){return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(204===t.status){e.next=6;break}return e.t0=Error,e.next=4,t.text();case 4:throw e.t1=e.sent,new e.t0(e.t1);case 6:return e.abrupt("return",t);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())}},{key:"list",value:function(){var e=this,t=this.path;return"/"===t&&(t=""),this.request("https://graph.microsoft.com/v1.0/me/drive/special/approot:".concat(t,":/children")).then((function(t){var r=[];return t.value.forEach((function(t){r.push({name:t.name,path:e.path,size:t.size,digest:t.eTag,createtime:new Date(t.createdDateTime).getTime(),updatetime:new Date(t.lastModifiedDateTime).getTime()})})),r}))}},{key:"getDirUrl",value:function(){throw new Error("Method not implemented.")}}]),e}(),Tr=r(79478),Ar=function(){function e(t,r){(0,n.Z)(this,e),this.client=t,this.path=r}var t;return(0,a.Z)(e,[{key:"read",value:(t=(0,w.Z)(O().mark((function e(t){var r;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t,e.next="string"===e.t0?3:4;break;case 3:return e.abrupt("return",this.client.getFileContents(this.path,{format:"text"}));case 4:return e.next=6,this.client.getFileContents(this.path,{format:"binary"});case 6:return r=e.sent,e.abrupt("return",Promise.resolve(new Blob([r])));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),Ur=function(){function e(t,r){(0,n.Z)(this,e),this.client=t,this.path=r}var t;return(0,a.Z)(e,[{key:"write",value:(t=(0,w.Z)(O().mark((function e(t){var r;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t instanceof Blob)){e.next=11;break}return e.t0=this.client,e.t1=this.path,e.next=5,t.arrayBuffer();case 5:return e.t2=e.sent,e.next=8,e.t0.putFileContents.call(e.t0,e.t1,e.t2);case 8:r=e.sent,e.next=14;break;case 11:return e.next=13,this.client.putFileContents(this.path,t);case 13:r=e.sent;case 14:if(!r){e.next=16;break}return e.abrupt("return",Promise.resolve());case 16:return e.abrupt("return",Promise.reject(new Error("write error")));case 17:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),Gr=function(){function e(t,r,a,s){(0,n.Z)(this,e),(0,u.Z)(this,"basePath","/"),"object"===(0,p.Z)(t)?(this.client=t,this.basePath=Sr(r||""),this.url=a):(this.url=r,this.client=(0,Tr.createClient)(r,{authType:t,username:a,password:s}))}var t,r,s;return(0,a.Z)(e,[{key:"verify",value:(s=(0,w.Z)(O().mark((function e(){return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.client.getQuota();case 2:return e.abrupt("return",Promise.resolve());case 3:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"open",value:function(e){return Promise.resolve(new Ar(this.client,Sr(e.path,e.name)))}},{key:"openDir",value:function(t){return Promise.resolve(new e(this.client,Sr(this.basePath,t),this.url))}},{key:"create",value:function(e){return Promise.resolve(new Ur(this.client,Sr(this.basePath,e)))}},{key:"createDir",value:function(e){return this.client.createDirectory(Sr(this.basePath,e))}},{key:"delete",value:(r=(0,w.Z)(O().mark((function e(t){return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.client.deleteFile(Sr(this.basePath,t)));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"list",value:(t=(0,w.Z)(O().mark((function e(){var t,r,n=this;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.client.getDirectoryContents(this.basePath);case 2:return t=e.sent,r=[],t.forEach((function(e){"file"===e.type&&r.push({name:e.basename,path:n.basePath,digest:e.etag||"",size:e.size,createtime:new Date(e.lastmod).getTime(),updatetime:new Date(e.lastmod).getTime()})})),e.abrupt("return",Promise.resolve(r));case 6:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"getDirUrl",value:function(){return Promise.resolve(this.url+this.basePath)}}]),e}(),Lr=r(55733),Br=r.n(Lr),Hr=function(){function e(t){(0,n.Z)(this,e),this.zipObject=t}return(0,a.Z)(e,[{key:"read",value:function(e){return this.zipObject.async(e||"string")}}]),e}(),qr=function(){function e(t,r){(0,n.Z)(this,e),this.zip=t,this.path=r}return(0,a.Z)(e,[{key:"write",value:function(e){return this.zip.file(this.path,e),Promise.resolve()}}]),e}(),Nr=function(){function e(t,r){(0,n.Z)(this,e),this.zip=t||new(Br()),this.basePath=r||""}return(0,a.Z)(e,[{key:"verify",value:function(){return Promise.resolve()}},{key:"open",value:function(e){var t=e.name,r=this.zip.file(t);return r?Promise.resolve(new Hr(r)):Promise.reject(new Error("File not found"))}},{key:"openDir",value:function(t){return Promise.resolve(new e(this.zip,t))}},{key:"create",value:function(e){return Promise.resolve(new qr(this.zip,e))}},{key:"createDir",value:function(){return Promise.resolve()}},{key:"delete",value:function(e){return this.zip.remove(e),Promise.resolve()}},{key:"list",value:function(){var e=this,t=[];return Object.keys(this.zip.files).forEach((function(r){t.push({name:r,path:r,size:0,digest:"",createtime:e.zip.files[r].date.getTime(),updatetime:e.zip.files[r].date.getTime()})})),Promise.resolve(t)}},{key:"getDirUrl",value:function(){throw new Error("Method not implemented.")}}]),e}(),Vr=function(){function e(){(0,n.Z)(this,e)}var t;return(0,a.Z)(e,null,[{key:"create",value:function(e,t){var r;switch(e){case"zip":r=new Nr(t);break;case"webdav":r=new Gr(t.authType,t.url,t.username,t.password);break;case"baidu-netdsik":r=new Rr;break;case"onedrive":r=new Er;break;default:throw new Error("not found filesystem")}return r.verify().then((function(){return r}))}},{key:"params",value:function(){return{webdav:{authType:{title:"鉴权类型",type:"select",options:["password","digest","none","token"]},url:{title:"URL"},username:{title:"用户名"},password:{title:"密码"}},"baidu-netdsik":{},onedrive:{}}}},{key:"mkdirAll",value:(t=(0,w.Z)(O().mark((function e(t,r){return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var a=r.split("/"),s=0;!function r(){if(s>=a.length)e();else{var o=a.slice(0,s+1).join("/");t.createDir(o).then((function(){s+=1,r()})).catch((function(){n()}))}}()})));case 1:case"end":return e.stop()}}),e)}))),function(e,r){return t.apply(this,arguments)})}]),e}();function Fr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=(0,c.Z)(e);if(t){var a=(0,c.Z)(this).constructor;r=Reflect.construct(n,arguments,a)}else r=n.apply(this,arguments);return(0,i.Z)(this,r)}}var zr=function(e){(0,o.Z)(r,e);var t=Fr(r);function r(){var e;return(0,n.Z)(this,r),e=t.call(this),(0,u.Z)((0,s.Z)(e),"tableName","permission"),e.table=E.table(e.tableName),e}return(0,a.Z)(r)}(A),Jr=function(){function e(){(0,n.Z)(this,e),(0,u.Z)(this,"list",[])}return(0,a.Z)(e,[{key:"push",value:function(e){this.resolve?(this.resolve(e),this.resolve=void 0):this.list.push(e)}},{key:"pop",value:function(){var e=this;return new Promise((function(t){e.list.length>0?t(e.list.shift()):e.resolve=t}))}}]),e}(),Wr=function(){function e(){var t=this;(0,n.Z)(this,e),(0,u.Z)(this,"confirmQueue",new Jr),(0,u.Z)(this,"confirmMap",new Map),this.permissionDAO=new zr;var r=B.instance(S);r.setHandler("permissionConfirm",(function(e,r){var n=t.confirmMap.get(r.uuid);return n?(t.confirmMap.delete(r.uuid),n.resolve(r.userConfirm),Promise.resolve(!0)):0===r.userConfirm.type?Promise.resolve(void 0):Promise.reject(new Error("confirm not found"))})),r.setHandler("getConfirm",(function(e,r){var n=t.confirmMap.get(r);if(!n)return Promise.reject(new Error("uuid not found"));var a=0;return n.confirm.wildcard&&t.confirmQueue.list.forEach((function(e){var t=e.confirm;t.wildcard&&e.request.scriptId===n.script.id&&t.permission===n.confirm.permission&&(a+=1)})),Promise.resolve({script:n.script,confirm:n.confirm,likeNum:a})})),r.setHandler("deletePermission",function(){var e=(0,w.Z)(O().mark((function e(r,n){var a,s;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=Ie.permissionConfirm(n.scriptId,n.confirm),e.next=3,W.getInstance().del(a);case 3:return e.next=5,t.permissionDAO.findOne({scriptId:n.scriptId,permission:n.confirm.permission,permissionValue:n.confirm.permissionValue||""});case 5:if(s=e.sent){e.next=8;break}return e.abrupt("return",Promise.resolve(!0));case 8:return e.next=10,t.permissionDAO.delete(s.id);case 10:return e.abrupt("return",Promise.resolve(!0));case 11:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()),this.dealConfirmQueue()}var t,r,s,o;return(0,a.Z)(e,[{key:"verify",value:function(e,t){if(t.param.default)return Promise.resolve(!0);var r=e.script.metadata.grant;if(!r)return Promise.reject(new Error("grant is undefined"));for(var n=0;n=2&&W.getInstance().set(n,o),!(s.type>=4)){e.next=34;break}return e.next=26,this.permissionDAO.findOne({scriptId:t.scriptId,permission:o.permission,permissionValue:o.permissionValue});case 26:if(i=e.sent){e.next=32;break}return e.next=30,this.permissionDAO.save(o);case 30:e.next=34;break;case 32:return e.next=34,this.permissionDAO.update(i.id,o);case 34:if(!s.allow){e.next=36;break}return e.abrupt("return",Promise.resolve(!0));case 36:return e.abrupt("return",Promise.reject(new Error("permission not allowed")));case 37:case"end":return e.stop()}}),e,this)}))),function(e,t){return r.apply(this,arguments)})},{key:"confirmWindow",value:(t=(0,w.Z)(O().mark((function e(t,r){var n=this;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,a){var s=(0,Z.Z)(),o=setTimeout((function(){n.confirmMap.delete(s),a(new Error("permission confirm timeout"))}),4e4);n.confirmMap.set(s,{confirm:r,script:t,resolve:function(t){clearTimeout(o),e(t)},reject:a}),chrome.tabs.create({url:chrome.runtime.getURL("src/confirm.html?uuid=".concat(s))})})));case 1:case"end":return e.stop()}}),e)}))),function(e,r){return t.apply(this,arguments)})}],[{key:"API",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(r,n,a){var s=n;t.listener&&t.listener(),e.apis.set(s,{api:a.value,param:t}),t.alias&&t.alias.forEach((function(r){e.apis.set(r,{api:a.value,param:t})}));var o=s.replace("_",".");o!==s&&e.apis.set(o,{api:a.value,param:t})}}}]),e}();function Yr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}(0,u.Z)(Wr,"apis",new Map),(0,u.Z)(Wr,"textarea",document.createElement("textarea"));var Qr,Xr,$r,Kr,en,tn,rn,nn,an,sn,on,cn,un,ln,pn,fn,dn,hn,mn,vn,gn={"user-agent":!0,"proxy-":!0,"sec-":!0,cookie:!0,"accept-charset":!0,"accept-encoding":!0,"access-control-request-headers":!0,"access-control-request-method":!0,connection:!0,"content-length":!0,date:!0,dnt:!0,expect:!0,"feature-policy":!0,host:!0,"keep-alive":!0,origin:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,via:!0},yn={"set-cookie":!0};function bn(e){return!!(e.initiator&&chrome.runtime.getURL("").startsWith(e.initiator)||e.originUrl&&e.originUrl.startsWith(chrome.runtime.getURL("")))}function kn(e){var t=["blocking","requestHeaders"],r=["blocking","responseHeaders"];pe()||(t.push("extraHeaders"),r.push("extraHeaders"));var n=new Map;chrome.webRequest.onBeforeSendHeaders.addListener((function(t){var r;if(!bn(t))return{};var a="",s="",o=!1,i=!1,c=[],u={};return null===(r=t.requestHeaders)||void 0===r||r.forEach((function(r){var l=r.name.toLowerCase();if(l.startsWith("".concat(e,"-"))){var p=l.substring(e.length+1);switch(p){case"cookie":s=r.value||"";break;case"max-redirects":n.set(t.requestId,[0,parseInt(r.value||"",10)]);break;case"anonymous":o=!0;break;case"gm-xhr":i=!0;break;default:u[p]=r.value||null}}else if("cookie"===l)a=r.value||"";else gn[l]||l.startsWith("sec-")||l.startsWith("proxy-")?null!==u[l]&&(u[l]=u[l]||r.value||""):c.push(r)})),i?(o&&(a=""),s&&(!a||a.endsWith(";")?a+=s:a+=";".concat(s)),a&&c.push({name:"Cookie",value:a}),Object.keys(u).forEach((function(e){null!==u[e]&&c.push({name:e,value:u[e]})})),{requestHeaders:c}):{}}),{urls:[""]},t),chrome.webRequest.onHeadersReceived.addListener((function(t){var r,a;if(!bn(t)){if("main_frame"!==t.type&&"sub_frame"!==t.type||!pe())return{};if(B.instance(Tn).matchUrl(t.url,(function(e){return"sub_frame"===t.type&&!!e.metadata.noframes||e.status!==$})).length>0&&t.responseHeaders){for(var s=0;si[1]&&(r.name="".concat(e,"-").concat(r.name)))}})),null===(a=t.responseHeaders)||void 0===a||a.push.apply(a,o),{responseHeaders:t.responseHeaders}}),{urls:[""]},r),chrome.webRequest.onCompleted.addListener((function(e){bn(e)&&n.delete(e.requestId)}),{urls:[""]})}function wn(e,t,r){r.setRequestHeader("".concat(e,"-gm-xhr"),"true"),t.headers&&Object.keys(t.headers).forEach((function(n){var a=n.toLowerCase();if(gn[a]||a.startsWith("sec-")||a.startsWith("proxy-"))try{r.setRequestHeader("".concat(e,"-").concat(a),t.headers[n])}catch(e){k.getLogger(b.E(e)).error("GM XHR setRequestHeader error")}else r.setRequestHeader(n,t.headers[n])})),void 0!==t.maxRedirects&&r.setRequestHeader("".concat(e,"-max-redirects"),t.maxRedirects.toString()),t.cookie&&r.setRequestHeader("".concat(e,"-cookie"),t.cookie),t.anonymous&&r.setRequestHeader("".concat(e,"-anonymous"),"true")}function xn(e,t){var r={};return r["".concat(e,"-gm-xhr")]="true",t.headers&&Object.keys(t.headers).forEach((function(n){var a=n.toLowerCase();gn[a]||a.startsWith("sec-")||a.startsWith("proxy-")?r["".concat(e,"-").concat(a)]=t.headers[n]:r[n]=t.headers[n]})),void 0!==t.maxRedirects&&(r["".concat(e,"-max-redirects")]=t.maxRedirects.toString()),t.cookie&&(r["".concat(e,"-cookie")]=t.cookie),t.anonymous&&(r["".concat(e,"-anonymous")]="true"),r}function On(e,t,r){return Zn.apply(this,arguments)}function Zn(){return Zn=(0,w.Z)(O().mark((function e(t,r,n){var a,s,o,i,c,u;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=new RegExp("".concat(t,"-"),"g"),s={finalUrl:n.responseURL||r.url,readyState:n.readyState,status:n.status,statusText:n.statusText,responseHeaders:n.getAllResponseHeaders().replace(a,""),responseType:r.responseType},4!==n.readyState){e.next=19;break}if("arraybuffer"!==(null===(o=r.responseType)||void 0===o?void 0:o.toLowerCase())&&"blob"!==(null===(i=r.responseType)||void 0===i?void 0:i.toLowerCase())){e.next=18;break}if(n.response instanceof ArrayBuffer?(c=new Blob([n.response]),s.response=URL.createObjectURL(c)):(c=n.response,s.response=URL.createObjectURL(c)),e.prev=5,-1===(null===(u=n.getResponseHeader("Content-Type"))||void 0===u?void 0:u.indexOf("text"))){e.next=10;break}return e.next=9,c.text();case 9:s.responseText=e.sent;case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(5),k.getLogger(b.E(e.t0)).error("GM XHR getResponseHeader error");case 15:setTimeout((function(){URL.revokeObjectURL(s.response)}),6e4),e.next=19;break;case 18:if("json"===r.responseType){try{s.response=JSON.parse(n.responseText)}catch(e){k.getLogger(b.E(e)).error("GM XHR JSON parse error")}try{s.responseText=n.responseText}catch(e){k.getLogger(b.E(e)).error("GM XHR getResponseText error")}}else{try{s.response=n.response}catch(e){k.getLogger(b.E(e)).error("GM XHR response error")}try{s.responseText=n.responseText}catch(e){k.getLogger(b.E(e)).error("GM XHR getResponseText error")}}case 19:return e.abrupt("return",Promise.resolve(s));case 20:case"end":return e.stop()}}),e,null,[[5,12]])}))),Zn.apply(this,arguments)}function Pn(e,t,r,n){var a=new RegExp("".concat(e,"-"),"g"),s="";return r.headers&&r.headers.forEach((function(e,t){s+="".concat(t.replace(a,""),": ").concat(e,"\n")})),{finalUrl:r.url||t.url,readyState:n,status:r.status,statusText:r.statusText,responseHeaders:s,responseType:t.responseType}}function Mn(e){e.forEach((function(e,t){chrome.contextMenus.create({id:"scriptMenu_".concat(t),title:e[0].request.script.name,contexts:["all"],parentId:"scriptMenu"}),e.forEach((function(e){chrome.contextMenus.create({id:"scriptMenu_menu_".concat(t,"_").concat(e.request.params[0]),title:e.request.params[1],contexts:["all"],parentId:"scriptMenu_".concat(t),onclick:function(){B.instance(C).sendNative({tag:e.request.sender.targetTag,id:[e.request.sender.frameId||e.request.sender.tabId||0]},{stream:e.channel.flag,channel:!0,data:"click"})}})}))}))}function _n(e,t){chrome.contextMenus.removeAll();var r=t.get(e),n=t.get("sandbox");(r||n)&&(chrome.contextMenus.create({id:"scriptMenu",title:"ScriptCat",contexts:["all"]}),r&&Mn(r),"sandbox"!==e&&n&&Mn(n))}var Sn,In,Cn=(Qr=Wr.API(),Xr=Wr.API({confirm:function(e){var t=e.params[0],r=new URL(t.url);if(e.script.metadata.connect)for(var n=e.script.metadata.connect,a=0;a3&&void 0!==arguments[3]?arguments[3]:1,s=a.get(e);s||(s=new Map,a.set(e,s));var o=s.get(t.id);o||(o={script:t,runNum:0,runNumByIframe:0},s.set(t.id,o)),t.status===$&&(o.runNum+=n,r&&(o.runNumByIframe+=n))};chrome.tabs.onRemoved.addListener((function(e){a.delete(e)})),this.message.setHandler("queryPageScript",function(){var t=(0,w.Z)(O().mark((function t(r,s){var o,i,c,u,l,p,f,d,h;return O().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=s.url,i=s.tabId,c=n.get(i),u=a.get(i),l=[],l=u?Array.from(u.values()):e.matchUrl(o).map((function(e){return{runNum:0,runNumByIframe:0,script:e}})),p=l.map(function(){var t=(0,w.Z)(O().mark((function t(r){var n,a,s;return O().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=[],c&&(null===(a=c.get(r.script.id))||void 0===a||a.forEach((function(e){n.push({name:e.request.params[1],accessKey:e.request.params[2],id:e.request.params[0],sender:e.request.sender,channelFlag:e.channel.flag})}))),t.next=4,e.scriptDAO.findById(r.script.id);case 4:if(s=t.sent){t.next=7;break}return t.abrupt("return",{id:r.script.id,name:r.script.name,enable:r.script.status===$,updatetime:r.script.updatetime||r.script.createtime,hasUserConfig:!!r.script.config,runNum:r.runNum,runNumByIframe:r.runNumByIframe,customExclude:r.script.selfMetadata&&r.script.selfMetadata.exclude,menus:n});case 7:return t.abrupt("return",{id:s.id,name:s.name,enable:s.status===$,updatetime:s.updatetime||s.createtime,hasUserConfig:!(null==s||!s.config),runNum:r.runNum,runNumByIframe:r.runNumByIframe,customExclude:s.selfMetadata&&s.selfMetadata.exclude,menus:n});case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),t.next=8,Promise.all(p);case 8:return f=t.sent,d=[],h=n.get("sandbox"),e.runBackScript.forEach((function(e){var t,r=[];h&&(null==h||null===(t=h.get(e.id))||void 0===t||t.forEach((function(e){r.push({name:e.request.params[1],accessKey:e.request.params[2],id:e.request.params[0],sender:e.request.sender,channelFlag:e.channel.flag})})));d.push({id:e.id,name:e.name,enable:e.status===$,updatetime:e.updatetime||e.createtime,runStatus:e.runStatus,hasUserConfig:!!e.config,runNum:e.runStatus&&"running"!==e.runStatus?1:0,menus:r,runNumByIframe:0})})),t.abrupt("return",Promise.resolve({scriptList:f,backScriptList:d}));case 13:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}()),this.message.setHandler("pageLoad",(function(n,o,i){return new Promise((function(n){if(i&&i.url&&i.tabId&&(void 0===i.frameId&&a.delete(i.tabId),"false"!==localStorage.enable_script)){e.customizeExclude.match(i.url).forEach((function(e){s(i.tabId,e,!1,0)}));var o=e.matchUrl(i.url,(function(e){return void 0!==i.frameId?!!e.metadata.noframes||(s(i.tabId,e,!0),e.status!==$):(s(i.tabId,e,!1),e.status!==$)}));chrome.tabs.executeScript(i.tabId,{frameId:i.frameId,code:"(function(){\n let temp = document.createElement('script');\n temp.setAttribute('type', 'text/javascript');\n temp.innerHTML = \"".concat(r,'";\n temp.className = "injected-js";\n document.documentElement.appendChild(temp)\n temp.remove();\n }())'),runAt:"document_start"}),o.length?(n({flag:t,scripts:o}),o.forEach((function(e){var t="document_idle";e.metadata["run-at"]&&(t=(0,Y.Z)(e.metadata["run-at"],1)[0]);switch(t){case"document-body":case"document-start":t="document_start";break;case"document-end":t="document_end";break;default:t="document_idle"}chrome.tabs.executeScript(i.tabId,{frameId:i.frameId,code:"(function(){\n let temp = document.createElement('script');\n temp.setAttribute('type', 'text/javascript');\n temp.innerHTML = \"".concat(e.code,'";\n temp.className = "injected-js";\n document.documentElement.appendChild(temp)\n temp.remove();\n }())'),runAt:t})})),chrome.browserAction.getBadgeText({tabId:i.tabId},(function(e){chrome.browserAction.setBadgeText({text:(o.length+(parseInt(e,10)||0)).toString(),tabId:i.tabId})})),chrome.browserAction.setBadgeBackgroundColor({color:"#4594d5",tabId:i.tabId})):n({flag:t,scripts:[]})}}))}))}},{key:"setMessageSandbox",value:function(e){this.messageSandbox=e}},{key:"startSandbox",value:function(e){var t=this;this.messageSandbox=e,this.scriptDAO.table.toArray((function(e){e.forEach((function(e){e?e.type!==X&&e.status===$&&(t.enable(e),t.runBackScript.set(e.id,e)):t.logger.error("script is null")}))}))}},{key:"listenScriptRunStatus",value:function(){var e=this;this.message.setHandler("scriptRunStatus",(function(t,r){var n=(0,Y.Z)(r,2),a=n[0],s=n[1];e.scriptDAO.update(a,{runStatus:s,lastruntime:(new Date).getTime()}),f.hook.trigger("runStatus",a,s)})),this.message.setHandlerWithChannel("watchRunStatus",(function(e){var t=function(t,r){e.send([t,r])};f.hook.addListener("runStatus",t),e.setDisChannelHandler((function(){f.hook.removeListener("runStatus",t)}))}))}},{key:"scriptUpdate",value:(l=(0,w.Z)(O().mark((function e(t){return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.resourceManager.checkScriptResource(t);case 2:if(t.status!==$){e.next=4;break}return e.abrupt("return",this.enable(t));case 4:return e.abrupt("return",this.disable(t));case 5:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"matchUrl",value:function(e,t){var r=this.match.match(e);r.push.apply(r,(0,h.Z)(this.include.match(e)));var n={};return r.forEach((function(e){t&&t(e)||(n[e.id]=e)})),Object.keys(n).map((function(e){return n[e]}))}},{key:"scriptDelete",value:(c=(0,w.Z)(O().mark((function e(t){return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.type===X?(this.match.del(t),this.include.del(t)):this.unloadBackgroundScript(t),e.abrupt("return",Promise.resolve(!0));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"enable",value:(i=(0,w.Z)(O().mark((function e(t){var r;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.buildScriptRunResource(t);case 2:if(r=e.sent,t.type===X){e.next=5;break}return e.abrupt("return",this.loadBackgroundScript(r));case 5:return e.abrupt("return",this.loadPageScript(r));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"disable",value:function(e){return e.type!==X?this.unloadBackgroundScript(e):this.unloadPageScript(e)}},{key:"loadPageScript",value:function(e){var t=this,r=this.logger.with({scriptId:e.id,name:e.name});return e.code=le(function(e){return"window['".concat(e.flag,"']=function(context,GM_info){\n").concat(e.code,"\n}")}(e)),this.match.del(e),this.include.del(e),e.metadata.match&&e.metadata.match.forEach((function(n){try{t.match.add(n,e)}catch(e){r.error("url加载错误",b.E(e))}})),e.metadata.include&&e.metadata.include.forEach((function(n){try{t.include.add(n,e)}catch(e){r.error("url加载错误",b.E(e))}})),e.metadata.exclude&&e.metadata.exclude.forEach((function(n){try{t.include.exclude(n,e),t.match.exclude(n,e)}catch(e){r.error("url加载错误",b.E(e))}})),e.selfMetadata&&e.selfMetadata.exclude&&e.selfMetadata.exclude.forEach((function(n){try{t.customizeExclude.add(n,e)}catch(e){r.error("url加载错误",b.E(e))}})),Promise.resolve(!0)}},{key:"unloadPageScript",value:function(e){return this.loadPageScript(e)}},{key:"loadBackgroundScript",value:function(e){var t=this;return this.runBackScript.set(e.id,e),new Promise((function(r,n){var a;null===(a=t.messageSandbox)||void 0===a||a.syncSend("enable",e).then((function(){r(!0)})).catch((function(e){t.logger.error("backscript load error",b.E(e)),n(e)}))}))}},{key:"unloadBackgroundScript",value:function(e){var t=this;return this.runBackScript.delete(e.id),new Promise((function(r,n){var a;null===(a=t.messageSandbox)||void 0===a||a.syncSend("disable",e.id).then((function(){r(!0)})).catch((function(e){t.logger.error("backscript stop error",b.E(e)),n(e)}))}))}},{key:"startBackgroundScript",value:(r=(0,w.Z)(O().mark((function e(t){var r,n;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.buildScriptRunResource(t);case 2:return n=e.sent,null===(r=this.messageSandbox)||void 0===r||r.syncSend("start",n),e.abrupt("return",Promise.resolve(!0));case 5:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"stopBackgroundScript",value:function(e){var t=this;return new Promise((function(r,n){var a;null===(a=t.messageSandbox)||void 0===a||a.syncSend("stop",e).then((function(e){r(e)})).catch((function(e){t.logger.error("backscript stop error",b.E(e)),n(e)}))}))}},{key:"buildScriptRunResource",value:(t=(0,w.Z)(O().mark((function e(t){var r,n;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(n=Object.assign(t)).selfMetadata&&(n.metadata=jn({},n.metadata),Object.keys(n.selfMetadata).forEach((function(e){n.metadata[e]=n.selfMetadata[e]}))),e.next=4,this.valueManager.getScriptValues(n);case 4:return n.value=e.sent,e.next=7,this.resourceManager.getScriptResources(n);case 7:return n.resource=e.sent,n.flag=ue(16),n.sourceCode=n.code,n.code=yr(n),n.grantMap={},null===(r=n.metadata.grant)||void 0===r||r.forEach((function(e){n.grantMap[e]="ok"})),e.abrupt("return",Promise.resolve(n));case 14:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),f}(Ae),(0,u.Z)(In,"hook",new d),Sn=In))||Sn,An=r(34605);function Un(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=(0,c.Z)(e);if(t){var a=(0,c.Z)(this).constructor;r=Reflect.construct(n,arguments,a)}else r=n.apply(this,arguments);return(0,i.Z)(this,r)}}const Gn=B.Singleton(S,pt)(En=function(e){(0,o.Z)(r,e);var t=Un(r);function r(e,a){var s;return(0,n.Z)(this,r),(s=t.call(this,e,"system")).scriptDAO=new K,s.systemConfig=a,s.scriptManager=B.instance(xt),s.loggerDAO=new G,s}return(0,a.Z)(r,[{key:"init",value:function(){var e=this,t=function(){fetch("".concat(hr,"api/v1/system/version?version=").concat(dr)).then((function(e){return e.json()})).then((function(e){chrome.storage.local.get(["notice"],(function(t){t.notice!==e.data.notice&&chrome.storage.local.set({notice:e.data.notice,setRead:!1}),chrome.storage.local.set({version:e.data.version})}))}))};t(),setInterval((function(){t()}),216e5),chrome.runtime.onInstalled.addListener((function(e){"install"===e.reason?chrome.tabs.create({url:"https://docs.scriptcat.org/"}):"update"===e.reason&&chrome.tabs.create({url:"https://docs.scriptcat.org/docs/change/#".concat(dr)})})),this.message.setHandler("ping",(function(){return Promise.resolve("pong")})),this.message.setHandler("externalMessage",function(){var t=(0,w.Z)(O().mark((function t(r,n){var a,s,o,i;return O().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=n.action,s=n.name,o=n.namespace,"isInstalled"!==a){t.next=8;break}return t.next=4,e.scriptDAO.findByNameAndNamespace(s,o);case 4:if(!(i=t.sent)){t.next=7;break}return t.abrupt("return",Promise.resolve({installed:!0,version:i.metadata.version&&i.metadata.version[0]}));case 7:return t.abrupt("return",Promise.resolve({installed:!1}));case 8:return t.abrupt("return",Promise.resolve(!1));case 9:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}()),this.listenEvent("connectVSCode",this.connectVSCode.bind(this)),this.reconnectVSCode(),this.clearLogger()}},{key:"reconnectVSCode",value:function(){var e,t=this,r=function(){t.wsVscode||t.connectVSCode()};this.systemConfig.vscodeReconnect&&(r(),e=setInterval((function(){r()}),3e4)),pt.hook.addListener("update",(function(t,n){"vscodeReconnect"===t&&(n?e=setInterval((function(){r()}),3e4):clearInterval(e))}))}},{key:"connectVSCode",value:function(){var e=this;this.wsVscode&&this.wsVscode.close();try{this.wsVscode=new WebSocket(this.systemConfig.vscodeUrl)}catch(e){return void this.logger.debug("vscode连接失败",b.E(e))}this.wsVscode.addEventListener("open",(function(){e.wsVscode.send('{"action":"hello"}')})),this.wsVscode.addEventListener("message",function(){var t=(0,w.Z)(O().mark((function t(r){var n,a,s;return O().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=JSON.parse(r.data),t.t0=n.action,t.next="onchange"===t.t0?4:10;break;case 4:return a=n.data.script,t.next=7,Me(a,"",(0,An.Z)(n.data.uri,An.Z.URL));case 7:return s=t.sent,e.scriptManager.event.upsertHandler(s,"vscode"),t.abrupt("break",10);case 10:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),this.wsVscode.addEventListener("error",(function(t){e.wsVscode=void 0,e.logger.debug("vscode连接失败",b.E(t))})),this.wsVscode.addEventListener("close",(function(){e.wsVscode=void 0,e.logger.debug("vscode连接关闭")}))}},{key:"getNotice",value:function(){return new Promise((function(e){chrome.storage.local.get(["notice","isRead"],(function(t){e({notice:t.notice,isRead:t.isRead})}))}))}},{key:"setRead",value:function(e){chrome.storage.local.set({isRead:e})}},{key:"getVersion",value:function(){return new Promise((function(e){chrome.storage.local.get(["version"],(function(t){e(t.version)}))}))}},{key:"clearLogger",value:function(){var e=this;setInterval((function(){chrome.storage.local.get(["lastClearLoggerTime"],(function(t){var r=t.lastClearLoggerTime||0,n=(new Date).getTime();n-r>36e5&&(chrome.storage.local.set({lastClearLoggerTime:n}),e.loggerDAO.deleteBefore(new Date(n-24*e.systemConfig.logCleanCycle*60*60*1e3).getTime()))}))}),6e4)}}]),r}(Ae))||En;function Ln(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Bn(e){for(var t=1;t1&&void 0!==l[1]&&l[1],(n=this.logger.with({syncDelete:t.syncDelete})).info("start cloud sync"),e.prev=3,e.next=6,Vr.create(t.filesystem,t.params[t.filesystem]);case 6:return a=e.sent,e.next=9,Vr.mkdirAll(a,"ScriptCat/sync");case 9:return e.next=11,a.openDir("ScriptCat/sync");case 11:a=e.sent,e.next=20;break;case 14:throw e.prev=14,e.t0=e.catch(3),n.error("create filesystem error",b.E(e.t0),{type:t.filesystem}),fe("同步系统连接失败",ge(e.t0)),r&&(this.systemConfig.cloudSync=Fn(Fn({},this.systemConfig.cloudSync),{},{enable:!1})),e.t0;case 20:return s=[],o=function(){var e=(0,w.Z)(O().mark((function e(t,r){return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("sync"!==r){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,u.pushScript(a,t);case 4:u.updateFileDigest(a);case 5:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),s.push((function(){return xt.hook.removeListener("upsert",o)})),xt.hook.addListener("upsert",o),t.syncDelete&&(i=function(e){u.deleteCloudScript(a,e)},xt.hook.addListener("delete",i),s.push((function(){return xt.hook.removeListener("delete",i)}))),c=setInterval((0,w.Z)(O().mark((function e(){return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,u.syncOnce(a);case 3:e.next=8;break;case 5:e.prev=5,e.t0=e.catch(0),fe("同步失败,请检查同步配置",ge(e.t0));case 8:case"end":return e.stop()}}),e,null,[[0,5]])}))),36e5),s.push((function(){clearInterval(c)})),e.prev=27,e.next=30,this.syncOnce(a);case 30:e.next=35;break;case 32:e.prev=32,e.t1=e.catch(27),fe("同步失败,请检查同步配置",ge(e.t1));case 35:return e.abrupt("return",Promise.resolve((function(){n.info("stop cloud sync"),s.forEach((function(e){return e()}))})));case 36:case"end":return e.stop()}}),e,this,[[3,14],[27,32]])}))),function(e){return h.apply(this,arguments)})},{key:"syncOnce",value:(d=(0,w.Z)(O().mark((function e(t){var r,n,a,s,o,i,c=this;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.logger.info("start sync once"),e.next=3,t.list();case 3:return r=e.sent,n=new Map,e.next=7,this.storage.get("file_digest");case 7:if(e.t0=e.sent,e.t0){e.next=10;break}e.t0={};case 10:return a=e.t0,r.forEach((function(e){if(e.name.endsWith(".user.js")){var t=e.name.substring(0,e.name.length-8),r=n.get(t);r||(r={},n.set(t,r)),r.script=e}else if(e.name.endsWith(".meta.json")){var a=e.name.substring(0,e.name.length-10),s=n.get(a);s||(s={},n.set(a,s)),s.meta=e}})),e.next=14,this.scriptDAO.table.toArray();case 14:return s=e.sent,o=new Map,s.forEach((function(e){o.set(e.uuid,e)})),i=[],n.forEach((function(e,r){var n=o.get(r);if(n)return e.script?(a[e.script.name]===e.script.digest||((n.updatetime||n.createtime)>e.script.updatetime?i.push(c.pushScript(t,n)):i.push(c.pullScript(t,e,n))),void o.delete(r)):void i.push(new Promise((function(r){var a=function(){var a=(0,w.Z)(O().mark((function a(){var s,o;return O().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,t.open(e.meta);case 2:return s=a.sent,a.next=5,s.read("string");case 5:if(o=a.sent,!JSON.parse(o).isDeleted){a.next=11;break}n&&(c.scriptManager.event.deleteHandler(n.id),fe("脚本删除同步","脚本".concat(n.name,"已被删除"))),a.next=13;break;case 11:return a.next=13,t.delete(e.meta.path);case 13:r();case 14:case"end":return a.stop()}}),a)})));return function(){return a.apply(this,arguments)}}();a()})));e.script&&i.push(c.pullScript(t,e))})),o.forEach((function(e){i.push(c.pushScript(t,e))})),e.next=22,Promise.allSettled(i);case 22:return this.logger.info("sync complete"),e.next=25,this.updateFileDigest(t);case 25:return e.abrupt("return",Promise.resolve());case 26:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"updateFileDigest",value:(f=(0,w.Z)(O().mark((function e(t){var r,n;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.list();case 2:return r=e.sent,n={},r.forEach((function(e){n[e.name]=e.digest})),e.next=7,this.storage.set("file_digest",n);case 7:return e.abrupt("return",Promise.resolve());case 8:case"end":return e.stop()}}),e,this)}))),function(e){return f.apply(this,arguments)})},{key:"deleteCloudScript",value:(p=(0,w.Z)(O().mark((function e(t,r){var n,a,s;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n="".concat(r.uuid,".user.js"),a=this.logger.with({scriptId:r.id,name:r.name,file:n}),e.prev=2,e.next=5,t.delete(n);case 5:return e.next=7,t.create("".concat(r.uuid,".meta.json"));case 7:return s=e.sent,e.next=10,s.write(JSON.stringify({uuid:r.uuid,origin:r.origin,downloadUrl:r.downloadUrl,checkUpdateUrl:r.checkUpdateUrl,isDeleted:!0}));case 10:a.info("delete success"),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(2),a.error("delete file error",b.E(e.t0));case 16:return e.abrupt("return",Promise.resolve());case 17:case"end":return e.stop()}}),e,this,[[2,13]])}))),function(e,t){return p.apply(this,arguments)})},{key:"pushScript",value:(l=(0,w.Z)(O().mark((function e(t,r){var n,a,s,o;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n="".concat(r.uuid,".user.js"),a=this.logger.with({scriptId:r.id,name:r.name,file:n}),e.prev=2,e.next=5,t.create(n);case 5:return s=e.sent,e.next=8,s.write(r.code);case 8:return e.next=10,t.create("".concat(r.uuid,".meta.json"));case 10:return o=e.sent,e.next=13,o.write(JSON.stringify({uuid:r.uuid,origin:r.origin,downloadUrl:r.downloadUrl,checkUpdateUrl:r.checkUpdateUrl}));case 13:a.info("push script success"),e.next=20;break;case 16:throw e.prev=16,e.t0=e.catch(2),a.error("push script error",b.E(e.t0)),e.t0;case 20:return e.abrupt("return",Promise.resolve());case 21:case"end":return e.stop()}}),e,this,[[2,16]])}))),function(e,t){return l.apply(this,arguments)})},{key:"pullScript",value:(c=(0,w.Z)(O().mark((function e(t,r,n){var a,s,o,i,c,u,l;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=this.logger.with({scriptId:(null==n?void 0:n.id)||-1,name:(null==n?void 0:n.name)||"",file:r.script.name}),e.prev=1,e.next=4,t.open(r.script);case 4:return s=e.sent,e.next=7,s.read("string");case 7:return o=e.sent,e.next=10,t.open(r.meta);case 10:return i=e.sent,e.next=13,i.read("string");case 13:return c=e.sent,u=JSON.parse(c),e.next=17,Me(o,(null==n?void 0:n.downloadUrl)||u.downloadUrl||"",(null==n?void 0:n.uuid)||u.uuid);case 17:(l=e.sent).origin=l.origin||u.origin,this.scriptManager.event.upsertHandler(l,"sync"),a.info("pull script success"),e.next=26;break;case 23:e.prev=23,e.t0=e.catch(1),a.error("pull script error",b.E(e.t0));case 26:return e.abrupt("return",Promise.resolve());case 27:case"end":return e.stop()}}),e,this,[[1,23]])}))),function(e,t,r){return c.apply(this,arguments)})},{key:"backup",value:(i=(0,w.Z)(O().mark((function e(t){var r;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getScriptBackupData();case 2:return e.t0=e.sent,e.t1=[],r={script:e.t0,subscribe:e.t1},e.next=7,new qn(t).export(r);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"getScriptBackupData",value:(r=(0,w.Z)(O().mark((function e(){var t,r,n=this;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.scriptDAO.table.toArray();case 2:return t=e.sent,r=t.map(function(){var e=(0,w.Z)(O().mark((function e(t){return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",n.generateScriptBackupData(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.abrupt("return",Promise.all(r));case 5:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"generateScriptBackupData",value:(t=(0,w.Z)(O().mark((function e(t){var r,n,a,s,o,i;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={code:t.code,options:{options:this.scriptOption(t),settings:{enabled:t.status===$,position:t.sort},meta:{name:t.name,uuid:t.uuid,sc_uuid:t.uuid,modified:t.updatetime,file_url:t.downloadUrl,subscribe_url:t.subscribeUrl}},requires:[],requiresCss:[],resources:[]},n={data:{},ts:(new Date).getTime()},e.next=4,this.valueManager.getValues(t);case 4:return a=e.sent,Object.keys(a).forEach((function(e){n.data[e]=a[e].value})),e.next=8,this.resourceManager.getRequireResource(t);case 8:return s=e.sent,e.next=11,this.resourceManager.getRequireCssResource(t);case 11:return o=e.sent,e.next=14,this.resourceManager.getResourceResource(t);case 14:return i=e.sent,r.requires=this.resourceToBackdata(s),r.requiresCss=this.resourceToBackdata(o),r.resources=this.resourceToBackdata(i),r.storage=n,e.abrupt("return",Promise.resolve(r));case 20:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"resourceToBackdata",value:function(e){var t=this,r=[];return Object.keys(e).forEach((function(n){r.push({meta:{name:t.getUrlName(e[n].url),url:e[n].url,ts:e[n].updatetime||e[n].createtime,mimetype:e[n].contentType},source:e[n].content||void 0,base64:e[n].base64})})),r}},{key:"getUrlName",value:function(e){var t=e.indexOf("?");return-1!==t&&(e=e.substring(0,t)),-1!==(t=e.lastIndexOf("/"))&&(e=e.substring(t+1)),e}},{key:"scriptOption",value:function(e){return{check_for_updates:!1,comment:null,compat_foreach:!1,compat_metadata:!1,compat_prototypes:!1,compat_wrappedjsobject:!1,compatopts_for_requires:!0,noframes:null,override:{merge_connects:!0,merge_excludes:!0,merge_includes:!0,merge_matches:!0,orig_connects:e.metadata.connect||[],orig_excludes:e.metadata.exclude||[],orig_includes:e.metadata.include||[],orig_matches:e.metadata.match||[],orig_noframes:!!e.metadata.noframe||null,orig_run_at:e.metadata.run_at&&e.metadata.run_at[0]||"document-idle",use_blockers:[],use_connects:[],use_excludes:[],use_includes:[],use_matches:[]},run_at:null}}}]),g}(Ae))||Hn;function Qn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=(0,c.Z)(e);if(t){var a=(0,c.Z)(this).constructor;r=Reflect.construct(n,arguments,a)}else r=n.apply(this,arguments);return(0,i.Z)(this,r)}}var Xn=B.Singleton(S,xt,pt)((Wn=function(e){(0,o.Z)(f,e);var t,r,i,c,l,p=Qn(f);function f(e,t,r){var a;return(0,n.Z)(this,f),a=p.call(this,e,"subscribe"),(0,u.Z)((0,s.Z)(a),"subscribeDAO",new ne),(0,u.Z)((0,s.Z)(a),"scriptDAO",new K),a.systemConfig=r,a.scriptManager=t,a}return(0,a.Z)(f,[{key:"start",value:function(){var e=this;this.listenEvent("upsert",this.upsertHandler.bind(this)),this.listenEvent("checkUpdate",(function(t){return e.checkUpdate(t,"user")})),this.listenEvent("delete",this.deleteHandler.bind(this)),f.hook.addListener("upsert",this.upsertScript.bind(this)),setInterval((function(){e.systemConfig.checkScriptUpdateCycle&&(e.logger.debug("start check update"),e.subscribeDAO.table.where("checktime").belowOrEqual((new Date).getTime()-1e3*e.systemConfig.checkScriptUpdateCycle).toArray().then((function(t){t.forEach((function(t){(e.systemConfig.updateDisableScript||t.status!==re)&&e.checkUpdate(t.id,"system")}))})))}),6e5)}},{key:"upsertHandler",value:(l=(0,w.Z)(O().mark((function e(t,r){var n;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.logger.with({subscribeId:t.id,name:t.name}),e.prev=1,e.next=4,this.subscribeDAO.save(t);case 4:return n.info("upsert subscribe success"),f.hook.trigger("upsert",t,r),e.abrupt("return",Promise.resolve(t.id));case 9:return e.prev=9,e.t0=e.catch(1),n.error("upsert subscribe error",b.E(e.t0)),e.abrupt("return",Promise.reject(e.t0));case 13:case"end":return e.stop()}}),e,this,[[1,9]])}))),function(e,t){return l.apply(this,arguments)})},{key:"deleteHandler",value:(c=(0,w.Z)(O().mark((function e(t){var r,n,a=this;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.logger.with({subscribeId:t}),e.next=3,this.subscribeDAO.findById(t);case 3:if(n=e.sent){e.next=7;break}return r.warn("subscribe not found"),e.abrupt("return",Promise.resolve(!1));case 7:return e.next=9,this.scriptDAO.table.where("subscribeUrl").equals(n.url).toArray();case 9:return e.sent.forEach((function(e){a.scriptManager.event.deleteHandler(e.id)})),e.next=13,this.subscribeDAO.delete(t);case 13:return r.info("delete subscribe success"),e.abrupt("return",Promise.resolve(!0));case 15:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"checkUpdate",value:(i=(0,w.Z)(O().mark((function e(t,r){var n,a,s,o,i,c;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.subscribeDAO.findById(t);case 2:if(n=e.sent){e.next=5;break}return e.abrupt("return",Promise.resolve(!1));case 5:return a=this.logger.with({subscribeId:n.id,name:n.name}),this.subscribeDAO.update(t,{checktime:(new Date).getTime()}),e.prev=7,e.next=10,ke(n.url,r,!1,n.url);case 10:if(s=e.sent,o=s.metadata){e.next=15;break}return a.error("parse metadata failed"),e.abrupt("return",Promise.resolve(!1));case 15:if(i=o.version&&o.version[0]){e.next=19;break}return a.error("parse version failed",{version:o.version[0]}),e.abrupt("return",Promise.resolve(!1));case 19:if((c=n.metadata.version&&n.metadata.version[0])||(c="0.0.0"),!he(i,c,a)){e.next=23;break}return e.abrupt("return",Promise.resolve(!1));case 23:return this.openUpdatePage(s),e.abrupt("return",Promise.resolve(!0));case 27:return e.prev=27,e.t0=e.catch(7),a.error("check update failed",b.E(e.t0)),e.abrupt("return",Promise.resolve(!1));case 31:case"end":return e.stop()}}),e,this,[[7,27]])}))),function(e,t){return i.apply(this,arguments)})},{key:"openUpdatePage",value:(r=(0,w.Z)(O().mark((function e(t){var r,n;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.logger.with({url:t.url}),!this.systemConfig.silenceUpdateScript){e.next=15;break}return e.prev=2,e.next=5,_e(t.code,t.url);case 5:if(!me((n=e.sent).oldSubscribe.metadata,n.metadata)){e.next=10;break}return r.info("silence update subscribe"),this.upsertHandler(n),e.abrupt("return");case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(2),r.error("prepare script failed",b.E(e.t0));case 15:W.getInstance().set(Ie.scriptInfo(t.uuid),t),chrome.tabs.create({url:"/src/install.html?uuid=".concat(t.uuid)});case 17:case"end":return e.stop()}}),e,this,[[2,12]])}))),function(e){return r.apply(this,arguments)})},{key:"upsertScript",value:(t=(0,w.Z)(O().mark((function e(t){var r,n,a,s,o,i,c,u=this;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.logger.with({subscribeId:t.id,name:t.name}),n=[],a=[],s=t.metadata.scripturl||[],o=Object.keys(t.scripts),s.forEach((function(e){o.includes(e)||n.push(e)})),o.forEach((function(e){s.includes(e)||a.push(t.scripts[e])})),i=[[],[]],c=[],n.forEach((function(e){c.push((0,w.Z)(O().mark((function r(){var n;return O().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,u.scriptManager.installByUrl(e,"subscribe",t.url);case 2:return n=r.sent,t.scripts[e]={url:e,uuid:n.uuid},i[0].push(n.name),r.abrupt("return",Promise.resolve(!0));case 6:case"end":return r.stop()}}),r)})))())})),a.forEach((function(e){c.push((0,w.Z)(O().mark((function t(){var r;return O().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,u.scriptDAO.findByUUID(e.uuid);case 2:return(r=t.sent)&&(i[1].push(r.name),u.scriptManager.event.deleteHandler(r.id)),t.abrupt("return",Promise.resolve(!0));case 5:case"end":return t.stop()}}),t)})))())})),e.next=13,Promise.allSettled(c);case 13:return fe("订阅更新","安装了:".concat(i[0].join(","),"\n删除了:").concat(i[1].join("\n"))),r.info("subscribe update",{install:i[0],update:i[1]}),e.abrupt("return",Promise.resolve(!0));case 16:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),f}(Ae),(0,u.Z)(Wn,"hook",new d),Jn=Wn))||Jn;E.version(1).stores({scripts:"++id,&uuid,name,namespace,author,origin_domain,type,status,createtime,updatetime,checktime"}),E.version(2).stores({logger:"++id,level,origin,createtime",permission:"++id,[scriptId+permission+permissionValue],createtime,updatetime"}),E.version(3).stores({logger:"++id,level,title,origin,createtime"}),E.version(4).stores({value:"++id,scriptId,namespace,key,createtime"}),E.version(5).stores({logger:"++id,level,origin,createtime,title,[origin+title],[level+origin+title]"}),E.version(6).stores({scripts:"++id,&uuid,name,namespace,author,origin_domain,type,status,runStatus,createtime,updatetime,checktime"}),E.version(7).stores({resource:"++id,&url,content,type,createtime,updatetime",resourceLink:"++id,url,scriptId,createtime"}),E.version(8).stores({logger:"++id,level,origin,createtime"}),E.version(9).stores({logger:"++id,level,scriptId,origin,createtime"}),E.version(10).stores({scripts:"++id,&uuid,name,namespace,author,origin_domain,type,sort,status,runStatus,createtime,updatetime,checktime"}).upgrade((function(e){return e.table("scripts").toCollection().modify((function(e){e.sort=0}))})),E.version(11).stores({export:"++id,&uuid,scriptId"}),E.version(12).stores({value:"++id,scriptId,storageName,key,createtime"}).upgrade((function(e){e.table("value").toCollection().modify((function(e){e.namespace&&(e.storageName=e.namespace,delete e.namespace)}))})),E.version(13).stores({subscribe:"++id,&url,createtime,updatetime,checktime",scripts:"++id,&uuid,name,namespace,author,origin_domain,subscribeUrl,type,sort,status,runStatus,createtime,updatetime,checktime",sync:"++id,&key,[user+device+type],createtime"}),E.version(14).stores({value:"++id,[scriptId+key],[storageName+key]"}),E.version(15).stores({permission:"++id,scriptId,[scriptId+permission+permissionValue],createtime,updatetime"}),E.version(16).stores({scripts:"++id,&uuid,name,namespace,author,originDomain,subscribeUrl,type,sort,status,runStatus,createtime,updatetime,checktime",logger:"++id,level,createtime"}).upgrade(function(){var e=(0,w.Z)(O().mark((function e(t){return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.table("export").clear();case 2:return e.abrupt("return",t.table("scripts").toCollection().modify((function(e){e.origin_domain&&(e.originDomain=e.origin_domain),e.checkupdate_url&&(e.checkUpdateUrl=e.checkupdate_url),e.download_url&&(e.downloadUrl=e.download_url)})));case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),E.version(17).stores({export:"++id,&scriptId"}),new k({debug:!1,writer:new D(new G),labels:{env:"background"}}).logger().debug("background start");var $n=new C;$n.start(),B.registerInstance(C,$n).alias([S,M]),function(e,t){t.setHandler("log",(function(t,r){e.save(r)}))}(new G,$n),B.instance(pt).init(),B.instance(Gn).init();var Kn=new He($n),ea=new It($n,$n),ta=new Tn($n,Kn,ea);B.registerInstance(Tn,ta),ta.start(),ea.start(),Kn.start(),B.instance(xt).start(),B.instance(Xn).start(),B.instance(Yn).start(),window.onload=function(){var e=new j(sandbox);ta.startSandbox(e),$n.setSandbox(sandbox)},$n.setHandler("sandboxOnload",(function(){return Promise.resolve(!0)})),new Cn($n,new Wr).start()},43914:(e,t,r)=>{var n={"./align-attributes.js":2672,"./better-use-match.js":82162,"./compat-grant.js":45644,"./compat-headers.js":73285,"./filename-user.js":18039,"./metadata-spacing.js":39877,"./no-invalid-grant.js":20070,"./no-invalid-headers.js":18754,"./no-invalid-metadata.js":91763,"./require-attribute-space-prefix.js":14350,"./require-description.js":70230,"./require-name.js":18295,"./require-version.js":43880,"./use-download-and-update-url.js":52215,"./use-homepage-and-url.js":11933};function a(e){var t=s(e);return r(t)}function s(e){if(!r.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}a.keys=function(){return Object.keys(n)},a.resolve=s,e.exports=a,a.id=43914},42480:()=>{}},r={};function n(e){var a=r[e];if(void 0!==a)return a.exports;var s=r[e]={id:e,loaded:!1,exports:{}};return t[e].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.m=t,e=[],n.O=(t,r,a,s)=>{if(!r){var o=1/0;for(l=0;l=s)&&Object.keys(n.O).every((e=>n.O[e](r[c])))?r.splice(c--,1):(i=!1,s0&&e[l-1][2]>s;l--)e[l]=e[l-1];e[l]=[r,a,s]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.j=352,(()=>{var e={352:0};n.O.j=t=>0===e[t];var t=(t,r)=>{var a,s,[o,i,c]=r,u=0;if(o.some((t=>0!==e[t]))){for(a in i)n.o(i,a)&&(n.m[a]=i[a]);if(c)var l=c(n)}for(t&&t(r);un(23771)));a=n.O(a)})();