@abtnode/blocklet-services 1.16.39-beta-20250218-110004-a308c501 → 1.16.39-beta-20250218-132815-6baaf20e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{Add-eTw9dWVa.js → Add-meGhscd6.js} +1 -1
- package/dist/assets/{ArrowDropDown-D-RD-2MB.js → ArrowDropDown-B7S4xnEe.js} +1 -1
- package/dist/assets/{CheckCircle-fnIa_Tjy.js → CheckCircle-CnvZ4oB1.js} +1 -1
- package/dist/assets/{ChevronLeft-B6BBtJvf.js → ChevronLeft-D1qkw0FM.js} +1 -1
- package/dist/assets/{ChevronRight-BO6iBxGF.js → ChevronRight-CEkTH0up.js} +1 -1
- package/dist/assets/{DeleteOutline-6B6Fe5fo.js → DeleteOutline-BjrgG_HY.js} +1 -1
- package/dist/assets/{Done-BpK9makc.js → Done-7hvoRcVZ.js} +1 -1
- package/dist/assets/{Download-CHVAgVy8.js → Download-CMvqPsK9.js} +1 -1
- package/dist/assets/{Error-kGbi4Zxj.js → Error-D3I1nNnO.js} +1 -1
- package/dist/assets/{Google-T-9fe6qI.js → Google-TNOfJ3uU.js} +1 -1
- package/dist/assets/{InfoOutlined-BgLmQpjA.js → InfoOutlined-CwoytfGr.js} +1 -1
- package/dist/assets/{Launch-C9zEVLvk.js → Launch-wyBVNKfb.js} +1 -1
- package/dist/assets/{LaunchOutlined-Cql1NmZZ.js → LaunchOutlined-B2ZU9fkg.js} +1 -1
- package/dist/assets/{Loop-CawJEzLG.js → Loop-CQAI5rIS.js} +1 -1
- package/dist/assets/{MoreHoriz-M9rI-Gh1.js → MoreHoriz-CyCcv2bV.js} +1 -1
- package/dist/assets/{PlayArrow-BAowUCpY.js → PlayArrow-B5ZFUKPq.js} +1 -1
- package/dist/assets/{ViewList-BPtSTNst.js → ViewList-C8AcRueZ.js} +1 -1
- package/dist/assets/{access-control-DEUU0fDz.js → access-control-ClVHa3J1.js} +1 -1
- package/dist/assets/{actions-wYAFmtYW.js → actions-C0a0eUYM.js} +1 -1
- package/dist/assets/{add-component-core-C36Oh0S_.js → add-component-core-CK3SAdlQ.js} +1 -1
- package/dist/assets/{add-resource-Xm48tGBR.js → add-resource-hs_iM1xk.js} +1 -1
- package/dist/assets/{addon-DJRfOF39.js → addon-C7fx4MJ0.js} +1 -1
- package/dist/assets/{analytics-BxMLe4sZ.js → analytics-CjaAB5m2.js} +1 -1
- package/dist/assets/{audit-logs-QI7Dc290.js → audit-logs-bl5st5Lr.js} +1 -1
- package/dist/assets/{base32-BMSr-Oor.js → base32-9oQoOkFy.js} +1 -1
- package/dist/assets/{branding-BiBArxE7.js → branding-5S3zjZlC.js} +2 -2
- package/dist/assets/{bundle-avatar-CcKbW8ZA.js → bundle-avatar-Dnk7mw7b.js} +1 -1
- package/dist/assets/{button-hN0nkg5h.js → button-BTVoaDd7.js} +1 -1
- package/dist/assets/{click-to-copy-DlRwVMBE.js → click-to-copy-C9X-UQyL.js} +1 -1
- package/dist/assets/{complete-BCHhjgui.js → complete-C3yyjx_N.js} +1 -1
- package/dist/assets/{component---BohhtR.js → component-B0WI6_H4.js} +1 -1
- package/dist/assets/{config-BT7DA9eX.js → config-C0wq7rMr.js} +1 -1
- package/dist/assets/{config-Chtg5c7S.js → config-DINcJX6A.js} +1 -1
- package/dist/assets/{config-navigation-DGQXESo8.js → config-navigation-Dskr7Yic.js} +3 -3
- package/dist/assets/{config-space-D3_ddjoK.js → config-space-BYYAVRcS.js} +1 -1
- package/dist/assets/{confirm-BUf2FX6y.js → confirm-BmLsHbj9.js} +1 -1
- package/dist/assets/{connect-9ktVrhs9.js → connect-06lWrPrR.js} +1 -1
- package/dist/assets/{connect-Bg1fiX7Q.js → connect-hhGPDSK8.js} +1 -1
- package/dist/assets/{connect-to-6-yxL1od.js → connect-to-DIJ57-hM.js} +1 -1
- package/dist/assets/{dashboard-CRO3eTt1.js → dashboard-PlqPcVrd.js} +3 -3
- package/dist/assets/{did-address-Rncailh0.js → did-address-Bl2N44vc.js} +1 -1
- package/dist/assets/{domain-CiQ58Nbb.js → domain-DDa_Ldun.js} +1 -1
- package/dist/assets/{domain-list-DlMnYtcT.js → domain-list-DXbfS21Z.js} +1 -1
- package/dist/assets/{email-C7B2iQRL.js → email-9CbD02fM.js} +1 -1
- package/dist/assets/{exchange-passport-DvgnrFhH.js → exchange-passport-ZTeqENxf.js} +1 -1
- package/dist/assets/{form-text-input-B3XB3R1O.js → form-text-input-DEadnM80.js} +1 -1
- package/dist/assets/{fuel-De_bc9rw.js → fuel-AxStjHWS.js} +1 -1
- package/dist/assets/{fullpage-ClwEgpoB.js → fullpage-BXvfrD1C.js} +1 -1
- package/dist/assets/{get-safe-url-3FtlbQXR.js → get-safe-url-BVjMxmwp.js} +1 -1
- package/dist/assets/{get-safe-url-DgnUmHPg.js → get-safe-url-BxZD1oA_.js} +1 -1
- package/dist/assets/{home-s4XxyP6G.js → home-CrkVy1DG.js} +1 -1
- package/dist/assets/{iframe-DkAOGH82.js → iframe-BcWepstA.js} +1 -1
- package/dist/assets/{index-CKmE0Sqg.js → index-BBOSdbE7.js} +1 -1
- package/dist/assets/{index-C3Z6Hby2.js → index-BJA4YPaC.js} +1 -1
- package/dist/assets/{index-IC1Rf7BW.js → index-BSC2apzE.js} +1 -1
- package/dist/assets/{index-Pdt8JY75.js → index-BXlJ03I_.js} +1 -1
- package/dist/assets/{index-DiLNptzT.js → index-Be9vrMiA.js} +1 -1
- package/dist/assets/{index-DFzh5oL0.js → index-BtFCAsqh.js} +1 -1
- package/dist/assets/{index-C3cP3eho.js → index-CDvqNewi.js} +1 -1
- package/dist/assets/{index-XjSUrEf9.js → index-CoxJ8G1A.js} +1 -1
- package/dist/assets/{index-BQD1ktrC.js → index-DIQ33Q8Z.js} +1 -1
- package/dist/assets/{index-BuAHCrPZ.js → index-DfBNyFsV.js} +1 -1
- package/dist/assets/{index-DEkiPG8Y.js → index-DgaUl_lv.js} +1 -1
- package/dist/assets/{index-BM6MW3P4.js → index-DkVoxpR-.js} +1 -1
- package/dist/assets/{index-CctdI8X8.js → index-DkufOgYs.js} +3 -3
- package/dist/assets/{index-vSb5bw1I.js → index-MxM82EtU.js} +4 -4
- package/dist/assets/{index-AKILhCB1.js → index-uYcwdGZL.js} +3 -3
- package/dist/assets/{invitation-398ugOww.js → invitation-BzHMoDRH.js} +1 -1
- package/dist/assets/{invite-CxctjCks.js → invite-BBcuJaUv.js} +1 -1
- package/dist/assets/{issue-passport-BzEXCFP0.js → issue-passport-sgBfFZ4Y.js} +1 -1
- package/dist/assets/{item-BzigISWG.js → item-C5sAxGxS.js} +1 -1
- package/dist/assets/{layout-N5xbN7Ti.js → layout-CGas_HfS.js} +1 -1
- package/dist/assets/{list-QwzSO7Cs.js → list-cZ-OXxN0.js} +1 -1
- package/dist/assets/{list-header-bKaZ4zsu.js → list-header-Dd4BEf4y.js} +1 -1
- package/dist/assets/{localization-CNvFSQc0.js → localization-Z_CTe1Z8.js} +1 -1
- package/dist/assets/{log-Bz9TkxcV.js → log-BFj6TDz5.js} +1 -1
- package/dist/assets/{login-DbJD9Sgu.js → login-B-6s411x.js} +1 -1
- package/dist/assets/{login-oauth-callback-BagCPt1j.js → login-oauth-callback-aKbzfltj.js} +1 -1
- package/dist/assets/{logo-uploader-QnBnkpOO.js → logo-uploader-pyVqJwKp.js} +3 -3
- package/dist/assets/{lost-passport-se4N22vE.js → lost-passport-DKkxzCH8.js} +1 -1
- package/dist/assets/{open-window-BWPlSJZK.js → open-window-Cvetj9Mn.js} +1 -1
- package/dist/assets/{overview-u84fbCZU.js → overview-BxbJCUbS.js} +1 -1
- package/dist/assets/{page-header-CVCtfFXY.js → page-header--y63DY5K.js} +1 -1
- package/dist/assets/{permission-CoRqvd18.js → permission-Be_APIVZ.js} +1 -1
- package/dist/assets/{preferences-CCm3JuB9.js → preferences-D-NDmLhf.js} +1 -1
- package/dist/assets/publish-resource-CxkiI4_n.js +1 -0
- package/dist/assets/{react-beautiful-dnd.esm-CrvlS-3X.js → react-beautiful-dnd.esm-Czr1mmuu.js} +1 -1
- package/dist/assets/{relative-time-IDiRzYUd.js → relative-time-D0P0AJUI.js} +1 -1
- package/dist/assets/sdk-NKQJT0FS.js +1 -0
- package/dist/assets/{session-BzY_i5lZ.js → session-CV6ez46v.js} +1 -1
- package/dist/assets/{setup-CFL-k7o4.js → setup-CF2VhAxD.js} +3 -3
- package/dist/assets/{start-Bnol7r-4.js → start-BjFFihjS.js} +1 -1
- package/dist/assets/{step-actions-vFuOlgmX.js → step-actions-qXq3r5tX.js} +1 -1
- package/dist/assets/{studio-D8dNrjXX.js → studio-BNGylnt7.js} +1 -1
- package/dist/assets/{switch-control-DTOAJIEb.js → switch-control-DmKC0hpm.js} +1 -1
- package/dist/assets/{traffic-C-Or__6J.js → traffic-Djmt2Ph8.js} +1 -1
- package/dist/assets/{transfer-tWhnvLV8.js → transfer-B9ohZjja.js} +1 -1
- package/dist/assets/{unsubscribe-8PpNeEGq.js → unsubscribe-6xRksnNz.js} +1 -1
- package/dist/assets/{useLocalStorage-DDsWbihG.js → useLocalStorage-B5t6MEw6.js} +1 -1
- package/dist/assets/{user-center-FVVJclAc.js → user-center-DEGm9vzv.js} +1 -1
- package/dist/assets/{util-CqwLA_zk.js → util-Bl4vyFsm.js} +1 -1
- package/dist/assets/{util-DfAqJble.js → util-PzCAH0nE.js} +1 -1
- package/dist/assets/{vendor-arcblock-naCuSDgJ.js → vendor-arcblock-BFUPp1Ez.js} +3 -3
- package/dist/assets/{wrap-locale-JORvcC3E.js → wrap-locale-6MxBCfA2.js} +1 -1
- package/dist/index.html +2 -2
- package/dist/service-worker.js +1 -1
- package/package.json +28 -28
- package/dist/assets/publish-resource-Cmlpn7H3.js +0 -1
- package/dist/assets/sdk-DRntvOGy.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{x as A}from"./vendor-utils-5TjOM6td.js";import{b as E}from"./base32-
|
|
1
|
+
import{x as A}from"./vendor-utils-5TjOM6td.js";import{b as E}from"./base32-9oQoOkFy.js";import{b as r}from"./vendor-arcblock-BFUPp1Ez.js";function l(e,i,o,s=!1){var R,_;if(e&&e.startsWith(r.USER_AVATAR_URL_PREFIX)){const n=window.env.apiPrefix||"/";if(o){if(s&&((R=window.blocklet)!=null&&R.serverDid)){const t=`https://${E.encode((_=window.blocklet)==null?void 0:_.serverDid)}.${r.DEFAULT_DID_DOMAIN}`;return`${A(t,r.USER_AVATAR_PATH_PREFIX,i,e.replace(r.USER_AVATAR_URL_PREFIX,""))}?imageFilter=resize&w=64&h=64`}return`${A(n,r.USER_AVATAR_PATH_PREFIX,e.replace(r.USER_AVATAR_URL_PREFIX,""))}?imageFilter=resize&w=64&h=64`}return`${A(n,r.USER_AVATAR_PATH_PREFIX,i,e.replace(r.USER_AVATAR_URL_PREFIX,""))}?imageFilter=resize&w=64&h=64`}return e}const w=(e,i)=>e.nodeOwner&&e.nodeOwner.did===i,U=(e,i)=>e&&e.did===i;export{U as a,w as i,l as p};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a1 as l,j as d}from"./vendor-mui-core-xF5F4eT7.js";import{a0 as h,b as u}from"./vendor-arcblock-
|
|
1
|
+
import{a1 as l,j as d}from"./vendor-mui-core-xF5F4eT7.js";import{a0 as h,b as u}from"./vendor-arcblock-BFUPp1Ez.js";import{g as c}from"./vendor-react-D-afvo_7.js";import{ac as p,a6 as P,h as x}from"./index-uYcwdGZL.js";var f={},v=l;Object.defineProperty(f,"__esModule",{value:!0});var E=f.default=void 0,R=v(h()),g=d;E=f.default=(0,R.default)((0,g.jsx)("path",{d:"M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2M1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2"}),"ShoppingCart");const s=p;var m=(e,t)=>s(e)===s(t);const _=c(m),y=(e,t)=>{if(e.type===u.ROUTING_RULE_TYPES.REDIRECT){if(!e.url)return new Error(`${t("router.validation.redirectUrlRequired")}`);if(!e.redirectCode)return new Error(`redirect ${t("router.validation.redirectCodeRequired")}`)}else if(e.type===u.ROUTING_RULE_TYPES.BLOCKLET&&!e.did)return new Error(t("router.validation.didRequired"));return null},q=(e,t)=>{const r=y(e,t);return r||(e.pathPrefix.length?e.pathPrefix.length>150?new Error(t("router.validation.pathPrefixTooLong",{length:150})):null:new Error(t("router.validation.pathPrefixCannotBeEmpty")))},T=({params:e,blocklet:t})=>{if(t){const r=(t.children||[]).find(n=>P.hasStartEngine(n.meta)&&_(n.mountPoint,e.pathPrefix));let i="";return r&&(i=r.mountPoint),t.meta.group!=="gateway"&&e.pathPrefix==="/"&&(i="/"),i}return""},C=({params:e,blocklets:t,blocklet:r,locale:i="en"})=>{if(r&&T({params:e,blocklet:r}))return{zh:`挂载点 ${e.pathPrefix} 已存在,请使用其他挂载点`,en:`The mount point ${e.pathPrefix} already exist, please use another mount point`}[i];const n=t.find(a=>a.meta.did===e.did);if(!n)return"";const o=n.meta.interfaces.find(a=>a.type==="web");return o&&o.prefix!==x.BLOCKLET_DYNAMIC_PATH_PREFIX&&e.pathPrefix!==o.prefix?{zh:`该 blocklet 只能挂载在 ${o.prefix}`,en:`This blocklet can only be mounted on ${o.prefix}`}[i]:""},$=e=>{if(!e||typeof e!="string")return e;let t=e.trim();try{return t=t.toLowerCase(),t.startsWith("http://")||t.startsWith("https://")?new URL(t).hostname:t}catch(r){return console.error("format domain failed",r),t}};export{q as a,E as d,T as e,$ as p,C as v};
|
|
@@ -6,7 +6,7 @@ var is=Object.defineProperty;var zo=_=>{throw TypeError(_)};var os=(_,C,T)=>C in
|
|
|
6
6
|
display: flex;
|
|
7
7
|
justify-content: center;
|
|
8
8
|
align-items: center;
|
|
9
|
-
`;var relativeTime$1={exports:{}};(function(_,C){(function(T,I){_.exports=I()})(commonjsGlobal,function(){return function(T,I,M){T=T||{};var D=I.prototype,B={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function L(V,F,U,H){return D.fromToBase(V,F,U,H)}M.en.relativeTime=B,D.fromToBase=function(V,F,U,H,G){for(var Y,Z,Q,X=U.$locale().relativeTime||B,oe=T.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],ae=oe.length,le=0;le<ae;le+=1){var pe=oe[le];pe.d&&(Y=H?M(V).diff(U,pe.d,!0):U.diff(V,pe.d,!0));var me=(T.rounding||Math.round)(Math.abs(Y));if(Q=Y>0,me<=pe.r||!pe.r){me<=1&&le>0&&(pe=oe[le-1]);var ve=X[pe.l];G&&(me=G(""+me)),Z=typeof ve=="string"?ve.replace("%d",me):ve(me,F,pe.l,Q);break}}if(F)return Z;var _e=Q?X.future:X.past;return typeof _e=="function"?_e(Z):_e.replace("%s",Z)},D.to=function(V,F){return L(V,F,this,!0)},D.from=function(V,F){return L(V,F,this)};var N=function(V){return V.$u?M.utc():M()};D.toNow=function(V){return this.to(N(this),V)},D.fromNow=function(V){return this.from(N(this),V)}}})})(relativeTime$1);var relativeTimeExports=relativeTime$1.exports;const relativeTime=getDefaultExportFromCjs(relativeTimeExports);var localizedFormat={exports:{}};(function(_,C){(function(T,I){_.exports=I()})(commonjsGlobal,function(){var T={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(I,M,D){var B=M.prototype,L=B.format;D.en.formats=T,B.format=function(N){N===void 0&&(N="YYYY-MM-DDTHH:mm:ssZ");var V=this.$locale().formats,F=function(U,H){return U.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(G,Y,Z){var Q=Z&&Z.toUpperCase();return Y||H[Z]||T[Z]||H[Q].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(X,oe,ae){return oe||ae.slice(1)})})}(N,V===void 0?{}:V);return L.call(this,F)}}})})(localizedFormat);var localizedFormatExports=localizedFormat.exports;const localizedFormatPlugin=getDefaultExportFromCjs(localizedFormatExports);var utc$1={exports:{}};(function(_,C){(function(T,I){_.exports=I()})(commonjsGlobal,function(){var T="minute",I=/[+-]\d\d(?::?\d\d)?/g,M=/([+-]|\d\d)/g;return function(D,B,L){var N=B.prototype;L.utc=function(Z){var Q={date:Z,utc:!0,args:arguments};return new B(Q)},N.utc=function(Z){var Q=L(this.toDate(),{locale:this.$L,utc:!0});return Z?Q.add(this.utcOffset(),T):Q},N.local=function(){return L(this.toDate(),{locale:this.$L,utc:!1})};var V=N.parse;N.parse=function(Z){Z.utc&&(this.$u=!0),this.$utils().u(Z.$offset)||(this.$offset=Z.$offset),V.call(this,Z)};var F=N.init;N.init=function(){if(this.$u){var Z=this.$d;this.$y=Z.getUTCFullYear(),this.$M=Z.getUTCMonth(),this.$D=Z.getUTCDate(),this.$W=Z.getUTCDay(),this.$H=Z.getUTCHours(),this.$m=Z.getUTCMinutes(),this.$s=Z.getUTCSeconds(),this.$ms=Z.getUTCMilliseconds()}else F.call(this)};var U=N.utcOffset;N.utcOffset=function(Z,Q){var X=this.$utils().u;if(X(Z))return this.$u?0:X(this.$offset)?U.call(this):this.$offset;if(typeof Z=="string"&&(Z=function(pe){pe===void 0&&(pe="");var me=pe.match(I);if(!me)return null;var ve=(""+me[0]).match(M)||["-",0,0],_e=ve[0],Re=60*+ve[1]+ +ve[2];return Re===0?0:_e==="+"?Re:-Re}(Z),Z===null))return this;var oe=Math.abs(Z)<=16?60*Z:Z,ae=this;if(Q)return ae.$offset=oe,ae.$u=Z===0,ae;if(Z!==0){var le=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(ae=this.local().add(oe+le,T)).$offset=oe,ae.$x.$localOffset=le}else ae=this.utc();return ae};var H=N.format;N.format=function(Z){var Q=Z||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return H.call(this,Q)},N.valueOf=function(){var Z=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*Z},N.isUTC=function(){return!!this.$u},N.toISOString=function(){return this.toDate().toISOString()},N.toString=function(){return this.toDate().toUTCString()};var G=N.toDate;N.toDate=function(Z){return Z==="s"&&this.$offset?L(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():G.call(this)};var Y=N.diff;N.diff=function(Z,Q,X){if(Z&&this.$u===Z.$u)return Y.call(this,Z,Q,X);var oe=this.local(),ae=L(Z).local();return Y.call(oe,ae,Q,X)}}})})(utc$1);var utcExports=utc$1.exports;const utc=getDefaultExportFromCjs(utcExports);var timezone$1={exports:{}};(function(_,C){(function(T,I){_.exports=I()})(commonjsGlobal,function(){var T={year:0,month:1,day:2,hour:3,minute:4,second:5},I={};return function(M,D,B){var L,N=function(H,G,Y){Y===void 0&&(Y={});var Z=new Date(H),Q=function(X,oe){oe===void 0&&(oe={});var ae=oe.timeZoneName||"short",le=X+"|"+ae,pe=I[le];return pe||(pe=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:X,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:ae}),I[le]=pe),pe}(G,Y);return Q.formatToParts(Z)},V=function(H,G){for(var Y=N(H,G),Z=[],Q=0;Q<Y.length;Q+=1){var X=Y[Q],oe=X.type,ae=X.value,le=T[oe];le>=0&&(Z[le]=parseInt(ae,10))}var pe=Z[3],me=pe===24?0:pe,ve=Z[0]+"-"+Z[1]+"-"+Z[2]+" "+me+":"+Z[4]+":"+Z[5]+":000",_e=+H;return(B.utc(ve).valueOf()-(_e-=_e%1e3))/6e4},F=D.prototype;F.tz=function(H,G){H===void 0&&(H=L);var Y,Z=this.utcOffset(),Q=this.toDate(),X=Q.toLocaleString("en-US",{timeZone:H}),oe=Math.round((Q-new Date(X))/1e3/60),ae=15*-Math.round(Q.getTimezoneOffset()/15)-oe;if(!Number(ae))Y=this.utcOffset(0,G);else if(Y=B(X,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(ae,!0),G){var le=Y.utcOffset();Y=Y.add(Z-le,"minute")}return Y.$x.$timezone=H,Y},F.offsetName=function(H){var G=this.$x.$timezone||B.tz.guess(),Y=N(this.valueOf(),G,{timeZoneName:H}).find(function(Z){return Z.type.toLowerCase()==="timezonename"});return Y&&Y.value};var U=F.startOf;F.startOf=function(H,G){if(!this.$x||!this.$x.$timezone)return U.call(this,H,G);var Y=B(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return U.call(Y,H,G).tz(this.$x.$timezone,!0)},B.tz=function(H,G,Y){var Z=Y&&G,Q=Y||G||L,X=V(+B(),Q);if(typeof H!="string")return B(H).tz(Q);var oe=function(me,ve,_e){var Re=me-60*ve*1e3,Ve=V(Re,_e);if(ve===Ve)return[Re,ve];var Ne=V(Re-=60*(Ve-ve)*1e3,_e);return Ve===Ne?[Re,Ve]:[me-60*Math.min(Ve,Ne)*1e3,Math.max(Ve,Ne)]}(B.utc(H,Z).valueOf(),X,Q),ae=oe[0],le=oe[1],pe=B(ae).utcOffset(le);return pe.$x.$timezone=Q,pe},B.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},B.tz.setDefault=function(H){L=H}}})})(timezone$1);var timezoneExports=timezone$1.exports;const timezone=getDefaultExportFromCjs(timezoneExports),NODE_SERVICES=Object.freeze({AUTH:"auth"}),ROLES=Object.freeze({OWNER:"owner",ADMIN:"admin",MEMBER:"member",GUEST:"guest"}),SERVER_ROLES=Object.freeze({...ROLES,CI:"ci",CERTIFICATE:"certificate",BLOCKLET_OWNER:"blocklet-owner",BLOCKLET_ADMIN:"blocklet-admin",BLOCKLET_MEMBER:"blocklet-member",BLOCKLET_SDK:"blocklet-sdk",EXTERNAL_BLOCKLET_CONTROLLER:"external-blocklet-controller",EXTERNAL_BLOCKLETS_MANAGER:"external-blocklets-manager"}),SERVICES_ROLES=Object.freeze({BLOCKLET_GUEST:"blocklet-guest"}),BLOCKLET_ROLES=[SERVER_ROLES.BLOCKLET_OWNER,SERVER_ROLES.BLOCKLET_ADMIN,SERVER_ROLES.BLOCKLET_MEMBER,SERVER_ROLES.BLOCKLET_SDK],isBlockletRole=_=>_&&BLOCKLET_ROLES.includes(_),BLOCKLET_MULTIPLE_TENANT_ROLES=[SERVER_ROLES.BLOCKLET_OWNER,SERVER_ROLES.BLOCKLET_ADMIN,SERVER_ROLES.BLOCKLET_MEMBER,SERVER_ROLES.BLOCKLET_SDK,SERVICES_ROLES.BLOCKLET_GUEST],isBlockletMultipleTenantRole=_=>_&&BLOCKLET_MULTIPLE_TENANT_ROLES.includes(_),AUTH_CERT_TYPE={USER:"user",OWNERSHIP_NFT:"ownership_nft",BLOCKLET_USER:"blocklet_user",BLOCKLET_CONTROLLER:"blocklet_controller"},RBAC_CONFIG={roles:Object.freeze([{name:SERVER_ROLES.OWNER,title:"Owner",description:"Has full administrative access to the Blocklet Server",passport:!0},{name:SERVER_ROLES.ADMIN,title:"Admin",description:"Has full permissions to manage blocklet and Blocklet Server such as install/remove/start/stop blocklet, manage blocklet URL mapping and certificates, manage blocklet team, manage node integrations and access keys, upgrade node to a new version",passport:!0},{name:SERVER_ROLES.MEMBER,title:"Member",description:"Has permissions to manage blocklets, such as install/remove/start/stop blocklet, manage blocklet URL mapping and certificates",passport:!0},{name:SERVER_ROLES.GUEST,title:"Guest",description:"Has all read permissions on Blocklet Server",passport:!0},{name:SERVER_ROLES.CI,title:"CI",description:"Deploy blocklet to Blocklet Server",passport:!0,noHuman:!0},{name:SERVER_ROLES.CERTIFICATE,title:"Certificate",description:"Manage https certificates for blocklets on the Blocklet Server",passport:!0,noHuman:!0},{name:SERVER_ROLES.BLOCKLET_OWNER,title:"Blocklet Owner"},{name:SERVER_ROLES.BLOCKLET_ADMIN,title:"Blocklet Admin"},{name:SERVER_ROLES.BLOCKLET_MEMBER,title:"Blocklet Member"},{name:SERVER_ROLES.BLOCKLET_SDK,title:"Blocklet SDK"},{name:SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER,title:"External Blocklet Controller"},{name:SERVER_ROLES.EXTERNAL_BLOCKLETS_MANAGER,title:"External Blocklets Manager",description:"Manage external blocklets in the Blocklet Server",passport:!0,noHuman:!0}]),permissions:Object.freeze([{name:"query_node",description:"View node data, include dashboard and node settings, log stream for both Blocklet Server and blocklets"},{name:"mutate_node",description:"Change node settings, upgrade node to a new version"},{name:"query_session",description:"Get data from a long running session"},{name:"mutate_session",description:"Start/update/end a long running session"},{name:"query_accessKey",description:"View access keys for Blocklet Server"},{name:"mutate_accessKey",description:"Manage access keys for Blocklet Server, such as create/update/delete"},{name:"query_team",description:"View team data(members/roles/permissions) for Blocklet Server and blocklets"},{name:"mutate_team",description:"Manage team data(members/roles/permissions) for Blocklet Server and blocklets"},{name:"query_blocklets",description:"View store and installed blocklets, including blocklet runtime configuration, domains and urls"},{name:"mutate_blocklets",description:"Perform state changing actions on blocklets, such as install/upgrade/config/start/stop/remove"},{name:"query_router",description:"View sites, URL mapping and certificates in service gateway"},{name:"mutate_router",description:"Manage sites, URL mapping and certificates in service gateway"},{name:"query_certificate",description:"View certificates in service gateway"},{name:"mutate_certificate",description:"Manage certificates in service gateway"},{name:"query_notification",description:"View notifications"},{name:"mutate_notification",description:"Manage notifications, such as mark notifications as read"},{name:"query_webhook",description:"View integrations"},{name:"mutate_webhook",description:"Manage integrations"},{name:"query_blocklet",description:"View a blocklet, including blocklet runtime configuration, domains and urls"},{name:"mutate_blocklet",description:"Perform state changing actions on a blocklet, such as upgrade/config/start/stop"}]),grants:Object.freeze({[SERVER_ROLES.GUEST]:["query_blocklets","query_router","query_webhook","query_notification","query_team","query_accessKey","query_node","query_session"],[SERVER_ROLES.MEMBER]:[SERVER_ROLES.GUEST,"mutate_blocklets","mutate_router","mutate_notification","mutate_session"],[SERVER_ROLES.ADMIN]:[SERVER_ROLES.MEMBER,"mutate_team","mutate_webhook","mutate_accessKey","mutate_node","mutate_certificate"],[SERVER_ROLES.OWNER]:[ROLES.ADMIN],[SERVER_ROLES.CI]:["query_blocklets","mutate_blocklets"],[SERVER_ROLES.CERTIFICATE]:["query_certificate","mutate_certificate"],[SERVER_ROLES.BLOCKLET_SDK]:["query_team","mutate_team","query_blocklet"],[SERVER_ROLES.BLOCKLET_OWNER]:[SERVER_ROLES.BLOCKLET_ADMIN],[SERVER_ROLES.BLOCKLET_ADMIN]:[SERVER_ROLES.BLOCKLET_MEMBER,"mutate_team","mutate_blocklet","mutate_notification"],[SERVER_ROLES.BLOCKLET_MEMBER]:["query_team","query_blocklet","query_notification"],[SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER]:["query_blocklets","mutate_blocklets"],[SERVER_ROLES.EXTERNAL_BLOCKLETS_MANAGER]:["query_blocklets","mutate_blocklets"]})},DAY_IN_MS=24*60*60*1e3,EVENTS$1={NOTIFICATION_CREATE:"notification.create",NOTIFICATION_BLOCKLET_CREATE:"notification.blockletCreate",ROUTING_UPDATED:"routing.updated",NODE_UPDATED:"node.updated",NODE_MAINTAIN_PROGRESS:"node.upgrade.progress",NODE_STARTED:"node.started",NODE_STOPPED:"node.stopped",NODE_ADDED_OWNER:"node.addedOwner",NODE_RUNTIME_INFO:"node.runtimeInfo",BLOCKLETS_RUNTIME_INFO:"node.blockletsRuntimeInfo",DOMAIN_STATUS:"domain.status",CERT_ADDED:"cert.added",CERT_ISSUED:"cert.issued",CERT_UPDATED:"cert.updated",CERT_REMOVED:"cert.removed",CERT_ERROR:"cert.error",RELOAD_GATEWAY:"gateway.reload",NOTIFICATION_CREATE_QUEUED:"notification.create.queued"},WHO_CAN_ACCESS=Object.freeze({OWNER:"owner",ADMIN:"admin",INVITED:"invited",ALL:"all"}),BLOCKLET_STORE_URL="https://store.blocklet.dev",BLOCKLET_STORE_URL_DEV="https://dev.store.blocklet.dev",MAIN_CHAIN_ENDPOINT="https://main.abtnetwork.io/api/",USER_TYPE=Object.freeze({DERIVED:"derived",WALLET:"wallet"}),BACKUPS={STATUS:{PROGRESS:null,SUCCEEDED:0,FAILED:1},TIMEOUT_HOURS:6,STRATEGY:{AUTO:0,MANUAL:1},JOB:{INTERVAL:2*60*60}},CHECK_UPDATE={STATUS:{PROGRESS:null,SUCCEEDED:0,FAILED:1},TIMEOUT_HOURS:6,STRATEGY:{AUTO:0,MANUAL:1},JOB:{INTERVAL:2*60*60}},MONITOR_RECORD_INTERVAL_SEC=10,MONITOR_HISTORY_LENGTH=86400/MONITOR_RECORD_INTERVAL_SEC,FEDERATED={SYNC_LIMIT:3},ROUTING_RESPONSE_TYPES=[{text:"Plain Text",value:"text/plain"},{text:"JSON",value:"application/json"},{text:"XML",value:"application/xml"},{text:"HTML Document",value:"text/html"},{text:"YAML",value:"application/x-yaml"},{text:"TOML",value:"application/toml"},{text:"CSS",value:"text/css"},{text:"JavaScript",value:"application/javascript"},{text:"CSV",value:"text/csv"},{text:"Markdown",value:"text/markdown"},{text:"SVG",value:"image/svg+xml"}],SERVERLESS_BLOCKLET_DATA_RETENTION_DAYS=30,LAUNCH_SESSION_STATUS=Object.freeze({created:0,selected:10,connected:20,timeout:25,paid:30,nftMinted:35,allocated:40,consuming:46,installed:50,overdue:60,canceled:65,terminated:70,transferred:90}),SECURITY_RULE_DEFAULT_ID="default",ACCESS_POLICY_PUBLIC="public",ACCESS_POLICY_INVITED_ONLY="invited-only",ACCESS_POLICY_OWNER_ONLY="owner-only",ACCESS_POLICY_ADMIN_ONLY="admin-only",RESPONSE_HEADER_POLICY_SIMPLE_CORS="simple-cors",RESPONSE_HEADER_POLICY_SECURITY_HEADER="security-header",RESPONSE_HEADER_POLICY_SIMPLE_CORS_AND_SECURITY_HEADER="simple-cors-and-security-header";var constant=Object.freeze({NODE_MODES:Object.freeze({PRODUCTION:"production",DEBUG:"debug",MAINTENANCE:"maintenance",SERVERLESS:"serverless"}),DEFAULT_DESCRIPTION:"Web Interface to manage your Blocklet Server",NODE_MAINTAIN_PROGRESS:Object.freeze({SETUP:"setup",INSTALLING:"installing",VERIFYING:"verifying",RESTARTING:"restarting",CLEANUP:"cleanup",COMPLETE:"complete",ROLLBACK:"rollback"}),VC_TYPE_BLOCKLET_PURCHASE:"BlockletPurchaseCredential",VC_TYPE_NODE_PASSPORT:"ABTNodePassport",VC_TYPE_GENERAL_PASSPORT:"NFTPassport",NFT_TYPE_SERVER_OWNERSHIP:"BlockletServerOwnershipNFT",NFT_TYPE_SERVERLESS:"BlockletServerServerlessNFT",NODE_PACKAGE_NAME:"@abtnode/cli",NODE_COMMAND_NAME:"abtnode",NODE_DATA_DIR_NAME:"_abtnode",USER_AVATAR_DIR:"/.assets/avatar",USER_AVATAR_URL_PREFIX:"bn://avatar",USER_AVATAR_PATH_PREFIX:"/user/avatar",USER_MAX_INVITE_DEPTH:8,PROCESS_NAME_DAEMON:"abt-node-daemon",PROCESS_NAME_PROXY:"abt-node-db-hub",PROCESS_NAME_UPDATER:"abt-node-updater",PROCESS_NAME_SERVICE:"abt-node-service",PROCESS_NAME_ROUTER:"abt-node-router",PROCESS_NAME_LOG_ROTATE:"abt-node-log-rotate",PROCESS_NAME_EVENT_HUB:"abt-node-event-hub",NODE_REGISTER_URL:"https://install.arcblock.io/",WEB_WALLET_URL:"https://web.abtwallet.io",BLOCKLET_STORE_URL,BLOCKLET_STORE_URL_DEV,BLOCKLET_STORE_DID:"z8ia29UsENBg6tLZUKi2HABj38Cw1LmHZocbQ",BLOCKLET_STORE_API_PREFIX:"/api",BLOCKLET_STORE_API_BLOCKLET_PREFIX:"/api/blocklets",BLOCKLET_STORE_META_PATH:"/api/store.json",BLOCKLET_STORE:{id:"zNKqX7D8ZAYa77HgzpoFfnV3BFbcmSRrE9aT",name:"Official Store",description:"ArcBlock official blocklet registry",url:BLOCKLET_STORE_URL,logoUrl:"/logo.png",maintainer:"arcblock"},BLOCKLET_STORE_DEV:{id:"zNKmfUatDhzfMVACfr3u97eqndj8f1yXXw3m",name:"Dev Store",description:"ArcBlock dev registry that contains demo and example blocklets",url:BLOCKLET_STORE_URL_DEV,maintainer:"arcblock",logoUrl:"/logo.png"},APP_STRUCT_VERSION:"2",DEFAULT_DID_REGISTRY:"https://registry.abtnet.io",DEFAULT_SLP_DOMAIN:"slp.abtnet.io",DEFAULT_DID_DOMAIN:"did.abtnet.io",DEFAULT_IP_DOMAIN:"*.ip.abtnet.io",DEFAULT_IP_DOMAIN_SUFFIX:"ip.abtnet.io",DEFAULT_WILDCARD_CERT_HOST:"https://releases.arcblock.io/",DEFAULT_NFT_DOMAIN_URL:"https://domain.didlabs.org/",DEFAULT_CERTIFICATE_EMAIL:"certs@arcblock.io",CONFIG_FILENAME:"config.yml",CONFIG_FILENAME_OLD:"abtnode.yml",CONFIG_FOLDER_NAME:".blocklet-server",CONFIG_FOLDER_NAME_OLD:".abtnode",EXPORTED_FOLDER_NAME:"exported_blocklet_server",StatusCode:Object.freeze({ok:0,blocklet_not_found:1,blocklet_not_purchased:2,forbidden:403,internal:500,timeout:504}),IP:new RegExp("-(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\-(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}"),DOMAIN_FOR_IP_SITE:"",DOMAIN_FOR_IP_SITE_REGEXP:"~^\\d+.\\d+.\\d+.\\d+$",DOMAIN_FOR_DEFAULT_SITE:"*",DOMAIN_FOR_INTERNAL_SITE:"127.0.0.1",NAME_FOR_WELLKNOWN_SITE:"wellknown",WELLKNOWN_PATH_PREFIX:"/.well-known",WELLKNOWN_ACME_CHALLENGE_PREFIX:"/.well-known/acme-challenge",WELLKNOWN_DID_RESOLVER_PREFIX:"/.well-known/did.json",WELLKNOWN_BLACKLIST_PREFIX:"/.well-known/blacklist",WELLKNOWN_PING_PREFIX:"/.well-known/ping",WELLKNOWN_ANALYTICS_PREFIX:"/.well-known/analytics",WELLKNOWN_SERVICE_PATH_PREFIX:"/.well-known/service",WELLKNOWN_BLOCKLET_ADMIN_PATH:"/.well-known/service/admin",WELLKNOWN_BLOCKLET_HEALTH_PATH:"/.well-known/service/health",WELLKNOWN_BLOCKLET_LOGO_PATH:"/.well-known/service/blocklet/logo",SLOT_FOR_IP_DNS_SITE:"888-888-888-888",DEFAULT_ADMIN_PATH:"/admin",WELLKNOWN_SERVER_ADMIN_PATH:"/.well-known/server/admin",DEFAULT_SERVICE_PATH:"/.abtnode/service",DEFAULT_HTTP_PORT:80,DEFAULT_HTTPS_PORT:443,MAX_UPLOAD_FILE_SIZE:500,DEFAULT_DAEMON_PORT:8089,MAX_NGINX_WORKER_CONNECTIONS:10240,BLOCKLET_PROXY_PATH_PREFIX:"/.blocklet/proxy",BLOCKLET_SITE_GROUP_SUFFIX:".blocklet-domain-group",DAY_IN_MS,DAEMON_MAX_MEM_LIMIT_IN_MB:800,PROXY_MAX_MEM_LIMIT_IN_MB:800,BLOCKLET_MAX_MEM_LIMIT_IN_MB:800,CERTIFICATE_EXPIRES_OFFSET:10*DAY_IN_MS,ROUTING_RESPONSE_TYPES,ROUTING_RULE_TYPES:Object.freeze({NONE:"none",DAEMON:"daemon",SERVICE:"service",BLOCKLET:"blocklet",REDIRECT:"redirect",GENERAL_REWRITE:"rewrite",GENERAL_PROXY:"general_proxy",DIRECT_RESPONSE:"direct_response",COMPONENT:"component"}),ROLES,SERVER_ROLES,BLOCKLET_ROLES,isBlockletRole,isBlockletMultipleTenantRole,AUTH_CERT_TYPE,RBAC_CONFIG,genPermissionName:(_,C="access")=>`${C}_${_.replace("_","-")}`,PASSPORT_STATUS:{VALID:"valid",REVOKED:"revoked"},NODE_SERVICES,DISK_ALERT_THRESHOLD_PERCENT:80,EVENTS:EVENTS$1,WHO_CAN_ACCESS,WHO_CAN_ACCESS_PREFIX_ROLES:"roles:",GATEWAY_REQ_LIMIT:Object.freeze({min:10,max:100}),STORE_DETAIL_PAGE_PATH_PREFIX:"/blocklets",MAX_USER_PAGE_SIZE:100,MAX_PAGE_SIZE:100,SERVER_STATUS:{RUNNING:1,STOPPED:2,START_FROM_CRASH:3},LOG_RETAIN_IN_DAYS:60,BLOCKLET_INSTALL_TYPE:{STORE:"store",URL:"url",DEV:"dev",CREATE:"create",RESTORE:"restore"},ROUTER_CACHE_GROUPS:{blockletProxy:{minSize:"1m",maxSize:"2g",period:"30d"}},MAIN_CHAIN_ENDPOINT,USER_TYPE,SERVER_CACHE_TTL:300*1e3,BLOCKLET_CACHE_TTL:3600*1e3,SESSION_CACHE_TTL:3600,SESSION_TTL:7*86400,BACKUPS,CHECK_UPDATE,MONITOR_HISTORY_LENGTH,MONITOR_RECORD_INTERVAL_SEC,INSTALL_ACTIONS:{INSTALL:"install",INSTALL_COMPONENT:"installComponent",UPGRADE_COMPONENT:"upgradeComponent"},COPYRIGHT_OWNER:"ArcBlock",FEDERATED,SESSION_TOKEN_STORAGE_KEY:"login_token",REFRESH_TOKEN_STORAGE_KEY:"refresh_token",SERVERLESS_BLOCKLET_DATA_RETENTION_DAYS,LAUNCH_SESSION_STATUS,UNOWNED_DID:"z".repeat(35),STUDIO_CONNECTED_STORE:"studio_connected_store",STUDIO_CONNECTED_AND_DEVELOPED:"studio_connected_and_developed",VERIFY_CODE_LENGTH:6,VERIFY_CODE_TTL:30*60*1e3,VERIFY_SEND_TTL:1*60*1e3,SECURITY_RULE_DEFAULT_ID,ACCESS_POLICY_PUBLIC,ACCESS_POLICY_INVITED_ONLY,ACCESS_POLICY_OWNER_ONLY,ACCESS_POLICY_ADMIN_ONLY,RESPONSE_HEADER_POLICY_SIMPLE_CORS,RESPONSE_HEADER_POLICY_SECURITY_HEADER,RESPONSE_HEADER_POLICY_SIMPLE_CORS_AND_SECURITY_HEADER,MFA_PROTECTED_METHODS:["deleteBlocklet","deleteComponent","rotateSessionKey","upgradeNodeVersion","removeUser","updateUserApproval"],STUDIO_ALLOWED_METHODS:{getBlocklet:!0,createProject:!0,getProjects:!0,getProject:!0,updateProject:!0,deleteProject:!0,getReleases:!0,getRelease:!0,createRelease:!0,deleteRelease:!0,addBlockletStore:!0,deleteBlockletStore:!0,publishToStore:!0,connectToStore:!0,connectByStudio:!0,disconnectFromStore:!0,getSelectedResources:!0,updateSelectedResources:!0,getBlockletRuntimeHistory:!0,checkDomains:!0},SKIP_ACCESS_VERIFY_METHODS:{makeAllNotificationsAsRead:!0,readNotifications:!0,unreadNotifications:!0},NOTIFICATION_SEND_STATUS:{PENDING:0,SENT:1,FAILED:2},NOTIFICATION_SEND_FAILED_REASON:{USER_DISABLED:"user_disabled",CHANNEL_UNAVAILABLE:"channel_unavailable",CHANNEL_DISABLED:"channel_disabled",NOT_ONLINE:"not_online"},NOTIFICATION_SEND_CHANNEL:{WALLET:"app",EMAIL:"email",PUSH:"push",WEBHOOK:"webhook"},BLACKLIST_SCOPE:{ROUTER:"router"}});function _interopDefault(_){return _&&typeof _=="object"&&"default"in _?_.default:_}var React=reactExports,React__default=_interopDefault(React);function _defineProperty$g(_,C,T){return C in _?Object.defineProperty(_,C,{value:T,enumerable:!0,configurable:!0,writable:!0}):_[C]=T,_}function _inheritsLoose$2(_,C){_.prototype=Object.create(C.prototype),_.prototype.constructor=_,_.__proto__=C}var canUseDOM=!!(typeof window<"u"&&window.document&&window.document.createElement);function withSideEffect(_,C,T){if(typeof _!="function")throw new Error("Expected reducePropsToState to be a function.");if(typeof C!="function")throw new Error("Expected handleStateChangeOnClient to be a function.");if(typeof T<"u"&&typeof T!="function")throw new Error("Expected mapStateOnServer to either be undefined or a function.");function I(M){return M.displayName||M.name||"Component"}return function(D){if(typeof D!="function")throw new Error("Expected WrappedComponent to be a React component.");var B=[],L;function N(){L=_(B.map(function(F){return F.props})),V.canUseDOM?C(L):T&&(L=T(L))}var V=function(F){_inheritsLoose$2(U,F);function U(){return F.apply(this,arguments)||this}U.peek=function(){return L},U.rewind=function(){if(U.canUseDOM)throw new Error("You may only call rewind() on the server. Call peek() to read the current state.");var Y=L;return L=void 0,B=[],Y};var H=U.prototype;return H.UNSAFE_componentWillMount=function(){B.push(this),N()},H.componentDidUpdate=function(){N()},H.componentWillUnmount=function(){var Y=B.indexOf(this);B.splice(Y,1),N()},H.render=function(){return React__default.createElement(D,this.props)},U}(React.PureComponent);return _defineProperty$g(V,"displayName","SideEffect("+I(D)+")"),_defineProperty$g(V,"canUseDOM",canUseDOM),V}}var lib$8=withSideEffect;const withSideEffect$1=getDefaultExportFromCjs(lib$8);/*
|
|
9
|
+
`;var relativeTime$1={exports:{}};(function(_,C){(function(T,I){_.exports=I()})(commonjsGlobal,function(){return function(T,I,M){T=T||{};var D=I.prototype,B={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function L(V,F,U,H){return D.fromToBase(V,F,U,H)}M.en.relativeTime=B,D.fromToBase=function(V,F,U,H,G){for(var Y,Z,Q,X=U.$locale().relativeTime||B,oe=T.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],ae=oe.length,le=0;le<ae;le+=1){var pe=oe[le];pe.d&&(Y=H?M(V).diff(U,pe.d,!0):U.diff(V,pe.d,!0));var me=(T.rounding||Math.round)(Math.abs(Y));if(Q=Y>0,me<=pe.r||!pe.r){me<=1&&le>0&&(pe=oe[le-1]);var ve=X[pe.l];G&&(me=G(""+me)),Z=typeof ve=="string"?ve.replace("%d",me):ve(me,F,pe.l,Q);break}}if(F)return Z;var _e=Q?X.future:X.past;return typeof _e=="function"?_e(Z):_e.replace("%s",Z)},D.to=function(V,F){return L(V,F,this,!0)},D.from=function(V,F){return L(V,F,this)};var N=function(V){return V.$u?M.utc():M()};D.toNow=function(V){return this.to(N(this),V)},D.fromNow=function(V){return this.from(N(this),V)}}})})(relativeTime$1);var relativeTimeExports=relativeTime$1.exports;const relativeTime=getDefaultExportFromCjs(relativeTimeExports);var localizedFormat={exports:{}};(function(_,C){(function(T,I){_.exports=I()})(commonjsGlobal,function(){var T={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(I,M,D){var B=M.prototype,L=B.format;D.en.formats=T,B.format=function(N){N===void 0&&(N="YYYY-MM-DDTHH:mm:ssZ");var V=this.$locale().formats,F=function(U,H){return U.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(G,Y,Z){var Q=Z&&Z.toUpperCase();return Y||H[Z]||T[Z]||H[Q].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(X,oe,ae){return oe||ae.slice(1)})})}(N,V===void 0?{}:V);return L.call(this,F)}}})})(localizedFormat);var localizedFormatExports=localizedFormat.exports;const localizedFormatPlugin=getDefaultExportFromCjs(localizedFormatExports);var utc$1={exports:{}};(function(_,C){(function(T,I){_.exports=I()})(commonjsGlobal,function(){var T="minute",I=/[+-]\d\d(?::?\d\d)?/g,M=/([+-]|\d\d)/g;return function(D,B,L){var N=B.prototype;L.utc=function(Z){var Q={date:Z,utc:!0,args:arguments};return new B(Q)},N.utc=function(Z){var Q=L(this.toDate(),{locale:this.$L,utc:!0});return Z?Q.add(this.utcOffset(),T):Q},N.local=function(){return L(this.toDate(),{locale:this.$L,utc:!1})};var V=N.parse;N.parse=function(Z){Z.utc&&(this.$u=!0),this.$utils().u(Z.$offset)||(this.$offset=Z.$offset),V.call(this,Z)};var F=N.init;N.init=function(){if(this.$u){var Z=this.$d;this.$y=Z.getUTCFullYear(),this.$M=Z.getUTCMonth(),this.$D=Z.getUTCDate(),this.$W=Z.getUTCDay(),this.$H=Z.getUTCHours(),this.$m=Z.getUTCMinutes(),this.$s=Z.getUTCSeconds(),this.$ms=Z.getUTCMilliseconds()}else F.call(this)};var U=N.utcOffset;N.utcOffset=function(Z,Q){var X=this.$utils().u;if(X(Z))return this.$u?0:X(this.$offset)?U.call(this):this.$offset;if(typeof Z=="string"&&(Z=function(pe){pe===void 0&&(pe="");var me=pe.match(I);if(!me)return null;var ve=(""+me[0]).match(M)||["-",0,0],_e=ve[0],Re=60*+ve[1]+ +ve[2];return Re===0?0:_e==="+"?Re:-Re}(Z),Z===null))return this;var oe=Math.abs(Z)<=16?60*Z:Z,ae=this;if(Q)return ae.$offset=oe,ae.$u=Z===0,ae;if(Z!==0){var le=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(ae=this.local().add(oe+le,T)).$offset=oe,ae.$x.$localOffset=le}else ae=this.utc();return ae};var H=N.format;N.format=function(Z){var Q=Z||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return H.call(this,Q)},N.valueOf=function(){var Z=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*Z},N.isUTC=function(){return!!this.$u},N.toISOString=function(){return this.toDate().toISOString()},N.toString=function(){return this.toDate().toUTCString()};var G=N.toDate;N.toDate=function(Z){return Z==="s"&&this.$offset?L(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():G.call(this)};var Y=N.diff;N.diff=function(Z,Q,X){if(Z&&this.$u===Z.$u)return Y.call(this,Z,Q,X);var oe=this.local(),ae=L(Z).local();return Y.call(oe,ae,Q,X)}}})})(utc$1);var utcExports=utc$1.exports;const utc=getDefaultExportFromCjs(utcExports);var timezone$1={exports:{}};(function(_,C){(function(T,I){_.exports=I()})(commonjsGlobal,function(){var T={year:0,month:1,day:2,hour:3,minute:4,second:5},I={};return function(M,D,B){var L,N=function(H,G,Y){Y===void 0&&(Y={});var Z=new Date(H),Q=function(X,oe){oe===void 0&&(oe={});var ae=oe.timeZoneName||"short",le=X+"|"+ae,pe=I[le];return pe||(pe=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:X,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:ae}),I[le]=pe),pe}(G,Y);return Q.formatToParts(Z)},V=function(H,G){for(var Y=N(H,G),Z=[],Q=0;Q<Y.length;Q+=1){var X=Y[Q],oe=X.type,ae=X.value,le=T[oe];le>=0&&(Z[le]=parseInt(ae,10))}var pe=Z[3],me=pe===24?0:pe,ve=Z[0]+"-"+Z[1]+"-"+Z[2]+" "+me+":"+Z[4]+":"+Z[5]+":000",_e=+H;return(B.utc(ve).valueOf()-(_e-=_e%1e3))/6e4},F=D.prototype;F.tz=function(H,G){H===void 0&&(H=L);var Y,Z=this.utcOffset(),Q=this.toDate(),X=Q.toLocaleString("en-US",{timeZone:H}),oe=Math.round((Q-new Date(X))/1e3/60),ae=15*-Math.round(Q.getTimezoneOffset()/15)-oe;if(!Number(ae))Y=this.utcOffset(0,G);else if(Y=B(X,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(ae,!0),G){var le=Y.utcOffset();Y=Y.add(Z-le,"minute")}return Y.$x.$timezone=H,Y},F.offsetName=function(H){var G=this.$x.$timezone||B.tz.guess(),Y=N(this.valueOf(),G,{timeZoneName:H}).find(function(Z){return Z.type.toLowerCase()==="timezonename"});return Y&&Y.value};var U=F.startOf;F.startOf=function(H,G){if(!this.$x||!this.$x.$timezone)return U.call(this,H,G);var Y=B(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return U.call(Y,H,G).tz(this.$x.$timezone,!0)},B.tz=function(H,G,Y){var Z=Y&&G,Q=Y||G||L,X=V(+B(),Q);if(typeof H!="string")return B(H).tz(Q);var oe=function(me,ve,_e){var Re=me-60*ve*1e3,Ve=V(Re,_e);if(ve===Ve)return[Re,ve];var Ne=V(Re-=60*(Ve-ve)*1e3,_e);return Ve===Ne?[Re,Ve]:[me-60*Math.min(Ve,Ne)*1e3,Math.max(Ve,Ne)]}(B.utc(H,Z).valueOf(),X,Q),ae=oe[0],le=oe[1],pe=B(ae).utcOffset(le);return pe.$x.$timezone=Q,pe},B.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},B.tz.setDefault=function(H){L=H}}})})(timezone$1);var timezoneExports=timezone$1.exports;const timezone=getDefaultExportFromCjs(timezoneExports),NODE_SERVICES=Object.freeze({AUTH:"auth"}),ROLES=Object.freeze({OWNER:"owner",ADMIN:"admin",MEMBER:"member",GUEST:"guest"}),SERVER_ROLES=Object.freeze({...ROLES,CI:"ci",CERTIFICATE:"certificate",BLOCKLET_OWNER:"blocklet-owner",BLOCKLET_ADMIN:"blocklet-admin",BLOCKLET_MEMBER:"blocklet-member",BLOCKLET_SDK:"blocklet-sdk",EXTERNAL_BLOCKLET_CONTROLLER:"external-blocklet-controller",EXTERNAL_BLOCKLETS_MANAGER:"external-blocklets-manager"}),SERVICES_ROLES=Object.freeze({BLOCKLET_GUEST:"blocklet-guest"}),BLOCKLET_ROLES=[SERVER_ROLES.BLOCKLET_OWNER,SERVER_ROLES.BLOCKLET_ADMIN,SERVER_ROLES.BLOCKLET_MEMBER,SERVER_ROLES.BLOCKLET_SDK],isBlockletRole=_=>_&&BLOCKLET_ROLES.includes(_),BLOCKLET_MULTIPLE_TENANT_ROLES=[SERVER_ROLES.BLOCKLET_OWNER,SERVER_ROLES.BLOCKLET_ADMIN,SERVER_ROLES.BLOCKLET_MEMBER,SERVER_ROLES.BLOCKLET_SDK,SERVICES_ROLES.BLOCKLET_GUEST],isBlockletMultipleTenantRole=_=>_&&BLOCKLET_MULTIPLE_TENANT_ROLES.includes(_),AUTH_CERT_TYPE={USER:"user",OWNERSHIP_NFT:"ownership_nft",BLOCKLET_USER:"blocklet_user",BLOCKLET_CONTROLLER:"blocklet_controller"},RBAC_CONFIG={roles:Object.freeze([{name:SERVER_ROLES.OWNER,title:"Owner",description:"Has full administrative access to the Blocklet Server",passport:!0},{name:SERVER_ROLES.ADMIN,title:"Admin",description:"Has full permissions to manage blocklet and Blocklet Server such as install/remove/start/stop blocklet, manage blocklet URL mapping and certificates, manage blocklet team, manage node integrations and access keys, upgrade node to a new version",passport:!0},{name:SERVER_ROLES.MEMBER,title:"Member",description:"Has permissions to manage blocklets, such as install/remove/start/stop blocklet, manage blocklet URL mapping and certificates",passport:!0},{name:SERVER_ROLES.GUEST,title:"Guest",description:"Has all read permissions on Blocklet Server",passport:!0},{name:SERVER_ROLES.CI,title:"CI",description:"Deploy blocklet to Blocklet Server",passport:!0,noHuman:!0},{name:SERVER_ROLES.CERTIFICATE,title:"Certificate",description:"Manage https certificates for blocklets on the Blocklet Server",passport:!0,noHuman:!0},{name:SERVER_ROLES.BLOCKLET_OWNER,title:"Blocklet Owner"},{name:SERVER_ROLES.BLOCKLET_ADMIN,title:"Blocklet Admin"},{name:SERVER_ROLES.BLOCKLET_MEMBER,title:"Blocklet Member"},{name:SERVER_ROLES.BLOCKLET_SDK,title:"Blocklet SDK"},{name:SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER,title:"External Blocklet Controller"},{name:SERVER_ROLES.EXTERNAL_BLOCKLETS_MANAGER,title:"External Blocklets Manager",description:"Manage external blocklets in the Blocklet Server",passport:!0,noHuman:!0}]),permissions:Object.freeze([{name:"query_node",description:"View node data, include dashboard and node settings, log stream for both Blocklet Server and blocklets"},{name:"mutate_node",description:"Change node settings, upgrade node to a new version"},{name:"query_session",description:"Get data from a long running session"},{name:"mutate_session",description:"Start/update/end a long running session"},{name:"query_accessKey",description:"View access keys for Blocklet Server"},{name:"mutate_accessKey",description:"Manage access keys for Blocklet Server, such as create/update/delete"},{name:"query_team",description:"View team data(members/roles/permissions) for Blocklet Server and blocklets"},{name:"mutate_team",description:"Manage team data(members/roles/permissions) for Blocklet Server and blocklets"},{name:"query_blocklets",description:"View store and installed blocklets, including blocklet runtime configuration, domains and urls"},{name:"mutate_blocklets",description:"Perform state changing actions on blocklets, such as install/upgrade/config/start/stop/remove"},{name:"query_router",description:"View sites, URL mapping and certificates in service gateway"},{name:"mutate_router",description:"Manage sites, URL mapping and certificates in service gateway"},{name:"query_certificate",description:"View certificates in service gateway"},{name:"mutate_certificate",description:"Manage certificates in service gateway"},{name:"query_notification",description:"View notifications"},{name:"mutate_notification",description:"Manage notifications, such as mark notifications as read"},{name:"query_webhook",description:"View integrations"},{name:"mutate_webhook",description:"Manage integrations"},{name:"query_blocklet",description:"View a blocklet, including blocklet runtime configuration, domains and urls"},{name:"mutate_blocklet",description:"Perform state changing actions on a blocklet, such as upgrade/config/start/stop"}]),grants:Object.freeze({[SERVER_ROLES.GUEST]:["query_blocklets","query_router","query_webhook","query_notification","query_team","query_accessKey","query_node","query_session"],[SERVER_ROLES.MEMBER]:[SERVER_ROLES.GUEST,"mutate_blocklets","mutate_router","mutate_notification","mutate_session"],[SERVER_ROLES.ADMIN]:[SERVER_ROLES.MEMBER,"mutate_team","mutate_webhook","mutate_accessKey","mutate_node","mutate_certificate"],[SERVER_ROLES.OWNER]:[ROLES.ADMIN],[SERVER_ROLES.CI]:["query_blocklets","mutate_blocklets"],[SERVER_ROLES.CERTIFICATE]:["query_certificate","mutate_certificate"],[SERVER_ROLES.BLOCKLET_SDK]:["query_team","mutate_team","query_blocklet"],[SERVER_ROLES.BLOCKLET_OWNER]:[SERVER_ROLES.BLOCKLET_ADMIN],[SERVER_ROLES.BLOCKLET_ADMIN]:[SERVER_ROLES.BLOCKLET_MEMBER,"mutate_team","mutate_blocklet","mutate_notification"],[SERVER_ROLES.BLOCKLET_MEMBER]:["query_team","query_blocklet","query_notification"],[SERVER_ROLES.EXTERNAL_BLOCKLET_CONTROLLER]:["query_blocklets","mutate_blocklets"],[SERVER_ROLES.EXTERNAL_BLOCKLETS_MANAGER]:["query_blocklets","mutate_blocklets"]})},DAY_IN_MS=24*60*60*1e3,EVENTS$1={NOTIFICATION_CREATE:"notification.create",NOTIFICATION_BLOCKLET_CREATE:"notification.blockletCreate",ROUTING_UPDATED:"routing.updated",NODE_UPDATED:"node.updated",NODE_MAINTAIN_PROGRESS:"node.upgrade.progress",NODE_STARTED:"node.started",NODE_STOPPED:"node.stopped",NODE_ADDED_OWNER:"node.addedOwner",NODE_RUNTIME_INFO:"node.runtimeInfo",BLOCKLETS_RUNTIME_INFO:"node.blockletsRuntimeInfo",DOMAIN_STATUS:"domain.status",CERT_ADDED:"cert.added",CERT_ISSUED:"cert.issued",CERT_UPDATED:"cert.updated",CERT_REMOVED:"cert.removed",CERT_ERROR:"cert.error",RELOAD_GATEWAY:"gateway.reload",NOTIFICATION_CREATE_QUEUED:"notification.create.queued"},WHO_CAN_ACCESS=Object.freeze({OWNER:"owner",ADMIN:"admin",INVITED:"invited",ALL:"all"}),BLOCKLET_STORE_URL="https://store.blocklet.dev",BLOCKLET_STORE_URL_DEV="https://dev.store.blocklet.dev",MAIN_CHAIN_ENDPOINT="https://main.abtnetwork.io/api/",USER_TYPE=Object.freeze({DERIVED:"derived",WALLET:"wallet"}),BACKUPS={STATUS:{PROGRESS:null,SUCCEEDED:0,FAILED:1},TIMEOUT_HOURS:6,STRATEGY:{AUTO:0,MANUAL:1},JOB:{INTERVAL:2*60*60}},CHECK_UPDATE={STATUS:{PROGRESS:null,SUCCEEDED:0,FAILED:1},TIMEOUT_HOURS:6,STRATEGY:{AUTO:0,MANUAL:1},JOB:{INTERVAL:2*60*60}},MONITOR_RECORD_INTERVAL_SEC=10,MONITOR_HISTORY_LENGTH=86400/MONITOR_RECORD_INTERVAL_SEC,FEDERATED={SYNC_LIMIT:3},ROUTING_RESPONSE_TYPES=[{text:"Plain Text",value:"text/plain"},{text:"JSON",value:"application/json"},{text:"XML",value:"application/xml"},{text:"HTML Document",value:"text/html"},{text:"YAML",value:"application/x-yaml"},{text:"TOML",value:"application/toml"},{text:"CSS",value:"text/css"},{text:"JavaScript",value:"application/javascript"},{text:"CSV",value:"text/csv"},{text:"Markdown",value:"text/markdown"},{text:"SVG",value:"image/svg+xml"}],SERVERLESS_BLOCKLET_DATA_RETENTION_DAYS=30,LAUNCH_SESSION_STATUS=Object.freeze({created:0,selected:10,connected:20,timeout:25,paid:30,nftMinted:35,allocated:40,consuming:46,installed:50,overdue:60,canceled:65,terminated:70,transferred:90}),SECURITY_RULE_DEFAULT_ID="default",ACCESS_POLICY_PUBLIC="public",ACCESS_POLICY_INVITED_ONLY="invited-only",ACCESS_POLICY_OWNER_ONLY="owner-only",ACCESS_POLICY_ADMIN_ONLY="admin-only",RESPONSE_HEADER_POLICY_SIMPLE_CORS="simple-cors",RESPONSE_HEADER_POLICY_SECURITY_HEADER="security-header",RESPONSE_HEADER_POLICY_SIMPLE_CORS_AND_SECURITY_HEADER="simple-cors-and-security-header";var constant=Object.freeze({NODE_MODES:Object.freeze({PRODUCTION:"production",DEBUG:"debug",MAINTENANCE:"maintenance",SERVERLESS:"serverless"}),DEFAULT_DESCRIPTION:"Web Interface to manage your Blocklet Server",NODE_MAINTAIN_PROGRESS:Object.freeze({SETUP:"setup",INSTALLING:"installing",VERIFYING:"verifying",RESTARTING:"restarting",CLEANUP:"cleanup",COMPLETE:"complete",ROLLBACK:"rollback"}),VC_TYPE_BLOCKLET_PURCHASE:"BlockletPurchaseCredential",VC_TYPE_NODE_PASSPORT:"ABTNodePassport",VC_TYPE_GENERAL_PASSPORT:"NFTPassport",NFT_TYPE_SERVER_OWNERSHIP:"BlockletServerOwnershipNFT",NFT_TYPE_SERVERLESS:"BlockletServerServerlessNFT",NODE_PACKAGE_NAME:"@abtnode/cli",NODE_COMMAND_NAME:"abtnode",NODE_DATA_DIR_NAME:"_abtnode",USER_AVATAR_DIR:"/.assets/avatar",USER_AVATAR_URL_PREFIX:"bn://avatar",USER_AVATAR_PATH_PREFIX:"/user/avatar",USER_MAX_INVITE_DEPTH:8,PROCESS_NAME_DAEMON:"abt-node-daemon",PROCESS_NAME_PROXY:"abt-node-db-hub",PROCESS_NAME_UPDATER:"abt-node-updater",PROCESS_NAME_SERVICE:"abt-node-service",PROCESS_NAME_ROUTER:"abt-node-router",PROCESS_NAME_LOG_ROTATE:"abt-node-log-rotate",PROCESS_NAME_EVENT_HUB:"abt-node-event-hub",NODE_REGISTER_URL:"https://install.arcblock.io/",WEB_WALLET_URL:"https://web.abtwallet.io",BLOCKLET_STORE_URL,BLOCKLET_STORE_URL_DEV,BLOCKLET_STORE_DID:"z8ia29UsENBg6tLZUKi2HABj38Cw1LmHZocbQ",BLOCKLET_STORE_API_PREFIX:"/api",BLOCKLET_STORE_API_BLOCKLET_PREFIX:"/api/blocklets",BLOCKLET_STORE_META_PATH:"/api/store.json",BLOCKLET_STORE:{id:"zNKqX7D8ZAYa77HgzpoFfnV3BFbcmSRrE9aT",name:"Official Store",description:"ArcBlock official blocklet registry",url:BLOCKLET_STORE_URL,logoUrl:"/logo.png",maintainer:"arcblock"},BLOCKLET_STORE_DEV:{id:"zNKmfUatDhzfMVACfr3u97eqndj8f1yXXw3m",name:"Dev Store",description:"ArcBlock dev registry that contains demo and example blocklets",url:BLOCKLET_STORE_URL_DEV,maintainer:"arcblock",logoUrl:"/logo.png"},APP_STRUCT_VERSION:"2",DEFAULT_DID_REGISTRY:"https://registry.abtnet.io",DEFAULT_SLP_DOMAIN:"slp.abtnet.io",DEFAULT_DID_DOMAIN:"did.abtnet.io",DEFAULT_IP_DOMAIN:"*.ip.abtnet.io",DEFAULT_IP_DOMAIN_SUFFIX:"ip.abtnet.io",DEFAULT_WILDCARD_CERT_HOST:"https://releases.arcblock.io/",DEFAULT_NFT_DOMAIN_URL:"https://domain.didlabs.org/",DEFAULT_CERTIFICATE_EMAIL:"certs@arcblock.io",CONFIG_FILENAME:"config.yml",CONFIG_FILENAME_OLD:"abtnode.yml",CONFIG_FOLDER_NAME:".blocklet-server",CONFIG_FOLDER_NAME_OLD:".abtnode",EXPORTED_FOLDER_NAME:"exported_blocklet_server",StatusCode:Object.freeze({ok:0,blocklet_not_found:1,blocklet_not_purchased:2,forbidden:403,internal:500,timeout:504}),IP:new RegExp("-(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\-(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}"),DOMAIN_FOR_IP_SITE:"",DOMAIN_FOR_IP_SITE_REGEXP:"~^\\d+.\\d+.\\d+.\\d+$",DOMAIN_FOR_DEFAULT_SITE:"*",DOMAIN_FOR_INTERNAL_SITE:"127.0.0.1",NAME_FOR_WELLKNOWN_SITE:"wellknown",WELLKNOWN_PATH_PREFIX:"/.well-known",WELLKNOWN_ACME_CHALLENGE_PREFIX:"/.well-known/acme-challenge",WELLKNOWN_DID_RESOLVER_PREFIX:"/.well-known/did.json",WELLKNOWN_BLACKLIST_PREFIX:"/.well-known/blacklist",WELLKNOWN_PING_PREFIX:"/.well-known/ping",WELLKNOWN_ANALYTICS_PREFIX:"/.well-known/analytics",WELLKNOWN_SERVICE_PATH_PREFIX:"/.well-known/service",WELLKNOWN_BLOCKLET_ADMIN_PATH:"/.well-known/service/admin",WELLKNOWN_BLOCKLET_HEALTH_PATH:"/.well-known/service/health",WELLKNOWN_BLOCKLET_LOGO_PATH:"/.well-known/service/blocklet/logo",SLOT_FOR_IP_DNS_SITE:"888-888-888-888",DEFAULT_ADMIN_PATH:"/admin",WELLKNOWN_SERVER_ADMIN_PATH:"/.well-known/server/admin",DEFAULT_SERVICE_PATH:"/.abtnode/service",DEFAULT_HTTP_PORT:80,DEFAULT_HTTPS_PORT:443,MAX_UPLOAD_FILE_SIZE:500,DEFAULT_DAEMON_PORT:8089,MAX_NGINX_WORKER_CONNECTIONS:10240,BLOCKLET_PROXY_PATH_PREFIX:"/.blocklet/proxy",BLOCKLET_SITE_GROUP_SUFFIX:".blocklet-domain-group",DAY_IN_MS,DAEMON_MAX_MEM_LIMIT_IN_MB:800,PROXY_MAX_MEM_LIMIT_IN_MB:800,BLOCKLET_MAX_MEM_LIMIT_IN_MB:800,CERTIFICATE_EXPIRES_OFFSET:10*DAY_IN_MS,ROUTING_RESPONSE_TYPES,ROUTING_RULE_TYPES:Object.freeze({NONE:"none",DAEMON:"daemon",SERVICE:"service",BLOCKLET:"blocklet",REDIRECT:"redirect",GENERAL_REWRITE:"rewrite",GENERAL_PROXY:"general_proxy",DIRECT_RESPONSE:"direct_response",COMPONENT:"component"}),ROLES,SERVER_ROLES,BLOCKLET_ROLES,isBlockletRole,isBlockletMultipleTenantRole,AUTH_CERT_TYPE,RBAC_CONFIG,genPermissionName:(_,C="access")=>`${C}_${_.replace("_","-")}`,PASSPORT_STATUS:{VALID:"valid",REVOKED:"revoked"},NODE_SERVICES,DISK_ALERT_THRESHOLD_PERCENT:80,EVENTS:EVENTS$1,WHO_CAN_ACCESS,WHO_CAN_ACCESS_PREFIX_ROLES:"roles:",GATEWAY_REQ_LIMIT:Object.freeze({min:10,max:100}),STORE_DETAIL_PAGE_PATH_PREFIX:"/blocklets",MAX_USER_PAGE_SIZE:100,MAX_PAGE_SIZE:100,SERVER_STATUS:{RUNNING:1,STOPPED:2,START_FROM_CRASH:3},LOG_RETAIN_IN_DAYS:60,BLOCKLET_INSTALL_TYPE:{STORE:"store",URL:"url",DEV:"dev",CREATE:"create",RESTORE:"restore"},ROUTER_CACHE_GROUPS:{blockletProxy:{minSize:"1m",maxSize:"2g",period:"30d"}},MAIN_CHAIN_ENDPOINT,USER_TYPE,SERVER_CACHE_TTL:300*1e3,BLOCKLET_CACHE_TTL:3600*1e3,SESSION_CACHE_TTL:3600,SESSION_TTL:7*86400,BACKUPS,CHECK_UPDATE,MONITOR_HISTORY_LENGTH,MONITOR_RECORD_INTERVAL_SEC,INSTALL_ACTIONS:{INSTALL:"install",INSTALL_COMPONENT:"installComponent",UPGRADE_COMPONENT:"upgradeComponent"},COPYRIGHT_OWNER:"ArcBlock",FEDERATED,SESSION_TOKEN_STORAGE_KEY:"login_token",REFRESH_TOKEN_STORAGE_KEY:"refresh_token",SERVERLESS_BLOCKLET_DATA_RETENTION_DAYS,LAUNCH_SESSION_STATUS,UNOWNED_DID:"z".repeat(35),STUDIO_CONNECTED_STORE:"studio_connected_store",STUDIO_CONNECTED_AND_DEVELOPED:"studio_connected_and_developed",VERIFY_CODE_LENGTH:6,VERIFY_CODE_TTL:30*60*1e3,VERIFY_SEND_TTL:1*60*1e3,SECURITY_RULE_DEFAULT_ID,ACCESS_POLICY_PUBLIC,ACCESS_POLICY_INVITED_ONLY,ACCESS_POLICY_OWNER_ONLY,ACCESS_POLICY_ADMIN_ONLY,RESPONSE_HEADER_POLICY_SIMPLE_CORS,RESPONSE_HEADER_POLICY_SECURITY_HEADER,RESPONSE_HEADER_POLICY_SIMPLE_CORS_AND_SECURITY_HEADER,MFA_PROTECTED_METHODS:["deleteBlocklet","deleteComponent","rotateSessionKey","upgradeNodeVersion","removeUser","updateUserApproval","deleteRoutingRule","deleteDomainAlias","deleteCertificate","deleteAccessKey","deleteWebHook","deleteBlockletSecurityRule","deleteBlockletResponseHeaderPolicy","deleteBlockletAccessPolicy"],STUDIO_ALLOWED_METHODS:{getBlocklet:!0,createProject:!0,getProjects:!0,getProject:!0,updateProject:!0,deleteProject:!0,getReleases:!0,getRelease:!0,createRelease:!0,deleteRelease:!0,addBlockletStore:!0,deleteBlockletStore:!0,publishToStore:!0,connectToStore:!0,connectByStudio:!0,disconnectFromStore:!0,getSelectedResources:!0,updateSelectedResources:!0,getBlockletRuntimeHistory:!0,checkDomains:!0},SKIP_ACCESS_VERIFY_METHODS:{makeAllNotificationsAsRead:!0,readNotifications:!0,unreadNotifications:!0},NOTIFICATION_SEND_STATUS:{PENDING:0,SENT:1,FAILED:2},NOTIFICATION_SEND_FAILED_REASON:{USER_DISABLED:"user_disabled",CHANNEL_UNAVAILABLE:"channel_unavailable",CHANNEL_DISABLED:"channel_disabled",NOT_ONLINE:"not_online"},NOTIFICATION_SEND_CHANNEL:{WALLET:"app",EMAIL:"email",PUSH:"push",WEBHOOK:"webhook"},BLACKLIST_SCOPE:{ROUTER:"router"}});function _interopDefault(_){return _&&typeof _=="object"&&"default"in _?_.default:_}var React=reactExports,React__default=_interopDefault(React);function _defineProperty$g(_,C,T){return C in _?Object.defineProperty(_,C,{value:T,enumerable:!0,configurable:!0,writable:!0}):_[C]=T,_}function _inheritsLoose$2(_,C){_.prototype=Object.create(C.prototype),_.prototype.constructor=_,_.__proto__=C}var canUseDOM=!!(typeof window<"u"&&window.document&&window.document.createElement);function withSideEffect(_,C,T){if(typeof _!="function")throw new Error("Expected reducePropsToState to be a function.");if(typeof C!="function")throw new Error("Expected handleStateChangeOnClient to be a function.");if(typeof T<"u"&&typeof T!="function")throw new Error("Expected mapStateOnServer to either be undefined or a function.");function I(M){return M.displayName||M.name||"Component"}return function(D){if(typeof D!="function")throw new Error("Expected WrappedComponent to be a React component.");var B=[],L;function N(){L=_(B.map(function(F){return F.props})),V.canUseDOM?C(L):T&&(L=T(L))}var V=function(F){_inheritsLoose$2(U,F);function U(){return F.apply(this,arguments)||this}U.peek=function(){return L},U.rewind=function(){if(U.canUseDOM)throw new Error("You may only call rewind() on the server. Call peek() to read the current state.");var Y=L;return L=void 0,B=[],Y};var H=U.prototype;return H.UNSAFE_componentWillMount=function(){B.push(this),N()},H.componentDidUpdate=function(){N()},H.componentWillUnmount=function(){var Y=B.indexOf(this);B.splice(Y,1),N()},H.render=function(){return React__default.createElement(D,this.props)},U}(React.PureComponent);return _defineProperty$g(V,"displayName","SideEffect("+I(D)+")"),_defineProperty$g(V,"canUseDOM",canUseDOM),V}}var lib$8=withSideEffect;const withSideEffect$1=getDefaultExportFromCjs(lib$8);/*
|
|
10
10
|
object-assign
|
|
11
11
|
(c) Sindre Sorhus
|
|
12
12
|
@license MIT
|
|
@@ -257,7 +257,7 @@ ${M}-----END CERTIFICATE-----
|
|
|
257
257
|
color: white;
|
|
258
258
|
font-weight: bold;
|
|
259
259
|
padding: 2px 0.5em;
|
|
260
|
-
`,L=`%c${[M,I].filter(Boolean).join(":")}`;typeof C.args[0]=="string"?T(`${L}%c ${C.args[0]}`,B,"",...C.args.slice(1)):T(L,B,...C.args)}}function createConsola(_={}){return createConsola$1({reporters:_.reporters||[new BrowserReporter({})],prompt(T,I={}){return I.type==="confirm"?Promise.resolve(confirm(T)):Promise.resolve(prompt(T))},..._})}createConsola();const name="@arcblock/did-connect",version$4="2.11.34",description="Client side library to work with DID Connect by ArcBlock.",keywords$1=["react","arcblock","component"],author="wangshijun<wangshijun2010@gmail.com>",homepage="https://github.com/ArcBlock/ux#readme",license="Apache-2.0",main="lib/index.js",module$1="lib/index.js",repository={type:"git",url:"git+https://github.com/ArcBlock/ux.git"},scripts={lint:"eslint src tests --ext js --ext jsx","lint:fix":"npm run lint -- --fix",build:"babel --config-file ./babel.config.es.js src --out-dir lib --copy-files --no-copy-ignored",autoexports:"node tools/auto-exports.js",watch:"babel --config-file ./babel.config.es.js src --out-dir lib -w --copy-files --no-copy-ignored",precommit:"CI=1 npm run lint",prepush:"CI=1 npm run lint",prepublish:"npm run build",test:"node tools/jest.js",coverage:"npm run test -- --coverage"},bugs={url:"https://github.com/ArcBlock/ux/issues"},dependencies={"@arcblock/bridge":"^2.11.34","@arcblock/did":"^1.19.9","@arcblock/icons":"^2.11.34","@arcblock/react-hooks":"^2.11.34","@arcblock/ws":"^1.19.9","@fontsource/lexend":"^5.1.1","@iconify-icons/logos":"^1.2.36","@iconify-icons/material-symbols":"^1.2.58","@iconify/react":"^4.1.1","@simplewebauthn/browser":"^13.0.0",ahooks:"^3.7.10",axios:"^1.7.5","base64-url":"^2.3.3",buffer:"^6.0.3",consola:"^3.2.3","core-js":"^3.25.5",eventemitter3:"^5.0.1",flat:"^5.0.2","js-cookie":"^2.2.1","jwt-decode":"^3.1.2",lodash:"^4.17.21","mdi-material-ui":"^7.5.0","p-queue":"^6.6.2","p-wait-for":"^5.0.2","path-to-regexp":"^1.8.0",semver:"^7.6.3",tweetnacl:"^1.0.3","tweetnacl-sealedbox-js":"^1.2.0",ufo:"^1.5.3"},peerDependencies={"@arcblock/ux":"^2.11.30","@blocklet/js-sdk":"^1.16.38","@emotion/react":"^11.10.4","@emotion/styled":"^11.10.4","@mui/material":"^5.15.0",react:"^18.2.0","react-dom":"^18.2.0"},publishConfig={access:"public"},devDependencies={"@babel/cli":"^7.19.3","@babel/core":"^7.19.3","@babel/preset-env":"^7.19.3","@babel/preset-react":"^7.18.6","eslint-plugin-react-hooks":"^4.6.0",glob:"^10.3.3",jest:"^29.7.0"},gitHead="da67489f9fe5ca7e635ea1b9e8136dbf582e00cb",pkg={name,version:version$4,description,keywords:keywords$1,author,homepage,license,main,module:module$1,repository,scripts,bugs,dependencies,peerDependencies,publishConfig,devDependencies,gitHead},DEFAULT_TIMEOUT$1=5*60,DEFAULT_WINDOW_TIMEOUT=30*60,BLOCKLET_SERVICE_PATH_PREFIX="/.well-known/service",SESSION_TOKEN_STORAGE_KEY="login_token",REFRESH_TOKEN_STORAGE_KEY="refresh_token",RELAY_SOCKET_PREFIX="/.well-known/service",API_DID_PREFIX="/api/did",DEFAULT_NAME="DID Connect",DID_CONNECT_URL_PARAMS_NAME="__did-connect__";class NotOpenError extends Error{constructor(){super("Failed to open popup")}}const providerName="wallet_url",getWebWalletUrl=()=>{var _,C;return window.localStorage.getItem(providerName)||((_=window.env)==null?void 0:_.webWalletUrl)||((C=window.blocklet)==null?void 0:C.webWalletUrl)||"https://web.abtwallet.io/"},checkSameProtocol=_=>{const{protocol:C}=window.location;let T="";try{T=new URL(_).protocol}catch{T=""}return C===T},{version:version$3}=pkg,defaultConsolaLevel=3,consolaLevel=Number(localStorage.getItem("CONSOLA_LEVEL")||defaultConsolaLevel),logger$1=createConsola({level:Number.isNaN(consolaLevel)?defaultConsolaLevel:consolaLevel});function unescape$1(_){return(_+"===".slice((_.length+3)%4)).replace(/-/g,"+").replace(/_/g,"/")}function escape$2(_){return _.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}const encodeConnectUrl=_=>escape$2(window.btoa(_)),decodeConnectUrl=_=>window.atob(unescape$1(_)),parseTokenFromConnectUrl=_=>{const C=new URL(_),T=decodeURIComponent(C.searchParams.get("url"));return new URL(T).searchParams.get("_t_")},getAppId$1=(_,C)=>{var I,M,D;let T=C==null?void 0:C.publisher;if(!T){if(_!=null&&_.agentDid)return _.agentDid;T=_==null?void 0:_.publisher}return T?T.replace("did:abt:",""):((I=globalThis.blocklet)==null?void 0:I.appPid)||((M=globalThis.blocklet)==null?void 0:M.appId)||((D=globalThis.env)==null?void 0:D.appId)||""},getConnectedInfo=_=>{var T;const C={connected_did:_.did||"",connected_pk:_.pk||"",connected_app:getAppId$1(_.appInfo,_.memberAppInfo)};return(T=_==null?void 0:_.connectedWallet)!=null&&T.os&&(C.connected_wallet_os=_.connectedWallet.os),C},updateConnectedInfo=(_,C=!1)=>{if(!_)return;C||(_=getConnectedInfo(_));const T=getCookieOptions({expireInDays:7,returnDomain:!1});!isNil(_.connected_did)&&!isNil(_.connected_pk)&&lib$4.isValid(_.connected_did)&&lib$4.isFromPublicKey(_.connected_did,_.connected_pk)&&(Cookie.set("connected_did",_.connected_did,T),Cookie.set("connected_pk",_.connected_pk,T)),!isNil(_.connected_app)&&lib$4.isValid(_.connected_app)&&Cookie.set("connected_app",_.connected_app,T),_.connected_wallet_os&&Cookie.set("connected_wallet_os",_.connected_wallet_os,T)},encodeKey=_=>escape$2(Buffer$1$1.from(_).toString("base64")),decodeKey=_=>Uint8Array.from(Buffer$1$1.from(unescape$1(_),"base64")),decrypt$1=(_,C,T)=>{const I=SealedBox.open(Uint8Array.from(Buffer$1$1.from(_,"base64")),decodeKey(C),decodeKey(T));return JSON.parse(Buffer$1$1.from(I).toString("utf8"))},encrypt=(_,C)=>Buffer$1$1.from(SealedBox.seal(Uint8Array.from(Buffer$1$1.from(_)),decodeKey(C))).toString("base64"),parseNextWorkflow=(_,C="_t_")=>{const T=new URL(_),I={baseUrl:T.origin,prefix:T.pathname.replace(/\/auth$/,""),token:T.searchParams.get(C)||""};if(!I.baseUrl)throw new Error("Invalid next workflow: origin empty");if(!I.token)throw new Error("Invalid next workflow: token not found");return I},getApiErrorMessage=(_,C)=>{var I,M,D;let T=_.message;return _.response&&(T=((M=(I=_.response)==null?void 0:I.data)==null?void 0:M.error)||((D=_.response)==null?void 0:D.data)||C),T},createAxios=(_={},{lazy:C=!1,lazyTime:T=300}={})=>createAxios$2({..._,headers:{..._.headers,"x-did-connect-version":version$3}},{lazy:C,lazyTime:T}),sleep=(_=0)=>new Promise(C=>{setTimeout(()=>{C()},_)});function getBrowserLang(){if(typeof window>"u")return null;const _=window.navigator.languages&&window.navigator.languages[0]||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage||window.navigator.systemLanguage||null;return{"zh-CN":"zh","zh-TW":"zh",zh:"zh",en:"en"}[_]||"en"}function formatCacheTtl(_,C){return[void 0,null,""].includes(_)?C:_/86400}async function decodeUrlParams(){const _=window.location.href;try{const C=new URL(_),T=C.searchParams.get(DID_CONNECT_URL_PARAMS_NAME);if(T){C.searchParams.delete(DID_CONNECT_URL_PARAMS_NAME);const I=JSON.parse(Buffer$1$1.from(T,"base64").toString("utf-8"));if(isString$1(I.forceConnected)&&isUndefined$1(I.sourceAppPid)){const D=await new BlockletSDK().user.getUserPublicInfo({did:I.forceConnected});isUndefined$1(D==null?void 0:D.sourceAppPid)||(I.sourceAppPid=D.sourceAppPid)}return{params:I,url:C.href}}}catch{console.warn("Failed to decode did-connect url params")}return{params:null,url:_}}const openPopup=(_,{width:C=600,height:T=700,name:I="did-connect:popup"}={})=>{const M=getSafeUrl(_,{allowDomains:null}),D=window.screenX+(window.innerWidth-C)/2,B=window.screenY+(window.innerHeight-T)/2,L=[`left=${D}`,`top=${B}`,`width=${C}`,`height=${T}`,"resizable=no","scrollbars=yes","status=yes","popup=yes"],N=window.open("",I,L.join(","));if(N===null)throw new NotOpenError;return N.location.href=withQuery(M,{opener:window.location.origin}),N},runPopup=_=>new Promise((C,T)=>{let I,M;const D=({data:B})=>{if(B&&B.type==="authorization_response"){if(B!=null&&B.error){console.error(B.error);return}setTimeout(()=>{var L;(L=_.popup)==null||L.close(),clearTimeout(M),clearInterval(I),window.removeEventListener("message",D,!1),C(B)},_.closeTimeout||0)}};M=setTimeout(()=>{clearInterval(I),T(new Error("Timeout")),window.removeEventListener("message",D,!1)},(_.timeoutInSeconds||DEFAULT_WINDOW_TIMEOUT)*1e3),I=setInterval(()=>{var B;(B=_.popup)!=null&&B.closed&&(clearInterval(I),clearTimeout(M),window.removeEventListener("message",D,!1),T(new Error("Popup closed")))},1e3),window.addEventListener("message",D)});function WindowFocusAware({callback:_}){const C=useDebounceFn(_),T=useMemoizedFn(()=>{document.hidden||C.run()});return reactExports.useEffect(()=>(window.addEventListener("focus",C.run),document.addEventListener("visibilitychange",T),()=>{window.removeEventListener("focus",C.run),document.removeEventListener("visibilitychange",T)}),[]),null}WindowFocusAware.propTypes={callback:PropTypes.func.isRequired};function getMaster(_=window.blocklet){var T;return(((T=_==null?void 0:_.settings)==null?void 0:T.federated)||{}).master}function getConfig(_=window.blocklet){var T;return(((T=_==null?void 0:_.settings)==null?void 0:T.federated)||{}).config}function getFederatedEnabled(_=window.blocklet){const C=getConfig(_);return(C==null?void 0:C.status)==="approved"}function getFederatedApp(_=window.blocklet){const C=getMaster(_);return!isEmpty$2(C)?{appId:C.appId,appName:C.appName,appDescription:C.appDescription,appLogo:C.appLogo,appPid:C.appPid,appUrl:C.appUrl,version:C.version,sourceAppPid:C.appPid,provider:"wallet"}:null}function getCurrentApp(_=window.blocklet){return _?{appId:_.appId,appName:_.appName,appDescription:_.appDescription,appLogo:_.appLogo,appPid:_.appPid,appUrl:_.appUrl,currentAppUrl:_===window.blocklet?window.location.origin:void 0,version:_.version,sourceAppPid:null,provider:"wallet"}:window.env?(_=window.env,{appId:_.appId,appName:_.appName,appDescription:_.appDescription,appUrl:_.baseUrl,currentAppUrl:window.location.origin,sourceAppPid:null,provider:"wallet",type:"server"}):null}function getApps(_){const C=[],T=getFederatedApp(_),I=getCurrentApp(_),M=getFederatedEnabled(_);return I&&C.push(I),T&&(T==null?void 0:T.appId)!==(I==null?void 0:I.appId)&&M&&C.push(T),C.reverse()}async function getBlockletData(_){try{const C=new URL("__blocklet__.js",_);return C.searchParams.set("type","json"),await(await fetch(C.href)).json()}catch(C){return console.error(`Failed to get blocklet data: ${_}`,C),null}}var Ko;const DID_SPACES_BASE_URL$1=((Ko=window==null?void 0:window.blocklet)==null?void 0:Ko.DID_SPACES_BASE_URL)||"https://www.didspaces.com/app",DID_SPACES_DID="z8iZnaYxnkMD5AKRjTKiCb8pQr1ut8UantAcf";class Space{constructor({token:C}){this.token=C,this.prefix=this.getPrefix()}async createForOAuthAccount(){const{data:C}=await axios.put(joinURL(this.prefix,"/api/space/createForOAuthAccount"),{},{headers:{Authorization:`Bearer ${this.token}`,"x-csrf-token":getCSRFToken()}});return C}async authorizeAppForOAuthAccount({extraParams:C}){await this.createForOAuthAccount();const{data:T}=await axios.put(joinURL(this.prefix,"/api/space/authorizeAppForOAuthAccount"),{app:{metadata:{},...C}},{headers:{Authorization:`Bearer ${this.token}`,"x-csrf-token":getCSRFToken()}});return T}getPrefix(){const C=window.blocklet.componentMountPoints.find(T=>T.did===DID_SPACES_DID);return C==null?void 0:C.mountPoint}}function CardSelector({list:_=[],width:C=300,height:T=400,cardSpace:I=40,onSelect:M=noop$6,defaultIndex:D=0}){const[B,L]=reactExports.useState(0),[N,V]=reactExports.useState(0),F=reactExports.useRef(null),U=Z=>{if(!(Z<0||Z>_.length-1)){if(L(Z),F.current){const Q=F.current.clientWidth;V(Z*(C+I)-(Q-C)/2+I*.5)}M(Z)}};reactExports.useEffect(()=>{var Z;U(D),(Z=F.current)==null||Z.addEventListener("touchmove",Q=>Q.preventDefault(),{passive:!1})},[]);let H;const G=Z=>{H=Z.touches[0].clientX},Y=Z=>{const Q=Z.changedTouches[0],X=H-Q.clientX;Math.abs(X)>60&&(X>0?U(B+1):U(B-1))};return jsxRuntimeExports.jsx(Container$8,{ref:F,onTouchStart:G,onTouchEnd:Y,children:jsxRuntimeExports.jsx("div",{className:"card-container",style:{transform:`translate(${-N}px, 0)`},children:_.map((Z,Q)=>Z instanceof Function?jsxRuntimeExports.jsx("div",{className:`card-item ${Q===B?"selected":""}`,style:{width:C,height:T,margin:I/2},onClick:()=>U(Q),children:Z(Q)},Q):jsxRuntimeExports.jsx("div",{className:`card-item ${Q===B?"selected":""}`,style:{width:C,height:T,margin:I/2},onClick:()=>U(Q),children:jsxRuntimeExports.jsx("img",{src:Z.src,alt:Z.name})},Q))})})}const Container$8=newStyled.div`
|
|
260
|
+
`,L=`%c${[M,I].filter(Boolean).join(":")}`;typeof C.args[0]=="string"?T(`${L}%c ${C.args[0]}`,B,"",...C.args.slice(1)):T(L,B,...C.args)}}function createConsola(_={}){return createConsola$1({reporters:_.reporters||[new BrowserReporter({})],prompt(T,I={}){return I.type==="confirm"?Promise.resolve(confirm(T)):Promise.resolve(prompt(T))},..._})}createConsola();const name="@arcblock/did-connect",version$4="2.11.35",description="Client side library to work with DID Connect by ArcBlock.",keywords$1=["react","arcblock","component"],author="wangshijun<wangshijun2010@gmail.com>",homepage="https://github.com/ArcBlock/ux#readme",license="Apache-2.0",main="lib/index.js",module$1="lib/index.js",repository={type:"git",url:"git+https://github.com/ArcBlock/ux.git"},scripts={lint:"eslint src tests --ext js --ext jsx","lint:fix":"npm run lint -- --fix",build:"babel --config-file ./babel.config.es.js src --out-dir lib --copy-files --no-copy-ignored",autoexports:"node tools/auto-exports.js",watch:"babel --config-file ./babel.config.es.js src --out-dir lib -w --copy-files --no-copy-ignored",precommit:"CI=1 npm run lint",prepush:"CI=1 npm run lint",prepublish:"npm run build",test:"node tools/jest.js",coverage:"npm run test -- --coverage"},bugs={url:"https://github.com/ArcBlock/ux/issues"},dependencies={"@arcblock/bridge":"^2.11.35","@arcblock/did":"^1.19.9","@arcblock/icons":"^2.11.35","@arcblock/react-hooks":"^2.11.35","@arcblock/ws":"^1.19.9","@fontsource/lexend":"^5.1.1","@iconify-icons/logos":"^1.2.36","@iconify-icons/material-symbols":"^1.2.58","@iconify/react":"^4.1.1","@simplewebauthn/browser":"^13.0.0",ahooks:"^3.7.10",axios:"^1.7.5","base64-url":"^2.3.3",buffer:"^6.0.3",consola:"^3.2.3","core-js":"^3.25.5",eventemitter3:"^5.0.1",flat:"^5.0.2","js-cookie":"^2.2.1","jwt-decode":"^3.1.2",lodash:"^4.17.21","mdi-material-ui":"^7.5.0","p-queue":"^6.6.2","p-wait-for":"^5.0.2","path-to-regexp":"^1.8.0",semver:"^7.6.3",tweetnacl:"^1.0.3","tweetnacl-sealedbox-js":"^1.2.0",ufo:"^1.5.3"},peerDependencies={"@arcblock/ux":"^2.11.30","@blocklet/js-sdk":"^1.16.38","@emotion/react":"^11.10.4","@emotion/styled":"^11.10.4","@mui/material":"^5.15.0",react:"^18.2.0","react-dom":"^18.2.0"},publishConfig={access:"public"},devDependencies={"@babel/cli":"^7.19.3","@babel/core":"^7.19.3","@babel/preset-env":"^7.19.3","@babel/preset-react":"^7.18.6","eslint-plugin-react-hooks":"^4.6.0",glob:"^10.3.3",jest:"^29.7.0"},gitHead="61ce1e356b37df6fafb6e9330deb217791005a7a",pkg={name,version:version$4,description,keywords:keywords$1,author,homepage,license,main,module:module$1,repository,scripts,bugs,dependencies,peerDependencies,publishConfig,devDependencies,gitHead},DEFAULT_TIMEOUT$1=5*60,DEFAULT_WINDOW_TIMEOUT=30*60,BLOCKLET_SERVICE_PATH_PREFIX="/.well-known/service",SESSION_TOKEN_STORAGE_KEY="login_token",REFRESH_TOKEN_STORAGE_KEY="refresh_token",RELAY_SOCKET_PREFIX="/.well-known/service",API_DID_PREFIX="/api/did",DEFAULT_NAME="DID Connect",DID_CONNECT_URL_PARAMS_NAME="__did-connect__";class NotOpenError extends Error{constructor(){super("Failed to open popup")}}const providerName="wallet_url",getWebWalletUrl=()=>{var _,C;return window.localStorage.getItem(providerName)||((_=window.env)==null?void 0:_.webWalletUrl)||((C=window.blocklet)==null?void 0:C.webWalletUrl)||"https://web.abtwallet.io/"},checkSameProtocol=_=>{const{protocol:C}=window.location;let T="";try{T=new URL(_).protocol}catch{T=""}return C===T},{version:version$3}=pkg,defaultConsolaLevel=3,consolaLevel=Number(localStorage.getItem("CONSOLA_LEVEL")||defaultConsolaLevel),logger$1=createConsola({level:Number.isNaN(consolaLevel)?defaultConsolaLevel:consolaLevel});function unescape$1(_){return(_+"===".slice((_.length+3)%4)).replace(/-/g,"+").replace(/_/g,"/")}function escape$2(_){return _.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}const encodeConnectUrl=_=>escape$2(window.btoa(_)),decodeConnectUrl=_=>window.atob(unescape$1(_)),parseTokenFromConnectUrl=_=>{const C=new URL(_),T=decodeURIComponent(C.searchParams.get("url"));return new URL(T).searchParams.get("_t_")},getAppId$1=(_,C)=>{var I,M,D;let T=C==null?void 0:C.publisher;if(!T){if(_!=null&&_.agentDid)return _.agentDid;T=_==null?void 0:_.publisher}return T?T.replace("did:abt:",""):((I=globalThis.blocklet)==null?void 0:I.appPid)||((M=globalThis.blocklet)==null?void 0:M.appId)||((D=globalThis.env)==null?void 0:D.appId)||""},getConnectedInfo=_=>{var T;const C={connected_did:_.did||"",connected_pk:_.pk||"",connected_app:getAppId$1(_.appInfo,_.memberAppInfo)};return(T=_==null?void 0:_.connectedWallet)!=null&&T.os&&(C.connected_wallet_os=_.connectedWallet.os),C},updateConnectedInfo=(_,C=!1)=>{if(!_)return;C||(_=getConnectedInfo(_));const T=getCookieOptions({expireInDays:7,returnDomain:!1});!isNil(_.connected_did)&&!isNil(_.connected_pk)&&lib$4.isValid(_.connected_did)&&lib$4.isFromPublicKey(_.connected_did,_.connected_pk)&&(Cookie.set("connected_did",_.connected_did,T),Cookie.set("connected_pk",_.connected_pk,T)),!isNil(_.connected_app)&&lib$4.isValid(_.connected_app)&&Cookie.set("connected_app",_.connected_app,T),_.connected_wallet_os&&Cookie.set("connected_wallet_os",_.connected_wallet_os,T)},encodeKey=_=>escape$2(Buffer$1$1.from(_).toString("base64")),decodeKey=_=>Uint8Array.from(Buffer$1$1.from(unescape$1(_),"base64")),decrypt$1=(_,C,T)=>{const I=SealedBox.open(Uint8Array.from(Buffer$1$1.from(_,"base64")),decodeKey(C),decodeKey(T));return JSON.parse(Buffer$1$1.from(I).toString("utf8"))},encrypt=(_,C)=>Buffer$1$1.from(SealedBox.seal(Uint8Array.from(Buffer$1$1.from(_)),decodeKey(C))).toString("base64"),parseNextWorkflow=(_,C="_t_")=>{const T=new URL(_),I={baseUrl:T.origin,prefix:T.pathname.replace(/\/auth$/,""),token:T.searchParams.get(C)||""};if(!I.baseUrl)throw new Error("Invalid next workflow: origin empty");if(!I.token)throw new Error("Invalid next workflow: token not found");return I},getApiErrorMessage=(_,C)=>{var I,M,D;let T=_.message;return _.response&&(T=((M=(I=_.response)==null?void 0:I.data)==null?void 0:M.error)||((D=_.response)==null?void 0:D.data)||C),T},createAxios=(_={},{lazy:C=!1,lazyTime:T=300}={})=>createAxios$2({..._,headers:{..._.headers,"x-did-connect-version":version$3}},{lazy:C,lazyTime:T}),sleep=(_=0)=>new Promise(C=>{setTimeout(()=>{C()},_)});function getBrowserLang(){if(typeof window>"u")return null;const _=window.navigator.languages&&window.navigator.languages[0]||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage||window.navigator.systemLanguage||null;return{"zh-CN":"zh","zh-TW":"zh",zh:"zh",en:"en"}[_]||"en"}function formatCacheTtl(_,C){return[void 0,null,""].includes(_)?C:_/86400}async function decodeUrlParams(){const _=window.location.href;try{const C=new URL(_),T=C.searchParams.get(DID_CONNECT_URL_PARAMS_NAME);if(T){C.searchParams.delete(DID_CONNECT_URL_PARAMS_NAME);const I=JSON.parse(Buffer$1$1.from(T,"base64").toString("utf-8"));if(isString$1(I.forceConnected)&&isUndefined$1(I.sourceAppPid)){const D=await new BlockletSDK().user.getUserPublicInfo({did:I.forceConnected});isUndefined$1(D==null?void 0:D.sourceAppPid)||(I.sourceAppPid=D.sourceAppPid)}return{params:I,url:C.href}}}catch{console.warn("Failed to decode did-connect url params")}return{params:null,url:_}}const openPopup=(_,{width:C=600,height:T=700,name:I="did-connect:popup"}={})=>{const M=getSafeUrl(_,{allowDomains:null}),D=window.screenX+(window.innerWidth-C)/2,B=window.screenY+(window.innerHeight-T)/2,L=[`left=${D}`,`top=${B}`,`width=${C}`,`height=${T}`,"resizable=no","scrollbars=yes","status=yes","popup=yes"],N=window.open("",I,L.join(","));if(N===null)throw new NotOpenError;return N.location.href=withQuery(M,{opener:window.location.origin}),N},runPopup=_=>new Promise((C,T)=>{let I,M;const D=({data:B})=>{if(B&&B.type==="authorization_response"){if(B!=null&&B.error){console.error(B.error);return}setTimeout(()=>{var L;(L=_.popup)==null||L.close(),clearTimeout(M),clearInterval(I),window.removeEventListener("message",D,!1),C(B)},_.closeTimeout||0)}};M=setTimeout(()=>{clearInterval(I),T(new Error("Timeout")),window.removeEventListener("message",D,!1)},(_.timeoutInSeconds||DEFAULT_WINDOW_TIMEOUT)*1e3),I=setInterval(()=>{var B;(B=_.popup)!=null&&B.closed&&(clearInterval(I),clearTimeout(M),window.removeEventListener("message",D,!1),T(new Error("Popup closed")))},1e3),window.addEventListener("message",D)});function WindowFocusAware({callback:_}){const C=useDebounceFn(_),T=useMemoizedFn(()=>{document.hidden||C.run()});return reactExports.useEffect(()=>(window.addEventListener("focus",C.run),document.addEventListener("visibilitychange",T),()=>{window.removeEventListener("focus",C.run),document.removeEventListener("visibilitychange",T)}),[]),null}WindowFocusAware.propTypes={callback:PropTypes.func.isRequired};function getMaster(_=window.blocklet){var T;return(((T=_==null?void 0:_.settings)==null?void 0:T.federated)||{}).master}function getConfig(_=window.blocklet){var T;return(((T=_==null?void 0:_.settings)==null?void 0:T.federated)||{}).config}function getFederatedEnabled(_=window.blocklet){const C=getConfig(_);return(C==null?void 0:C.status)==="approved"}function getFederatedApp(_=window.blocklet){const C=getMaster(_);return!isEmpty$2(C)?{appId:C.appId,appName:C.appName,appDescription:C.appDescription,appLogo:C.appLogo,appPid:C.appPid,appUrl:C.appUrl,version:C.version,sourceAppPid:C.appPid,provider:"wallet"}:null}function getCurrentApp(_=window.blocklet){return _?{appId:_.appId,appName:_.appName,appDescription:_.appDescription,appLogo:_.appLogo,appPid:_.appPid,appUrl:_.appUrl,currentAppUrl:_===window.blocklet?window.location.origin:void 0,version:_.version,sourceAppPid:null,provider:"wallet"}:window.env?(_=window.env,{appId:_.appId,appName:_.appName,appDescription:_.appDescription,appUrl:_.baseUrl,currentAppUrl:window.location.origin,sourceAppPid:null,provider:"wallet",type:"server"}):null}function getApps(_){const C=[],T=getFederatedApp(_),I=getCurrentApp(_),M=getFederatedEnabled(_);return I&&C.push(I),T&&(T==null?void 0:T.appId)!==(I==null?void 0:I.appId)&&M&&C.push(T),C.reverse()}async function getBlockletData(_){try{const C=new URL("__blocklet__.js",_);return C.searchParams.set("type","json"),await(await fetch(C.href)).json()}catch(C){return console.error(`Failed to get blocklet data: ${_}`,C),null}}var Ko;const DID_SPACES_BASE_URL$1=((Ko=window==null?void 0:window.blocklet)==null?void 0:Ko.DID_SPACES_BASE_URL)||"https://www.didspaces.com/app",DID_SPACES_DID="z8iZnaYxnkMD5AKRjTKiCb8pQr1ut8UantAcf";class Space{constructor({token:C}){this.token=C,this.prefix=this.getPrefix()}async createForOAuthAccount(){const{data:C}=await axios.put(joinURL(this.prefix,"/api/space/createForOAuthAccount"),{},{headers:{Authorization:`Bearer ${this.token}`,"x-csrf-token":getCSRFToken()}});return C}async authorizeAppForOAuthAccount({extraParams:C}){await this.createForOAuthAccount();const{data:T}=await axios.put(joinURL(this.prefix,"/api/space/authorizeAppForOAuthAccount"),{app:{metadata:{},...C}},{headers:{Authorization:`Bearer ${this.token}`,"x-csrf-token":getCSRFToken()}});return T}getPrefix(){const C=window.blocklet.componentMountPoints.find(T=>T.did===DID_SPACES_DID);return C==null?void 0:C.mountPoint}}function CardSelector({list:_=[],width:C=300,height:T=400,cardSpace:I=40,onSelect:M=noop$6,defaultIndex:D=0}){const[B,L]=reactExports.useState(0),[N,V]=reactExports.useState(0),F=reactExports.useRef(null),U=Z=>{if(!(Z<0||Z>_.length-1)){if(L(Z),F.current){const Q=F.current.clientWidth;V(Z*(C+I)-(Q-C)/2+I*.5)}M(Z)}};reactExports.useEffect(()=>{var Z;U(D),(Z=F.current)==null||Z.addEventListener("touchmove",Q=>Q.preventDefault(),{passive:!1})},[]);let H;const G=Z=>{H=Z.touches[0].clientX},Y=Z=>{const Q=Z.changedTouches[0],X=H-Q.clientX;Math.abs(X)>60&&(X>0?U(B+1):U(B-1))};return jsxRuntimeExports.jsx(Container$8,{ref:F,onTouchStart:G,onTouchEnd:Y,children:jsxRuntimeExports.jsx("div",{className:"card-container",style:{transform:`translate(${-N}px, 0)`},children:_.map((Z,Q)=>Z instanceof Function?jsxRuntimeExports.jsx("div",{className:`card-item ${Q===B?"selected":""}`,style:{width:C,height:T,margin:I/2},onClick:()=>U(Q),children:Z(Q)},Q):jsxRuntimeExports.jsx("div",{className:`card-item ${Q===B?"selected":""}`,style:{width:C,height:T,margin:I/2},onClick:()=>U(Q),children:jsxRuntimeExports.jsx("img",{src:Z.src,alt:Z.name})},Q))})})}const Container$8=newStyled.div`
|
|
261
261
|
overflow: hidden;
|
|
262
262
|
mask-image: linear-gradient(to left, transparent, black 3%, black 97%, transparent);
|
|
263
263
|
overflow: hidden;
|
|
@@ -2569,7 +2569,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
2569
2569
|
.header-container {
|
|
2570
2570
|
max-width: 100%;
|
|
2571
2571
|
}
|
|
2572
|
-
`;function DashboardWrapper({legacy:_=!0,...C}){return _?jsxRuntimeExports.jsx(Dashboard$2,{...C}):jsxRuntimeExports.jsx(FullPageProvider,{children:jsxRuntimeExports.jsx(Dashboard$1,{...C})})}const BlockletMetaProps=PropTypes.shape({appLogo:PropTypes.node,appName:PropTypes.string,theme:PropTypes.shape({background:PropTypes.string}),enableConnect:PropTypes.bool,enableLocale:PropTypes.bool,navigation:PropTypes.arrayOf(PropTypes.shape({title:PropTypes.oneOfType([PropTypes.string,PropTypes.object]),link:PropTypes.oneOfType([PropTypes.string,PropTypes.object]),icon:PropTypes.string,items:PropTypes.arrayOf(PropTypes.shape({title:PropTypes.oneOfType([PropTypes.string,PropTypes.object]),link:PropTypes.oneOfType([PropTypes.string,PropTypes.object])}))}))}),SessionManagerProps=PropTypes.shape({showText:PropTypes.bool,showRole:PropTypes.bool,switchDid:PropTypes.bool,switchProfile:PropTypes.bool,switchPassport:PropTypes.bool,disableLogout:PropTypes.bool,onLogin:PropTypes.func,onLogout:PropTypes.func,onSwitchDid:PropTypes.func,onSwitchProfile:PropTypes.func,onSwitchPassport:PropTypes.func,menu:PropTypes.array,menuRender:PropTypes.func,dark:PropTypes.bool,size:PropTypes.number}),mapRecursive=(_,C,T="children")=>_.map(I=>Array.isArray(I[T])?C({...I,[T]:mapRecursive(I[T],C,T)}):C(I)),flatRecursive=(_,C="children")=>{const T=[];return mapRecursive(_,I=>T.push(I),C),T},filterRecursive=(_,C,T="children")=>_.map(I=>({...I})).filter(I=>{const M=I[T];if(Array.isArray(M)){const B=filterRecursive(M,C,T);I[T]=B!=null&&B.length?B:void 0}const D={filteredChildren:I[T],isLeaf:!(M!=null&&M.length)};return C(I,D)}),isUrl=_=>/^https?:\/\//.test(_),matchPath=_=>{if(!_||!(_!=null&&_.startsWith("/")))return!1;const C=M=>M.endsWith("/")?M:`${M}/`,T=C(window.location.pathname),I=C(new URL(_,window.location.origin).pathname);return T.startsWith(I)},matchPaths=(_=[])=>{const C=_.map((I,M)=>({path:I,index:M})).filter(I=>matchPath(I.path));return C!=null&&C.length?C.slice(1).reduce((I,M)=>I.path.length>=M.path.length?I:M,C[0]).index:-1};var Wo,Zo;const publicPath=((Wo=window==null?void 0:window.blocklet)==null?void 0:Wo.groupPrefix)||((Zo=window==null?void 0:window.blocklet)==null?void 0:Zo.prefix)||"/",formatTheme=_=>{const C={..._},T=_==null?void 0:_.background;return typeof T=="string"?C.background={header:T,footer:T,default:T}:T&&typeof T=="object"&&(C.background={header:T.header||T.default,footer:T.footer||T.default,default:T.default}),C},getLink=(_,C="en")=>{if(typeof _=="string"){if(isUrl(_)){const I=new URL(_);return I.searchParams.set("locale",C),I.href}const T=new URL(_,window.location.origin);return T.searchParams.set("locale",C),T.pathname+T.search}return typeof _=="object"?_[C]||(_==null?void 0:_.en)||(_==null?void 0:_.zh):_},getLocalizedNavigation=(_,C="en")=>{if(!(_!=null&&_.length))return _;const T=(I,M)=>typeof I=="string"?I:typeof I=="object"?I[M]||(I==null?void 0:I.en)||(I==null?void 0:I.zh):I;return mapRecursive(_,I=>{var M;return{...I,title:T(I.title,C),link:(M=I.items)!=null&&M.length?I.link:getLink(I.link,C),_rawLink:I.link}},"items")},formatNavigation=_=>mapRecursive(_,C=>C.role?{...C,role:Array.isArray(C.role)?C.role:[C.role]}:C,"items"),parseNavigation$1=_=>{if(!(_!=null&&_.length))return null;const C=formatNavigation(_),T={header:[],footer:[],social:[],bottom:[],dashboard:[],sessionManager:[],userCenter:[]};return C.forEach(I=>{var M;I.section?Array.isArray(I.section)?I.section.forEach(D=>{var B;(B=T[D])==null||B.push(I)}):typeof I.section=="string"&&((M=T[I.section])==null||M.push(I)):T.header.push(I)}),T},formatBlockletInfo=_=>{if(!_)return null;const C={..._};return C.theme=formatTheme(C.theme),C.navigation=parseNavigation$1(filterValidNavItems(C.navigation)),C},filterValidNavItems=(_=[])=>filterRecursive(_,(C,T)=>{var I;return!!C.link||((I=T.filteredChildren)==null?void 0:I.length)},"items"),filterNavByRole=(_,C)=>filterRecursive(_,(T,I)=>{var D;const M=!T.role||C&&(T.role.includes(C)||T.role.includes("guest"));return I.isLeaf?M:M&&((D=I.filteredChildren)==null?void 0:D.length)},"items"),data$f={top:-960,width:960,height:960,body:'<path fill="currentColor" d="M510-600v-210q0-12.75 8.625-21.375T540-840h270q12.75 0 21.375 8.625T840-810v210q0 12.75-8.625 21.375T810-570H540q-12.75 0-21.375-8.625T510-600M120-480v-330q0-12.75 8.625-21.375T150-840h270q12.75 0 21.375 8.625T450-810v330q0 12.75-8.625 21.375T420-450H150q-12.75 0-21.375-8.625T120-480m390 330v-330q0-12.75 8.625-21.375T540-510h270q12.75 0 21.375 8.625T840-480v330q0 12.75-8.625 21.375T810-120H540q-12.75 0-21.375-8.625T510-150m-390 0v-210q0-12.75 8.625-21.375T150-390h270q12.75 0 21.375 8.625T450-360v210q0 12.75-8.625 21.375T420-120H150q-12.75 0-21.375-8.625T120-150m60-360h210v-270H180zm390 330h210v-270H570zm0-450h210v-150H570zM180-180h210v-150H180zm210-150"/>'},data$e={width:24,height:24,body:'<path fill="currentColor" d="M15.95 12.3L11.7 8.05q-.15-.15-.212-.325t-.063-.375q0-.2.063-.375t.212-.325l4.25-4.25q.15-.15.325-.212t.375-.063q.2 0 .375.063t.325.212l4.25 4.25q.15.15.213.325t.062.375q0 .2-.063.375t-.212.325l-4.25 4.25q-.15.15-.325.213t-.375.062q-.2 0-.375-.062t-.325-.213ZM3 10V4q0-.425.288-.713T4 3h6q.425 0 .713.288T11 4v6q0 .425-.288.713T10 11H4q-.425 0-.713-.288T3 10Zm10 10v-6q0-.425.288-.713T14 13h6q.425 0 .713.288T21 14v6q0 .425-.288.713T20 21h-6q-.425 0-.713-.288T13 20ZM3 20v-6q0-.425.288-.713T4 13h6q.425 0 .713.288T11 14v6q0 .425-.288.713T10 21H4q-.425 0-.713-.288T3 20ZM5 9h4V5H5v4Zm11.675 1.2L19.5 7.375L16.675 4.55L13.85 7.375l2.825 2.825ZM15 19h4v-4h-4v4ZM5 19h4v-4H5v4ZM9 9Zm4.85-1.625ZM9 15Zm6 0Z"/>'};function SessionBlocklet({session:_,locale:C="zh",size:T=24}){const I=(window==null?void 0:window.blocklet)||{},M=(I.navigation||[]).filter(N=>N.section==="sessionManager"&&!["/sessionManager"].includes(N.id)).filter(N=>{var V;return!!((N==null?void 0:N.role)||[]).includes(((V=_==null?void 0:_.user)==null?void 0:V.role)||"guest")}).map(N=>{const V=((I==null?void 0:I.componentMountPoints)||[]).find(F=>N.component===F.name);return{...N,component:V}}),D=reactExports.useRef(null),B=useReactive({open:!1}),L=useMemoizedFn((N=!B.open)=>{B.open=N});return M.length===0||!(_!=null&&_.user)?null:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(IconButton,{size:"medium",ref:D,onClick:()=>L(),children:jsxRuntimeExports.jsx(Icon$3,{icon:data$f,fontSize:T,style:{transform:"scale(1.08)"}})}),jsxRuntimeExports.jsx(Popper,{open:B.open,anchorEl:D.current,transition:!0,placement:"bottom-end",sx:{zIndex:1600},children:({TransitionProps:N})=>jsxRuntimeExports.jsx(ClickAwayListener,{onClickAway:V=>{V.preventDefault(),V.stopPropagation(),L(!1)},children:jsxRuntimeExports.jsx(Fade,{...N,timeout:350,children:jsxRuntimeExports.jsxs(Paper,{variant:"outlined",sx:{borderRadius:3,width:350,maxWidth:"90vw",borderColor:colors$1.lineStep,p:2,border:"0 !important",boxShadow:`0px 8px 16px 0px ${colors$1.gray6}, 0px 0px 0px 1px ${colors$1.gray6}`},children:[jsxRuntimeExports.jsx(List,{sx:{display:"grid",gridTemplateColumns:"repeat(auto-fill, 100px)",gridAutoRows:"minmax(100px, max-content)",justifyContent:"space-between",maxHeight:350,overflowY:"auto",p:0},children:M.map(V=>{var F;return jsxRuntimeExports.jsx(ListItem,{disablePadding:!0,children:jsxRuntimeExports.jsxs(ListItemButton,{href:V.link,sx:{p:1,display:"flex",flexDirection:"column",alignItems:"center",gap:1,width:"100%",height:"100%",borderRadius:2,"&:hover":{backgroundColor:colors$1.surfacePrimarySubtitle}},children:[(F=V==null?void 0:V.component)!=null&&F.did?jsxRuntimeExports.jsx(Box,{component:"img",src:`${BLOCKLET_SERVICE_PATH_PREFIX$1}/blocklet/logo-bundle/${V.component.did}`,sx:{borderRadius:2,width:50,height:50,objectFit:"contain"},alt:"SessionBlocklet component icon"}):jsxRuntimeExports.jsx(Icon$3,{fontSize:50,icon:V.icon||data$e,color:colors$1.textSubtitle}),jsxRuntimeExports.jsx(Typography$1,{sx:{fontSize:"12px",color:colors$1.textBase,textAlign:"center",lineHeight:"normal"},children:getTranslation(V.title,C)})]})},V.id)})}),jsxRuntimeExports.jsx(SessionPermission,{session:_,children:jsxRuntimeExports.jsx(ButtonComponent,{variant:"outlined",fullWidth:!0,href:NAVIGATION_URL,sx:{mt:1,borderRadius:2,color:colors$1.textBase,borderColor:colors$1.lineBorderStrong,"&:hover":{color:colors$1.primaryBase,borderColor:colors$1.primaryBase}},children:C==="zh"?"管理":"Manage"})})]})})})})]})}var Notification$1={};Object.defineProperty(Notification$1,"__esModule",{value:!0});var default_1$g=Notification$1.default=void 0;_interopRequireDefault$j(reactExports);var _jsxRuntime$j=jsxRuntimeExports;function _interopRequireDefault$j(_){return _&&_.__esModule?_:{default:_}}function ownKeys$c(_,C){var T=Object.keys(_);if(Object.getOwnPropertySymbols){var I=Object.getOwnPropertySymbols(_);C&&(I=I.filter(function(M){return Object.getOwnPropertyDescriptor(_,M).enumerable})),T.push.apply(T,I)}return T}function _objectSpread$9(_){for(var C=1;C<arguments.length;C++){var T=arguments[C]!=null?arguments[C]:{};C%2?ownKeys$c(Object(T),!0).forEach(function(I){_defineProperty$b(_,I,T[I])}):Object.getOwnPropertyDescriptors?Object.defineProperties(_,Object.getOwnPropertyDescriptors(T)):ownKeys$c(Object(T)).forEach(function(I){Object.defineProperty(_,I,Object.getOwnPropertyDescriptor(T,I))})}return _}function _defineProperty$b(_,C,T){return(C=_toPropertyKey$4(C))in _?Object.defineProperty(_,C,{value:T,enumerable:!0,configurable:!0,writable:!0}):_[C]=T,_}function _toPropertyKey$4(_){var C=_toPrimitive$4(_,"string");return typeof C=="symbol"?C:C+""}function _toPrimitive$4(_,C){if(typeof _!="object"||!_)return _;var T=_[Symbol.toPrimitive];if(T!==void 0){var I=T.call(_,C||"default");if(typeof I!="object")return I;throw new TypeError("@@toPrimitive must return a primitive value.")}return(C==="string"?String:Number)(_)}var Component$3=function _(C){return(0,_jsxRuntime$j.jsxs)("svg",_objectSpread$9(_objectSpread$9({},C),{},{children:[(0,_jsxRuntime$j.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.25107 2.50001C6.67528 2.49385 4.50443 4.60042 4.48473 7.00559V12.7899C4.48473 13.5826 4.40145 14.5678 3.90413 15.4998H16.0954C15.599 14.5684 15.5146 13.5831 15.5146 12.7889V7.01078C15.4804 4.60752 13.3051 2.50948 10.7176 2.50301C10.7174 2.50301 10.7177 2.50301 10.7176 2.50301L9.25107 2.50001ZM17.0146 7.00094V12.7889C17.0146 13.5789 17.1156 14.3509 17.5456 15.0078L17.8325 15.4458C18.2685 16.1098 17.7995 16.9998 17.0146 16.9998H2.98473C2.19974 16.9998 1.72975 16.1098 2.16674 15.4458L2.45374 15.0078C2.88473 14.3509 2.98473 13.5799 2.98473 12.7899V6.99994C3.00773 3.70898 5.9107 0.992018 9.25465 1.00002L10.7206 1.00302C14.0646 1.01102 16.9746 3.70898 17.0146 7.00094Z",fill:"currentColor"}),(0,_jsxRuntime$j.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.0602 18.0606C11.3415 17.7793 11.4996 17.3978 11.4996 17H12.9996C12.9996 17.7956 12.6835 18.5587 12.1209 19.1213C11.5583 19.6839 10.7952 19.9999 9.9996 19.9999C9.20396 19.9999 8.4409 19.6839 7.8783 19.1213C7.3157 18.5587 6.99963 17.7956 6.99963 17H8.49963C8.49963 17.3978 8.65767 17.7793 8.93896 18.0606C9.22026 18.3419 9.60178 18.4999 9.9996 18.4999C10.3974 18.4999 10.7789 18.3419 11.0602 18.0606Z",fill:"currentColor"})]}))};Component$3.defaultProps={width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"};Component$3.displayName="notification";default_1$g=Notification$1.default=Component$3;const client$1={};function create$a(_="admin"){const C=(window.env&&window.env.apiPrefix?window.env.apiPrefix:"/").replace(/\/$/,""),T=`//${window.location.host}${C}/.well-known/service/${_}`;return new browser.WsClient(T,{heartbeatIntervalMs:100*1e3,params:()=>({token:Cookie.get("login_token")})})}function getWsClient(_="admin"){return client$1[_]||(client$1[_]=create$a(_)),client$1[_]}const useListenWsClient=(_="admin")=>{const C=reactExports.useContext(SessionContext),{session:T}=C??{};return!client$1[_]&&T.user&&(client$1[_]=getWsClient(_),client$1[_].connect()),client$1[_]};function NotificationAddon({session:_={}}){const{unReadCount:C,user:T,setUnReadCount:I}=_,M=useCreation(()=>T==null?void 0:T.did,[T]),D=useCreation(()=>{const{navigation:V}=window.blocklet??{},F=V==null?void 0:V.find(U=>U.id==="/userCenter/notification");return F==null?void 0:F.link}),B=useListenWsClient("user"),L=useCreation(()=>`${window.blocklet.did}/${M}/${constant.EVENTS.NOTIFICATION_BLOCKLET_CREATE}`,[M]),N=reactExports.useCallback(V=>{const{receivers:F}=V??{},{receiver:U}=F[0]??{};U===M&&I(H=>H+1)},[M,I]);return reactExports.useEffect(()=>(B&&B.on(L,N),()=>{B&&B.off(L,N)}),[B,I,N,L]),!_.user||!D?null:jsxRuntimeExports.jsx(IconButton,{size:"medium",variant:"outlined",href:D,sx:{borderRadius:2,borderColor:colors$1.lineBorderStrong,"&:hover":{borderRadius:"50%"}},children:jsxRuntimeExports.jsx(Badge,{badgeContent:C,color:"error",invisible:C===0,children:jsxRuntimeExports.jsx(default_1$g,{style:{width:"auto",height:24}})})})}NotificationAddon.propTypes={session:PropTypes.object};NotificationAddon.defaultProps={session:{}};const hasNotification=()=>{var C;return!!(((C=window==null?void 0:window.blocklet)==null?void 0:C.navigation)??[]).find(T=>T.id==="/userCenter/notification")};function HeaderAddons({formattedBlocklet:_,addons:C,sessionManagerProps:T}){var H,G,Y,Z;const I=reactExports.useContext(SessionContext),{locale:M}=useLocaleContext()||{},{enableConnect:D=!0,enableLocale:B=!0}=_,L=!!((H=I==null?void 0:I.session)!=null&&H.user);let N=getLocalizedNavigation((G=_==null?void 0:_.navigation)==null?void 0:G.sessionManager,M)||[];N=filterNavByRole(N,(Z=(Y=I==null?void 0:I.session)==null?void 0:Y.user)==null?void 0:Z.role);const F=(()=>{if(C&&typeof C!="function")return Array.isArray(C)?C:[C];let Q=[];if(hasNotification()&&Q.push(jsxRuntimeExports.jsx(NotificationAddon,{session:I.session},"notification-addon")),B&&M&&Q.push(jsxRuntimeExports.jsx(LocaleSelector,{showText:!1},"locale-selector")),D&&I){const X=[];L&&(N?N.slice(0,5):[]).forEach(ae=>{X.push({label:ae.title,icon:ae.icon?jsxRuntimeExports.jsx("iconify-icon",{icon:ae.icon,height:24,style:{marginRight:8}}):null,component:"a",href:ae.link,key:ae.link})}),Q.push(jsxRuntimeExports.jsx(SessionBlocklet,{session:I.session,locale:M},"session-blocklet")),Q.push(jsxRuntimeExports.jsx(SessionUser,{session:I.session,locale:M,menu:X,showRole:!0,...T},"session-user"))}return typeof C=="function"&&(Q=C(Q)||[]),Q})();return reactExports.createElement(jsxRuntimeExports.Fragment,null,...Array.isArray(F)?F:[F])}HeaderAddons.propTypes={formattedBlocklet:PropTypes.object.isRequired,addons:PropTypes.oneOfType([PropTypes.func,PropTypes.node]),sessionManagerProps:SessionManagerProps};HeaderAddons.defaultProps={addons:null,sessionManagerProps:{showRole:!0}};const useWalletHiddenTopbar=()=>{const _=useBrowser();reactExports.useEffect(()=>{(_.wallet||_.arcSphere)&&default_1$r.call("arcHideTopBar","{}")},[_])};function Dashboard({meta:_,fallbackUrl:C,invalidPathFallback:T,headerAddons:I,sessionManagerProps:M,links:D,...B}){var le;useWalletHiddenTopbar();const L=reactExports.useContext(SessionContext),N=(le=L==null?void 0:L.session)==null?void 0:le.user,V=N==null?void 0:N.role,{locale:F}=useLocaleContext()||{},U=reactExports.useMemo(()=>{const pe=Object.assign({},window.blocklet,_);try{return formatBlockletInfo(pe)}catch(me){return console.error("Failed to format blocklet info",me,pe),pe}},[_]),{localizedNav:H,flattened:G,matchedIndex:Y}=reactExports.useMemo(()=>{var _e;let pe=getLocalizedNavigation((_e=U==null?void 0:U.navigation)==null?void 0:_e.dashboard,F)||[];pe=filterNavByRole(pe,V),pe=mapRecursive(pe,Re=>{let Ve=null;return Re.icon&&(Re.icon.startsWith("http")||Re.icon.startsWith("data:")?Ve=jsxRuntimeExports.jsx(Img,{src:Re.icon}):Ve=jsxRuntimeExports.jsx("iconify-icon",{height:"100%",width:"100%",icon:Re.icon})),{title:Re.title,url:Re.link,icon:Ve,external:!0,children:Re.items}},"items");const me=flatRecursive(pe).filter(Re=>!!Re.url),ve=matchPaths(me.map(Re=>Re.url));return ve!==-1&&(me[ve].active=!0),{localizedNav:pe,flattened:me,matchedIndex:ve}},[U,F,V]),Z=typeof D=="function"?D(H):[...H,...D];if(reactExports.useLayoutEffect(()=>{N&&!(G!=null&&G.length)&&C&&(window.location.href=C)},[C]),reactExports.useLayoutEffect(()=>{N&&(G!=null&&G.length)&&Y===-1&&T&&T()},[T,G,Y]),!U.appName)return null;const{appLogo:Q,appLogoRect:X,appName:oe}=U,ae=jsxRuntimeExports.jsx(HeaderAddons,{formattedBlocklet:U,addons:I,sessionManagerProps:M});return jsxRuntimeExports.jsx(DashboardWrapper,{title:oe,fullWidth:!0,sidebarWidth:128,legacy:!1,links:Z,...B,headerProps:{homeLink:publicPath,logo:jsxRuntimeExports.jsx("img",{src:X||Q,alt:"logo"}),addons:ae,...B.headerProps}})}Dashboard.propTypes={meta:BlockletMetaProps,fallbackUrl:PropTypes.string,invalidPathFallback:PropTypes.func,headerAddons:PropTypes.oneOfType([PropTypes.func,PropTypes.node]),sessionManagerProps:SessionManagerProps,links:PropTypes.oneOfType([PropTypes.array,PropTypes.func])};Dashboard.defaultProps={meta:{},fallbackUrl:publicPath,invalidPathFallback:null,headerAddons:void 0,sessionManagerProps:{showRole:!0,onLogout:()=>{window.location.href=publicPath}},links:[]};const withDeprecated=(_,{name:C,alternative:T})=>function(M){return reactExports.useEffect(()=>{},[]),jsxRuntimeExports.jsx(_,{...M})},variants={light:"fal",regular:"far",solid:"fas"};function Icon$1({name:_,color:C=colors$2.grey[900],size:T=24,variant:I="light",rounded:M=!1,style:D={},className:B="",forwardedRef:L,...N}){const V=jsxRuntimeExports.jsx("i",{ref:L,className:`${variants[I]} fa-${_} ${M?"":B}`,style:Object.assign({color:C,fontSize:`${T}px`},D||{})});return M?jsxRuntimeExports.jsx(Span,{ref:L,size:T,color:C,className:B,...N,children:V}):V}const Span=styled("span")`
|
|
2572
|
+
`;function DashboardWrapper({legacy:_=!0,...C}){return _?jsxRuntimeExports.jsx(Dashboard$2,{...C}):jsxRuntimeExports.jsx(FullPageProvider,{children:jsxRuntimeExports.jsx(Dashboard$1,{...C})})}const BlockletMetaProps=PropTypes.shape({appLogo:PropTypes.node,appName:PropTypes.string,theme:PropTypes.shape({background:PropTypes.string}),enableConnect:PropTypes.bool,enableLocale:PropTypes.bool,navigation:PropTypes.arrayOf(PropTypes.shape({title:PropTypes.oneOfType([PropTypes.string,PropTypes.object]),link:PropTypes.oneOfType([PropTypes.string,PropTypes.object]),icon:PropTypes.string,items:PropTypes.arrayOf(PropTypes.shape({title:PropTypes.oneOfType([PropTypes.string,PropTypes.object]),link:PropTypes.oneOfType([PropTypes.string,PropTypes.object])}))}))}),SessionManagerProps=PropTypes.shape({showText:PropTypes.bool,showRole:PropTypes.bool,switchDid:PropTypes.bool,switchProfile:PropTypes.bool,switchPassport:PropTypes.bool,disableLogout:PropTypes.bool,onLogin:PropTypes.func,onLogout:PropTypes.func,onSwitchDid:PropTypes.func,onSwitchProfile:PropTypes.func,onSwitchPassport:PropTypes.func,menu:PropTypes.array,menuRender:PropTypes.func,dark:PropTypes.bool,size:PropTypes.number}),mapRecursive=(_,C,T="children")=>_.map(I=>Array.isArray(I[T])?C({...I,[T]:mapRecursive(I[T],C,T)}):C(I)),flatRecursive=(_,C="children")=>{const T=[];return mapRecursive(_,I=>T.push(I),C),T},filterRecursive=(_,C,T="children")=>_.map(I=>({...I})).filter(I=>{const M=I[T];if(Array.isArray(M)){const B=filterRecursive(M,C,T);I[T]=B!=null&&B.length?B:void 0}const D={filteredChildren:I[T],isLeaf:!(M!=null&&M.length)};return C(I,D)}),isUrl=_=>/^https?:\/\//.test(_),matchPath=_=>{if(!_||!(_!=null&&_.startsWith("/")))return!1;const C=M=>M.endsWith("/")?M:`${M}/`,T=C(window.location.pathname),I=C(new URL(_,window.location.origin).pathname);return T.startsWith(I)},matchPaths=(_=[])=>{const C=_.map((I,M)=>({path:I,index:M})).filter(I=>matchPath(I.path));return C!=null&&C.length?C.slice(1).reduce((I,M)=>I.path.length>=M.path.length?I:M,C[0]).index:-1};var Wo,Zo;const publicPath=((Wo=window==null?void 0:window.blocklet)==null?void 0:Wo.groupPrefix)||((Zo=window==null?void 0:window.blocklet)==null?void 0:Zo.prefix)||"/",formatTheme=_=>{const C={..._},T=_==null?void 0:_.background;return typeof T=="string"?C.background={header:T,footer:T,default:T}:T&&typeof T=="object"&&(C.background={header:T.header||T.default,footer:T.footer||T.default,default:T.default}),C},getLink=(_,C="en")=>{if(typeof _=="string"){if(isUrl(_)){const I=new URL(_);return I.searchParams.set("locale",C),I.href}const T=new URL(_,window.location.origin);return T.searchParams.set("locale",C),T.pathname+T.search}return typeof _=="object"?_[C]||(_==null?void 0:_.en)||(_==null?void 0:_.zh):_},getLocalizedNavigation=(_,C="en")=>{if(!(_!=null&&_.length))return _;const T=(I,M)=>typeof I=="string"?I:typeof I=="object"?I[M]||(I==null?void 0:I.en)||(I==null?void 0:I.zh):I;return mapRecursive(_,I=>{var M;return{...I,title:T(I.title,C),link:(M=I.items)!=null&&M.length?I.link:getLink(I.link,C),_rawLink:I.link}},"items")},formatNavigation=_=>mapRecursive(_,C=>C.role?{...C,role:Array.isArray(C.role)?C.role:[C.role]}:C,"items"),parseNavigation$1=_=>{if(!(_!=null&&_.length))return null;const C=formatNavigation(_),T={header:[],footer:[],social:[],bottom:[],dashboard:[],sessionManager:[],userCenter:[]};return C.forEach(I=>{var M;I.section?Array.isArray(I.section)?I.section.forEach(D=>{var B;(B=T[D])==null||B.push(I)}):typeof I.section=="string"&&((M=T[I.section])==null||M.push(I)):T.header.push(I)}),T},formatBlockletInfo=_=>{if(!_)return null;const C={..._};return C.theme=formatTheme(C.theme),C.navigation=parseNavigation$1(filterValidNavItems(C.navigation)),C},filterValidNavItems=(_=[])=>filterRecursive(_,(C,T)=>{var I;return!!C.link||((I=T.filteredChildren)==null?void 0:I.length)},"items"),filterNavByRole=(_,C)=>filterRecursive(_,(T,I)=>{var D;const M=!T.role||C&&(T.role.includes(C)||T.role.includes("guest"));return I.isLeaf?M:M&&((D=I.filteredChildren)==null?void 0:D.length)},"items"),data$f={top:-960,width:960,height:960,body:'<path fill="currentColor" d="M510-600v-210q0-12.75 8.625-21.375T540-840h270q12.75 0 21.375 8.625T840-810v210q0 12.75-8.625 21.375T810-570H540q-12.75 0-21.375-8.625T510-600M120-480v-330q0-12.75 8.625-21.375T150-840h270q12.75 0 21.375 8.625T450-810v330q0 12.75-8.625 21.375T420-450H150q-12.75 0-21.375-8.625T120-480m390 330v-330q0-12.75 8.625-21.375T540-510h270q12.75 0 21.375 8.625T840-480v330q0 12.75-8.625 21.375T810-120H540q-12.75 0-21.375-8.625T510-150m-390 0v-210q0-12.75 8.625-21.375T150-390h270q12.75 0 21.375 8.625T450-360v210q0 12.75-8.625 21.375T420-120H150q-12.75 0-21.375-8.625T120-150m60-360h210v-270H180zm390 330h210v-270H570zm0-450h210v-150H570zM180-180h210v-150H180zm210-150"/>'},data$e={width:24,height:24,body:'<path fill="currentColor" d="M15.95 12.3L11.7 8.05q-.15-.15-.212-.325t-.063-.375q0-.2.063-.375t.212-.325l4.25-4.25q.15-.15.325-.212t.375-.063q.2 0 .375.063t.325.212l4.25 4.25q.15.15.213.325t.062.375q0 .2-.063.375t-.212.325l-4.25 4.25q-.15.15-.325.213t-.375.062q-.2 0-.375-.062t-.325-.213ZM3 10V4q0-.425.288-.713T4 3h6q.425 0 .713.288T11 4v6q0 .425-.288.713T10 11H4q-.425 0-.713-.288T3 10Zm10 10v-6q0-.425.288-.713T14 13h6q.425 0 .713.288T21 14v6q0 .425-.288.713T20 21h-6q-.425 0-.713-.288T13 20ZM3 20v-6q0-.425.288-.713T4 13h6q.425 0 .713.288T11 14v6q0 .425-.288.713T10 21H4q-.425 0-.713-.288T3 20ZM5 9h4V5H5v4Zm11.675 1.2L19.5 7.375L16.675 4.55L13.85 7.375l2.825 2.825ZM15 19h4v-4h-4v4ZM5 19h4v-4H5v4ZM9 9Zm4.85-1.625ZM9 15Zm6 0Z"/>'};function SessionBlocklet({session:_,locale:C="zh",size:T=24}){const I=(window==null?void 0:window.blocklet)||{},M=(I.navigation||[]).filter(N=>N.section==="sessionManager"&&!["/sessionManager"].includes(N.id)).filter(N=>{var V;return!!((N==null?void 0:N.role)||[]).includes(((V=_==null?void 0:_.user)==null?void 0:V.role)||"guest")}).map(N=>{const V=((I==null?void 0:I.componentMountPoints)||[]).find(F=>N.component===F.name);return{...N,component:V}}),D=reactExports.useRef(null),B=useReactive({open:!1}),L=useMemoizedFn((N=!B.open)=>{B.open=N});return M.length===0||!(_!=null&&_.user)?null:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(IconButton,{size:"medium",ref:D,onClick:()=>L(),children:jsxRuntimeExports.jsx(Icon$3,{icon:data$f,fontSize:T,style:{transform:"scale(1.08)"}})}),jsxRuntimeExports.jsx(Popper,{open:B.open,anchorEl:D.current,transition:!0,placement:"bottom-end",sx:{zIndex:1600},children:({TransitionProps:N})=>jsxRuntimeExports.jsx(ClickAwayListener,{onClickAway:V=>{V.preventDefault(),V.stopPropagation(),L(!1)},children:jsxRuntimeExports.jsx(Fade,{...N,timeout:350,children:jsxRuntimeExports.jsxs(Paper,{variant:"outlined",sx:{borderRadius:3,width:350,maxWidth:"90vw",borderColor:colors$1.lineStep,p:2,border:"0 !important",boxShadow:`0px 8px 16px 0px ${colors$1.gray6}, 0px 0px 0px 1px ${colors$1.gray6}`},children:[jsxRuntimeExports.jsx(List,{sx:{display:"grid",gridTemplateColumns:"repeat(auto-fill, 100px)",gridAutoRows:"minmax(100px, max-content)",justifyContent:"space-between",maxHeight:350,overflowY:"auto",p:0},children:M.map(V=>{var F;return jsxRuntimeExports.jsx(ListItem,{disablePadding:!0,children:jsxRuntimeExports.jsxs(ListItemButton,{href:V.link,sx:{p:1,display:"flex",flexDirection:"column",alignItems:"center",gap:1,width:"100%",height:"100%",borderRadius:2,"&:hover":{backgroundColor:colors$1.surfacePrimarySubtitle}},children:[(F=V==null?void 0:V.component)!=null&&F.did?jsxRuntimeExports.jsx(Box,{component:"img",src:`${BLOCKLET_SERVICE_PATH_PREFIX$1}/blocklet/logo-bundle/${V.component.did}`,sx:{borderRadius:2,width:50,height:50,objectFit:"contain"},alt:"SessionBlocklet component icon"}):jsxRuntimeExports.jsx(Icon$3,{fontSize:50,icon:V.icon||data$e,color:colors$1.textSubtitle}),jsxRuntimeExports.jsx(Typography$1,{sx:{fontSize:"12px",color:colors$1.textBase,textAlign:"center",lineHeight:"normal"},children:getTranslation(V.title,C)})]})},V.id)})}),jsxRuntimeExports.jsx(SessionPermission,{session:_,children:jsxRuntimeExports.jsx(ButtonComponent,{variant:"outlined",fullWidth:!0,href:NAVIGATION_URL,sx:{mt:1,borderRadius:2,color:colors$1.textBase,borderColor:colors$1.lineBorderStrong,"&:hover":{color:colors$1.primaryBase,borderColor:colors$1.primaryBase}},children:C==="zh"?"管理":"Manage"})})]})})})})]})}var Notification$1={};Object.defineProperty(Notification$1,"__esModule",{value:!0});var default_1$g=Notification$1.default=void 0;_interopRequireDefault$j(reactExports);var _jsxRuntime$j=jsxRuntimeExports;function _interopRequireDefault$j(_){return _&&_.__esModule?_:{default:_}}function ownKeys$c(_,C){var T=Object.keys(_);if(Object.getOwnPropertySymbols){var I=Object.getOwnPropertySymbols(_);C&&(I=I.filter(function(M){return Object.getOwnPropertyDescriptor(_,M).enumerable})),T.push.apply(T,I)}return T}function _objectSpread$9(_){for(var C=1;C<arguments.length;C++){var T=arguments[C]!=null?arguments[C]:{};C%2?ownKeys$c(Object(T),!0).forEach(function(I){_defineProperty$b(_,I,T[I])}):Object.getOwnPropertyDescriptors?Object.defineProperties(_,Object.getOwnPropertyDescriptors(T)):ownKeys$c(Object(T)).forEach(function(I){Object.defineProperty(_,I,Object.getOwnPropertyDescriptor(T,I))})}return _}function _defineProperty$b(_,C,T){return(C=_toPropertyKey$4(C))in _?Object.defineProperty(_,C,{value:T,enumerable:!0,configurable:!0,writable:!0}):_[C]=T,_}function _toPropertyKey$4(_){var C=_toPrimitive$4(_,"string");return typeof C=="symbol"?C:C+""}function _toPrimitive$4(_,C){if(typeof _!="object"||!_)return _;var T=_[Symbol.toPrimitive];if(T!==void 0){var I=T.call(_,C||"default");if(typeof I!="object")return I;throw new TypeError("@@toPrimitive must return a primitive value.")}return(C==="string"?String:Number)(_)}var Component$3=function _(C){return(0,_jsxRuntime$j.jsxs)("svg",_objectSpread$9(_objectSpread$9({},C),{},{children:[(0,_jsxRuntime$j.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.25107 2.50001C6.67528 2.49385 4.50443 4.60042 4.48473 7.00559V12.7899C4.48473 13.5826 4.40145 14.5678 3.90413 15.4998H16.0954C15.599 14.5684 15.5146 13.5831 15.5146 12.7889V7.01078C15.4804 4.60752 13.3051 2.50948 10.7176 2.50301C10.7174 2.50301 10.7177 2.50301 10.7176 2.50301L9.25107 2.50001ZM17.0146 7.00094V12.7889C17.0146 13.5789 17.1156 14.3509 17.5456 15.0078L17.8325 15.4458C18.2685 16.1098 17.7995 16.9998 17.0146 16.9998H2.98473C2.19974 16.9998 1.72975 16.1098 2.16674 15.4458L2.45374 15.0078C2.88473 14.3509 2.98473 13.5799 2.98473 12.7899V6.99994C3.00773 3.70898 5.9107 0.992018 9.25465 1.00002L10.7206 1.00302C14.0646 1.01102 16.9746 3.70898 17.0146 7.00094Z",fill:"currentColor"}),(0,_jsxRuntime$j.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.0602 18.0606C11.3415 17.7793 11.4996 17.3978 11.4996 17H12.9996C12.9996 17.7956 12.6835 18.5587 12.1209 19.1213C11.5583 19.6839 10.7952 19.9999 9.9996 19.9999C9.20396 19.9999 8.4409 19.6839 7.8783 19.1213C7.3157 18.5587 6.99963 17.7956 6.99963 17H8.49963C8.49963 17.3978 8.65767 17.7793 8.93896 18.0606C9.22026 18.3419 9.60178 18.4999 9.9996 18.4999C10.3974 18.4999 10.7789 18.3419 11.0602 18.0606Z",fill:"currentColor"})]}))};Component$3.defaultProps={width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"};Component$3.displayName="notification";default_1$g=Notification$1.default=Component$3;const client$1={};function create$a(_="admin"){var I;let C="/";!(window!=null&&window.blocklet)&&((I=window==null?void 0:window.env)!=null&&I.apiPrefix)&&(C=window.env.apiPrefix);const T=joinURL(C,"/.well-known/service",_);return new browser.WsClient(T,{heartbeatIntervalMs:100*1e3,params:()=>({token:Cookie.get("login_token")})})}function getWsClient(_="admin"){return client$1[_]||(client$1[_]=create$a(_)),client$1[_]}const useListenWsClient=(_="admin")=>{const C=reactExports.useContext(SessionContext),{session:T}=C??{};return!client$1[_]&&T.user&&(client$1[_]=getWsClient(_),client$1[_].connect()),client$1[_]};function NotificationAddon({session:_={}}){const{unReadCount:C,user:T,setUnReadCount:I}=_,M=useCreation(()=>T==null?void 0:T.did,[T]),D=useCreation(()=>{const{navigation:V}=window.blocklet??{},F=V==null?void 0:V.find(U=>U.id==="/userCenter/notification");return F==null?void 0:F.link}),B=useListenWsClient("user"),L=useCreation(()=>`${window.blocklet.did}/${M}/${constant.EVENTS.NOTIFICATION_BLOCKLET_CREATE}`,[M]),N=reactExports.useCallback(V=>{const{receivers:F}=V??{},{receiver:U}=F[0]??{};U===M&&I(H=>H+1)},[M,I]);return reactExports.useEffect(()=>(B&&B.on(L,N),()=>{B&&B.off(L,N)}),[B,I,N,L]),!_.user||!D?null:jsxRuntimeExports.jsx(IconButton,{size:"medium",variant:"outlined",href:D,sx:{borderRadius:2,borderColor:colors$1.lineBorderStrong,"&:hover":{borderRadius:"50%"}},children:jsxRuntimeExports.jsx(Badge,{badgeContent:C,color:"error",invisible:C===0,children:jsxRuntimeExports.jsx(default_1$g,{style:{width:"auto",height:24}})})})}NotificationAddon.propTypes={session:PropTypes.object};NotificationAddon.defaultProps={session:{}};const hasNotification=()=>{var C;return!!(((C=window==null?void 0:window.blocklet)==null?void 0:C.navigation)??[]).find(T=>T.id==="/userCenter/notification")};function HeaderAddons({formattedBlocklet:_,addons:C,sessionManagerProps:T}){var H,G,Y,Z;const I=reactExports.useContext(SessionContext),{locale:M}=useLocaleContext()||{},{enableConnect:D=!0,enableLocale:B=!0}=_,L=!!((H=I==null?void 0:I.session)!=null&&H.user);let N=getLocalizedNavigation((G=_==null?void 0:_.navigation)==null?void 0:G.sessionManager,M)||[];N=filterNavByRole(N,(Z=(Y=I==null?void 0:I.session)==null?void 0:Y.user)==null?void 0:Z.role);const F=(()=>{if(C&&typeof C!="function")return Array.isArray(C)?C:[C];let Q=[];if(hasNotification()&&Q.push(jsxRuntimeExports.jsx(NotificationAddon,{session:I.session},"notification-addon")),B&&M&&Q.push(jsxRuntimeExports.jsx(LocaleSelector,{showText:!1},"locale-selector")),D&&I){const X=[];L&&(N?N.slice(0,5):[]).forEach(ae=>{X.push({label:ae.title,icon:ae.icon?jsxRuntimeExports.jsx("iconify-icon",{icon:ae.icon,height:24,style:{marginRight:8}}):null,component:"a",href:ae.link,key:ae.link})}),Q.push(jsxRuntimeExports.jsx(SessionBlocklet,{session:I.session,locale:M},"session-blocklet")),Q.push(jsxRuntimeExports.jsx(SessionUser,{session:I.session,locale:M,menu:X,showRole:!0,...T},"session-user"))}return typeof C=="function"&&(Q=C(Q)||[]),Q})();return reactExports.createElement(jsxRuntimeExports.Fragment,null,...Array.isArray(F)?F:[F])}HeaderAddons.propTypes={formattedBlocklet:PropTypes.object.isRequired,addons:PropTypes.oneOfType([PropTypes.func,PropTypes.node]),sessionManagerProps:SessionManagerProps};HeaderAddons.defaultProps={addons:null,sessionManagerProps:{showRole:!0}};const useWalletHiddenTopbar=()=>{const _=useBrowser();reactExports.useEffect(()=>{(_.wallet||_.arcSphere)&&default_1$r.call("arcHideTopBar","{}")},[_])};function Dashboard({meta:_,fallbackUrl:C,invalidPathFallback:T,headerAddons:I,sessionManagerProps:M,links:D,...B}){var le;useWalletHiddenTopbar();const L=reactExports.useContext(SessionContext),N=(le=L==null?void 0:L.session)==null?void 0:le.user,V=N==null?void 0:N.role,{locale:F}=useLocaleContext()||{},U=reactExports.useMemo(()=>{const pe=Object.assign({},window.blocklet,_);try{return formatBlockletInfo(pe)}catch(me){return console.error("Failed to format blocklet info",me,pe),pe}},[_]),{localizedNav:H,flattened:G,matchedIndex:Y}=reactExports.useMemo(()=>{var _e;let pe=getLocalizedNavigation((_e=U==null?void 0:U.navigation)==null?void 0:_e.dashboard,F)||[];pe=filterNavByRole(pe,V),pe=mapRecursive(pe,Re=>{let Ve=null;return Re.icon&&(Re.icon.startsWith("http")||Re.icon.startsWith("data:")?Ve=jsxRuntimeExports.jsx(Img,{src:Re.icon}):Ve=jsxRuntimeExports.jsx("iconify-icon",{height:"100%",width:"100%",icon:Re.icon})),{title:Re.title,url:Re.link,icon:Ve,external:!0,children:Re.items}},"items");const me=flatRecursive(pe).filter(Re=>!!Re.url),ve=matchPaths(me.map(Re=>Re.url));return ve!==-1&&(me[ve].active=!0),{localizedNav:pe,flattened:me,matchedIndex:ve}},[U,F,V]),Z=typeof D=="function"?D(H):[...H,...D];if(reactExports.useLayoutEffect(()=>{N&&!(G!=null&&G.length)&&C&&(window.location.href=C)},[C]),reactExports.useLayoutEffect(()=>{N&&(G!=null&&G.length)&&Y===-1&&T&&T()},[T,G,Y]),!U.appName)return null;const{appLogo:Q,appLogoRect:X,appName:oe}=U,ae=jsxRuntimeExports.jsx(HeaderAddons,{formattedBlocklet:U,addons:I,sessionManagerProps:M});return jsxRuntimeExports.jsx(DashboardWrapper,{title:oe,fullWidth:!0,sidebarWidth:128,legacy:!1,links:Z,...B,headerProps:{homeLink:publicPath,logo:jsxRuntimeExports.jsx("img",{src:X||Q,alt:"logo"}),addons:ae,...B.headerProps}})}Dashboard.propTypes={meta:BlockletMetaProps,fallbackUrl:PropTypes.string,invalidPathFallback:PropTypes.func,headerAddons:PropTypes.oneOfType([PropTypes.func,PropTypes.node]),sessionManagerProps:SessionManagerProps,links:PropTypes.oneOfType([PropTypes.array,PropTypes.func])};Dashboard.defaultProps={meta:{},fallbackUrl:publicPath,invalidPathFallback:null,headerAddons:void 0,sessionManagerProps:{showRole:!0,onLogout:()=>{window.location.href=publicPath}},links:[]};const withDeprecated=(_,{name:C,alternative:T})=>function(M){return reactExports.useEffect(()=>{},[]),jsxRuntimeExports.jsx(_,{...M})},variants={light:"fal",regular:"far",solid:"fas"};function Icon$1({name:_,color:C=colors$2.grey[900],size:T=24,variant:I="light",rounded:M=!1,style:D={},className:B="",forwardedRef:L,...N}){const V=jsxRuntimeExports.jsx("i",{ref:L,className:`${variants[I]} fa-${_} ${M?"":B}`,style:Object.assign({color:C,fontSize:`${T}px`},D||{})});return M?jsxRuntimeExports.jsx(Span,{ref:L,size:T,color:C,className:B,...N,children:V}):V}const Span=styled("span")`
|
|
2573
2573
|
width: ${_=>_.size*2}px;
|
|
2574
2574
|
height: ${_=>_.size*2}px;
|
|
2575
2575
|
border-radius: 50%;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as _,L as i}from"./vendor-arcblock-
|
|
1
|
+
import{f as _,L as i}from"./vendor-arcblock-BFUPp1Ez.js";import{y as u,_ as e}from"./index-uYcwdGZL.js";import{j as r}from"./vendor-mui-core-xF5F4eT7.js";const a={en:_(u),ar:()=>e(()=>import("./ar-BFUPmTkR.js"),[]).then(t=>_(t.default)),de:()=>e(()=>import("./de-hV0yD3gq.js"),[]).then(t=>_(t.default)),es:()=>e(()=>import("./es-BcSAobJW.js"),[]).then(t=>_(t.default)),fr:()=>e(()=>import("./fr-8qti32p1.js"),[]).then(t=>_(t.default)),hi:()=>e(()=>import("./hi-DDEUhQcX.js"),[]).then(t=>_(t.default)),id:()=>e(()=>import("./id-DkUYINLx.js"),[]).then(t=>_(t.default)),ja:()=>e(()=>import("./ja-C2LP4WQG.js"),[]).then(t=>_(t.default)),ko:()=>e(()=>import("./ko-C-DMeONa.js"),[]).then(t=>_(t.default)),pt:()=>e(()=>import("./pt-CbxvF__Z.js"),[]).then(t=>_(t.default)),ru:()=>e(()=>import("./ru-DLHrAeE7.js"),[]).then(t=>_(t.default)),th:()=>e(()=>import("./th-Dil9kwjH.js"),[]).then(t=>_(t.default)),vi:()=>e(()=>import("./vi-B46hyfUM.js"),[]).then(t=>_(t.default)),"zh-TW":()=>e(()=>import("./zh-tw-Ci21sS2Y.js"),[]).then(t=>_(t.default)),zh:()=>e(()=>import("./zh-DWWuPzr1.js"),[]).then(t=>_(t.default))};function f(t){return function(o){return r.jsx(i,{translations:a,children:r.jsx(t,{...o})})}}export{f as w};
|
package/dist/index.html
CHANGED
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
background-color: transparent;
|
|
16
16
|
}
|
|
17
17
|
</style>
|
|
18
|
-
<script type="module" crossorigin src="/.well-known/service/static/assets/index-
|
|
18
|
+
<script type="module" crossorigin src="/.well-known/service/static/assets/index-uYcwdGZL.js"></script>
|
|
19
19
|
<link rel="modulepreload" crossorigin href="/.well-known/service/static/assets/vendor-react-D-afvo_7.js">
|
|
20
20
|
<link rel="modulepreload" crossorigin href="/.well-known/service/static/assets/vendor-mui-core-xF5F4eT7.js">
|
|
21
21
|
<link rel="modulepreload" crossorigin href="/.well-known/service/static/assets/vendor-utils-5TjOM6td.js">
|
|
22
22
|
<link rel="modulepreload" crossorigin href="/.well-known/service/static/assets/vendor-hooks-BKxTDk_P.js">
|
|
23
|
-
<link rel="modulepreload" crossorigin href="/.well-known/service/static/assets/vendor-arcblock-
|
|
23
|
+
<link rel="modulepreload" crossorigin href="/.well-known/service/static/assets/vendor-arcblock-BFUPp1Ez.js">
|
|
24
24
|
<link rel="stylesheet" crossorigin href="/.well-known/service/static/assets/vendor-arcblock-DhgPdlEj.css">
|
|
25
25
|
<link rel="manifest" href="/.well-known/service/static/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/.well-known/service/static/registerSW.js"></script></head>
|
|
26
26
|
|
package/dist/service-worker.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
try{self["workbox:core:7.0.0"]&&_()}catch{}const ae=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},ne=ae;let y=class extends Error{constructor(e,t){const r=ne(e,t);super(r),this.name=e,this.details=t}};const ie=new Set,d={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},N=s=>[d.prefix,s,d.suffix].filter(e=>e&&e.length>0).join("-"),ce=s=>{for(const e of Object.keys(d))s(e)},oe={updateDetails:s=>{ce(e=>{typeof s[e]=="string"&&(d[e]=s[e])})},getGoogleAnalyticsName:s=>s||N(d.googleAnalytics),getPrecacheName:s=>s||N(d.precache),getPrefix:()=>d.prefix,getRuntimeName:s=>s||N(d.runtime),getSuffix:()=>d.suffix};function q(s,e){const t=new URL(s);for(const r of e)t.searchParams.delete(r);return t.href}async function le(s,e,t,r){const a=q(e.url,t);if(e.url===a)return s.match(e,r);const i=Object.assign(Object.assign({},r),{ignoreSearch:!0}),n=await s.keys(e,i);for(const c of n){const o=q(c.url,t);if(a===o)return s.match(c,r)}}let he=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};async function ue(){for(const s of ie)await s()}const fe=s=>new URL(String(s),location.href).href.replace(new RegExp(`^${location.origin}`),"");function de(s){return new Promise(e=>setTimeout(e,s))}function pe(){self.addEventListener("activate",()=>self.clients.claim())}try{self["workbox:core:7.0.0"]&&_()}catch{}const ge=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},me=ge;let u=class extends Error{constructor(e,t){const r=me(e,t);super(r),this.name=e,this.details=t}};const p={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},M=s=>[p.prefix,s,p.suffix].filter(e=>e&&e.length>0).join("-"),we=s=>{for(const e of Object.keys(p))s(e)},j={updateDetails:s=>{we(e=>{typeof s[e]=="string"&&(p[e]=s[e])})},getGoogleAnalyticsName:s=>s||M(p.googleAnalytics),getPrecacheName:s=>s||M(p.precache),getPrefix:()=>p.prefix,getRuntimeName:s=>s||M(p.runtime),getSuffix:()=>p.suffix};function H(s,e){const t=e();return s.waitUntil(t),t}try{self["workbox:precaching:7.0.0"]&&_()}catch{}const ye="__WB_REVISION__";function _e(s){if(!s)throw new u("add-to-cache-list-unexpected-type",{entry:s});if(typeof s=="string"){const i=new URL(s,location.href);return{cacheKey:i.href,url:i.href}}const{revision:e,url:t}=s;if(!t)throw new u("add-to-cache-list-unexpected-type",{entry:s});if(!e){const i=new URL(t,location.href);return{cacheKey:i.href,url:i.href}}const r=new URL(t,location.href),a=new URL(t,location.href);return r.searchParams.set(ye,e),{cacheKey:r.href,url:a.href}}class Re{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:r})=>{if(e.type==="install"&&t&&t.originalRequest&&t.originalRequest instanceof Request){const a=t.originalRequest.url;r?this.notUpdatedURLs.push(a):this.updatedURLs.push(a)}return r}}}class be{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:t,params:r})=>{const a=(r==null?void 0:r.cacheKey)||this._precacheController.getCacheKeyForURL(t.url);return a?new Request(a,{headers:t.headers}):t},this._precacheController=e}}let b;function Ce(){if(b===void 0){const s=new Response("");if("body"in s)try{new Response(s.body),b=!0}catch{b=!1}b=!1}return b}async function xe(s,e){let t=null;if(s.url&&(t=new URL(s.url).origin),t!==self.location.origin)throw new u("cross-origin-copy-response",{origin:t});const r=s.clone(),i={headers:new Headers(r.headers),status:r.status,statusText:r.statusText},n=Ce()?r.body:await r.blob();return new Response(n,i)}const ke=s=>new URL(String(s),location.href).href.replace(new RegExp(`^${location.origin}`),"");function B(s,e){const t=new URL(s);for(const r of e)t.searchParams.delete(r);return t.href}async function Ee(s,e,t,r){const a=B(e.url,t);if(e.url===a)return s.match(e,r);const i=Object.assign(Object.assign({},r),{ignoreSearch:!0}),n=await s.keys(e,i);for(const c of n){const o=B(c.url,t);if(a===o)return s.match(c,r)}}class De{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}const Ue=new Set;async function Le(){for(const s of Ue)await s()}function Pe(s){return new Promise(e=>setTimeout(e,s))}try{self["workbox:strategies:7.0.0"]&&_()}catch{}function D(s){return typeof s=="string"?new Request(s):s}let ve=class{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new De,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const r of this._plugins)this._pluginStateMap.set(r,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let r=D(e);if(r.mode==="navigate"&&t instanceof FetchEvent&&t.preloadResponse){const n=await t.preloadResponse;if(n)return n}const a=this.hasCallback("fetchDidFail")?r.clone():null;try{for(const n of this.iterateCallbacks("requestWillFetch"))r=await n({request:r.clone(),event:t})}catch(n){if(n instanceof Error)throw new u("plugin-error-request-will-fetch",{thrownErrorMessage:n.message})}const i=r.clone();try{let n;n=await fetch(r,r.mode==="navigate"?void 0:this._strategy.fetchOptions);for(const c of this.iterateCallbacks("fetchDidSucceed"))n=await c({event:t,request:i,response:n});return n}catch(n){throw a&&await this.runCallbacks("fetchDidFail",{error:n,event:t,originalRequest:a.clone(),request:i.clone()}),n}}async fetchAndCachePut(e){const t=await this.fetch(e),r=t.clone();return this.waitUntil(this.cachePut(e,r)),t}async cacheMatch(e){const t=D(e);let r;const{cacheName:a,matchOptions:i}=this._strategy,n=await this.getCacheKey(t,"read"),c=Object.assign(Object.assign({},i),{cacheName:a});r=await caches.match(n,c);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))r=await o({cacheName:a,matchOptions:i,cachedResponse:r,request:n,event:this.event})||void 0;return r}async cachePut(e,t){const r=D(e);await Pe(0);const a=await this.getCacheKey(r,"write");if(!t)throw new u("cache-put-with-no-response",{url:ke(a.url)});const i=await this._ensureResponseSafeToCache(t);if(!i)return!1;const{cacheName:n,matchOptions:c}=this._strategy,o=await self.caches.open(n),l=this.hasCallback("cacheDidUpdate"),f=l?await Ee(o,a.clone(),["__WB_REVISION__"],c):null;try{await o.put(a,l?i.clone():i)}catch(h){if(h instanceof Error)throw h.name==="QuotaExceededError"&&await Le(),h}for(const h of this.iterateCallbacks("cacheDidUpdate"))await h({cacheName:n,oldResponse:f,newResponse:i.clone(),request:a,event:this.event});return!0}async getCacheKey(e,t){const r=`${e.url} | ${t}`;if(!this._cacheKeys[r]){let a=e;for(const i of this.iterateCallbacks("cacheKeyWillBeUsed"))a=D(await i({mode:t,request:a,event:this.event,params:this.params}));this._cacheKeys[r]=a}return this._cacheKeys[r]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const r of this.iterateCallbacks(e))await r(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if(typeof t[e]=="function"){const r=this._pluginStateMap.get(t);yield i=>{const n=Object.assign(Object.assign({},i),{state:r});return t[e](n)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,r=!1;for(const a of this.iterateCallbacks("cacheWillUpdate"))if(t=await a({request:this.request,response:t,event:this.event})||void 0,r=!0,!t)break;return r||t&&t.status!==200&&(t=void 0),t}},Ne=class{constructor(e={}){this.cacheName=j.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,r=typeof e.request=="string"?new Request(e.request):e.request,a="params"in e?e.params:void 0,i=new ve(this,{event:t,request:r,params:a}),n=this._getResponse(i,r,t),c=this._awaitComplete(n,i,r,t);return[n,c]}async _getResponse(e,t,r){await e.runCallbacks("handlerWillStart",{event:r,request:t});let a;try{if(a=await this._handle(t,e),!a||a.type==="error")throw new u("no-response",{url:t.url})}catch(i){if(i instanceof Error){for(const n of e.iterateCallbacks("handlerDidError"))if(a=await n({error:i,event:r,request:t}),a)break}if(!a)throw i}for(const i of e.iterateCallbacks("handlerWillRespond"))a=await i({event:r,request:t,response:a});return a}async _awaitComplete(e,t,r,a){let i,n;try{i=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:a,request:r,response:i}),await t.doneWaiting()}catch(c){c instanceof Error&&(n=c)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:r,response:i,error:n}),t.destroy(),n)throw n}};class w extends Ne{constructor(e={}){e.cacheName=j.getPrecacheName(e.cacheName),super(e),this._fallbackToNetwork=e.fallbackToNetwork!==!1,this.plugins.push(w.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const r=await t.cacheMatch(e);return r||(t.event&&t.event.type==="install"?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let r;const a=t.params||{};if(this._fallbackToNetwork){const i=a.integrity,n=e.integrity,c=!n||n===i;r=await t.fetch(new Request(e,{integrity:e.mode!=="no-cors"?n||i:void 0})),i&&c&&e.mode!=="no-cors"&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,r.clone()))}else throw new u("missing-precache-entry",{cacheName:this.cacheName,url:e.url});return r}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();const r=await t.fetch(e);if(!await t.cachePut(e,r.clone()))throw new u("bad-precaching-response",{url:e.url,status:r.status});return r}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[r,a]of this.plugins.entries())a!==w.copyRedirectedCacheableResponsesPlugin&&(a===w.defaultPrecacheCacheabilityPlugin&&(e=r),a.cacheWillUpdate&&t++);t===0?this.plugins.push(w.defaultPrecacheCacheabilityPlugin):t>1&&e!==null&&this.plugins.splice(e,1)}}w.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate({response:s}){return!s||s.status>=400?null:s}};w.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate({response:s}){return s.redirected?await xe(s):s}};class Me{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:r=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new w({cacheName:j.getPrecacheName(e),plugins:[...t,new be({precacheController:this})],fallbackToNetwork:r}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){const t=[];for(const r of e){typeof r=="string"?t.push(r):r&&r.revision===void 0&&t.push(r.url);const{cacheKey:a,url:i}=_e(r),n=typeof r!="string"&&r.revision?"reload":"default";if(this._urlsToCacheKeys.has(i)&&this._urlsToCacheKeys.get(i)!==a)throw new u("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(i),secondEntry:a});if(typeof r!="string"&&r.integrity){if(this._cacheKeysToIntegrities.has(a)&&this._cacheKeysToIntegrities.get(a)!==r.integrity)throw new u("add-to-cache-list-conflicting-integrities",{url:i});this._cacheKeysToIntegrities.set(a,r.integrity)}if(this._urlsToCacheKeys.set(i,a),this._urlsToCacheModes.set(i,n),t.length>0){const c=`Workbox is precaching URLs without revision info: ${t.join(", ")}
|
|
2
|
-
This is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(c)}}}install(e){return H(e,async()=>{const t=new Re;this.strategy.plugins.push(t);for(const[i,n]of this._urlsToCacheKeys){const c=this._cacheKeysToIntegrities.get(n),o=this._urlsToCacheModes.get(i),l=new Request(i,{integrity:c,cache:o,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:n},request:l,event:e}))}const{updatedURLs:r,notUpdatedURLs:a}=t;return{updatedURLs:r,notUpdatedURLs:a}})}activate(e){return H(e,async()=>{const t=await self.caches.open(this.strategy.cacheName),r=await t.keys(),a=new Set(this._urlsToCacheKeys.values()),i=[];for(const n of r)a.has(n.url)||(await t.delete(n),i.push(n.url));return{deletedURLs:i}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,r=this.getCacheKeyForURL(t);if(r)return(await self.caches.open(this.strategy.cacheName)).match(r)}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new u("non-precached-url",{url:e});return r=>(r.request=new Request(e),r.params=Object.assign({cacheKey:t},r.params),this.strategy.handle(r))}}let T;const J=()=>(T||(T=new Me),T);try{self["workbox:routing:7.0.0"]&&_()}catch{}const z="GET",P=s=>s&&typeof s=="object"?s:{handle:s};let E=class{constructor(e,t,r=z){this.handler=P(t),this.match=e,this.method=r}setCatchHandler(e){this.catchHandler=P(e)}},Te=class extends E{constructor(e,t,r){const a=({url:i})=>{const n=e.exec(i.href);if(n&&!(i.origin!==location.origin&&n.index!==0))return n.slice(1)};super(a,t,r)}},Oe=class{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,r=this.handleRequest({request:t,event:e});r&&e.respondWith(r)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,r=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const i=new Request(...a);return this.handleRequest({request:i,event:e})}));e.waitUntil(r),e.ports&&e.ports[0]&&r.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const r=new URL(e.url,location.href);if(!r.protocol.startsWith("http"))return;const a=r.origin===location.origin,{params:i,route:n}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:r});let c=n&&n.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let l;try{l=c.handle({url:r,request:e,event:t,params:i})}catch(h){l=Promise.reject(h)}const f=n&&n.catchHandler;return l instanceof Promise&&(this._catchHandler||f)&&(l=l.catch(async h=>{if(f)try{return await f.handle({url:r,request:e,event:t,params:i})}catch(R){R instanceof Error&&(h=R)}if(this._catchHandler)return this._catchHandler.handle({url:r,request:e,event:t});throw h})),l}findMatchingRoute({url:e,sameOrigin:t,request:r,event:a}){const i=this._routes.get(r.method)||[];for(const n of i){let c;const o=n.match({url:e,sameOrigin:t,request:r,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:n,params:c}}return{}}setDefaultHandler(e,t=z){this._defaultHandlerMap.set(t,P(e))}setCatchHandler(e){this._catchHandler=P(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new u("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new u("unregister-route-route-not-registered")}},C;const Se=()=>(C||(C=new Oe,C.addFetchListener(),C.addCacheListener()),C);function Ae(s,e,t){let r;if(typeof s=="string"){const i=new URL(s,location.href),n=({url:c})=>c.href===i.href;r=new E(n,e,t)}else if(s instanceof RegExp)r=new Te(s,e,t);else if(typeof s=="function")r=new E(s,e,t);else if(s instanceof E)r=s;else throw new u("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return Se().registerRoute(r),r}function Ke(s,e=[]){for(const t of[...s.searchParams.keys()])e.some(r=>r.test(t))&&s.searchParams.delete(t);return s}function*Ie(s,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:t="index.html",cleanURLs:r=!0,urlManipulation:a}={}){const i=new URL(s,location.href);i.hash="",yield i.href;const n=Ke(i,e);if(yield n.href,t&&n.pathname.endsWith("/")){const c=new URL(n.href);c.pathname+=t,yield c.href}if(r){const c=new URL(n.href);c.pathname+=".html",yield c.href}if(a){const c=a({url:i});for(const o of c)yield o.href}}class We extends E{constructor(e,t){const r=({request:a})=>{const i=e.getURLsToCacheKeys();for(const n of Ie(a.url,t)){const c=i.get(n);if(c){const o=e.getIntegrityForCacheKey(c);return{cacheKey:c,integrity:o}}}};super(r,e.strategy)}}function je(s){const e=J(),t=new We(e,s);Ae(t)}function $e(s){J().precache(s)}function qe(s,e){$e(s),je(e)}try{self["workbox:core:7.0.0"]&&_()}catch{}const He=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},Be=He;class Fe extends Error{constructor(e,t){const r=Be(e,t);super(r),this.name=e,this.details=t}}function X(s){s.then(()=>{})}const Ve=(s,e)=>e.some(t=>s instanceof t);let F,V;function Ge(){return F||(F=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Qe(){return V||(V=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Y=new WeakMap,I=new WeakMap,Z=new WeakMap,O=new WeakMap,$=new WeakMap;function Je(s){const e=new Promise((t,r)=>{const a=()=>{s.removeEventListener("success",i),s.removeEventListener("error",n)},i=()=>{t(m(s.result)),a()},n=()=>{r(s.error),a()};s.addEventListener("success",i),s.addEventListener("error",n)});return e.then(t=>{t instanceof IDBCursor&&Y.set(t,s)}).catch(()=>{}),$.set(e,s),e}function ze(s){if(I.has(s))return;const e=new Promise((t,r)=>{const a=()=>{s.removeEventListener("complete",i),s.removeEventListener("error",n),s.removeEventListener("abort",n)},i=()=>{t(),a()},n=()=>{r(s.error||new DOMException("AbortError","AbortError")),a()};s.addEventListener("complete",i),s.addEventListener("error",n),s.addEventListener("abort",n)});I.set(s,e)}let W={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return I.get(s);if(e==="objectStoreNames")return s.objectStoreNames||Z.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return m(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function Xe(s){W=s(W)}function Ye(s){return s===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const r=s.call(S(this),e,...t);return Z.set(r,e.sort?e.sort():[e]),m(r)}:Qe().includes(s)?function(...e){return s.apply(S(this),e),m(Y.get(this))}:function(...e){return m(s.apply(S(this),e))}}function Ze(s){return typeof s=="function"?Ye(s):(s instanceof IDBTransaction&&ze(s),Ve(s,Ge())?new Proxy(s,W):s)}function m(s){if(s instanceof IDBRequest)return Je(s);if(O.has(s))return O.get(s);const e=Ze(s);return e!==s&&(O.set(s,e),$.set(e,s)),e}const S=s=>$.get(s);function et(s,e,{blocked:t,upgrade:r,blocking:a,terminated:i}={}){const n=indexedDB.open(s,e),c=m(n);return r&&n.addEventListener("upgradeneeded",o=>{r(m(n.result),o.oldVersion,o.newVersion,m(n.transaction),o)}),t&&n.addEventListener("blocked",o=>t(o.oldVersion,o.newVersion,o)),c.then(o=>{i&&o.addEventListener("close",()=>i()),a&&o.addEventListener("versionchange",l=>a(l.oldVersion,l.newVersion,l))}).catch(()=>{}),c}function tt(s,{blocked:e}={}){const t=indexedDB.deleteDatabase(s);return e&&t.addEventListener("blocked",r=>e(r.oldVersion,r)),m(t).then(()=>{})}const st=["get","getKey","getAll","getAllKeys","count"],rt=["put","add","delete","clear"],A=new Map;function G(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(A.get(e))return A.get(e);const t=e.replace(/FromIndex$/,""),r=e!==t,a=rt.includes(t);if(!(t in(r?IDBIndex:IDBObjectStore).prototype)||!(a||st.includes(t)))return;const i=async function(n,...c){const o=this.transaction(n,a?"readwrite":"readonly");let l=o.store;return r&&(l=l.index(c.shift())),(await Promise.all([l[t](...c),a&&o.done]))[0]};return A.set(e,i),i}Xe(s=>({...s,get:(e,t,r)=>G(e,t)||s.get(e,t,r),has:(e,t)=>!!G(e,t)||s.has(e,t)}));try{self["workbox:expiration:7.0.0"]&&_()}catch{}const at="workbox-expiration",x="cache-entries",Q=s=>{const e=new URL(s,location.href);return e.hash="",e.href};class nt{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(x,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&tt(this._cacheName)}async setTimestamp(e,t){e=Q(e);const r={url:e,timestamp:t,cacheName:this._cacheName,id:this._getId(e)},i=(await this.getDb()).transaction(x,"readwrite",{durability:"relaxed"});await i.store.put(r),await i.done}async getTimestamp(e){const r=await(await this.getDb()).get(x,this._getId(e));return r==null?void 0:r.timestamp}async expireEntries(e,t){const r=await this.getDb();let a=await r.transaction(x).store.index("timestamp").openCursor(null,"prev");const i=[];let n=0;for(;a;){const o=a.value;o.cacheName===this._cacheName&&(e&&o.timestamp<e||t&&n>=t?i.push(a.value):n++),a=await a.continue()}const c=[];for(const o of i)await r.delete(x,o.id),c.push(o.url);return c}_getId(e){return this._cacheName+"|"+Q(e)}async getDb(){return this._db||(this._db=await et(at,1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class it{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new nt(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-this._maxAgeSeconds*1e3:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),r=await self.caches.open(this._cacheName);for(const a of t)await r.delete(a,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,X(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),r=Date.now()-this._maxAgeSeconds*1e3;return t!==void 0?t<r:!0}else return!1}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}const g={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},K=s=>[g.prefix,s,g.suffix].filter(e=>e&&e.length>0).join("-"),ct=s=>{for(const e of Object.keys(g))s(e)},ot={updateDetails:s=>{ct(e=>{typeof s[e]=="string"&&(g[e]=s[e])})},getGoogleAnalyticsName:s=>s||K(g.googleAnalytics),getPrecacheName:s=>s||K(g.precache),getPrefix:()=>g.prefix,getRuntimeName:s=>s||K(g.runtime),getSuffix:()=>g.suffix},lt=new Set;function ht(s){lt.add(s)}class ut{constructor(e={}){this.cachedResponseWillBeUsed=async({event:t,request:r,cacheName:a,cachedResponse:i})=>{if(!i)return null;const n=this._isResponseDateFresh(i),c=this._getCacheExpiration(a);X(c.expireEntries());const o=c.updateTimestamp(r.url);if(t)try{t.waitUntil(o)}catch{}return n?i:null},this.cacheDidUpdate=async({cacheName:t,request:r})=>{const a=this._getCacheExpiration(t);await a.updateTimestamp(r.url),await a.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&ht(()=>this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===ot.getRuntimeName())throw new Fe("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new it(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(t===null)return!0;const r=Date.now();return t>=r-this._maxAgeSeconds*1e3}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),a=new Date(t).getTime();return isNaN(a)?null:a}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}try{self["workbox:routing:7.0.0"]&&_()}catch{}const ee="GET",v=s=>s&&typeof s=="object"?s:{handle:s};class L{constructor(e,t,r=ee){this.handler=v(t),this.match=e,this.method=r}setCatchHandler(e){this.catchHandler=v(e)}}class ft extends L{constructor(e,t,r){const a=({url:i})=>{const n=e.exec(i.href);if(n&&!(i.origin!==location.origin&&n.index!==0))return n.slice(1)};super(a,t,r)}}class dt{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,r=this.handleRequest({request:t,event:e});r&&e.respondWith(r)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,r=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const i=new Request(...a);return this.handleRequest({request:i,event:e})}));e.waitUntil(r),e.ports&&e.ports[0]&&r.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const r=new URL(e.url,location.href);if(!r.protocol.startsWith("http"))return;const a=r.origin===location.origin,{params:i,route:n}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:r});let c=n&&n.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let l;try{l=c.handle({url:r,request:e,event:t,params:i})}catch(h){l=Promise.reject(h)}const f=n&&n.catchHandler;return l instanceof Promise&&(this._catchHandler||f)&&(l=l.catch(async h=>{if(f)try{return await f.handle({url:r,request:e,event:t,params:i})}catch(R){R instanceof Error&&(h=R)}if(this._catchHandler)return this._catchHandler.handle({url:r,request:e,event:t});throw h})),l}findMatchingRoute({url:e,sameOrigin:t,request:r,event:a}){const i=this._routes.get(r.method)||[];for(const n of i){let c;const o=n.match({url:e,sameOrigin:t,request:r,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:n,params:c}}return{}}setDefaultHandler(e,t=ee){this._defaultHandlerMap.set(t,v(e))}setCatchHandler(e){this._catchHandler=v(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new y("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new y("unregister-route-route-not-registered")}}let k;const pt=()=>(k||(k=new dt,k.addFetchListener(),k.addCacheListener()),k);function te(s,e,t){let r;if(typeof s=="string"){const i=new URL(s,location.href),n=({url:c})=>c.href===i.href;r=new L(n,e,t)}else if(s instanceof RegExp)r=new ft(s,e,t);else if(typeof s=="function")r=new L(s,e,t);else if(s instanceof L)r=s;else throw new y("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return pt().registerRoute(r),r}try{self["workbox:strategies:7.0.0"]&&_()}catch{}function U(s){return typeof s=="string"?new Request(s):s}class gt{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new he,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const r of this._plugins)this._pluginStateMap.set(r,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let r=U(e);if(r.mode==="navigate"&&t instanceof FetchEvent&&t.preloadResponse){const n=await t.preloadResponse;if(n)return n}const a=this.hasCallback("fetchDidFail")?r.clone():null;try{for(const n of this.iterateCallbacks("requestWillFetch"))r=await n({request:r.clone(),event:t})}catch(n){if(n instanceof Error)throw new y("plugin-error-request-will-fetch",{thrownErrorMessage:n.message})}const i=r.clone();try{let n;n=await fetch(r,r.mode==="navigate"?void 0:this._strategy.fetchOptions);for(const c of this.iterateCallbacks("fetchDidSucceed"))n=await c({event:t,request:i,response:n});return n}catch(n){throw a&&await this.runCallbacks("fetchDidFail",{error:n,event:t,originalRequest:a.clone(),request:i.clone()}),n}}async fetchAndCachePut(e){const t=await this.fetch(e),r=t.clone();return this.waitUntil(this.cachePut(e,r)),t}async cacheMatch(e){const t=U(e);let r;const{cacheName:a,matchOptions:i}=this._strategy,n=await this.getCacheKey(t,"read"),c=Object.assign(Object.assign({},i),{cacheName:a});r=await caches.match(n,c);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))r=await o({cacheName:a,matchOptions:i,cachedResponse:r,request:n,event:this.event})||void 0;return r}async cachePut(e,t){const r=U(e);await de(0);const a=await this.getCacheKey(r,"write");if(!t)throw new y("cache-put-with-no-response",{url:fe(a.url)});const i=await this._ensureResponseSafeToCache(t);if(!i)return!1;const{cacheName:n,matchOptions:c}=this._strategy,o=await self.caches.open(n),l=this.hasCallback("cacheDidUpdate"),f=l?await le(o,a.clone(),["__WB_REVISION__"],c):null;try{await o.put(a,l?i.clone():i)}catch(h){if(h instanceof Error)throw h.name==="QuotaExceededError"&&await ue(),h}for(const h of this.iterateCallbacks("cacheDidUpdate"))await h({cacheName:n,oldResponse:f,newResponse:i.clone(),request:a,event:this.event});return!0}async getCacheKey(e,t){const r=`${e.url} | ${t}`;if(!this._cacheKeys[r]){let a=e;for(const i of this.iterateCallbacks("cacheKeyWillBeUsed"))a=U(await i({mode:t,request:a,event:this.event,params:this.params}));this._cacheKeys[r]=a}return this._cacheKeys[r]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const r of this.iterateCallbacks(e))await r(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if(typeof t[e]=="function"){const r=this._pluginStateMap.get(t);yield i=>{const n=Object.assign(Object.assign({},i),{state:r});return t[e](n)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,r=!1;for(const a of this.iterateCallbacks("cacheWillUpdate"))if(t=await a({request:this.request,response:t,event:this.event})||void 0,r=!0,!t)break;return r||t&&t.status!==200&&(t=void 0),t}}class se{constructor(e={}){this.cacheName=oe.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,r=typeof e.request=="string"?new Request(e.request):e.request,a="params"in e?e.params:void 0,i=new gt(this,{event:t,request:r,params:a}),n=this._getResponse(i,r,t),c=this._awaitComplete(n,i,r,t);return[n,c]}async _getResponse(e,t,r){await e.runCallbacks("handlerWillStart",{event:r,request:t});let a;try{if(a=await this._handle(t,e),!a||a.type==="error")throw new y("no-response",{url:t.url})}catch(i){if(i instanceof Error){for(const n of e.iterateCallbacks("handlerDidError"))if(a=await n({error:i,event:r,request:t}),a)break}if(!a)throw i}for(const i of e.iterateCallbacks("handlerWillRespond"))a=await i({event:r,request:t,response:a});return a}async _awaitComplete(e,t,r,a){let i,n;try{i=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:a,request:r,response:i}),await t.doneWaiting()}catch(c){c instanceof Error&&(n=c)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:r,response:i,error:n}),t.destroy(),n)throw n}}class mt extends se{async _handle(e,t){let r=await t.cacheMatch(e),a;if(!r)try{r=await t.fetchAndCachePut(e)}catch(i){i instanceof Error&&(a=i)}if(!r)throw new y("no-response",{url:e.url,error:a});return r}}const wt={cacheWillUpdate:async({response:s})=>s.status===200||s.status===0?s:null};class yt extends se{constructor(e={}){super(e),this.plugins.some(t=>"cacheWillUpdate"in t)||this.plugins.unshift(wt)}async _handle(e,t){const r=t.fetchAndCachePut(e).catch(()=>{});t.waitUntil(r);let a=await t.cacheMatch(e),i;if(!a)try{a=await r}catch(n){n instanceof Error&&(i=n)}if(!a)throw new y("no-response",{url:e.url,error:i});return a}}qe(([{"revision":null,"url":"assets/access-control-DEUU0fDz.js"},{"revision":null,"url":"assets/actions-wYAFmtYW.js"},{"revision":null,"url":"assets/add-component-core-C36Oh0S_.js"},{"revision":null,"url":"assets/add-component-core-D-IRi6XF.css"},{"revision":null,"url":"assets/Add-eTw9dWVa.js"},{"revision":null,"url":"assets/add-resource-Xm48tGBR.js"},{"revision":null,"url":"assets/addon-DJRfOF39.js"},{"revision":null,"url":"assets/analytics-BxMLe4sZ.js"},{"revision":null,"url":"assets/api-K65cLqol.js"},{"revision":null,"url":"assets/ar-BFUPmTkR.js"},{"revision":null,"url":"assets/ar-DoIWDL3Q.js"},{"revision":null,"url":"assets/ArrowDropDown-D-RD-2MB.js"},{"revision":null,"url":"assets/audit-logs-QI7Dc290.js"},{"revision":null,"url":"assets/base32-BMSr-Oor.js"},{"revision":null,"url":"assets/branding-BiBArxE7.js"},{"revision":null,"url":"assets/bundle-avatar-CcKbW8ZA.js"},{"revision":null,"url":"assets/button-hN0nkg5h.js"},{"revision":null,"url":"assets/CheckCircle-fnIa_Tjy.js"},{"revision":null,"url":"assets/ChevronLeft-B6BBtJvf.js"},{"revision":null,"url":"assets/ChevronRight-BO6iBxGF.js"},{"revision":null,"url":"assets/click-to-copy-DlRwVMBE.js"},{"revision":null,"url":"assets/cloneDeep-BRiLvZjr.js"},{"revision":null,"url":"assets/complete-BCHhjgui.js"},{"revision":null,"url":"assets/component---BohhtR.js"},{"revision":null,"url":"assets/config-BT7DA9eX.js"},{"revision":null,"url":"assets/config-Chtg5c7S.js"},{"revision":null,"url":"assets/config-navigation-DGQXESo8.js"},{"revision":null,"url":"assets/config-space-D3_ddjoK.js"},{"revision":null,"url":"assets/confirm-BUf2FX6y.js"},{"revision":null,"url":"assets/connect-9ktVrhs9.js"},{"revision":null,"url":"assets/connect-Bg1fiX7Q.js"},{"revision":null,"url":"assets/connect-to-6-yxL1od.js"},{"revision":null,"url":"assets/content-layout-cWwRTmIc.js"},{"revision":null,"url":"assets/dashboard-CRO3eTt1.js"},{"revision":null,"url":"assets/de-BVgb1fEg.js"},{"revision":null,"url":"assets/de-hV0yD3gq.js"},{"revision":null,"url":"assets/DeleteOutline-6B6Fe5fo.js"},{"revision":null,"url":"assets/did-address-Rncailh0.js"},{"revision":null,"url":"assets/domain-CiQ58Nbb.js"},{"revision":null,"url":"assets/domain-list-DlMnYtcT.js"},{"revision":null,"url":"assets/Done-BpK9makc.js"},{"revision":null,"url":"assets/Download-CHVAgVy8.js"},{"revision":null,"url":"assets/EditIcon-BOr0kf6I.js"},{"revision":null,"url":"assets/email-C7B2iQRL.js"},{"revision":null,"url":"assets/Error-kGbi4Zxj.js"},{"revision":null,"url":"assets/es-BcSAobJW.js"},{"revision":null,"url":"assets/es-CWcVPAna.js"},{"revision":null,"url":"assets/exchange-passport-DvgnrFhH.js"},{"revision":null,"url":"assets/form-text-input-B3XB3R1O.js"},{"revision":null,"url":"assets/format-error-C0Ke3VXF.js"},{"revision":null,"url":"assets/fr-8qti32p1.js"},{"revision":null,"url":"assets/fr-C8Jr_C8u.js"},{"revision":null,"url":"assets/fuel-De_bc9rw.js"},{"revision":null,"url":"assets/fullpage-ClwEgpoB.js"},{"revision":null,"url":"assets/get-safe-url-3FtlbQXR.js"},{"revision":null,"url":"assets/get-safe-url-DgnUmHPg.js"},{"revision":null,"url":"assets/Google-T-9fe6qI.js"},{"revision":null,"url":"assets/hi-DDEUhQcX.js"},{"revision":null,"url":"assets/hi-DTqZQNNB.js"},{"revision":null,"url":"assets/home-s4XxyP6G.js"},{"revision":null,"url":"assets/id-CUsGyKYW.js"},{"revision":null,"url":"assets/id-DkUYINLx.js"},{"revision":null,"url":"assets/iframe-DkAOGH82.js"},{"revision":null,"url":"assets/index-AgKpYdvC.css"},{"revision":null,"url":"assets/index-AKILhCB1.js"},{"revision":null,"url":"assets/index-BM6MW3P4.js"},{"revision":null,"url":"assets/index-BQD1ktrC.js"},{"revision":null,"url":"assets/index-BuAHCrPZ.js"},{"revision":null,"url":"assets/index-C-D-nCB1.js"},{"revision":null,"url":"assets/index-C2fPoxDR.js"},{"revision":null,"url":"assets/index-C3cP3eho.js"},{"revision":null,"url":"assets/index-C3Z6Hby2.js"},{"revision":null,"url":"assets/index-CctdI8X8.js"},{"revision":null,"url":"assets/index-CHFvfli7.js"},{"revision":null,"url":"assets/index-ChSPqVLh.js"},{"revision":null,"url":"assets/index-CKmE0Sqg.js"},{"revision":null,"url":"assets/index-D4PP6P2d.css"},{"revision":null,"url":"assets/index-DcfIKM1A.js"},{"revision":null,"url":"assets/index-DEkiPG8Y.js"},{"revision":null,"url":"assets/index-DFzh5oL0.js"},{"revision":null,"url":"assets/index-DiLNptzT.js"},{"revision":null,"url":"assets/index-DoZ2YM4T.js"},{"revision":null,"url":"assets/index-DtwN19zv.js"},{"revision":null,"url":"assets/index-DVYdq7IA.js"},{"revision":null,"url":"assets/index-IC1Rf7BW.js"},{"revision":null,"url":"assets/index-Pdt8JY75.js"},{"revision":null,"url":"assets/index-vSb5bw1I.js"},{"revision":null,"url":"assets/index-XjSUrEf9.js"},{"revision":null,"url":"assets/InfoOutlined-BgLmQpjA.js"},{"revision":null,"url":"assets/invitation-398ugOww.js"},{"revision":null,"url":"assets/invite-CxctjCks.js"},{"revision":null,"url":"assets/isEmail-BWNRBSAy.js"},{"revision":null,"url":"assets/issue-passport-BzEXCFP0.js"},{"revision":null,"url":"assets/item-BzigISWG.js"},{"revision":null,"url":"assets/ja-B0U7M2t1.js"},{"revision":null,"url":"assets/ja-C2LP4WQG.js"},{"revision":null,"url":"assets/keyboard-arrow-down-rounded-DadBVmpO.js"},{"revision":null,"url":"assets/ko-C-DMeONa.js"},{"revision":null,"url":"assets/ko-CpDA9JjF.js"},{"revision":null,"url":"assets/Launch-C9zEVLvk.js"},{"revision":null,"url":"assets/launch-result-message-keU5grqY.js"},{"revision":null,"url":"assets/LaunchOutlined-Cql1NmZZ.js"},{"revision":null,"url":"assets/layout-N5xbN7Ti.js"},{"revision":null,"url":"assets/list-header-bKaZ4zsu.js"},{"revision":null,"url":"assets/list-QwzSO7Cs.js"},{"revision":null,"url":"assets/localization-CNvFSQc0.js"},{"revision":null,"url":"assets/LockIcon-D-W4Rph6.js"},{"revision":null,"url":"assets/log-Bz9TkxcV.js"},{"revision":null,"url":"assets/log-D33dFtt_.css"},{"revision":null,"url":"assets/login-DbJD9Sgu.js"},{"revision":null,"url":"assets/login-oauth-callback-BagCPt1j.js"},{"revision":null,"url":"assets/logo-uploader-QnBnkpOO.js"},{"revision":null,"url":"assets/Loop-CawJEzLG.js"},{"revision":null,"url":"assets/lost-passport-se4N22vE.js"},{"revision":null,"url":"assets/lottie-react.esm-CHpXrEmm.js"},{"revision":null,"url":"assets/MoreHoriz-M9rI-Gh1.js"},{"revision":null,"url":"assets/open-window-BWPlSJZK.js"},{"revision":null,"url":"assets/overview-u84fbCZU.js"},{"revision":null,"url":"assets/page-header-CVCtfFXY.js"},{"revision":null,"url":"assets/permission-CoRqvd18.js"},{"revision":null,"url":"assets/PlayArrow-BAowUCpY.js"},{"revision":null,"url":"assets/preferences-CCm3JuB9.js"},{"revision":null,"url":"assets/pt-7r06GaNd.js"},{"revision":null,"url":"assets/pt-CbxvF__Z.js"},{"revision":null,"url":"assets/publish-resource-Cmlpn7H3.js"},{"revision":null,"url":"assets/QuestionMarkCircle-BvUTckGB.js"},{"revision":null,"url":"assets/raf-schd.esm-Cxhj8umC.js"},{"revision":null,"url":"assets/react-beautiful-dnd.esm-CrvlS-3X.js"},{"revision":null,"url":"assets/relative-time-IDiRzYUd.js"},{"revision":null,"url":"assets/ru-DLHrAeE7.js"},{"revision":null,"url":"assets/ru-MS-ksi2g.js"},{"revision":null,"url":"assets/sdk-DRntvOGy.js"},{"revision":null,"url":"assets/ServerLogo-BDEZRDcg.js"},{"revision":null,"url":"assets/session-BzY_i5lZ.js"},{"revision":null,"url":"assets/setup-CFL-k7o4.js"},{"revision":null,"url":"assets/shorten-label-J69eHfMN.js"},{"revision":null,"url":"assets/simple-select-D06JmA0a.js"},{"revision":null,"url":"assets/slicedToArray-CXBLQZX4.js"},{"revision":null,"url":"assets/start-Bnol7r-4.js"},{"revision":null,"url":"assets/step-actions-vFuOlgmX.js"},{"revision":null,"url":"assets/studio-D8dNrjXX.js"},{"revision":null,"url":"assets/switch-control-DTOAJIEb.js"},{"revision":null,"url":"assets/th-Dil9kwjH.js"},{"revision":null,"url":"assets/th-gcuRSNHo.js"},{"revision":null,"url":"assets/traffic-C-Or__6J.js"},{"revision":null,"url":"assets/transfer-tWhnvLV8.js"},{"revision":null,"url":"assets/unsubscribe-8PpNeEGq.js"},{"revision":null,"url":"assets/use-mobile-DnWfrhc7.js"},{"revision":null,"url":"assets/use-passport-id-B-b-_oYF.js"},{"revision":null,"url":"assets/useAsync-Ua5iss51.js"},{"revision":null,"url":"assets/useAsyncRetry-Bmo6a1Zp.js"},{"revision":null,"url":"assets/useLocalStorage-DDsWbihG.js"},{"revision":null,"url":"assets/user-center-FVVJclAc.js"},{"revision":null,"url":"assets/useSetState-Crt4S51m.js"},{"revision":null,"url":"assets/util-CqwLA_zk.js"},{"revision":null,"url":"assets/util-DfAqJble.js"},{"revision":null,"url":"assets/vendor-arcblock-DhgPdlEj.css"},{"revision":null,"url":"assets/vendor-arcblock-naCuSDgJ.js"},{"revision":null,"url":"assets/vendor-hooks-BKxTDk_P.js"},{"revision":null,"url":"assets/vendor-mui-core-xF5F4eT7.js"},{"revision":null,"url":"assets/vendor-mui-x-CSUdon8K.js"},{"revision":null,"url":"assets/vendor-react-D-afvo_7.js"},{"revision":null,"url":"assets/vendor-utils-5TjOM6td.js"},{"revision":null,"url":"assets/vi-B46hyfUM.js"},{"revision":null,"url":"assets/vi-CGYOhf_R.js"},{"revision":null,"url":"assets/ViewList-BPtSTNst.js"},{"revision":null,"url":"assets/wrap-locale-JORvcC3E.js"},{"revision":null,"url":"assets/zh-BYS_9r4v.js"},{"revision":null,"url":"assets/zh-DWWuPzr1.js"},{"revision":null,"url":"assets/zh-tw-BR5CO3an.js"},{"revision":null,"url":"assets/zh-tw-Ci21sS2Y.js"},{"revision":"dfb58385bbd6cf80cd466b855199c36b","url":"index.html"},{"revision":"629a14a7e3397a134f5a30b5dc735183","url":"registerSW.js"},{"revision":"07a287e43ae8e959a20d6b367a581667","url":"router-template-styles/styles.css"},{"revision":"3c1549cff96a2d2baec44397663c083e","url":"share/shared-service-worker.js"},{"revision":"19d4c6a99cb8ed11e68209a612e7ec44","url":"share/workbox-v7.3.0/workbox-background-sync.prod.js"},{"revision":"d9d631014689e2b4b0e343c129671749","url":"share/workbox-v7.3.0/workbox-broadcast-update.prod.js"},{"revision":"bdb39ceb7380dcb1483c543e8856242b","url":"share/workbox-v7.3.0/workbox-cacheable-response.prod.js"},{"revision":"b84dd900eb18e8bc842666bbb740604e","url":"share/workbox-v7.3.0/workbox-core.prod.js"},{"revision":"c582a61c037234d8283eea0b97693b1b","url":"share/workbox-v7.3.0/workbox-expiration.prod.js"},{"revision":"866ba7d03bd871fa990976e4db312ab3","url":"share/workbox-v7.3.0/workbox-navigation-preload.prod.js"},{"revision":"0c55bb581ea7ce5ebfac1ce95cdda21f","url":"share/workbox-v7.3.0/workbox-offline-ga.prod.js"},{"revision":"770d183cf1f189a1ceb11ba8b5d808fa","url":"share/workbox-v7.3.0/workbox-precaching.prod.js"},{"revision":"295decbe1eb3b073a2a8d67cfbdf5692","url":"share/workbox-v7.3.0/workbox-range-requests.prod.js"},{"revision":"0bcb90677f3508ebc8a3571d14194478","url":"share/workbox-v7.3.0/workbox-recipes.prod.js"},{"revision":"4af96b70b2d20b041e2edd7ef1a8ef27","url":"share/workbox-v7.3.0/workbox-routing.prod.js"},{"revision":"c78c21b4058a1134ad3e12286c57cb2f","url":"share/workbox-v7.3.0/workbox-strategies.prod.js"},{"revision":"7eeb2d820d409221e076d31951fdcf79","url":"share/workbox-v7.3.0/workbox-streams.prod.js"},{"revision":"aa7368887577b9719a46b585d5dcc7a5","url":"share/workbox-v7.3.0/workbox-sw.js"},{"revision":"e768668db4eeefde11b58542900ab2ad","url":"share/workbox-v7.3.0/workbox-window.prod.umd.js"},{"revision":"f272d080151aa40322ce1603c6261ec1","url":"manifest.webmanifest"}]||[]).filter(s=>s.url!=="/"&&!s.url.includes("index.html")));pe();self.addEventListener("activate",()=>{console.log("Service Worker activated")});self.addEventListener("install",s=>{console.log("Service Worker installed"),s.waitUntil(self.skipWaiting())});const re=s=>!!(s.method!=="GET"||s.url.includes("/api")||s.url.includes("__meta__.js")||s.url.includes("__blocklet__.js"));te(({request:s})=>re(s)?!1:s.url.includes("/static/"),new mt({cacheName:`static-${self.registration.scope}`,plugins:[new ut({maxEntries:200})]}));te(({request:s})=>re(s)?!1:s.url.includes("/images/")||s.url.includes("/router/-template-styles/"),new yt({cacheName:`StaleWhileRevalidate-${self.registration.scope}`}));
|
|
2
|
+
This is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(c)}}}install(e){return H(e,async()=>{const t=new Re;this.strategy.plugins.push(t);for(const[i,n]of this._urlsToCacheKeys){const c=this._cacheKeysToIntegrities.get(n),o=this._urlsToCacheModes.get(i),l=new Request(i,{integrity:c,cache:o,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:n},request:l,event:e}))}const{updatedURLs:r,notUpdatedURLs:a}=t;return{updatedURLs:r,notUpdatedURLs:a}})}activate(e){return H(e,async()=>{const t=await self.caches.open(this.strategy.cacheName),r=await t.keys(),a=new Set(this._urlsToCacheKeys.values()),i=[];for(const n of r)a.has(n.url)||(await t.delete(n),i.push(n.url));return{deletedURLs:i}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,r=this.getCacheKeyForURL(t);if(r)return(await self.caches.open(this.strategy.cacheName)).match(r)}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new u("non-precached-url",{url:e});return r=>(r.request=new Request(e),r.params=Object.assign({cacheKey:t},r.params),this.strategy.handle(r))}}let T;const J=()=>(T||(T=new Me),T);try{self["workbox:routing:7.0.0"]&&_()}catch{}const z="GET",P=s=>s&&typeof s=="object"?s:{handle:s};let E=class{constructor(e,t,r=z){this.handler=P(t),this.match=e,this.method=r}setCatchHandler(e){this.catchHandler=P(e)}},Te=class extends E{constructor(e,t,r){const a=({url:i})=>{const n=e.exec(i.href);if(n&&!(i.origin!==location.origin&&n.index!==0))return n.slice(1)};super(a,t,r)}},Oe=class{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,r=this.handleRequest({request:t,event:e});r&&e.respondWith(r)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,r=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const i=new Request(...a);return this.handleRequest({request:i,event:e})}));e.waitUntil(r),e.ports&&e.ports[0]&&r.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const r=new URL(e.url,location.href);if(!r.protocol.startsWith("http"))return;const a=r.origin===location.origin,{params:i,route:n}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:r});let c=n&&n.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let l;try{l=c.handle({url:r,request:e,event:t,params:i})}catch(h){l=Promise.reject(h)}const f=n&&n.catchHandler;return l instanceof Promise&&(this._catchHandler||f)&&(l=l.catch(async h=>{if(f)try{return await f.handle({url:r,request:e,event:t,params:i})}catch(R){R instanceof Error&&(h=R)}if(this._catchHandler)return this._catchHandler.handle({url:r,request:e,event:t});throw h})),l}findMatchingRoute({url:e,sameOrigin:t,request:r,event:a}){const i=this._routes.get(r.method)||[];for(const n of i){let c;const o=n.match({url:e,sameOrigin:t,request:r,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:n,params:c}}return{}}setDefaultHandler(e,t=z){this._defaultHandlerMap.set(t,P(e))}setCatchHandler(e){this._catchHandler=P(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new u("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new u("unregister-route-route-not-registered")}},C;const Se=()=>(C||(C=new Oe,C.addFetchListener(),C.addCacheListener()),C);function Ae(s,e,t){let r;if(typeof s=="string"){const i=new URL(s,location.href),n=({url:c})=>c.href===i.href;r=new E(n,e,t)}else if(s instanceof RegExp)r=new Te(s,e,t);else if(typeof s=="function")r=new E(s,e,t);else if(s instanceof E)r=s;else throw new u("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return Se().registerRoute(r),r}function Ke(s,e=[]){for(const t of[...s.searchParams.keys()])e.some(r=>r.test(t))&&s.searchParams.delete(t);return s}function*Ie(s,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:t="index.html",cleanURLs:r=!0,urlManipulation:a}={}){const i=new URL(s,location.href);i.hash="",yield i.href;const n=Ke(i,e);if(yield n.href,t&&n.pathname.endsWith("/")){const c=new URL(n.href);c.pathname+=t,yield c.href}if(r){const c=new URL(n.href);c.pathname+=".html",yield c.href}if(a){const c=a({url:i});for(const o of c)yield o.href}}class We extends E{constructor(e,t){const r=({request:a})=>{const i=e.getURLsToCacheKeys();for(const n of Ie(a.url,t)){const c=i.get(n);if(c){const o=e.getIntegrityForCacheKey(c);return{cacheKey:c,integrity:o}}}};super(r,e.strategy)}}function je(s){const e=J(),t=new We(e,s);Ae(t)}function $e(s){J().precache(s)}function qe(s,e){$e(s),je(e)}try{self["workbox:core:7.0.0"]&&_()}catch{}const He=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},Be=He;class Fe extends Error{constructor(e,t){const r=Be(e,t);super(r),this.name=e,this.details=t}}function X(s){s.then(()=>{})}const Ve=(s,e)=>e.some(t=>s instanceof t);let F,V;function Ge(){return F||(F=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Qe(){return V||(V=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Y=new WeakMap,I=new WeakMap,Z=new WeakMap,O=new WeakMap,$=new WeakMap;function Je(s){const e=new Promise((t,r)=>{const a=()=>{s.removeEventListener("success",i),s.removeEventListener("error",n)},i=()=>{t(m(s.result)),a()},n=()=>{r(s.error),a()};s.addEventListener("success",i),s.addEventListener("error",n)});return e.then(t=>{t instanceof IDBCursor&&Y.set(t,s)}).catch(()=>{}),$.set(e,s),e}function ze(s){if(I.has(s))return;const e=new Promise((t,r)=>{const a=()=>{s.removeEventListener("complete",i),s.removeEventListener("error",n),s.removeEventListener("abort",n)},i=()=>{t(),a()},n=()=>{r(s.error||new DOMException("AbortError","AbortError")),a()};s.addEventListener("complete",i),s.addEventListener("error",n),s.addEventListener("abort",n)});I.set(s,e)}let W={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return I.get(s);if(e==="objectStoreNames")return s.objectStoreNames||Z.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return m(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function Xe(s){W=s(W)}function Ye(s){return s===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const r=s.call(S(this),e,...t);return Z.set(r,e.sort?e.sort():[e]),m(r)}:Qe().includes(s)?function(...e){return s.apply(S(this),e),m(Y.get(this))}:function(...e){return m(s.apply(S(this),e))}}function Ze(s){return typeof s=="function"?Ye(s):(s instanceof IDBTransaction&&ze(s),Ve(s,Ge())?new Proxy(s,W):s)}function m(s){if(s instanceof IDBRequest)return Je(s);if(O.has(s))return O.get(s);const e=Ze(s);return e!==s&&(O.set(s,e),$.set(e,s)),e}const S=s=>$.get(s);function et(s,e,{blocked:t,upgrade:r,blocking:a,terminated:i}={}){const n=indexedDB.open(s,e),c=m(n);return r&&n.addEventListener("upgradeneeded",o=>{r(m(n.result),o.oldVersion,o.newVersion,m(n.transaction),o)}),t&&n.addEventListener("blocked",o=>t(o.oldVersion,o.newVersion,o)),c.then(o=>{i&&o.addEventListener("close",()=>i()),a&&o.addEventListener("versionchange",l=>a(l.oldVersion,l.newVersion,l))}).catch(()=>{}),c}function tt(s,{blocked:e}={}){const t=indexedDB.deleteDatabase(s);return e&&t.addEventListener("blocked",r=>e(r.oldVersion,r)),m(t).then(()=>{})}const st=["get","getKey","getAll","getAllKeys","count"],rt=["put","add","delete","clear"],A=new Map;function G(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(A.get(e))return A.get(e);const t=e.replace(/FromIndex$/,""),r=e!==t,a=rt.includes(t);if(!(t in(r?IDBIndex:IDBObjectStore).prototype)||!(a||st.includes(t)))return;const i=async function(n,...c){const o=this.transaction(n,a?"readwrite":"readonly");let l=o.store;return r&&(l=l.index(c.shift())),(await Promise.all([l[t](...c),a&&o.done]))[0]};return A.set(e,i),i}Xe(s=>({...s,get:(e,t,r)=>G(e,t)||s.get(e,t,r),has:(e,t)=>!!G(e,t)||s.has(e,t)}));try{self["workbox:expiration:7.0.0"]&&_()}catch{}const at="workbox-expiration",x="cache-entries",Q=s=>{const e=new URL(s,location.href);return e.hash="",e.href};class nt{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(x,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&tt(this._cacheName)}async setTimestamp(e,t){e=Q(e);const r={url:e,timestamp:t,cacheName:this._cacheName,id:this._getId(e)},i=(await this.getDb()).transaction(x,"readwrite",{durability:"relaxed"});await i.store.put(r),await i.done}async getTimestamp(e){const r=await(await this.getDb()).get(x,this._getId(e));return r==null?void 0:r.timestamp}async expireEntries(e,t){const r=await this.getDb();let a=await r.transaction(x).store.index("timestamp").openCursor(null,"prev");const i=[];let n=0;for(;a;){const o=a.value;o.cacheName===this._cacheName&&(e&&o.timestamp<e||t&&n>=t?i.push(a.value):n++),a=await a.continue()}const c=[];for(const o of i)await r.delete(x,o.id),c.push(o.url);return c}_getId(e){return this._cacheName+"|"+Q(e)}async getDb(){return this._db||(this._db=await et(at,1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class it{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new nt(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-this._maxAgeSeconds*1e3:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),r=await self.caches.open(this._cacheName);for(const a of t)await r.delete(a,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,X(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),r=Date.now()-this._maxAgeSeconds*1e3;return t!==void 0?t<r:!0}else return!1}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}const g={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},K=s=>[g.prefix,s,g.suffix].filter(e=>e&&e.length>0).join("-"),ct=s=>{for(const e of Object.keys(g))s(e)},ot={updateDetails:s=>{ct(e=>{typeof s[e]=="string"&&(g[e]=s[e])})},getGoogleAnalyticsName:s=>s||K(g.googleAnalytics),getPrecacheName:s=>s||K(g.precache),getPrefix:()=>g.prefix,getRuntimeName:s=>s||K(g.runtime),getSuffix:()=>g.suffix},lt=new Set;function ht(s){lt.add(s)}class ut{constructor(e={}){this.cachedResponseWillBeUsed=async({event:t,request:r,cacheName:a,cachedResponse:i})=>{if(!i)return null;const n=this._isResponseDateFresh(i),c=this._getCacheExpiration(a);X(c.expireEntries());const o=c.updateTimestamp(r.url);if(t)try{t.waitUntil(o)}catch{}return n?i:null},this.cacheDidUpdate=async({cacheName:t,request:r})=>{const a=this._getCacheExpiration(t);await a.updateTimestamp(r.url),await a.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&ht(()=>this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===ot.getRuntimeName())throw new Fe("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new it(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(t===null)return!0;const r=Date.now();return t>=r-this._maxAgeSeconds*1e3}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),a=new Date(t).getTime();return isNaN(a)?null:a}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}try{self["workbox:routing:7.0.0"]&&_()}catch{}const ee="GET",v=s=>s&&typeof s=="object"?s:{handle:s};class L{constructor(e,t,r=ee){this.handler=v(t),this.match=e,this.method=r}setCatchHandler(e){this.catchHandler=v(e)}}class ft extends L{constructor(e,t,r){const a=({url:i})=>{const n=e.exec(i.href);if(n&&!(i.origin!==location.origin&&n.index!==0))return n.slice(1)};super(a,t,r)}}class dt{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,r=this.handleRequest({request:t,event:e});r&&e.respondWith(r)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,r=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const i=new Request(...a);return this.handleRequest({request:i,event:e})}));e.waitUntil(r),e.ports&&e.ports[0]&&r.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const r=new URL(e.url,location.href);if(!r.protocol.startsWith("http"))return;const a=r.origin===location.origin,{params:i,route:n}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:r});let c=n&&n.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let l;try{l=c.handle({url:r,request:e,event:t,params:i})}catch(h){l=Promise.reject(h)}const f=n&&n.catchHandler;return l instanceof Promise&&(this._catchHandler||f)&&(l=l.catch(async h=>{if(f)try{return await f.handle({url:r,request:e,event:t,params:i})}catch(R){R instanceof Error&&(h=R)}if(this._catchHandler)return this._catchHandler.handle({url:r,request:e,event:t});throw h})),l}findMatchingRoute({url:e,sameOrigin:t,request:r,event:a}){const i=this._routes.get(r.method)||[];for(const n of i){let c;const o=n.match({url:e,sameOrigin:t,request:r,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:n,params:c}}return{}}setDefaultHandler(e,t=ee){this._defaultHandlerMap.set(t,v(e))}setCatchHandler(e){this._catchHandler=v(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new y("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new y("unregister-route-route-not-registered")}}let k;const pt=()=>(k||(k=new dt,k.addFetchListener(),k.addCacheListener()),k);function te(s,e,t){let r;if(typeof s=="string"){const i=new URL(s,location.href),n=({url:c})=>c.href===i.href;r=new L(n,e,t)}else if(s instanceof RegExp)r=new ft(s,e,t);else if(typeof s=="function")r=new L(s,e,t);else if(s instanceof L)r=s;else throw new y("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return pt().registerRoute(r),r}try{self["workbox:strategies:7.0.0"]&&_()}catch{}function U(s){return typeof s=="string"?new Request(s):s}class gt{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new he,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const r of this._plugins)this._pluginStateMap.set(r,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let r=U(e);if(r.mode==="navigate"&&t instanceof FetchEvent&&t.preloadResponse){const n=await t.preloadResponse;if(n)return n}const a=this.hasCallback("fetchDidFail")?r.clone():null;try{for(const n of this.iterateCallbacks("requestWillFetch"))r=await n({request:r.clone(),event:t})}catch(n){if(n instanceof Error)throw new y("plugin-error-request-will-fetch",{thrownErrorMessage:n.message})}const i=r.clone();try{let n;n=await fetch(r,r.mode==="navigate"?void 0:this._strategy.fetchOptions);for(const c of this.iterateCallbacks("fetchDidSucceed"))n=await c({event:t,request:i,response:n});return n}catch(n){throw a&&await this.runCallbacks("fetchDidFail",{error:n,event:t,originalRequest:a.clone(),request:i.clone()}),n}}async fetchAndCachePut(e){const t=await this.fetch(e),r=t.clone();return this.waitUntil(this.cachePut(e,r)),t}async cacheMatch(e){const t=U(e);let r;const{cacheName:a,matchOptions:i}=this._strategy,n=await this.getCacheKey(t,"read"),c=Object.assign(Object.assign({},i),{cacheName:a});r=await caches.match(n,c);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))r=await o({cacheName:a,matchOptions:i,cachedResponse:r,request:n,event:this.event})||void 0;return r}async cachePut(e,t){const r=U(e);await de(0);const a=await this.getCacheKey(r,"write");if(!t)throw new y("cache-put-with-no-response",{url:fe(a.url)});const i=await this._ensureResponseSafeToCache(t);if(!i)return!1;const{cacheName:n,matchOptions:c}=this._strategy,o=await self.caches.open(n),l=this.hasCallback("cacheDidUpdate"),f=l?await le(o,a.clone(),["__WB_REVISION__"],c):null;try{await o.put(a,l?i.clone():i)}catch(h){if(h instanceof Error)throw h.name==="QuotaExceededError"&&await ue(),h}for(const h of this.iterateCallbacks("cacheDidUpdate"))await h({cacheName:n,oldResponse:f,newResponse:i.clone(),request:a,event:this.event});return!0}async getCacheKey(e,t){const r=`${e.url} | ${t}`;if(!this._cacheKeys[r]){let a=e;for(const i of this.iterateCallbacks("cacheKeyWillBeUsed"))a=U(await i({mode:t,request:a,event:this.event,params:this.params}));this._cacheKeys[r]=a}return this._cacheKeys[r]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const r of this.iterateCallbacks(e))await r(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if(typeof t[e]=="function"){const r=this._pluginStateMap.get(t);yield i=>{const n=Object.assign(Object.assign({},i),{state:r});return t[e](n)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,r=!1;for(const a of this.iterateCallbacks("cacheWillUpdate"))if(t=await a({request:this.request,response:t,event:this.event})||void 0,r=!0,!t)break;return r||t&&t.status!==200&&(t=void 0),t}}class se{constructor(e={}){this.cacheName=oe.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,r=typeof e.request=="string"?new Request(e.request):e.request,a="params"in e?e.params:void 0,i=new gt(this,{event:t,request:r,params:a}),n=this._getResponse(i,r,t),c=this._awaitComplete(n,i,r,t);return[n,c]}async _getResponse(e,t,r){await e.runCallbacks("handlerWillStart",{event:r,request:t});let a;try{if(a=await this._handle(t,e),!a||a.type==="error")throw new y("no-response",{url:t.url})}catch(i){if(i instanceof Error){for(const n of e.iterateCallbacks("handlerDidError"))if(a=await n({error:i,event:r,request:t}),a)break}if(!a)throw i}for(const i of e.iterateCallbacks("handlerWillRespond"))a=await i({event:r,request:t,response:a});return a}async _awaitComplete(e,t,r,a){let i,n;try{i=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:a,request:r,response:i}),await t.doneWaiting()}catch(c){c instanceof Error&&(n=c)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:r,response:i,error:n}),t.destroy(),n)throw n}}class mt extends se{async _handle(e,t){let r=await t.cacheMatch(e),a;if(!r)try{r=await t.fetchAndCachePut(e)}catch(i){i instanceof Error&&(a=i)}if(!r)throw new y("no-response",{url:e.url,error:a});return r}}const wt={cacheWillUpdate:async({response:s})=>s.status===200||s.status===0?s:null};class yt extends se{constructor(e={}){super(e),this.plugins.some(t=>"cacheWillUpdate"in t)||this.plugins.unshift(wt)}async _handle(e,t){const r=t.fetchAndCachePut(e).catch(()=>{});t.waitUntil(r);let a=await t.cacheMatch(e),i;if(!a)try{a=await r}catch(n){n instanceof Error&&(i=n)}if(!a)throw new y("no-response",{url:e.url,error:i});return a}}qe(([{"revision":null,"url":"assets/access-control-ClVHa3J1.js"},{"revision":null,"url":"assets/actions-C0a0eUYM.js"},{"revision":null,"url":"assets/add-component-core-CK3SAdlQ.js"},{"revision":null,"url":"assets/add-component-core-D-IRi6XF.css"},{"revision":null,"url":"assets/Add-meGhscd6.js"},{"revision":null,"url":"assets/add-resource-hs_iM1xk.js"},{"revision":null,"url":"assets/addon-C7fx4MJ0.js"},{"revision":null,"url":"assets/analytics-CjaAB5m2.js"},{"revision":null,"url":"assets/api-K65cLqol.js"},{"revision":null,"url":"assets/ar-BFUPmTkR.js"},{"revision":null,"url":"assets/ar-DoIWDL3Q.js"},{"revision":null,"url":"assets/ArrowDropDown-B7S4xnEe.js"},{"revision":null,"url":"assets/audit-logs-bl5st5Lr.js"},{"revision":null,"url":"assets/base32-9oQoOkFy.js"},{"revision":null,"url":"assets/branding-5S3zjZlC.js"},{"revision":null,"url":"assets/bundle-avatar-Dnk7mw7b.js"},{"revision":null,"url":"assets/button-BTVoaDd7.js"},{"revision":null,"url":"assets/CheckCircle-CnvZ4oB1.js"},{"revision":null,"url":"assets/ChevronLeft-D1qkw0FM.js"},{"revision":null,"url":"assets/ChevronRight-CEkTH0up.js"},{"revision":null,"url":"assets/click-to-copy-C9X-UQyL.js"},{"revision":null,"url":"assets/cloneDeep-BRiLvZjr.js"},{"revision":null,"url":"assets/complete-C3yyjx_N.js"},{"revision":null,"url":"assets/component-B0WI6_H4.js"},{"revision":null,"url":"assets/config-C0wq7rMr.js"},{"revision":null,"url":"assets/config-DINcJX6A.js"},{"revision":null,"url":"assets/config-navigation-Dskr7Yic.js"},{"revision":null,"url":"assets/config-space-BYYAVRcS.js"},{"revision":null,"url":"assets/confirm-BmLsHbj9.js"},{"revision":null,"url":"assets/connect-06lWrPrR.js"},{"revision":null,"url":"assets/connect-hhGPDSK8.js"},{"revision":null,"url":"assets/connect-to-DIJ57-hM.js"},{"revision":null,"url":"assets/content-layout-cWwRTmIc.js"},{"revision":null,"url":"assets/dashboard-PlqPcVrd.js"},{"revision":null,"url":"assets/de-BVgb1fEg.js"},{"revision":null,"url":"assets/de-hV0yD3gq.js"},{"revision":null,"url":"assets/DeleteOutline-BjrgG_HY.js"},{"revision":null,"url":"assets/did-address-Bl2N44vc.js"},{"revision":null,"url":"assets/domain-DDa_Ldun.js"},{"revision":null,"url":"assets/domain-list-DXbfS21Z.js"},{"revision":null,"url":"assets/Done-7hvoRcVZ.js"},{"revision":null,"url":"assets/Download-CMvqPsK9.js"},{"revision":null,"url":"assets/EditIcon-BOr0kf6I.js"},{"revision":null,"url":"assets/email-9CbD02fM.js"},{"revision":null,"url":"assets/Error-D3I1nNnO.js"},{"revision":null,"url":"assets/es-BcSAobJW.js"},{"revision":null,"url":"assets/es-CWcVPAna.js"},{"revision":null,"url":"assets/exchange-passport-ZTeqENxf.js"},{"revision":null,"url":"assets/form-text-input-DEadnM80.js"},{"revision":null,"url":"assets/format-error-C0Ke3VXF.js"},{"revision":null,"url":"assets/fr-8qti32p1.js"},{"revision":null,"url":"assets/fr-C8Jr_C8u.js"},{"revision":null,"url":"assets/fuel-AxStjHWS.js"},{"revision":null,"url":"assets/fullpage-BXvfrD1C.js"},{"revision":null,"url":"assets/get-safe-url-BVjMxmwp.js"},{"revision":null,"url":"assets/get-safe-url-BxZD1oA_.js"},{"revision":null,"url":"assets/Google-TNOfJ3uU.js"},{"revision":null,"url":"assets/hi-DDEUhQcX.js"},{"revision":null,"url":"assets/hi-DTqZQNNB.js"},{"revision":null,"url":"assets/home-CrkVy1DG.js"},{"revision":null,"url":"assets/id-CUsGyKYW.js"},{"revision":null,"url":"assets/id-DkUYINLx.js"},{"revision":null,"url":"assets/iframe-BcWepstA.js"},{"revision":null,"url":"assets/index-AgKpYdvC.css"},{"revision":null,"url":"assets/index-BBOSdbE7.js"},{"revision":null,"url":"assets/index-Be9vrMiA.js"},{"revision":null,"url":"assets/index-BJA4YPaC.js"},{"revision":null,"url":"assets/index-BSC2apzE.js"},{"revision":null,"url":"assets/index-BtFCAsqh.js"},{"revision":null,"url":"assets/index-BXlJ03I_.js"},{"revision":null,"url":"assets/index-C-D-nCB1.js"},{"revision":null,"url":"assets/index-C2fPoxDR.js"},{"revision":null,"url":"assets/index-CDvqNewi.js"},{"revision":null,"url":"assets/index-CHFvfli7.js"},{"revision":null,"url":"assets/index-ChSPqVLh.js"},{"revision":null,"url":"assets/index-CoxJ8G1A.js"},{"revision":null,"url":"assets/index-D4PP6P2d.css"},{"revision":null,"url":"assets/index-DcfIKM1A.js"},{"revision":null,"url":"assets/index-DfBNyFsV.js"},{"revision":null,"url":"assets/index-DgaUl_lv.js"},{"revision":null,"url":"assets/index-DIQ33Q8Z.js"},{"revision":null,"url":"assets/index-DkufOgYs.js"},{"revision":null,"url":"assets/index-DkVoxpR-.js"},{"revision":null,"url":"assets/index-DoZ2YM4T.js"},{"revision":null,"url":"assets/index-DtwN19zv.js"},{"revision":null,"url":"assets/index-DVYdq7IA.js"},{"revision":null,"url":"assets/index-MxM82EtU.js"},{"revision":null,"url":"assets/index-uYcwdGZL.js"},{"revision":null,"url":"assets/InfoOutlined-CwoytfGr.js"},{"revision":null,"url":"assets/invitation-BzHMoDRH.js"},{"revision":null,"url":"assets/invite-BBcuJaUv.js"},{"revision":null,"url":"assets/isEmail-BWNRBSAy.js"},{"revision":null,"url":"assets/issue-passport-sgBfFZ4Y.js"},{"revision":null,"url":"assets/item-C5sAxGxS.js"},{"revision":null,"url":"assets/ja-B0U7M2t1.js"},{"revision":null,"url":"assets/ja-C2LP4WQG.js"},{"revision":null,"url":"assets/keyboard-arrow-down-rounded-DadBVmpO.js"},{"revision":null,"url":"assets/ko-C-DMeONa.js"},{"revision":null,"url":"assets/ko-CpDA9JjF.js"},{"revision":null,"url":"assets/launch-result-message-keU5grqY.js"},{"revision":null,"url":"assets/Launch-wyBVNKfb.js"},{"revision":null,"url":"assets/LaunchOutlined-B2ZU9fkg.js"},{"revision":null,"url":"assets/layout-CGas_HfS.js"},{"revision":null,"url":"assets/list-cZ-OXxN0.js"},{"revision":null,"url":"assets/list-header-Dd4BEf4y.js"},{"revision":null,"url":"assets/localization-Z_CTe1Z8.js"},{"revision":null,"url":"assets/LockIcon-D-W4Rph6.js"},{"revision":null,"url":"assets/log-BFj6TDz5.js"},{"revision":null,"url":"assets/log-D33dFtt_.css"},{"revision":null,"url":"assets/login-B-6s411x.js"},{"revision":null,"url":"assets/login-oauth-callback-aKbzfltj.js"},{"revision":null,"url":"assets/logo-uploader-pyVqJwKp.js"},{"revision":null,"url":"assets/Loop-CQAI5rIS.js"},{"revision":null,"url":"assets/lost-passport-DKkxzCH8.js"},{"revision":null,"url":"assets/lottie-react.esm-CHpXrEmm.js"},{"revision":null,"url":"assets/MoreHoriz-CyCcv2bV.js"},{"revision":null,"url":"assets/open-window-Cvetj9Mn.js"},{"revision":null,"url":"assets/overview-BxbJCUbS.js"},{"revision":null,"url":"assets/page-header--y63DY5K.js"},{"revision":null,"url":"assets/permission-Be_APIVZ.js"},{"revision":null,"url":"assets/PlayArrow-B5ZFUKPq.js"},{"revision":null,"url":"assets/preferences-D-NDmLhf.js"},{"revision":null,"url":"assets/pt-7r06GaNd.js"},{"revision":null,"url":"assets/pt-CbxvF__Z.js"},{"revision":null,"url":"assets/publish-resource-CxkiI4_n.js"},{"revision":null,"url":"assets/QuestionMarkCircle-BvUTckGB.js"},{"revision":null,"url":"assets/raf-schd.esm-Cxhj8umC.js"},{"revision":null,"url":"assets/react-beautiful-dnd.esm-Czr1mmuu.js"},{"revision":null,"url":"assets/relative-time-D0P0AJUI.js"},{"revision":null,"url":"assets/ru-DLHrAeE7.js"},{"revision":null,"url":"assets/ru-MS-ksi2g.js"},{"revision":null,"url":"assets/sdk-NKQJT0FS.js"},{"revision":null,"url":"assets/ServerLogo-BDEZRDcg.js"},{"revision":null,"url":"assets/session-CV6ez46v.js"},{"revision":null,"url":"assets/setup-CF2VhAxD.js"},{"revision":null,"url":"assets/shorten-label-J69eHfMN.js"},{"revision":null,"url":"assets/simple-select-D06JmA0a.js"},{"revision":null,"url":"assets/slicedToArray-CXBLQZX4.js"},{"revision":null,"url":"assets/start-BjFFihjS.js"},{"revision":null,"url":"assets/step-actions-qXq3r5tX.js"},{"revision":null,"url":"assets/studio-BNGylnt7.js"},{"revision":null,"url":"assets/switch-control-DmKC0hpm.js"},{"revision":null,"url":"assets/th-Dil9kwjH.js"},{"revision":null,"url":"assets/th-gcuRSNHo.js"},{"revision":null,"url":"assets/traffic-Djmt2Ph8.js"},{"revision":null,"url":"assets/transfer-B9ohZjja.js"},{"revision":null,"url":"assets/unsubscribe-6xRksnNz.js"},{"revision":null,"url":"assets/use-mobile-DnWfrhc7.js"},{"revision":null,"url":"assets/use-passport-id-B-b-_oYF.js"},{"revision":null,"url":"assets/useAsync-Ua5iss51.js"},{"revision":null,"url":"assets/useAsyncRetry-Bmo6a1Zp.js"},{"revision":null,"url":"assets/useLocalStorage-B5t6MEw6.js"},{"revision":null,"url":"assets/user-center-DEGm9vzv.js"},{"revision":null,"url":"assets/useSetState-Crt4S51m.js"},{"revision":null,"url":"assets/util-Bl4vyFsm.js"},{"revision":null,"url":"assets/util-PzCAH0nE.js"},{"revision":null,"url":"assets/vendor-arcblock-BFUPp1Ez.js"},{"revision":null,"url":"assets/vendor-arcblock-DhgPdlEj.css"},{"revision":null,"url":"assets/vendor-hooks-BKxTDk_P.js"},{"revision":null,"url":"assets/vendor-mui-core-xF5F4eT7.js"},{"revision":null,"url":"assets/vendor-mui-x-CSUdon8K.js"},{"revision":null,"url":"assets/vendor-react-D-afvo_7.js"},{"revision":null,"url":"assets/vendor-utils-5TjOM6td.js"},{"revision":null,"url":"assets/vi-B46hyfUM.js"},{"revision":null,"url":"assets/vi-CGYOhf_R.js"},{"revision":null,"url":"assets/ViewList-C8AcRueZ.js"},{"revision":null,"url":"assets/wrap-locale-6MxBCfA2.js"},{"revision":null,"url":"assets/zh-BYS_9r4v.js"},{"revision":null,"url":"assets/zh-DWWuPzr1.js"},{"revision":null,"url":"assets/zh-tw-BR5CO3an.js"},{"revision":null,"url":"assets/zh-tw-Ci21sS2Y.js"},{"revision":"44d50b36de64039af7b9ddd5a2702a93","url":"index.html"},{"revision":"629a14a7e3397a134f5a30b5dc735183","url":"registerSW.js"},{"revision":"07a287e43ae8e959a20d6b367a581667","url":"router-template-styles/styles.css"},{"revision":"3c1549cff96a2d2baec44397663c083e","url":"share/shared-service-worker.js"},{"revision":"19d4c6a99cb8ed11e68209a612e7ec44","url":"share/workbox-v7.3.0/workbox-background-sync.prod.js"},{"revision":"d9d631014689e2b4b0e343c129671749","url":"share/workbox-v7.3.0/workbox-broadcast-update.prod.js"},{"revision":"bdb39ceb7380dcb1483c543e8856242b","url":"share/workbox-v7.3.0/workbox-cacheable-response.prod.js"},{"revision":"b84dd900eb18e8bc842666bbb740604e","url":"share/workbox-v7.3.0/workbox-core.prod.js"},{"revision":"c582a61c037234d8283eea0b97693b1b","url":"share/workbox-v7.3.0/workbox-expiration.prod.js"},{"revision":"866ba7d03bd871fa990976e4db312ab3","url":"share/workbox-v7.3.0/workbox-navigation-preload.prod.js"},{"revision":"0c55bb581ea7ce5ebfac1ce95cdda21f","url":"share/workbox-v7.3.0/workbox-offline-ga.prod.js"},{"revision":"770d183cf1f189a1ceb11ba8b5d808fa","url":"share/workbox-v7.3.0/workbox-precaching.prod.js"},{"revision":"295decbe1eb3b073a2a8d67cfbdf5692","url":"share/workbox-v7.3.0/workbox-range-requests.prod.js"},{"revision":"0bcb90677f3508ebc8a3571d14194478","url":"share/workbox-v7.3.0/workbox-recipes.prod.js"},{"revision":"4af96b70b2d20b041e2edd7ef1a8ef27","url":"share/workbox-v7.3.0/workbox-routing.prod.js"},{"revision":"c78c21b4058a1134ad3e12286c57cb2f","url":"share/workbox-v7.3.0/workbox-strategies.prod.js"},{"revision":"7eeb2d820d409221e076d31951fdcf79","url":"share/workbox-v7.3.0/workbox-streams.prod.js"},{"revision":"aa7368887577b9719a46b585d5dcc7a5","url":"share/workbox-v7.3.0/workbox-sw.js"},{"revision":"e768668db4eeefde11b58542900ab2ad","url":"share/workbox-v7.3.0/workbox-window.prod.umd.js"},{"revision":"f272d080151aa40322ce1603c6261ec1","url":"manifest.webmanifest"}]||[]).filter(s=>s.url!=="/"&&!s.url.includes("index.html")));pe();self.addEventListener("activate",()=>{console.log("Service Worker activated")});self.addEventListener("install",s=>{console.log("Service Worker installed"),s.waitUntil(self.skipWaiting())});const re=s=>!!(s.method!=="GET"||s.url.includes("/api")||s.url.includes("__meta__.js")||s.url.includes("__blocklet__.js"));te(({request:s})=>re(s)?!1:s.url.includes("/static/"),new mt({cacheName:`static-${self.registration.scope}`,plugins:[new ut({maxEntries:200})]}));te(({request:s})=>re(s)?!1:s.url.includes("/images/")||s.url.includes("/router/-template-styles/"),new yt({cacheName:`StaleWhileRevalidate-${self.registration.scope}`}));
|