@abtnode/blocklet-services 1.6.29 → 1.7.0

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.
Files changed (45) hide show
  1. package/api/middlewares/check-running.js +2 -10
  2. package/api/routes/env.js +14 -5
  3. package/api/services/auth/index.js +3 -7
  4. package/api/util/index.js +22 -0
  5. package/build/asset-manifest.json +24 -24
  6. package/build/index.html +1 -1
  7. package/build/{precache-manifest.f8d516b676d205d1f6e2c4e869fbf297.js → precache-manifest.2c0bc2393d8946a1abf7a8c3dab5978c.js} +24 -24
  8. package/build/service-worker.js +1 -1
  9. package/build/static/js/2.ce8b1e12.chunk.js +3 -0
  10. package/build/static/js/{2.ca22e0d7.chunk.js.LICENSE.txt → 2.ce8b1e12.chunk.js.LICENSE.txt} +18 -0
  11. package/build/static/js/2.ce8b1e12.chunk.js.map +1 -0
  12. package/build/static/js/3.94781068.chunk.js +3 -0
  13. package/build/static/js/{3.38949d38.chunk.js.LICENSE.txt → 3.94781068.chunk.js.LICENSE.txt} +0 -9
  14. package/build/static/js/3.94781068.chunk.js.map +1 -0
  15. package/build/static/js/4.7ef421eb.chunk.js +2 -0
  16. package/build/static/js/4.7ef421eb.chunk.js.map +1 -0
  17. package/build/static/js/5.55133a2a.chunk.js +2 -0
  18. package/build/static/js/5.55133a2a.chunk.js.map +1 -0
  19. package/build/static/js/6.0c90a989.chunk.js +2 -0
  20. package/build/static/js/{6.001b8434.chunk.js.map → 6.0c90a989.chunk.js.map} +1 -1
  21. package/build/static/js/7.f511e135.chunk.js +2 -0
  22. package/build/static/js/7.f511e135.chunk.js.map +1 -0
  23. package/build/static/js/8.8bac752c.chunk.js +2 -0
  24. package/build/static/js/8.8bac752c.chunk.js.map +1 -0
  25. package/build/static/js/main.874efc69.chunk.js +2 -0
  26. package/build/static/js/main.874efc69.chunk.js.map +1 -0
  27. package/build/static/js/runtime-main.38df22a3.js +2 -0
  28. package/build/static/js/{runtime-main.8ddd5828.js.map → runtime-main.38df22a3.js.map} +1 -1
  29. package/package.json +21 -21
  30. package/build/static/js/2.ca22e0d7.chunk.js +0 -3
  31. package/build/static/js/2.ca22e0d7.chunk.js.map +0 -1
  32. package/build/static/js/3.38949d38.chunk.js +0 -3
  33. package/build/static/js/3.38949d38.chunk.js.map +0 -1
  34. package/build/static/js/4.97f8d423.chunk.js +0 -2
  35. package/build/static/js/4.97f8d423.chunk.js.map +0 -1
  36. package/build/static/js/5.8149df59.chunk.js +0 -2
  37. package/build/static/js/5.8149df59.chunk.js.map +0 -1
  38. package/build/static/js/6.001b8434.chunk.js +0 -2
  39. package/build/static/js/7.f30a5254.chunk.js +0 -2
  40. package/build/static/js/7.f30a5254.chunk.js.map +0 -1
  41. package/build/static/js/8.e354cbf1.chunk.js +0 -2
  42. package/build/static/js/8.e354cbf1.chunk.js.map +0 -1
  43. package/build/static/js/main.561b39e2.chunk.js +0 -2
  44. package/build/static/js/main.561b39e2.chunk.js.map +0 -1
  45. package/build/static/js/runtime-main.8ddd5828.js +0 -2
@@ -1,12 +1,8 @@
1
- const joinUrl = require('url-join');
2
-
3
1
  const { BlockletStatus } = require('@blocklet/meta/lib/constants');
