!function(){if(self.document){vare=document.currentScript.src;newURLSearchParams(e.split("?")[1]).get("uninstall")?(console.log("uninstall service worker."),navigator.serviceWorker.getRegistrations().then(function(e){for(vartofe)t.active&&t.active.scriptURL&&-1!==t.active.scriptURL.indexOf("/sw.min.js")&&t.unregister()}),window.caches&&caches.keys&&caches.keys().then(function(e){e.forEach(function(e){console.log("delete cache",e),caches.delete(e)})})):navigator.serviceWorker.register(document.currentScript.src).catch(function(e){console.log("cache failed with "+e)})}else{consti="Dream2-plus-1.0.0",t=newURLSearchParams(location.href.split("?")[1]),o=t.get("concurrent"),c=t.get("cache"),n=location.origin+"/themes/theme-dream2-plus",a=t.get("cdn").split(",").filter(e=>0<e.length&&0===e.indexOf("http")),u=[location.origin+"/api",location.origin+"/apis"],l=[n,...a],h=[location.origin+"/upload","https://cdn.jsdelivr.net/"],f={theme:{handleRequest:e=>{if(0===e.indexOf(n)){constt=e.substring(n.length),r=newURLSearchParams(e.split("?")[1]).get("mew")||"latest";return[e,...a.map(e=>`${e}/halo-theme-dream2-plus@${r}/templates`+t)]}}},npm:{handleRequest:e=>{for(vartina)if(0===e.indexOf(a[t])){constr=e.substring(a[t].length);returna.map(e=>e+r)}}}};functionr(e,t){returne.some(function(e){return0===t.indexOf(e)})}functions(e,t){varr=newSet(["mew","v","version","t","time","ts","timestamp"]),e=e.split("?"),t=t.split("?");if(e[0]===t[0]){varn=newURLSearchParams("?"+e[1]),s=newURLSearchParams("?"+t[1]);for(consteofn.keys())if(!r.has(e)&&n.get(e)!==s.get(e))return;return1}}self.addEventListener("install",function(e){console.log("install service worker."),e.waitUntil(self.skipWaiting())}),self.addEventListener("activate",function(e){console.log("service worker activate.");constt=[i];returne.waitUntil(caches.keys().then(function(e){returnPromise.all(e.map(function(e){if(-1===t.indexOf(e))returnconsole.info("version changed, clean the cache, SW: deleting "+e),caches.delete(e)}))})),self.clients.claim()}),self.addEventListener("fetch",function(n){if("GET"!==n.request.method||r(u,n.request.url))return!1;if(!n.request.url.startsWith("http://")&&!n.request.url.startsWith("https://"))return!1;constt=r(l,n.request.url),e=r(h,n.request.url);if(!o||!t&&!e)return!!c&&(n.respondWith(caches.open(i).then(t=>fetch(n.request).then(e=>(200===e.status&&t.put(n.request,e.clone()),e)).catch(()=>t.match(n.request)))),!0);n.respondWith(caches.open(i).then(function(r){returnr.match(n.request).then(function(e){returne||function(e,t){if(t&&o)for(consttinf){varr=f[t].handleRequest(e.url);if(r){varn=e.url;consts=newAbortController,i=s.signal,c=r.map(e=>newPromise(async(t,r)=>{fetch(e,{signal:i}).then(asynce=>{vart=newHeaders(e.headers);returnt.set("service-worker-origin",n),newResponse(awaite.arrayBuffer(),{status:e.status,headers:t})}).then(e=>{(200===e.status?(s.abort(),t):r)(e)}).catch(()=>r(null))}));returnPromise.any||(Promise.any=function(e){returnnewPromise((t,r)=>{letn=(e=Array.isArray(e)?e:[]).length,s=[];if(0===n)returnr(newAggregateError("All promises were rejected"));e.forEach(e=>{if(!(einstanceofPromise))returnr(e);e.then(e=>t(e),e=>{n--,s.push(e),0===n&&r(newAggregateError(s))})})})}),Promise.any(c);return}}returnfetch(e)}(n.request,t).then(e=>{constt=e.clone();returnr.matchAll(n.request,{ignoreSearch:!0}).then(function(e){if(e)for(consttofe){conste=t.url||t.headers.get("service-worker-origin");s(e,n.request.url)&&r.delete(e)}r.put(n.request,t)}),e}).catch(e=>(console.error(e),r.matchAll(n.request,{ignoreSearch:!0}).then(function(e){if(e)for(consttofe)if(s(t.url||t.headers.get("service-worker-origin"),n.request.url))returnt})))})}))})}}();