4
- const { WELLKNOWN_SERVICE_PATH_PREFIX } = require('@abtnode/constant');
5
2
  const getBlockletNotRunningTemplate = require('@abtnode/router-templates/lib/blocklet-not-running');
6
3
  const getBlockletMaintenanceTemplate = require('@abtnode/router-templates/lib/blocklet-maintenance');
7
- const { getBaseUrl } = require('@abtnode/router-adapter');
8
4
 
9
- const { shouldGotoStartPage } = require('../util');
5
+ const { shouldGotoStartPage, getRedirectUrl } = require('../util');
10
6
 
11
7
  const checkRunning = async (req, res, next) => {
12
8
  const blocklet = await req.getBlocklet();
@@ -19,11 +15,7 @@ const checkRunning = async (req, res, next) => {
19
15
  ].includes(blocklet.status)
20
16
  ) {
21
17
  if (shouldGotoStartPage(req)) {
22
- const baseUrl = getBaseUrl(req);
23
- const redirect = encodeURIComponent(
24
- `${baseUrl.replace(/\/+$/, '')}/${req.url.replace(/^\/+/, '').replace('__start__=1', '')}`
25
- );
26
- res.redirect(joinUrl(baseUrl, WELLKNOWN_SERVICE_PATH_PREFIX, '/start', `/?redirect=${redirect}`));
18
+ res.redirect(getRedirectUrl({ req, pagePath: '/start' }));
27
19
  return;
28
20
  }
29
21
 
package/api/routes/env.js CHANGED
@@ -1,26 +1,35 @@
1
- const { NODE_SERVICES } = require('@abtnode/constant');
2
- const { WELLKNOWN_SERVICE_PATH_PREFIX } = require('@abtnode/constant');
1
+ const get = require('lodash/get');
2
+ const { NODE_SERVICES, WELLKNOWN_SERVICE_PATH_PREFIX } = require('@abtnode/constant');
3
+ const { BLOCKLET_CONFIGURABLE_KEY } = require('@blocklet/meta/lib/constants');
3
4
 
4
5
  module.exports = {
5
6
  init(server, node, opts) {
6
7
  server.get(`**${WELLKNOWN_SERVICE_PATH_PREFIX}/api/env`, async (req, res) => {
7
8
  res.type('js');
8
9
 
9
- const [blocklet, config, info] = await Promise.all([
10
+ const [blockletInfo, blocklet, config, info] = await Promise.all([
10
11
  req.getBlockletInfo(),
12
+ req.getBlocklet(),
11
13
  req.getServiceConfig(NODE_SERVICES.AUTH),
12
14
  req.getNodeInfo(),
13
15
  ]);
14
16
  const pathPrefix = req.headers['x-path-prefix'] || '/';
15
17
  const groupPathPrefix = req.headers['x-group-path-prefix'];
16
18
 
19
+ const passportColor = get(
20
+ (blocklet.environments || []).find((x) => x.key === BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_PASSPORT_COLOR),
21
+ 'value',
22
+ 'auto'
23
+ );
24
+
17
25
  res.send(`window.env = {
18
- appId: "${blocklet.did}",
19
- appName: "${blocklet.name}",
26
+ appId: "${blockletInfo.did}",
27
+ appName: "${blockletInfo.name}",
20
28
  pathPrefix: "${pathPrefix}",
21
29
  apiPrefix: "${pathPrefix.replace(/\/+$/, '')}${WELLKNOWN_SERVICE_PATH_PREFIX}",
22
30
  ${groupPathPrefix ? `groupPathPrefix: "${groupPathPrefix}",` : ''}
23
31
  webWalletUrl: "${info.webWalletUrl || config.webWalletUrl || opts.webWalletUrl}",
32
+ passportColor: "${passportColor}",
24
33
  }`);
25
34
  });
26
35
  },
@@ -2,12 +2,10 @@
2
2
  const get = require('lodash/get');
3
3
  const minimatch = require('minimatch');
4
4
  const bearerToken = require('express-bearer-token');
5
- const joinUrl = require('url-join');
6
5
 
7
6
  const validators = require('@blocklet/sdk/lib/validators');
8
- const { genPermissionName, NODE_SERVICES, WELLKNOWN_SERVICE_PATH_PREFIX } = require('@abtnode/constant');
7
+ const { genPermissionName, NODE_SERVICES } = require('@abtnode/constant');
9
8
  const { BLOCKLET_MODES } = require('@blocklet/meta/lib/constants');
10
- const { getBaseUrl } = require('@abtnode/router-adapter');
11
9
  const { setUserInfoHeaders } = require('@abtnode/auth/lib/auth');
12
10
 
13
11
  const initJwt = require('../../libs/jwt');
@@ -20,6 +18,7 @@ const createLostPassportListAuth = require('./connect/lost-passport-list');
20
18
  const createLostPassportIssueAuth = require('./connect/lost-passport-issue');
21
19
  const createSessionRoutes = require('./session');
22
20
  const createPassportRoutes = require('./passport');
21
+ const { getRedirectUrl } = require('../../util');
23
22
 
24
23
  const init = ({ node, options }) => {
25
24
  /**
@@ -161,10 +160,7 @@ const init = ({ node, options }) => {
161
160
 
162
161
  if (blocked) {
163
162
  if (!authenticated) {
164
- const baseUrl = getBaseUrl(req);
165
- // redirect to target path after login
166
- const redirect = encodeURIComponent(`${baseUrl.replace(/\/+$/, '')}/${req.url.replace(/^\/+/, '')}`);
167
- res.redirect(joinUrl(baseUrl, WELLKNOWN_SERVICE_PATH_PREFIX, '/login', `/?redirect=${redirect}`));
163
+ res.redirect(getRedirectUrl({ req, pagePath: '/login' }));
168
164
  return;
169
165
  }
170
166
 
package/api/util/index.js CHANGED
@@ -1,5 +1,8 @@
1
+ const joinUrl = require('url-join');
1
2
  const { ROLES } = require('@abtnode/constant');
2
3
  const { BlockletSource } = require('@blocklet/meta/lib/constants');
4
+ const { WELLKNOWN_SERVICE_PATH_PREFIX } = require('@abtnode/constant');
5
+ const { getBaseUrl } = require('@abtnode/router-adapter');
3
6
 
4
7
  const getLogoFromLogoUrl = (blocklet) => {
5
8
  try {
@@ -58,8 +61,27 @@ const ensureProxyUrl = (req) => {
58
61
  return { target };
59
62
  };
60
63
 
64
+ const getRedirectUrl = ({ req, pagePath }) => {
65
+ const baseUrl = getBaseUrl(req);
66
+
67
+ const redirectUrlObj = new URL(`http://localhost${req.url}`);
68
+ redirectUrlObj.searchParams.delete('__start__');
69
+ const redirectUrl = `${baseUrl.replace(/\/+$/, '')}${redirectUrlObj.pathname}${redirectUrlObj.search}`;
70
+
71
+ const url = new URL(`http://localhost${joinUrl(baseUrl, WELLKNOWN_SERVICE_PATH_PREFIX, pagePath || '/')}`);
72
+ url.searchParams.set('redirect', redirectUrl);
73
+
74
+ const locale = new URL(`http://localhost${req.url}`).searchParams.get('locale');
75
+ if (locale) {
76
+ url.searchParams.set('locale', locale);
77
+ }
78
+
79
+ return `${url.pathname}${url.search}`;
80
+ };
81
+
61
82
  module.exports = {
62
83
  getBlockletLogo,
63
84
  shouldGotoStartPage,
64
85
  ensureProxyUrl,
86
+ getRedirectUrl,
65
87
  };
@@ -1,38 +1,38 @@
1
1
  {
2
2
  "files": {
3
- "main.js": "/.blocklet/proxy/blocklet-service/static/js/main.561b39e2.chunk.js",
4
- "main.js.map": "/.blocklet/proxy/blocklet-service/static/js/main.561b39e2.chunk.js.map",
5
- "runtime-main.js": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.8ddd5828.js",
6
- "runtime-main.js.map": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.8ddd5828.js.map",
3
+ "main.js": "/.blocklet/proxy/blocklet-service/static/js/main.874efc69.chunk.js",
4
+ "main.js.map": "/.blocklet/proxy/blocklet-service/static/js/main.874efc69.chunk.js.map",
5
+ "runtime-main.js": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.38df22a3.js",
6
+ "runtime-main.js.map": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.38df22a3.js.map",
7
7
  "static/css/2.d49e994f.chunk.css": "/.blocklet/proxy/blocklet-service/static/css/2.d49e994f.chunk.css",
8
- "static/js/2.ca22e0d7.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/2.ca22e0d7.chunk.js",
9
- "static/js/2.ca22e0d7.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/2.ca22e0d7.chunk.js.map",
10
- "static/js/3.38949d38.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/3.38949d38.chunk.js",
11
- "static/js/3.38949d38.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/3.38949d38.chunk.js.map",
12
- "static/js/4.97f8d423.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/4.97f8d423.chunk.js",
13
- "static/js/4.97f8d423.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/4.97f8d423.chunk.js.map",
14
- "static/js/5.8149df59.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/5.8149df59.chunk.js",
15
- "static/js/5.8149df59.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/5.8149df59.chunk.js.map",
16
- "static/js/6.001b8434.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/6.001b8434.chunk.js",
17
- "static/js/6.001b8434.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/6.001b8434.chunk.js.map",
18
- "static/js/7.f30a5254.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/7.f30a5254.chunk.js",
19
- "static/js/7.f30a5254.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/7.f30a5254.chunk.js.map",
20
- "static/js/8.e354cbf1.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/8.e354cbf1.chunk.js",
21
- "static/js/8.e354cbf1.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/8.e354cbf1.chunk.js.map",
8
+ "static/js/2.ce8b1e12.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/2.ce8b1e12.chunk.js",
9
+ "static/js/2.ce8b1e12.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/2.ce8b1e12.chunk.js.map",
10
+ "static/js/3.94781068.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/3.94781068.chunk.js",
11
+ "static/js/3.94781068.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/3.94781068.chunk.js.map",
12
+ "static/js/4.7ef421eb.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/4.7ef421eb.chunk.js",
13
+ "static/js/4.7ef421eb.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/4.7ef421eb.chunk.js.map",
14
+ "static/js/5.55133a2a.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/5.55133a2a.chunk.js",
15
+ "static/js/5.55133a2a.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/5.55133a2a.chunk.js.map",
16
+ "static/js/6.0c90a989.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/6.0c90a989.chunk.js",
17
+ "static/js/6.0c90a989.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/6.0c90a989.chunk.js.map",
18
+ "static/js/7.f511e135.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/7.f511e135.chunk.js",
19
+ "static/js/7.f511e135.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/7.f511e135.chunk.js.map",
20
+ "static/js/8.8bac752c.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/8.8bac752c.chunk.js",
21
+ "static/js/8.8bac752c.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/8.8bac752c.chunk.js.map",
22
22
  "index.html": "/.blocklet/proxy/blocklet-service/index.html",
23
- "precache-manifest.f8d516b676d205d1f6e2c4e869fbf297.js": "/.blocklet/proxy/blocklet-service/precache-manifest.f8d516b676d205d1f6e2c4e869fbf297.js",
23
+ "precache-manifest.2c0bc2393d8946a1abf7a8c3dab5978c.js": "/.blocklet/proxy/blocklet-service/precache-manifest.2c0bc2393d8946a1abf7a8c3dab5978c.js",
24
24
  "service-worker.js": "/.blocklet/proxy/blocklet-service/service-worker.js",
25
25
  "static/css/2.d49e994f.chunk.css.map": "/.blocklet/proxy/blocklet-service/static/css/2.d49e994f.chunk.css.map",
26
- "static/js/2.ca22e0d7.chunk.js.LICENSE.txt": "/.blocklet/proxy/blocklet-service/static/js/2.ca22e0d7.chunk.js.LICENSE.txt",
27
- "static/js/3.38949d38.chunk.js.LICENSE.txt": "/.blocklet/proxy/blocklet-service/static/js/3.38949d38.chunk.js.LICENSE.txt",
26
+ "static/js/2.ce8b1e12.chunk.js.LICENSE.txt": "/.blocklet/proxy/blocklet-service/static/js/2.ce8b1e12.chunk.js.LICENSE.txt",
27
+ "static/js/3.94781068.chunk.js.LICENSE.txt": "/.blocklet/proxy/blocklet-service/static/js/3.94781068.chunk.js.LICENSE.txt",
28
28
  "static/media/400.css": "/.blocklet/proxy/blocklet-service/static/media/ubuntu-mono-latin-ext-400-normal.84fa8bc1.woff2",
29
29
  "static/media/500.css": "/.blocklet/proxy/blocklet-service/static/media/rubik-latin-ext-500-normal.5663c731.woff2",
30
30
  "static/media/600.css": "/.blocklet/proxy/blocklet-service/static/media/rubik-latin-ext-600-normal.ff159cb8.woff2"
31
31
  },
32
32
  "entrypoints": [
33
- "static/js/runtime-main.8ddd5828.js",
33
+ "static/js/runtime-main.38df22a3.js",
34
34
  "static/css/2.d49e994f.chunk.css",
35
- "static/js/2.ca22e0d7.chunk.js",
36
- "static/js/main.561b39e2.chunk.js"
35
+ "static/js/2.ce8b1e12.chunk.js",
36
+ "static/js/main.874efc69.chunk.js"
37
37
  ]
38
38
  }
package/build/index.html CHANGED
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/.well-known/service/static/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"/><meta name="theme-color" content="#000000"/><title>Blocklet Service</title><script src="/.well-known/service/api/env"></script><link href="/.blocklet/proxy/blocklet-service/static/css/2.d49e994f.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,i,a=t[0],l=t[1],f=t[2],s=t[3]||[],d=0,h=[];d<a.length;d++)i=a[d],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&h.push(o[i][0]),o[i]=0;for(n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n]);for(p&&p(t),c.push.apply(c,s);h.length;)h.shift()();return u.push.apply(u,f||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,l=1;l<r.length;l++){var f=r[l];0!==o[f]&&(n=!1)}n&&(u.splice(t--,1),e=a(a.s=r[0]))}return 0===u.length&&(c.forEach((function(e){if(void 0===o[e]){o[e]=null;var t=document.createElement("link");a.nc&&t.setAttribute("nonce",a.nc),t.rel="prefetch",t.as="script",t.href=i(e),document.head.appendChild(t)}})),c.length=0),e}var n={},o={1:0},u=[],c=[];function i(e){return a.p+"static/js/"+({}[e]||e)+"."+{3:"38949d38",4:"97f8d423",5:"8149df59",6:"001b8434",7:"f30a5254",8:"e354cbf1"}[e]+".chunk.js"}function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var u,c=document.createElement("script");c.charset="utf-8",c.timeout=120,a.nc&&c.setAttribute("nonce",a.nc),c.src=i(e);var l=new Error;u=function(t){c.onerror=c.onload=null,clearTimeout(f);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),u=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",l.name="ChunkLoadError",l.type=n,l.request=u,r[1](l)}o[e]=void 0}};var f=setTimeout((function(){u({type:"timeout",target:c})}),12e4);c.onerror=c.onload=u,document.head.appendChild(c)}return Promise.all(t)},a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="/.blocklet/proxy/blocklet-service/",a.oe=function(e){throw console.error(e),e};var l=this["webpackJsonp@abtnode/blocklet-services"]=this["webpackJsonp@abtnode/blocklet-services"]||[],f=l.push.bind(l);l.push=t,l=l.slice();for(var s=0;s<l.length;s++)t(l[s]);var p=f;r()}([])</script><script src="/.blocklet/proxy/blocklet-service/static/js/2.ca22e0d7.chunk.js"></script><script src="/.blocklet/proxy/blocklet-service/static/js/main.561b39e2.chunk.js"></script></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/.well-known/service/static/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"/><meta name="theme-color" content="#000000"/><title>Blocklet Service</title><script src="/.well-known/service/api/env"></script><link href="/.blocklet/proxy/blocklet-service/static/css/2.d49e994f.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,u,i=t[0],l=t[1],f=t[2],s=t[3]||[],d=0,h=[];d<i.length;d++)u=i[d],Object.prototype.hasOwnProperty.call(o,u)&&o[u]&&h.push(o[u][0]),o[u]=0;for(n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n]);for(p&&p(t),a.push.apply(a,s);h.length;)h.shift()();return c.push.apply(c,f||[]),r()}function r(){for(var e,t=0;t<c.length;t++){for(var r=c[t],n=!0,l=1;l<r.length;l++){var f=r[l];0!==o[f]&&(n=!1)}n&&(c.splice(t--,1),e=i(i.s=r[0]))}return 0===c.length&&(a.forEach((function(e){if(void 0===o[e]){o[e]=null;var t=document.createElement("link");i.nc&&t.setAttribute("nonce",i.nc),t.rel="prefetch",t.as="script",t.href=u(e),document.head.appendChild(t)}})),a.length=0),e}var n={},o={1:0},c=[],a=[];function u(e){return i.p+"static/js/"+({}[e]||e)+"."+{3:"94781068",4:"7ef421eb",5:"55133a2a",6:"0c90a989",7:"f511e135",8:"8bac752c"}[e]+".chunk.js"}function i(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var c,a=document.createElement("script");a.charset="utf-8",a.timeout=120,i.nc&&a.setAttribute("nonce",i.nc),a.src=u(e);var l=new Error;c=function(t){a.onerror=a.onload=null,clearTimeout(f);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+n+": "+c+")",l.name="ChunkLoadError",l.type=n,l.request=c,r[1](l)}o[e]=void 0}};var f=setTimeout((function(){c({type:"timeout",target:a})}),12e4);a.onerror=a.onload=c,document.head.appendChild(a)}return Promise.all(t)},i.m=e,i.c=n,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(r,n,function(t){return e[t]}.bind(null,n));return r},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/.blocklet/proxy/blocklet-service/",i.oe=function(e){throw console.error(e),e};var l=this["webpackJsonp@abtnode/blocklet-services"]=this["webpackJsonp@abtnode/blocklet-services"]||[],f=l.push.bind(l);l.push=t,l=l.slice();for(var s=0;s<l.length;s++)t(l[s]);var p=f;r()}([])</script><script src="/.blocklet/proxy/blocklet-service/static/js/2.ce8b1e12.chunk.js"></script><script src="/.blocklet/proxy/blocklet-service/static/js/main.874efc69.chunk.js"></script></body></html>
@@ -1,55 +1,55 @@
1
1
  self.__precacheManifest = (self.__precacheManifest || []).concat([
2
2
  {
3
- "revision": "34206a0fa9e98743a426c276611e5621",
3
+ "revision": "811d96d9fef780ca8703c260aeea55de",
4
4
  "url": "/.blocklet/proxy/blocklet-service/index.html"
5
5
  },
6
6
  {
7
- "revision": "e0b9ab529eca99ae8f1e",
7
+ "revision": "90bcb4fd39d495940f41",
8
8
  "url": "/.blocklet/proxy/blocklet-service/static/css/2.d49e994f.chunk.css"
9
9
  },
10
10
  {
11
- "revision": "e0b9ab529eca99ae8f1e",
12
- "url": "/.blocklet/proxy/blocklet-service/static/js/2.ca22e0d7.chunk.js"
11
+ "revision": "90bcb4fd39d495940f41",
12
+ "url": "/.blocklet/proxy/blocklet-service/static/js/2.ce8b1e12.chunk.js"
13
13
  },
14
14
  {
15
- "revision": "001cd1ced571d272e8edd36766b7e99b",
16
- "url": "/.blocklet/proxy/blocklet-service/static/js/2.ca22e0d7.chunk.js.LICENSE.txt"
15
+ "revision": "b6a263591290e4ea23f980ad7826d413",
16
+ "url": "/.blocklet/proxy/blocklet-service/static/js/2.ce8b1e12.chunk.js.LICENSE.txt"
17
17
  },
18
18
  {
19
- "revision": "31d312b54073279aa378",
20
- "url": "/.blocklet/proxy/blocklet-service/static/js/3.38949d38.chunk.js"
19
+ "revision": "9c21f0998e587da2bf84",
20
+ "url": "/.blocklet/proxy/blocklet-service/static/js/3.94781068.chunk.js"
21
21
  },
22
22
  {
23
- "revision": "13c1ee756e3b5cd4765e29c46fdabd06",
24
- "url": "/.blocklet/proxy/blocklet-service/static/js/3.38949d38.chunk.js.LICENSE.txt"
23
+ "revision": "327dea51c54983f5708f4242bceacaed",
24
+ "url": "/.blocklet/proxy/blocklet-service/static/js/3.94781068.chunk.js.LICENSE.txt"
25
25
  },
26
26
  {
27
- "revision": "7de7fe57a225b3388d5c",
28
- "url": "/.blocklet/proxy/blocklet-service/static/js/4.97f8d423.chunk.js"
27
+ "revision": "395ebe5bf312309c6a9b",
28
+ "url": "/.blocklet/proxy/blocklet-service/static/js/4.7ef421eb.chunk.js"
29
29
  },
30
30
  {
31
- "revision": "a573903fe1a5b5f0e26a",
32
- "url": "/.blocklet/proxy/blocklet-service/static/js/5.8149df59.chunk.js"
31
+ "revision": "2ccf356e1979eba49d5a",
32
+ "url": "/.blocklet/proxy/blocklet-service/static/js/5.55133a2a.chunk.js"
33
33
  },
34
34
  {
35
- "revision": "9142c88b4dee9cea9e15",
36
- "url": "/.blocklet/proxy/blocklet-service/static/js/6.001b8434.chunk.js"
35
+ "revision": "8ed7456246c579593420",
36
+ "url": "/.blocklet/proxy/blocklet-service/static/js/6.0c90a989.chunk.js"
37
37
  },
38
38
  {
39
- "revision": "1566a27a8641df727f23",
40
- "url": "/.blocklet/proxy/blocklet-service/static/js/7.f30a5254.chunk.js"
39
+ "revision": "e0e112fb62286e4db679",
40
+ "url": "/.blocklet/proxy/blocklet-service/static/js/7.f511e135.chunk.js"
41
41
  },
42
42
  {
43
- "revision": "3e8eb7d6c2f30270070e",
44
- "url": "/.blocklet/proxy/blocklet-service/static/js/8.e354cbf1.chunk.js"
43
+ "revision": "3e24f8ddd7cc9e6fcf7a",
44
+ "url": "/.blocklet/proxy/blocklet-service/static/js/8.8bac752c.chunk.js"
45
45
  },
46
46
  {
47
- "revision": "f276bf0c6302592b1cd4",
48
- "url": "/.blocklet/proxy/blocklet-service/static/js/main.561b39e2.chunk.js"
47
+ "revision": "b31ee15a7a79724aac95",
48
+ "url": "/.blocklet/proxy/blocklet-service/static/js/main.874efc69.chunk.js"
49
49
  },
50
50
  {
51
- "revision": "a7102bf1023c7cf054a4",
52
- "url": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.8ddd5828.js"
51
+ "revision": "ca41cd5a0ade97ae0c87",
52
+ "url": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.38df22a3.js"
53
53
  },
54
54
  {
55
55
  "revision": "c23241033e8c96b9636d9efc308d4476",
@@ -14,7 +14,7 @@
14
14
  importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
15
15
 
16
16
  importScripts(
17
- "/.blocklet/proxy/blocklet-service/precache-manifest.f8d516b676d205d1f6e2c4e869fbf297.js"
17
+ "/.blocklet/proxy/blocklet-service/precache-manifest.2c0bc2393d8946a1abf7a8c3dab5978c.js"
18
18
  );
19
19
 
20
20
  self.addEventListener('message', (event) => {