diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..3329e0c
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,4 @@
+{
+  "semi": true,
+  "trailingComma": "es5"
+}
diff --git a/docs-sdk/.gitignore b/docs-sdk/.gitignore
new file mode 100644
index 0000000..036a9a1
--- /dev/null
+++ b/docs-sdk/.gitignore
@@ -0,0 +1 @@
+doc-dist
diff --git a/docs-sdk/.npmrc b/docs-sdk/.npmrc
new file mode 100644
index 0000000..bf2e764
--- /dev/null
+++ b/docs-sdk/.npmrc
@@ -0,0 +1 @@
+shamefully-hoist=true
diff --git a/docs-sdk/.prettierrc b/docs-sdk/.prettierrc
new file mode 100644
index 0000000..3329e0c
--- /dev/null
+++ b/docs-sdk/.prettierrc
@@ -0,0 +1,4 @@
+{
+  "semi": true,
+  "trailingComma": "es5"
+}
diff --git a/docs-sdk/docs-consumer/develop-tips.md b/docs-sdk/docs-consumer/develop-tips.md
new file mode 100644
index 0000000..69b3fc3
--- /dev/null
+++ b/docs-sdk/docs-consumer/develop-tips.md
@@ -0,0 +1,3 @@
+`npm run doc-dev` 启动本地开发服务器，构建当前 package 的文档。
+
+因为文档工具依赖于这个 package，所以要先`npm run prepare`，否则打包的时候回提示找不到'@alicloud/console-toolkit-docs-consumer'。
diff --git a/docs-sdk/docs-consumer/docs/breezr.config.js b/docs-sdk/docs-consumer/docs/breezr.config.js
new file mode 100644
index 0000000..8750ffb
--- /dev/null
+++ b/docs-sdk/docs-consumer/docs/breezr.config.js
@@ -0,0 +1,22 @@
+const path = require("path");
+const globby = require("globby");
+
+module.exports = {
+  presets: [
+    [
+      // require.resolve("./lib"),
+      require.resolve("@alicloud/console-toolkit-preset-docs"),
+      {
+        consoleOSId: "consumer-docs",
+        getMarkdownEntries: () => {
+          return [
+            {
+              key: "doc",
+              path: path.resolve(__dirname, "./document.md"),
+            },
+          ];
+        },
+      },
+    ],
+  ],
+};
diff --git a/docs-sdk/docs-consumer/docs/document.md b/docs-sdk/docs-consumer/docs/document.md
new file mode 100644
index 0000000..b543f4a
--- /dev/null
+++ b/docs-sdk/docs-consumer/docs/document.md
@@ -0,0 +1,36 @@
+# @alicloud/console-toolkit-docs-consumer
+
+从指定地址加载文档模块。
+
+文档模块是由`@alicloud/console-toolkit-preset-docs`构建的。
+
+## 使用方式
+
+安装依赖：
+
+```sh
+npm install -S @alicloud/console-toolkit-docs-consumer
+```
+
+使用加载器：
+
+```tsx
+import { EntryLoader } from "@alicloud/console-toolkit-docs-consumer";
+
+export function App() {
+  return (
+    <EntryLoader
+      // 地址可以是 cdn 地址，也可以是文档本地开发服务器的地址。
+      servePath="http://localhost:3333/"
+      // 文档微应用的id
+      consoleOSId="breezr-docs-fixture"
+      // 要加载哪个文档
+      entryKey={"docs/md1"}
+      // markdown渲染相关的参数
+      markdownOpts={{ toc: true }}
+      // useSelfDeps使用文档模块自带的依赖，你也可以通过deps指定依赖
+      useSelfDeps
+    />
+  );
+}
+```
diff --git a/docs-sdk/docs-consumer/package.json b/docs-sdk/docs-consumer/package.json
new file mode 100644
index 0000000..be20f14
--- /dev/null
+++ b/docs-sdk/docs-consumer/package.json
@@ -0,0 +1,30 @@
+{
+  "name": "@alicloud/console-toolkit-docs-consumer",
+  "version": "1.0.13",
+  "main": "lib/index.js",
+  "license": "MIT",
+  "scripts": {
+    "prepare": "tsc",
+    "watch": "tsc -w",
+    "doc-dev": "rm -rf doc-dist && npx breezr start --config ./docs/breezr.config.js --port 6300",
+    "doc-build": "rm -rf doc-dist && npx breezr build"
+  },
+  "dependencies": {
+    "@alicloud/console-os-react-app": "0.4.1",
+    "@alicloud/console-toolkit-docs-shared": "workspace:^1.0.0",
+    "query-string": "^6.13.8"
+  },
+  "devDependencies": {
+    "@alicloud/console-toolkit-cli": "^1.2.0",
+    "@alicloud/console-toolkit-preset-docs": "workspace:*",
+    "@alicloud/console-toolkit-preset-official": "^1.2.8",
+    "@types/react": "^17.0.0",
+    "@types/react-dom": "^17.0.0",
+    "react": "^17.0.1",
+    "react-dom": "^17.0.1",
+    "typescript": "^4.1.3"
+  },
+  "publishConfig": {
+    "access": "public"
+  }
+}
diff --git a/docs-sdk/docs-consumer/src/index.tsx b/docs-sdk/docs-consumer/src/index.tsx
new file mode 100644
index 0000000..e15b844
--- /dev/null
+++ b/docs-sdk/docs-consumer/src/index.tsx
@@ -0,0 +1,358 @@
+import { loadExposedModule } from "@alicloud/console-os-react-app";
+import { useState } from "react";
+import * as React from "react";
+import * as ReactDOM from "react-dom";
+import qs from "query-string";
+
+import type {
+  ILoadEntryLoaderOpts,
+  IEntryLoaderProps,
+  IConsoleOSOptions,
+  ILoadOverviewOpts,
+  IOverviewProps,
+} from "@alicloud/console-toolkit-docs-shared";
+
+export type { IDemoOpts } from "@alicloud/console-toolkit-docs-shared";
+
+function load(
+  opts: IConsoleOSOptions & {
+    exportName: string;
+  }
+): Promise<any> {
+  const { servePath, consoleOSId, deps, exportName } = opts;
+  const consoleOSAppInfo = {
+    manifest: `${servePath}${consoleOSId}.manifest.json`,
+    name: consoleOSId,
+    deps: {
+      "@alicloud/breezr-docs-environment": {
+        publicPath: servePath,
+        consoleOSId,
+      },
+      ...deps,
+    },
+  };
+
+  return loadExposedModule(consoleOSAppInfo, exportName, {
+    sandBox: { disable: true },
+  });
+}
+
+export async function loadOverview(
+  opts: ILoadOverviewOpts
+): Promise<React.ComponentType<IOverviewProps>> {
+  const {
+    resolveAppDeps,
+    resolveAppServePath,
+    resolveDemoOpts,
+  } = await wrapResolvers(opts);
+  const resolvedDeps = await resolveAppDeps(opts.consoleOSId);
+  const actualDeps = {
+    ...resolvedDeps,
+    "@breezr-doc-internals/externaled-deps": resolvedDeps,
+  };
+  const ActualOverview = await load({
+    servePath: opts.servePath,
+    consoleOSId: opts.consoleOSId,
+    deps: actualDeps,
+    exportName: "Overview",
+  })
+    .then((m: any) => m())
+    .then((m: any) => m.default);
+
+  // 包装一下加载到的组件，覆盖resolveAppDeps，使得它能拿到loadedSelfDeps
+  const Wrapped: React.ComponentType<IOverviewProps> = (props) => {
+    const mergedResolveAppDeps = React.useCallback(
+      async (consoleOSId) => {
+        const [a, b] = await Promise.all([
+          resolveAppDeps(consoleOSId),
+          props.resolveAppDeps?.(consoleOSId),
+        ]);
+        return {
+          ...a,
+          ...b,
+        };
+      },
+      [props.resolveAppDeps]
+    );
+
+    const mergedResolveAppServePath = React.useCallback(
+      (consoleOSId) => {
+        let res = props.resolveAppServePath?.(consoleOSId) ?? "";
+        if (!res) res = resolveAppServePath(consoleOSId);
+        return res;
+      },
+      [props.resolveAppDeps]
+    );
+
+    const mergedResolveDemoOpts = React.useCallback(
+      (consoleOSId) => {
+        return {
+          ...resolveDemoOpts?.(consoleOSId),
+          ...props.resolveDemoOpts?.(consoleOSId),
+        };
+      },
+      [props.resolveDemoOpts]
+    );
+
+    const demoOpts = React.useMemo(() => {
+      return mergedResolveDemoOpts(opts.consoleOSId);
+    }, [mergedResolveDemoOpts]);
+
+    const loadOpts = React.useMemo(() => {
+      return {
+        ...opts,
+        entryKey: props.entryKey,
+      };
+    }, [props.entryKey]);
+
+    return (
+      <ActualOverview
+        {...props}
+        resolveAppDeps={mergedResolveAppDeps}
+        resolveAppServePath={mergedResolveAppServePath}
+        resolveDemoOpts={mergedResolveDemoOpts}
+        demoOpts={demoOpts}
+        loadOpts={loadOpts}
+      />
+    );
+  };
+
+  return Wrapped;
+}
+
+export async function loadEntryLoader(
+  opts: ILoadEntryLoaderOpts
+): Promise<React.ComponentType<IEntryLoaderProps>> {
+  const {
+    resolveAppDeps,
+    resolveAppServePath,
+    resolveDemoOpts,
+  } = await wrapResolvers(opts);
+  const resolvedDeps = await resolveAppDeps(opts.consoleOSId);
+  const actualDeps = {
+    ...resolvedDeps,
+    "@breezr-doc-internals/externaled-deps": resolvedDeps,
+  };
+
+  const EntryLoader = await load({
+    servePath: opts.servePath,
+    consoleOSId: opts.consoleOSId,
+    deps: actualDeps,
+    exportName: "Loader",
+  });
+
+  // 包装一下加载到的组件，覆盖resolveAppDeps，使得它能拿到loadedSelfDeps
+  const Wrapped: React.ComponentType<IEntryLoaderProps> = (props) => {
+    const mergedResolveAppDeps = React.useCallback(
+      async (consoleOSId) => {
+        const [a, b] = await Promise.all([
+          resolveAppDeps(consoleOSId),
+          props.resolveAppDeps?.(consoleOSId),
+        ]);
+        return {
+          ...a,
+          ...b,
+        };
+      },
+      [props.resolveAppDeps]
+    );
+    const mergedResolveAppServePath = React.useCallback(
+      (consoleOSId) => {
+        let res = props.resolveAppServePath?.(consoleOSId) ?? "";
+        if (!res) res = resolveAppServePath(consoleOSId);
+        return res;
+      },
+      [props.resolveAppDeps]
+    );
+
+    const mergedResolveDemoOpts = React.useCallback(
+      (consoleOSId) => {
+        return {
+          ...resolveDemoOpts?.(consoleOSId),
+          ...props.resolveDemoOpts?.(consoleOSId),
+        };
+      },
+      [props.resolveDemoOpts]
+    );
+
+    const demoOpts = React.useMemo(() => {
+      return mergedResolveDemoOpts(opts.consoleOSId);
+    }, [mergedResolveDemoOpts]);
+
+    const loadOpts = React.useMemo(() => {
+      return {
+        ...opts,
+        entryKey: props.entryKey,
+      };
+    }, [props.entryKey]);
+
+    return (
+      <EntryLoader
+        {...props}
+        resolveAppDeps={mergedResolveAppDeps}
+        resolveAppServePath={mergedResolveAppServePath}
+        resolveDemoOpts={mergedResolveDemoOpts}
+        demoOpts={demoOpts}
+        loadOpts={loadOpts}
+      />
+    );
+  };
+  return Wrapped;
+}
+
+export const EntryLoader: React.FC<
+  ILoadEntryLoaderOpts & IEntryLoaderProps
+> = ({
+  servePath,
+  consoleOSId,
+  deps,
+  resolveDemoOpts,
+  resolveAppServePath,
+  resolveAppDeps,
+  useSelfDeps,
+  ...entryLoaderProps
+}) => {
+  const [ActualEntryLoader] = useState(() => {
+    // 本组件不会响应 servePath, consoleOSId, deps 的变化，只会使用第一次的值
+    return React.lazy(async () => {
+      const ActualEntryLoader = await loadEntryLoader({
+        servePath,
+        consoleOSId,
+        deps,
+        resolveDemoOpts,
+        resolveAppDeps,
+        resolveAppServePath,
+        useSelfDeps,
+      });
+      return {
+        default: ActualEntryLoader,
+      };
+    });
+  });
+
+  // 会响应entryKey的变化
+  return <ActualEntryLoader {...entryLoaderProps} />;
+};
+
+export const Overview: React.FC<ILoadOverviewOpts & IOverviewProps> = ({
+  servePath,
+  consoleOSId,
+  deps,
+  resolveDemoOpts,
+  resolveAppServePath,
+  resolveAppDeps,
+  useSelfDeps,
+  ...overviewProps
+}) => {
+  const [ActualOverview] = useState(() => {
+    // 本组件不会响应 servePath, consoleOSId, deps 的变化，只会使用第一次的值
+    return React.lazy(async () => {
+      const ActualOverview = await loadOverview({
+        servePath,
+        consoleOSId,
+        deps,
+        resolveDemoOpts,
+        resolveAppDeps,
+        resolveAppServePath,
+        useSelfDeps,
+      });
+      return {
+        default: ActualOverview,
+      };
+    });
+  });
+
+  // 会响应entryKey的变化
+  return <ActualOverview {...overviewProps} />;
+};
+
+export function getInfoFromURL(url: string) {
+  const query = qs.parseUrl(url).query;
+  const entryKey = (query.entryKey || query.demoKey) as string;
+  const consoleOSId = query.consoleOSId as string;
+  const servePath = query.servePath as string;
+  return {
+    servePath,
+    consoleOSId,
+    entryKey,
+  };
+}
+
+function ensureEndSlash(path: string) {
+  if (path.endsWith("/")) return path;
+  return path + "/";
+}
+
+async function wrapResolvers({
+  useSelfDeps,
+  resolveAppDeps: _resolveAppDeps,
+  resolveAppServePath: _resolveAppServePath,
+  consoleOSId,
+  servePath,
+  deps,
+  resolveDemoOpts,
+}: ILoadEntryLoaderOpts | ILoadOverviewOpts) {
+  // 包装一下resolveAppDeps，使它能拿到loadedSelfDeps，以及deps
+  const resolveAppDeps: IEntryLoaderProps["resolveAppDeps"] = async (appId) => {
+    // 开始加载调用者指定的deps，注意这是个promise，但是我们还没await它
+    let loadingDeps = _resolveAppDeps?.(consoleOSId);
+    if (appId === consoleOSId) {
+      // 此if块处理selfDeps的加载逻辑
+      // 是否要加载微应用自己构建出来的deps（即selfDeps）
+      let shouldLoadSelfDeps = false;
+      // 先加载微应用自己打包的deps
+      if (useSelfDeps) {
+        shouldLoadSelfDeps = true;
+      } else {
+        const resolved = await loadingDeps;
+        if (resolved?._useSelfDeps) {
+          // 如果上游resolver指定此配置，那么loader加载selfDeps作为deps的fallback
+          shouldLoadSelfDeps = true;
+        }
+      }
+      let loadingSelfDeps;
+      if (shouldLoadSelfDeps) {
+        // 开始加载selfDeps，注意这是个promise，但是我们还没await它
+        loadingSelfDeps = load({
+          consoleOSId: consoleOSId + "-deps",
+          servePath: ensureEndSlash(servePath) + "deps/",
+          exportName: "deps",
+          deps: {
+            react: React,
+            "react-dom": ReactDOM,
+          },
+        });
+      }
+      const [loadedSelfDeps, loadedDeps] = await Promise.all([
+        loadingSelfDeps,
+        loadingDeps,
+      ]);
+      return {
+        react: React,
+        "react-dom": ReactDOM,
+        ...loadedSelfDeps,
+        ...loadedDeps,
+        ...deps,
+      };
+    } else {
+      return {
+        react: React,
+        "react-dom": ReactDOM,
+        ...(await loadingDeps),
+        ...deps,
+      };
+    }
+  };
+
+  const resolveAppServePath: IEntryLoaderProps["resolveAppServePath"] = (
+    appId
+  ) => {
+    let res = _resolveAppServePath?.(appId);
+    if (!res && appId === consoleOSId) {
+      res = servePath;
+    }
+    return res ?? "";
+  };
+
+  return { resolveAppDeps, resolveAppServePath, resolveDemoOpts };
+}
diff --git a/docs-sdk/docs-consumer/tsconfig.json b/docs-sdk/docs-consumer/tsconfig.json
new file mode 100644
index 0000000..3582c2b
--- /dev/null
+++ b/docs-sdk/docs-consumer/tsconfig.json
@@ -0,0 +1,70 @@
+{
+  "include": ["src/**/*"],
+  "compilerOptions": {
+    /* Visit https://aka.ms/tsconfig.json to read more about this file */
+
+    /* Basic Options */
+    // "incremental": true,                   /* Enable incremental compilation */
+    "target": "es5",                          /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
+    "module": "es2020",                     /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
+    // "lib": [],                             /* Specify library files to be included in the compilation. */
+    // "allowJs": true,                       /* Allow javascript files to be compiled. */
+    // "checkJs": true,                       /* Report errors in .js files. */
+    "jsx": "react",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
+    "declaration": true,                   /* Generates corresponding '.d.ts' file. */
+    // "declarationMap": true,                /* Generates a sourcemap for each corresponding '.d.ts' file. */
+    "sourceMap": true,                     /* Generates corresponding '.map' file. */
+    // "outFile": "./",                       /* Concatenate and emit output to single file. */
+    "outDir": "./lib",                        /* Redirect output structure to the directory. */
+    // "rootDir": "./",                       /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
+    // "composite": true,                     /* Enable project compilation */
+    // "tsBuildInfoFile": "./",               /* Specify file to store incremental compilation information */
+    // "removeComments": true,                /* Do not emit comments to output. */
+    // "noEmit": true,                        /* Do not emit outputs. */
+    // "importHelpers": true,                 /* Import emit helpers from 'tslib'. */
+    // "downlevelIteration": true,            /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
+    // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
+
+    /* Strict Type-Checking Options */
+    "strict": true,                           /* Enable all strict type-checking options. */
+    // "noImplicitAny": true,                 /* Raise error on expressions and declarations with an implied 'any' type. */
+    // "strictNullChecks": true,              /* Enable strict null checks. */
+    // "strictFunctionTypes": true,           /* Enable strict checking of function types. */
+    // "strictBindCallApply": true,           /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
+    // "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */
+    // "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */
+    // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */
+
+    /* Additional Checks */
+    // "noUnusedLocals": true,                /* Report errors on unused locals. */
+    // "noUnusedParameters": true,            /* Report errors on unused parameters. */
+    // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */
+    // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */
+
+    /* Module Resolution Options */
+    "moduleResolution": "node",            /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
+    // "baseUrl": "./",                       /* Base directory to resolve non-absolute module names. */
+    // "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
+    // "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
+    // "typeRoots": [],                       /* List of folders to include type definitions from. */
+    // "types": [],                           /* Type declaration files to be included in compilation. */
+    // "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
+    "esModuleInterop": true,                  /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
+    // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
+    // "allowUmdGlobalAccess": true,          /* Allow accessing UMD globals from modules. */
+
+    /* Source Map Options */
+    // "sourceRoot": "",                      /* Specify the location where debugger should locate TypeScript files instead of source locations. */
+    // "mapRoot": "",                         /* Specify the location where debugger should locate map files instead of generated locations. */
+    // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */
+    // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
+
+    /* Experimental Options */
+    // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */
+    // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */
+
+    /* Advanced Options */
+    "skipLibCheck": true,                     /* Skip type checking of declaration files. */
+    "forceConsistentCasingInFileNames": true  /* Disallow inconsistently-cased references to the same file. */
+  }
+}
diff --git a/docs-sdk/docs-provider/.npmignore b/docs-sdk/docs-provider/.npmignore
new file mode 100644
index 0000000..8c65571
--- /dev/null
+++ b/docs-sdk/docs-provider/.npmignore
@@ -0,0 +1,10 @@
+test
+jest.config.js
+
+tsconfig.json
+tslint.json
+
+yarn.lock
+*.log
+
+src
diff --git a/docs-sdk/docs-provider/README.md b/docs-sdk/docs-provider/README.md
new file mode 100644
index 0000000..4719852
--- /dev/null
+++ b/docs-sdk/docs-provider/README.md
@@ -0,0 +1,10 @@
+# breezr-docs
+
+breezr-docs 是一套基于 webpack 的文档、demo 开发环境。
+
+将文档**分拆**到各自的项目维护，靠近各自的源代码，让它们可以随源代码的发布周期进行发布；开发官网站点时，又可以将各个仓库的文档**汇集**起来，给用户提供全面的文档。
+
+一个文档项目，可以包含若干个 demo、markdown 文档；一个官网站点，可以从多个文档项目加载 demo、markdown 文档。
+
+示例项目与文档：
+http://gitlab.alibaba-inc.com/sirui.csr/breezr-doc-demo
diff --git a/docs-sdk/docs-provider/bin/oss-upload.js b/docs-sdk/docs-provider/bin/oss-upload.js
new file mode 100755
index 0000000..80dcaae
--- /dev/null
+++ b/docs-sdk/docs-provider/bin/oss-upload.js
@@ -0,0 +1,90 @@
+#!/usr/bin/env node
+let OSS = require("ali-oss");
+const fs = require("fs");
+const path = require("path");
+const globby = require("globby");
+const qs = require("query-string");
+
+const dir = process.env.OSS_DIR || `app/breezr-docs/`;
+const name = process.env.OSS_NAME;
+const tag = process.env.OSS_TAG || "latest";
+
+const sourceDir = path.join(process.cwd(), process.argv[2] || "doc-dist");
+
+if (!name) {
+  throw new Error(`process.env.OSS_NAME must be given (package name)`);
+}
+if (!process.env.OSS_K) {
+  throw new Error(`process.env.OSS_K must be given (accessKeyId)`);
+}
+if (!process.env.OSS_S) {
+  throw new Error(`process.env.OSS_S must be given (accessKeySecret)`);
+}
+if (!fs.existsSync(sourceDir)) {
+  throw new Error(`sourceDir "${sourceDir}" does not exist`);
+}
+const targetDir = path.join(dir, name, "-" + tag);
+
+let client = new OSS({
+  bucket: process.env.OSS_BUCKET || "opensource-microapp",
+  region: process.env.OSS_REGION || "oss-cn-hangzhou",
+  accessKeyId: process.env.OSS_K,
+  accessKeySecret: process.env.OSS_S,
+});
+
+async function del() {
+  let delCount = 0;
+  while (true) {
+    const list = await client.list({
+      prefix: targetDir,
+      "max-keys": 1000,
+    });
+    list.objects = list.objects || [];
+    const count = list.objects.length;
+    if (count === 0) break;
+    await Promise.all(list.objects.map((v) => client.delete(v.name)));
+    delCount += count;
+  }
+  if (delCount > 0) console.log(`Successfully delete ${delCount} old files`);
+}
+
+async function main() {
+  await del();
+
+  const files = await globby("**/*", {
+    cwd: sourceDir,
+  });
+
+  let successCount = 0;
+
+  let manifestURL;
+  let consoleOSId;
+
+  await Promise.all(
+    files.map(async (filename) => {
+      const res = await client.put(
+        path.join(targetDir, filename),
+        path.join(sourceDir, filename)
+      );
+      console.log(`[success] [${++successCount}/${files.length}] ${filename}`);
+      if (!filename.startsWith("deps/") && filename.endsWith("manifest.json")) {
+        manifestURL = res.url.replace(/^http:/, "https:");
+        const manifest = JSON.parse(
+          fs.readFileSync(path.join(sourceDir, filename))
+        );
+        consoleOSId = manifest.name;
+      }
+    })
+  );
+
+  const servePath = manifestURL.slice(0, manifestURL.lastIndexOf("/") + 1);
+  console.log(`[成功] 上传构建产物 "${sourceDir}" 到OSS路径 "${servePath}"`);
+
+  const previewURL = qs.stringifyUrl({
+    url: "https://xconsole.aliyun-inc.com/demo-playground",
+    query: { servePath, consoleOSId },
+  });
+  console.log(`预览url: ${previewURL} \n可以将它分享给其他同学！`);
+}
+
+main();
diff --git a/docs-sdk/docs-provider/package.json b/docs-sdk/docs-provider/package.json
new file mode 100644
index 0000000..532cd96
--- /dev/null
+++ b/docs-sdk/docs-provider/package.json
@@ -0,0 +1,68 @@
+{
+  "name": "@alicloud/console-toolkit-preset-docs",
+  "version": "1.0.40",
+  "description": "console toolkit preset for console app",
+  "author": "boelroy <boelroy@live.com>",
+  "license": "MIT",
+  "main": "lib/index.js",
+  "bin": {
+    "oss-upload": "./bin/oss-upload.js"
+  },
+  "scripts": {
+    "ci": "npm run lint && npm run compile && npm run cov",
+    "lint": "tslint --project .",
+    "compile": "rimraf ./lib && tsc -p ./src",
+    "watch": "tsc -watch -p ./src",
+    "test": "jest",
+    "cov": "jest  --coverage",
+    "prepare": "npm run compile"
+  },
+  "devDependencies": {
+    "@alicloud/console-toolkit-cli": "^1.2.0",
+    "@alicloud/console-toolkit-core": "^1.1.3",
+    "@types/fs-extra": "^9.0.6",
+    "@types/node": "^14.14.22",
+    "@types/react": "^17.0.0",
+    "@types/styled-components": "^5.1.7",
+    "globby": "^11.0.2",
+    "rimraf": "^3.0.2",
+    "typescript": "^4.1.3"
+  },
+  "dependencies": {
+    "@alicloud/console-os-react-portal": "0.4.1",
+    "@alicloud/console-toolkit-docs-consumer": "workspace:^1.0.0",
+    "@alicloud/console-toolkit-docs-shared": "workspace:^1.0.0",
+    "@alicloud/console-toolkit-fusion-css-loader": "workspace:^1.0.0",
+    "@alicloud/console-toolkit-markdown-renderer": "workspace:^3.0.0",
+    "@alicloud/console-toolkit-plugin-os": "0.4.2",
+    "@alicloud/console-toolkit-preset-official": "1.2.8",
+    "@alicloud/console-toolkit-shared-utils": "1.0.16",
+    "@babel/core": "^7.12.10",
+    "@babel/plugin-transform-modules-amd": "^7.12.1",
+    "@babel/plugin-transform-react-jsx": "^7.12.12",
+    "@babel/preset-typescript": "^7.12.7",
+    "ali-oss": "^6.13.2",
+    "codemirror": "^5.59.2",
+    "connect-history-api-fallback": "^1.6.0",
+    "copy-to-clipboard": "^3.3.1",
+    "execa": "^5.0.0",
+    "fs-extra": "^9.1.0",
+    "get-port": "^5.1.1",
+    "gray-matter": "^4.0.2",
+    "http-proxy-middleware": "^1.0.6",
+    "jest-docblock": "^26.0.0",
+    "open": "^7.3.1",
+    "query-string": "^6.13.8",
+    "raw-loader": "^4.0.2",
+    "rc-dialog": "^8.5.2",
+    "react-animate-height": "^2.0.23",
+    "react-codemirror2": "^7.2.1",
+    "react-error-boundary": "^3.1.0",
+    "react-hot-toast": "^1.0.2",
+    "webpack-chain": "^6.5.1",
+    "webpack-virtual-modules": "^0.4.2"
+  },
+  "publishConfig": {
+    "access": "public"
+  }
+}
diff --git a/docs-sdk/docs-provider/src/assets-upload-plugin.ts b/docs-sdk/docs-provider/src/assets-upload-plugin.ts
new file mode 100644
index 0000000..66d2d84
--- /dev/null
+++ b/docs-sdk/docs-provider/src/assets-upload-plugin.ts
@@ -0,0 +1,114 @@
+import type { IParams } from "./index";
+
+export default (api: any, opts: IParams) => {
+  const { consoleOSId } = opts;
+  if (!consoleOSId) throw new Error("should have consoleOSId");
+
+  api.registerCommand(
+    "upload",
+    {
+      description: "upload docs to oss",
+      usage: `breezr upload`,
+    },
+    async (args) => {
+      console.log("args", args);
+      console.log("consoleOSId", consoleOSId);
+
+      const OSS = require("ali-oss");
+      const fs = require("fs");
+      const path = require("path");
+      const globby = require("globby");
+      const qs = require("query-string");
+
+      // 具名参数，要上传到oss的哪个位置
+      const dir = process.env.OSS_DIR || args.dir || `app/breezr-docs/`;
+      const name = process.env.OSS_NAME || args.name || consoleOSId;
+      const tag = process.env.OSS_TAG || args.tag || "latest";
+      const targetDir = path.join(dir, name, "-" + tag);
+
+      // 第一个位置参数是要上传的本地目录
+      const sourceDir = path.resolve(process.cwd(), args._[1] || "doc-dist");
+
+      if (!name) {
+        throw new Error(
+          `package name must be given (.e.g breezr upload --name=@scope/my-name)`
+        );
+      }
+      if (!process.env.OSS_K) {
+        throw new Error(
+          `process.env.OSS_K must be given (oss的 accessKeyId ，联系萧雨申请)`
+        );
+      }
+      if (!process.env.OSS_S) {
+        throw new Error(
+          `process.env.OSS_S must be given (oss的 accessKeySecret ，联系萧雨申请)`
+        );
+      }
+      if (!fs.existsSync(sourceDir)) {
+        throw new Error(`sourceDir "${sourceDir}" does not exist`);
+      }
+
+      let client = new OSS({
+        bucket: process.env.OSS_BUCKET || "opensource-microapp",
+        region: process.env.OSS_REGION || "oss-cn-hangzhou",
+        accessKeyId: process.env.OSS_K,
+        accessKeySecret: process.env.OSS_S,
+      });
+
+      await del();
+
+      const files = await globby("**/*", {
+        cwd: sourceDir,
+      });
+
+      let successCount = 0;
+      let manifestURL;
+
+      await Promise.all(
+        files.map(async (filename) => {
+          const res = await client.put(
+            path.join(targetDir, filename),
+            path.join(sourceDir, filename)
+          );
+          console.log(
+            `[success] [${++successCount}/${files.length}] ${filename}`
+          );
+          if (
+            !filename.startsWith("deps/") &&
+            filename.endsWith("manifest.json")
+          ) {
+            manifestURL = res.url.replace(/^http:/, "https:");
+          }
+        })
+      );
+
+      const servePath = manifestURL.slice(0, manifestURL.lastIndexOf("/") + 1);
+      console.log(
+        `[成功] 上传构建产物 "${sourceDir}" 到OSS路径 "${servePath}"`
+      );
+
+      const previewURL = qs.stringifyUrl({
+        url: "https://xconsole.aliyun-inc.com/demo-playground",
+        query: { servePath, consoleOSId },
+      });
+      console.log(`预览url: ${previewURL} \n可以将它分享给其他同学！`);
+
+      async function del() {
+        let delCount = 0;
+        while (true) {
+          const list = await client.list({
+            prefix: targetDir,
+            "max-keys": 1000,
+          });
+          list.objects = list.objects || [];
+          const count = list.objects.length;
+          if (count === 0) break;
+          await Promise.all(list.objects.map((v) => client.delete(v.name)));
+          delCount += count;
+        }
+        if (delCount > 0)
+          console.log(`Successfully delete ${delCount} old files`);
+      }
+    }
+  );
+};
diff --git a/docs-sdk/docs-provider/src/build-external-deps.ts b/docs-sdk/docs-provider/src/build-external-deps.ts
new file mode 100644
index 0000000..15ade5d
--- /dev/null
+++ b/docs-sdk/docs-provider/src/build-external-deps.ts
@@ -0,0 +1,56 @@
+import * as Chain from "webpack-chain";
+import { Evnrioment } from "@alicloud/console-toolkit-shared-utils";
+import { IExternalItem } from "./index";
+import VirtualModulesPlugin from "webpack-virtual-modules";
+import * as path from "path";
+
+module.exports = (
+  api: any,
+  opts: { externals?: IExternalItem[] },
+  args: any
+) => {
+  api.on("onChainWebpack", (config: Chain, env: Evnrioment) => {
+    const virtualModules: { [path: string]: string } = {};
+    // 这个虚拟模块可能会包含对用户node_modules的import，
+    // 因此虚拟模块的路径应该在用户项目中
+    const virtualModulePath = path.join(
+      api.getCwd(),
+      "_virtual_module_",
+      "externaled-deps"
+    );
+
+    virtualModules[
+      "/@externaled-deps"
+    ] = `export {default} from "${virtualModulePath}";`;
+
+    // 本地开发时，宿主应用要提供被external掉的依赖
+    if (!Array.isArray(opts.externals) || opts.externals.length === 0) {
+      virtualModules[virtualModulePath] = `
+        export default undefined;
+      `;
+    } else {
+      const importsCode = [] as string[];
+      const objPropertiesCode = [] as string[];
+      opts.externals.forEach((item, idx) => {
+        let moduleName, importPath;
+        if (typeof item === "string") {
+          moduleName = importPath = item;
+        } else {
+          moduleName = item.moduleName;
+          importPath = item.usePathInDev || moduleName;
+        }
+        importsCode.push(`import * as dep${idx} from "${importPath}";`);
+        objPropertiesCode.push(`"${moduleName}": dep${idx},`);
+      });
+      virtualModules[virtualModulePath] = `
+        ${importsCode.join("\n")}
+        export default {
+          ${objPropertiesCode.join("\n")}
+        };
+      `;
+    }
+    config
+      .plugin("virtual-module")
+      .use(new VirtualModulesPlugin(virtualModules));
+  });
+};
diff --git a/docs-sdk/docs-provider/src/config-webpack-plugin.ts b/docs-sdk/docs-provider/src/config-webpack-plugin.ts
new file mode 100644
index 0000000..25ed689
--- /dev/null
+++ b/docs-sdk/docs-provider/src/config-webpack-plugin.ts
@@ -0,0 +1,42 @@
+import * as Chain from "webpack-chain";
+import { Evnrioment } from "@alicloud/console-toolkit-shared-utils";
+import * as path from "path";
+
+module.exports = (api: any) => {
+  api.on("onChainWebpack", (config: Chain, env: Evnrioment) => {
+    config.module
+      // 允许编译本包中的ts
+      .rule("ts")
+      .exclude.clear()
+      .add({
+        not: [path.resolve(__dirname, "../src2")],
+        and: [/node_modules/]
+      })
+      .end()
+      .end()
+      // 修改fusion前缀，样式隔离
+      .rules.delete("css")
+      .end()
+      .rule("css")
+      .test(/\.css$/)
+      .rule("style-loader")
+      .use("style-loader")
+      .loader(require.resolve("style-loader"))
+      .end()
+      .end()
+      .rule("css-loader")
+      .use("css-loader")
+      .loader(require.resolve("css-loader"))
+      .end()
+      .end()
+      .rule("fusion-css-loader")
+      .resourceQuery(/fusionPrefix/)
+      .use("fusion-css-loader")
+      .loader(require.resolve("@alicloud/console-toolkit-fusion-css-loader"))
+      .end()
+      .end()
+      .end()
+      .end()
+      .node.set("fs", "empty");
+  });
+};
diff --git a/docs-sdk/docs-provider/src/demo-info-loader.ts b/docs-sdk/docs-provider/src/demo-info-loader.ts
new file mode 100644
index 0000000..6f7e032
--- /dev/null
+++ b/docs-sdk/docs-provider/src/demo-info-loader.ts
@@ -0,0 +1,52 @@
+import { parseAsync } from "@babel/core";
+import { ImportDeclaration, Statement } from "@babel/types";
+
+function isImportNode(node: Statement): node is ImportDeclaration {
+  return node.type === "ImportDeclaration";
+}
+
+export default async function demoInfoLoader(this: any, content: string) {
+  const callback = this.async();
+  const ast = await parseAsync(content, {
+    presets: [
+      ["@babel/preset-typescript", { isTSX: true, allExtensions: true }],
+    ],
+  });
+
+  if (!ast || ast.type !== "File") {
+    throw new Error(`unexpected content`);
+  }
+
+  // 在运行时创建codesandbox时需要imports的信息
+  const imports = ast.program.body
+    .filter(isImportNode)
+    .filter((node) => {
+      // 过滤掉纯类型import
+      return node.importKind === "value";
+    })
+    .map((node) => {
+      return node.source.value;
+    });
+
+  // 在eval时需要imports的信息
+  let importCodeLines: string[] = [];
+  let objectPropertyCodeLines: string[] = [];
+  imports.forEach((importName, idx) => {
+    importCodeLines.push(`import * as _dep${idx} from "${importName}";`);
+    objectPropertyCodeLines.push(`"${importName}": _dep${idx},`);
+  });
+
+  callback(
+    null,
+    `export const imports = ${JSON.stringify(imports)};
+    export const code = ${JSON.stringify(content)};
+
+    ${importCodeLines.join("\n")}
+    export const deps = {
+      ${objectPropertyCodeLines.join("\n")}
+    };
+    `,
+    null,
+    null
+  );
+}
diff --git a/docs-sdk/docs-provider/src/index.ts b/docs-sdk/docs-provider/src/index.ts
new file mode 100644
index 0000000..bd0b1e8
--- /dev/null
+++ b/docs-sdk/docs-provider/src/index.ts
@@ -0,0 +1,170 @@
+import presetWind from "@alicloud/console-toolkit-preset-official";
+import globby from "globby";
+import * as path from "path";
+import * as fs from "fs-extra";
+import * as Chain from "webpack-chain";
+export type { IDemoOpts } from "@alicloud/console-toolkit-docs-shared";
+import { getEnv } from "@alicloud/console-toolkit-shared-utils";
+
+export type IExternalItem =
+  | string
+  | {
+      moduleName: string;
+      usePathInDev?: string;
+    };
+
+export interface IParams {
+  consoleOSId: string;
+  chainWebpack?: (configChain: Chain, env: any) => void;
+  // 由于breezr的plugin不支持异步返回，因此，getDemos等函数也必须是同步的
+  getDemos?: () => {
+    key: string;
+    path: string;
+    staticMeta?: object;
+  }[];
+  demoContainerPath?: string;
+  demoWrapperPath?: string;
+  demoOptsPath?: string;
+  initializerPath?: string;
+  codesandboxModifierPath?: string;
+  getMarkdownEntries?: () => {
+    key: string;
+    path: string;
+    staticMeta?: object;
+  }[];
+  getNormalEntries?: () => {
+    key: string;
+    path: string;
+    staticMeta?: object;
+  }[];
+  getTypeInfoEntries?: () => {
+    key: string;
+    path: string;
+    staticMeta?: object;
+  }[];
+  externals?: IExternalItem[];
+  resolveAppServePath?: string;
+  output?: string;
+  devServer?: {
+    https?: boolean;
+    host?: string;
+  };
+}
+
+export default (params: IParams, args) => {
+  const env = getEnv();
+  const cwd = env.workingDir ?? process.cwd();
+  if (env.isCloudBuild() && env.buildDestDir) {
+    params.output = env.buildDestDir;
+  } else {
+    params.output = params.output ?? "doc-dist";
+  }
+  if (!params.getDemos) {
+    const baseDir = path.resolve(cwd, "demos");
+    // 默认从demos目录查找demo
+    if (fs.existsSync(baseDir)) {
+      params.getDemos = () => {
+        const paths = globby.sync("**/*.demo.tsx", { cwd: baseDir });
+        return paths.map((relativePath) => {
+          //  const fileName = path.basename(relativePath)
+          const demoName = relativePath.replace(/\.demo\.tsx?$/, "");
+          // 对于每个demo，要返回demo key和demo路径
+          return {
+            key: demoName,
+            path: path.resolve(baseDir, relativePath),
+          };
+        });
+      };
+    }
+  }
+  if (!params.getMarkdownEntries) {
+    const baseDir = path.resolve(cwd, "docs");
+    const READMEPath = path.resolve(cwd, "README.md");
+    params.getMarkdownEntries = () => {
+      const result: { key: string; path: string }[] = [];
+      if (fs.existsSync(READMEPath)) {
+        result.push({
+          key: "README",
+          path: READMEPath,
+        });
+      }
+      if (fs.existsSync(baseDir)) {
+        const paths = globby.sync("**/*.doc.md?(x)", { cwd: baseDir });
+        result.push(
+          ...paths.map((relativePath) => {
+            //  const fileName = path.basename(relativePath)
+            const docName = relativePath.replace(/\.doc\.mdx?$/, "");
+            // 对于每个doc，要返回key和路径
+            return {
+              key: `docs/${docName}`,
+              path: path.resolve(baseDir, relativePath),
+            };
+          })
+        );
+      }
+      return result;
+    };
+  }
+  if (!params.getTypeInfoEntries) {
+    const baseDir = path.resolve(cwd, "src/types");
+    if (fs.existsSync(baseDir)) {
+      params.getTypeInfoEntries = () => {
+        const paths = globby.sync("**/*.type.ts?(x)", { cwd: baseDir });
+        return paths.map((relativePath) => {
+          const typeName = relativePath.replace(/\.type\.tsx?$/, "");
+          return {
+            key: `types/${typeName}`,
+            path: path.resolve(baseDir, relativePath),
+          };
+        });
+      };
+    }
+  }
+
+  params.consoleOSId = params.consoleOSId || "console-os-demos";
+
+  if (params.consoleOSId.includes("/") || params.consoleOSId.includes("\\"))
+    throw new Error(
+      `consoleOSId 不能包含'/'和'\\'符号，您可以用'-'或'_'来代替`
+    );
+
+  const presetConfig = presetWind(
+    {
+      disablePolyfill: true,
+      disableErrorOverlay: true,
+      typescript: {
+        // @ts-ignore
+        disableTypeChecker: true,
+        useBabel: true,
+      },
+      useTerserPlugin: true,
+      htmlFileName: path.resolve(__dirname, "../src2/index.html"),
+      useHappyPack: false,
+      // @ts-ignore
+      hashPrefix: params.consoleOSId,
+      // @ts-ignore
+      // output: {
+      //   path: params.output
+      // }
+      babelPluginWindRc: false,
+      https: params.devServer?.https === true || args.https === true,
+      host: args.host ?? params.devServer?.host,
+    },
+    args
+  );
+
+  presetConfig.plugins.push(
+    [
+      "@alicloud/console-toolkit-plugin-os",
+      {
+        id: params.consoleOSId,
+        cssPrefix: "html",
+      },
+    ],
+    [require.resolve("./main-plugin"), params],
+    [require.resolve("./assets-upload-plugin"), params],
+    require.resolve("./config-webpack-plugin")
+  );
+
+  return presetConfig;
+};
diff --git a/docs-sdk/docs-provider/src/js-file-static-meta-loader.ts b/docs-sdk/docs-provider/src/js-file-static-meta-loader.ts
new file mode 100644
index 0000000..8ccd0fc
--- /dev/null
+++ b/docs-sdk/docs-provider/src/js-file-static-meta-loader.ts
@@ -0,0 +1,9 @@
+import { extract, parse } from "jest-docblock";
+
+export default async function jsFileStaticMetaLoader(
+  this: any,
+  content: string
+) {
+  const meta = parse(extract(content));
+  return `export const staticMeta = ${JSON.stringify(meta)};`;
+}
diff --git a/docs-sdk/docs-provider/src/main-plugin.ts b/docs-sdk/docs-provider/src/main-plugin.ts
new file mode 100644
index 0000000..13e1858
--- /dev/null
+++ b/docs-sdk/docs-provider/src/main-plugin.ts
@@ -0,0 +1,370 @@
+import * as Chain from "webpack-chain";
+import { Evnrioment, getEnv } from "@alicloud/console-toolkit-shared-utils";
+import * as path from "path";
+import VirtualModulesPlugin from "webpack-virtual-modules";
+import historyFallback from "connect-history-api-fallback";
+import { createProxyMiddleware } from "http-proxy-middleware";
+import open from "open";
+import { runScript } from "./scripts/runScript";
+
+import { IParams } from "./index";
+
+module.exports = (api: any, opts: IParams, args: any) => {
+  const virtualModules: { [path: string]: string } = {};
+  const entryListItemCode = [] as string[];
+  const entryListImportCode = [] as string[];
+
+  const demoContainerPath =
+    opts.demoContainerPath || path.resolve(__dirname, "../src2/DemoContainer");
+  virtualModules[
+    "/@DemoContainer"
+  ] = `export { default } from '${demoContainerPath}';`;
+
+  const demoWrapperPath =
+    opts.demoWrapperPath || path.resolve(__dirname, "../src2/DemoWrapper");
+  virtualModules[
+    "/@DemoWrapper"
+  ] = `export { default } from '${demoWrapperPath}';`;
+
+  const demoOptsPath =
+    opts.demoOptsPath || path.resolve(__dirname, "../src2/demoOpts");
+  virtualModules["/@demoOpts"] = `export { default } from '${demoOptsPath}';`;
+
+  virtualModules["/@initializer"] = opts.initializerPath
+    ? `import "${opts.initializerPath}"`
+    : "";
+  virtualModules["/@codesandboxModifier"] = opts.codesandboxModifierPath
+    ? `export { default } from '${opts.codesandboxModifierPath}';`
+    : `export default (files) => files`;
+
+  if (typeof opts.getDemos === "function") {
+    opts.getDemos().forEach(({ key, path: demoPath, staticMeta = {} }, idx) => {
+      const staticMetaVirtualModulePath = generateVirtualPath(
+        "static-meta",
+        key
+      );
+      virtualModules[staticMetaVirtualModulePath] = `
+          import { staticMeta as staticMetaFromFile } from "!!js-file-static-meta-loader!${demoPath}";
+          const staticMetaFromFindAPI = ${JSON.stringify(staticMeta)};
+          export const staticMeta = Object.assign({}, staticMetaFromFile, staticMetaFromFindAPI, {_type:"demo"});
+        `;
+
+      const virtualModulePath = generateVirtualPath("entry", key);
+      if (virtualModules[virtualModulePath]) {
+        throw new Error(`duplicate key "${key}"`);
+      }
+      virtualModules[virtualModulePath] = `
+          import * as m from "${demoPath}";
+          import { imports, code, deps } from "!!demo-info-loader!${demoPath}";
+
+          // 避免webpack做编译时分析，发现demoPath里面没有export meta造成warning
+          const { default:demo, meta = {} } = (void 0, m);
+          export { demo, meta, code, imports, deps };
+        `;
+      entryListImportCode.push(`
+          import { staticMeta as demoStaticMeta${idx} } from "${staticMetaVirtualModulePath}";
+        `);
+      entryListItemCode.push(
+        `{key: '${key}', staticMeta: demoStaticMeta${idx}, load: () => import('${virtualModulePath}')}`
+      );
+    });
+  }
+
+  if (typeof opts.getMarkdownEntries === "function") {
+    opts
+      .getMarkdownEntries()
+      .forEach(({ key, path: entryPath, staticMeta = {} }, idx) => {
+        const staticMetaVirtualModulePath = generateVirtualPath(
+          "static-meta",
+          key
+        );
+        virtualModules[staticMetaVirtualModulePath] = `
+          import { staticMeta as staticMetaFromFile } from "!!md-file-static-meta-loader!${entryPath}";
+          const staticMetaFromFindAPI = ${JSON.stringify(staticMeta)};
+          export const staticMeta = Object.assign({}, staticMetaFromFile, staticMetaFromFindAPI, {_type:"md"});
+        `;
+        entryListImportCode.push(`
+          import { staticMeta as mdStaticMeta${idx} } from "${staticMetaVirtualModulePath}";
+        `);
+
+        const virtualModulePath = generateVirtualPath("entry", key);
+        if (virtualModules[virtualModulePath]) {
+          throw new Error(`duplicate key "${key}"`);
+        }
+        virtualModules[virtualModulePath] = `
+          import markdownSource from "${entryPath}";
+          import React from "react";
+          // 在这个模块才引入markdown-renderer，而不是在Loader引入
+          // 避免所有使用loader的用户都被迫加载markdown-renderer（他可能不需要）
+          import { MarkdownRenderer } from "@alicloud/console-toolkit-markdown-renderer";
+
+          export default (props) => {
+            return React.createElement(MarkdownRenderer, Object.assign({ source: markdownSource }, props));
+          };
+      `;
+        entryListItemCode.push(
+          `{key: '${key}', staticMeta: mdStaticMeta${idx}, load: () => import('${virtualModulePath}')}`
+        );
+      });
+  }
+  if (typeof opts.getTypeInfoEntries === "function") {
+    opts.getTypeInfoEntries().forEach(({ key, path: typePath }, idx) => {
+      const virtualModulePath = generateVirtualPath("entry", key);
+      if (virtualModules[virtualModulePath]) {
+        throw new Error(`duplicate key "${key}"`);
+      }
+      virtualModules[virtualModulePath] = `
+          import typeInfo from "!!type-info-loader!${typePath}";
+          export { typeInfo };
+        `;
+      entryListItemCode.push(
+        `{key: '${key}', staticMeta: {_type:"typeInfo"}, load: () => import('${virtualModulePath}')}`
+      );
+    });
+  }
+  if (typeof opts.getNormalEntries === "function") {
+    opts
+      .getNormalEntries()
+      .forEach(({ key, path: entryPath, staticMeta = {} }, idx) => {
+        const staticMetaVirtualModulePath = generateVirtualPath(
+          "static-meta",
+          key
+        );
+        virtualModules[staticMetaVirtualModulePath] = `
+      import { staticMeta as staticMetaFromFile } from "!!js-file-static-meta-loader!${entryPath}";
+      const staticMetaFromFindAPI = ${JSON.stringify(staticMeta)};
+      export const staticMeta = Object.assign({}, staticMetaFromFile, staticMetaFromFindAPI, {_type:"normal"});
+    `;
+        entryListImportCode.push(`
+      import { staticMeta as normalStaticMeta${idx} } from "${staticMetaVirtualModulePath}";
+    `);
+
+        const virtualModulePath = generateVirtualPath("entry", key);
+        if (virtualModules[virtualModulePath]) {
+          throw new Error(`duplicate key "${key}"`);
+        }
+        virtualModules[virtualModulePath] = `
+          export * from "${entryPath}";
+          export { default } from "${entryPath}";
+      `;
+
+        entryListItemCode.push(
+          `{key: '${key}', staticMeta: normalStaticMeta${idx}, load: () => import('${virtualModulePath}')}`
+        );
+      });
+  }
+
+  virtualModules["/@entry-list"] = `
+  ${entryListImportCode.join("\n")}
+  export default [${entryListItemCode.join(",")}];`;
+
+  // 仅用于本地开发的 id => ServePath 解析逻辑
+  // 以便本地开发的时候能够从本地加载当前微应用
+  virtualModules[
+    "/@resolveAppServePathForLocalDev"
+  ] = `export default undefined;`;
+
+  // 开发者配置微应用的 id => ServePath 解析逻辑
+  if (opts.resolveAppServePath) {
+    virtualModules[
+      "/@resolveAppServePathFromDeveloper"
+    ] = `export {default} from "${opts.resolveAppServePath}";`;
+  } else {
+    virtualModules[
+      "/@resolveAppServePathFromDeveloper"
+    ] = `export default undefined;`;
+  }
+
+  const subScriptEnv = {
+    CONSOLEOS_ID: opts.consoleOSId,
+    OUTPUT_PATH: opts.output,
+    // externals参数会经过序列化传递给子进程，所以只能使用支持json化的值
+    EXTERNALS: JSON.stringify(opts.externals),
+  };
+
+  const isBuild = !getEnv().isDev();
+  if (isBuild) {
+    api.dispatchSync("registerBeforeBuildStart", async () => {
+      // 构建被微应用external掉的依赖，以便在demo-viewer上加载渲染
+      await runScript("deps-build", {
+        env: subScriptEnv,
+      });
+    });
+  }
+
+  api.on("onChainWebpack", (config: Chain, env: Evnrioment) => {
+    config
+      .entry("index")
+      .clear()
+      .add(path.resolve(__dirname, "../src2/index.tsx"))
+      .end()
+      .context(path.resolve(__dirname, "../src2"))
+      .plugin("demos-module")
+      .use(VirtualModulesPlugin, [virtualModules])
+      .end()
+      // `/@demos/${key}` 中的模块查找 raw-loader 时，
+      // 按照正常的node_modules查找算法，会直接去找/node_modules然后放弃
+      // 我们要让webpack能在/@demos虚拟路径中找到loader
+      .resolveLoader.alias.set(
+        "demo-info-loader",
+        path.resolve(__dirname, "./demo-info-loader")
+      )
+      .set(
+        "js-file-static-meta-loader",
+        path.resolve(__dirname, "./js-file-static-meta-loader")
+      )
+      .set(
+        "md-file-static-meta-loader",
+        path.resolve(__dirname, "./md-file-static-meta-loader")
+      )
+      .set("type-info-loader", path.resolve(__dirname, "./type-info-loader"))
+      .end()
+      .end()
+      .module.rule("md")
+      .test(/\.md$/)
+      .rule("raw-loader")
+      .use("raw-loader")
+      .loader(require.resolve("raw-loader"))
+      .end()
+      .end()
+      .end();
+
+    config.output.publicPath("");
+    config.output.path(path.resolve(process.cwd(), opts.output!));
+
+    config.externals(
+      (() => {
+        const externals = {
+          react: {
+            root: "React",
+            commonjs2: "react",
+            commonjs: "react",
+            amd: "react",
+          },
+          "react-dom": {
+            root: "ReactDOM",
+            commonjs2: "react-dom",
+            commonjs: "react-dom",
+            amd: "react-dom",
+          },
+          "@alicloud/breezr-docs-environment":
+            "@alicloud/breezr-docs-environment",
+          "@breezr-doc-internals/externaled-deps":
+            "@breezr-doc-internals/externaled-deps",
+        };
+        opts.externals?.forEach((item) => {
+          if (typeof item === "string") {
+            externals[item] = item;
+          } else {
+            externals[item.moduleName] = item.moduleName;
+          }
+        });
+        return externals;
+      })()
+    );
+
+    if (env.isDev()) {
+      config.plugins.delete("openBrowser");
+      config.devServer.disableHostCheck(true);
+      config.devServer.headers({
+        "Access-Control-Allow-Origin": "*",
+      });
+      config.devServer.open(false);
+      config.devServer.hot(false);
+      config.devtool("cheap-source-map");
+
+      const port = config.devServer.get("port");
+      const https = config.devServer.get("https");
+      const host = config.devServer.get("host");
+      const servePath = `http${https ? "s" : ""}://${host}:${port}/`;
+
+      config.devServer.historyApiFallback(false);
+      config.devServer.writeToDisk(true);
+
+      let hostPort;
+      let depsPort;
+      config.devServer.before(function (app, server, compiler) {
+        // webpack dev server自带的fallback和proxy一起使用时，
+        // 会有bug(多次apply webpack-dev-middleware):
+        // https://github.com/webpack/webpack-dev-server/issues/2716
+        // 因此我们自己配置fallback和proxy
+        app.use(
+          historyFallback({
+            index: "/host/index.html",
+          })
+        );
+        app.use(
+          "/deps",
+          createProxyMiddleware({
+            target: "http://localhost:8889",
+            // ws: true,
+            router: (req) => {
+              if (!depsPort) {
+                throw new Error("childProcess is not ready yet");
+              }
+              return `http://localhost:${depsPort}`;
+            },
+          })
+        );
+        app.use(
+          "/host",
+          createProxyMiddleware({
+            target: "http://localhost:8889",
+            // ws: true,
+            router: (req) => {
+              if (!hostPort) {
+                throw new Error("childProcess is not ready yet");
+              }
+              return `http://localhost:${hostPort}`;
+            },
+          })
+        );
+      });
+
+      runScript("deps-serve", {
+        env: {
+          ...subScriptEnv,
+          SERVE_PATH: servePath,
+        },
+        onGetPort: (p) => {
+          depsPort = p;
+        },
+      });
+
+      runScript("host-serve", {
+        env: {
+          ...subScriptEnv,
+          SERVE_PATH: servePath,
+        },
+        onGetPort: (p) => {
+          hostPort = p;
+          open(servePath);
+        },
+      });
+
+      virtualModules["/@resolveAppServePathForLocalDev"] = `
+        export default function resolveAppServePath(appId) {
+          if (appId === "${opts.consoleOSId}") {
+            return "${servePath}";
+          }
+        }
+      `;
+    }
+    if (typeof opts.chainWebpack === "function") {
+      opts.chainWebpack(config, env);
+    }
+  });
+};
+
+function generateVirtualPath(category: string, key: string) {
+  if (!["static-meta", "entry"].includes(category)) {
+    throw new Error(`invalid category "${category}"`);
+  }
+  return path.resolve(
+    __dirname,
+    "_virtual_module_",
+    `_${category}_`,
+    key,
+    "virtual.js"
+  );
+}
diff --git a/docs-sdk/docs-provider/src/md-file-static-meta-loader.ts b/docs-sdk/docs-provider/src/md-file-static-meta-loader.ts
new file mode 100644
index 0000000..2a45428
--- /dev/null
+++ b/docs-sdk/docs-provider/src/md-file-static-meta-loader.ts
@@ -0,0 +1,9 @@
+import matter from "gray-matter";
+
+export default async function mdFileStaticMetaLoader(
+  this: any,
+  content: string
+) {
+  const res = matter(content);
+  return `export const staticMeta = ${JSON.stringify(res.data)};`;
+}
diff --git a/docs-sdk/docs-provider/src/scripts/configs/deps.ts b/docs-sdk/docs-provider/src/scripts/configs/deps.ts
new file mode 100644
index 0000000..a903bf8
--- /dev/null
+++ b/docs-sdk/docs-provider/src/scripts/configs/deps.ts
@@ -0,0 +1,93 @@
+import * as path from "path";
+import { BreezrPresetConfig } from "@alicloud/console-toolkit-preset-official";
+
+const outputPath = process.env.OUTPUT_PATH || "doc-dist";
+const depsConsoleOSId = process.env.CONSOLEOS_ID + "-deps";
+const externals = process.env.EXTERNALS
+  ? JSON.parse(process.env.EXTERNALS)
+  : undefined;
+const pkgRoot = path.resolve(__dirname, "../../../");
+
+if (!process.env.CONSOLEOS_ID) {
+  throw new Error(`must provide process.env.CONSOLEOS_ID to deps`);
+}
+
+export const config = ({
+  port,
+  isDev = true,
+}: { port?: number; isDev?: boolean } = {}) => {
+  return {
+    presets: [
+      [
+        require.resolve("@alicloud/console-toolkit-preset-official"),
+        {
+          disablePolyfill: true,
+          disableErrorOverlay: true,
+          typescript: {
+            // @ts-ignore
+            disableTypeChecker: true,
+            useBabel: true,
+          },
+          useTerserPlugin: true,
+          htmlFileName: path.resolve(pkgRoot, "src2/index.html"),
+          useHappyPack: false,
+          hashPrefix: depsConsoleOSId,
+          // output: {
+          //   path: path.join(outputPath, "deps"),
+          // } as any,
+          port,
+          noOpen: true as any,
+          webpack(config) {
+            config.output.path = path.resolve(
+              process.cwd(),
+              outputPath,
+              "deps"
+            );
+            config.output.publicPath = "";
+            if (isDev) {
+              config.devServer.publicPath = "/deps/";
+              config.devServer.writeToDisk = true;
+              // 在组件开发场景下，deps中包含组件代码
+              // 因此当deps bundle重新编译以后，要刷新页面
+              config.devServer.liveReload = true;
+              config.devServer.inline = true;
+              config.devServer.hot = false;
+            }
+            config.entry = path.join(pkgRoot, "src2/BuildDeps/index.ts");
+            config.externals = {
+              react: {
+                root: "React",
+                commonjs2: "react",
+                commonjs: "react",
+                amd: "react",
+              },
+              "react-dom": {
+                root: "ReactDOM",
+                commonjs2: "react-dom",
+                commonjs: "react-dom",
+                amd: "react-dom",
+              },
+            };
+            return config;
+          },
+        } as BreezrPresetConfig,
+      ],
+    ],
+    plugins: [
+      [
+        "@alicloud/console-toolkit-plugin-os",
+        {
+          id: depsConsoleOSId,
+          cssPrefix: "html",
+        },
+      ],
+      [path.join(pkgRoot, "lib/config-webpack-plugin.js")],
+      [
+        path.join(pkgRoot, "lib/build-external-deps.js"),
+        {
+          externals,
+        },
+      ],
+    ],
+  };
+};
diff --git a/docs-sdk/docs-provider/src/scripts/configs/host.ts b/docs-sdk/docs-provider/src/scripts/configs/host.ts
new file mode 100644
index 0000000..9aaf453
--- /dev/null
+++ b/docs-sdk/docs-provider/src/scripts/configs/host.ts
@@ -0,0 +1,70 @@
+import * as path from "path";
+import { BreezrPresetConfig } from "@alicloud/console-toolkit-preset-official";
+
+const outputPath = process.env.OUTPUT_PATH || "doc-dist";
+const servePath = process.env.SERVE_PATH;
+const consoleOSId = process.env.CONSOLEOS_ID;
+const pkgRoot = path.resolve(__dirname, "../../../");
+
+if (!servePath) {
+  throw new Error(`must provide process.env.SERVE_PATH to host`);
+}
+if (!consoleOSId) {
+  throw new Error(`must provide process.env.CONSOLEOS_ID to host`);
+}
+
+export const config = ({
+  port,
+  isDev = true,
+}: { port?: number; isDev?: boolean } = {}) => {
+  return {
+    presets: [
+      [
+        require.resolve("@alicloud/console-toolkit-preset-official"),
+        {
+          htmlFileName: path.resolve(pkgRoot, "src2/index.html"),
+          typescript: {
+            // @ts-ignore
+            disableTypeChecker: true,
+            useBabel: true,
+          },
+          port,
+          noOpen: true as any,
+          // output: {
+          //   path: path.join(outputPath, "host"),
+          // } as any,
+          webpack: (config: any) => {
+            config.output.path = path.resolve(
+              process.cwd(),
+              outputPath,
+              "host"
+            );
+            config.output.publicPath = "/host/";
+            if (isDev) {
+              config.devServer.publicPath = "/host/";
+              config.devServer.writeToDisk = true;
+              // config.devServer.open = true;
+              // config.devServer.openPage = "host/";
+              config.devServer.historyApiFallback = {
+                index: "/host/index.html",
+              };
+              config.devServer.liveReload = false;
+              config.devServer.hot = false;
+              config.devServer.inline = false;
+            }
+            config.entry.index = path.resolve(
+              pkgRoot,
+              "src2/HostApp/index.tsx"
+            );
+            return config;
+          },
+          defineGlobalConstants: {
+            __servePath: JSON.stringify(servePath),
+            __consoleOSId: JSON.stringify(consoleOSId),
+          },
+        } as BreezrPresetConfig,
+      ],
+    ],
+    plugins: [path.join(pkgRoot, "lib/config-webpack-plugin.js")],
+  };
+};
diff --git a/docs-sdk/docs-provider/src/scripts/deps-build.ts b/docs-sdk/docs-provider/src/scripts/deps-build.ts
new file mode 100644
index 0000000..f487ab6
--- /dev/null
+++ b/docs-sdk/docs-provider/src/scripts/deps-build.ts
@@ -0,0 +1,12 @@
+import { Service } from "@alicloud/console-toolkit-core";
+import { config } from "./configs/deps";
+
+(async () => {
+  console.log("开始构建微应用external依赖...");
+  const service = new Service({
+    cwd: process.cwd(),
+    config: config({ isDev: false }),
+  });
+  await service.run("build");
+  console.log("成功构建微应用external依赖");
+})();
diff --git a/docs-sdk/docs-provider/src/scripts/deps-serve.ts b/docs-sdk/docs-provider/src/scripts/deps-serve.ts
new file mode 100644
index 0000000..0ed582a
--- /dev/null
+++ b/docs-sdk/docs-provider/src/scripts/deps-serve.ts
@@ -0,0 +1,21 @@
+import { Service } from "@alicloud/console-toolkit-core";
+import getPort from "get-port";
+import { config } from "./configs/deps";
+
+getPort().then((port) => {
+  console.log("开始serve微应用external依赖...");
+  const service = new Service({
+    cwd: process.cwd(),
+    config: config({ port }),
+  });
+  service.run("start");
+  service.on("onServerRunning", () => {
+    console.log("serve构建微应用external依赖成功");
+    if (process.send) {
+      process.send({
+        type: "server_started",
+        port: port,
+      });
+    }
+  });
+});
diff --git a/docs-sdk/docs-provider/src/scripts/host-serve.ts b/docs-sdk/docs-provider/src/scripts/host-serve.ts
new file mode 100644
index 0000000..55d44ec
--- /dev/null
+++ b/docs-sdk/docs-provider/src/scripts/host-serve.ts
@@ -0,0 +1,21 @@
+import { Service } from "@alicloud/console-toolkit-core";
+import getPort from "get-port";
+import { config } from "./configs/host";
+
+getPort().then((port) => {
+  console.log("开始serve本地开发的宿主应用");
+  const service = new Service({
+    cwd: process.cwd(),
+    config: config({ port }),
+  });
+  service.run("start");
+  service.on("onServerRunning", () => {
+    console.log("serve本地开发的宿主应用成功");
+    if (process.send) {
+      process.send({
+        type: "server_started",
+        port: port,
+      });
+    }
+  });
+});
diff --git a/docs-sdk/docs-provider/src/scripts/runScript.ts b/docs-sdk/docs-provider/src/scripts/runScript.ts
new file mode 100644
index 0000000..577f31c
--- /dev/null
+++ b/docs-sdk/docs-provider/src/scripts/runScript.ts
@@ -0,0 +1,54 @@
+import execa from "execa";
+import * as path from "path";
+import * as fs from "fs-extra";
+import { getEnv } from "@alicloud/console-toolkit-shared-utils";
+
+export function runScript(
+  scriptName: "deps-build" | "deps-serve" | "host-serve",
+  {
+    cwd,
+    env,
+    onGetPort,
+  }: { cwd?: string; env?: any; onGetPort?: (port: string) => void }
+) {
+  const depsHandle = execa.node(
+    path.resolve(__dirname, `./${scriptName}.js`),
+    undefined,
+    {
+      cwd: cwd ?? process.cwd(),
+      env,
+    }
+  );
+  depsHandle.catch((err) => {
+    console.error(`runScript error. scriptName: "${scriptName}", error:`);
+    console.error(err);
+  });
+
+  const outputPath = env?.OUTPUT_PATH;
+  if (!outputPath) {
+    throw new Error(`env.OUTPUT_PATH should be defined`);
+  }
+
+  let depsLogStream;
+  const buildEnv = getEnv();
+  if (buildEnv.isCloudBuild()) {
+    depsLogStream = process.stdout;
+  } else {
+    const logPath = path.resolve(
+      process.cwd(),
+      outputPath,
+      `log-${scriptName}.log`
+    );
+    fs.ensureDirSync(path.dirname(logPath));
+    depsLogStream = fs.createWriteStream(logPath);
+  }
+
+  depsHandle.stdout?.pipe(depsLogStream);
+  depsHandle.stderr?.pipe(depsLogStream);
+  depsHandle.on("message", (msg: any) => {
+    if (msg && msg.type === "server_started") {
+      onGetPort && onGetPort(msg.port);
+    }
+  });
+  return depsHandle;
+}
diff --git a/docs-sdk/docs-provider/src/tsconfig.json b/docs-sdk/docs-provider/src/tsconfig.json
new file mode 100644
index 0000000..3c43903
--- /dev/null
+++ b/docs-sdk/docs-provider/src/tsconfig.json
@@ -0,0 +1,3 @@
+{
+  "extends": "../tsconfig.json"
+}
diff --git a/docs-sdk/docs-provider/src/type-info-loader/collectInterfaceInfo.ts b/docs-sdk/docs-provider/src/type-info-loader/collectInterfaceInfo.ts
new file mode 100644
index 0000000..f1e57fd
--- /dev/null
+++ b/docs-sdk/docs-provider/src/type-info-loader/collectInterfaceInfo.ts
@@ -0,0 +1,133 @@
+import * as ts from "typescript";
+
+const defaultTsConfig: ts.CompilerOptions = {
+  moduleResolution: ts.ModuleResolutionKind.NodeJs,
+};
+
+interface InterfaceInfo {
+  name: string;
+  documentation: string;
+  properties: InterfacePropertyInfo[];
+}
+
+interface InterfacePropertyInfo {
+  name: string;
+  typeText: string;
+  documentation: string;
+  defaultValue?: string;
+}
+
+export function collectInterfaceInfo(fileName: string): InterfaceInfo {
+  // Build a program using the set of root file names in fileNames
+  let program = ts.createProgram([fileName], defaultTsConfig);
+  // Get the checker, we will use it to find more about classes
+  let checker = program.getTypeChecker();
+
+  const sourceFile = program.getSourceFile(fileName)!;
+
+  // inspired by
+  // https://github.com/microsoft/rushstack/blob/6ca0cba723ad8428e6e099f12715ce799f29a73f/apps/api-extractor/src/analyzer/ExportAnalyzer.ts#L702
+  // and https://stackoverflow.com/a/58885450
+  const fileSymbol = checker.getSymbolAtLocation(sourceFile);
+  if (!fileSymbol || !fileSymbol.exports) {
+    throw new Error(`unexpected fileSymbol`);
+  }
+  // 找第一个export
+  const exportSymbol = fileSymbol.exports.values().next().value;
+  if (!exportSymbol) {
+    throw new Error(`no export is not found in file`);
+  }
+  const sourceDeclareSymbol = getAliasedSymbolIfNecessary(exportSymbol);
+  const sourceDeclare = sourceDeclareSymbol.declarations?.[0];
+  if (!sourceDeclare) {
+    throw new Error(`Can't find sourceDeclare`);
+  }
+  const interfaceInfo = collectInterfaceInfo(
+    sourceDeclare,
+    sourceDeclareSymbol
+  );
+  return interfaceInfo;
+
+  function getAliasedSymbolIfNecessary(symbol: ts.Symbol) {
+    if ((symbol.flags & ts.SymbolFlags.Alias) !== 0)
+      return checker.getAliasedSymbol(symbol);
+    return symbol;
+  }
+
+  function collectInterfaceInfo(node: ts.Declaration, symbol: ts.Symbol) {
+    if (!ts.isInterfaceDeclaration(node))
+      throw new Error(`target is not an InterfaceDeclaration`);
+
+    if (!symbol) throw new Error(`can't find symbol`);
+
+    const name = node.name.getText();
+    const documentation = ts.displayPartsToString(
+      symbol.getDocumentationComment(checker)
+    );
+
+    const propertiesInfo: InterfacePropertyInfo[] = [];
+
+    symbol.members?.forEach((symbol) => {
+      const name = symbol.name;
+      const declaration = symbol.valueDeclaration;
+      if (
+        !(
+          declaration &&
+          (ts.isPropertySignature(declaration) ||
+            ts.isMethodSignature(declaration))
+        )
+      ) {
+        throw new Error(
+          `unexpected declaration type in interface. name: ${name}, kind: ${
+            ts.SyntaxKind[declaration.kind]
+          }`
+        );
+      }
+      const typeText = declaration.type?.getFullText() ?? "";
+      const documentation = ts.displayPartsToString(
+        symbol.getDocumentationComment(checker)
+      );
+      const defaultValue = (() => {
+        const jsDoc: ts.JSDoc | undefined = (declaration as any).jsDoc?.[0];
+        const defaultValueTag = jsDoc?.tags?.find((t) => {
+          return (
+            t.tagName.escapedText === "defaultValue" ||
+            t.tagName.escapedText === "default"
+          );
+        });
+        return defaultValueTag?.comment;
+      })();
+      propertiesInfo.push({
+        name,
+        typeText,
+        documentation,
+        defaultValue,
+      });
+    });
+
+    const interfaceInfo: InterfaceInfo = {
+      name,
+      documentation,
+      properties: propertiesInfo,
+    };
+
+    return interfaceInfo;
+  }
+}
+
+/**
+ * ref:
+ *
+ * https://github.com/microsoft/TypeScript/wiki/Using-the-Compiler-API
+ *
+ * https://stackoverflow.com/questions/59838013/how-can-i-use-the-ts-compiler-api-to-find-where-a-variable-was-defined-in-anothe
+ *
+ * https://stackoverflow.com/questions/60249275/typescript-compiler-api-generate-the-full-properties-arborescence-of-a-type-ide
+ *
+ * https://stackoverflow.com/questions/47429792/is-it-possible-to-get-comments-as-nodes-in-the-ast-using-the-typescript-compiler
+ *
+ * Instructions of learning ts compiler:
+ * https://stackoverflow.com/a/58885450
+ *
+ * https://learning-notes.mistermicheels.com/javascript/typescript/compiler-api/
+ */
diff --git a/docs-sdk/docs-provider/src/type-info-loader/index.ts b/docs-sdk/docs-provider/src/type-info-loader/index.ts
new file mode 100644
index 0000000..54d0ba8
--- /dev/null
+++ b/docs-sdk/docs-provider/src/type-info-loader/index.ts
@@ -0,0 +1,9 @@
+import { collectInterfaceInfo } from "./collectInterfaceInfo";
+
+export default function typeInfoLoader(this: any, content: string) {
+  const filePath = this.resourcePath;
+
+  const info = collectInterfaceInfo(filePath);
+
+  return `export default ${JSON.stringify(info)}`;
+}
diff --git a/docs-sdk/docs-provider/src2/BuildDeps/index.ts b/docs-sdk/docs-provider/src2/BuildDeps/index.ts
new file mode 100644
index 0000000..da2b6c6
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/BuildDeps/index.ts
@@ -0,0 +1,11 @@
+// @ts-ignore
+import deps from "/@externaled-deps";
+
+import {
+  registerExposedModule,
+  mount
+} from "@alicloud/console-os-react-portal";
+
+registerExposedModule("deps", deps);
+
+export default mount(() => null, document.getElementById("app"));
diff --git a/docs-sdk/docs-provider/src2/DemoContainer/CodeBlock.tsx b/docs-sdk/docs-provider/src2/DemoContainer/CodeBlock.tsx
new file mode 100644
index 0000000..773cdcf
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/DemoContainer/CodeBlock.tsx
@@ -0,0 +1,13 @@
+import React from "react";
+import { markdownComponents } from "@alicloud/console-toolkit-markdown-renderer";
+
+export default props => {
+  return (
+    <markdownComponents.code
+      {...props}
+      style={{
+        margin: 0
+      }}
+    />
+  );
+};
diff --git a/docs-sdk/docs-provider/src2/DemoContainer/FullView.tsx b/docs-sdk/docs-provider/src2/DemoContainer/FullView.tsx
new file mode 100644
index 0000000..ed97340
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/DemoContainer/FullView.tsx
@@ -0,0 +1,19 @@
+import React from "react";
+import Dialog, { DialogProps } from "rc-dialog";
+import "rc-dialog/assets/index.css";
+import s from "./index.scoped.less";
+
+interface FullViewProps extends DialogProps {}
+
+const FullView = ({ style, className, ...rest }: FullViewProps) => {
+  return (
+    <Dialog
+      animation="zoom"
+      maskAnimation="fade"
+      {...rest}
+      className={`${s.fullViewDialog ?? ""} ${className ?? ""}`}
+    />
+  );
+};
+
+export default FullView;
diff --git a/docs-sdk/docs-provider/src2/DemoContainer/codemirror.less b/docs-sdk/docs-provider/src2/DemoContainer/codemirror.less
new file mode 100644
index 0000000..2751170
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/DemoContainer/codemirror.less
@@ -0,0 +1 @@
+@import "~codemirror/lib/codemirror.css";
diff --git a/docs-sdk/docs-provider/src2/DemoContainer/codesandbox/createCodesandbox.ts b/docs-sdk/docs-provider/src2/DemoContainer/codesandbox/createCodesandbox.ts
new file mode 100644
index 0000000..43e65d1
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/DemoContainer/codesandbox/createCodesandbox.ts
@@ -0,0 +1,121 @@
+export async function createCodesandbox({
+  code,
+  imports,
+  modifyCode
+}: {
+  code: string;
+  imports: string[];
+  modifyCode: (files: CSBFiles) => CSBFiles;
+}) {
+  const deps = imports
+    // filter out relative import
+    .filter(path => !path.startsWith("."))
+    .reduce((acc, cur) => {
+      acc[cur] = "latest";
+      return acc;
+    }, {});
+
+  let codesandboxProject = codesandboxProjectCode({
+    mainCode: code,
+    deps: deps
+  });
+  codesandboxProject = modifyCode(codesandboxProject);
+
+  const files: { [name: string]: { content: string } } = Object.fromEntries(
+    Object.entries(codesandboxProject).map(([name, code]) => [
+      name,
+      { content: code }
+    ])
+  );
+
+  return fetch("https://codesandbox.io/api/v1/sandboxes/define?json=1", {
+    method: "POST",
+    headers: {
+      Accept: "application/json",
+      "Content-Type": "application/json"
+    },
+    body: JSON.stringify({
+      files
+    })
+  })
+    .then(x => x.json())
+    .then(({ sandbox_id }) => ({
+      sandboxId: sandbox_id as string,
+      url: `https://codesandbox.io/embed/${sandbox_id}?fontsize=14&codemirror=1&view=split&module=/src/main.tsx`
+    }));
+}
+
+export default createCodesandbox;
+
+function codesandboxProjectCode({
+  mainCode,
+  deps
+}: {
+  mainCode: string;
+  deps: { [name: string]: string };
+}): CSBFiles {
+  const pkgJson = {
+    name: "demo",
+    main: "index.html",
+    dependencies: {
+      react: "latest",
+      "react-dom": "latest",
+      ...deps
+    }
+  };
+
+  return {
+    "tsconfig.json": JSON.stringify(
+      {
+        compilerOptions: {
+          strict: true,
+          module: "commonjs",
+          jsx: "react",
+          esModuleInterop: true,
+          sourceMap: true,
+          allowJs: true,
+          lib: ["es6", "dom"],
+          rootDir: "src",
+          moduleResolution: "node"
+        }
+      },
+      null,
+      2
+    ),
+    "sandbox.config.json": JSON.stringify(
+      {
+        infiniteLoopProtection: true,
+        hardReloadOnChange: false,
+        template: "parcel"
+      },
+      null,
+      2
+    ),
+    "package.json": JSON.stringify(pkgJson, null, 2),
+    "index.html": `
+<html>
+  <head>
+    <title>Demo</title>
+    <meta charset="UTF-8" />
+  </head>
+  <body>
+    <div id="app"></div>
+    <script src="src/bootstrap.tsx"></script>
+  </body>
+</html>
+  `.trim(),
+    "src/main.tsx": mainCode,
+    "src/bootstrap.tsx": `
+import * as React from 'react'
+import { render } from 'react-dom'
+import App from './main'
+
+const rootElement = document.getElementById('app')
+render(<App />, rootElement)
+    `
+  };
+}
+
+type CSBFiles = {
+  [file: string]: string;
+};
diff --git a/docs-sdk/docs-provider/src2/DemoContainer/codesandbox/index.tsx b/docs-sdk/docs-provider/src2/DemoContainer/codesandbox/index.tsx
new file mode 100644
index 0000000..5281b35
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/DemoContainer/codesandbox/index.tsx
@@ -0,0 +1,78 @@
+import React, { useEffect, useState } from "react";
+import {
+  IDemoOpts,
+  ICodeSandboxFiles,
+} from "@alicloud/console-toolkit-docs-shared";
+import { createCodesandbox } from "./createCodesandbox";
+
+// @ts-ignore
+import buildTimeDemoOpts from "/@demoOpts";
+
+interface IProps {
+  code: string;
+  imports: string[];
+  meta: any;
+  modifyCodeSandbox?: IDemoOpts["modifyCodeSandbox"];
+}
+
+const CodeSandbox: React.FC<IProps> = ({
+  code,
+  imports,
+  meta,
+  modifyCodeSandbox,
+}) => {
+  const [codesandboxUrl, setUrl] = useState("");
+
+  useEffect(() => {
+    // 切换demo的时候，重置 codesandboxUrl
+    setUrl("");
+  }, [code]);
+
+  useEffect(() => {
+    if (!codesandboxUrl) {
+      createCodesandbox({
+        code,
+        imports,
+        modifyCode: (files) => {
+          let res: ICodeSandboxFiles = files;
+          // 构建者提供的 codesandboxModifier
+          if (buildTimeDemoOpts.modifyCodeSandbox) {
+            res = buildTimeDemoOpts.modifyCodeSandbox({
+              code,
+              meta,
+              imports,
+              files,
+            });
+          }
+          // 加载者提供的 codesandboxModifier
+          if (modifyCodeSandbox) {
+            res = modifyCodeSandbox({ code, meta, imports, files: res });
+          }
+          return res;
+        },
+      }).then(({ url }) => {
+        setUrl(url);
+      });
+    }
+  }, [codesandboxUrl]);
+
+  if (codesandboxUrl) {
+    return (
+      <iframe
+        sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"
+        style={iframeStyle}
+        src={codesandboxUrl}
+      />
+    );
+  }
+
+  return <div style={{ ...iframeStyle, padding: 24 }}>Loading...</div>;
+};
+
+const iframeStyle: React.CSSProperties = {
+  border: 0,
+  width: "100%",
+  minHeight: 520,
+};
+
+export default CodeSandbox;
diff --git a/docs-sdk/docs-provider/src2/DemoContainer/index.scoped.less b/docs-sdk/docs-provider/src2/DemoContainer/index.scoped.less
new file mode 100644
index 0000000..6742963
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/DemoContainer/index.scoped.less
@@ -0,0 +1,89 @@
+.container {
+  width: 800px;
+  max-width: 100%;
+  border: 1px solid #e3e4e6;
+  border-radius: 4px;
+  &:global(.canFullScreen) {
+    // canFullScreen说明demo可能比较大，因此增加默认宽度
+    width: 1200px;
+  }
+  &:hover {
+    transition: all 0.3s ease-in-out;
+    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.16);
+  }
+  .title {
+    height: 40px;
+    line-height: 40px;
+    font-family: PingFangSC-Medium;
+    font-size: 14px;
+    color: #303030;
+    letter-spacing: 0;
+    border-bottom: 1px solid #dedede;
+    padding-left: 16px;
+    margin: 0;
+  }
+  .demo {
+    border-bottom: 1px solid #dedede;
+    width: 100%;
+    overflow-x: auto;
+
+    .demoInner {
+      width: fit-content;
+      min-width: 100%;
+      padding: 32px 16px;
+    }
+  }
+  .describe {
+    padding: 12px 0 16px 12px;
+    border-bottom: 1px solid #dedede;
+    p {
+      font-size: 12px;
+      margin: 0;
+    }
+  }
+  .operations {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    height: 40px;
+    color: #666666;
+    font-size: 15px;
+    opacity: 0.7;
+    > .operation {
+      width: 16px;
+      height: 16px;
+      cursor: pointer;
+      margin-right: 16px;
+    }
+  }
+}
+
+.codemirror {
+  border-top: 1px solid #dedede;
+}
+
+.fullViewDialog {
+  && {
+    width: calc(100% - 24px);
+    height: calc(100% - 24px);
+    margin: 12px;
+  }
+  :global {
+    .rc-dialog-content {
+      height: 100%;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+
+      .rc-dialog-header {
+        flex: 0 0 auto;
+      }
+      .rc-dialog-body {
+        flex: 1 1 auto;
+        min-height: 0;
+        overflow: auto;
+      }
+    }
+  }
+}
diff --git a/docs-sdk/docs-provider/src2/DemoContainer/index.tsx b/docs-sdk/docs-provider/src2/DemoContainer/index.tsx
new file mode 100644
index 0000000..26b9cf8
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/DemoContainer/index.tsx
@@ -0,0 +1,75 @@
+import React from "react";
+
+import styles from "./index.scoped.less";
+import type { IDemoOpts } from "@alicloud/console-toolkit-docs-shared";
+
+// @ts-ignore
+import buildTimeDemoOpts from "/@demoOpts";
+import { useOperations } from "./useOperations";
+
+interface IProps {
+  meta?: any;
+  code: string;
+  DemoWrapper?: React.ComponentType<any>;
+  imports: string[];
+  opts?: IDemoOpts;
+  className?: string;
+  style?: React.CSSProperties;
+  demoDeps: any;
+  loadOpts: any;
+}
+
+const DemoContainer: React.FC<IProps> = ({
+  code: originalCode,
+  DemoWrapper,
+  imports,
+  meta = {},
+  opts = {},
+  className,
+  style,
+  demoDeps,
+  loadOpts,
+  children,
+}) => {
+  const { demoView, operationsView, resolvedOpts } = useOperations(
+    originalCode,
+    imports,
+    meta,
+    opts,
+    demoDeps,
+    children,
+    DemoWrapper,
+    loadOpts
+  );
+
+  const { canFullScreen } = resolvedOpts;
+
+  return (
+    <div
+      className={[
+        // canFullScreen说明demo可能比较大，因此增加默认宽度
+        canFullScreen ? "canFullScreen" : null,
+        buildTimeDemoOpts.containerClassName,
+        opts.containerClassName,
+        styles.container,
+        className,
+      ]
+        .filter(Boolean)
+        .join(" ")}
+      style={{
+        ...buildTimeDemoOpts.containerStyle,
+        ...(opts.containerStyle ?? {}),
+        ...style,
+      }}
+    >
+      <div className={styles.title}>{meta.title}</div>
+      <div className={styles.demo}>
+        <div className={styles.demoInner}>{demoView}</div>
+      </div>
+      <div className={styles.describe}>{meta.describe || meta.description}</div>
+      {operationsView}
+    </div>
+  );
+};
+
+export default DemoContainer;
diff --git a/docs-sdk/docs-provider/src2/DemoContainer/useEvalCode.tsx b/docs-sdk/docs-provider/src2/DemoContainer/useEvalCode.tsx
new file mode 100644
index 0000000..02b89e7
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/DemoContainer/useEvalCode.tsx
@@ -0,0 +1,115 @@
+import React, { useEffect, useLayoutEffect, useState } from "react";
+import { ErrorBoundary, FallbackProps } from "react-error-boundary";
+
+// @ts-ignore
+import * as externaledDeps from "@breezr-doc-internals/externaled-deps";
+
+interface IOpts {
+  code: string;
+  deps: any;
+  enable: boolean;
+}
+
+// 如果你的站点包含用户的敏感信息（比如cookie），那么不要用这个方法来eval**未知来源**的代码，以免XSS攻击。
+// eval当前用户自己提供的代码是可以的；但是不要在A用户访问站点的时候eval B用户提供的代码。
+export function useEvalCode({ code, deps: demoDeps, enable }: IOpts) {
+  const [transformedCode, setTransformedCode] = useState("");
+  const [evaluated, setEvaluated] = useState<any>({});
+
+  useEffect(() => {
+    if (!enable) return;
+    setTransformedCode("");
+    setEvaluated({});
+    Promise.all([
+      import("@babel/core"),
+      import("@babel/preset-typescript"),
+      import("@babel/plugin-transform-modules-amd"),
+      import("@babel/plugin-transform-react-jsx"),
+      // import("@babel/plugin-proposal-dynamic-import")
+    ]).then(
+      ([
+        babel,
+        { default: babelTs },
+        { default: babelAmd },
+        { default: babelJSX },
+      ]) => {
+        babel
+          .transformAsync(code, {
+            presets: [
+              [
+                babelTs,
+                {
+                  isTSX: true,
+                  allExtensions: true,
+                },
+              ],
+            ],
+
+            plugins: [babelJSX, babelAmd],
+          })
+          .then((res) => {
+            if (typeof res?.code === "string") {
+              setTransformedCode(res.code);
+            }
+          });
+      }
+    );
+  }, [code, enable]);
+
+  useLayoutEffect(() => {
+    if (!enable) return;
+
+    const exports: any = {};
+
+    try {
+      const fn = new Function("define", transformedCode);
+      fn(define);
+      setEvaluated(exports);
+    } catch (error) {
+      console.error("error when eval code:");
+      console.error(error);
+    }
+
+    function define(depsArr, factory) {
+      const deps = { ...externaledDeps, ...demoDeps };
+      const depsValue = depsArr.map((depName) => {
+        if (depName === "exports") {
+          return exports;
+        }
+        if (deps && deps.hasOwnProperty(depName)) {
+          return deps[depName];
+        }
+        throw new Error(`can not find dependency "${depName}"`);
+      });
+      factory(...depsValue);
+    }
+  }, [transformedCode, demoDeps, enable]);
+
+  const renderEvalCode = evaluated.default ? (
+    <WrapEvaledComponent retryKey={evaluated.default}>
+      <evaluated.default />
+    </WrapEvaledComponent>
+  ) : null;
+
+  return { value: evaluated, transformedCode, renderEvalCode };
+}
+
+const WrapEvaledComponent: React.FC<{ retryKey: any }> = ({
+  children,
+  retryKey,
+}) => {
+  return (
+    <ErrorBoundary FallbackComponent={ErrorFallback} resetKeys={[retryKey]}>
+      {children}
+    </ErrorBoundary>
+  );
+};
+
+function ErrorFallback({ error }: FallbackProps) {
+  return (
+    <div role="alert">
+      <p>Error in demo:</p>
+      {error && <pre>{error.message}</pre>}
+    </div>
+  );
+}
diff --git a/docs-sdk/docs-provider/src2/DemoContainer/useOperations.tsx b/docs-sdk/docs-provider/src2/DemoContainer/useOperations.tsx
new file mode 100644
index 0000000..cec21d6
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/DemoContainer/useOperations.tsx
@@ -0,0 +1,340 @@
+import React, { useMemo, useReducer, useEffect, useState } from "react";
+import type {
+  IDemoOpts,
+  IDemoOperation,
+} from "@alicloud/console-toolkit-docs-shared";
+import "./codemirror.less";
+import "codemirror/mode/javascript/javascript.js";
+import "codemirror/addon/edit/matchbrackets.js";
+import { Controlled as CodeMirror } from "react-codemirror2";
+import AnimateHeight from "react-animate-height";
+
+import styles from "./index.scoped.less";
+import Codesandbox from "./codesandbox";
+import { useEvalCode } from "./useEvalCode";
+
+// @ts-ignore
+import buildTimeDemoOpts from "/@demoOpts";
+import FullView from "./FullView";
+
+/**
+ * demo面板操作栏，比如展示源码、在CodeSandbox打开等
+ */
+export function useOperations(
+  originalCode: string,
+  imports: string[],
+  meta: any = {},
+  opts: IDemoOpts = {},
+  demoDeps,
+  children: React.ReactNode,
+  DemoWrapper: undefined | React.ComponentType<any>,
+  loadOpts: any
+) {
+  const [state, dispatch] = useReducer(reducer, initialState);
+
+  const resolvedOpts = {
+    canFullScreen: (() => {
+      // 可以通过demo自己的meta注释来定制canFullScreen配置，优先级最高
+      if (meta?.canFullScreen !== undefined) {
+        return String(meta?.canFullScreen) !== "false" ? true : false;
+      }
+      return opts.canFullScreen ?? buildTimeDemoOpts.canFullScreen ?? false;
+    })() as boolean,
+  };
+
+  // 插件可以修改demo代码
+  const originalCode2 = useMemo(() => {
+    let res = originalCode;
+    if (typeof buildTimeDemoOpts.modifyDisplayCode === "function") {
+      res = buildTimeDemoOpts.modifyDisplayCode({
+        code: res,
+        meta,
+        imports,
+      });
+    }
+    if (typeof opts.modifyDisplayCode === "function") {
+      res = opts.modifyDisplayCode({ code: res, meta, imports });
+    }
+    return res;
+  }, [
+    opts.modifyDisplayCode,
+    buildTimeDemoOpts.modifyDisplayCode,
+    originalCode,
+    meta,
+    imports,
+  ]);
+
+  // 用户可以在源码面板修改demo代码
+  const [currentCode, setCurrentCode] = useState(originalCode2);
+
+  // 上游code状态更新时，同步到本组件状态
+  useEffect(() => {
+    setCurrentCode(originalCode2);
+  }, [originalCode2]);
+
+  // 如果用户在操作面板修改过代码，
+  // 那么使用EvalCode来实时执行代码
+  const { renderEvalCode, transformedCode } = useEvalCode({
+    code: currentCode,
+    deps: demoDeps,
+    enable: currentCode !== originalCode2,
+  });
+
+  // 插件可以配置操作栏
+  const operations = useMemo(() => {
+    let res = defaultOperations;
+    // 构建者提供的操作栏配置
+    if (typeof buildTimeDemoOpts.extraOperations === "function") {
+      res = [
+        ...res,
+        ...buildTimeDemoOpts.extraOperations({
+          code: originalCode2,
+          meta,
+          imports,
+        }),
+      ];
+    }
+    // 加载者提供的操作栏配置
+    if (typeof opts.extraOperations === "function") {
+      res = [
+        ...res,
+        ...opts.extraOperations({ code: originalCode2, meta, imports }),
+      ];
+    }
+    const ctx = {
+      demoOpts: opts,
+      buildTimeDemoOpts,
+      demoMeta: meta,
+      resolvedOpts,
+    };
+    return res.filter((operation) => {
+      // 操作可以根据上下文信息来决定自己是否开启
+      if (typeof operation.enabled === "function") {
+        return operation.enabled(ctx);
+      }
+      return true;
+    });
+  }, [
+    opts.extraOperations,
+    buildTimeDemoOpts.extraOperations,
+    originalCode2,
+    meta,
+    imports,
+  ]);
+
+  const demoView = (() => {
+    // 如果用户在操作面板修改过代码，
+    // 那么使用EvalCode来实时执行代码
+    // 否则，会fallback到打包的渲染代码
+    let ret = renderEvalCode ?? children;
+    // 如果用户配置了DemoWrapper，那么要用它包裹一下demo
+    if (DemoWrapper) {
+      ret = <DemoWrapper>{ret}</DemoWrapper>;
+    }
+    return ret;
+  })();
+
+  const expandPanel = (() => {
+    const { operation, height } = (() => {
+      if (state.current !== "none") {
+        // 有面板操作的时候，且该操作有面板视图
+        // 则渲染该面板视图
+        const operation = operations.find(
+          (item) => item.name === state.current
+        );
+        return {
+          operation,
+          height: operation?.View ? "auto" : 0,
+        };
+      } else {
+        // 没有面板操作的时候，渲染上一个操作，撑开操作面板高度
+        // 以便高度收起的动画能够进行
+        const operation = operations.find(
+          (item) => item.name === state.previous
+        );
+        return {
+          operation,
+          height: 0,
+        };
+      }
+    })();
+
+    return (
+      <AnimateHeight duration={250} height={height}>
+        {operation?.View ? (
+          <operation.View
+            code={currentCode}
+            originalCode={originalCode2}
+            setCode={setCurrentCode}
+            imports={imports}
+            meta={meta}
+            opts={opts}
+          />
+        ) : (
+          <div />
+        )}
+      </AnimateHeight>
+    );
+  })();
+
+  const operationsView = (
+    <>
+      <div
+        className={styles.operations}
+        // 用于debug
+        data-transformed-code={transformedCode}
+      >
+        {operations.map(({ icon, name, onClick }) => {
+          return (
+            <span
+              key={name}
+              className={styles.operation}
+              onClick={() => {
+                dispatch(name);
+                if (typeof onClick === "function") {
+                  onClick();
+                }
+              }}
+            >
+              {icon()}
+            </span>
+          );
+        })}
+      </div>
+      {/* 全屏查看弹窗 */}
+      <FullView
+        title={meta.title}
+        visible={state.current === "full-view"}
+        onClose={() => {
+          dispatch("full-view");
+        }}
+      >
+        {demoView}
+      </FullView>
+      {expandPanel}
+    </>
+  );
+
+  return { demoView, operationsView, resolvedOpts };
+}
+
+const defaultOperations: IDemoOperation[] = [
+  {
+    name: "code",
+    icon: () => {
+      // 图标来自阿里云控制台图标库
+      return (
+        <svg
+          viewBox="0 0 1024 1024"
+          version="1.1"
+          xmlns="http://www.w3.org/2000/svg"
+          p-id="9027"
+          width="100%"
+          height="100%"
+        >
+          <path
+            d="M85.312 164.8v604.8h853.376v-604.8H85.312zM682.688 870.4V960H341.312v-89.6H0V64h1024v806.4h-341.312zM390.08 632.128L128 503.04V422.336l262.08-128.64V390.4L230.784 462.976l159.296 72.832v96.32zM529.6 256H576l-82.048 413.184H448L529.6 256z m104.32 376.128V535.808l159.296-72.832-159.296-72.512V293.632L896 422.4v80.768L633.92 632.128z"
+            p-id="9028"
+            data-spm-anchor-id="a313x.7781069.0.i1"
+          ></path>
+        </svg>
+      );
+    },
+    View: ({ code, setCode }) => {
+      return (
+        <CodeMirror
+          value={code}
+          className={styles.codemirror}
+          options={{
+            lineNumbers: true,
+            matchBrackets: true,
+            mode: "text/typescript",
+          }}
+          editorDidMount={(editor) => {
+            // https://github.com/codemirror/CodeMirror/issues/2469#issuecomment-376064308
+            setTimeout(() => {
+              editor.refresh();
+            }, 10);
+          }}
+          onBeforeChange={(editor, data, value) => {
+            setCode(value);
+          }}
+        />
+      );
+    },
+  },
+  {
+    name: "full-view",
+    enabled: ({ demoOpts, buildTimeDemoOpts, demoMeta, resolvedOpts }) => {
+      return resolvedOpts.canFullScreen;
+    },
+    icon: () => (
+      // 图标库：https://www.iconfont.cn/search/index?searchType=icon&q=expand
+      <svg
+        viewBox="0 0 1024 1024"
+        version="1.1"
+        xmlns="http://www.w3.org/2000/svg"
+        p-id="9027"
+        width="100%"
+        height="100%"
+      >
+        <path
+          d="M725.333333 42.666667l128 0q52.992 0 90.496 37.504t37.504 90.496l0 128q0 17.664-12.501333 30.165333t-30.165333 12.501333-30.165333-12.501333-12.501333-30.165333l0-128q0-17.664-12.501333-30.165333t-30.165333-12.501333l-128 0q-17.664 0-30.165333-12.501333t-12.501333-30.165333 12.501333-30.165333 30.165333-12.501333zM85.333333 682.666667q17.664 0 30.165333 12.501333t12.501333 30.165333l0 128q0 17.664 12.501333 30.165333t30.165333 12.501333l128 0q17.664 0 30.165333 12.501333t12.501333 30.165333-12.501333 30.165333-30.165333 12.501333l-128 0q-52.992 0-90.496-37.504t-37.504-90.496l0-128q0-17.664 12.501333-30.165333t30.165333-12.501333zM170.666667 42.666667l128 0q17.664 0 30.165333 12.501333t12.501333 30.165333-12.501333 30.165333-30.165333 12.501333l-128 0q-17.664 0-30.165333 12.501333t-12.501333 30.165333l0 128q0 17.664-12.501333 30.165333t-30.165333 12.501333-30.165333-12.501333-12.501333-30.165333l0-128q0-52.992 37.504-90.496t90.496-37.504zM938.666667 682.666667q17.664 0 30.165333 12.501333t12.501333 30.165333l0 128q0 52.992-37.504 90.496t-90.496 37.504l-128 0q-17.664 0-30.165333-12.501333t-12.501333-30.165333 12.501333-30.165333 30.165333-12.501333l128 0q17.664 0 30.165333-12.501333t12.501333-30.165333l0-128q0-17.664 12.501333-30.165333t30.165333-12.501333z"
+          p-id="11568"
+        ></path>
+      </svg>
+    ),
+    // View可以不传，表示点击该操作图标不展开面板
+    View: undefined,
+  },
+  {
+    name: "codesandbox",
+    icon: () => {
+      return (
+        <svg
+          viewBox="0 0 1024 1024"
+          version="1.1"
+          xmlns="http://www.w3.org/2000/svg"
+          p-id="9197"
+          width="100%"
+          height="100%"
+        >
+          <path
+            d="M755 140.3l0.5-0.3h0.3L512 0 268.3 140h-0.3l0.8 0.4L68.6 256v512L512 1024l443.4-256V256L755 140.3z m-30 506.4v171.2L548 920.1V534.7L883.4 341v215.7l-158.4 90z m-584.4-90.6V340.8L476 534.4v385.7L300 818.5V646.7l-159.4-90.6zM511.7 280l171.1-98.3 166.3 96-336.9 194.5-337-194.6 165.7-95.7L511.7 280z"
+            p-id="9198"
+          ></path>
+        </svg>
+      );
+    },
+    View: ({ code, imports, meta, opts }) => {
+      return (
+        <Codesandbox
+          code={code}
+          imports={imports}
+          meta={meta}
+          modifyCodeSandbox={opts.modifyCodeSandbox}
+        />
+      );
+    },
+  },
+];
+
+const initialState = { current: "none", previous: "none" };
+
+function reducer(
+  state: { current: string; previous: string },
+  action: string
+): { current: string; previous: string } {
+  // 第二次点击同一个操作按钮时收起面板
+  if (state.current === action) {
+    return {
+      current: "none",
+      previous: state.current,
+    };
+  }
+
+  return {
+    current: action,
+    previous: state.current,
+  };
+}
diff --git a/docs-sdk/docs-provider/src2/DemoWrapper/index.tsx b/docs-sdk/docs-provider/src2/DemoWrapper/index.tsx
new file mode 100644
index 0000000..7646bbd
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/DemoWrapper/index.tsx
@@ -0,0 +1 @@
+export default null;
diff --git a/docs-sdk/docs-provider/src2/Host.tsx b/docs-sdk/docs-provider/src2/Host.tsx
new file mode 100644
index 0000000..84be8f3
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/Host.tsx
@@ -0,0 +1,27 @@
+import React, { useState } from "react";
+// @ts-ignore
+import env from "@alicloud/breezr-docs-environment";
+
+import Overview from "./Overview";
+
+const params = new URLSearchParams(window.location.search);
+const entryKeyFromURL = params.get("entryKey");
+
+const Component: React.FC = props => {
+  const [entryKey, setEntryKey] = useState(entryKeyFromURL);
+  return (
+    <div>
+      <Overview
+        entryKey={entryKey!}
+        onEntryKeyChange={newKey => {
+          setEntryKey(newKey);
+          params.set("entryKey", newKey);
+          params.set("consoleOSId", env.consoleOSId);
+          history.pushState(null, "", `?${params.toString()}`);
+        }}
+      />
+    </div>
+  );
+};
+
+export default Component;
diff --git a/docs-sdk/docs-provider/src2/HostApp/index.tsx b/docs-sdk/docs-provider/src2/HostApp/index.tsx
new file mode 100644
index 0000000..dc58780
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/HostApp/index.tsx
@@ -0,0 +1,31 @@
+import React, { Suspense, useState } from "react";
+import ReactDom from "react-dom";
+import { Overview } from "@alicloud/console-toolkit-docs-consumer";
+
+declare const __servePath: string;
+declare const __consoleOSId: string;
+
+const params = new URLSearchParams(window.location.search);
+const entryKeyFromURL = params.get("entryKey");
+
+function Host() {
+  const [entryKey, setEntryKey] = useState(entryKeyFromURL);
+  return (
+    <Suspense fallback="Loading...">
+      <Overview
+        servePath={__servePath}
+        consoleOSId={__consoleOSId}
+        entryKey={entryKey!}
+        onEntryKeyChange={newKey => {
+          setEntryKey(newKey);
+          params.set("entryKey", newKey);
+          params.set("consoleOSId", __consoleOSId);
+          history.pushState(null, "", `?${params.toString()}`);
+        }}
+        useSelfDeps
+      />
+    </Suspense>
+  );
+}
+
+ReactDom.render(<Host />, document.getElementById("app"));
diff --git a/docs-sdk/docs-provider/src2/Loader.tsx b/docs-sdk/docs-provider/src2/Loader.tsx
new file mode 100644
index 0000000..6b51bf3
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/Loader.tsx
@@ -0,0 +1,177 @@
+import React, { useEffect, useRef, useState } from "react";
+
+// @ts-ignore
+import DemoContainer from "/@DemoContainer";
+// @ts-ignore
+import DemoWrapper from "/@DemoWrapper";
+
+// @ts-ignore
+import entries from "/@entry-list";
+
+// @ts-ignore
+import "/@initializer";
+
+// @ts-ignore
+import resolveAppServePathForLocalDev from "/@resolveAppServePathForLocalDev";
+
+// @ts-ignore
+import resolveAppServePathFromDeveloper from "/@resolveAppServePathFromDeveloper";
+
+import type { IEntryLoaderProps } from "@alicloud/console-toolkit-docs-shared";
+const InterfaceType = React.lazy(() => import("./TypeInfoRenderer/Interface"));
+
+type IEntryInfo =
+  | {
+      type: "demo";
+      Component: React.ComponentType<any>;
+      code: string;
+      imports: string[];
+      meta?: any;
+      demoDeps: any;
+      loadOpts: any;
+    }
+  | {
+      type: "md";
+      Component: React.ComponentType<any>;
+      meta?: any;
+    }
+  | {
+      type: "normal";
+      Component: React.ComponentType<any>;
+      meta?: any;
+    }
+  | {
+      type: "typeInfo";
+      data: any;
+    };
+
+const Loader: React.FC<IEntryLoaderProps> = ({
+  entryKey,
+  onLoaded,
+  markdownOpts,
+  demoOpts,
+  resolveDemoOpts,
+  resolveAppServePath: resolveAppServePathFromLoader,
+  resolveAppDeps,
+  loadOpts,
+}) => {
+  const [entry, setEntry] = useState<null | IEntryInfo>(null);
+
+  useEffect(() => {
+    if (!entryKey) {
+      return;
+    }
+    const found = entries.find(({ key: itemKey }) => entryKey === itemKey);
+    if (found) {
+      const staticMeta = found.staticMeta;
+      switch (staticMeta._type) {
+        case "demo":
+          found.load().then((m) => {
+            const { demo: Component, meta, code, imports, deps: demoDeps } = m;
+            setEntry({
+              type: staticMeta._type,
+              Component,
+              code,
+              imports,
+              meta: { ...staticMeta, ...meta },
+              demoDeps,
+              loadOpts,
+            });
+          });
+          break;
+        case "md":
+          found.load().then((m) => {
+            const { default: Component } = m;
+            setEntry({ type: staticMeta._type, Component });
+          });
+          break;
+        case "normal":
+          found.load().then((m) => {
+            const { default: Component } = m;
+            setEntry({ type: staticMeta._type, Component });
+          });
+          break;
+        case "typeInfo":
+          found.load().then((m) => {
+            const { typeInfo: data } = m;
+            setEntry({ type: staticMeta._type, data });
+          });
+          break;
+        default:
+          break;
+      }
+    }
+  }, [entryKey]);
+
+  const previousEntryRef = useRef(entry);
+  useEffect(() => {
+    if (previousEntryRef.current !== entry) {
+      if (typeof onLoaded === "function") {
+        onLoaded();
+      }
+    }
+  }, [entry]);
+
+  if (!entry) {
+    return null;
+  }
+
+  if (entry.type === "demo") {
+    return (
+      <DemoContainer
+        code={entry.code}
+        imports={entry.imports}
+        DemoWrapper={DemoWrapper}
+        meta={entry.meta}
+        opts={demoOpts}
+        demoDeps={entry.demoDeps}
+        loadOpts={entry.loadOpts}
+      >
+        <entry.Component />
+      </DemoContainer>
+    );
+  }
+
+  if (entry.type === "md") {
+    return (
+      <entry.Component
+        {...markdownOpts}
+        resolveDemoOpts={resolveDemoOpts}
+        resolveAppServePath={(appId) => {
+          let result = "";
+          // 仅用于本地开发的 id => ServePath 解析逻辑
+          // 以便本地开发的时候能够从本地加载当前微应用
+          if (!result && typeof resolveAppServePathForLocalDev === "function") {
+            result = resolveAppServePathForLocalDev(appId);
+          }
+          // 微应用加载者提供的配置
+          if (!result && typeof resolveAppServePathFromLoader === "function") {
+            result = resolveAppServePathFromLoader(appId);
+          }
+          // 微应用开发者提供的配置
+          if (
+            !result &&
+            typeof resolveAppServePathFromDeveloper === "function"
+          ) {
+            result = resolveAppServePathFromDeveloper(appId);
+          }
+          return result;
+        }}
+        resolveAppDeps={resolveAppDeps}
+      />
+    );
+  }
+
+  if (entry.type === "typeInfo") {
+    return (
+      <React.Suspense fallback={null}>
+        <InterfaceType typeInfo={entry.data} />
+      </React.Suspense>
+    );
+  }
+
+  return <entry.Component meta={entry.meta} />;
+};
+
+export default Loader;
+export { entries };
diff --git a/docs-sdk/docs-provider/src2/Overview/DemoList.tsx b/docs-sdk/docs-provider/src2/Overview/DemoList.tsx
new file mode 100644
index 0000000..969313d
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/Overview/DemoList.tsx
@@ -0,0 +1,57 @@
+import React from "react";
+import copy from "copy-to-clipboard";
+import toast from "react-hot-toast";
+
+import styles from "./index.scoped.less";
+
+interface IProps {
+  entryKeys: string[];
+  currentEntryKey?: string;
+  onChange?: (newKey: string) => void;
+  loadOpts: any;
+}
+
+const DemoList: React.FC<IProps> = ({
+  entryKeys,
+  currentEntryKey,
+  onChange,
+  loadOpts,
+}) => {
+  return (
+    <ul className={styles.list}>
+      {entryKeys.map((oneKey) => {
+        return (
+          <li
+            className={
+              (oneKey === currentEntryKey ? styles.active : "") +
+              " " +
+              styles.item
+            }
+            onClick={() => {
+              if (typeof onChange === "function") {
+                onChange(oneKey);
+              }
+
+              if (oneKey === currentEntryKey) {
+                let { servePath, consoleOSId, entryKey } = loadOpts ?? {};
+                if (!entryKey) return;
+                servePath = encodeURIComponent(servePath);
+                consoleOSId = encodeURIComponent(consoleOSId);
+                entryKey = encodeURIComponent(entryKey);
+                copy(
+                  `https://xconsole.aliyun-inc.com/demo-playground?servePath=${servePath}&consoleOSId=${consoleOSId}&entryKey=${entryKey}`
+                );
+                toast("已将demo地址复制到剪贴板");
+              }
+            }}
+            key={oneKey}
+          >
+            {oneKey}
+          </li>
+        );
+      })}
+    </ul>
+  );
+};
+
+export default DemoList;
diff --git a/docs-sdk/docs-provider/src2/Overview/index.scoped.less b/docs-sdk/docs-provider/src2/Overview/index.scoped.less
new file mode 100644
index 0000000..8108de6
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/Overview/index.scoped.less
@@ -0,0 +1,36 @@
+:global body {
+  margin: 0px;
+}
+
+* {
+  margin: 0;
+  box-sizing: border-box;
+}
+
+.list {
+  padding: 0 8px;
+  padding-inline-start: 0;
+  overflow: auto;
+  max-height: 200px;
+}
+
+.item {
+  display: inline-block;
+  font-size: 18px;
+  margin-top: 12px;
+  cursor: pointer;
+  width: 24%;
+  user-select: none;
+}
+
+.item.active {
+  color: #f06292;
+}
+
+.item:hover {
+  color: red;
+}
+
+.widgetCtn {
+  padding: 8px 12px;
+}
diff --git a/docs-sdk/docs-provider/src2/Overview/index.tsx b/docs-sdk/docs-provider/src2/Overview/index.tsx
new file mode 100644
index 0000000..5a5334e
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/Overview/index.tsx
@@ -0,0 +1,37 @@
+import React from "react";
+import { Toaster } from "react-hot-toast";
+
+import Loader, { entries } from "../Loader";
+import styles from "./index.scoped.less";
+import DemoList from "./DemoList";
+
+import type { IOverviewProps } from "@alicloud/console-toolkit-docs-shared";
+
+const entryKeys = entries.map(({ key }) => key);
+
+const Overview: React.FC<IOverviewProps> = ({
+  entryKey,
+  onEntryKeyChange,
+  ...restLoaderProps
+}) => {
+  const { loadOpts } = restLoaderProps as any;
+  return (
+    <div className={styles.container}>
+      <Toaster position="bottom-right" />
+      <DemoList
+        entryKeys={entryKeys}
+        currentEntryKey={entryKey}
+        onChange={onEntryKeyChange}
+        loadOpts={loadOpts}
+      />
+      <hr />
+      {entryKey && (
+        <div className={styles.widgetCtn}>
+          <Loader {...restLoaderProps} key={entryKey} entryKey={entryKey} />
+        </div>
+      )}
+    </div>
+  );
+};
+
+export default Overview;
diff --git a/docs-sdk/docs-provider/src2/TypeInfoRenderer/Interface.tsx b/docs-sdk/docs-provider/src2/TypeInfoRenderer/Interface.tsx
new file mode 100644
index 0000000..9b30d8f
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/TypeInfoRenderer/Interface.tsx
@@ -0,0 +1,84 @@
+import React from "react";
+import {
+  markdownComponents,
+  MarkdownRenderer,
+} from "@alicloud/console-toolkit-markdown-renderer";
+
+interface IProps {
+  typeInfo: InterfaceInfo;
+}
+
+interface InterfaceInfo {
+  name: string;
+  documentation: string;
+  properties: InterfacePropertyInfo[];
+}
+
+interface InterfacePropertyInfo {
+  name: string;
+  typeText: string;
+  documentation: string;
+  defaultValue?: string;
+}
+
+const compactMarkdownComponents = {
+  p: (props) => <p style={{ margin: 0, ...props.style }} {...props} />,
+  ul: (props) => <ul {...props} />,
+  ol: (props) => <ol {...props} />,
+  li: (props) => <li {...props} />,
+};
+
+const style: React.CSSProperties = { width: "100%", overflowX: "auto" };
+
+const InterfaceType: React.FC<IProps> = ({ typeInfo }) => {
+  // typeInfo.properties
+  return (
+    <div style={style}>
+      <markdownComponents.table>
+        <colgroup>
+          <col span={1} style={{ width: "15%" }} />
+          <col span={1} style={{ width: "15%" }} />
+          <col span={1} style={{ width: "60%" }} />
+          <col span={1} style={{ width: "10%" }} />
+        </colgroup>
+        <markdownComponents.thead>
+          <tr>
+            <th>名称</th>
+            <th>类型</th>
+            <th>说明</th>
+            <th>默认值</th>
+          </tr>
+        </markdownComponents.thead>
+        <markdownComponents.tbody>
+          {typeInfo.properties.map((property, idx) => {
+            return (
+              <tr key={idx}>
+                <td>{property.name}</td>
+                <td>
+                  <markdownComponents.inlinecode>
+                    {property.typeText}
+                  </markdownComponents.inlinecode>
+                </td>
+                <td>
+                  <MarkdownRenderer
+                    source={property.documentation}
+                    components={compactMarkdownComponents}
+                  />
+                </td>
+                <td>
+                  {property.defaultValue && (
+                    <markdownComponents.inlinecode>
+                      {property.defaultValue}
+                    </markdownComponents.inlinecode>
+                  )}
+                </td>
+              </tr>
+            );
+          })}
+        </markdownComponents.tbody>
+      </markdownComponents.table>
+    </div>
+  );
+};
+
+export default InterfaceType;
diff --git a/docs-sdk/docs-provider/src2/declare.d.ts b/docs-sdk/docs-provider/src2/declare.d.ts
new file mode 100644
index 0000000..6fe5a28
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/declare.d.ts
@@ -0,0 +1 @@
+declare module '*.less'
diff --git a/docs-sdk/docs-provider/src2/demoOpts.ts b/docs-sdk/docs-provider/src2/demoOpts.ts
new file mode 100644
index 0000000..ff8b4c5
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/demoOpts.ts
@@ -0,0 +1 @@
+export default {};
diff --git a/docs-sdk/docs-provider/src2/index.html b/docs-sdk/docs-provider/src2/index.html
new file mode 100644
index 0000000..43a64a1
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/index.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <meta http-equiv="X-UA-Compatible" content="ie=edge">
+  <title>Document</title>
+</head>
+<body>
+  <div>
+    <div id="app"></div>
+  </div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs-sdk/docs-provider/src2/index.tsx b/docs-sdk/docs-provider/src2/index.tsx
new file mode 100644
index 0000000..7f769c4
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/index.tsx
@@ -0,0 +1,14 @@
+import "./set-public-path";
+
+import {
+  registerExposedModule,
+  mount
+} from "@alicloud/console-os-react-portal";
+
+import Loader, { entries } from "./Loader";
+
+registerExposedModule("entries", entries);
+registerExposedModule("Overview", () => import("./Overview"));
+registerExposedModule("Loader", Loader);
+
+export default mount(Loader as any, document.getElementById("app"));
diff --git a/docs-sdk/docs-provider/src2/set-public-path.ts b/docs-sdk/docs-provider/src2/set-public-path.ts
new file mode 100644
index 0000000..6fb0f03
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/set-public-path.ts
@@ -0,0 +1,14 @@
+// @ts-nocheck
+import env from "@alicloud/breezr-docs-environment";
+
+const actualPublicPath = env?.publicPath;
+
+if (!actualPublicPath) {
+  console.error(
+    "找不到env.publicPath！可能是加载器版本和构建器版本不兼容",
+    env
+  );
+}
+
+// 解决dynamic import的public path问题
+__webpack_public_path__ = actualPublicPath || "/env-publicPath-not-found/";
diff --git a/docs-sdk/docs-provider/src2/utils/copy.ts b/docs-sdk/docs-provider/src2/utils/copy.ts
new file mode 100644
index 0000000..b49ae06
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/utils/copy.ts
@@ -0,0 +1,9 @@
+export function copy() {
+  // let codeText = document.getElementById("code").innerText;
+  // let input = document.createElement("textarea");
+  // input.value = codeText;
+  // document.body.appendChild(input);
+  // input.select();
+  // document.execCommand("Copy");
+  // input.style.display = "none";
+}
diff --git a/docs-sdk/docs-provider/src2/utils/expand.ts b/docs-sdk/docs-provider/src2/utils/expand.ts
new file mode 100644
index 0000000..1c7e1f2
--- /dev/null
+++ b/docs-sdk/docs-provider/src2/utils/expand.ts
@@ -0,0 +1,7 @@
+export function expand() {
+  // if (document.getElementById("code").style.display === "block") {
+  //   document.getElementById("code").style.display = "none";
+  // } else {
+  //   document.getElementById("code").style.display = "block";
+  // }
+}
diff --git a/docs-sdk/docs-provider/tsconfig.json b/docs-sdk/docs-provider/tsconfig.json
new file mode 100644
index 0000000..24b505d
--- /dev/null
+++ b/docs-sdk/docs-provider/tsconfig.json
@@ -0,0 +1,23 @@
+{
+  "compilerOptions": {
+    "module": "commonjs",
+    "target": "es5",
+    "outDir": "lib",
+    "lib": ["es2020", "dom"],
+    "sourceMap": true,
+    "rootDir": "src",
+    "jsx": "react",
+    "declaration": true,
+    /* Strict Type-Checking Option */
+    "strict": true /* enable all strict type-checking options */,
+    "noImplicitAny": false,
+    "esModuleInterop": true,
+    "skipLibCheck": true,
+    /* Additional Checks */
+    "noUnusedLocals": true /* Report errors on unused locals. */
+    // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
+    // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
+    // "noUnusedParameters": true,  /* Report errors on unused parameters. */
+  },
+  "exclude": ["test", "node_modules", "lib"]
+}
diff --git a/docs-sdk/examples/docs-consumer/breezr.config.js b/docs-sdk/examples/docs-consumer/breezr.config.js
new file mode 100644
index 0000000..3c1153a
--- /dev/null
+++ b/docs-sdk/examples/docs-consumer/breezr.config.js
@@ -0,0 +1,15 @@
+/**
+ * 默认配置文件，一般来说你不需要更改此文件，
+ * 如果需要构建相关，请参考下面链接的 自定义构建选项
+ *    https://wind.alibaba-inc.com/docs/quickstart/quick-start
+ */
+
+const config = {
+  // 请自己加入 wepback-merge 自定义
+  // webpack: (config) => (webpack-merge(config, {}))
+  useTypescript: true
+};
+
+module.exports = {
+  presets: [["@alicloud/console-toolkit-preset-official", config]]
+};
diff --git a/docs-sdk/examples/docs-consumer/package.json b/docs-sdk/examples/docs-consumer/package.json
new file mode 100644
index 0000000..3312861
--- /dev/null
+++ b/docs-sdk/examples/docs-consumer/package.json
@@ -0,0 +1,17 @@
+{
+  "name": "docs-consumer-example",
+  "version": "1.1.2",
+  "description": "breezr example",
+  "scripts": {
+    "dev": "breezr start"
+  },
+  "author": "csr632 <632882184@qq.com>",
+  "license": "MIT",
+  "private": true,
+  "dependencies": {
+    "@alicloud/console-toolkit-cli": "^1.2.0",
+    "@alicloud/console-toolkit-core": "^1.1.0",
+    "@alicloud/console-toolkit-docs-consumer": "workspace:*",
+    "@alicloud/console-toolkit-preset-official": "^1.2.8"
+  }
+}
diff --git a/docs-sdk/examples/docs-consumer/src/index.html b/docs-sdk/examples/docs-consumer/src/index.html
new file mode 100644
index 0000000..6aef972
--- /dev/null
+++ b/docs-sdk/examples/docs-consumer/src/index.html
@@ -0,0 +1 @@
+<div class="app"></div>
diff --git a/docs-sdk/examples/docs-consumer/src/index.tsx b/docs-sdk/examples/docs-consumer/src/index.tsx
new file mode 100644
index 0000000..fb7af70
--- /dev/null
+++ b/docs-sdk/examples/docs-consumer/src/index.tsx
@@ -0,0 +1,43 @@
+import React, { useState } from "react";
+import { render } from "react-dom";
+
+import { Overview, EntryLoader } from "@alicloud/console-toolkit-docs-consumer";
+
+const params = new URLSearchParams(window.location.search);
+const urlEntryKey = params.get("entryKey") ?? undefined;
+
+function App() {
+  const [entryKey, setEntryKey] = useState(urlEntryKey);
+
+  return (
+    <React.Suspense fallback="Loading...">
+      <h2>EntryLoader</h2>
+
+      <EntryLoader
+        servePath="http://localhost:3333/"
+        consoleOSId="breezr-docs-fixture"
+        entryKey={entryKey || "docs/md1"}
+        markdownOpts={{ toc: true }}
+        useSelfDeps
+      />
+
+      <hr style={{ margin: "40px 0" }} />
+
+      {/* <h2>Overview</h2>
+
+      <Overview
+        servePath="http://localhost:3333/"
+        consoleOSId="breezr-docs-fixture"
+        entryKey={entryKey}
+        onEntryKeyChange={(newEntryKey) => {
+          setEntryKey(newEntryKey);
+          params.set("entryKey", newEntryKey);
+          history.pushState(null, null as any, `?${params.toString()}`);
+        }}
+        useSelfDeps
+      /> */}
+    </React.Suspense>
+  );
+}
+
+render(<App />, document.querySelector(".app"));
diff --git a/docs-sdk/examples/docs-consumer/tsconfig.json b/docs-sdk/examples/docs-consumer/tsconfig.json
new file mode 100644
index 0000000..49fbb89
--- /dev/null
+++ b/docs-sdk/examples/docs-consumer/tsconfig.json
@@ -0,0 +1,69 @@
+{
+  "compilerOptions": {
+    /* Visit https://aka.ms/tsconfig.json to read more about this file */
+
+    /* Basic Options */
+    // "incremental": true,                   /* Enable incremental compilation */
+    "target": "es5",                          /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
+    "module": "es2020",                     /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
+    // "lib": [],                             /* Specify library files to be included in the compilation. */
+    // "allowJs": true,                       /* Allow javascript files to be compiled. */
+    // "checkJs": true,                       /* Report errors in .js files. */
+    "jsx": "react",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
+    "declaration": true,                   /* Generates corresponding '.d.ts' file. */
+    // "declarationMap": true,                /* Generates a sourcemap for each corresponding '.d.ts' file. */
+    "sourceMap": true,                     /* Generates corresponding '.map' file. */
+    // "outFile": "./",                       /* Concatenate and emit output to single file. */
+    "outDir": "./lib",                        /* Redirect output structure to the directory. */
+    // "rootDir": "./",                       /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
+    // "composite": true,                     /* Enable project compilation */
+    // "tsBuildInfoFile": "./",               /* Specify file to store incremental compilation information */
+    // "removeComments": true,                /* Do not emit comments to output. */
+    // "noEmit": true,                        /* Do not emit outputs. */
+    // "importHelpers": true,                 /* Import emit helpers from 'tslib'. */
+    // "downlevelIteration": true,            /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
+    // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
+
+    /* Strict Type-Checking Options */
+    "strict": true,                           /* Enable all strict type-checking options. */
+    "noImplicitAny": false,                 /* Raise error on expressions and declarations with an implied 'any' type. */
+    // "strictNullChecks": true,              /* Enable strict null checks. */
+    // "strictFunctionTypes": true,           /* Enable strict checking of function types. */
+    // "strictBindCallApply": true,           /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
+    // "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */
+    // "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */
+    // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */
+
+    /* Additional Checks */
+    // "noUnusedLocals": true,                /* Report errors on unused locals. */
+    // "noUnusedParameters": true,            /* Report errors on unused parameters. */
+    // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */
+    // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */
+
+    /* Module Resolution Options */
+    "moduleResolution": "node",            /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
+    // "baseUrl": "./",                       /* Base directory to resolve non-absolute module names. */
+    // "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
+    // "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
+    // "typeRoots": [],                       /* List of folders to include type definitions from. */
+    // "types": [],                           /* Type declaration files to be included in compilation. */
+    // "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
+    "esModuleInterop": true,                  /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
+    // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
+    // "allowUmdGlobalAccess": true,          /* Allow accessing UMD globals from modules. */
+
+    /* Source Map Options */
+    // "sourceRoot": "",                      /* Specify the location where debugger should locate TypeScript files instead of source locations. */
+    // "mapRoot": "",                         /* Specify the location where debugger should locate map files instead of generated locations. */
+    // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */
+    // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
+
+    /* Experimental Options */
+    // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */
+    // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */
+
+    /* Advanced Options */
+    "skipLibCheck": true,                     /* Skip type checking of declaration files. */
+    "forceConsistentCasingInFileNames": true  /* Disallow inconsistently-cased references to the same file. */
+  }
+}
diff --git a/docs-sdk/examples/docs-provider/.gitignore b/docs-sdk/examples/docs-provider/.gitignore
new file mode 100644
index 0000000..036a9a1
--- /dev/null
+++ b/docs-sdk/examples/docs-provider/.gitignore
@@ -0,0 +1 @@
+doc-dist
diff --git a/docs-sdk/examples/docs-provider/breezr.config.js b/docs-sdk/examples/docs-provider/breezr.config.js
new file mode 100644
index 0000000..5ea77cb
--- /dev/null
+++ b/docs-sdk/examples/docs-provider/breezr.config.js
@@ -0,0 +1,48 @@
+const path = require("path");
+const globby = require("globby");
+
+module.exports = {
+  presets: [
+    [
+      // require.resolve("./lib"),
+      require.resolve("@alicloud/console-toolkit-preset-docs"),
+      {
+        consoleOSId: "breezr-docs-fixture",
+        getDemos() {
+          const baseDir = path.resolve(__dirname, "./src/demos/");
+          const paths = globby.sync("**/*.tsx", { cwd: baseDir });
+          const res = paths.map(relativePath => {
+            return {
+              key: "demos/" + path.parse(relativePath).name,
+              path: path.resolve(baseDir, relativePath)
+            };
+          });
+          return res;
+        },
+        getMarkdownEntries: () => {
+          const baseDir = path.resolve(__dirname, "./src/markdowns");
+          const paths = globby.sync("**/*.md", { cwd: baseDir });
+          const res = paths.map(relativePath => {
+            return {
+              key: "docs/" + path.parse(relativePath).name,
+              path: path.resolve(baseDir, relativePath)
+            };
+          });
+          return res;
+        },
+        demoOptsPath: path.resolve(__dirname, "./demoOpts"),
+        externals: [
+          {
+            moduleName: "test-external-module",
+            usePathInDev: path.resolve(
+              __dirname,
+              "./src/test-external-module-in-dev.ts"
+            )
+          },
+          "styled-components"
+        ],
+        resolveAppServePath: path.resolve(__dirname, "./resolveAppServePath.ts")
+      }
+    ]
+  ]
+};
diff --git a/docs-sdk/examples/docs-provider/demoOpts.tsx b/docs-sdk/examples/docs-provider/demoOpts.tsx
new file mode 100644
index 0000000..c69f469
--- /dev/null
+++ b/docs-sdk/examples/docs-provider/demoOpts.tsx
@@ -0,0 +1,46 @@
+import React from "react";
+import { IDemoOpts } from "@alicloud/console-toolkit-preset-docs";
+
+export default {
+  extraOperations({ code, meta, imports }) {
+    console.log("meta", meta);
+    if (meta.myCustomOperation) {
+      return [
+        {
+          name: "test-op",
+          icon: () => (
+            // 图标库：https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=705049&keyword=&project_type=&page=
+            <svg
+              viewBox="0 0 1024 1024"
+              version="1.1"
+              xmlns="http://www.w3.org/2000/svg"
+              p-id="9027"
+              width="100%"
+              height="100%"
+              onClick={() => {
+                console.log(meta.myCustomOperation);
+              }}
+            >
+              <path
+                d="M384 960c-47.104 0-85.312-36.48-85.312-81.472S336.896 797.12 384 797.12s85.312 36.48 85.312 81.408C469.312 923.52 431.104 960 384 960z m426.688 0c-47.168 0-85.376-36.48-85.376-81.472s38.208-81.408 85.376-81.408c47.104 0 85.312 36.48 85.312 81.408C896 923.52 857.792 960 810.688 960zM262.272 186.24H1024l-91.968 407.232h-577.92l13.12 58.56h554.112l-18.56 81.408H298.24l-31.552-139.968h-0.256l-59.52-265.6-41.152-182.4H0V64h234.752l27.52 122.24z m18.368 81.408L335.68 512h527.424l55.232-244.352H280.64z"
+                fill="#000000"
+                p-id="9028"
+              ></path>
+            </svg>
+          ),
+          // View可以不传，表示点击该操作图标不展开面板
+          View: undefined,
+        },
+      ];
+    } else {
+      return [];
+    }
+  },
+  // 可以自定义demo容器的类名和样式
+  containerClassName: "testContainerClassName",
+  containerStyle: {
+    // width: 400,
+  },
+  // canFullScreen为true时，demo容器默认宽度会增加，并且用户可以全屏查看demo
+  // canFullScreen: true,
+} as IDemoOpts;
diff --git a/docs-sdk/examples/docs-provider/package.json b/docs-sdk/examples/docs-provider/package.json
new file mode 100644
index 0000000..a481b99
--- /dev/null
+++ b/docs-sdk/examples/docs-provider/package.json
@@ -0,0 +1,23 @@
+{
+  "name": "docs-provider-example",
+  "version": "1.1.3",
+  "description": "breezr example",
+  "scripts": {
+    "clean": "rm -rf doc-dist",
+    "dev": "npm run clean && npx breezr start",
+    "build": "npm run clean && npx breezr build",
+    "debug": "npm run clean && npx --node-arg=--inspect breezr start",
+    "upload": "breezr upload",
+    "upload:pre": "npm run upload -- --tag=pre"
+  },
+  "author": "csr632 <632882184@qq.com>",
+  "license": "MIT",
+  "private": true,
+  "dependencies": {
+    "@alicloud/console-toolkit-cli": "^1.2.0",
+    "@alicloud/console-toolkit-core": "^1.1.0",
+    "@alicloud/console-toolkit-preset-docs": "workspace:*",
+    "react": "^17.0.1",
+    "react-dom": "^17.0.1"
+  }
+}
diff --git a/docs-sdk/examples/docs-provider/resolveAppServePath.ts b/docs-sdk/examples/docs-provider/resolveAppServePath.ts
new file mode 100644
index 0000000..28cf8a4
--- /dev/null
+++ b/docs-sdk/examples/docs-provider/resolveAppServePath.ts
@@ -0,0 +1,4 @@
+export default function resolveAppServePath(appId: string) {
+  if (appId === "xconsole-demos")
+    return `https://dev.g.alicdn.com/xconsole/demos/0.1.1/`;
+}
diff --git a/docs-sdk/examples/docs-provider/src/demos/demo1.tsx b/docs-sdk/examples/docs-provider/src/demos/demo1.tsx
new file mode 100644
index 0000000..6d3afd7
--- /dev/null
+++ b/docs-sdk/examples/docs-provider/src/demos/demo1.tsx
@@ -0,0 +1,19 @@
+/**
+ * @title demo1
+ * @describe demo1 description.
+ * @myCustomOperation myCustomOperationContent
+ */
+
+import React from "react";
+// @ts-ignore
+import * as testExternal from "test-external-module";
+
+console.log("testExternal", testExternal);
+
+interface IProps {}
+
+const Demo1: React.FC<IProps> = (props) => {
+  return <div>demo1</div>;
+};
+
+export default Demo1;
diff --git a/docs-sdk/examples/docs-provider/src/demos/demo2.tsx b/docs-sdk/examples/docs-provider/src/demos/demo2.tsx
new file mode 100644
index 0000000..dd5dcf9
--- /dev/null
+++ b/docs-sdk/examples/docs-provider/src/demos/demo2.tsx
@@ -0,0 +1,20 @@
+/**
+ * @title demo2
+ * @describe demo2 description.
+ * @canFullScreen
+ */
+
+import React from "react";
+
+interface IProps {}
+
+const Demo2: React.FC<IProps> = (props) => {
+  return (
+    <div style={{ border: "1px solid red", width: 1200 }}>
+      demo2
+      <p>这是一个比较宽的demo，可以通过canFullScreen配置，开启全屏查看</p>
+    </div>
+  );
+};
+
+export default Demo2;
diff --git a/docs-sdk/examples/docs-provider/src/markdowns/document.md b/docs-sdk/examples/docs-provider/src/markdowns/document.md
new file mode 100644
index 0000000..f32e310
--- /dev/null
+++ b/docs-sdk/examples/docs-provider/src/markdowns/document.md
@@ -0,0 +1,18 @@
+# @alicloud/console-toolkit-preset-docs
+
+`@alicloud/console-toolkit-preset-docs` 帮助你开发、发布**可复用的前端文档和 demo**，提高前端组件库、工具库的维护效率。
+
+## 使用方式
+
+安装依赖：
+
+```sh
+npm install -D @alicloud/console-toolkit-cli @alicloud/console-toolkit-preset-docs
+npm install -D react react-dom typescript
+```
+
+### 本地开发：预览所有应用
+
+### 本地临时部署：可以被其他项目加载，方便在本地与加载者联调
+
+### 生产构建：部署到 cdn 以后，可以被实际项目加载
diff --git a/docs-sdk/examples/docs-provider/src/markdowns/md1.md b/docs-sdk/examples/docs-provider/src/markdowns/md1.md
new file mode 100644
index 0000000..93d5607
--- /dev/null
+++ b/docs-sdk/examples/docs-provider/src/markdowns/md1.md
@@ -0,0 +1,183 @@
+# <a name="top"></a>Markdown Test Page
+
+* [Headings](#Headings)
+* [Paragraphs](#Paragraphs)
+* [Blockquotes](#Blockquotes)
+* [Lists](#Lists)
+* [Horizontal rule](#Horizontal)
+* [Table](#Table)
+* [Code](#Code)
+* [Inline elements](#Inline)
+
+***
+
+# <a name="Headings"></a>Headings
+
+
+嵌入当前项目的的demo：
+[$XView](http://localhost:3333/?entryKey=demos%2Fdemo2&consoleOSId=breezr-docs-fixture)
+
+嵌入接口类型信息：
+[$XView](http://localhost:3333/?entryKey=types%2Ftest&consoleOSId=breezr-docs-fixture)
+
+<!-- 嵌入其他项目的demo：
+[$XView](https://xconsole.aliyun-inc.com/demos-viewer?demoKey=.%2Ftable%2Fdemo3.tsx&consoleOSId=xconsole-demos) -->
+
+嵌入子文档：[$XView](http://localhost:3333/?entryKey=docs%2Fmd2&consoleOSId=breezr-docs-fixture)
+
+# Heading one
+
+Sint sit cillum pariatur eiusmod nulla pariatur ipsum. Sit laborum anim qui mollit tempor pariatur nisi minim dolor. Aliquip et adipisicing sit sit fugiat commodo id sunt. Nostrud enim ad commodo incididunt cupidatat in ullamco ullamco Lorem cupidatat velit enim et Lorem. Ut laborum cillum laboris fugiat culpa sint irure do reprehenderit culpa occaecat. Exercitation esse mollit tempor magna aliqua in occaecat aliquip veniam reprehenderit nisi dolor in laboris dolore velit.
+
+## Heading two
+
+Aute officia nulla deserunt do deserunt cillum velit magna. Officia veniam culpa anim minim dolore labore pariatur voluptate id ad est duis quis velit dolor pariatur enim. Incididunt enim excepteur do veniam consequat culpa do voluptate dolor fugiat ad adipisicing sit. Labore officia est adipisicing dolore proident eiusmod exercitation deserunt ullamco anim do occaecat velit. Elit dolor consectetur proident sunt aliquip est do tempor quis aliqua culpa aute. Duis in tempor exercitation pariatur et adipisicing mollit irure tempor ut enim esse commodo laboris proident. Do excepteur laborum anim esse aliquip eu sit id Lorem incididunt elit irure ea nulla dolor et. Nulla amet fugiat qui minim deserunt enim eu cupidatat aute officia do velit ea reprehenderit.
+
+### Heading three
+
+Voluptate cupidatat cillum elit quis ipsum eu voluptate fugiat consectetur enim. Quis ut voluptate culpa ex anim aute consectetur dolore proident voluptate exercitation eiusmod. Esse in do anim magna minim culpa sint. Adipisicing ipsum consectetur proident ullamco magna sit amet aliqua aute fugiat laborum exercitation duis et.
+
+#### Heading four
+
+Commodo fugiat aliqua minim quis pariatur mollit id tempor. Non occaecat minim esse enim aliqua adipisicing nostrud duis consequat eu adipisicing qui. Minim aliquip sit excepteur ipsum consequat laborum pariatur excepteur. Veniam fugiat et amet ad elit anim laborum duis mollit occaecat et et ipsum et reprehenderit. Occaecat aliquip dolore adipisicing sint labore occaecat officia fugiat. Quis adipisicing exercitation exercitation eu amet est laboris sunt nostrud ipsum reprehenderit ullamco. Enim sint ut consectetur id anim aute voluptate exercitation mollit dolore magna magna est Lorem. Ut adipisicing adipisicing aliqua ullamco voluptate labore nisi tempor esse magna incididunt.
+
+##### Heading five
+
+Veniam enim esse amet veniam deserunt laboris amet enim consequat. Minim nostrud deserunt cillum consectetur commodo eu enim nostrud ullamco occaecat excepteur. Aliquip et ut est commodo enim dolor amet sint excepteur. Amet ad laboris laborum deserunt sint sunt aliqua commodo ex duis deserunt enim est ex labore ut. Duis incididunt velit adipisicing non incididunt adipisicing adipisicing. Ad irure duis nisi tempor eu dolor fugiat magna et consequat tempor eu ex dolore. Mollit esse nisi qui culpa ut nisi ex proident culpa cupidatat cillum culpa occaecat anim. Ut officia sit ea nisi ea excepteur nostrud ipsum et nulla.
+
+###### Heading six
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+
+[[Top]](#top)
+
+# <a name="Paragraphs"></a>Paragraphs
+
+Incididunt ex adipisicing ea ullamco consectetur in voluptate proident fugiat tempor deserunt reprehenderit ullamco id dolore laborum. Do laboris laboris minim incididunt qui consectetur exercitation adipisicing dolore et magna consequat magna anim sunt. Officia fugiat Lorem sunt pariatur incididunt Lorem reprehenderit proident irure. Dolore ipsum aliqua mollit ad officia fugiat sit eu aliquip cupidatat ipsum duis laborum laborum fugiat esse. Voluptate anim ex dolore deserunt ea ex eiusmod irure. Occaecat excepteur aliqua exercitation aliquip dolor esse eu eu.
+
+Officia dolore laborum aute incididunt commodo nisi velit est est elit et dolore elit exercitation. Enim aliquip magna id ipsum aliquip consectetur ad nulla quis. Incididunt pariatur dolor consectetur cillum enim velit cupidatat laborum quis ex.
+
+Officia irure in non voluptate adipisicing sit amet tempor duis dolore deserunt enim ut. Reprehenderit incididunt in ad anim et deserunt deserunt Lorem laborum quis. Enim aute anim labore proident laboris voluptate elit excepteur in. Ex labore nulla velit officia ullamco Lorem Lorem id do. Dolore ullamco ipsum magna dolor pariatur voluptate ipsum id occaecat ipsum. Dolore tempor quis duis commodo quis quis enim.
+
+[[Top]](#top)
+
+# <a name="Blockquotes"></a>Blockquotes
+
+Ad nisi laborum aute cupidatat magna deserunt eu id laboris id. Aliquip nulla cupidatat sint ex Lorem mollit laborum dolor amet est ut esse aute. Nostrud ex consequat id incididunt proident ipsum minim duis aliqua ut ex et ad quis. Laborum sint esse cillum anim nulla cillum consectetur aliqua sit. Nisi excepteur cillum labore amet excepteur commodo enim occaecat consequat ipsum proident exercitation duis id in.
+
+> Ipsum et cupidatat mollit exercitation enim duis sunt irure aliqua reprehenderit mollit. Pariatur Lorem pariatur laboris do culpa do elit irure. Eiusmod amet nulla voluptate velit culpa et aliqua ad reprehenderit sit ut.
+
+Labore ea magna Lorem consequat aliquip consectetur cillum duis dolore. Et veniam dolor qui incididunt minim amet laboris sit. Dolore ad esse commodo et dolore amet est velit ut nisi ea. Excepteur ea nulla commodo dolore anim dolore adipisicing eiusmod labore id enim esse quis mollit deserunt est. Minim ea culpa voluptate nostrud commodo proident in duis aliquip minim.
+
+> Qui est sit et reprehenderit aute est esse enim aliqua id aliquip ea anim. Pariatur sint reprehenderit mollit velit voluptate enim consectetur sint enim. Quis exercitation proident elit non id qui culpa dolore esse aliquip consequat.
+
+Ipsum excepteur cupidatat sunt minim ad eiusmod tempor sit.
+
+> Deserunt excepteur adipisicing culpa pariatur cillum laboris ullamco nisi fugiat cillum officia. In cupidatat nulla aliquip tempor ad Lorem Lorem quis voluptate officia consectetur pariatur ex in est duis. Mollit id esse est elit exercitation voluptate nostrud nisi laborum magna dolore dolore tempor in est consectetur.
+
+Adipisicing voluptate ipsum culpa voluptate id aute laboris labore esse fugiat veniam ullamco occaecat do ut. Tempor et esse reprehenderit veniam proident ipsum irure sit ullamco et labore ea excepteur nulla labore ut. Ex aute minim quis tempor in eu id id irure ea nostrud dolor esse.
+
+[[Top]](#top)
+
+# <a name="Lists"></a>Lists
+
+### Ordered List
+
+1. Longan
+2. Lychee
+3. Excepteur ad cupidatat do elit laborum amet cillum reprehenderit consequat quis.
+    Deserunt officia esse aliquip consectetur duis ut labore laborum commodo aliquip aliquip velit pariatur dolore.
+4. Marionberry
+5. Melon
+    - Cantaloupe
+    - Honeydew
+    - Watermelon
+6. Miracle fruit
+7. Mulberry
+
+### Unordered List
+
+- Olive
+- Orange
+    - Blood orange
+    - Clementine
+- Papaya
+- Ut aute ipsum occaecat nisi culpa Lorem id occaecat cupidatat id id magna laboris ad duis. Fugiat cillum dolore veniam nostrud proident sint consectetur eiusmod irure adipisicing.
+- Passionfruit
+
+[[Top]](#top)
+
+# <a name="Horizontal"></a>Horizontal rule
+
+In dolore velit aliquip labore mollit minim tempor veniam eu veniam ad in sint aliquip mollit mollit. Ex occaecat non deserunt elit laborum sunt tempor sint consequat culpa culpa qui sit. Irure ad commodo eu voluptate mollit cillum cupidatat veniam proident amet minim reprehenderit.
+
+***
+
+In laboris eiusmod reprehenderit aliquip sit proident occaecat. Non sit labore anim elit veniam Lorem minim commodo eiusmod irure do minim nisi. Dolor amet cillum excepteur consequat sint non sint.
+
+[[Top]](#top)
+
+# <a name="Table"></a>Table
+
+Duis sunt ut pariatur reprehenderit mollit mollit magna dolore in pariatur nulla commodo sit dolor ad fugiat. Laboris amet ea occaecat duis eu enim exercitation deserunt ea laborum occaecat reprehenderit. Et incididunt dolor commodo consequat mollit nisi proident non pariatur in et incididunt id. Eu ut et Lorem ea ex magna minim ipsum ipsum do.
+
+| Table Heading 1 | Table Heading 2 | Center align    | Right align     | Table Heading 5 |
+| :-------------- | :-------------- | :-------------: | --------------: | :-------------- |
+| Item 1          | Item 2          | Item 3          | Item 4          | Item 5          |
+| Item 1          | Item 2          | Item 3          | Item 4          | Item 5          |
+| Item 1          | Item 2          | Item 3          | Item 4          | Item 5          |
+| Item 1          | Item 2          | Item 3          | Item 4          | Item 5          |
+| Item 1          | Item 2          | Item 3          | Item 4          | Item 5          |
+
+Minim id consequat adipisicing cupidatat laborum culpa veniam non consectetur et duis pariatur reprehenderit eu ex consectetur. Sunt nisi qui eiusmod ut cillum laborum Lorem officia aliquip laboris ullamco nostrud laboris non irure laboris. Cillum dolore labore Lorem deserunt mollit voluptate esse incididunt ex dolor.
+
+[[Top]](#top)
+
+# <a name="Code"></a>Code
+
+## Inline code
+
+Ad amet irure est magna id mollit Lorem in do duis enim. Excepteur velit nisi magna ea pariatur pariatur ullamco fugiat deserunt sint non sint. Duis duis est `code in text` velit velit aute culpa ex quis pariatur pariatur laborum aute pariatur duis tempor sunt ad. Irure magna voluptate dolore consectetur consectetur irure esse. Anim magna `<strong>in culpa qui officia</strong>` dolor eiusmod esse amet aute cupidatat aliqua do id voluptate cupidatat reprehenderit amet labore deserunt.
+
+## Highlighted
+
+Et fugiat ad nisi amet magna labore do cillum fugiat occaecat cillum Lorem proident. In sint dolor ullamco ad do adipisicing amet id excepteur Lorem aliquip sit irure veniam laborum duis cillum. Aliqua occaecat minim cillum deserunt magna sunt laboris do do irure ea nostrud consequat ut voluptate ex.
+
+```go
+package main
+
+import (
+    "fmt"
+    "net/http"
+)
+
+func handler(w http.ResponseWriter, r *http.Request) {
+    fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
+}
+
+func main() {
+    http.HandleFunc("/", handler)
+    http.ListenAndServe(":8080", nil)
+}
+```
+
+Ex amet id ex aliquip id do laborum excepteur exercitation elit sint commodo occaecat nostrud est. Nostrud pariatur esse veniam laborum non sint magna sit laboris minim in id. Aliqua pariatur pariatur excepteur adipisicing irure culpa consequat commodo et ex id ad.
+
+[[Top]](#top)
+
+# <a name="Inline"></a>Inline elements
+
+Sint ea anim ipsum ad commodo cupidatat do **exercitation** incididunt et minim ad labore sunt. Minim deserunt labore laboris velit nulla incididunt ipsum nulla. Ullamco ad laborum ea qui et anim in laboris exercitation tempor sit officia laborum reprehenderit culpa velit quis. **Consequat commodo** reprehenderit duis [irure](#!) esse esse exercitation minim enim Lorem dolore duis irure. Nisi Lorem reprehenderit ea amet excepteur dolor excepteur magna labore proident voluptate ipsum. Reprehenderit ex esse deserunt aliqua ea officia mollit Lorem nulla magna enim. Et ad ipsum labore enim ipsum **cupidatat consequat**. Commodo non ea cupidatat magna deserunt dolore ipsum velit nulla elit veniam nulla eiusmod proident officia.
+
+![Super wide](http://placekitten.com/1280/800)
+
+*Proident sit veniam in est proident officia adipisicing* ea tempor cillum non cillum velit deserunt. Voluptate laborum incididunt sit consectetur Lorem irure incididunt voluptate nostrud. Commodo ut eiusmod tempor cupidatat esse enim minim ex anim consequat. Mollit sint culpa qui laboris quis consectetur ad sint esse. Amet anim anim minim ullamco et duis non irure. Sit tempor adipisicing ea laboris `culpa ex duis sint` anim aute reprehenderit id eu ea. Aute [excepteur proident](#!) Lorem minim adipisicing nostrud mollit ad ut voluptate do nulla esse occaecat aliqua sint anim.
+
+![Not so big](http://placekitten.com/480/400)
+
+Incididunt in culpa cupidatat mollit cillum qui proident sit. In cillum aliquip incididunt voluptate magna amet cupidatat cillum pariatur sint aliqua est _enim **anim** voluptate_. Magna aliquip proident incididunt id duis pariatur eiusmod incididunt commodo culpa dolore sit. Culpa do nostrud elit ad exercitation anim pariatur non minim nisi **adipisicing sunt _officia_**. Do deserunt magna mollit Lorem commodo ipsum do cupidatat mollit enim ut elit veniam ea voluptate.
+
+[![Manny Pacquiao](https://img.youtube.com/vi/s6bCmZmy9aQ/0.jpg)](https://youtu.be/s6bCmZmy9aQ)
+
+Reprehenderit non eu quis in ad elit esse qui aute id [incididunt](#!) dolore cillum. Esse laboris consequat dolor anim exercitation tempor aliqua deserunt velit magna laboris. Culpa culpa minim duis amet mollit do quis amet commodo nulla irure.
diff --git a/docs-sdk/examples/docs-provider/src/markdowns/md2.md b/docs-sdk/examples/docs-provider/src/markdowns/md2.md
new file mode 100644
index 0000000..e592d0a
--- /dev/null
+++ b/docs-sdk/examples/docs-provider/src/markdowns/md2.md
@@ -0,0 +1,8 @@
+## markdown fragment
+
+test **markdown** fragment.
+
+
+### markdown fragment nested title
+
+content
diff --git a/docs-sdk/examples/docs-provider/src/test-external-module-in-dev.ts b/docs-sdk/examples/docs-provider/src/test-external-module-in-dev.ts
new file mode 100644
index 0000000..c52d793
--- /dev/null
+++ b/docs-sdk/examples/docs-provider/src/test-external-module-in-dev.ts
@@ -0,0 +1,5 @@
+export const testNamedExp = "value1";
+
+export default {
+  testDefaultExp: "value2"
+};
diff --git a/docs-sdk/examples/docs-provider/src/types/test.type.ts b/docs-sdk/examples/docs-provider/src/types/test.type.ts
new file mode 100644
index 0000000..1988a14
--- /dev/null
+++ b/docs-sdk/examples/docs-provider/src/types/test.type.ts
@@ -0,0 +1,96 @@
+/**
+ * ISlidePanelProps desc.
+ *
+ * @public
+ */
+export interface ISlidePanelProps {
+  /**
+   * 面板的内容。
+   */
+  children: React.ReactNode;
+  /**
+   * 位于页面的位置<br/>test wrap
+   * test list:
+   *   - l1
+   *   - l2
+   *   - l3
+   *
+   * @default "right"
+   */
+  placement?: "right" | "bottom";
+  /**
+   * 面板处于激活状态时的正常宽度。
+   */
+  width?: "tiny" | "small" | "medium" | "large" | number | string;
+  /**
+   * header title的内容。
+   */
+  title?: React.ReactNode;
+  /**
+   * header的额外内容，展示在title的右侧。
+   */
+  headerExtra?: React.ReactNode;
+  /**
+   * header的关闭按钮的点击事件。如果没有传入此事件处理函数，则不展示关闭按钮。
+   */
+  onClose?: () => void;
+  /**
+   * footer取消按钮的点击事件。如果没有传入此事件处理函数，则不展示取消按钮。
+   */
+  onCancel?: () => void;
+  /**
+   * footer取消按钮文字。
+   */
+  cancelText?: React.ReactNode;
+  /**
+   * footer确认按钮的点击事件。如果没有传入此事件处理函数，则不展示确认按钮。
+   */
+  onOk?: () => void;
+  /**
+   * footer确认按钮文字。
+   */
+  okText?: React.ReactNode;
+  /**
+   * footer确认按钮是否展示加载中状态。加载中的按钮不可点击。
+   */
+  isProcessing?: boolean;
+  /**
+   * footer确认按钮处于加载中状态时的文字。
+   */
+  processingText?: React.ReactNode;
+  /**
+   * 自定义整个footer的内容。
+   */
+  customFooter?: React.ReactNode;
+
+  /* ----------------Copyed from ISlidePanelGroupProps---------------- */
+
+  /**
+   * 是否在`isShowing===true`时展示背景蒙板。
+   */
+  hasMask?: boolean;
+  /**
+   * 用户点击背景蒙板。大部分情况下，开发者想要在这个事件处理函数中设置`props.isShowing`为`false`。
+   */
+  onMaskClick?: () => void;
+  /**
+   * 控制整个SlidePanelGroup的滑入、滑出。
+   */
+  isShowing?: boolean;
+  /**
+   * 滑动组件离视口顶部的距离。比如，开发者不希望SlidePanel滑出时挡住顶栏，那么可以将`props.top`设置为顶栏的高度。
+   */
+  top?: number | string;
+  /**
+   * 面板的滑出、滑入动画完成了。
+   */
+  onSlideCompleted(): void;
+  /**
+   * 渲染组件的容器，如果是函数需要返回 ref，如果是字符串则是该 DOM 的 id，也可以直接传入 DOM 节点
+   */
+  container?: any;
+  /**
+   * 透传给Popup的属性
+   */
+  popupProps?: any;
+}
diff --git a/docs-sdk/examples/docs-provider/tsconfig.json b/docs-sdk/examples/docs-provider/tsconfig.json
new file mode 100644
index 0000000..49fbb89
--- /dev/null
+++ b/docs-sdk/examples/docs-provider/tsconfig.json
@@ -0,0 +1,69 @@
+{
+  "compilerOptions": {
+    /* Visit https://aka.ms/tsconfig.json to read more about this file */
+
+    /* Basic Options */
+    // "incremental": true,                   /* Enable incremental compilation */
+    "target": "es5",                          /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
+    "module": "es2020",                     /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
+    // "lib": [],                             /* Specify library files to be included in the compilation. */
+    // "allowJs": true,                       /* Allow javascript files to be compiled. */
+    // "checkJs": true,                       /* Report errors in .js files. */
+    "jsx": "react",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
+    "declaration": true,                   /* Generates corresponding '.d.ts' file. */
+    // "declarationMap": true,                /* Generates a sourcemap for each corresponding '.d.ts' file. */
+    "sourceMap": true,                     /* Generates corresponding '.map' file. */
+    // "outFile": "./",                       /* Concatenate and emit output to single file. */
+    "outDir": "./lib",                        /* Redirect output structure to the directory. */
+    // "rootDir": "./",                       /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
+    // "composite": true,                     /* Enable project compilation */
+    // "tsBuildInfoFile": "./",               /* Specify file to store incremental compilation information */
+    // "removeComments": true,                /* Do not emit comments to output. */
+    // "noEmit": true,                        /* Do not emit outputs. */
+    // "importHelpers": true,                 /* Import emit helpers from 'tslib'. */
+    // "downlevelIteration": true,            /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
+    // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
+
+    /* Strict Type-Checking Options */
+    "strict": true,                           /* Enable all strict type-checking options. */
+    "noImplicitAny": false,                 /* Raise error on expressions and declarations with an implied 'any' type. */
+    // "strictNullChecks": true,              /* Enable strict null checks. */
+    // "strictFunctionTypes": true,           /* Enable strict checking of function types. */
+    // "strictBindCallApply": true,           /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
+    // "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */
+    // "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */
+    // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */
+
+    /* Additional Checks */
+    // "noUnusedLocals": true,                /* Report errors on unused locals. */
+    // "noUnusedParameters": true,            /* Report errors on unused parameters. */
+    // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */
+    // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */
+
+    /* Module Resolution Options */
+    "moduleResolution": "node",            /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
+    // "baseUrl": "./",                       /* Base directory to resolve non-absolute module names. */
+    // "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
+    // "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
+    // "typeRoots": [],                       /* List of folders to include type definitions from. */
+    // "types": [],                           /* Type declaration files to be included in compilation. */
+    // "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
+    "esModuleInterop": true,                  /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
+    // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
+    // "allowUmdGlobalAccess": true,          /* Allow accessing UMD globals from modules. */
+
+    /* Source Map Options */
+    // "sourceRoot": "",                      /* Specify the location where debugger should locate TypeScript files instead of source locations. */
+    // "mapRoot": "",                         /* Specify the location where debugger should locate map files instead of generated locations. */
+    // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */
+    // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
+
+    /* Experimental Options */
+    // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */
+    // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */
+
+    /* Advanced Options */
+    "skipLibCheck": true,                     /* Skip type checking of declaration files. */
+    "forceConsistentCasingInFileNames": true  /* Disallow inconsistently-cased references to the same file. */
+  }
+}
diff --git a/docs-sdk/examples/markdown-renderer/.gitignore b/docs-sdk/examples/markdown-renderer/.gitignore
new file mode 100644
index 0000000..05db442
--- /dev/null
+++ b/docs-sdk/examples/markdown-renderer/.gitignore
@@ -0,0 +1 @@
+.cache-loader
\ No newline at end of file
diff --git a/docs-sdk/examples/markdown-renderer/.npmignore b/docs-sdk/examples/markdown-renderer/.npmignore
new file mode 100644
index 0000000..8c65571
--- /dev/null
+++ b/docs-sdk/examples/markdown-renderer/.npmignore
@@ -0,0 +1,10 @@
+test
+jest.config.js
+
+tsconfig.json
+tslint.json
+
+yarn.lock
+*.log
+
+src
diff --git a/docs-sdk/examples/markdown-renderer/breezr.config.js b/docs-sdk/examples/markdown-renderer/breezr.config.js
new file mode 100644
index 0000000..d3896d8
--- /dev/null
+++ b/docs-sdk/examples/markdown-renderer/breezr.config.js
@@ -0,0 +1,27 @@
+/**
+ * 默认配置文件，一般来说你不需要更改此文件，
+ * 如果需要构建相关，请参考下面链接的 自定义构建选项
+ *    https://wind.alibaba-inc.com/docs/quickstart/quick-start
+ */
+
+const path = require("path");
+
+const config = {
+  // 请自己加入 wepback-merge 自定义
+  webpack: config => {
+    config.resolve.alias.react = path.resolve(
+      __dirname,
+      "./node_modules/react"
+    );
+    config.resolve.alias["react-dom"] = path.resolve(
+      __dirname,
+      "./node_modules/react-dom"
+    );
+    return config;
+  },
+  useTypescript: true
+};
+
+module.exports = {
+  presets: [["@alicloud/console-toolkit-preset-official", config]]
+};
diff --git a/docs-sdk/examples/markdown-renderer/package.json b/docs-sdk/examples/markdown-renderer/package.json
new file mode 100644
index 0000000..1463ab5
--- /dev/null
+++ b/docs-sdk/examples/markdown-renderer/package.json
@@ -0,0 +1,20 @@
+{
+  "name": "markdown-renderer-example",
+  "version": "1.1.2",
+  "description": "breezr example",
+  "scripts": {
+    "dev": "breezr start"
+  },
+  "author": "csr632 <632882184@qq.com>",
+  "license": "MIT",
+  "private": true,
+  "dependencies": {
+    "@alicloud/console-components": "^1.4.0-alpha.11",
+    "@alicloud/console-toolkit-cli": "^1.2.0",
+    "@alicloud/console-toolkit-core": "^1.1.0",
+    "@alicloud/console-toolkit-markdown-renderer": "workspace:*",
+    "@alicloud/console-toolkit-preset-official": "^1.2.8",
+    "react": "^17.0.1",
+    "react-dom": "^17.0.1"
+  }
+}
diff --git a/docs-sdk/examples/markdown-renderer/src/index.html b/docs-sdk/examples/markdown-renderer/src/index.html
new file mode 100644
index 0000000..654de89
--- /dev/null
+++ b/docs-sdk/examples/markdown-renderer/src/index.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>Document</title>
+  </head>
+  <body>
+    <div class="app"></div>
+  </body>
+</html>
diff --git a/docs-sdk/examples/markdown-renderer/src/index.less b/docs-sdk/examples/markdown-renderer/src/index.less
new file mode 100644
index 0000000..e69de29
diff --git a/docs-sdk/examples/markdown-renderer/src/index.tsx b/docs-sdk/examples/markdown-renderer/src/index.tsx
new file mode 100644
index 0000000..47a3ab8
--- /dev/null
+++ b/docs-sdk/examples/markdown-renderer/src/index.tsx
@@ -0,0 +1,88 @@
+import { render } from "react-dom";
+import { MarkdownRenderer } from "@alicloud/console-toolkit-markdown-renderer";
+
+// @ts-ignore
+import md from "!!raw-loader!./testMd.md";
+// @ts-ignore
+import md2 from "!!raw-loader!./testMd2.md";
+
+import "./index.less";
+
+import React from "react";
+import * as ReactDOM from "react-dom";
+import * as styled from "styled-components";
+import * as components from "@alicloud/console-components";
+import * as moment from "moment";
+
+import "@alicloud/console-components/dist/xconsole.css";
+
+const commonDeps = {
+  react: React,
+  "react-dom": ReactDOM,
+  "styled-components": styled,
+  "@alicloud/console-components": components,
+  moment: moment,
+  "@alicloudfe/components": components,
+};
+
+const consoleOSAppInfo = {
+  "alicloud-component-demos": {
+    servePath:
+      "https://opensource-microapp.oss-cn-hangzhou.aliyuncs.com/app/breezr-docs/%40alicloudfe/components/-alpha/",
+    deps: {
+      ...commonDeps,
+    },
+    demoOpts: {
+      modifyDisplayCode: ({ code, meta }) => {
+        return code
+          .replace(/xdemo-/g, "next-")
+          .replace(/@alicloudfe\/components/g, "@alicloud/console-components");
+      },
+    },
+  },
+  "xconsole-demos": {
+    servePath: "https://g.alicdn.com/xconsole/demos/0.1.1/",
+    deps: {
+      ...commonDeps,
+    },
+    demoOpts: {
+      modifyDisplayCode: ({ code, meta }) => {
+        return code.replace(/xdemo-/g, "next-");
+      },
+    },
+  },
+  "breezr-blocks": {
+    servePath: "https://g.alicdn.com/breezr/breezr-block/0.1.4/",
+    deps: {
+      ...commonDeps,
+    },
+  },
+  "xconsole-chart-demos": {
+    servePath: "https://g.alicdn.com/txddp/console-charts-demos/0.3.0/",
+    deps: {
+      ...commonDeps,
+    },
+  },
+};
+
+render(
+  <MarkdownRenderer
+    source={md2}
+    toc
+    resolveAppServePath={(appId) => {
+      return consoleOSAppInfo[appId]?.servePath;
+    }}
+    resolveDemoOpts={(appId) => {
+      return consoleOSAppInfo[appId]?.demoOpts;
+    }}
+    resolveAppDeps={(appId) => {
+      if (consoleOSAppInfo[appId]?.deps) {
+        return consoleOSAppInfo[appId].deps;
+      }
+      return {
+        _useSelfDeps: true,
+      };
+    }}
+  />,
+  document.querySelector(".app")
+);
diff --git a/docs-sdk/examples/markdown-renderer/src/testMd.md b/docs-sdk/examples/markdown-renderer/src/testMd.md
new file mode 100644
index 0000000..04d78a2
--- /dev/null
+++ b/docs-sdk/examples/markdown-renderer/src/testMd.md
@@ -0,0 +1,32 @@
+
+## 简介
+徽标常用于透出新消息的数量，或者提醒用户关注新功能、热门功能等。
+
+
+## 示例
+
+test包含多个demo的段落
+[$XDemo](https://pre-xconsole.aliyun-inc.com/demos-viewer?demoKey=.%2Fbadge%2Fdemo1.tsx)
+[$XDemo](https://pre-xconsole.aliyun-inc.com/demos-viewer?demoKey=.%2Fbadge%2Fdemo2.tsx)
+[$XDemo](https://pre-xconsole.aliyun-inc.com/demos-viewer?demoKey=.%2Fbadge%2Fdemo3.tsx)
+[$XDemo](https://pre-xconsole.aliyun-inc.com/demos-viewer?demoKey=.%2Fbadge%2Fdemo4.tsx)
+
+## 使用建议
+
+#### DO
+- 用于状态标识的徽标，例如数字徽标、小圆点，当用户对该信息已经感知或后台数字发生变化，应及时更新微标中的数字或小圆点的显示状态。
+
+#### CAUTION
+- 在同一页面中适量使用徽标，例如5个以内，屏幕上过多的徽标将使弱化徽标提示作用，且会对用户形成阅读干扰。
+
+## API
+
+[$XDemo](https://pre-xconsole.aliyun-inc.com/demos-viewer?demoKey=docs%2Fbadge&consoleOSId=alicloud-component-demos)
+
+## 更多示例
+
+[$XDemo](https://pre-xconsole.aliyun-inc.com/demos-viewer?demoKey=badge%2Fplus&consoleOSId=alicloud-component-demos)
+
+[$XDemo](https://pre-xconsole.aliyun-inc.com/demos-viewer?demoKey=badge%2Fno-wrapper&consoleOSId=alicloud-component-demos)
+
+[$XDemo](https://pre-xconsole.aliyun-inc.com/demos-viewer?demoKey=balloon%2Faccessibility&consoleOSId=alicloud-component-demos)
diff --git a/docs-sdk/examples/markdown-renderer/src/testMd2.md b/docs-sdk/examples/markdown-renderer/src/testMd2.md
new file mode 100644
index 0000000..01aec66
--- /dev/null
+++ b/docs-sdk/examples/markdown-renderer/src/testMd2.md
@@ -0,0 +1,164 @@
+# <a name="top"></a>Markdown Test Page
+
+test
+
+***
+
+# <a name="Headings"></a>Headings
+
+# Heading one
+
+Sint sit cillum pariatur eiusmod nulla pariatur ipsum. Sit laborum anim qui mollit tempor pariatur nisi minim dolor. Aliquip et adipisicing sit sit fugiat commodo id sunt. Nostrud enim ad commodo incididunt cupidatat in ullamco ullamco Lorem cupidatat velit enim et Lorem. Ut laborum cillum laboris fugiat culpa sint irure do reprehenderit culpa occaecat. Exercitation esse mollit tempor magna aliqua in occaecat aliquip veniam reprehenderit nisi dolor in laboris dolore velit.
+
+## Heading two
+
+Aute officia nulla deserunt do deserunt cillum velit magna. Officia veniam culpa anim minim dolore labore pariatur voluptate id ad est duis quis velit dolor pariatur enim. Incididunt enim excepteur do veniam consequat culpa do voluptate dolor fugiat ad adipisicing sit. Labore officia est adipisicing dolore proident eiusmod exercitation deserunt ullamco anim do occaecat velit. Elit dolor consectetur proident sunt aliquip est do tempor quis aliqua culpa aute. Duis in tempor exercitation pariatur et adipisicing mollit irure tempor ut enim esse commodo laboris proident. Do excepteur laborum anim esse aliquip eu sit id Lorem incididunt elit irure ea nulla dolor et. Nulla amet fugiat qui minim deserunt enim eu cupidatat aute officia do velit ea reprehenderit.
+
+### Heading three
+
+Voluptate cupidatat cillum elit quis ipsum eu voluptate fugiat consectetur enim. Quis ut voluptate culpa ex anim aute consectetur dolore proident voluptate exercitation eiusmod. Esse in do anim magna minim culpa sint. Adipisicing ipsum consectetur proident ullamco magna sit amet aliqua aute fugiat laborum exercitation duis et.
+
+#### Heading four
+
+Commodo fugiat aliqua minim quis pariatur mollit id tempor. Non occaecat minim esse enim aliqua adipisicing nostrud duis consequat eu adipisicing qui. Minim aliquip sit excepteur ipsum consequat laborum pariatur excepteur. Veniam fugiat et amet ad elit anim laborum duis mollit occaecat et et ipsum et reprehenderit. Occaecat aliquip dolore adipisicing sint labore occaecat officia fugiat. Quis adipisicing exercitation exercitation eu amet est laboris sunt nostrud ipsum reprehenderit ullamco. Enim sint ut consectetur id anim aute voluptate exercitation mollit dolore magna magna est Lorem. Ut adipisicing adipisicing aliqua ullamco voluptate labore nisi tempor esse magna incididunt.
+
+##### Heading five
+
+Veniam enim esse amet veniam deserunt laboris amet enim consequat. Minim nostrud deserunt cillum consectetur commodo eu enim nostrud ullamco occaecat excepteur. Aliquip et ut est commodo enim dolor amet sint excepteur. Amet ad laboris laborum deserunt sint sunt aliqua commodo ex duis deserunt enim est ex labore ut. Duis incididunt velit adipisicing non incididunt adipisicing adipisicing. Ad irure duis nisi tempor eu dolor fugiat magna et consequat tempor eu ex dolore. Mollit esse nisi qui culpa ut nisi ex proident culpa cupidatat cillum culpa occaecat anim. Ut officia sit ea nisi ea excepteur nostrud ipsum et nulla.
+
+###### Heading six
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+
+[[Top]](#top)
+
+# <a name="Paragraphs"></a>Paragraphs
+
+Incididunt ex adipisicing ea ullamco consectetur in voluptate proident fugiat tempor deserunt reprehenderit ullamco id dolore laborum. Do laboris laboris minim incididunt qui consectetur exercitation adipisicing dolore et magna consequat magna anim sunt. Officia fugiat Lorem sunt pariatur incididunt Lorem reprehenderit proident irure. Dolore ipsum aliqua mollit ad officia fugiat sit eu aliquip cupidatat ipsum duis laborum laborum fugiat esse. Voluptate anim ex dolore deserunt ea ex eiusmod irure. Occaecat excepteur aliqua exercitation aliquip dolor esse eu eu.
+
+Officia dolore laborum aute incididunt commodo nisi velit est est elit et dolore elit exercitation. Enim aliquip magna id ipsum aliquip consectetur ad nulla quis. Incididunt pariatur dolor consectetur cillum enim velit cupidatat laborum quis ex.
+
+Officia irure in non voluptate adipisicing sit amet tempor duis dolore deserunt enim ut. Reprehenderit incididunt in ad anim et deserunt deserunt Lorem laborum quis. Enim aute anim labore proident laboris voluptate elit excepteur in. Ex labore nulla velit officia ullamco Lorem Lorem id do. Dolore ullamco ipsum magna dolor pariatur voluptate ipsum id occaecat ipsum. Dolore tempor quis duis commodo quis quis enim.
+
+[[Top]](#top)
+
+# <a name="Blockquotes"></a>Blockquotes
+
+Ad nisi laborum aute cupidatat magna deserunt eu id laboris id. Aliquip nulla cupidatat sint ex Lorem mollit laborum dolor amet est ut esse aute. Nostrud ex consequat id incididunt proident ipsum minim duis aliqua ut ex et ad quis. Laborum sint esse cillum anim nulla cillum consectetur aliqua sit. Nisi excepteur cillum labore amet excepteur commodo enim occaecat consequat ipsum proident exercitation duis id in.
+
+> Ipsum et cupidatat mollit exercitation enim duis sunt irure aliqua reprehenderit mollit. Pariatur Lorem pariatur laboris do culpa do elit irure. Eiusmod amet nulla voluptate velit culpa et aliqua ad reprehenderit sit ut.
+
+Labore ea magna Lorem consequat aliquip consectetur cillum duis dolore. Et veniam dolor qui incididunt minim amet laboris sit. Dolore ad esse commodo et dolore amet est velit ut nisi ea. Excepteur ea nulla commodo dolore anim dolore adipisicing eiusmod labore id enim esse quis mollit deserunt est. Minim ea culpa voluptate nostrud commodo proident in duis aliquip minim.
+
+> Qui est sit et reprehenderit aute est esse enim aliqua id aliquip ea anim. Pariatur sint reprehenderit mollit velit voluptate enim consectetur sint enim. Quis exercitation proident elit non id qui culpa dolore esse aliquip consequat.
+
+Ipsum excepteur cupidatat sunt minim ad eiusmod tempor sit.
+
+> Deserunt excepteur adipisicing culpa pariatur cillum laboris ullamco nisi fugiat cillum officia. In cupidatat nulla aliquip tempor ad Lorem Lorem quis voluptate officia consectetur pariatur ex in est duis. Mollit id esse est elit exercitation voluptate nostrud nisi laborum magna dolore dolore tempor in est consectetur.
+
+Adipisicing voluptate ipsum culpa voluptate id aute laboris labore esse fugiat veniam ullamco occaecat do ut. Tempor et esse reprehenderit veniam proident ipsum irure sit ullamco et labore ea excepteur nulla labore ut. Ex aute minim quis tempor in eu id id irure ea nostrud dolor esse.
+
+[[Top]](#top)
+
+# <a name="Lists"></a>Lists
+
+### Ordered List
+
+1. Longan
+2. Lychee
+3. Excepteur ad cupidatat do elit laborum amet cillum reprehenderit consequat quis.
+    Deserunt officia esse aliquip consectetur duis ut labore laborum commodo aliquip aliquip velit pariatur dolore.
+4. Marionberry
+5. Melon
+    - Cantaloupe
+    - Honeydew
+    - Watermelon
+6. Miracle fruit
+7. Mulberry
+
+### Unordered List
+
+- Olive
+- Orange
+    - Blood orange
+    - Clementine
+- Papaya
+- Ut aute ipsum occaecat nisi culpa Lorem id occaecat cupidatat id id magna laboris ad duis. Fugiat cillum dolore veniam nostrud proident sint consectetur eiusmod irure adipisicing.
+- Passionfruit
+
+[[Top]](#top)
+
+# <a name="Horizontal"></a>Horizontal rule
+
+In dolore velit aliquip labore mollit minim tempor veniam eu veniam ad in sint aliquip mollit mollit. Ex occaecat non deserunt elit laborum sunt tempor sint consequat culpa culpa qui sit. Irure ad commodo eu voluptate mollit cillum cupidatat veniam proident amet minim reprehenderit.
+
+***
+
+In laboris eiusmod reprehenderit aliquip sit proident occaecat. Non sit labore anim elit veniam Lorem minim commodo eiusmod irure do minim nisi. Dolor amet cillum excepteur consequat sint non sint.
+
+[[Top]](#top)
+
+# <a name="Table"></a>Table
+
+Duis sunt ut pariatur reprehenderit mollit mollit magna dolore in pariatur nulla commodo sit dolor ad fugiat. Laboris amet ea occaecat duis eu enim exercitation deserunt ea laborum occaecat reprehenderit. Et incididunt dolor commodo consequat mollit nisi proident non pariatur in et incididunt id. Eu ut et Lorem ea ex magna minim ipsum ipsum do.
+
+| Table Heading 1 | Table Heading 2 | Center align    | Right align     | Table Heading 5 |
+| :-------------- | :-------------- | :-------------: | --------------: | :-------------- |
+| Item 1          | Item 2          | Item 3          | Item 4          | Item 5          |
+| Item 1          | Item 2          | Item 3          | Item 4          | Item 5          |
+| Item 1          | Item 2          | Item 3          | Item 4          | Item 5          |
+| Item 1          | Item 2          | Item 3          | Item 4          | Item 5          |
+| Item 1          | Item 2          | Item 3          | Item 4          | Item 5          |
+
+Minim id consequat adipisicing cupidatat laborum culpa veniam non consectetur et duis pariatur reprehenderit eu ex consectetur. Sunt nisi qui eiusmod ut cillum laborum Lorem officia aliquip laboris ullamco nostrud laboris non irure laboris. Cillum dolore labore Lorem deserunt mollit voluptate esse incididunt ex dolor.
+
+[[Top]](#top)
+
+# <a name="Code"></a>Code
+
+## Inline code
+
+Ad amet irure est magna id mollit Lorem in do duis enim. Excepteur velit nisi magna ea pariatur pariatur ullamco fugiat deserunt sint non sint. Duis duis est `code in text` velit velit aute culpa ex quis pariatur pariatur laborum aute pariatur duis tempor sunt ad. Irure magna voluptate dolore consectetur consectetur irure esse. Anim magna `<strong>in culpa qui officia</strong>` dolor eiusmod esse amet aute cupidatat aliqua do id voluptate cupidatat reprehenderit amet labore deserunt.
+
+## Highlighted
+
+Et fugiat ad nisi amet magna labore do cillum fugiat occaecat cillum Lorem proident. In sint dolor ullamco ad do adipisicing amet id excepteur Lorem aliquip sit irure veniam laborum duis cillum. Aliqua occaecat minim cillum deserunt magna sunt laboris do do irure ea nostrud consequat ut voluptate ex.
+
+```go
+package main
+
+import (
+    "fmt"
+    "net/http"
+)
+
+func handler(w http.ResponseWriter, r *http.Request) {
+    fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
+}
+
+func main() {
+    http.HandleFunc("/", handler)
+    http.ListenAndServe(":8080", nil)
+}
+```
+
+Ex amet id ex aliquip id do laborum excepteur exercitation elit sint commodo occaecat nostrud est. Nostrud pariatur esse veniam laborum non sint magna sit laboris minim in id. Aliqua pariatur pariatur excepteur adipisicing irure culpa consequat commodo et ex id ad.
+
+[[Top]](#top)
+
+# <a name="Inline"></a>Inline elements
+
+Sint ea anim ipsum ad commodo cupidatat do **exercitation** incididunt et minim ad labore sunt. Minim deserunt labore laboris velit nulla incididunt ipsum nulla. Ullamco ad laborum ea qui et anim in laboris exercitation tempor sit officia laborum reprehenderit culpa velit quis. **Consequat commodo** reprehenderit duis [irure](#!) esse esse exercitation minim enim Lorem dolore duis irure. Nisi Lorem reprehenderit ea amet excepteur dolor excepteur magna labore proident voluptate ipsum. Reprehenderit ex esse deserunt aliqua ea officia mollit Lorem nulla magna enim. Et ad ipsum labore enim ipsum **cupidatat consequat**. Commodo non ea cupidatat magna deserunt dolore ipsum velit nulla elit veniam nulla eiusmod proident officia.
+
+![Super wide](http://placekitten.com/1280/800)
+
+*Proident sit veniam in est proident officia adipisicing* ea tempor cillum non cillum velit deserunt. Voluptate laborum incididunt sit consectetur Lorem irure incididunt voluptate nostrud. Commodo ut eiusmod tempor cupidatat esse enim minim ex anim consequat. Mollit sint culpa qui laboris quis consectetur ad sint esse. Amet anim anim minim ullamco et duis non irure. Sit tempor adipisicing ea laboris `culpa ex duis sint` anim aute reprehenderit id eu ea. Aute [excepteur proident](#!) Lorem minim adipisicing nostrud mollit ad ut voluptate do nulla esse occaecat aliqua sint anim.
+
+![Not so big](http://placekitten.com/480/400)
+
+Incididunt in culpa cupidatat mollit cillum qui proident sit. In cillum aliquip incididunt voluptate magna amet cupidatat cillum pariatur sint aliqua est _enim **anim** voluptate_. Magna aliquip proident incididunt id duis pariatur eiusmod incididunt commodo culpa dolore sit. Culpa do nostrud elit ad exercitation anim pariatur non minim nisi **adipisicing sunt _officia_**. Do deserunt magna mollit Lorem commodo ipsum do cupidatat mollit enim ut elit veniam ea voluptate.
+
+[![Manny Pacquiao](https://img.youtube.com/vi/s6bCmZmy9aQ/0.jpg)](https://youtu.be/s6bCmZmy9aQ)
+
+Reprehenderit non eu quis in ad elit esse qui aute id [incididunt](#!) dolore cillum. Esse laboris consequat dolor anim exercitation tempor aliqua deserunt velit magna laboris. Culpa culpa minim duis amet mollit do quis amet commodo nulla irure.
diff --git a/docs-sdk/examples/markdown-renderer/tsconfig.json b/docs-sdk/examples/markdown-renderer/tsconfig.json
new file mode 100644
index 0000000..49fbb89
--- /dev/null
+++ b/docs-sdk/examples/markdown-renderer/tsconfig.json
@@ -0,0 +1,69 @@
+{
+  "compilerOptions": {
+    /* Visit https://aka.ms/tsconfig.json to read more about this file */
+
+    /* Basic Options */
+    // "incremental": true,                   /* Enable incremental compilation */
+    "target": "es5",                          /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
+    "module": "es2020",                     /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
+    // "lib": [],                             /* Specify library files to be included in the compilation. */
+    // "allowJs": true,                       /* Allow javascript files to be compiled. */
+    // "checkJs": true,                       /* Report errors in .js files. */
+    "jsx": "react",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
+    "declaration": true,                   /* Generates corresponding '.d.ts' file. */
+    // "declarationMap": true,                /* Generates a sourcemap for each corresponding '.d.ts' file. */
+    "sourceMap": true,                     /* Generates corresponding '.map' file. */
+    // "outFile": "./",                       /* Concatenate and emit output to single file. */
+    "outDir": "./lib",                        /* Redirect output structure to the directory. */
+    // "rootDir": "./",                       /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
+    // "composite": true,                     /* Enable project compilation */
+    // "tsBuildInfoFile": "./",               /* Specify file to store incremental compilation information */
+    // "removeComments": true,                /* Do not emit comments to output. */
+    // "noEmit": true,                        /* Do not emit outputs. */
+    // "importHelpers": true,                 /* Import emit helpers from 'tslib'. */
+    // "downlevelIteration": true,            /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
+    // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
+
+    /* Strict Type-Checking Options */
+    "strict": true,                           /* Enable all strict type-checking options. */
+    "noImplicitAny": false,                 /* Raise error on expressions and declarations with an implied 'any' type. */
+    // "strictNullChecks": true,              /* Enable strict null checks. */
+    // "strictFunctionTypes": true,           /* Enable strict checking of function types. */
+    // "strictBindCallApply": true,           /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
+    // "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */
+    // "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */
+    // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */
+
+    /* Additional Checks */
+    // "noUnusedLocals": true,                /* Report errors on unused locals. */
+    // "noUnusedParameters": true,            /* Report errors on unused parameters. */
+    // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */
+    // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */
+
+    /* Module Resolution Options */
+    "moduleResolution": "node",            /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
+    // "baseUrl": "./",                       /* Base directory to resolve non-absolute module names. */
+    // "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
+    // "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
+    // "typeRoots": [],                       /* List of folders to include type definitions from. */
+    // "types": [],                           /* Type declaration files to be included in compilation. */
+    // "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
+    "esModuleInterop": true,                  /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
+    // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
+    // "allowUmdGlobalAccess": true,          /* Allow accessing UMD globals from modules. */
+
+    /* Source Map Options */
+    // "sourceRoot": "",                      /* Specify the location where debugger should locate TypeScript files instead of source locations. */
+    // "mapRoot": "",                         /* Specify the location where debugger should locate map files instead of generated locations. */
+    // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */
+    // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
+
+    /* Experimental Options */
+    // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */
+    // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */
+
+    /* Advanced Options */
+    "skipLibCheck": true,                     /* Skip type checking of declaration files. */
+    "forceConsistentCasingInFileNames": true  /* Disallow inconsistently-cased references to the same file. */
+  }
+}
diff --git a/docs-sdk/fusion-css-loader/.gitignore b/docs-sdk/fusion-css-loader/.gitignore
new file mode 100644
index 0000000..9b26ed0
--- /dev/null
+++ b/docs-sdk/fusion-css-loader/.gitignore
@@ -0,0 +1,2 @@
+node_modules
+lib
\ No newline at end of file
diff --git a/docs-sdk/fusion-css-loader/README.md b/docs-sdk/fusion-css-loader/README.md
new file mode 100644
index 0000000..ae59dd6
--- /dev/null
+++ b/docs-sdk/fusion-css-loader/README.md
@@ -0,0 +1,163 @@
+# @alicloud/console-toolkit-fusion-css-loader
+
+这是一个 webpack loader，用来修改 fusion 的 css 的选择器类名前缀。比如把`.next-btn`的类名修改成`.my-prefix-btn`。
+这样做的目的是，**控制 fusion 样式的作用范围，让一个页面中可以同时存在多份不同版本的 fusion，同时不会出现样式冲突**。
+
+## 使用方式
+
+先配置 webpack，让这个 loader 在 css-loader 之前执行：
+
+```js
+const path = require("path");
+const MiniCssExtractPlugin = require("mini-css-extract-plugin");
+
+module.exports = {
+  mode: "development",
+  entry: path.resolve(__dirname, "index.js"),
+  output: {
+    path: path.resolve(__dirname, "dist"),
+    filename: "[name].js",
+  },
+  module: {
+    rules: [
+      {
+        test: /\.css$/,
+        rules: [
+          {
+            use: [
+              {
+                // 这里也可以使用 "style-loader"
+                loader: MiniCssExtractPlugin.loader,
+              },
+            ],
+          },
+          {
+            use: [
+              {
+                loader: "css-loader",
+              },
+            ],
+          },
+          {
+            resourceQuery: /fusionPrefix|fusionVarScope/,
+            use: [
+              {
+                loader: "@alicloud/console-toolkit-fusion-css-loader",
+              },
+            ],
+          },
+        ],
+      },
+    ],
+  },
+  plugins: [new MiniCssExtractPlugin()],
+};
+```
+
+## fusion css isolation
+
+在源代码中引入 fusion 样式时（比如主题包中的[next.var.css](https://unpkg.alipay.com/browse/@alife/theme-xconsole-v4@0.4.13/dist/next.var.css)），可以这样引入：
+
+```js
+import "path/to/fusion.css?fusionPrefix=.my-prefix-";
+```
+
+它的作用是对这个 css 文件中的 CSS 选择器进行转换，把`.next-btn`的类名修改成`.my-prefix-btn`。从而限制 fusion 组件样式作用范围，避免多份 fusion 同时存在时出现样式冲突。
+
+### 自动 fusion icon 字体隔离
+
+上述用法会自动对 fusion icon 的字体做隔离，避免多份 fusion 出现 icon 冲突。
+
+问题背景：过去，如果一个页面中同时存在多份不同版本的 fusion，并且这些 fusion 对有不同的 icon 定义。那么其中一份 fusion 的 icon 字体会被另一份覆盖，造成前者的 icon 错乱甚至不显示。问题根源是所有 icon 使用了相同的`font-family`名字`NextIcon`。
+
+如果按照上述方式使用本 loader，它会自动将输入中的这种样式：
+
+```css
+@font-face {
+  font-family: NextIcon;
+  src: url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.eot");
+  src: url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.eot?#iefix") format("embedded-opentype"),
+    url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.woff2") format("woff2"),
+    url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.woff") format("woff"), url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.ttf")
+      format("truetype"),
+    url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.svg#NextIcon") format("svg");
+}
+
+.next-icon {
+  display: inline-block;
+  font-family: NextIcon;
+}
+```
+
+转换成这样：
+
+```css
+@font-face {
+  font-family: MyPrefixIcon;
+  src: url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.eot");
+  src: url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.eot?#iefix") format("embedded-opentype"),
+    url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.woff2") format("woff2"),
+    url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.woff") format("woff"), url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.ttf")
+      format("truetype"),
+    url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.svg#NextIcon") format("svg");
+}
+
+.my-prefix-icon {
+  display: inline-block;
+  font-family: MyPrefixIcon;
+}
+```
+
+因此，每份 fusion 使用的是各自指定的`font-family`名字，避免 icon 冲突。
+
+### 限制 fusion reset 样式的影响范围
+
+即使按照上面的方式替换了 fusion prefix，在 fusion 样式中的 reset 样式依然是全局性的，比如
+
+```css
+body {
+  margin: 0;
+}
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+```
+
+> 很多时候，全局 reset 样式不会造成什么问题，因此你可以忽略这一小节。
+
+如果你希望限制这种 fusion reset 样式的影响范围，你可以在 import 的 query 中增加`styleContainer`，比如：
+
+```js
+import "path/to/fusion.css?fusionPrefix=.my-prefix-&styleContainer=my-style-container";
+```
+
+会把上面例子的样式转化成
+
+```css
+my-style-container {
+  margin: 0;
+}
+my-style-container h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+```
+
+注意我们提供的`styleContainer`是一个 tag 名称而不是一个类名，这是为了避免 reset 的选择器权重过高。比如，如果使用`.my-cls`作为`styleContainer`，那么生成的 reset 选择器就是`.my-cls h1`，它的权重比很多用户定义样式还高。
+
+## fusion css variable scope
+
+> 大部分用户可以忽略这一小节。
+
+如果想要引用 fusion 主题的 css-variable 定义，比如[主题包中的 variables.css](https://unpkg.alipay.com/browse/@alife/theme-xconsole-v4@0.4.13/variables.css)，可以这样引入：
+
+```js
+import "./fusion-theme/variables.css?fusionVarScope=.my-container";
+```
+
+它的作用是将这个 css 文件中的所有`:root`选择器转换成`.my-container`。从而限制该 fusion 主题的 css-variable 作用范围，避免多份 fusion 主题同时存在时出现样式冲突。
+
+## 示例
+
+[webpack 项目示例](https://github.com/aliyun/alibabacloud-console-toolkit/tree/preset-demos/docs-sdk/fusion-css-loader/fixture)。
diff --git a/docs-sdk/fusion-css-loader/fixture/dist2/main.css b/docs-sdk/fusion-css-loader/fixture/dist2/main.css
new file mode 100644
index 0000000..16e35a4
--- /dev/null
+++ b/docs-sdk/fusion-css-loader/fixture/dist2/main.css
@@ -0,0 +1,159 @@
+/* mock fusion css https://unpkg.alipay.com/browse/@alife/theme-xconsole-v4@0.4.13/dist/next.var.css */
+
+/* css reset */
+my-style-container {
+  line-height: 1.15;
+  -ms-text-size-adjust: 100%;
+  -webkit-text-size-adjust: 100%;
+}
+
+my-style-container {
+  margin: 0;
+}
+
+my-style-container article,
+my-style-container aside,
+my-style-container footer,
+my-style-container header,
+my-style-container nav,
+my-style-container section {
+  display: block;
+}
+
+my-style-container h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+my-style-container [type="search"]::-webkit-search-cancel-button,
+my-style-container [type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+my-style-container *,
+my-style-container *:before,
+my-style-container *:after {
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+}
+
+@font-face {
+  font-family: "Roboto";
+  src: url("//i.alicdn.com/artascope-font/20160419204543/font/roboto-bold.eot");
+  src: url("//i.alicdn.com/artascope-font/20160419204543/font/roboto-bold.eot?#iefix")
+      format("embedded-opentype"),
+    url("//i.alicdn.com/artascope-font/20160419204543/font/roboto-bold.woff2")
+      format("woff2"),
+    url("//i.alicdn.com/artascope-font/20160419204543/font/roboto-bold.woff")
+      format("woff"),
+    url("//i.alicdn.com/artascope-font/20160419204543/font/roboto-bold.ttf")
+      format("truetype");
+  font-weight: 700;
+}
+
+@keyframes fadeIn {
+  0% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+
+my-style-container {
+  font-size: 100%;
+}
+
+my-style-container {
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
+    "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial,
+    sans-serif;
+  font-size: 12px;
+  font-size: var(--font-size-body-1, 12px);
+  line-height: 1.28571;
+  color: #111111;
+  color: var(--color-text1-4, #111111);
+}
+
+/* component style */
+
+.my-prefix-btn {
+  position: relative;
+}
+.my-prefix-btn.my-prefix-small {
+  border-radius: 2px;
+  padding: 0 8px;
+  height: 24px;
+  font-size: 12px;
+  border-width: 1px;
+}
+.my-prefix-btn.my-prefix-small > .my-prefix-btn-icon.my-prefix-icon-first:before,
+.my-prefix-btn.my-prefix-small > .my-prefix-btn-icon.my-prefix-icon-first .my-prefix-icon-remote {
+  width: 12px;
+  font-size: 12px;
+  line-height: inherit;
+}
+
+.my-prefix-btn.disabled.my-prefix-btn-normal,
+.my-prefix-btn[disabled].my-prefix-btn-normal {
+  background-color: #f7f8fa;
+  border-color: #e6e7eb;
+}
+
+body.my-prefix-modal-open {
+  color: red;
+}
+
+/* mock fusion css var https://unpkg.alipay.com/browse/@alife/theme-xconsole-v4@0.4.13/variables.css */
+
+.my-var-container {
+  /* ------------------------ color ------------------------ */
+  --color-brand1-1: #f7f9fa;
+  --color-brand1-6: #0064c8;
+  --color-brand1-9: #002850;
+  --color-data1-1: #00dccd;
+  --color-data1-2: #506fed;
+  --color-data1-3: #ae66fc;
+}
+
+/* mock alicloud css var https://unpkg.com/browse/@alicloudfe/components@1.0.4/dist/xconsole-var.css */
+
+.my-own-scope {
+  /* ------------------------ color ------------------------ */
+  --xconsole-theme-var: #0064c8;
+}
+
+@font-face {
+  font-family: MyPrefixIcon;
+  src: url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.eot");
+  src: url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.eot?#iefix")
+      format("embedded-opentype"),
+    url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.woff2") format("woff2"),
+    url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.woff") format("woff"),
+    url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.ttf") format("truetype"),
+    url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.svg#NextIcon") format("svg");
+}
+
+.my-prefix-icon {
+  display: inline-block;
+  font-family: MyPrefixIcon;
+}
+
+.my-prefix-btn-loading:after {
+  font-family: MyPrefixIcon;
+  content: "\E646";
+  content: var(--icon-content-loading, "\E646");
+}
+
+/* 非NextIcon不会受到影响 */
+@font-face {
+  font-family: "Roboto";
+  src: url("//i.alicdn.com/artascope-font/20160419204543/font/roboto-medium.eot");
+  font-weight: 500;
+}
+
+/* 非NextIcon不会受到影响 */
+.my-prefix-step-circle.my-prefix-step-vertical {
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto";
+}
+
diff --git a/docs-sdk/fusion-css-loader/fixture/dist2/main.js b/docs-sdk/fusion-css-loader/fixture/dist2/main.js
new file mode 100644
index 0000000..8ceb8a5
--- /dev/null
+++ b/docs-sdk/fusion-css-loader/fixture/dist2/main.js
@@ -0,0 +1,149 @@
+/******/ (function(modules) { // webpackBootstrap
+/******/ 	// The module cache
+/******/ 	var installedModules = {};
+/******/
+/******/ 	// The require function
+/******/ 	function __webpack_require__(moduleId) {
+/******/
+/******/ 		// Check if module is in cache
+/******/ 		if(installedModules[moduleId]) {
+/******/ 			return installedModules[moduleId].exports;
+/******/ 		}
+/******/ 		// Create a new module (and put it into the cache)
+/******/ 		var module = installedModules[moduleId] = {
+/******/ 			i: moduleId,
+/******/ 			l: false,
+/******/ 			exports: {}
+/******/ 		};
+/******/
+/******/ 		// Execute the module function
+/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ 		// Flag the module as loaded
+/******/ 		module.l = true;
+/******/
+/******/ 		// Return the exports of the module
+/******/ 		return module.exports;
+/******/ 	}
+/******/
+/******/
+/******/ 	// expose the modules object (__webpack_modules__)
+/******/ 	__webpack_require__.m = modules;
+/******/
+/******/ 	// expose the module cache
+/******/ 	__webpack_require__.c = installedModules;
+/******/
+/******/ 	// define getter function for harmony exports
+/******/ 	__webpack_require__.d = function(exports, name, getter) {
+/******/ 		if(!__webpack_require__.o(exports, name)) {
+/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ 		}
+/******/ 	};
+/******/
+/******/ 	// define __esModule on exports
+/******/ 	__webpack_require__.r = function(exports) {
+/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ 		}
+/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
+/******/ 	};
+/******/
+/******/ 	// create a fake namespace object
+/******/ 	// mode & 1: value is a module id, require it
+/******/ 	// mode & 2: merge all properties of value into the ns
+/******/ 	// mode & 4: return value when already ns object
+/******/ 	// mode & 8|1: behave like require
+/******/ 	__webpack_require__.t = function(value, mode) {
+/******/ 		if(mode & 1) value = __webpack_require__(value);
+/******/ 		if(mode & 8) return value;
+/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ 		var ns = Object.create(null);
+/******/ 		__webpack_require__.r(ns);
+/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ 		return ns;
+/******/ 	};
+/******/
+/******/ 	// getDefaultExport function for compatibility with non-harmony modules
+/******/ 	__webpack_require__.n = function(module) {
+/******/ 		var getter = module && module.__esModule ?
+/******/ 			function getDefault() { return module['default']; } :
+/******/ 			function getModuleExports() { return module; };
+/******/ 		__webpack_require__.d(getter, 'a', getter);
+/******/ 		return getter;
+/******/ 	};
+/******/
+/******/ 	// Object.prototype.hasOwnProperty.call
+/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ 	// __webpack_public_path__
+/******/ 	__webpack_require__.p = "";
+/******/
+/******/
+/******/ 	// Load entry module and return exports
+/******/ 	return __webpack_require__(__webpack_require__.s = "./fixture/index.js");
+/******/ })
+/************************************************************************/
+/******/ ({
+
+/***/ "./fixture/index.js":
+/*!**************************!*\
+  !*** ./fixture/index.js ***!
+  \**************************/
+/*! no exports provided */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mock_fusion_css_fusionPrefix_my_prefix_styleContainer_my_style_container__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mock-fusion.css?fusionPrefix=.my-prefix-&styleContainer=my-style-container */ \"./fixture/mock-fusion.css?fusionPrefix=.my-prefix-&styleContainer=my-style-container\");\n/* harmony import */ var _mock_var_css_fusionVarScope_my_var_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mock-var.css?fusionVarScope=.my-var-container */ \"./fixture/mock-var.css?fusionVarScope=.my-var-container\");\n/* harmony import */ var _mock_custom_var_css_myCustomFusionModify__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mock-custom-var.css?myCustomFusionModify */ \"./fixture/mock-custom-var.css?myCustomFusionModify\");\n/* harmony import */ var _mock_fusion_icon_css_fusionPrefix_my_prefix___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mock-fusion-icon.css?fusionPrefix=.my-prefix- */ \"./fixture/mock-fusion-icon.css?fusionPrefix=.my-prefix-\");\n\n\n\n\n\n\n//# sourceURL=webpack:///./fixture/index.js?");
+
+/***/ }),
+
+/***/ "./fixture/mock-custom-var.css?myCustomFusionModify":
+/*!**********************************************************!*\
+  !*** ./fixture/mock-custom-var.css?myCustomFusionModify ***!
+  \**********************************************************/
+/*! no exports provided */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack:///./fixture/mock-custom-var.css?");
+
+/***/ }),
+
+/***/ "./fixture/mock-fusion-icon.css?fusionPrefix=.my-prefix-":
+/*!***************************************************************!*\
+  !*** ./fixture/mock-fusion-icon.css?fusionPrefix=.my-prefix- ***!
+  \***************************************************************/
+/*! no exports provided */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack:///./fixture/mock-fusion-icon.css?");
+
+/***/ }),
+
+/***/ "./fixture/mock-fusion.css?fusionPrefix=.my-prefix-&styleContainer=my-style-container":
+/*!********************************************************************************************!*\
+  !*** ./fixture/mock-fusion.css?fusionPrefix=.my-prefix-&styleContainer=my-style-container ***!
+  \********************************************************************************************/
+/*! no exports provided */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack:///./fixture/mock-fusion.css?");
+
+/***/ }),
+
+/***/ "./fixture/mock-var.css?fusionVarScope=.my-var-container":
+/*!***************************************************************!*\
+  !*** ./fixture/mock-var.css?fusionVarScope=.my-var-container ***!
+  \***************************************************************/
+/*! no exports provided */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack:///./fixture/mock-var.css?");
+
+/***/ })
+
+/******/ });
\ No newline at end of file
diff --git a/docs-sdk/fusion-css-loader/fixture/index.js b/docs-sdk/fusion-css-loader/fixture/index.js
new file mode 100644
index 0000000..51e7bd4
--- /dev/null
+++ b/docs-sdk/fusion-css-loader/fixture/index.js
@@ -0,0 +1,4 @@
+import "./mock-fusion.css?fusionPrefix=.my-prefix-&styleContainer=my-style-container";
+import "./mock-var.css?fusionVarScope=.my-var-container";
+import "./mock-custom-var.css?myCustomFusionModify";
+import "./mock-fusion-icon.css?fusionPrefix=.my-prefix-";
diff --git a/docs-sdk/fusion-css-loader/fixture/mock-custom-var.css b/docs-sdk/fusion-css-loader/fixture/mock-custom-var.css
new file mode 100644
index 0000000..416ba7a
--- /dev/null
+++ b/docs-sdk/fusion-css-loader/fixture/mock-custom-var.css
@@ -0,0 +1,6 @@
+/* mock alicloud css var https://unpkg.com/browse/@alicloudfe/components@1.0.4/dist/xconsole-var.css */
+
+.theme-xconsole {
+  /* ------------------------ color ------------------------ */
+  --xconsole-theme-var: #0064c8;
+}
diff --git a/docs-sdk/fusion-css-loader/fixture/mock-fusion-icon.css b/docs-sdk/fusion-css-loader/fixture/mock-fusion-icon.css
new file mode 100644
index 0000000..6af663b
--- /dev/null
+++ b/docs-sdk/fusion-css-loader/fixture/mock-fusion-icon.css
@@ -0,0 +1,33 @@
+@font-face {
+  font-family: NextIcon;
+  src: url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.eot");
+  src: url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.eot?#iefix")
+      format("embedded-opentype"),
+    url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.woff2") format("woff2"),
+    url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.woff") format("woff"),
+    url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.ttf") format("truetype"),
+    url("//at.alicdn.com/t/font_1899989_e0hzok75tkg.svg#NextIcon") format("svg");
+}
+
+.next-icon {
+  display: inline-block;
+  font-family: NextIcon;
+}
+
+.next-btn-loading:after {
+  font-family: NextIcon;
+  content: "\E646";
+  content: var(--icon-content-loading, "\E646");
+}
+
+/* 非NextIcon不会受到影响 */
+@font-face {
+  font-family: "Roboto";
+  src: url("//i.alicdn.com/artascope-font/20160419204543/font/roboto-medium.eot");
+  font-weight: 500;
+}
+
+/* 非NextIcon不会受到影响 */
+.next-step-circle.next-step-vertical {
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto";
+}
diff --git a/docs-sdk/fusion-css-loader/fixture/mock-fusion.css b/docs-sdk/fusion-css-loader/fixture/mock-fusion.css
new file mode 100644
index 0000000..1d009c5
--- /dev/null
+++ b/docs-sdk/fusion-css-loader/fixture/mock-fusion.css
@@ -0,0 +1,105 @@
+/* mock fusion css https://unpkg.alipay.com/browse/@alife/theme-xconsole-v4@0.4.13/dist/next.var.css */
+
+/* css reset */
+html {
+  line-height: 1.15;
+  -ms-text-size-adjust: 100%;
+  -webkit-text-size-adjust: 100%;
+}
+
+body {
+  margin: 0;
+}
+
+article,
+aside,
+footer,
+header,
+nav,
+section {
+  display: block;
+}
+
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+*,
+*:before,
+*:after {
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+}
+
+@font-face {
+  font-family: "Roboto";
+  src: url("//i.alicdn.com/artascope-font/20160419204543/font/roboto-bold.eot");
+  src: url("//i.alicdn.com/artascope-font/20160419204543/font/roboto-bold.eot?#iefix")
+      format("embedded-opentype"),
+    url("//i.alicdn.com/artascope-font/20160419204543/font/roboto-bold.woff2")
+      format("woff2"),
+    url("//i.alicdn.com/artascope-font/20160419204543/font/roboto-bold.woff")
+      format("woff"),
+    url("//i.alicdn.com/artascope-font/20160419204543/font/roboto-bold.ttf")
+      format("truetype");
+  font-weight: 700;
+}
+
+@keyframes fadeIn {
+  0% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+
+html {
+  font-size: 100%;
+}
+
+body {
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
+    "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial,
+    sans-serif;
+  font-size: 12px;
+  font-size: var(--font-size-body-1, 12px);
+  line-height: 1.28571;
+  color: #111111;
+  color: var(--color-text1-4, #111111);
+}
+
+/* component style */
+
+.next-btn {
+  position: relative;
+}
+.next-btn.next-small {
+  border-radius: 2px;
+  padding: 0 8px;
+  height: 24px;
+  font-size: 12px;
+  border-width: 1px;
+}
+.next-btn.next-small > .next-btn-icon.next-icon-first:before,
+.next-btn.next-small > .next-btn-icon.next-icon-first .next-icon-remote {
+  width: 12px;
+  font-size: 12px;
+  line-height: inherit;
+}
+
+.next-btn.disabled.next-btn-normal,
+.next-btn[disabled].next-btn-normal {
+  background-color: #f7f8fa;
+  border-color: #e6e7eb;
+}
+
+body.next-modal-open {
+  color: red;
+}
diff --git a/docs-sdk/fusion-css-loader/fixture/mock-var.css b/docs-sdk/fusion-css-loader/fixture/mock-var.css
new file mode 100644
index 0000000..e995166
--- /dev/null
+++ b/docs-sdk/fusion-css-loader/fixture/mock-var.css
@@ -0,0 +1,11 @@
+/* mock fusion css var https://unpkg.alipay.com/browse/@alife/theme-xconsole-v4@0.4.13/variables.css */
+
+:root {
+  /* ------------------------ color ------------------------ */
+  --color-brand1-1: #f7f9fa;
+  --color-brand1-6: #0064c8;
+  --color-brand1-9: #002850;
+  --color-data1-1: #00dccd;
+  --color-data1-2: #506fed;
+  --color-data1-3: #ae66fc;
+}
diff --git a/docs-sdk/fusion-css-loader/fixture/webpack.config.js b/docs-sdk/fusion-css-loader/fixture/webpack.config.js
new file mode 100644
index 0000000..9386a41
--- /dev/null
+++ b/docs-sdk/fusion-css-loader/fixture/webpack.config.js
@@ -0,0 +1,61 @@
+const path = require("path");
+const MiniCssExtractPlugin = require("mini-css-extract-plugin");
+
+module.exports = {
+  mode: "development",
+  entry: path.resolve(__dirname, "index.js"),
+  output: {
+    path: path.resolve(__dirname, "dist2"),
+    filename: "[name].js"
+  },
+  module: {
+    rules: [
+      {
+        test: /\.css$/,
+        rules: [
+          {
+            use: [
+              {
+                // 也可以使用 "style-loader"
+                loader: MiniCssExtractPlugin.loader
+              }
+            ]
+          },
+          {
+            use: [
+              {
+                loader: "css-loader"
+              }
+            ]
+          },
+          {
+            resourceQuery: /fusionPrefix|fusionVarScope/,
+            use: [
+              {
+                // loader: "@alicloud/console-toolkit-fusion-css-loader"
+                loader: path.resolve(__dirname, "../lib/index.js")
+              }
+            ]
+          },
+          {
+            resourceQuery: /myCustomFusionModify/,
+            use: [
+              {
+                // loader: "@alicloud/console-toolkit-fusion-css-loader"
+                loader: path.resolve(__dirname, "../lib/index.js"),
+                options: {
+                  selectorTransformer: selector => {
+                    if (selector === ".theme-xconsole") {
+                      return ".my-own-scope";
+                    }
+                  }
+                }
+              }
+            ]
+          }
+        ]
+      }
+    ]
+  },
+  plugins: [new MiniCssExtractPlugin()]
+};
diff --git a/docs-sdk/fusion-css-loader/package.json b/docs-sdk/fusion-css-loader/package.json
new file mode 100644
index 0000000..10ed659
--- /dev/null
+++ b/docs-sdk/fusion-css-loader/package.json
@@ -0,0 +1,32 @@
+{
+  "name": "@alicloud/console-toolkit-fusion-css-loader",
+  "version": "1.0.15",
+  "main": "lib/index.js",
+  "repository": "https://github.com/aliyun/alibabacloud-console-toolkit",
+  "author": "sirui.csr <sirui.csr@alibaba-inc.com>",
+  "license": "MIT",
+  "scripts": {
+    "prepare": "tsc",
+    "fixture": "webpack --config ./fixture/webpack.config.js",
+    "debug": "node --inspect-brk ./node_modules/webpack/bin/webpack.js --config ./fixture/webpack.config.js"
+  },
+  "devDependencies": {
+    "@types/node": "^14.14.22",
+    "css-loader": "^5.0.0",
+    "mini-css-extract-plugin": "^1.3.5",
+    "style-loader": "^2.0.0",
+    "typescript": "^4.1.3",
+    "webpack": "^4.0.0",
+    "webpack-cli": "^4.4.0"
+  },
+  "dependencies": {
+    "loader-utils": "^2.0.0",
+    "pascal-case": "^3.1.2",
+    "postcss": "^8.2.4",
+    "query-string": "^6.13.8",
+    "semver": "^7.3.4"
+  },
+  "publishConfig": {
+    "access": "public"
+  }
+}
diff --git a/docs-sdk/fusion-css-loader/src/declare.d.ts b/docs-sdk/fusion-css-loader/src/declare.d.ts
new file mode 100644
index 0000000..c4a973a
--- /dev/null
+++ b/docs-sdk/fusion-css-loader/src/declare.d.ts
@@ -0,0 +1,2 @@
+declare module "semver";
+declare module "loader-utils";
diff --git a/docs-sdk/fusion-css-loader/src/index.ts b/docs-sdk/fusion-css-loader/src/index.ts
new file mode 100644
index 0000000..28c10cf
--- /dev/null
+++ b/docs-sdk/fusion-css-loader/src/index.ts
@@ -0,0 +1,154 @@
+import { getOptions } from "loader-utils";
+import postcss from "postcss";
+import type { Root, Declaration } from "postcss";
+import postcssPackage from "postcss/package.json";
+import { satisfies } from "semver";
+import * as qs from "query-string";
+import { pascalCase } from "pascal-case";
+
+module.exports = async function fusionCssLoader(
+  this: any,
+  content,
+  sourceMap,
+  meta
+) {
+  const callback = this.async();
+  const options = getOptions(this);
+  const resourceQuery = qs.parse(this.resourceQuery || "");
+
+  let fusionPrefix = resourceQuery.fusionPrefix ?? options.fusionPrefix;
+  let fusionPrefixPascalCase = fusionPrefix ? pascalCase(fusionPrefix) : "Next";
+  let fusionVarScope = resourceQuery.fusionVarScope ?? options.fusionVarScope;
+  let styleContainer = resourceQuery.styleContainer ?? options.styleContainer;
+  let selectorTransformer = options.selectorTransformer;
+
+  let root;
+
+  // Reuse PostCSS AST from other loaders
+  // https://github.com/webpack-contrib/postcss-loader/blob/6c9f6b5058158f5cbee81e410c94abb23b85bb56/src/index.js#L86
+  if (
+    meta &&
+    meta.ast &&
+    meta.ast.type === "postcss" &&
+    satisfies(meta.ast.version, `^${postcssPackage.version}`)
+  ) {
+    ({ root } = meta.ast);
+  }
+
+  const transformers = [] as any[];
+  if (typeof selectorTransformer === "function") {
+    transformers.push(modifySelectorPostcssPlugin(selectorTransformer));
+  }
+
+  if (typeof fusionVarScope === "string") {
+    transformers.push(
+      modifySelectorPostcssPlugin((selector) => {
+        if (selector === ":root") {
+          return fusionVarScope;
+        }
+      })
+    );
+  }
+
+  if (typeof styleContainer === "string") {
+    transformers.push(
+      modifySelectorPostcssPlugin(function (selector: string) {
+        // 未来可以使用 postcss-selector-parser 做更精确的识别和判断
+
+        // 将明显的根容器选择器替换成styleContainer
+        if (
+          selector === "html" ||
+          selector === "body" ||
+          selector === ":host"
+        ) {
+          return styleContainer;
+        }
+        // 不能在前面插入styleContainer的选择器，不作处理
+        if (
+          selector.includes("html") ||
+          selector.includes(":root") ||
+          selector.includes(":host") ||
+          selector.includes(styleContainer)
+        ) {
+          return selector;
+        }
+        // fusion组件样式，不做处理
+        // 组件的样式隔离通过 fusionPrefix 的替换来完成
+        if (selector.includes(".next-")) {
+          return selector;
+        }
+        // 其他选择器直接在前面插入styleContainer
+        return styleContainer + " " + selector;
+      })
+    );
+  }
+
+  if (typeof fusionPrefix === "string") {
+    transformers.push(function (css: Root) {
+      function processDecl(decl: Declaration) {
+        if (decl.prop === "font-family" && decl.value === "NextIcon") {
+          decl.value = fusionPrefixPascalCase + "Icon";
+        }
+        // replace font-family: var(--xconsole-icon-font-family, NextIcon)
+        // to font-family: var(--xconsole-icon-font-family, fusionPrefix + Icon)
+        if (decl.prop === "font-family" && decl.value?.match(/var\(.*,\s?NextIcon\)/)) {
+          decl.value = decl.value.replace("NextIcon", fusionPrefixPascalCase + "Icon");
+        }
+      }
+      // css.walkAtRules((rule) => {
+      //   if (rule.name === "font-face") {
+      //     rule.walkDecls(processDecl)
+      //   }
+      // })
+      css.walkDecls(processDecl);
+      // css.walkRules((rule) => {
+      //   const newSelectors = rule.selectors.map((selector) => {
+      //     const res = transform(selector);
+      //     if (res) return res;
+      //     return selector;
+      //   });
+      //   rule.selectors = newSelectors;
+      // });
+    });
+    transformers.push(
+      modifySelectorPostcssPlugin((selector) => {
+        if (selector.includes(".next-")) {
+          return selector.replace(/\.next-/g, fusionPrefix);
+        }
+      })
+    );
+  }
+
+  if (transformers.length === 0) {
+    throw new Error(
+      `Must provide at least one of the loader options: fusionPrefix or fusionVarScope or selectorTransformer or styleContainer`
+    );
+  }
+
+  const result = await postcss(transformers).process(root || content, {
+    from: undefined,
+  });
+
+  const ast = {
+    type: "postcss",
+    version: result.processor.version,
+    root: result.root,
+  };
+
+  callback(null, result.css, undefined, { ast });
+};
+
+function modifySelectorPostcssPlugin(transform) {
+  return function (css) {
+    css.walkRules((rule) => {
+      // @keyframes 里面的 0% 声明也是一种 rule，我们不考虑这种rule
+      if (rule?.parent?.name === "keyframes") return;
+      const newSelectors = rule.selectors.map((selector) => {
+        const res = transform(selector);
+        if (res) return res;
+        return selector;
+      });
+      rule.selectors = newSelectors;
+    });
+  };
+}
diff --git a/docs-sdk/fusion-css-loader/tsconfig.json b/docs-sdk/fusion-css-loader/tsconfig.json
new file mode 100644
index 0000000..fc397d8
--- /dev/null
+++ b/docs-sdk/fusion-css-loader/tsconfig.json
@@ -0,0 +1,70 @@
+{
+  "compilerOptions": {
+    /* Visit https://aka.ms/tsconfig.json to read more about this file */
+
+    /* Basic Options */
+    // "incremental": true,                   /* Enable incremental compilation */
+    "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
+    "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
+    // "lib": [],                             /* Specify library files to be included in the compilation. */
+    // "allowJs": true,                       /* Allow javascript files to be compiled. */
+    // "checkJs": true,                       /* Report errors in .js files. */
+    // "jsx": "preserve",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
+    "declaration": true /* Generates corresponding '.d.ts' file. */,
+    // "declarationMap": true,                /* Generates a sourcemap for each corresponding '.d.ts' file. */
+    "sourceMap": true /* Generates corresponding '.map' file. */,
+    // "outFile": "./",                       /* Concatenate and emit output to single file. */
+    "outDir": "./lib" /* Redirect output structure to the directory. */,
+    "rootDir": "./src" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */,
+    // "composite": true,                     /* Enable project compilation */
+    // "tsBuildInfoFile": "./",               /* Specify file to store incremental compilation information */
+    // "removeComments": true,                /* Do not emit comments to output. */
+    // "noEmit": true,                        /* Do not emit outputs. */
+    // "importHelpers": true,                 /* Import emit helpers from 'tslib'. */
+    // "downlevelIteration": true,            /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
+    // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
+
+    /* Strict Type-Checking Options */
+    "strict": true /* Enable all strict type-checking options. */,
+    "noImplicitAny": false,                 /* Raise error on expressions and declarations with an implied 'any' type. */
+    // "strictNullChecks": true,              /* Enable strict null checks. */
+    // "strictFunctionTypes": true,           /* Enable strict checking of function types. */
+    // "strictBindCallApply": true,           /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
+    // "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */
+    // "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */
+    // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */
+
+    /* Additional Checks */
+    // "noUnusedLocals": true,                /* Report errors on unused locals. */
+    // "noUnusedParameters": true,            /* Report errors on unused parameters. */
+    // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */
+    // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */
+
+    /* Module Resolution Options */
+    // "moduleResolution": "node",            /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
+    // "baseUrl": "./",                       /* Base directory to resolve non-absolute module names. */
+    // "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
+    // "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
+    // "typeRoots": [],                       /* List of folders to include type definitions from. */
+    // "types": [],                           /* Type declaration files to be included in compilation. */
+    // "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
+    "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
+    // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
+    // "allowUmdGlobalAccess": true,          /* Allow accessing UMD globals from modules. */
+
+    /* Source Map Options */
+    // "sourceRoot": "",                      /* Specify the location where debugger should locate TypeScript files instead of source locations. */
+    // "mapRoot": "",                         /* Specify the location where debugger should locate map files instead of generated locations. */
+    // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */
+    // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
+
+    /* Experimental Options */
+    // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */
+    // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */
+
+    /* Advanced Options */
+    "skipLibCheck": true /* Skip type checking of declaration files. */,
+    "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */,
+    "resolveJsonModule": true
+  }
+}
diff --git a/docs-sdk/markdown-renderer/.babelrc b/docs-sdk/markdown-renderer/.babelrc
new file mode 100644
index 0000000..5ed3227
--- /dev/null
+++ b/docs-sdk/markdown-renderer/.babelrc
@@ -0,0 +1,8 @@
+{
+  "presets": [
+    ["@babel/preset-env", { "modules": false }],
+    "@babel/preset-typescript",
+    "@babel/preset-react"
+  ],
+  "plugins": ["@quickbaseoss/babel-plugin-styled-components-css-namespace"]
+}
diff --git a/docs-sdk/markdown-renderer/TODO b/docs-sdk/markdown-renderer/TODO
new file mode 100644
index 0000000..3c0ce2f
--- /dev/null
+++ b/docs-sdk/markdown-renderer/TODO
@@ -0,0 +1,3 @@
+用一个suspense包住最外层的文档，在嵌套的微应用还没加载好的时候，展示suspense fallback。当所有嵌套微应用加载好的时候，再一起展示整个文档。这样阅读体验更好，而且方便我们url hash anchor跳转。
+
+本地开发使用 webpack-dev-middleware 和 webpack-hot-middleware 而不是webpack-dev-server，使得嵌套应用的更新能冒泡到页面刷新。
diff --git a/docs-sdk/markdown-renderer/package.json b/docs-sdk/markdown-renderer/package.json
new file mode 100644
index 0000000..5c4c547
--- /dev/null
+++ b/docs-sdk/markdown-renderer/package.json
@@ -0,0 +1,50 @@
+{
+  "name": "@alicloud/console-toolkit-markdown-renderer",
+  "version": "3.0.14",
+  "main": "lib/index.js",
+  "license": "MIT",
+  "scripts": {
+    "prepare": "rm -rf lib && tsc",
+    "babel": "rm -rf lib && babel src -d lib --extensions \".ts,.tsx\" && tsc --emitDeclarationOnly",
+    "watch": "tsc -w"
+  },
+  "devDependencies": {
+    "@alicloud/console-toolkit-cli": "^1.2.0",
+    "@alicloud/console-toolkit-preset-official": "^1.2.8",
+    "@babel/cli": "^7.12.10",
+    "@babel/core": "^7.12.10",
+    "@babel/preset-env": "^7.12.11",
+    "@babel/preset-react": "^7.12.10",
+    "@babel/preset-typescript": "^7.12.7",
+    "@quickbaseoss/babel-plugin-styled-components-css-namespace": "^1.0.1",
+    "@types/react": "^17.0.0",
+    "@types/react-dom": "^17.0.0",
+    "@types/styled-components": "^5.1.7",
+    "typescript": "^4.1.3"
+  },
+  "publishConfig": {
+    "access": "public"
+  },
+  "dependencies": {
+    "@alicloud/console-toolkit-docs-consumer": "workspace:^1.0.0",
+    "@mdx-js/mdx": "^1.6.22",
+    "@mdx-js/react": "^1.6.22",
+    "classnames": "^2.2.6",
+    "lodash.debounce": "^4.0.8",
+    "lodash.isequal": "^4.5.0",
+    "query-string": "^6.13.8",
+    "react-syntax-highlighter": "^15.4.3",
+    "rehype-raw": "^5.0.0",
+    "rehype-react": "^6.2.0",
+    "rehype-sanitize": "^4.0.0",
+    "rehype-slug": "^4.0.1",
+    "remark-gfm": "^1.0.0",
+    "remark-parse": "^9.0.0",
+    "remark-react": "^8.0.0",
+    "remark-rehype": "^8.0.0",
+    "remark-slug": "^6.0.0",
+    "styled-components": ">=4.0.0",
+    "unified": "^9.2.0",
+    "unist-util-visit-parents": "^3.1.1"
+  }
+}
diff --git a/docs-sdk/markdown-renderer/src/Layout/TableOfContent/index.tsx b/docs-sdk/markdown-renderer/src/Layout/TableOfContent/index.tsx
new file mode 100644
index 0000000..17f88a3
--- /dev/null
+++ b/docs-sdk/markdown-renderer/src/Layout/TableOfContent/index.tsx
@@ -0,0 +1,153 @@
+import React, { useEffect, useState } from "react";
+import styled from "styled-components";
+// import { useDocMetaCtx } from '../../utils/context'
+import getScrollParent from "../../utils/getScrollParent";
+
+export interface ITocHeading {
+  id: string;
+  text: string;
+  depth: number;
+}
+
+interface IProps {
+  headings: ITocHeading[];
+}
+
+const TOC: React.FC<IProps> = ({ headings }) => {
+  // TODO: 支持用户指定 scrollContainer
+  // const { scrollContainer } = useDocMetaCtx()
+  const activeId = useActiveHeading(headings, undefined);
+  return (
+    <ScList className="markdown-toc">
+      {headings.map(heading => {
+        return (
+          <ScListItem
+            depth={heading.depth}
+            active={heading.id === activeId}
+            key={heading.id}
+          >
+            <a href={`#${heading.id}`}>{heading.text}</a>
+          </ScListItem>
+        );
+      })}
+    </ScList>
+  );
+};
+
+export default TOC;
+
+const ScList = styled.ol`
+  list-style: none;
+  margin: 0;
+  padding: 0;
+  line-height: 24px;
+`;
+
+const ScListItem = styled(
+  ({ depth: number, active: boolean, ...restProps }) => <li {...restProps} />
+)`
+  && {
+    font-size: 14px;
+    padding-left: ${({ depth }) => 16 + (depth - 1) * 12}px;
+    ${({ active }) => (active ? "font-weight: 700;" : "")};
+    border-left: 2px solid ${({ active }) => (active ? "#25b864" : "#e8e8e8")};
+    a {
+      text-decoration: none;
+      display: block;
+      white-space: nowrap;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      color: #1a1a1a;
+      transition: color 0.3s;
+      :hover {
+        color: #6d6d6d;
+      }
+      :active {
+        text-decoration: none;
+      }
+    }
+  }
+`;
+
+interface IHeadingWithDomEl extends ITocHeading {
+  el: HTMLElement;
+}
+
+function useActiveHeading(
+  headings: ITocHeading[],
+  scrollContainer: string | undefined
+) {
+  const [headingWithDomEl, setHeadingWithDomEl] = useState<
+    Array<IHeadingWithDomEl>
+  >([]);
+
+  const [activeId, setActiveId] = useState<string>("");
+
+  useEffect(() => {
+    setHeadingWithDomEl(
+      headings
+        .map(heading => {
+          const el = document.getElementById(heading.id);
+          if (!el) return (null as unknown) as IHeadingWithDomEl;
+          return { el, ...heading };
+        })
+        .filter(Boolean)
+    );
+  }, [headings]);
+
+  useEffect(() => {
+    let scrollContainerEl: Element | Window =
+      (scrollContainer && document.querySelector(scrollContainer)) ||
+      getScrollParent(headingWithDomEl[0]?.el) ||
+      window;
+
+    if (
+      scrollContainerEl === document.body ||
+      scrollContainerEl === document.documentElement
+    ) {
+      scrollContainerEl = window;
+    }
+
+    const handle = () => {
+      if (!headingWithDomEl.length) return;
+      const scrollParent = scrollContainerEl;
+      const found = headingWithDomEl.find((heaidng, idx) => {
+        // 如果第一个heading都还没有滚动过去，那么高亮第一个heading
+        if (idx === 0 && !isHeadingScrolled(heaidng.el, scrollParent))
+          return true;
+        const nextHeading = headingWithDomEl[idx + 1];
+        if (nextHeading) {
+          return (
+            isHeadingScrolled(heaidng.el, scrollParent) &&
+            !isHeadingScrolled(nextHeading.el, scrollParent)
+          );
+        }
+        return isHeadingScrolled(heaidng.el, scrollParent);
+      });
+      setActiveId(found?.id ?? "");
+    };
+
+    handle();
+
+    scrollContainerEl.addEventListener("resize", handle);
+    scrollContainerEl.addEventListener("scroll", handle);
+
+    return () => {
+      scrollContainerEl.removeEventListener("resize", handle);
+      scrollContainerEl.removeEventListener("scroll", handle);
+    };
+  }, [headingWithDomEl, scrollContainer]);
+
+  return activeId;
+
+  function isHeadingScrolled(el: HTMLElement, scrollParent: Element | Window) {
+    if ("document" in scrollParent) {
+      return el.getBoundingClientRect().top <= 30;
+    }
+    return (
+      el.getBoundingClientRect().top -
+        scrollParent.getBoundingClientRect().top <=
+      30
+    );
+  }
+}
diff --git a/docs-sdk/markdown-renderer/src/Layout/index.tsx b/docs-sdk/markdown-renderer/src/Layout/index.tsx
new file mode 100644
index 0000000..bd53947
--- /dev/null
+++ b/docs-sdk/markdown-renderer/src/Layout/index.tsx
@@ -0,0 +1,128 @@
+import React from "react";
+import styled from "styled-components";
+import TOC, { ITocHeading } from "./TableOfContent";
+
+const Layout: React.FC<{
+  ctnRef: React.Ref<HTMLDivElement>;
+  headings: ITocHeading[];
+}> = ({ children, ctnRef, headings }) => {
+  // const { autoPadding = true, scrollContainer } = useDocMetaCtx()
+  // const [padding, setPadding] = useState(0)
+  // const paddingRef = useRef<HTMLDivElement | null>(null)
+
+  // const { ctnRef, headings } = useTOC()
+
+  // useEffect(() => {
+  //   if (!autoPadding) return
+  //   handle()
+  //   window.addEventListener('resize', handle)
+
+  //   return () => {
+  //     window.removeEventListener('resize', handle)
+  //   }
+  //   function handle() {
+  //     setPadding(getPadding())
+  //   }
+  //   function getPadding() {
+  //     if (!headings || headings.length === 0) return 0
+  //     const last = headings[headings.length - 1]
+  //     const headingEl = document && document.getElementById(last.id)
+  //     if (!headingEl) return 0
+  //     const { viewportHeight, contentTopPos, contentHeight } = (() => {
+  //       const parent =
+  //         (scrollContainer && document.querySelector(scrollContainer)) ||
+  //         getScrollParent(headingEl) ||
+  //         window
+  //       const currentPadding = paddingRef.current?.offsetHeight ?? 0
+  //       // 滚动容器是window
+  //       if ('document' in parent) {
+  //         return {
+  //           viewportHeight: document.documentElement.clientHeight,
+  //           contentTopPos: document.documentElement.getBoundingClientRect().top,
+  //           contentHeight:
+  //             document.documentElement.scrollHeight - currentPadding,
+  //         }
+  //       }
+  //       return {
+  //         viewportHeight: parent.clientHeight,
+  //         contentTopPos: parent.getBoundingClientRect().top - parent.scrollTop,
+  //         contentHeight: parent.scrollHeight - currentPadding,
+  //       }
+  //     })()
+  //     // 最后一个heading与文档顶部之间的滚动距离
+  //     const offset = headingEl.getBoundingClientRect().top - contentTopPos
+  //     return viewportHeight - (contentHeight - offset)
+  //   }
+  // }, [headings, autoPadding, scrollContainer])
+
+  return (
+    <ScLayout className="markdown-layout">
+      <ScLayoutLeft className="markdown-layout-left">
+        <ScDocStyle className="auto-padding-container">
+          <div ref={ctnRef}>{children}</div>
+          {/* {autoPadding && (
+            <div
+              className="auto-padding"
+              style={{ height: padding }}
+              ref={paddingRef}
+            />
+          )} */}
+        </ScDocStyle>
+      </ScLayoutLeft>
+      {Array.isArray(headings) && headings.length > 0 && (
+        <ScLayoutRight className="markdown-layout-right">
+          <TOC headings={headings} />
+        </ScLayoutRight>
+      )}
+    </ScLayout>
+  );
+};
+
+export default Layout;
+
+const ScLayout = styled.div`
+  display: flex;
+  justify-content: flex-start;
+  align-items: flex-start;
+`;
+
+const ScLayoutLeft = styled.div`
+  flex: 1 1 auto;
+  /* https://stackoverflow.com/questions/43809612/prevent-a-child-element-from-overflowing-its-parent-in-flexbox */
+  min-width: 0;
+`;
+
+const ScLayoutRight = styled.div`
+  width: 280px;
+  flex: 0 0 auto;
+  max-height: 720px;
+  overflow: auto;
+  margin-left: 36px;
+  margin-top: 28px;
+  position: sticky;
+  top: 12px;
+
+  ::-webkit-scrollbar {
+    width: 5px;
+  }
+  ::-webkit-scrollbar-track {
+    background: #dedede;
+  }
+  ::-webkit-scrollbar-thumb {
+    background: #666;
+  }
+`;
+
+const ScDocStyle = styled.div`
+  font-size: 14px;
+  line-height: 1.67;
+  color: #333333;
+
+  /* 不要在这里随便用类选择器来选择文档元素，比如选择p元素。因为你可能选中demo中的p元素。 */
+  /* 请在MarkdownComponents目录中定义文档元素的样式。 */
+
+  figcaption {
+    text-align: center;
+    color: gray;
+  }
+`;
diff --git a/docs-sdk/markdown-renderer/src/MarkdownComponents/CodeBlock.tsx b/docs-sdk/markdown-renderer/src/MarkdownComponents/CodeBlock.tsx
new file mode 100644
index 0000000..0663aff
--- /dev/null
+++ b/docs-sdk/markdown-renderer/src/MarkdownComponents/CodeBlock.tsx
@@ -0,0 +1,72 @@
+import React from "react";
+
+import { PrismLight as SyntaxHighlighter } from "react-syntax-highlighter";
+import js from "react-syntax-highlighter/dist/esm/languages/prism/javascript";
+import jsx from "react-syntax-highlighter/dist/esm/languages/prism/jsx";
+import ts from "react-syntax-highlighter/dist/esm/languages/prism/typescript";
+import tsx from "react-syntax-highlighter/dist/esm/languages/prism/tsx";
+import json from "react-syntax-highlighter/dist/esm/languages/prism/json";
+import diff from "react-syntax-highlighter/dist/esm/languages/prism/diff";
+import css from "react-syntax-highlighter/dist/esm/languages/prism/css";
+
+import prism from "react-syntax-highlighter/dist/esm/styles/prism/prism";
+
+SyntaxHighlighter.registerLanguage("js", js);
+SyntaxHighlighter.registerLanguage("javascript", js);
+SyntaxHighlighter.registerLanguage("jsx", jsx);
+SyntaxHighlighter.registerLanguage("ts", ts);
+SyntaxHighlighter.registerLanguage("typescript", ts);
+SyntaxHighlighter.registerLanguage("tsx", tsx);
+SyntaxHighlighter.registerLanguage("json", json);
+SyntaxHighlighter.registerLanguage("diff", diff);
+SyntaxHighlighter.registerLanguage("css", css);
+
+const SyntaxHighlighterStyle: React.CSSProperties = {
+  padding: "16px",
+  overflow: "auto",
+  // fontSize: '85%',
+  lineHeight: "1.45",
+  backgroundColor: "#f6f8fa",
+  borderRadius: "3px"
+};
+
+const CodeBlock: React.FC<{
+  language: "js" | "javascript" | "jsx" | "ts" | "typescript" | "tsx";
+  style?: React.CSSProperties;
+  className?: string;
+  value?: string;
+}> = ({ language, style, children, className, value }) => {
+  let code = (() => {
+    if (value) return value;
+    const res = React.Children.toArray(children)[0];
+    if (typeof res === "string") return res;
+    return "";
+  })();
+  if (typeof code !== "string") {
+    throw new Error(`CodeBlock expect string, but get ${typeof code}`);
+  }
+  code = code.replace(/\n$/, "");
+  let actualLanguage = language;
+  if (!actualLanguage && typeof className === "string") {
+    // try to infer language from classname like: 'language-javascript'
+    for (const classN of className.split(" ")) {
+      const match = classN.match(/^language-(.*)$/);
+      if (match) {
+        actualLanguage = match[1] as any;
+        break;
+      }
+    }
+  }
+
+  return (
+    <SyntaxHighlighter
+      language={actualLanguage}
+      style={prism}
+      customStyle={{ ...SyntaxHighlighterStyle, ...style }}
+      className={className}
+    >
+      {code}
+    </SyntaxHighlighter>
+  );
+};
+export default CodeBlock;
diff --git a/docs-sdk/markdown-renderer/src/MarkdownComponents/HeaderWithAnchor/index.tsx b/docs-sdk/markdown-renderer/src/MarkdownComponents/HeaderWithAnchor/index.tsx
new file mode 100644
index 0000000..457f9dd
--- /dev/null
+++ b/docs-sdk/markdown-renderer/src/MarkdownComponents/HeaderWithAnchor/index.tsx
@@ -0,0 +1,86 @@
+import React from 'react'
+import styled from 'styled-components'
+import classnames from 'classnames'
+
+const Heading = styled.div`
+  pointer-events: painted;
+  display: flex;
+  justify-content: flex-start;
+  align-items: center;
+`
+
+const SAnchor = styled.a`
+  margin-left: 12px;
+  display: inline-block;
+  width: 16px;
+  height: 16px;
+  ${Heading} & {
+    visibility: hidden;
+  }
+  ${Heading}:hover & {
+    visibility: visible;
+  }
+  svg {
+    vertical-align: super;
+    width: 16px;
+    height: 16px;
+  }
+`
+
+// from https://octicons.github.com/icon/link/
+const LinkIcon = (props) => (
+  <svg
+    {...props}
+    // viewBox="0 0 16 16"
+    // width="16"
+    // height="16"
+    fill="currentcolor"
+    aria-hidden="true"
+  >
+    <path
+      fillRule="evenodd"
+      d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"
+    />
+  </svg>
+)
+
+const HeaderWithAnchor: React.FC<{
+  level?: 1 | 2 | 3 | 4 | 5 | 6
+  id?: string
+  className?: string
+}> = ({ level = 3, children, id, className }) => {
+  const anchor = id ? (
+    <SAnchor href={`#${id}`}>
+      <LinkIcon />
+    </SAnchor>
+  ) : null
+
+  const props = {
+    id,
+    children: (
+      <>
+        {children}
+        {anchor}
+      </>
+    ),
+    className: classnames('header-with-anchor', className),
+  }
+
+  let result
+
+  switch (level) {
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+      result = <Heading as={`h${level}` as any} {...props} />
+      break
+    default:
+      throw new Error(`HeaderWithAnchor: unexpect header level: ${level}`)
+  }
+  return result
+}
+
+export default HeaderWithAnchor
diff --git a/docs-sdk/markdown-renderer/src/MarkdownComponents/anchor.tsx b/docs-sdk/markdown-renderer/src/MarkdownComponents/anchor.tsx
new file mode 100644
index 0000000..b064bce
--- /dev/null
+++ b/docs-sdk/markdown-renderer/src/MarkdownComponents/anchor.tsx
@@ -0,0 +1,88 @@
+import React, { useContext } from "react";
+import styled from "styled-components";
+import {
+  EntryLoader,
+  getInfoFromURL,
+} from "@alicloud/console-toolkit-docs-consumer";
+
+import { ctx } from "../index";
+
+export default {
+  a: (props) => {
+    const { children, href } = props;
+    const {
+      checkHeadings,
+      resolveAppServePath,
+      resolveAppDeps,
+      resolveDemoOpts,
+      scrollToAnchor,
+    } = useContext(ctx);
+    if (
+      Array.isArray(children) &&
+      children.length === 1 &&
+      typeof children[0] === "string" &&
+      (children[0].startsWith("$XView") || children[0].startsWith("$XDemo"))
+    ) {
+      return renderXView(
+        href,
+        checkHeadings,
+        scrollToAnchor,
+        resolveAppServePath,
+        resolveAppDeps,
+        resolveDemoOpts
+      );
+    }
+    return <a {...props} />;
+  },
+};
+
+const DemoRoot = styled.div`
+  margin: 12px 0;
+`;
+
+function renderXView(
+  href,
+  checkHeadings,
+  scrollToAnchor: () => void,
+  resolveAppServePath?: (consoleOSId: string) => string,
+  resolveAppDeps?: (consoleOSId: string) => any,
+  resolveDemoOpts?: any
+) {
+  let { consoleOSId, servePath: defaultServePath, entryKey } = getInfoFromURL(
+    href
+  );
+  if (!consoleOSId) consoleOSId = "xconsole-demos";
+
+  let servePath: string | undefined;
+
+  if (typeof resolveAppServePath === "function") {
+    // 从解析函数获取的servePath，优先级最高
+    servePath = resolveAppServePath(consoleOSId);
+  }
+  if (!servePath)
+    // fallback到用户在markdown link中手动指定的servePath
+    servePath =
+      defaultServePath || "https://dev.g.alicdn.com/xconsole/demos/0.1.1/";
+
+  return (
+    <DemoRoot className="XView-root">
+      <React.Suspense fallback="Loading...">
+        <EntryLoader
+          consoleOSId={consoleOSId}
+          servePath={servePath}
+          entryKey={entryKey}
+          onLoaded={() => {
+            if (typeof checkHeadings === "function") {
+              checkHeadings();
+              scrollToAnchor();
+            }
+          }}
+          markdownOpts={{ embedded: true }}
+          resolveAppServePath={resolveAppServePath}
+          resolveAppDeps={resolveAppDeps}
+          resolveDemoOpts={resolveDemoOpts}
+        />
+      </React.Suspense>
+    </DemoRoot>
+  );
+}
diff --git a/docs-sdk/markdown-renderer/src/MarkdownComponents/code.tsx b/docs-sdk/markdown-renderer/src/MarkdownComponents/code.tsx
new file mode 100644
index 0000000..717a873
--- /dev/null
+++ b/docs-sdk/markdown-renderer/src/MarkdownComponents/code.tsx
@@ -0,0 +1,17 @@
+import styled from 'styled-components'
+import CodeBlock from './CodeBlock'
+
+export default {
+  code: CodeBlock,
+  inlinecode: styled.code`
+    font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier,
+      monospace;
+    font-size: 1em;
+    background-color: rgba(27, 31, 35, 0.05);
+    border-radius: 3px;
+    margin: 0;
+    font-size: 85%;
+    padding: 0.2em 0.4em;
+    word-wrap: normal;
+  `,
+}
diff --git a/docs-sdk/markdown-renderer/src/MarkdownComponents/heading.tsx b/docs-sdk/markdown-renderer/src/MarkdownComponents/heading.tsx
new file mode 100644
index 0000000..ba886b0
--- /dev/null
+++ b/docs-sdk/markdown-renderer/src/MarkdownComponents/heading.tsx
@@ -0,0 +1,79 @@
+import React from "react";
+import styled from "styled-components";
+import HeaderWithAnchor from "./HeaderWithAnchor";
+
+function getHeading(level) {
+  return ({ children, id, className }) => {
+    return (
+      <HeaderWithAnchor
+        className={mergeClsName(className, "cc-doc-toc")}
+        level={level}
+        id={id}
+      >
+        {children}
+      </HeaderWithAnchor>
+    );
+  };
+}
+
+const shared = `
+  font-weight: 600;
+  line-height: 1.25;
+  margin-bottom: 16px;
+  margin-top: 24px;
+  color: #181818;
+  line-height: 30px;
+`;
+
+const headings = {
+  heading: ({ level, ...rest }) => {
+    switch (level) {
+      case 1:
+        return <headings.h1 {...(rest as any)} />;
+      case 2:
+        return <headings.h2 {...(rest as any)} />;
+      case 3:
+        return <headings.h3 {...(rest as any)} />;
+      case 4:
+        return <headings.h4 {...(rest as any)} />;
+      case 5:
+        return <headings.h5 {...(rest as any)} />;
+      case 6:
+        return <headings.h6 {...(rest as any)} />;
+      default:
+        break;
+    }
+  },
+  h1: styled(getHeading(1))`
+    ${shared};
+    font-size: 2em;
+    margin: 0.67em 0;
+    border-bottom: 1px solid #eaecef;
+    padding-bottom: 0.3em;
+  `,
+  h2: styled(getHeading(2))`
+    ${shared};
+    font-size: 24px;
+    margin: 24px 0;
+  `,
+  h3: styled(getHeading(3))`
+    ${shared};
+    font-size: 18px;
+    margin: 10px 0 5px;
+  `,
+  h4: styled(getHeading(4))`
+    font-weight: bold;
+  `,
+  h5: styled(getHeading(5))`
+    font-weight: bold;
+  `,
+  h6: styled(getHeading(6))`
+    font-weight: bold;
+  `
+};
+
+function mergeClsName(...clsNames) {
+  return clsNames.filter(Boolean).join(" ");
+}
+
+export default headings;
diff --git a/docs-sdk/markdown-renderer/src/MarkdownComponents/index.tsx b/docs-sdk/markdown-renderer/src/MarkdownComponents/index.tsx
new file mode 100644
index 0000000..0cf90c3
--- /dev/null
+++ b/docs-sdk/markdown-renderer/src/MarkdownComponents/index.tsx
@@ -0,0 +1,76 @@
+import styled from "styled-components";
+import heading from "./heading";
+import code from "./code";
+import list from "./list";
+import table from "./table";
+import anchor from "./anchor";
+
+// 模仿github渲染markdown的样式
+// 样式参考 https://github.com/sindresorhus/github-markdown-css/blob/gh-pages/github-markdown.css
+
+const Paragraph = styled.p`
+  margin: 12px 0;
+  padding: 0;
+  font-size: 14px;
+  line-height: 2;
+  color: #333333;
+  > img {
+    display: block;
+    max-width: 80%;
+    max-height: 500px;
+    margin: 20px auto;
+    cursor: pointer;
+  }
+`;
+
+const Blockquote = styled.blockquote`
+  border-left: 5px solid #c9c9c9;
+  margin: 10px 0;
+  padding: 1px 20px;
+  line-height: 1.67;
+  color: #d3d3d3;
+  > p {
+    margin: 10px 0;
+    color: #999999;
+  }
+`;
+
+const HR = styled.hr`
+  box-sizing: content-box;
+  background: transparent;
+  border-bottom: 1px solid #dfe2e5;
+  overflow: hidden;
+  background-color: #e1e4e8;
+  border: 0;
+  height: 0.25em;
+  margin: 24px 0;
+  padding: 0;
+  border-bottom-color: #eee;
+
+  &:before {
+    content: "";
+    display: table;
+  }
+  &:after {
+    clear: both;
+    content: "";
+    display: table;
+  }
+`;
+
+const Image = styled.img`
+  max-width: 100%;
+`;
+
+export default {
+  paragraph: Paragraph,
+  p: Paragraph,
+  blockquote: Blockquote,
+  thematicBreak: HR,
+  img: Image,
+  ...heading,
+  ...code,
+  ...list,
+  ...table,
+  ...anchor
+};
diff --git a/docs-sdk/markdown-renderer/src/MarkdownComponents/list.tsx b/docs-sdk/markdown-renderer/src/MarkdownComponents/list.tsx
new file mode 100644
index 0000000..49a6943
--- /dev/null
+++ b/docs-sdk/markdown-renderer/src/MarkdownComponents/list.tsx
@@ -0,0 +1,53 @@
+import React from "react";
+import styled from "styled-components";
+
+const shared = `
+  margin-bottom: 16px;
+  margin-top: 0;
+  padding-left: 2em;
+  display: block;
+  margin-block-start: 1em;
+  margin-block-end: 1em;
+  margin-inline-start: 0px;
+  margin-inline-end: 0px;
+  padding-inline-start: 40px;
+`;
+
+const LI = styled.li`
+  word-wrap: break-all;
+  & > p {
+    margin-top: 16px;
+  }
+  & + & {
+    margin-top: 0.25em;
+  }
+`;
+
+const OL = styled.ol`
+  ${shared};
+  ${LI} {
+    list-style: decimal;
+  }
+`;
+
+const UL = styled.ul`
+  ${shared};
+  ${LI} {
+    list-style: disc;
+  }
+`;
+
+const lists = {
+  list: ({ ordered, ...rest }) => {
+    if (ordered) {
+      return <lists.ol {...rest} />;
+    }
+    return <lists.ul {...rest} />;
+  },
+  listItem: LI,
+  ul: UL,
+  ol: OL,
+  li: LI,
+};
+
+export default lists;
diff --git a/docs-sdk/markdown-renderer/src/MarkdownComponents/table.tsx b/docs-sdk/markdown-renderer/src/MarkdownComponents/table.tsx
new file mode 100644
index 0000000..6682869
--- /dev/null
+++ b/docs-sdk/markdown-renderer/src/MarkdownComponents/table.tsx
@@ -0,0 +1,45 @@
+import styled from "styled-components";
+
+const table = styled.table`
+  width: 100%;
+  background: #ffffff;
+  border-spacing: 0;
+  margin: 20px 0;
+  border-top: 1px solid #e3e3e3;
+  border-left: 1px solid #e3e3e3;
+`;
+
+const tableHead = styled.thead`
+  th {
+    font-weight: bold;
+    background: #f7f7f7;
+    color: #181818;
+    font-size: 14px;
+    line-height: 20px;
+    padding: 10px;
+    border-bottom: 1px solid #e3e3e3;
+    border-right: 1px solid #e3e3e3;
+    text-align: left;
+  }
+`;
+
+const tableBody = styled.tbody`
+  td {
+    padding: 10px;
+    color: #181818;
+    font-size: 14px;
+    line-height: 1.67;
+    border-bottom: 1px solid #e3e3e3;
+    border-right: 1px solid #e3e3e3;
+    text-align: left;
+    min-width: 100px;
+  }
+`;
+
+export default {
+  table,
+  tableHead,
+  thead: tableHead,
+  tableBody,
+  tbody: tableBody
+};
diff --git a/docs-sdk/markdown-renderer/src/index.tsx b/docs-sdk/markdown-renderer/src/index.tsx
new file mode 100644
index 0000000..1ea1a4c
--- /dev/null
+++ b/docs-sdk/markdown-renderer/src/index.tsx
@@ -0,0 +1,185 @@
+import React, { useMemo, useState, useCallback, useRef } from "react";
+import mdComps from "./MarkdownComponents";
+import unified from "unified";
+import remarkParse from "remark-parse";
+import gfm from "remark-gfm";
+import remark2rehype from "remark-rehype";
+import rehypeRaw from "rehype-raw";
+import sanitize from "rehype-sanitize";
+import rehypeSlug from "rehype-slug";
+import rehype2react from "rehype-react";
+import visit from "unist-util-visit-parents";
+import Layout from "./Layout";
+import { useTOC } from "./utils/useTOC";
+// @ts-ignore
+import githubSanitizeSchema from "hast-util-sanitize/lib/github.json";
+
+import { IDemoOpts } from "@alicloud/console-toolkit-docs-consumer";
+import { useScrollToAnchor } from "./utils/useScrollToAnchor";
+
+export const ctx = React.createContext<any>({});
+
+/** 打包md文档得到的模块 */
+export interface IOriginalMdxModule {
+  default: React.FC;
+}
+
+export const markdownComponents = mdComps;
+
+export interface IProps {
+  source: string;
+  components?: any;
+  remarkPlugins?: any[];
+  rehypePlugins?: any[];
+  toc?: boolean;
+  embedded?: boolean;
+  resolveAppServePath?: (consoleOSId: string) => string;
+  resolveAppDeps?: (consoleOSId: string) => any;
+  resolveDemoOpts?: (consoleOSId: string) => IDemoOpts;
+}
+
+export const MarkdownRenderer: React.FC<IProps> = ({
+  source,
+  remarkPlugins = [],
+  rehypePlugins = [],
+  components,
+  toc = false,
+  embedded = false,
+  resolveAppServePath,
+  resolveAppDeps,
+  resolveDemoOpts,
+}) => {
+  const compiledJSX = useMemo(() => {
+    const actualComponents = {
+      ...mdComps,
+      ...components,
+    };
+
+    const jsx = unified()
+      .use(remarkParse)
+      .use(gfm)
+      .use(remarkPlugins)
+      .use(remark2rehype, {
+        allowDangerousHtml: true,
+        handlers: {
+          inlineCode(h, node) {
+            return Object.assign({}, node, {
+              type: "element",
+              tagName: "inlinecode",
+              properties: {},
+              children: [
+                {
+                  type: "text",
+                  value: node.value,
+                },
+              ],
+            });
+          },
+        },
+      })
+      .use(rehypeRaw)
+      .use(sanitize, {
+        clobber: [],
+        tagNames: [...githubSanitizeSchema.tagNames, "inlinecode"],
+        attributes: {
+          ...githubSanitizeSchema.attributes,
+          "*": ["className", ...githubSanitizeSchema.attributes["*"]],
+        },
+      })
+      .use(rehypeSlug)
+      .use(rehypePlugins)
+      .use(transformLinkNode)
+      // .use(debugPlugin, "re2")
+      .use(rehype2react, {
+        createElement: React.createElement,
+        Fragment: React.Fragment,
+        components: actualComponents,
+      })
+      .processSync(source).result as React.ReactElement;
+
+    return jsx;
+
+    // 仅在source更新时重新编译markdown
+  }, [source]);
+
+  const ctnRef = useRef<HTMLDivElement>(null);
+
+  const { headings, check } = useTOC(toc, ctnRef);
+  const scrollToAnchor = useScrollToAnchor(ctnRef);
+
+  const ctxValue = useMemo(() => {
+    return {
+      checkHeadings: check,
+      resolveAppServePath,
+      resolveAppDeps,
+      resolveDemoOpts,
+      scrollToAnchor,
+    };
+  }, [
+    check,
+    resolveAppServePath,
+    resolveAppDeps,
+    resolveDemoOpts,
+    scrollToAnchor,
+  ]);
+
+  if (embedded) {
+    return (
+      <ctx.Provider value={ctxValue}>
+        <div className="markdown-embedded" ref={ctnRef}>
+          {compiledJSX}
+        </div>
+      </ctx.Provider>
+    );
+  }
+
+  return (
+    <ctx.Provider value={ctxValue}>
+      <Layout ctnRef={ctnRef} headings={headings}>
+        {compiledJSX}
+      </Layout>
+    </ctx.Provider>
+  );
+};
+
+function debugPlugin(name: string) {
+  return (tree, vfile) => {
+    debugger;
+  };
+}
+
+function transformLinkNode() {
+  return (tree, vfile) => {
+    visit(
+      tree,
+      ((node) => node.type === "element" && node.tagName === "a") as any,
+      (node: any, ancestors: any[]) => {
+        if (Array.isArray(node.children) && node.children.length === 1) {
+          const linkTextNode = node.children[0];
+          if (
+            linkTextNode.type === "text" &&
+            (linkTextNode.value.startsWith("$XView") ||
+              linkTextNode.value.startsWith("$XDemo"))
+          ) {
+            const parent = ancestors[ancestors.length - 1];
+            parent.children.splice(parent.children.indexOf(node), 1);
+            // 先将找到的内联demo按顺序存到【顶层祖先元素】的数组中，
+            // 最后一起将内联demo加到【顶层祖先元素】后面
+            // （如果找到一个demo马上append，会造成当一个段落包含多个demo时，最终append的顺序逆转）
+            ancestors[1]._toBeAppended = ancestors[1]._toBeAppended ?? [];
+            ancestors[1]._toBeAppended.push(node);
+          }
+        }
+        return visit.CONTINUE;
+      }
+    );
+
+    for (let i = 0; i < tree.children.length; ++i) {
+      const node = tree.children[i];
+      if (Array.isArray(node._toBeAppended)) {
+        tree.children.splice(i + 1, 0, ...node._toBeAppended);
+      }
+      delete node._toBeAppended;
+    }
+  };
+}
diff --git a/docs-sdk/markdown-renderer/src/utils/getScrollParent.ts b/docs-sdk/markdown-renderer/src/utils/getScrollParent.ts
new file mode 100644
index 0000000..4eb3530
--- /dev/null
+++ b/docs-sdk/markdown-renderer/src/utils/getScrollParent.ts
@@ -0,0 +1,15 @@
+// https://gist.github.com/twxia/bb20843c495a49644be6ea3804c0d775#gistcomment-2899112
+
+const REGEXP_SCROLL_PARENT = /^(visible|hidden)/
+
+const getScrollParent = el =>
+  !(el instanceof HTMLElement) || typeof window.getComputedStyle !== 'function'
+    ? null
+    : el.scrollHeight >= el.clientHeight &&
+      !REGEXP_SCROLL_PARENT.test(
+        window.getComputedStyle(el).overflowY || 'visible'
+      )
+    ? el
+    : getScrollParent(el.parentElement) || window
+
+export default getScrollParent
diff --git a/docs-sdk/markdown-renderer/src/utils/useScrollToAnchor.ts b/docs-sdk/markdown-renderer/src/utils/useScrollToAnchor.ts
new file mode 100644
index 0000000..b550c13
--- /dev/null
+++ b/docs-sdk/markdown-renderer/src/utils/useScrollToAnchor.ts
@@ -0,0 +1,24 @@
+import { useCallback, useState } from "react";
+
+export function useScrollToAnchor(ctnRef: React.RefObject<HTMLDivElement>) {
+  // 当成功加载内部微应用的时候，根据url hash，滚动到对应的元素
+  const [alreadyScrollToHashAnchor, setAlreadyScrollToHashAnchor] = useState(
+    false
+  );
+  const scrollToAnchor = useCallback(() => {
+    if (!ctnRef.current) return;
+    if (alreadyScrollToHashAnchor) return;
+    const hash = window.location.hash;
+    if (!hash) return;
+    let el;
+    try {
+      el = ctnRef.current.querySelector(decodeURIComponent(hash));
+    } catch (error) {}
+    if (el) {
+      setAlreadyScrollToHashAnchor(true);
+      window.location.hash = "#";
+      window.location.hash = hash;
+    }
+  }, [alreadyScrollToHashAnchor]);
+  return scrollToAnchor;
+}
diff --git a/docs-sdk/markdown-renderer/src/utils/useTOC.ts b/docs-sdk/markdown-renderer/src/utils/useTOC.ts
new file mode 100644
index 0000000..23eb048
--- /dev/null
+++ b/docs-sdk/markdown-renderer/src/utils/useTOC.ts
@@ -0,0 +1,64 @@
+import React, { useEffect, useRef, useState, useCallback } from "react";
+import debounce from "lodash.debounce";
+import isequal from "lodash.isequal";
+import { ITocHeading } from "../Layout/TableOfContent";
+
+export function useTOC(enable = false, ctnRef: React.RefObject<HTMLDivElement>) {
+  const [headings, setHeadings] = useState<ITocHeading[]>([]);
+
+  const check = useCallback(
+    debounce(() => {
+      if (!ctnRef.current || !enable) return;
+      const headingEls: HTMLElement[] = Array.from(
+        ctnRef.current.querySelectorAll(".cc-doc-toc")
+      );
+      setHeadings(oldHeadings => {
+        const newHeadings = headingEls.reduce<ITocHeading[]>((acc, el) => {
+          const match = /h(\d)/i.exec(el.tagName || el.nodeName);
+          if (match && el.textContent && el.id) {
+            acc.push({
+              depth: Number(match[1]),
+              id: el.id,
+              text: el.textContent
+            });
+          }
+          return acc;
+        }, []);
+        // 避免无限重刷
+        if (isequal(newHeadings, oldHeadings)) return oldHeadings;
+        return newHeadings;
+      });
+    }, 100),
+    [enable]
+  );
+
+  useEffect(() => {
+    if (enable) check();
+  });
+  // 通过MutationObserver来监听子元素的变化，调用check
+  // 可能会有性能问题，暂时用useEffect
+  // useEffect(() => {
+  //   const observer = new MutationObserver((mutList) => {
+  //     mutList.forEach((mut) => {
+  //       if (mut.type === 'childList') {
+  //         const needCheck = Array.from(mut.addedNodes)
+  //           .concat(Array.from(mut.removedNodes))
+  //           .some((node) => {
+  //             if (
+  //               node instanceof HTMLElement &&
+  //               (node.className.includes('cc-doc-toc') ||
+  //                 node.querySelector('.cc-doc-toc'))
+  //             )
+  //               return true
+  //             return false
+  //           })
+  //         if (needCheck) check()
+  //       }
+  //     })
+  //   })
+  //   observer.observe(ctnRef.current!, { childList: true, subtree: true })
+  //   check()
+  // }, [])
+
+  return { ctnRef, headings, check };
+}
diff --git a/docs-sdk/markdown-renderer/tsconfig.json b/docs-sdk/markdown-renderer/tsconfig.json
new file mode 100644
index 0000000..49fbb89
--- /dev/null
+++ b/docs-sdk/markdown-renderer/tsconfig.json
@@ -0,0 +1,69 @@
+{
+  "compilerOptions": {
+    /* Visit https://aka.ms/tsconfig.json to read more about this file */
+
+    /* Basic Options */
+    // "incremental": true,                   /* Enable incremental compilation */
+    "target": "es5",                          /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
+    "module": "es2020",                     /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
+    // "lib": [],                             /* Specify library files to be included in the compilation. */
+    // "allowJs": true,                       /* Allow javascript files to be compiled. */
+    // "checkJs": true,                       /* Report errors in .js files. */
+    "jsx": "react",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
+    "declaration": true,                   /* Generates corresponding '.d.ts' file. */
+    // "declarationMap": true,                /* Generates a sourcemap for each corresponding '.d.ts' file. */
+    "sourceMap": true,                     /* Generates corresponding '.map' file. */
+    // "outFile": "./",                       /* Concatenate and emit output to single file. */
+    "outDir": "./lib",                        /* Redirect output structure to the directory. */
+    // "rootDir": "./",                       /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
+    // "composite": true,                     /* Enable project compilation */
+    // "tsBuildInfoFile": "./",               /* Specify file to store incremental compilation information */
+    // "removeComments": true,                /* Do not emit comments to output. */
+    // "noEmit": true,                        /* Do not emit outputs. */
+    // "importHelpers": true,                 /* Import emit helpers from 'tslib'. */
+    // "downlevelIteration": true,            /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
+    // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
+
+    /* Strict Type-Checking Options */
+    "strict": true,                           /* Enable all strict type-checking options. */
+    "noImplicitAny": false,                 /* Raise error on expressions and declarations with an implied 'any' type. */
+    // "strictNullChecks": true,              /* Enable strict null checks. */
+    // "strictFunctionTypes": true,           /* Enable strict checking of function types. */
+    // "strictBindCallApply": true,           /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
+    // "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */
+    // "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */
+    // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */
+
+    /* Additional Checks */
+    // "noUnusedLocals": true,                /* Report errors on unused locals. */
+    // "noUnusedParameters": true,            /* Report errors on unused parameters. */
+    // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */
+    // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */
+
+    /* Module Resolution Options */
+    "moduleResolution": "node",            /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
+    // "baseUrl": "./",                       /* Base directory to resolve non-absolute module names. */
+    // "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
+    // "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
+    // "typeRoots": [],                       /* List of folders to include type definitions from. */
+    // "types": [],                           /* Type declaration files to be included in compilation. */
+    // "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
+    "esModuleInterop": true,                  /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
+    // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
+    // "allowUmdGlobalAccess": true,          /* Allow accessing UMD globals from modules. */
+
+    /* Source Map Options */
+    // "sourceRoot": "",                      /* Specify the location where debugger should locate TypeScript files instead of source locations. */
+    // "mapRoot": "",                         /* Specify the location where debugger should locate map files instead of generated locations. */
+    // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */
+    // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
+
+    /* Experimental Options */
+    // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */
+    // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */
+
+    /* Advanced Options */
+    "skipLibCheck": true,                     /* Skip type checking of declaration files. */
+    "forceConsistentCasingInFileNames": true  /* Disallow inconsistently-cased references to the same file. */
+  }
+}
diff --git a/docs-sdk/package.json b/docs-sdk/package.json
new file mode 100644
index 0000000..50fccb1
--- /dev/null
+++ b/docs-sdk/package.json
@@ -0,0 +1,17 @@
+{
+  "name": "root",
+  "private": true,
+  "version": "1.0.0",
+  "license": "MIT",
+  "scripts": {
+    "ver": "pnpm recursive --filter !{examples} --filter !root --filter [origin/preset-demos] exec -- npm version",
+    "ver:p": "npm run ver -- patch",
+    "ver:mi": "npm run ver -- minor",
+    "pub": "pnpm publish --filter !{examples} --publish-branch preset-demos",
+    "update-deps": "pnpm --recursive update -i -L",
+    "sync": "pnpm recursive --filter !{examples} --filter !root --no-sort --workspace-concurrency=Infinity exec -- tnpm sync"
+  },
+  "devDependencies": {
+    "prettier": "^2.2.1"
+  }
+}
diff --git a/docs-sdk/pnpm-lock.yaml b/docs-sdk/pnpm-lock.yaml
new file mode 100644
index 0000000..083b8f5
--- /dev/null
+++ b/docs-sdk/pnpm-lock.yaml
@@ -0,0 +1,17435 @@
+importers:
+  .:
+    devDependencies:
+      prettier: 2.2.1
+    specifiers:
+      prettier: ^2.2.1
+  docs-consumer:
+    dependencies:
+      '@alicloud/console-os-react-app': 0.4.1_react@17.0.1
+      '@alicloud/console-toolkit-docs-shared': 'link:../shared'
+      query-string: 6.13.8
+    devDependencies:
+      '@alicloud/console-toolkit-cli': 1.2.0
+      '@alicloud/console-toolkit-preset-docs': 'link:../docs-provider'
+      '@alicloud/console-toolkit-preset-official': 1.2.8_4695a47c40ef995f48f8c834d2fb82ec
+      '@types/react': 17.0.0
+      '@types/react-dom': 17.0.0
+      react: 17.0.1
+      react-dom: 17.0.1_react@17.0.1
+      typescript: 4.1.3
+    specifiers:
+      '@alicloud/console-os-react-app': 0.4.1
+      '@alicloud/console-toolkit-cli': ^1.2.0
+      '@alicloud/console-toolkit-docs-shared': 'workspace:^1.0.0'
+      '@alicloud/console-toolkit-preset-docs': 'workspace:*'
+      '@alicloud/console-toolkit-preset-official': ^1.2.8
+      '@types/react': ^17.0.0
+      '@types/react-dom': ^17.0.0
+      query-string: ^6.13.8
+      react: ^17.0.1
+      react-dom: ^17.0.1
+      typescript: ^4.1.3
+  docs-provider:
+    dependencies:
+      '@alicloud/console-os-react-portal': 0.4.1
+      '@alicloud/console-toolkit-docs-consumer': 'link:../docs-consumer'
+      '@alicloud/console-toolkit-docs-shared': 'link:../shared'
+      '@alicloud/console-toolkit-fusion-css-loader': 'link:../fusion-css-loader'
+      '@alicloud/console-toolkit-markdown-renderer': 'link:../markdown-renderer'
+      '@alicloud/console-toolkit-plugin-os': 0.4.2_@babel+core@7.12.10
+      '@alicloud/console-toolkit-preset-official': 1.2.8_8d56ec2c39966f19981a869c2b9480fc
+      '@alicloud/console-toolkit-shared-utils': 1.0.16_@babel+core@7.12.10
+      '@babel/core': 7.12.10
+      '@babel/plugin-transform-modules-amd': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-react-jsx': 7.12.12_@babel+core@7.12.10
+      '@babel/preset-typescript': 7.12.7_@babel+core@7.12.10
+      ali-oss: 6.13.2
+      codemirror: 5.59.2
+      connect-history-api-fallback: 1.6.0
+      copy-to-clipboard: 3.3.1
+      execa: 5.0.0
+      fs-extra: 9.1.0
+      get-port: 5.1.1
+      gray-matter: 4.0.2
+      http-proxy-middleware: 1.0.6
+      jest-docblock: 26.0.0
+      open: 7.3.1
+      query-string: 6.13.8
+      raw-loader: 4.0.2
+      rc-dialog: 8.5.2
+      react-animate-height: 2.0.23
+      react-codemirror2: 7.2.1_codemirror@5.59.2
+      react-error-boundary: 3.1.0
+      react-hot-toast: 1.0.2
+      webpack-chain: 6.5.1
+      webpack-virtual-modules: 0.4.2
+    devDependencies:
+      '@alicloud/console-toolkit-cli': 1.2.0
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@types/fs-extra': 9.0.6
+      '@types/node': 14.14.22
+      '@types/react': 17.0.0
+      '@types/styled-components': 5.1.7
+      globby: 11.0.2
+      rimraf: 3.0.2
+      typescript: 4.1.3
+    specifiers:
+      '@alicloud/console-os-react-portal': 0.4.1
+      '@alicloud/console-toolkit-cli': ^1.2.0
+      '@alicloud/console-toolkit-core': ^1.1.3
+      '@alicloud/console-toolkit-docs-consumer': 'workspace:^1.0.0'
+      '@alicloud/console-toolkit-docs-shared': 'workspace:^1.0.0'
+      '@alicloud/console-toolkit-fusion-css-loader': 'workspace:^1.0.0'
+      '@alicloud/console-toolkit-markdown-renderer': 'workspace:^3.0.0'
+      '@alicloud/console-toolkit-plugin-os': 0.4.2
+      '@alicloud/console-toolkit-preset-official': 1.2.8
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      '@babel/core': ^7.12.10
+      '@babel/plugin-transform-modules-amd': ^7.12.1
+      '@babel/plugin-transform-react-jsx': ^7.12.12
+      '@babel/preset-typescript': ^7.12.7
+      '@types/fs-extra': ^9.0.6
+      '@types/node': ^14.14.22
+      '@types/react': ^17.0.0
+      '@types/styled-components': ^5.1.7
+      ali-oss: ^6.13.2
+      codemirror: ^5.59.2
+      connect-history-api-fallback: ^1.6.0
+      copy-to-clipboard: ^3.3.1
+      execa: ^5.0.0
+      fs-extra: ^9.1.0
+      get-port: ^5.1.1
+      globby: ^11.0.2
+      gray-matter: ^4.0.2
+      http-proxy-middleware: ^1.0.6
+      jest-docblock: ^26.0.0
+      open: ^7.3.1
+      query-string: ^6.13.8
+      raw-loader: ^4.0.2
+      rc-dialog: ^8.5.2
+      react-animate-height: ^2.0.23
+      react-codemirror2: ^7.2.1
+      react-error-boundary: ^3.1.0
+      react-hot-toast: ^1.0.2
+      rimraf: ^3.0.2
+      typescript: ^4.1.3
+      webpack-chain: ^6.5.1
+      webpack-virtual-modules: ^0.4.2
+  examples/docs-consumer:
+    dependencies:
+      '@alicloud/console-toolkit-cli': 1.2.0
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-docs-consumer': 'link:../../docs-consumer'
+      '@alicloud/console-toolkit-preset-official': 1.2.8
+    specifiers:
+      '@alicloud/console-toolkit-cli': ^1.2.0
+      '@alicloud/console-toolkit-core': ^1.1.0
+      '@alicloud/console-toolkit-docs-consumer': 'workspace:*'
+      '@alicloud/console-toolkit-preset-official': ^1.2.8
+  examples/docs-provider:
+    dependencies:
+      '@alicloud/console-toolkit-cli': 1.2.0
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-preset-docs': 'link:../../docs-provider'
+      react: 17.0.1
+      react-dom: 17.0.1_react@17.0.1
+    specifiers:
+      '@alicloud/console-toolkit-cli': ^1.2.0
+      '@alicloud/console-toolkit-core': ^1.1.0
+      '@alicloud/console-toolkit-preset-docs': 'workspace:*'
+      react: ^17.0.1
+      react-dom: ^17.0.1
+  examples/markdown-renderer:
+    dependencies:
+      '@alicloud/console-components': 1.4.0-alpha.11_react-dom@17.0.1+react@17.0.1
+      '@alicloud/console-toolkit-cli': 1.2.0
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-markdown-renderer': 'link:../../markdown-renderer'
+      '@alicloud/console-toolkit-preset-official': 1.2.8_react-dom@17.0.1+react@17.0.1
+      react: 17.0.1
+      react-dom: 17.0.1_react@17.0.1
+    specifiers:
+      '@alicloud/console-components': ^1.4.0-alpha.11
+      '@alicloud/console-toolkit-cli': ^1.2.0
+      '@alicloud/console-toolkit-core': ^1.1.0
+      '@alicloud/console-toolkit-markdown-renderer': 'workspace:*'
+      '@alicloud/console-toolkit-preset-official': ^1.2.8
+      react: ^17.0.1
+      react-dom: ^17.0.1
+  fusion-css-loader:
+    dependencies:
+      loader-utils: 2.0.0
+      pascal-case: 3.1.2
+      postcss: 8.2.4
+      query-string: 6.13.8
+      semver: 7.3.4
+    devDependencies:
+      '@types/node': 14.14.22
+      css-loader: 5.0.1_webpack@4.44.2
+      mini-css-extract-plugin: 1.3.5_webpack@4.44.2
+      style-loader: 2.0.0_webpack@4.44.2
+      typescript: 4.1.3
+      webpack: 4.44.2_webpack-cli@4.4.0
+      webpack-cli: 4.4.0_webpack@4.44.2
+    specifiers:
+      '@types/node': ^14.14.22
+      css-loader: ^5.0.0
+      loader-utils: ^2.0.0
+      mini-css-extract-plugin: ^1.3.5
+      pascal-case: ^3.1.2
+      postcss: ^8.2.4
+      query-string: ^6.13.8
+      semver: ^7.3.4
+      style-loader: ^2.0.0
+      typescript: ^4.1.3
+      webpack: ^4.0.0
+      webpack-cli: ^4.4.0
+  markdown-renderer:
+    dependencies:
+      '@alicloud/console-toolkit-docs-consumer': 'link:../docs-consumer'
+      '@mdx-js/mdx': 1.6.22
+      '@mdx-js/react': 1.6.22
+      classnames: 2.2.6
+      lodash.debounce: 4.0.8
+      lodash.isequal: 4.5.0
+      query-string: 6.13.8
+      react-syntax-highlighter: 15.4.3
+      rehype-raw: 5.0.0
+      rehype-react: 6.2.0
+      rehype-sanitize: 4.0.0
+      rehype-slug: 4.0.1
+      remark-gfm: 1.0.0
+      remark-parse: 9.0.0
+      remark-react: 8.0.0
+      remark-rehype: 8.0.0
+      remark-slug: 6.0.0
+      styled-components: 4.4.1
+      unified: 9.2.0
+      unist-util-visit-parents: 3.1.1
+    devDependencies:
+      '@alicloud/console-toolkit-cli': 1.2.0
+      '@alicloud/console-toolkit-preset-official': 1.2.8_8d56ec2c39966f19981a869c2b9480fc
+      '@babel/cli': 7.12.10_@babel+core@7.12.10
+      '@babel/core': 7.12.10
+      '@babel/preset-env': 7.12.11_@babel+core@7.12.10
+      '@babel/preset-react': 7.12.10_@babel+core@7.12.10
+      '@babel/preset-typescript': 7.12.7_@babel+core@7.12.10
+      '@quickbaseoss/babel-plugin-styled-components-css-namespace': 1.0.1_styled-components@4.4.1
+      '@types/react': 17.0.0
+      '@types/react-dom': 17.0.0
+      '@types/styled-components': 5.1.7
+      typescript: 4.1.3
+    specifiers:
+      '@alicloud/console-toolkit-cli': ^1.2.0
+      '@alicloud/console-toolkit-docs-consumer': 'workspace:^1.0.0'
+      '@alicloud/console-toolkit-preset-official': ^1.2.8
+      '@babel/cli': ^7.12.10
+      '@babel/core': ^7.12.10
+      '@babel/preset-env': ^7.12.11
+      '@babel/preset-react': ^7.12.10
+      '@babel/preset-typescript': ^7.12.7
+      '@mdx-js/mdx': ^1.6.22
+      '@mdx-js/react': ^1.6.22
+      '@quickbaseoss/babel-plugin-styled-components-css-namespace': ^1.0.1
+      '@types/react': ^17.0.0
+      '@types/react-dom': ^17.0.0
+      '@types/styled-components': ^5.1.7
+      classnames: ^2.2.6
+      lodash.debounce: ^4.0.8
+      lodash.isequal: ^4.5.0
+      query-string: ^6.13.8
+      react-syntax-highlighter: ^15.4.3
+      rehype-raw: ^5.0.0
+      rehype-react: ^6.2.0
+      rehype-sanitize: ^4.0.0
+      rehype-slug: ^4.0.1
+      remark-gfm: ^1.0.0
+      remark-parse: ^9.0.0
+      remark-react: ^8.0.0
+      remark-rehype: ^8.0.0
+      remark-slug: ^6.0.0
+      styled-components: '>=4.0.0'
+      typescript: ^4.1.3
+      unified: ^9.2.0
+      unist-util-visit-parents: ^3.1.1
+  shared:
+    devDependencies:
+      '@types/react': 17.0.0
+      typescript: 4.1.3
+    specifiers:
+      '@types/react': ^17.0.0
+      typescript: ^4.1.3
+  site:
+    dependencies:
+      next: 10.0.5_c39e9db791ea05e3ec4e0e74abb7a6b5
+      react: 17.0.1
+      react-dom: 17.0.1_react@17.0.1
+    devDependencies:
+      typescript: 4.1.3
+    specifiers:
+      next: ^10.0.5
+      react: ^17.0.1
+      react-dom: ^17.0.1
+      typescript: ^4.1.3
+lockfileVersion: 5.2
+packages:
+  /@alicloud/console-components/1.4.0-alpha.11_react-dom@17.0.1+react@17.0.1:
+    dependencies:
+      '@alifd/next': 1.21.8_react-dom@17.0.1+react@17.0.1
+      classnames: 2.2.6
+      hoist-non-react-statics: 3.3.2
+      react: 17.0.1
+      react-dom: 17.0.1_react@17.0.1
+      react-loading-skeleton: 2.1.1_react@17.0.1
+    dev: false
+    peerDependencies:
+      moment: ^2.21.0
+      prop-types: ^15.6.1
+      react: ^16.2.0
+      react-dom: ^16.2.0
+    resolution:
+      integrity: sha512-dogt2mgKw/qPgBs5IDFH+7Z2vtyLm9xMMxf+nB4GNwUZmoH0SSTlhldRRsU6CVjUHP9cBwa/np8kigxtdEdqTg==
+  /@alicloud/console-os-browser-vm/0.4.1:
+    dev: false
+    resolution:
+      integrity: sha512-rrLWuuSjKtcaQRHu6JC7h7c/XagE9n5VtJujVV1cQRUy+bD4pz7YNLDOeeO8zRs79Zks6Ky1ckgIQ4dxc5PG+g==
+  /@alicloud/console-os-events/0.4.1:
+    dev: false
+    resolution:
+      integrity: sha512-1B0u/yGT6fUsczs45YUJIhOVuS4MS1UsSKLgQdR+D3V6AICd7srPlV1HAeSSOM2psdxlHh1y0rPVH1T8gw8MSQ==
+  /@alicloud/console-os-kernal/0.4.1:
+    dependencies:
+      '@alicloud/console-os-browser-vm': 0.4.1
+      '@alicloud/console-os-events': 0.4.1
+      '@alicloud/console-os-loader': 0.4.1
+      '@types/lru-cache': 5.1.0
+      axios: 0.19.2
+      lru-cache: 4.1.5
+      os-single-spa: 4.4.5
+    dev: false
+    resolution:
+      integrity: sha512-wDCAHr9wj1cooCmFxHzr761JktvQJQgkZl/fNuf4KgtQyGiWys5Jx8l79Z+1YdJ2+8YggIkTdKKZXbczE0oelw==
+  /@alicloud/console-os-loader/0.4.1:
+    dependencies:
+      debug: 4.3.1
+    dev: false
+    resolution:
+      integrity: sha512-TZEUOdTLB/PmHL5iRengkQXhMs6aYJS4cKFfOvLqza5K5IbotTpl9fjbIDKcW8z5yqnFrWpSA/Hf9Deo/H3aFw==
+  /@alicloud/console-os-react-app/0.4.1_react@17.0.1:
+    dependencies:
+      '@alicloud/console-os-kernal': 0.4.1
+      classnames: 2.2.6
+      react: 17.0.1
+    dev: false
+    peerDependencies:
+      react: ^16
+    resolution:
+      integrity: sha512-WK3v3yTBU0NXXNyTELeDJn2nm0ypFlv14RF8qp3JDC91ISZH1Fe4GYitnQ7L6qf997jqAv1HFXSKHoMNauRRVg==
+  /@alicloud/console-os-react-portal/0.4.1:
+    dependencies:
+      '@alicloud/console-os-events': 0.4.1
+      single-spa-react: 2.14.0
+    dev: false
+    peerDependencies:
+      react: ^16
+    resolution:
+      integrity: sha512-eokfpCqXZ5qmH3lzi47PfqPpjXnWau+NjW1vWNpUovTu1mv/iPD81FKxYt/IsW3tahu5OozLZiW2GG9EQUttyA==
+  /@alicloud/console-toolkit-cli/1.2.0:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-plugin-block': 1.1.3
+      '@alicloud/console-toolkit-plugin-builtin': 1.2.0
+      '@alicloud/console-toolkit-plugin-generator': 1.2.0
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      chalk: 2.4.2
+      commander: 3.0.2
+      debug: 4.3.1
+      figlet: 1.5.0
+      inquirer: 7.3.3
+      update-notifier: 3.0.1
+    hasBin: true
+    resolution:
+      integrity: sha512-kZTSiKUc3YlB39bKjtLD0M2/9GrcAueLGXeuO0VAkRzOY4qvMCaFm1QD2DN2TOdVvSjRW08YVReQkgNqgEuRUw==
+  /@alicloud/console-toolkit-core/1.1.3:
+    dependencies:
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      assert: 2.0.0
+      chalk: 2.4.2
+      debug: 4.2.0
+      extend2: 1.0.0
+      lodash: 4.17.20
+      package-json: 6.5.0
+      string.prototype.padend: 3.1.0
+    resolution:
+      integrity: sha512-WpbOy3udeu45PlbaPP1hCNiWNVd/XE9KACN+NztfLbuFnpbcv9ku5yWXaLMDRL/fOKEWAeBlyHFoIs10p1nAYg==
+  /@alicloud/console-toolkit-core/1.1.3_@babel+core@7.12.10:
+    dependencies:
+      '@alicloud/console-toolkit-shared-utils': 1.0.16_@babel+core@7.12.10
+      assert: 2.0.0
+      chalk: 2.4.2
+      debug: 4.2.0
+      extend2: 1.0.0
+      lodash: 4.17.20
+      package-json: 6.5.0
+      string.prototype.padend: 3.1.0
+    peerDependencies:
+      '@babel/core': '*'
+    resolution:
+      integrity: sha512-WpbOy3udeu45PlbaPP1hCNiWNVd/XE9KACN+NztfLbuFnpbcv9ku5yWXaLMDRL/fOKEWAeBlyHFoIs10p1nAYg==
+  /@alicloud/console-toolkit-plugin-arms/1.1.3:
+    dependencies:
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-68OCXZly622bUQ4UbpD94m5yTr5909x+nkmDjoBqY6FNgd/B6S+XYYMkjaYFLrwJHGdxWlm0TKVc+ug8wSesBg==
+  /@alicloud/console-toolkit-plugin-babel/1.1.3:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3_@babel+core@7.12.10
+      '@alicloud/console-toolkit-shared-utils': 1.0.16_@babel+core@7.12.10
+      '@babel/core': 7.12.10
+      assert: 2.0.0
+      chalk: 2.4.2
+      chokidar: 3.4.3
+      debug: 4.3.1
+      fs-readdir-recursive: 1.1.0
+      lodash: 4.17.20
+      mkdirp: 0.5.5
+      output-file-sync: 2.0.1
+      slash: 3.0.0
+    requiresBuild: true
+    resolution:
+      integrity: sha512-qo8LKBNNmRbbqf3shIFlPzGaE9IS0DWML5vrBjjDVM6nxu6BVfkZrvorhDrUi1oTkyWiP3Cj0BwQDJ8hUYRDlw==
+  /@alicloud/console-toolkit-plugin-block/1.1.3:
+    dependencies:
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      chalk: 2.4.2
+      execa: 2.1.0
+      lodash: 4.17.20
+      mkdirp: 0.5.5
+      ora: 3.4.0
+      package-json: 6.5.0
+      rimraf: 2.7.1
+      semver: 6.3.0
+      user-home: 2.0.0
+      yeoman-generator: 4.0.2
+    resolution:
+      integrity: sha512-8XYnHnRj9xh4bCtn5zZ4Rykg8LHxhBwSYRE5je2CinX1H2NU9x+G6FPkADGFP2DoxETgiIN6z1ESDPIEXCee0Q==
+  /@alicloud/console-toolkit-plugin-browser-hint/1.1.3:
+    dependencies:
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-i4Ac3YvrrJffz1QvsBZoE7Qi50CG9/Bf8Dwn/YfS33NkXd47WxRvwmeEdWhmTxy5lxdnU9DwoUZ64zeSpiLaHQ==
+  /@alicloud/console-toolkit-plugin-builtin/1.2.0:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-plugin-babel': 1.1.3
+      '@alicloud/console-toolkit-plugin-generator': 1.2.0
+      '@alicloud/console-toolkit-plugin-webpack': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      webpack-chain: 6.5.1
+    resolution:
+      integrity: sha512-BzUGX1ck0tywyYIt2Kt77LbE3apmRC9rUziCabYgrvh8JWWmHlc08YFrk+ZXLOjD3J+uNGIBmYLGLGV7eg/eLw==
+  /@alicloud/console-toolkit-plugin-cdn/1.1.3:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-YKJL5z0Gpl0ymLOr2n5knXa+Ti1syvZ6JWLspbkEC8vBxWwlBv0KPXdPTp/ngzVABhs+tlxKBUYL2bv4bguX3w==
+  /@alicloud/console-toolkit-plugin-console-base/1.2.1:
+    dependencies:
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-/57nbuzfwM0KzLnUvycS+hcp3zM83U+FoMCts7NF+3vqiLeaItIMz51fqJBI9VeJdQm5IISb4ObEA4WmdGhw+Q==
+  /@alicloud/console-toolkit-plugin-dll/1.1.3:
+    dependencies:
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      lodash: 4.17.20
+      rimraf: 3.0.2
+      serve-static: 1.14.1
+    resolution:
+      integrity: sha512-GAw/4xq7WXQh9lrJH723NlkjETjagPnRN00xzv+B2Ldqp59JNtvELlBuAu5VWHQD4HvbRg2qrXVrvF3oXIXePQ==
+  /@alicloud/console-toolkit-plugin-generator/1.2.0:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      '@alicloud/generator-breezr': 1.2.0
+      chalk: 2.4.2
+      execa: 2.1.0
+      lodash: 4.17.20
+      mkdirp: 0.5.5
+      ora: 3.4.0
+      package-json: 6.5.0
+      rimraf: 3.0.2
+      semver: 6.3.0
+      user-home: 2.0.0
+      yeoman-environment: 2.10.3
+    resolution:
+      integrity: sha512-muGI5iMiF+jyjCWVnfaQ19d50+DIUQ3HpIgTzRgIr7lKuVpPFclgMvjFlKOg1jYvedZqtVcLlVbla1KK45l+4w==
+  /@alicloud/console-toolkit-plugin-long-term-caching/1.1.3:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+    peerDependencies:
+      webpack: ^3 || ^4
+    resolution:
+      integrity: sha512-yr5EOo8Ttkeh/es3pQmAYHq4FrcHviDiLEe+o5og+GLCqemRx52jLM7tyfH0x5FNWW8JUkjKmCgIVXPricv/2A==
+  /@alicloud/console-toolkit-plugin-long-term-caching/1.1.3_@babel+core@7.12.10:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': '*'
+      webpack: ^3 || ^4
+    resolution:
+      integrity: sha512-yr5EOo8Ttkeh/es3pQmAYHq4FrcHviDiLEe+o5og+GLCqemRx52jLM7tyfH0x5FNWW8JUkjKmCgIVXPricv/2A==
+  /@alicloud/console-toolkit-plugin-mocks/1.2.5:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      body-parser: 1.19.0
+      chalk: 2.4.2
+      string.prototype.padend: 3.1.1
+      webpack: 4.46.0
+      webpack-chain: 6.5.1
+    resolution:
+      integrity: sha512-awVHbYkyuJ0TJRlzGvdu3PRCJxJM/42o41j8Mw7pr5w9btHA4bjL8MPV8mXHnGQXC22aXc48ZelW69TQZ1lAGw==
+  /@alicloud/console-toolkit-plugin-oneconsole/1.1.3:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      lodash: 4.17.20
+      query-string: 6.13.8
+      request-promise-native: 1.0.9
+      safe-require: 1.0.4
+    peerDependencies:
+      html-webpack-plugin: ^3
+    resolution:
+      integrity: sha512-Otr9ruDWUKF7U7dZffLfCYC/68HDY/yFLzc5C+1mwzXvejlAIx1U6wbJn9WF1k5nuT2qU7VnA8yDXtgFOIy33Q==
+  /@alicloud/console-toolkit-plugin-os/0.4.2_@babel+core@7.12.10:
+    dependencies:
+      '@alicloud/console-toolkit-shared-utils': 1.0.16_@babel+core@7.12.10
+      axios: 0.20.0
+      lodash: 4.17.20
+      package-json: 6.5.0
+      postcss-prefix-wrapper: 0.4.1
+      user-home: 2.0.0
+      webpack-assets-manifest: 3.1.1
+      webpack-sources: 1.4.3
+    dev: false
+    peerDependencies:
+      '@babel/core': '*'
+    resolution:
+      integrity: sha512-IXtVTxxz7VsNviCvDdnSJvZZ7MIpWiBL3OxRsE9RzP/dQlboT1tCgsKsd4ZqmNkk01PaVeAt/D4ZP+83Nqmwlw==
+  /@alicloud/console-toolkit-plugin-react/1.2.8:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16_@babel+core@7.12.10
+      '@babel/core': 7.12.10
+      assert: 1.5.0
+      autoprefixer: 9.8.6
+      babel-loader: 8.2.2_@babel+core@7.12.10
+      babel-polyfill: 6.26.0
+      babel-preset-breezr-wind: 1.1.3
+      cheerio: 1.0.0-rc.5
+      css-loader: 2.1.1
+      error-overlay-webpack-plugin: 0.4.1
+      es5-imcompatible-versions: 0.1.67
+      file-loader: 4.3.0
+      happypack: 5.0.1
+      html-webpack-plugin: 3.2.0
+      less: 3.13.1
+      less-loader: 5.0.0_less@3.13.1
+      lodash: 4.17.20
+      mini-css-extract-plugin: 0.8.2
+      open-browser-webpack-plugin: 0.0.5
+      optimize-css-assets-webpack-plugin: 5.0.4
+      pkg-up: 3.1.0
+      postcss-less: 3.1.4
+      postcss-loader: 3.0.0
+      react-hot-loader: 4.13.0
+      semver: 7.3.4
+      simple-progress-webpack-plugin: 1.1.2
+      style-loader: 0.23.1
+      terser-webpack-plugin: 1.4.5
+      thread-loader: 2.1.3
+      uglifyjs-webpack-plugin: 2.2.0
+      url-loader: 2.3.0_file-loader@4.3.0
+      webpack-bundle-analyzer: 3.9.0
+      webpack-chain: 6.5.1
+      webpack-plugin-html-skeleton: 1.0.14
+      webpackbar: 4.0.0
+    dev: false
+    peerDependencies:
+      webpack: ^4
+    resolution:
+      integrity: sha512-gZEknr1L9Yr9MHke1UBSOOeeJl4/EiOuNvYZQb/3d+GJJxWoho4gqrX6EyXjxPwZ71c0zmlcEG4BMuNikCpBFw==
+  /@alicloud/console-toolkit-plugin-react/1.2.8_4695a47c40ef995f48f8c834d2fb82ec:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16_@babel+core@7.12.10
+      '@babel/core': 7.12.10
+      assert: 1.5.0
+      autoprefixer: 9.8.6
+      babel-loader: 8.2.2_@babel+core@7.12.10
+      babel-polyfill: 6.26.0
+      babel-preset-breezr-wind: 1.1.3_4695a47c40ef995f48f8c834d2fb82ec
+      cheerio: 1.0.0-rc.5
+      css-loader: 2.1.1
+      error-overlay-webpack-plugin: 0.4.1
+      es5-imcompatible-versions: 0.1.67
+      file-loader: 4.3.0
+      happypack: 5.0.1
+      html-webpack-plugin: 3.2.0
+      less: 3.13.1
+      less-loader: 5.0.0_less@3.13.1
+      lodash: 4.17.20
+      mini-css-extract-plugin: 0.8.2
+      open-browser-webpack-plugin: 0.0.5
+      optimize-css-assets-webpack-plugin: 5.0.4
+      pkg-up: 3.1.0
+      postcss-less: 3.1.4
+      postcss-loader: 3.0.0
+      react-hot-loader: 4.13.0_4695a47c40ef995f48f8c834d2fb82ec
+      semver: 7.3.4
+      simple-progress-webpack-plugin: 1.1.2
+      style-loader: 0.23.1
+      terser-webpack-plugin: 1.4.5
+      thread-loader: 2.1.3
+      uglifyjs-webpack-plugin: 2.2.0
+      url-loader: 2.3.0_file-loader@4.3.0
+      webpack-bundle-analyzer: 3.9.0
+      webpack-chain: 6.5.1
+      webpack-plugin-html-skeleton: 1.0.14
+      webpackbar: 4.0.0
+    dev: true
+    peerDependencies:
+      '@types/react': '*'
+      react: '*'
+      react-dom: '*'
+      webpack: ^4
+    resolution:
+      integrity: sha512-gZEknr1L9Yr9MHke1UBSOOeeJl4/EiOuNvYZQb/3d+GJJxWoho4gqrX6EyXjxPwZ71c0zmlcEG4BMuNikCpBFw==
+  /@alicloud/console-toolkit-plugin-react/1.2.8_@types+react@17.0.0:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16_@babel+core@7.12.10
+      '@babel/core': 7.12.10
+      assert: 1.5.0
+      autoprefixer: 9.8.6
+      babel-loader: 8.2.2_@babel+core@7.12.10
+      babel-polyfill: 6.26.0
+      babel-preset-breezr-wind: 1.1.3_@types+react@17.0.0
+      cheerio: 1.0.0-rc.5
+      css-loader: 2.1.1
+      error-overlay-webpack-plugin: 0.4.1
+      es5-imcompatible-versions: 0.1.67
+      file-loader: 4.3.0
+      happypack: 5.0.1
+      html-webpack-plugin: 3.2.0
+      less: 3.13.1
+      less-loader: 5.0.0_less@3.13.1
+      lodash: 4.17.20
+      mini-css-extract-plugin: 0.8.2
+      open-browser-webpack-plugin: 0.0.5
+      optimize-css-assets-webpack-plugin: 5.0.4
+      pkg-up: 3.1.0
+      postcss-less: 3.1.4
+      postcss-loader: 3.0.0
+      react-hot-loader: 4.13.0_@types+react@17.0.0
+      semver: 7.3.4
+      simple-progress-webpack-plugin: 1.1.2
+      style-loader: 0.23.1
+      terser-webpack-plugin: 1.4.5
+      thread-loader: 2.1.3
+      uglifyjs-webpack-plugin: 2.2.0
+      url-loader: 2.3.0_file-loader@4.3.0
+      webpack-bundle-analyzer: 3.9.0
+      webpack-chain: 6.5.1
+      webpack-plugin-html-skeleton: 1.0.14
+      webpackbar: 4.0.0
+    peerDependencies:
+      '@types/react': '*'
+      webpack: ^4
+    resolution:
+      integrity: sha512-gZEknr1L9Yr9MHke1UBSOOeeJl4/EiOuNvYZQb/3d+GJJxWoho4gqrX6EyXjxPwZ71c0zmlcEG4BMuNikCpBFw==
+  /@alicloud/console-toolkit-plugin-react/1.2.8_react-dom@17.0.1+react@17.0.1:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16_@babel+core@7.12.10
+      '@babel/core': 7.12.10
+      assert: 1.5.0
+      autoprefixer: 9.8.6
+      babel-loader: 8.2.2_@babel+core@7.12.10
+      babel-polyfill: 6.26.0
+      babel-preset-breezr-wind: 1.1.3_react-dom@17.0.1+react@17.0.1
+      cheerio: 1.0.0-rc.5
+      css-loader: 2.1.1
+      error-overlay-webpack-plugin: 0.4.1
+      es5-imcompatible-versions: 0.1.67
+      file-loader: 4.3.0
+      happypack: 5.0.1
+      html-webpack-plugin: 3.2.0
+      less: 3.13.1
+      less-loader: 5.0.0_less@3.13.1
+      lodash: 4.17.20
+      mini-css-extract-plugin: 0.8.2
+      open-browser-webpack-plugin: 0.0.5
+      optimize-css-assets-webpack-plugin: 5.0.4
+      pkg-up: 3.1.0
+      postcss-less: 3.1.4
+      postcss-loader: 3.0.0
+      react-hot-loader: 4.13.0_react-dom@17.0.1+react@17.0.1
+      semver: 7.3.4
+      simple-progress-webpack-plugin: 1.1.2
+      style-loader: 0.23.1
+      terser-webpack-plugin: 1.4.5
+      thread-loader: 2.1.3
+      uglifyjs-webpack-plugin: 2.2.0
+      url-loader: 2.3.0_file-loader@4.3.0
+      webpack-bundle-analyzer: 3.9.0
+      webpack-chain: 6.5.1
+      webpack-plugin-html-skeleton: 1.0.14
+      webpackbar: 4.0.0
+    dev: false
+    peerDependencies:
+      react: '*'
+      react-dom: '*'
+      webpack: ^4
+    resolution:
+      integrity: sha512-gZEknr1L9Yr9MHke1UBSOOeeJl4/EiOuNvYZQb/3d+GJJxWoho4gqrX6EyXjxPwZ71c0zmlcEG4BMuNikCpBFw==
+  /@alicloud/console-toolkit-plugin-styled-components-isolation/1.1.3:
+    dependencies:
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      chalk: 2.4.2
+      lodash: 4.17.20
+      read-pkg: 5.2.0
+    peerDependencies:
+      webpack: '>= 4'
+    resolution:
+      integrity: sha512-750/Z68Dy4z+Sc12ZX9Gl83Sb/FjI7Y+DrPAXPlmUefIM0095XtpNPqkApU3gA7EON6jLR6LoyPRYlIsE+GClg==
+  /@alicloud/console-toolkit-plugin-styled-components-isolation/1.1.3_@babel+core@7.12.10:
+    dependencies:
+      '@alicloud/console-toolkit-shared-utils': 1.0.16_@babel+core@7.12.10
+      chalk: 2.4.2
+      lodash: 4.17.20
+      read-pkg: 5.2.0
+    peerDependencies:
+      '@babel/core': '*'
+      webpack: '>= 4'
+    resolution:
+      integrity: sha512-750/Z68Dy4z+Sc12ZX9Gl83Sb/FjI7Y+DrPAXPlmUefIM0095XtpNPqkApU3gA7EON6jLR6LoyPRYlIsE+GClg==
+  /@alicloud/console-toolkit-plugin-typescript/1.2.6:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      '@babel/plugin-transform-typescript': 7.12.0
+      awesome-typescript-loader: 5.2.1_typescript@3.9.7
+      babel-polyfill: 6.26.0
+      cache-loader: 4.1.0
+      fork-ts-checker-webpack-plugin: 1.6.0
+      happypack: 5.0.1
+      ignore-not-found-export-webpack-plugin: 1.0.0
+      lodash: 4.17.20
+      thread-loader: 2.1.3
+      ts-loader: 6.2.2_typescript@3.9.7
+      typescript: 3.9.7
+    resolution:
+      integrity: sha512-++apCsyKrW9Za/eN/1tvtPEfWbtC5OnZOse/CFxKdZ5wp3K/ZbcD1zDCjgV0LY0Gz0vqi4X6xY+6IgjYEX3fYw==
+  /@alicloud/console-toolkit-plugin-typescript/1.2.6_@babel+core@7.12.10:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16_@babel+core@7.12.10
+      '@babel/plugin-transform-typescript': 7.12.0_@babel+core@7.12.10
+      awesome-typescript-loader: 5.2.1_typescript@3.9.7
+      babel-polyfill: 6.26.0
+      cache-loader: 4.1.0
+      fork-ts-checker-webpack-plugin: 1.6.0
+      happypack: 5.0.1
+      ignore-not-found-export-webpack-plugin: 1.0.0
+      lodash: 4.17.20
+      thread-loader: 2.1.3
+      ts-loader: 6.2.2_typescript@3.9.7
+      typescript: 3.9.7
+    peerDependencies:
+      '@babel/core': '*'
+    resolution:
+      integrity: sha512-++apCsyKrW9Za/eN/1tvtPEfWbtC5OnZOse/CFxKdZ5wp3K/ZbcD1zDCjgV0LY0Gz0vqi4X6xY+6IgjYEX3fYw==
+  /@alicloud/console-toolkit-plugin-unit-jest/1.1.3:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@babel/plugin-transform-modules-commonjs': 7.12.1
+      babel-jest: 24.9.0
+      enzyme: 3.11.0
+      enzyme-adapter-react-16: 1.15.6_enzyme@3.11.0
+      identity-obj-proxy: 3.0.0
+      jest-cli: 24.9.0
+      jest-enzyme: 7.1.2_enzyme@3.11.0
+      ts-jest: 24.3.0
+    dev: false
+    peerDependencies:
+      react: ^16.0.0
+      react-dom: ^16.0.0
+    resolution:
+      integrity: sha512-diugrA5rCEfPncmk/KDngsWygZppF6SCDNm802MoRPHmvT0HvXu7JMtJGhJIeOFQ2m+n8y6bdgJvbImF36Xl+Q==
+  /@alicloud/console-toolkit-plugin-unit-jest/1.1.3_@babel+core@7.12.10:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@babel/plugin-transform-modules-commonjs': 7.12.1_@babel+core@7.12.10
+      babel-jest: 24.9.0_@babel+core@7.12.10
+      enzyme: 3.11.0
+      enzyme-adapter-react-16: 1.15.6_enzyme@3.11.0
+      identity-obj-proxy: 3.0.0
+      jest-cli: 24.9.0
+      jest-enzyme: 7.1.2_enzyme@3.11.0
+      ts-jest: 24.3.0
+    peerDependencies:
+      '@babel/core': '*'
+      react: ^16.0.0
+      react-dom: ^16.0.0
+    resolution:
+      integrity: sha512-diugrA5rCEfPncmk/KDngsWygZppF6SCDNm802MoRPHmvT0HvXu7JMtJGhJIeOFQ2m+n8y6bdgJvbImF36Xl+Q==
+  /@alicloud/console-toolkit-plugin-unit-jest/1.1.3_react-dom@17.0.1+react@17.0.1:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@babel/plugin-transform-modules-commonjs': 7.12.1
+      babel-jest: 24.9.0
+      enzyme: 3.11.0
+      enzyme-adapter-react-16: 1.15.6_ed988ebff08079c40ff9e87e2acc78b3
+      identity-obj-proxy: 3.0.0
+      jest-cli: 24.9.0
+      jest-enzyme: 7.1.2_enzyme@3.11.0+react@17.0.1
+      react: 17.0.1
+      react-dom: 17.0.1_react@17.0.1
+      ts-jest: 24.3.0
+    peerDependencies:
+      react: ^16.0.0
+      react-dom: ^16.0.0
+    resolution:
+      integrity: sha512-diugrA5rCEfPncmk/KDngsWygZppF6SCDNm802MoRPHmvT0HvXu7JMtJGhJIeOFQ2m+n8y6bdgJvbImF36Xl+Q==
+  /@alicloud/console-toolkit-plugin-updator/1.1.3:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      execa: 2.1.0
+      inquirer: 7.3.3
+      rimraf: 3.0.2
+      update-notifier: 3.0.1
+    resolution:
+      integrity: sha512-zHRcbcu7vVobnwQmHXspAxID4bTwToaupMAji/tAhC34XuSkklfCBN6+KavgHzA+haP55JMnPihPyNCIOAZ8zQ==
+  /@alicloud/console-toolkit-plugin-webpack/1.1.3:
+    dependencies:
+      '@alicloud/console-toolkit-core': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+      assert: 2.0.0
+      chalk: 2.4.2
+      debug: 4.3.1
+      fs-extra: 8.1.0
+      lodash: 4.17.20
+      string.prototype.padend: 3.1.1
+      webpack: 4.44.2
+      webpack-chain: 6.5.1
+      webpack-dev-server: 3.11.0_webpack@4.44.2
+      webpack-merge: 4.2.2
+    requiresBuild: true
+    resolution:
+      integrity: sha512-KDhe520L6gPIdyaiekWAceIwux1Lz+Sh3UuOjm8/+K/q/gxT+ZPTiDZO28WAueoJGGxlsAJBa9msx1hk/Ry2xQ==
+  /@alicloud/console-toolkit-preset-official/1.2.8:
+    dependencies:
+      '@alicloud/console-toolkit-plugin-arms': 1.1.3
+      '@alicloud/console-toolkit-plugin-browser-hint': 1.1.3
+      '@alicloud/console-toolkit-plugin-builtin': 1.2.0
+      '@alicloud/console-toolkit-plugin-cdn': 1.1.3
+      '@alicloud/console-toolkit-plugin-console-base': 1.2.1
+      '@alicloud/console-toolkit-plugin-dll': 1.1.3
+      '@alicloud/console-toolkit-plugin-long-term-caching': 1.1.3
+      '@alicloud/console-toolkit-plugin-mocks': 1.2.5
+      '@alicloud/console-toolkit-plugin-oneconsole': 1.1.3
+      '@alicloud/console-toolkit-plugin-react': 1.2.8
+      '@alicloud/console-toolkit-plugin-styled-components-isolation': 1.1.3
+      '@alicloud/console-toolkit-plugin-typescript': 1.2.6
+      '@alicloud/console-toolkit-plugin-unit-jest': 1.1.3
+      '@alicloud/console-toolkit-plugin-updator': 1.1.3
+      '@alicloud/console-toolkit-plugin-webpack': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+    dev: false
+    resolution:
+      integrity: sha512-QB7kDNigefT09RrCK9nCTJnlg9InlogkICvXBdv2Cd2MseL/xxaH9bjEoNAU2aom7UUM+U8k/W8TZhQMg8S47w==
+  /@alicloud/console-toolkit-preset-official/1.2.8_4695a47c40ef995f48f8c834d2fb82ec:
+    dependencies:
+      '@alicloud/console-toolkit-plugin-arms': 1.1.3
+      '@alicloud/console-toolkit-plugin-browser-hint': 1.1.3
+      '@alicloud/console-toolkit-plugin-builtin': 1.2.0
+      '@alicloud/console-toolkit-plugin-cdn': 1.1.3
+      '@alicloud/console-toolkit-plugin-console-base': 1.2.1
+      '@alicloud/console-toolkit-plugin-dll': 1.1.3
+      '@alicloud/console-toolkit-plugin-long-term-caching': 1.1.3
+      '@alicloud/console-toolkit-plugin-mocks': 1.2.5
+      '@alicloud/console-toolkit-plugin-oneconsole': 1.1.3
+      '@alicloud/console-toolkit-plugin-react': 1.2.8_4695a47c40ef995f48f8c834d2fb82ec
+      '@alicloud/console-toolkit-plugin-styled-components-isolation': 1.1.3
+      '@alicloud/console-toolkit-plugin-typescript': 1.2.6
+      '@alicloud/console-toolkit-plugin-unit-jest': 1.1.3_react-dom@17.0.1+react@17.0.1
+      '@alicloud/console-toolkit-plugin-updator': 1.1.3
+      '@alicloud/console-toolkit-plugin-webpack': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+    dev: true
+    peerDependencies:
+      '@types/react': '*'
+      react: '*'
+      react-dom: '*'
+    resolution:
+      integrity: sha512-QB7kDNigefT09RrCK9nCTJnlg9InlogkICvXBdv2Cd2MseL/xxaH9bjEoNAU2aom7UUM+U8k/W8TZhQMg8S47w==
+  /@alicloud/console-toolkit-preset-official/1.2.8_8d56ec2c39966f19981a869c2b9480fc:
+    dependencies:
+      '@alicloud/console-toolkit-plugin-arms': 1.1.3
+      '@alicloud/console-toolkit-plugin-browser-hint': 1.1.3
+      '@alicloud/console-toolkit-plugin-builtin': 1.2.0
+      '@alicloud/console-toolkit-plugin-cdn': 1.1.3
+      '@alicloud/console-toolkit-plugin-console-base': 1.2.1
+      '@alicloud/console-toolkit-plugin-dll': 1.1.3
+      '@alicloud/console-toolkit-plugin-long-term-caching': 1.1.3_@babel+core@7.12.10
+      '@alicloud/console-toolkit-plugin-mocks': 1.2.5
+      '@alicloud/console-toolkit-plugin-oneconsole': 1.1.3
+      '@alicloud/console-toolkit-plugin-react': 1.2.8_@types+react@17.0.0
+      '@alicloud/console-toolkit-plugin-styled-components-isolation': 1.1.3_@babel+core@7.12.10
+      '@alicloud/console-toolkit-plugin-typescript': 1.2.6_@babel+core@7.12.10
+      '@alicloud/console-toolkit-plugin-unit-jest': 1.1.3_@babel+core@7.12.10
+      '@alicloud/console-toolkit-plugin-updator': 1.1.3
+      '@alicloud/console-toolkit-plugin-webpack': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': '*'
+      '@types/react': '*'
+    resolution:
+      integrity: sha512-QB7kDNigefT09RrCK9nCTJnlg9InlogkICvXBdv2Cd2MseL/xxaH9bjEoNAU2aom7UUM+U8k/W8TZhQMg8S47w==
+  /@alicloud/console-toolkit-preset-official/1.2.8_react-dom@17.0.1+react@17.0.1:
+    dependencies:
+      '@alicloud/console-toolkit-plugin-arms': 1.1.3
+      '@alicloud/console-toolkit-plugin-browser-hint': 1.1.3
+      '@alicloud/console-toolkit-plugin-builtin': 1.2.0
+      '@alicloud/console-toolkit-plugin-cdn': 1.1.3
+      '@alicloud/console-toolkit-plugin-console-base': 1.2.1
+      '@alicloud/console-toolkit-plugin-dll': 1.1.3
+      '@alicloud/console-toolkit-plugin-long-term-caching': 1.1.3
+      '@alicloud/console-toolkit-plugin-mocks': 1.2.5
+      '@alicloud/console-toolkit-plugin-oneconsole': 1.1.3
+      '@alicloud/console-toolkit-plugin-react': 1.2.8_react-dom@17.0.1+react@17.0.1
+      '@alicloud/console-toolkit-plugin-styled-components-isolation': 1.1.3
+      '@alicloud/console-toolkit-plugin-typescript': 1.2.6
+      '@alicloud/console-toolkit-plugin-unit-jest': 1.1.3_react-dom@17.0.1+react@17.0.1
+      '@alicloud/console-toolkit-plugin-updator': 1.1.3
+      '@alicloud/console-toolkit-plugin-webpack': 1.1.3
+      '@alicloud/console-toolkit-shared-utils': 1.0.16
+    dev: false
+    peerDependencies:
+      react: '*'
+      react-dom: '*'
+    resolution:
+      integrity: sha512-QB7kDNigefT09RrCK9nCTJnlg9InlogkICvXBdv2Cd2MseL/xxaH9bjEoNAU2aom7UUM+U8k/W8TZhQMg8S47w==
+  /@alicloud/console-toolkit-shared-utils/1.0.16:
+    dependencies:
+      '@babel/register': 7.12.1
+      '@umijs/babel-preset-umi': 3.2.27
+      chalk: 2.4.2
+      chokidar: 3.4.3
+      debug: 4.3.1
+      fs-extra: 8.1.0
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-TjAfPkW6JVrTYYCoXZcc/OK1Z8BO701PjgoQPN6cKTIWnb934lE8PSWRnh9Z+EgNjxBnl5O66UNyfPYl9AJemA==
+  /@alicloud/console-toolkit-shared-utils/1.0.16_@babel+core@7.12.10:
+    dependencies:
+      '@babel/register': 7.12.1_@babel+core@7.12.10
+      '@umijs/babel-preset-umi': 3.2.27_@babel+core@7.12.10
+      chalk: 2.4.2
+      chokidar: 3.4.3
+      debug: 4.3.1
+      fs-extra: 8.1.0
+      lodash: 4.17.20
+    peerDependencies:
+      '@babel/core': '*'
+    resolution:
+      integrity: sha512-TjAfPkW6JVrTYYCoXZcc/OK1Z8BO701PjgoQPN6cKTIWnb934lE8PSWRnh9Z+EgNjxBnl5O66UNyfPYl9AJemA==
+  /@alicloud/generator-breezr/1.2.0:
+    dependencies:
+      chalk: 2.4.2
+      mkdirp: 0.5.5
+      yeoman-generator: 2.0.5
+    engines:
+      npm: '>= 4.0.0'
+    resolution:
+      integrity: sha512-637qPCvgSask/JPywSQhJW4+dUXfROrAJUkeoiz/MFJfcutYq4xLNcOzkXrChpnE8d24VJv18ECRSRPNam2K/Q==
+  /@alifd/field/1.4.6:
+    dependencies:
+      '@alifd/validate': 1.2.0
+      prop-types: 15.7.2
+    dev: false
+    resolution:
+      integrity: sha512-xIAm9f0Fh+TbuBasJ5StJPfh2BxIwT9QTs5JoGN41rW8/+RhxhVV1b70vnepb4+YRMAQrDnFEE6uWBDZTSOJIA==
+  /@alifd/next/1.21.8_react-dom@17.0.1+react@17.0.1:
+    dependencies:
+      '@alifd/field': 1.4.6
+      '@alifd/validate': 1.2.0
+      babel-runtime: 6.26.0
+      classnames: 2.2.6
+      hoist-non-react-statics: 2.5.5
+      lodash.clonedeep: 4.5.0
+      prop-types: 15.7.2
+      react: 17.0.1
+      react-dom: 17.0.1_react@17.0.1
+      react-lifecycles-compat: 3.0.4
+      react-transition-group: 2.9.0_react-dom@17.0.1+react@17.0.1
+      shallow-element-equals: 1.0.1
+    dev: false
+    peerDependencies:
+      moment: ^2.22.1
+      react: ^16.0.0
+      react-dom: ^16.0.0
+    resolution:
+      integrity: sha512-6PqDgSoG7Y8HrOjPg0VlzqjRUYA77A68cNEoiKjeqpWjc2n/Ijuelzh5VDtqHQ76rfa5WYHf6I6b0RU9nZVFLg==
+  /@alifd/validate/1.2.0:
+    dev: false
+    resolution:
+      integrity: sha512-ZXzC9/2HnRAteeB6c0P9/DL8/lS69hhUiAAxS6GpFWKaQurtDUDiCQYNUWGv7zxaPGBaMxgPcfBBcFpgpaHF5w==
+  /@ampproject/toolbox-core/2.7.4:
+    dependencies:
+      cross-fetch: 3.0.6
+      lru-cache: 6.0.0
+    dev: false
+    resolution:
+      integrity: sha512-qpBhcS4urB7IKc+jx2kksN7BuvvwCo7Y3IstapWo+EW+COY5EYAUwb2pil37v3TsaqHKgX//NloFP1SKzGZAnw==
+  /@ampproject/toolbox-optimizer/2.7.1-alpha.0:
+    dependencies:
+      '@ampproject/toolbox-core': 2.7.4
+      '@ampproject/toolbox-runtime-version': 2.7.4
+      '@ampproject/toolbox-script-csp': 2.5.4
+      '@ampproject/toolbox-validator-rules': 2.7.4
+      abort-controller: 3.0.0
+      cross-fetch: 3.0.6
+      cssnano-simple: 1.2.1
+      dom-serializer: 1.1.0
+      domhandler: 3.3.0
+      domutils: 2.4.2
+      htmlparser2: 5.0.1
+      https-proxy-agent: 5.0.0
+      lru-cache: 6.0.0
+      node-fetch: 2.6.1
+      normalize-html-whitespace: 1.0.0
+      postcss: 7.0.32
+      postcss-safe-parser: 4.0.2
+      terser: 5.5.1
+    dev: false
+    peerDependencies:
+      jimp: '*'
+      probe-image-size: '*'
+    peerDependenciesMeta:
+      jimp:
+        optional: true
+      probe-image-size:
+        optional: true
+    requiresBuild: true
+    resolution:
+      integrity: sha512-WGPZKVQvHgNYJk1XVJCCmY+NVGTGJtvn0OALDyiegN4FJWOcilQUhCIcjMkZN59u1flz/u+sEKccM5qsROqVyg==
+  /@ampproject/toolbox-runtime-version/2.7.4:
+    dependencies:
+      '@ampproject/toolbox-core': 2.7.4
+    dev: false
+    resolution:
+      integrity: sha512-SAdOUOERp42thVNWaBJlnFvFVvnacMVnz5z9LyUZHSnoL1EqrAW5Sz5jv+Ly+gkA8NYsEaUxAdSCBAzE9Uzb4Q==
+  /@ampproject/toolbox-script-csp/2.5.4:
+    dev: false
+    resolution:
+      integrity: sha512-+knTYetI5nWllRZ9wFcj7mYxelkiiFVRAAW/hl0ad8EnKHMH82tRlk40CapEnUHhp6Er5sCYkumQ8dngs3Q4zQ==
+  /@ampproject/toolbox-validator-rules/2.7.4:
+    dependencies:
+      cross-fetch: 3.0.6
+    dev: false
+    resolution:
+      integrity: sha512-z3JRcpIZLLdVC9XVe7YTZuB3a/eR9s2SjElYB9AWRdyJyL5Jt7+pGNv4Uwh1uHVoBXsWEVQzNOWSNtrO3mSwZA==
+  /@babel/cli/7.12.10_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      commander: 4.1.1
+      convert-source-map: 1.7.0
+      fs-readdir-recursive: 1.1.0
+      glob: 7.1.6
+      lodash: 4.17.20
+      make-dir: 2.1.0
+      slash: 2.0.0
+      source-map: 0.5.7
+    dev: true
+    hasBin: true
+    optionalDependencies:
+      '@nicolo-ribaudo/chokidar-2': 2.1.8-no-fsevents
+      chokidar: 3.5.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-+y4ZnePpvWs1fc/LhZRTHkTesbXkyBYuOB+5CyodZqrEuETXi3zOVfpAQIdgC3lXbHLTDG9dQosxR9BhvLKDLQ==
+  /@babel/code-frame/7.10.4:
+    dependencies:
+      '@babel/highlight': 7.10.4
+    resolution:
+      integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
+  /@babel/code-frame/7.12.11:
+    dependencies:
+      '@babel/highlight': 7.10.4
+    resolution:
+      integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
+  /@babel/code-frame/7.5.5:
+    dependencies:
+      '@babel/highlight': 7.10.4
+    resolution:
+      integrity: sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==
+  /@babel/compat-data/7.12.5:
+    resolution:
+      integrity: sha512-DTsS7cxrsH3by8nqQSpFSyjSfSYl57D6Cf4q8dW3LK83tBKBDCkfcay1nYkXq1nIHXnpX8WMMb/O25HOy3h1zg==
+  /@babel/compat-data/7.12.7:
+    resolution:
+      integrity: sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==
+  /@babel/core/7.12.10:
+    dependencies:
+      '@babel/code-frame': 7.12.11
+      '@babel/generator': 7.12.11
+      '@babel/helper-module-transforms': 7.12.1
+      '@babel/helpers': 7.12.5
+      '@babel/parser': 7.12.11
+      '@babel/template': 7.12.7
+      '@babel/traverse': 7.12.12
+      '@babel/types': 7.12.12
+      convert-source-map: 1.7.0
+      debug: 4.3.1
+      gensync: 1.0.0-beta.2
+      json5: 2.1.3
+      lodash: 4.17.20
+      semver: 5.7.1
+      source-map: 0.5.7
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==
+  /@babel/core/7.12.9:
+    dependencies:
+      '@babel/code-frame': 7.12.11
+      '@babel/generator': 7.12.11
+      '@babel/helper-module-transforms': 7.12.1
+      '@babel/helpers': 7.12.5
+      '@babel/parser': 7.12.11
+      '@babel/template': 7.12.7
+      '@babel/traverse': 7.12.12
+      '@babel/types': 7.12.12
+      convert-source-map: 1.7.0
+      debug: 4.3.1
+      gensync: 1.0.0-beta.2
+      json5: 2.1.3
+      lodash: 4.17.20
+      resolve: 1.19.0
+      semver: 5.7.1
+      source-map: 0.5.7
+    dev: false
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==
+  /@babel/generator/7.12.10:
+    dependencies:
+      '@babel/types': 7.12.10
+      jsesc: 2.5.2
+      source-map: 0.5.7
+    resolution:
+      integrity: sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==
+  /@babel/generator/7.12.11:
+    dependencies:
+      '@babel/types': 7.12.12
+      jsesc: 2.5.2
+      source-map: 0.5.7
+    resolution:
+      integrity: sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==
+  /@babel/generator/7.12.5:
+    dependencies:
+      '@babel/types': 7.12.6
+      jsesc: 2.5.2
+      source-map: 0.5.7
+    resolution:
+      integrity: sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==
+  /@babel/helper-annotate-as-pure/7.10.4:
+    dependencies:
+      '@babel/types': 7.12.6
+    resolution:
+      integrity: sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==
+  /@babel/helper-annotate-as-pure/7.12.10:
+    dependencies:
+      '@babel/types': 7.12.12
+    resolution:
+      integrity: sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==
+  /@babel/helper-builder-binary-assignment-operator-visitor/7.10.4:
+    dependencies:
+      '@babel/helper-explode-assignable-expression': 7.12.1
+      '@babel/types': 7.12.10
+    resolution:
+      integrity: sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==
+  /@babel/helper-builder-react-jsx-experimental/7.12.4:
+    dependencies:
+      '@babel/helper-annotate-as-pure': 7.10.4
+      '@babel/helper-module-imports': 7.12.5
+      '@babel/types': 7.12.6
+    resolution:
+      integrity: sha512-AjEa0jrQqNk7eDQOo0pTfUOwQBMF+xVqrausQwT9/rTKy0g04ggFNaJpaE09IQMn9yExluigWMJcj0WC7bq+Og==
+  /@babel/helper-builder-react-jsx/7.10.4:
+    dependencies:
+      '@babel/helper-annotate-as-pure': 7.12.10
+      '@babel/types': 7.12.10
+    resolution:
+      integrity: sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==
+  /@babel/helper-compilation-targets/7.12.5:
+    dependencies:
+      '@babel/compat-data': 7.12.5
+      '@babel/helper-validator-option': 7.12.1
+      browserslist: 4.14.7
+      semver: 5.7.1
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    resolution:
+      integrity: sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==
+  /@babel/helper-compilation-targets/7.12.5_@babel+core@7.12.10:
+    dependencies:
+      '@babel/compat-data': 7.12.5
+      '@babel/core': 7.12.10
+      '@babel/helper-validator-option': 7.12.1
+      browserslist: 4.14.7
+      semver: 5.7.1
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    resolution:
+      integrity: sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==
+  /@babel/helper-create-class-features-plugin/7.12.1:
+    dependencies:
+      '@babel/helper-function-name': 7.10.4
+      '@babel/helper-member-expression-to-functions': 7.12.1
+      '@babel/helper-optimise-call-expression': 7.10.4
+      '@babel/helper-replace-supers': 7.12.5
+      '@babel/helper-split-export-declaration': 7.11.0
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    resolution:
+      integrity: sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==
+  /@babel/helper-create-class-features-plugin/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-function-name': 7.10.4
+      '@babel/helper-member-expression-to-functions': 7.12.1
+      '@babel/helper-optimise-call-expression': 7.10.4
+      '@babel/helper-replace-supers': 7.12.5
+      '@babel/helper-split-export-declaration': 7.11.0
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    resolution:
+      integrity: sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==
+  /@babel/helper-create-regexp-features-plugin/7.12.1:
+    dependencies:
+      '@babel/helper-annotate-as-pure': 7.10.4
+      '@babel/helper-regex': 7.10.5
+      regexpu-core: 4.7.1
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    resolution:
+      integrity: sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA==
+  /@babel/helper-create-regexp-features-plugin/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-annotate-as-pure': 7.10.4
+      '@babel/helper-regex': 7.10.5
+      regexpu-core: 4.7.1
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    resolution:
+      integrity: sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA==
+  /@babel/helper-define-map/7.10.5:
+    dependencies:
+      '@babel/helper-function-name': 7.10.4
+      '@babel/types': 7.12.10
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==
+  /@babel/helper-explode-assignable-expression/7.12.1:
+    dependencies:
+      '@babel/types': 7.12.10
+    resolution:
+      integrity: sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==
+  /@babel/helper-function-name/7.10.4:
+    dependencies:
+      '@babel/helper-get-function-arity': 7.12.10
+      '@babel/template': 7.12.7
+      '@babel/types': 7.12.10
+    resolution:
+      integrity: sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==
+  /@babel/helper-function-name/7.12.11:
+    dependencies:
+      '@babel/helper-get-function-arity': 7.12.10
+      '@babel/template': 7.12.7
+      '@babel/types': 7.12.12
+    resolution:
+      integrity: sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==
+  /@babel/helper-get-function-arity/7.12.10:
+    dependencies:
+      '@babel/types': 7.12.12
+    resolution:
+      integrity: sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==
+  /@babel/helper-hoist-variables/7.10.4:
+    dependencies:
+      '@babel/types': 7.12.10
+    resolution:
+      integrity: sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==
+  /@babel/helper-member-expression-to-functions/7.12.1:
+    dependencies:
+      '@babel/types': 7.12.6
+    resolution:
+      integrity: sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==
+  /@babel/helper-member-expression-to-functions/7.12.7:
+    dependencies:
+      '@babel/types': 7.12.10
+    resolution:
+      integrity: sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==
+  /@babel/helper-module-imports/7.12.5:
+    dependencies:
+      '@babel/types': 7.12.10
+    resolution:
+      integrity: sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==
+  /@babel/helper-module-transforms/7.12.1:
+    dependencies:
+      '@babel/helper-module-imports': 7.12.5
+      '@babel/helper-replace-supers': 7.12.5
+      '@babel/helper-simple-access': 7.12.1
+      '@babel/helper-split-export-declaration': 7.11.0
+      '@babel/helper-validator-identifier': 7.10.4
+      '@babel/template': 7.10.4
+      '@babel/traverse': 7.12.5
+      '@babel/types': 7.12.6
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==
+  /@babel/helper-optimise-call-expression/7.10.4:
+    dependencies:
+      '@babel/types': 7.12.6
+    resolution:
+      integrity: sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==
+  /@babel/helper-optimise-call-expression/7.12.10:
+    dependencies:
+      '@babel/types': 7.12.10
+    resolution:
+      integrity: sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==
+  /@babel/helper-plugin-utils/7.10.4:
+    resolution:
+      integrity: sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==
+  /@babel/helper-regex/7.10.5:
+    dependencies:
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==
+  /@babel/helper-remap-async-to-generator/7.12.1:
+    dependencies:
+      '@babel/helper-annotate-as-pure': 7.12.10
+      '@babel/helper-wrap-function': 7.12.3
+      '@babel/types': 7.12.10
+    resolution:
+      integrity: sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==
+  /@babel/helper-replace-supers/7.12.5:
+    dependencies:
+      '@babel/helper-member-expression-to-functions': 7.12.7
+      '@babel/helper-optimise-call-expression': 7.12.10
+      '@babel/traverse': 7.12.10
+      '@babel/types': 7.12.10
+    resolution:
+      integrity: sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==
+  /@babel/helper-simple-access/7.12.1:
+    dependencies:
+      '@babel/types': 7.12.6
+    resolution:
+      integrity: sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==
+  /@babel/helper-skip-transparent-expression-wrappers/7.12.1:
+    dependencies:
+      '@babel/types': 7.12.10
+    resolution:
+      integrity: sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==
+  /@babel/helper-split-export-declaration/7.11.0:
+    dependencies:
+      '@babel/types': 7.12.10
+    resolution:
+      integrity: sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==
+  /@babel/helper-split-export-declaration/7.12.11:
+    dependencies:
+      '@babel/types': 7.12.12
+    resolution:
+      integrity: sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==
+  /@babel/helper-validator-identifier/7.10.4:
+    resolution:
+      integrity: sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
+  /@babel/helper-validator-identifier/7.12.11:
+    resolution:
+      integrity: sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==
+  /@babel/helper-validator-option/7.12.1:
+    resolution:
+      integrity: sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==
+  /@babel/helper-validator-option/7.12.11:
+    resolution:
+      integrity: sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==
+  /@babel/helper-wrap-function/7.12.3:
+    dependencies:
+      '@babel/helper-function-name': 7.10.4
+      '@babel/template': 7.12.7
+      '@babel/traverse': 7.12.10
+      '@babel/types': 7.12.10
+    resolution:
+      integrity: sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==
+  /@babel/helpers/7.12.5:
+    dependencies:
+      '@babel/template': 7.12.7
+      '@babel/traverse': 7.12.12
+      '@babel/types': 7.12.12
+    resolution:
+      integrity: sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==
+  /@babel/highlight/7.10.4:
+    dependencies:
+      '@babel/helper-validator-identifier': 7.10.4
+      chalk: 2.4.2
+      js-tokens: 4.0.0
+    resolution:
+      integrity: sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
+  /@babel/parser/7.12.10:
+    engines:
+      node: '>=6.0.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==
+  /@babel/parser/7.12.11:
+    engines:
+      node: '>=6.0.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==
+  /@babel/parser/7.12.5:
+    engines:
+      node: '>=6.0.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==
+  /@babel/plugin-proposal-async-generator-functions/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-remap-async-to-generator': 7.12.1
+      '@babel/plugin-syntax-async-generators': 7.8.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==
+  /@babel/plugin-proposal-async-generator-functions/7.12.12_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-remap-async-to-generator': 7.12.1
+      '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==
+  /@babel/plugin-proposal-async-generator-functions/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-remap-async-to-generator': 7.12.1
+      '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==
+  /@babel/plugin-proposal-class-properties/7.12.1:
+    dependencies:
+      '@babel/helper-create-class-features-plugin': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==
+  /@babel/plugin-proposal-class-properties/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-create-class-features-plugin': 7.12.1_@babel+core@7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==
+  /@babel/plugin-proposal-decorators/7.12.1:
+    dependencies:
+      '@babel/helper-create-class-features-plugin': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-decorators': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==
+  /@babel/plugin-proposal-decorators/7.12.12_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-create-class-features-plugin': 7.12.1_@babel+core@7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-decorators': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-fhkE9lJYpw2mjHelBpM2zCbaA11aov2GJs7q4cFaXNrWx0H3bW58H9Esy2rdtYOghFBEYUDRIpvlgi+ZD+AvvQ==
+  /@babel/plugin-proposal-decorators/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-create-class-features-plugin': 7.12.1_@babel+core@7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-decorators': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==
+  /@babel/plugin-proposal-do-expressions/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-do-expressions': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-bpJ6Bfrzvdzb0vG6zBSNh3HLgFKh+S2CBpNmaLRjg2u7cNkzRPIqBjVURCmpG6pvPfKyxkizwbrXwpYtW3a9cw==
+  /@babel/plugin-proposal-do-expressions/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-do-expressions': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-bpJ6Bfrzvdzb0vG6zBSNh3HLgFKh+S2CBpNmaLRjg2u7cNkzRPIqBjVURCmpG6pvPfKyxkizwbrXwpYtW3a9cw==
+  /@babel/plugin-proposal-dynamic-import/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-dynamic-import': 7.8.3
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==
+  /@babel/plugin-proposal-dynamic-import/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==
+  /@babel/plugin-proposal-export-default-from/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-export-default-from': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-z5Q4Ke7j0AexQRfgUvnD+BdCSgpTEKnqQ3kskk2jWtOBulxICzd1X9BGt7kmWftxZ2W3++OZdt5gtmC8KLxdRQ==
+  /@babel/plugin-proposal-export-default-from/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-export-default-from': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-z5Q4Ke7j0AexQRfgUvnD+BdCSgpTEKnqQ3kskk2jWtOBulxICzd1X9BGt7kmWftxZ2W3++OZdt5gtmC8KLxdRQ==
+  /@babel/plugin-proposal-export-namespace-from/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-export-namespace-from': 7.8.3
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==
+  /@babel/plugin-proposal-export-namespace-from/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==
+  /@babel/plugin-proposal-function-bind/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-function-bind': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-Nic0blOXoeyuDJZJNh7kEZMqQUHakiUyxfyFMUV0Sy7DQ+Du9R7cZCUgTLnqq7Bc0Yx0iKRSe5wTmRWLKwxxpA==
+  /@babel/plugin-proposal-function-bind/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-function-bind': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-Nic0blOXoeyuDJZJNh7kEZMqQUHakiUyxfyFMUV0Sy7DQ+Du9R7cZCUgTLnqq7Bc0Yx0iKRSe5wTmRWLKwxxpA==
+  /@babel/plugin-proposal-function-sent/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-wrap-function': 7.12.3
+      '@babel/plugin-syntax-function-sent': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-EXB01ACyNW0WCffP4ip40TH82X86+U0dakFZjyiMpoZ8NFmL5MMARzVBzy+Gg59B6vTgfvIhRHUhe6tNUw+vjw==
+  /@babel/plugin-proposal-json-strings/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-json-strings': 7.8.3
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==
+  /@babel/plugin-proposal-json-strings/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==
+  /@babel/plugin-proposal-logical-assignment-operators/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==
+  /@babel/plugin-proposal-logical-assignment-operators/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==
+  /@babel/plugin-proposal-nullish-coalescing-operator/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==
+  /@babel/plugin-proposal-nullish-coalescing-operator/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==
+  /@babel/plugin-proposal-numeric-separator/7.12.5:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-numeric-separator': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-UiAnkKuOrCyjZ3sYNHlRlfuZJbBHknMQ9VMwVeX97Ofwx7RpD6gS2HfqTCh8KNUQgcOm8IKt103oR4KIjh7Q8g==
+  /@babel/plugin-proposal-numeric-separator/7.12.5_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-UiAnkKuOrCyjZ3sYNHlRlfuZJbBHknMQ9VMwVeX97Ofwx7RpD6gS2HfqTCh8KNUQgcOm8IKt103oR4KIjh7Q8g==
+  /@babel/plugin-proposal-numeric-separator/7.12.7_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==
+  /@babel/plugin-proposal-object-rest-spread/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3
+      '@babel/plugin-transform-parameters': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==
+  /@babel/plugin-proposal-object-rest-spread/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-transform-parameters': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==
+  /@babel/plugin-proposal-object-rest-spread/7.12.1_@babel+core@7.12.9:
+    dependencies:
+      '@babel/core': 7.12.9
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.12.9
+      '@babel/plugin-transform-parameters': 7.12.1_@babel+core@7.12.9
+    dev: false
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==
+  /@babel/plugin-proposal-optional-catch-binding/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-optional-catch-binding': 7.8.3
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==
+  /@babel/plugin-proposal-optional-catch-binding/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==
+  /@babel/plugin-proposal-optional-chaining/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-skip-transparent-expression-wrappers': 7.12.1
+      '@babel/plugin-syntax-optional-chaining': 7.8.3
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==
+  /@babel/plugin-proposal-optional-chaining/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-skip-transparent-expression-wrappers': 7.12.1
+      '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==
+  /@babel/plugin-proposal-optional-chaining/7.12.7_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-skip-transparent-expression-wrappers': 7.12.1
+      '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==
+  /@babel/plugin-proposal-pipeline-operator/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-pipeline-operator': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-iloNp4xu8YV8e/mZgGjePg9be1VkJSxQWIplRwgQtQPtF26ar3cHXL4sV8Fujlm2mm/Tu/WiA+FU+Fp7QVP7/g==
+  /@babel/plugin-proposal-pipeline-operator/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-pipeline-operator': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-iloNp4xu8YV8e/mZgGjePg9be1VkJSxQWIplRwgQtQPtF26ar3cHXL4sV8Fujlm2mm/Tu/WiA+FU+Fp7QVP7/g==
+  /@babel/plugin-proposal-private-methods/7.12.1:
+    dependencies:
+      '@babel/helper-create-class-features-plugin': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==
+  /@babel/plugin-proposal-private-methods/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-create-class-features-plugin': 7.12.1_@babel+core@7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==
+  /@babel/plugin-proposal-throw-expressions/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-throw-expressions': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-kiWkKtm05K86C+T/nUazv+/Vxu93Aulrvof/ZrxVyGoUBVsVEWDrw9iChbe8tV+aPVQcjg4FQxKW3wUF7cRcpg==
+  /@babel/plugin-proposal-unicode-property-regex/7.12.1:
+    dependencies:
+      '@babel/helper-create-regexp-features-plugin': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+    engines:
+      node: '>=4'
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==
+  /@babel/plugin-proposal-unicode-property-regex/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-create-regexp-features-plugin': 7.12.1_@babel+core@7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    engines:
+      node: '>=4'
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==
+  /@babel/plugin-syntax-async-generators/7.8.4:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
+  /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
+  /@babel/plugin-syntax-class-properties/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==
+  /@babel/plugin-syntax-class-properties/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==
+  /@babel/plugin-syntax-decorators/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w==
+  /@babel/plugin-syntax-decorators/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w==
+  /@babel/plugin-syntax-do-expressions/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-a9TknRXkzfetNjOWSWnPIG/Y7x+elzcmKng2Qpvh8QaqdPo0OABizTjco8YO8r5xZNQfE58YHq7lWR+PKwHyxg==
+  /@babel/plugin-syntax-do-expressions/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-a9TknRXkzfetNjOWSWnPIG/Y7x+elzcmKng2Qpvh8QaqdPo0OABizTjco8YO8r5xZNQfE58YHq7lWR+PKwHyxg==
+  /@babel/plugin-syntax-dynamic-import/7.8.3:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
+  /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
+  /@babel/plugin-syntax-export-default-from/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-dP5eGg6tHEkhnRD2/vRG/KJKRSg8gtxu2i+P/8/yFPJn/CfPU5G0/7Gks2i3M6IOVAPQekmsLN9LPsmXFFL4Uw==
+  /@babel/plugin-syntax-export-default-from/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-dP5eGg6tHEkhnRD2/vRG/KJKRSg8gtxu2i+P/8/yFPJn/CfPU5G0/7Gks2i3M6IOVAPQekmsLN9LPsmXFFL4Uw==
+  /@babel/plugin-syntax-export-namespace-from/7.8.3:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==
+  /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==
+  /@babel/plugin-syntax-function-bind/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-YN14nxb0Q3/M7AUDnwnjFYpUylysfZ4KY/byhIz5PN7JyMJldjuUS+UmV7bOL6crQ0M69tuoevD/AlOveDeyMQ==
+  /@babel/plugin-syntax-function-bind/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-YN14nxb0Q3/M7AUDnwnjFYpUylysfZ4KY/byhIz5PN7JyMJldjuUS+UmV7bOL6crQ0M69tuoevD/AlOveDeyMQ==
+  /@babel/plugin-syntax-function-sent/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-mtBQvNHcIzLnmQZhgzigzrgFzIe95WvBXJuTN0m4CvhDK0gRNQ2MC2AVSzB6w7VnVh/z5+0iHFcbfqKMlFwTkQ==
+  /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
+  /@babel/plugin-syntax-json-strings/7.8.3:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
+  /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
+  /@babel/plugin-syntax-jsx/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==
+  /@babel/plugin-syntax-jsx/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==
+  /@babel/plugin-syntax-jsx/7.12.1_@babel+core@7.12.9:
+    dependencies:
+      '@babel/core': 7.12.9
+      '@babel/helper-plugin-utils': 7.10.4
+    dev: false
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==
+  /@babel/plugin-syntax-logical-assignment-operators/7.10.4:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
+  /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
+  /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
+  /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
+  /@babel/plugin-syntax-numeric-separator/7.10.4:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
+  /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
+  /@babel/plugin-syntax-object-rest-spread/7.8.3:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
+  /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
+  /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.12.9:
+    dependencies:
+      '@babel/core': 7.12.9
+      '@babel/helper-plugin-utils': 7.10.4
+    dev: false
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
+  /@babel/plugin-syntax-optional-catch-binding/7.8.3:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
+  /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
+  /@babel/plugin-syntax-optional-chaining/7.8.3:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
+  /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
+  /@babel/plugin-syntax-pipeline-operator/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-NazCTl1P9Kp+790g7gDRQEvhU0+OYbZVsuW45ThfgVCdUyhtxzFJeFrzY6BX/u/NfFyXWbKAIl6wR0PhJWwyDA==
+  /@babel/plugin-syntax-pipeline-operator/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-NazCTl1P9Kp+790g7gDRQEvhU0+OYbZVsuW45ThfgVCdUyhtxzFJeFrzY6BX/u/NfFyXWbKAIl6wR0PhJWwyDA==
+  /@babel/plugin-syntax-throw-expressions/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-+8FLGK1PYYB7D8tU9U5zX23fnzkpxw4a7lAyyZbgk6b6bN0k2dft/xwcxIE+86i54wLJ83BaAboh2Ow6wf6jHw==
+  /@babel/plugin-syntax-top-level-await/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==
+  /@babel/plugin-syntax-top-level-await/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==
+  /@babel/plugin-syntax-typescript/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==
+  /@babel/plugin-syntax-typescript/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==
+  /@babel/plugin-transform-arrow-functions/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==
+  /@babel/plugin-transform-arrow-functions/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==
+  /@babel/plugin-transform-async-to-generator/7.12.1:
+    dependencies:
+      '@babel/helper-module-imports': 7.12.5
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-remap-async-to-generator': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==
+  /@babel/plugin-transform-async-to-generator/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-module-imports': 7.12.5
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-remap-async-to-generator': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==
+  /@babel/plugin-transform-block-scoped-functions/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==
+  /@babel/plugin-transform-block-scoped-functions/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==
+  /@babel/plugin-transform-block-scoping/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==
+  /@babel/plugin-transform-block-scoping/7.12.12_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==
+  /@babel/plugin-transform-block-scoping/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==
+  /@babel/plugin-transform-classes/7.12.1:
+    dependencies:
+      '@babel/helper-annotate-as-pure': 7.10.4
+      '@babel/helper-define-map': 7.10.5
+      '@babel/helper-function-name': 7.10.4
+      '@babel/helper-optimise-call-expression': 7.10.4
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-replace-supers': 7.12.5
+      '@babel/helper-split-export-declaration': 7.11.0
+      globals: 11.12.0
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==
+  /@babel/plugin-transform-classes/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-annotate-as-pure': 7.10.4
+      '@babel/helper-define-map': 7.10.5
+      '@babel/helper-function-name': 7.10.4
+      '@babel/helper-optimise-call-expression': 7.10.4
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-replace-supers': 7.12.5
+      '@babel/helper-split-export-declaration': 7.11.0
+      globals: 11.12.0
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==
+  /@babel/plugin-transform-computed-properties/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==
+  /@babel/plugin-transform-computed-properties/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==
+  /@babel/plugin-transform-destructuring/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==
+  /@babel/plugin-transform-destructuring/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==
+  /@babel/plugin-transform-dotall-regex/7.12.1:
+    dependencies:
+      '@babel/helper-create-regexp-features-plugin': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==
+  /@babel/plugin-transform-dotall-regex/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-create-regexp-features-plugin': 7.12.1_@babel+core@7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==
+  /@babel/plugin-transform-duplicate-keys/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==
+  /@babel/plugin-transform-duplicate-keys/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==
+  /@babel/plugin-transform-exponentiation-operator/7.12.1:
+    dependencies:
+      '@babel/helper-builder-binary-assignment-operator-visitor': 7.10.4
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==
+  /@babel/plugin-transform-exponentiation-operator/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-builder-binary-assignment-operator-visitor': 7.10.4
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==
+  /@babel/plugin-transform-for-of/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==
+  /@babel/plugin-transform-for-of/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==
+  /@babel/plugin-transform-function-name/7.12.1:
+    dependencies:
+      '@babel/helper-function-name': 7.10.4
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==
+  /@babel/plugin-transform-function-name/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-function-name': 7.10.4
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==
+  /@babel/plugin-transform-literals/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==
+  /@babel/plugin-transform-literals/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==
+  /@babel/plugin-transform-member-expression-literals/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==
+  /@babel/plugin-transform-member-expression-literals/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==
+  /@babel/plugin-transform-modules-amd/7.12.1:
+    dependencies:
+      '@babel/helper-module-transforms': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+      babel-plugin-dynamic-import-node: 2.3.3
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==
+  /@babel/plugin-transform-modules-amd/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-module-transforms': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+      babel-plugin-dynamic-import-node: 2.3.3
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==
+  /@babel/plugin-transform-modules-commonjs/7.12.1:
+    dependencies:
+      '@babel/helper-module-transforms': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-simple-access': 7.12.1
+      babel-plugin-dynamic-import-node: 2.3.3
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==
+  /@babel/plugin-transform-modules-commonjs/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-module-transforms': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-simple-access': 7.12.1
+      babel-plugin-dynamic-import-node: 2.3.3
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==
+  /@babel/plugin-transform-modules-systemjs/7.12.1:
+    dependencies:
+      '@babel/helper-hoist-variables': 7.10.4
+      '@babel/helper-module-transforms': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-validator-identifier': 7.10.4
+      babel-plugin-dynamic-import-node: 2.3.3
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==
+  /@babel/plugin-transform-modules-systemjs/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-hoist-variables': 7.10.4
+      '@babel/helper-module-transforms': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-validator-identifier': 7.10.4
+      babel-plugin-dynamic-import-node: 2.3.3
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==
+  /@babel/plugin-transform-modules-umd/7.12.1:
+    dependencies:
+      '@babel/helper-module-transforms': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==
+  /@babel/plugin-transform-modules-umd/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-module-transforms': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==
+  /@babel/plugin-transform-named-capturing-groups-regex/7.12.1:
+    dependencies:
+      '@babel/helper-create-regexp-features-plugin': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    resolution:
+      integrity: sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==
+  /@babel/plugin-transform-named-capturing-groups-regex/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-create-regexp-features-plugin': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    resolution:
+      integrity: sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==
+  /@babel/plugin-transform-new-target/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==
+  /@babel/plugin-transform-new-target/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==
+  /@babel/plugin-transform-object-super/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-replace-supers': 7.12.5
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==
+  /@babel/plugin-transform-object-super/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-replace-supers': 7.12.5
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==
+  /@babel/plugin-transform-parameters/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==
+  /@babel/plugin-transform-parameters/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==
+  /@babel/plugin-transform-parameters/7.12.1_@babel+core@7.12.9:
+    dependencies:
+      '@babel/core': 7.12.9
+      '@babel/helper-plugin-utils': 7.10.4
+    dev: false
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==
+  /@babel/plugin-transform-property-literals/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==
+  /@babel/plugin-transform-property-literals/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==
+  /@babel/plugin-transform-react-constant-elements/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-KOHd0tIRLoER+J+8f9DblZDa1fLGPwaaN1DI1TVHuQFOpjHV22C3CUB3obeC4fexHY9nx+fH0hQNvLFFfA1mxA==
+  /@babel/plugin-transform-react-display-name/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==
+  /@babel/plugin-transform-react-display-name/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==
+  /@babel/plugin-transform-react-jsx-development/7.12.12_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/plugin-transform-react-jsx': 7.12.12_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-i1AxnKxHeMxUaWVXQOSIco4tvVvvCxMSfeBMnMM06mpaJt3g+MpxYQQrDfojUQldP1xxraPSJYSMEljoWM/dCg==
+  /@babel/plugin-transform-react-jsx-development/7.12.7:
+    dependencies:
+      '@babel/helper-builder-react-jsx-experimental': 7.12.4
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-jsx': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-Rs3ETtMtR3VLXFeYRChle5SsP/P9Jp/6dsewBQfokDSzKJThlsuFcnzLTDRALiUmTC48ej19YD9uN1mupEeEDg==
+  /@babel/plugin-transform-react-jsx-development/7.12.7_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-builder-react-jsx-experimental': 7.12.4
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-Rs3ETtMtR3VLXFeYRChle5SsP/P9Jp/6dsewBQfokDSzKJThlsuFcnzLTDRALiUmTC48ej19YD9uN1mupEeEDg==
+  /@babel/plugin-transform-react-jsx-self/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-FbpL0ieNWiiBB5tCldX17EtXgmzeEZjFrix72rQYeq9X6nUK38HCaxexzVQrZWXanxKJPKVVIU37gFjEQYkPkA==
+  /@babel/plugin-transform-react-jsx-self/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-FbpL0ieNWiiBB5tCldX17EtXgmzeEZjFrix72rQYeq9X6nUK38HCaxexzVQrZWXanxKJPKVVIU37gFjEQYkPkA==
+  /@babel/plugin-transform-react-jsx-source/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-keQ5kBfjJNRc6zZN1/nVHCd6LLIHq4aUKcVnvE/2l+ZZROSbqoiGFRtT5t3Is89XJxBQaP7NLZX2jgGHdZvvFQ==
+  /@babel/plugin-transform-react-jsx-source/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-keQ5kBfjJNRc6zZN1/nVHCd6LLIHq4aUKcVnvE/2l+ZZROSbqoiGFRtT5t3Is89XJxBQaP7NLZX2jgGHdZvvFQ==
+  /@babel/plugin-transform-react-jsx/7.12.12_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-annotate-as-pure': 7.12.10
+      '@babel/helper-module-imports': 7.12.5
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.10
+      '@babel/types': 7.12.12
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==
+  /@babel/plugin-transform-react-jsx/7.12.7:
+    dependencies:
+      '@babel/helper-builder-react-jsx': 7.10.4
+      '@babel/helper-builder-react-jsx-experimental': 7.12.4
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-jsx': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-YFlTi6MEsclFAPIDNZYiCRbneg1MFGao9pPG9uD5htwE0vDbPaMUMeYd6itWjw7K4kro4UbdQf3ljmFl9y48dQ==
+  /@babel/plugin-transform-react-jsx/7.12.7_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-builder-react-jsx': 7.10.4
+      '@babel/helper-builder-react-jsx-experimental': 7.12.4
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-YFlTi6MEsclFAPIDNZYiCRbneg1MFGao9pPG9uD5htwE0vDbPaMUMeYd6itWjw7K4kro4UbdQf3ljmFl9y48dQ==
+  /@babel/plugin-transform-react-pure-annotations/7.12.1:
+    dependencies:
+      '@babel/helper-annotate-as-pure': 7.10.4
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==
+  /@babel/plugin-transform-react-pure-annotations/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-annotate-as-pure': 7.10.4
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==
+  /@babel/plugin-transform-regenerator/7.12.1:
+    dependencies:
+      regenerator-transform: 0.14.5
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==
+  /@babel/plugin-transform-regenerator/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      regenerator-transform: 0.14.5
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==
+  /@babel/plugin-transform-reserved-words/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==
+  /@babel/plugin-transform-reserved-words/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==
+  /@babel/plugin-transform-runtime/7.12.1:
+    dependencies:
+      '@babel/helper-module-imports': 7.12.5
+      '@babel/helper-plugin-utils': 7.10.4
+      resolve: 1.19.0
+      semver: 5.7.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg==
+  /@babel/plugin-transform-runtime/7.12.10_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-module-imports': 7.12.5
+      '@babel/helper-plugin-utils': 7.10.4
+      semver: 5.7.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==
+  /@babel/plugin-transform-runtime/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-module-imports': 7.12.5
+      '@babel/helper-plugin-utils': 7.10.4
+      resolve: 1.19.0
+      semver: 5.7.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg==
+  /@babel/plugin-transform-shorthand-properties/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==
+  /@babel/plugin-transform-shorthand-properties/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==
+  /@babel/plugin-transform-spread/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-skip-transparent-expression-wrappers': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==
+  /@babel/plugin-transform-spread/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-skip-transparent-expression-wrappers': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==
+  /@babel/plugin-transform-sticky-regex/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-regex': 7.10.5
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ==
+  /@babel/plugin-transform-sticky-regex/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-regex': 7.10.5
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ==
+  /@babel/plugin-transform-sticky-regex/7.12.7_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==
+  /@babel/plugin-transform-template-literals/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==
+  /@babel/plugin-transform-template-literals/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==
+  /@babel/plugin-transform-typeof-symbol/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q==
+  /@babel/plugin-transform-typeof-symbol/7.12.10_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==
+  /@babel/plugin-transform-typeof-symbol/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q==
+  /@babel/plugin-transform-typescript/7.12.0:
+    dependencies:
+      '@babel/helper-create-class-features-plugin': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-typescript': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-gahRNAWgE76hjI3TZPVEfV7vGjOCJi5ACd4eSoAItk/ErC114i2UHnk+1ScS2dOour0p6J6kB99hNFX2vzL2Ww==
+  /@babel/plugin-transform-typescript/7.12.0_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-create-class-features-plugin': 7.12.1_@babel+core@7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-typescript': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-gahRNAWgE76hjI3TZPVEfV7vGjOCJi5ACd4eSoAItk/ErC114i2UHnk+1ScS2dOour0p6J6kB99hNFX2vzL2Ww==
+  /@babel/plugin-transform-typescript/7.12.1:
+    dependencies:
+      '@babel/helper-create-class-features-plugin': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-typescript': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==
+  /@babel/plugin-transform-typescript/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-create-class-features-plugin': 7.12.1_@babel+core@7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-syntax-typescript': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==
+  /@babel/plugin-transform-unicode-escapes/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==
+  /@babel/plugin-transform-unicode-escapes/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==
+  /@babel/plugin-transform-unicode-regex/7.12.1:
+    dependencies:
+      '@babel/helper-create-regexp-features-plugin': 7.12.1
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==
+  /@babel/plugin-transform-unicode-regex/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-create-regexp-features-plugin': 7.12.1_@babel+core@7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==
+  /@babel/preset-env/7.12.1:
+    dependencies:
+      '@babel/compat-data': 7.12.5
+      '@babel/helper-compilation-targets': 7.12.5
+      '@babel/helper-module-imports': 7.12.5
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-validator-option': 7.12.1
+      '@babel/plugin-proposal-async-generator-functions': 7.12.1
+      '@babel/plugin-proposal-class-properties': 7.12.1
+      '@babel/plugin-proposal-dynamic-import': 7.12.1
+      '@babel/plugin-proposal-export-namespace-from': 7.12.1
+      '@babel/plugin-proposal-json-strings': 7.12.1
+      '@babel/plugin-proposal-logical-assignment-operators': 7.12.1
+      '@babel/plugin-proposal-nullish-coalescing-operator': 7.12.1
+      '@babel/plugin-proposal-numeric-separator': 7.12.5
+      '@babel/plugin-proposal-object-rest-spread': 7.12.1
+      '@babel/plugin-proposal-optional-catch-binding': 7.12.1
+      '@babel/plugin-proposal-optional-chaining': 7.12.1
+      '@babel/plugin-proposal-private-methods': 7.12.1
+      '@babel/plugin-proposal-unicode-property-regex': 7.12.1
+      '@babel/plugin-syntax-async-generators': 7.8.4
+      '@babel/plugin-syntax-class-properties': 7.12.1
+      '@babel/plugin-syntax-dynamic-import': 7.8.3
+      '@babel/plugin-syntax-export-namespace-from': 7.8.3
+      '@babel/plugin-syntax-json-strings': 7.8.3
+      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4
+      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3
+      '@babel/plugin-syntax-numeric-separator': 7.10.4
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3
+      '@babel/plugin-syntax-optional-catch-binding': 7.8.3
+      '@babel/plugin-syntax-optional-chaining': 7.8.3
+      '@babel/plugin-syntax-top-level-await': 7.12.1
+      '@babel/plugin-transform-arrow-functions': 7.12.1
+      '@babel/plugin-transform-async-to-generator': 7.12.1
+      '@babel/plugin-transform-block-scoped-functions': 7.12.1
+      '@babel/plugin-transform-block-scoping': 7.12.1
+      '@babel/plugin-transform-classes': 7.12.1
+      '@babel/plugin-transform-computed-properties': 7.12.1
+      '@babel/plugin-transform-destructuring': 7.12.1
+      '@babel/plugin-transform-dotall-regex': 7.12.1
+      '@babel/plugin-transform-duplicate-keys': 7.12.1
+      '@babel/plugin-transform-exponentiation-operator': 7.12.1
+      '@babel/plugin-transform-for-of': 7.12.1
+      '@babel/plugin-transform-function-name': 7.12.1
+      '@babel/plugin-transform-literals': 7.12.1
+      '@babel/plugin-transform-member-expression-literals': 7.12.1
+      '@babel/plugin-transform-modules-amd': 7.12.1
+      '@babel/plugin-transform-modules-commonjs': 7.12.1
+      '@babel/plugin-transform-modules-systemjs': 7.12.1
+      '@babel/plugin-transform-modules-umd': 7.12.1
+      '@babel/plugin-transform-named-capturing-groups-regex': 7.12.1
+      '@babel/plugin-transform-new-target': 7.12.1
+      '@babel/plugin-transform-object-super': 7.12.1
+      '@babel/plugin-transform-parameters': 7.12.1
+      '@babel/plugin-transform-property-literals': 7.12.1
+      '@babel/plugin-transform-regenerator': 7.12.1
+      '@babel/plugin-transform-reserved-words': 7.12.1
+      '@babel/plugin-transform-shorthand-properties': 7.12.1
+      '@babel/plugin-transform-spread': 7.12.1
+      '@babel/plugin-transform-sticky-regex': 7.12.1
+      '@babel/plugin-transform-template-literals': 7.12.1
+      '@babel/plugin-transform-typeof-symbol': 7.12.1
+      '@babel/plugin-transform-unicode-escapes': 7.12.1
+      '@babel/plugin-transform-unicode-regex': 7.12.1
+      '@babel/preset-modules': 0.1.4
+      '@babel/types': 7.12.6
+      core-js-compat: 3.7.0
+      semver: 5.7.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==
+  /@babel/preset-env/7.12.11_@babel+core@7.12.10:
+    dependencies:
+      '@babel/compat-data': 7.12.7
+      '@babel/core': 7.12.10
+      '@babel/helper-compilation-targets': 7.12.5_@babel+core@7.12.10
+      '@babel/helper-module-imports': 7.12.5
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-validator-option': 7.12.11
+      '@babel/plugin-proposal-async-generator-functions': 7.12.12_@babel+core@7.12.10
+      '@babel/plugin-proposal-class-properties': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-dynamic-import': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-export-namespace-from': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-json-strings': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-logical-assignment-operators': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-nullish-coalescing-operator': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-numeric-separator': 7.12.7_@babel+core@7.12.10
+      '@babel/plugin-proposal-object-rest-spread': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-optional-catch-binding': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-optional-chaining': 7.12.7_@babel+core@7.12.10
+      '@babel/plugin-proposal-private-methods': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-unicode-property-regex': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.12.10
+      '@babel/plugin-syntax-class-properties': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.12.10
+      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.12.10
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-syntax-top-level-await': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-arrow-functions': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-async-to-generator': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-block-scoped-functions': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-block-scoping': 7.12.12_@babel+core@7.12.10
+      '@babel/plugin-transform-classes': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-computed-properties': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-destructuring': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-dotall-regex': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-duplicate-keys': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-exponentiation-operator': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-for-of': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-function-name': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-literals': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-member-expression-literals': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-modules-amd': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-modules-commonjs': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-modules-systemjs': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-modules-umd': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-named-capturing-groups-regex': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-new-target': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-object-super': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-parameters': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-property-literals': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-regenerator': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-reserved-words': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-shorthand-properties': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-spread': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-sticky-regex': 7.12.7_@babel+core@7.12.10
+      '@babel/plugin-transform-template-literals': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-typeof-symbol': 7.12.10_@babel+core@7.12.10
+      '@babel/plugin-transform-unicode-escapes': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-unicode-regex': 7.12.1_@babel+core@7.12.10
+      '@babel/preset-modules': 0.1.4_@babel+core@7.12.10
+      '@babel/types': 7.12.12
+      core-js-compat: 3.8.3
+      semver: 5.7.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==
+  /@babel/preset-env/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/compat-data': 7.12.5
+      '@babel/core': 7.12.10
+      '@babel/helper-compilation-targets': 7.12.5_@babel+core@7.12.10
+      '@babel/helper-module-imports': 7.12.5
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-validator-option': 7.12.1
+      '@babel/plugin-proposal-async-generator-functions': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-class-properties': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-dynamic-import': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-export-namespace-from': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-json-strings': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-logical-assignment-operators': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-nullish-coalescing-operator': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-numeric-separator': 7.12.5_@babel+core@7.12.10
+      '@babel/plugin-proposal-object-rest-spread': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-optional-catch-binding': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-optional-chaining': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-private-methods': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-unicode-property-regex': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.12.10
+      '@babel/plugin-syntax-class-properties': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.12.10
+      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.12.10
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-syntax-top-level-await': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-arrow-functions': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-async-to-generator': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-block-scoped-functions': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-block-scoping': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-classes': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-computed-properties': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-destructuring': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-dotall-regex': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-duplicate-keys': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-exponentiation-operator': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-for-of': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-function-name': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-literals': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-member-expression-literals': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-modules-amd': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-modules-commonjs': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-modules-systemjs': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-modules-umd': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-named-capturing-groups-regex': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-new-target': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-object-super': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-parameters': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-property-literals': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-regenerator': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-reserved-words': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-shorthand-properties': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-spread': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-sticky-regex': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-template-literals': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-typeof-symbol': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-unicode-escapes': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-unicode-regex': 7.12.1_@babel+core@7.12.10
+      '@babel/preset-modules': 0.1.4_@babel+core@7.12.10
+      '@babel/types': 7.12.6
+      core-js-compat: 3.7.0
+      semver: 5.7.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==
+  /@babel/preset-modules/0.1.4:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-proposal-unicode-property-regex': 7.12.1
+      '@babel/plugin-transform-dotall-regex': 7.12.1
+      '@babel/types': 7.12.6
+      esutils: 2.0.3
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==
+  /@babel/preset-modules/0.1.4_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-proposal-unicode-property-regex': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-dotall-regex': 7.12.1_@babel+core@7.12.10
+      '@babel/types': 7.12.6
+      esutils: 2.0.3
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==
+  /@babel/preset-react/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-transform-react-display-name': 7.12.1
+      '@babel/plugin-transform-react-jsx': 7.12.7
+      '@babel/plugin-transform-react-jsx-development': 7.12.7
+      '@babel/plugin-transform-react-jsx-self': 7.12.1
+      '@babel/plugin-transform-react-jsx-source': 7.12.1
+      '@babel/plugin-transform-react-pure-annotations': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g==
+  /@babel/preset-react/7.12.10_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-transform-react-display-name': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-react-jsx': 7.12.12_@babel+core@7.12.10
+      '@babel/plugin-transform-react-jsx-development': 7.12.12_@babel+core@7.12.10
+      '@babel/plugin-transform-react-pure-annotations': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-vtQNjaHRl4DUpp+t+g4wvTHsLQuye+n0H/wsXIZRn69oz/fvNC7gQ4IK73zGJBaxvHoxElDvnYCthMcT7uzFoQ==
+  /@babel/preset-react/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-transform-react-display-name': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-react-jsx': 7.12.7_@babel+core@7.12.10
+      '@babel/plugin-transform-react-jsx-development': 7.12.7_@babel+core@7.12.10
+      '@babel/plugin-transform-react-jsx-self': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-react-jsx-source': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-react-pure-annotations': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g==
+  /@babel/preset-typescript/7.12.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-transform-typescript': 7.12.1
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw==
+  /@babel/preset-typescript/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-transform-typescript': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw==
+  /@babel/preset-typescript/7.12.7_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/helper-validator-option': 7.12.11
+      '@babel/plugin-transform-typescript': 7.12.1_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-nOoIqIqBmHBSEgBXWR4Dv/XBehtIFcw9PqZw6rFYuKrzsZmOQm3PR5siLBnKZFEsDb03IegG8nSjU/iXXXYRmw==
+  /@babel/register/7.12.1:
+    dependencies:
+      find-cache-dir: 2.1.0
+      lodash: 4.17.20
+      make-dir: 2.1.0
+      pirates: 4.0.1
+      source-map-support: 0.5.19
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q==
+  /@babel/register/7.12.1_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      find-cache-dir: 2.1.0
+      lodash: 4.17.20
+      make-dir: 2.1.0
+      pirates: 4.0.1
+      source-map-support: 0.5.19
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    resolution:
+      integrity: sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q==
+  /@babel/runtime/7.12.5:
+    dependencies:
+      regenerator-runtime: 0.13.7
+    resolution:
+      integrity: sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==
+  /@babel/runtime/7.14.0:
+    dependencies:
+      regenerator-runtime: 0.13.7
+    dev: false
+    resolution:
+      integrity: sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==
+  /@babel/template/7.10.4:
+    dependencies:
+      '@babel/code-frame': 7.10.4
+      '@babel/parser': 7.12.5
+      '@babel/types': 7.12.6
+    resolution:
+      integrity: sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==
+  /@babel/template/7.12.7:
+    dependencies:
+      '@babel/code-frame': 7.12.11
+      '@babel/parser': 7.12.11
+      '@babel/types': 7.12.12
+    resolution:
+      integrity: sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==
+  /@babel/traverse/7.12.10:
+    dependencies:
+      '@babel/code-frame': 7.10.4
+      '@babel/generator': 7.12.10
+      '@babel/helper-function-name': 7.10.4
+      '@babel/helper-split-export-declaration': 7.11.0
+      '@babel/parser': 7.12.10
+      '@babel/types': 7.12.10
+      debug: 4.3.1
+      globals: 11.12.0
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==
+  /@babel/traverse/7.12.12:
+    dependencies:
+      '@babel/code-frame': 7.12.11
+      '@babel/generator': 7.12.11
+      '@babel/helper-function-name': 7.12.11
+      '@babel/helper-split-export-declaration': 7.12.11
+      '@babel/parser': 7.12.11
+      '@babel/types': 7.12.12
+      debug: 4.3.1
+      globals: 11.12.0
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==
+  /@babel/traverse/7.12.12_supports-color@5.5.0:
+    dependencies:
+      '@babel/code-frame': 7.12.11
+      '@babel/generator': 7.12.11
+      '@babel/helper-function-name': 7.12.11
+      '@babel/helper-split-export-declaration': 7.12.11
+      '@babel/parser': 7.12.11
+      '@babel/types': 7.12.12
+      debug: 4.3.1_supports-color@5.5.0
+      globals: 11.12.0
+      lodash: 4.17.20
+    dev: false
+    peerDependencies:
+      supports-color: '*'
+    resolution:
+      integrity: sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==
+  /@babel/traverse/7.12.5:
+    dependencies:
+      '@babel/code-frame': 7.10.4
+      '@babel/generator': 7.12.5
+      '@babel/helper-function-name': 7.10.4
+      '@babel/helper-split-export-declaration': 7.11.0
+      '@babel/parser': 7.12.5
+      '@babel/types': 7.12.6
+      debug: 4.2.0
+      globals: 11.12.0
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA==
+  /@babel/types/7.12.10:
+    dependencies:
+      '@babel/helper-validator-identifier': 7.10.4
+      lodash: 4.17.20
+      to-fast-properties: 2.0.0
+    resolution:
+      integrity: sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==
+  /@babel/types/7.12.12:
+    dependencies:
+      '@babel/helper-validator-identifier': 7.12.11
+      lodash: 4.17.20
+      to-fast-properties: 2.0.0
+    resolution:
+      integrity: sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==
+  /@babel/types/7.12.6:
+    dependencies:
+      '@babel/helper-validator-identifier': 7.10.4
+      lodash: 4.17.20
+      to-fast-properties: 2.0.0
+    resolution:
+      integrity: sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==
+  /@babel/types/7.8.3:
+    dependencies:
+      esutils: 2.0.3
+      lodash: 4.17.20
+      to-fast-properties: 2.0.0
+    dev: false
+    resolution:
+      integrity: sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==
+  /@cnakazawa/watch/1.0.4:
+    dependencies:
+      exec-sh: 0.3.4
+      minimist: 1.2.5
+    engines:
+      node: '>=0.1.95'
+    hasBin: true
+    resolution:
+      integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==
+  /@discoveryjs/json-ext/0.5.2:
+    dev: true
+    engines:
+      node: '>=10.0.0'
+    resolution:
+      integrity: sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==
+  /@emotion/cache/10.0.29:
+    dependencies:
+      '@emotion/sheet': 0.9.4
+      '@emotion/stylis': 0.8.5
+      '@emotion/utils': 0.11.3
+      '@emotion/weak-memoize': 0.2.5
+    dev: false
+    resolution:
+      integrity: sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==
+  /@emotion/core/10.1.1_react@17.0.1:
+    dependencies:
+      '@babel/runtime': 7.12.5
+      '@emotion/cache': 10.0.29
+      '@emotion/css': 10.0.27
+      '@emotion/serialize': 0.11.16
+      '@emotion/sheet': 0.9.4
+      '@emotion/utils': 0.11.3
+      react: 17.0.1
+    dev: false
+    peerDependencies:
+      react: '>=16.3.0'
+    resolution:
+      integrity: sha512-ZMLG6qpXR8x031NXD8HJqugy/AZSkAuMxxqB46pmAR7ze47MhNJ56cdoX243QPZdGctrdfo+s08yZTiwaUcRKA==
+  /@emotion/css/10.0.27:
+    dependencies:
+      '@emotion/serialize': 0.11.16
+      '@emotion/utils': 0.11.3
+      babel-plugin-emotion: 10.0.33
+    dev: false
+    resolution:
+      integrity: sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==
+  /@emotion/hash/0.8.0:
+    dev: false
+    resolution:
+      integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
+  /@emotion/is-prop-valid/0.8.8:
+    dependencies:
+      '@emotion/memoize': 0.7.4
+    dev: false
+    resolution:
+      integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==
+  /@emotion/memoize/0.7.4:
+    dev: false
+    resolution:
+      integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==
+  /@emotion/serialize/0.11.16:
+    dependencies:
+      '@emotion/hash': 0.8.0
+      '@emotion/memoize': 0.7.4
+      '@emotion/unitless': 0.7.5
+      '@emotion/utils': 0.11.3
+      csstype: 2.6.14
+    dev: false
+    resolution:
+      integrity: sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==
+  /@emotion/sheet/0.9.4:
+    dev: false
+    resolution:
+      integrity: sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==
+  /@emotion/stylis/0.8.5:
+    dev: false
+    resolution:
+      integrity: sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==
+  /@emotion/unitless/0.7.5:
+    dev: false
+    resolution:
+      integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
+  /@emotion/utils/0.11.3:
+    dev: false
+    resolution:
+      integrity: sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==
+  /@emotion/weak-memoize/0.2.5:
+    dev: false
+    resolution:
+      integrity: sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==
+  /@hapi/accept/5.0.1:
+    dependencies:
+      '@hapi/boom': 9.1.1
+      '@hapi/hoek': 9.1.1
+    dev: false
+    resolution:
+      integrity: sha512-fMr4d7zLzsAXo28PRRQPXR1o2Wmu+6z+VY1UzDp0iFo13Twj8WePakwXBiqn3E1aAlTpSNzCXdnnQXFhst8h8Q==
+  /@hapi/boom/9.1.1:
+    dependencies:
+      '@hapi/hoek': 9.1.1
+    dev: false
+    resolution:
+      integrity: sha512-VNR8eDbBrOxBgbkddRYIe7+8DZ+vSbV6qlmaN2x7eWjsUjy2VmQgChkOKcVZIeupEZYj+I0dqNg430OhwzagjA==
+  /@hapi/hoek/9.1.1:
+    dev: false
+    resolution:
+      integrity: sha512-CAEbWH7OIur6jEOzaai83jq3FmKmv4PmX1JYfs9IrYcGEVI/lyL1EXJGCj7eFVJ0bg5QR8LMxBlEtA+xKiLpFw==
+  /@jest/console/24.9.0:
+    dependencies:
+      '@jest/source-map': 24.9.0
+      chalk: 2.4.2
+      slash: 2.0.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==
+  /@jest/core/24.9.0:
+    dependencies:
+      '@jest/console': 24.9.0
+      '@jest/reporters': 24.9.0
+      '@jest/test-result': 24.9.0
+      '@jest/transform': 24.9.0
+      '@jest/types': 24.9.0
+      ansi-escapes: 3.2.0
+      chalk: 2.4.2
+      exit: 0.1.2
+      graceful-fs: 4.2.4
+      jest-changed-files: 24.9.0
+      jest-config: 24.9.0
+      jest-haste-map: 24.9.0
+      jest-message-util: 24.9.0
+      jest-regex-util: 24.9.0
+      jest-resolve: 24.9.0
+      jest-resolve-dependencies: 24.9.0
+      jest-runner: 24.9.0
+      jest-runtime: 24.9.0
+      jest-snapshot: 24.9.0
+      jest-util: 24.9.0
+      jest-validate: 24.9.0
+      jest-watcher: 24.9.0
+      micromatch: 3.1.10
+      p-each-series: 1.0.0
+      realpath-native: 1.1.0
+      rimraf: 2.7.1
+      slash: 2.0.0
+      strip-ansi: 5.2.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==
+  /@jest/environment/24.9.0:
+    dependencies:
+      '@jest/fake-timers': 24.9.0
+      '@jest/transform': 24.9.0
+      '@jest/types': 24.9.0
+      jest-mock: 24.9.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==
+  /@jest/fake-timers/24.9.0:
+    dependencies:
+      '@jest/types': 24.9.0
+      jest-message-util: 24.9.0
+      jest-mock: 24.9.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==
+  /@jest/reporters/24.9.0:
+    dependencies:
+      '@jest/environment': 24.9.0
+      '@jest/test-result': 24.9.0
+      '@jest/transform': 24.9.0
+      '@jest/types': 24.9.0
+      chalk: 2.4.2
+      exit: 0.1.2
+      glob: 7.1.6
+      istanbul-lib-coverage: 2.0.5
+      istanbul-lib-instrument: 3.3.0
+      istanbul-lib-report: 2.0.8
+      istanbul-lib-source-maps: 3.0.6
+      istanbul-reports: 2.2.7
+      jest-haste-map: 24.9.0
+      jest-resolve: 24.9.0
+      jest-runtime: 24.9.0
+      jest-util: 24.9.0
+      jest-worker: 24.9.0
+      node-notifier: 5.4.3
+      slash: 2.0.0
+      source-map: 0.6.1
+      string-length: 2.0.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==
+  /@jest/source-map/24.9.0:
+    dependencies:
+      callsites: 3.1.0
+      graceful-fs: 4.2.4
+      source-map: 0.6.1
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==
+  /@jest/test-result/24.9.0:
+    dependencies:
+      '@jest/console': 24.9.0
+      '@jest/types': 24.9.0
+      '@types/istanbul-lib-coverage': 2.0.3
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==
+  /@jest/test-sequencer/24.9.0:
+    dependencies:
+      '@jest/test-result': 24.9.0
+      jest-haste-map: 24.9.0
+      jest-runner: 24.9.0
+      jest-runtime: 24.9.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==
+  /@jest/transform/24.9.0:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@jest/types': 24.9.0
+      babel-plugin-istanbul: 5.2.0
+      chalk: 2.4.2
+      convert-source-map: 1.7.0
+      fast-json-stable-stringify: 2.1.0
+      graceful-fs: 4.2.4
+      jest-haste-map: 24.9.0
+      jest-regex-util: 24.9.0
+      jest-util: 24.9.0
+      micromatch: 3.1.10
+      pirates: 4.0.1
+      realpath-native: 1.1.0
+      slash: 2.0.0
+      source-map: 0.6.1
+      write-file-atomic: 2.4.1
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==
+  /@jest/types/24.9.0:
+    dependencies:
+      '@types/istanbul-lib-coverage': 2.0.3
+      '@types/istanbul-reports': 1.1.2
+      '@types/yargs': 13.0.11
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==
+  /@mapbox/hast-util-table-cell-style/0.1.3:
+    dependencies:
+      unist-util-visit: 1.4.1
+    dev: false
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-QsEsh5YaDvHoMQ2YHdvZy2iDnU3GgKVBTcHf6cILyoWDZtPSdlG444pL/ioPYO/GpXSfODBb9sefEetfC4v9oA==
+  /@mdx-js/mdx/1.6.22:
+    dependencies:
+      '@babel/core': 7.12.9
+      '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.9
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.12.9
+      '@mdx-js/util': 1.6.22
+      babel-plugin-apply-mdx-type-prop: 1.6.22_@babel+core@7.12.9
+      babel-plugin-extract-import-names: 1.6.22
+      camelcase-css: 2.0.1
+      detab: 2.0.4
+      hast-util-raw: 6.0.1
+      lodash.uniq: 4.5.0
+      mdast-util-to-hast: 10.0.1
+      remark-footnotes: 2.0.0
+      remark-mdx: 1.6.22
+      remark-parse: 8.0.3
+      remark-squeeze-paragraphs: 4.0.0
+      style-to-object: 0.3.0
+      unified: 9.2.0
+      unist-builder: 2.0.3
+      unist-util-visit: 2.0.3
+    dev: false
+    resolution:
+      integrity: sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==
+  /@mdx-js/react/1.6.22:
+    dev: false
+    peerDependencies:
+      react: ^16.13.1 || ^17.0.0
+    resolution:
+      integrity: sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==
+  /@mdx-js/util/1.6.22:
+    dev: false
+    resolution:
+      integrity: sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==
+  /@mrmlnc/readdir-enhanced/2.2.1:
+    dependencies:
+      call-me-maybe: 1.0.1
+      glob-to-regexp: 0.3.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==
+  /@next/env/10.0.5:
+    dev: false
+    resolution:
+      integrity: sha512-dw6Q7PALIo7nTFfaB4OnRDte3EikrApGtjX/4cRmYXLh+uudDI50aS39MaGeKKZ2mxPKoNiFcY6Slv1f6KIPOw==
+  /@next/polyfill-module/10.0.5:
+    dev: false
+    resolution:
+      integrity: sha512-R6ySTTIl6yqyO3Xft7h+QR9Z4e6epEw+AGO125CrwPmCDQ8ASLGltsHYvSHBP7Eae7xaorkXHW0jeI8NewLpew==
+  /@next/react-dev-overlay/10.0.5_9bc0526c8b535b2dad29bb0e3840dff1:
+    dependencies:
+      '@babel/code-frame': 7.12.11
+      anser: 1.4.9
+      chalk: 4.0.0
+      classnames: 2.2.6
+      css.escape: 1.5.1
+      data-uri-to-buffer: 3.0.1
+      platform: 1.3.6
+      react: 17.0.1
+      react-dom: 17.0.1_react@17.0.1
+      shell-quote: 1.7.2
+      source-map: 0.8.0-beta.0
+      stacktrace-parser: 0.1.10
+      strip-ansi: 6.0.0
+      webpack: 4.44.1
+    dev: false
+    peerDependencies:
+      react: ^16.9.0 || ^17
+      react-dom: ^16.9.0 || ^17
+      webpack: ^4 || ^5
+    resolution:
+      integrity: sha512-olqIaaRvFezzi02V/AYwvmrGbShUNrJDvyZTGNahxXEkiYsuu67llY5IKFM5Oya93/eRqaCCKMn89vpvYtvDcw==
+  /@next/react-refresh-utils/10.0.5_66609d456e1c4fc52398fef065f8d988:
+    dependencies:
+      react-refresh: 0.8.3
+      webpack: 4.44.1
+    dev: false
+    peerDependencies:
+      react-refresh: 0.8.3
+      webpack: ^4 || ^5
+    resolution:
+      integrity: sha512-Eo+nvW1ZhdkuxBWSsKHGDLNspUaJJQClld9R+H+EtiIuAQtTa8f2rhcQeyUOtvUNQoPyq7Em2PwUqOQD6LOOMA==
+  /@nicolo-ribaudo/chokidar-2/2.1.8-no-fsevents:
+    dependencies:
+      anymatch: 2.0.0
+      async-each: 1.0.3
+      braces: 2.3.2
+      glob-parent: 3.1.0
+      inherits: 2.0.4
+      is-binary-path: 1.0.1
+      is-glob: 4.0.1
+      normalize-path: 3.0.0
+      path-is-absolute: 1.0.1
+      readdirp: 2.2.1
+      upath: 1.2.0
+    dev: true
+    optional: true
+    resolution:
+      integrity: sha512-+nb9vWloHNNMFHjGofEam3wopE3m1yuambrrd/fnPc+lFOMB9ROTqQlche9ByFWNkdNqfSgR/kkQtQ8DzEWt2w==
+  /@nodelib/fs.scandir/2.1.4:
+    dependencies:
+      '@nodelib/fs.stat': 2.0.4
+      run-parallel: 1.1.10
+    dev: true
+    engines:
+      node: '>= 8'
+    resolution:
+      integrity: sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==
+  /@nodelib/fs.stat/1.1.3:
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
+  /@nodelib/fs.stat/2.0.4:
+    dev: true
+    engines:
+      node: '>= 8'
+    resolution:
+      integrity: sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==
+  /@nodelib/fs.walk/1.2.6:
+    dependencies:
+      '@nodelib/fs.scandir': 2.1.4
+      fastq: 1.10.1
+    dev: true
+    engines:
+      node: '>= 8'
+    resolution:
+      integrity: sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==
+  /@opentelemetry/api/0.14.0:
+    dependencies:
+      '@opentelemetry/context-base': 0.14.0
+    dev: false
+    engines:
+      node: '>=8.0.0'
+    resolution:
+      integrity: sha512-L7RMuZr5LzMmZiQSQDy9O1jo0q+DaLy6XpYJfIGfYSfoJA5qzYwUP3sP1uMIQ549DvxAgM3ng85EaPTM/hUHwQ==
+  /@opentelemetry/context-base/0.14.0:
+    dev: false
+    engines:
+      node: '>=8.0.0'
+    resolution:
+      integrity: sha512-sDOAZcYwynHFTbLo6n8kIbLiVF3a3BLkrmehJUyEbT9F+Smbi47kLGS2gG2g0fjBLR/Lr1InPD7kXL7FaTqEkw==
+  /@quickbaseoss/babel-plugin-styled-components-css-namespace/1.0.1_styled-components@4.4.1:
+    dependencies:
+      '@babel/types': 7.12.6
+      babel-plugin-styled-components: 1.10.7_styled-components@4.4.1
+      postcss: 7.0.35
+      postcss-nested: 4.1.2
+      postcss-parent-selector: 1.0.0
+      postcss-safe-parser: 4.0.2
+    dev: true
+    engines:
+      node: '>=8.0.0'
+    peerDependencies:
+      styled-components: '*'
+    resolution:
+      integrity: sha512-3KvbDGvcaTvY0H/95Aa0xJPCejiOCPHaqceR/UX+WNP2yqv48KqK07J7eY+lmqCgPaX32oM3i3mAgjwyGQvIyw==
+  /@sindresorhus/is/0.14.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
+  /@svgr/babel-plugin-add-jsx-attribute/4.2.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==
+  /@svgr/babel-plugin-remove-jsx-attribute/4.2.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==
+  /@svgr/babel-plugin-remove-jsx-empty-expression/4.2.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==
+  /@svgr/babel-plugin-replace-jsx-attribute-value/4.2.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==
+  /@svgr/babel-plugin-svg-dynamic-title/4.3.3:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==
+  /@svgr/babel-plugin-svg-em-dimensions/4.2.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==
+  /@svgr/babel-plugin-transform-react-native-svg/4.2.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==
+  /@svgr/babel-plugin-transform-svg-component/4.2.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==
+  /@svgr/babel-preset/4.3.3:
+    dependencies:
+      '@svgr/babel-plugin-add-jsx-attribute': 4.2.0
+      '@svgr/babel-plugin-remove-jsx-attribute': 4.2.0
+      '@svgr/babel-plugin-remove-jsx-empty-expression': 4.2.0
+      '@svgr/babel-plugin-replace-jsx-attribute-value': 4.2.0
+      '@svgr/babel-plugin-svg-dynamic-title': 4.3.3
+      '@svgr/babel-plugin-svg-em-dimensions': 4.2.0
+      '@svgr/babel-plugin-transform-react-native-svg': 4.2.0
+      '@svgr/babel-plugin-transform-svg-component': 4.2.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==
+  /@svgr/core/4.3.3:
+    dependencies:
+      '@svgr/plugin-jsx': 4.3.3
+      camelcase: 5.3.1
+      cosmiconfig: 5.2.1
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==
+  /@svgr/hast-util-to-babel-ast/4.3.2:
+    dependencies:
+      '@babel/types': 7.12.10
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==
+  /@svgr/plugin-jsx/4.3.3:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@svgr/babel-preset': 4.3.3
+      '@svgr/hast-util-to-babel-ast': 4.3.2
+      svg-parser: 2.0.4
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==
+  /@svgr/plugin-svgo/4.3.1:
+    dependencies:
+      cosmiconfig: 5.2.1
+      merge-deep: 3.0.2
+      svgo: 1.3.2
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==
+  /@svgr/webpack/4.3.3:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/plugin-transform-react-constant-elements': 7.12.1_@babel+core@7.12.10
+      '@babel/preset-env': 7.12.1_@babel+core@7.12.10
+      '@babel/preset-react': 7.12.1_@babel+core@7.12.10
+      '@svgr/core': 4.3.3
+      '@svgr/plugin-jsx': 4.3.3
+      '@svgr/plugin-svgo': 4.3.1
+      loader-utils: 1.4.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-bjnWolZ6KVsHhgyCoYRFmbd26p8XVbulCzSG53BDQqAr+JOAderYK7CuYrB3bDjHJuF6LJ7Wrr42+goLRV9qIg==
+  /@szmarczak/http-timer/1.1.2:
+    dependencies:
+      defer-to-connect: 1.1.3
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==
+  /@types/babel__core/7.1.12:
+    dependencies:
+      '@babel/parser': 7.12.11
+      '@babel/types': 7.12.12
+      '@types/babel__generator': 7.6.2
+      '@types/babel__template': 7.4.0
+      '@types/babel__traverse': 7.11.0
+    resolution:
+      integrity: sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==
+  /@types/babel__generator/7.6.2:
+    dependencies:
+      '@babel/types': 7.12.12
+    resolution:
+      integrity: sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==
+  /@types/babel__template/7.4.0:
+    dependencies:
+      '@babel/parser': 7.12.11
+      '@babel/types': 7.12.12
+    resolution:
+      integrity: sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==
+  /@types/babel__traverse/7.11.0:
+    dependencies:
+      '@babel/types': 7.12.12
+    resolution:
+      integrity: sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==
+  /@types/cheerio/0.22.21:
+    dependencies:
+      '@types/node': 14.14.13
+    resolution:
+      integrity: sha512-aGI3DfswwqgKPiEOTaiHV2ZPC9KEhprpgEbJnv0fZl3SGX0cGgEva1126dGrMC6AJM6v/aihlUgJn9M5DbDZ/Q==
+  /@types/cheerio/0.22.23:
+    dependencies:
+      '@types/node': 14.14.22
+    resolution:
+      integrity: sha512-QfHLujVMlGqcS/ePSf3Oe5hK3H8wi/yN2JYuxSB1U10VvW1fO3K8C+mURQesFYS1Hn7lspOsTT75SKq/XtydQg==
+  /@types/color-convert/2.0.0:
+    dependencies:
+      '@types/color-name': 1.1.1
+    resolution:
+      integrity: sha512-m7GG7IKKGuJUXvkZ1qqG3ChccdIM/qBBo913z+Xft0nKCX4hAU/IxKwZBU4cpRZ7GS5kV4vOblUkILtSShCPXQ==
+  /@types/color-name/1.1.1:
+    resolution:
+      integrity: sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
+  /@types/color/3.0.1:
+    dependencies:
+      '@types/color-convert': 2.0.0
+    resolution:
+      integrity: sha512-oeUWVaAwI+xINDUx+3F2vJkl/vVB03VChFF/Gl3iQCdbcakjuoJyMOba+3BXRtnBhxZ7uBYqQBi9EpLnvSoztA==
+  /@types/cross-spawn/6.0.2:
+    dependencies:
+      '@types/node': 14.14.13
+    resolution:
+      integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==
+  /@types/debug/4.1.5:
+    resolution:
+      integrity: sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==
+  /@types/fs-extra/9.0.6:
+    dependencies:
+      '@types/node': 14.14.22
+    dev: true
+    resolution:
+      integrity: sha512-ecNRHw4clCkowNOBJH1e77nvbPxHYnWIXMv1IAoG/9+MYGkgoyr3Ppxr7XYFNL41V422EDhyV4/4SSK8L2mlig==
+  /@types/glob/7.1.3:
+    dependencies:
+      '@types/minimatch': 3.0.3
+      '@types/node': 14.14.13
+    resolution:
+      integrity: sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==
+  /@types/got/9.6.11:
+    dependencies:
+      '@types/node': 14.14.13
+      '@types/tough-cookie': 4.0.0
+      form-data: 2.5.1
+    resolution:
+      integrity: sha512-dr3IiDNg5TDesGyuwTrN77E1Cd7DCdmCFtEfSGqr83jMMtcwhf/SGPbN2goY4JUWQfvxwY56+e5tjfi+oXeSdA==
+  /@types/hast/2.3.1:
+    dependencies:
+      '@types/unist': 2.0.3
+    dev: false
+    resolution:
+      integrity: sha512-viwwrB+6xGzw+G1eWpF9geV3fnsDgXqHG+cqgiHrvQfDUW5hzhCyV7Sy3UJxhfRFBsgky2SSW33qi/YrIkjX5Q==
+  /@types/hoist-non-react-statics/3.3.1:
+    dependencies:
+      '@types/react': 17.0.0
+      hoist-non-react-statics: 3.3.2
+    dev: true
+    resolution:
+      integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==
+  /@types/http-proxy/1.17.4:
+    dependencies:
+      '@types/node': 14.14.7
+    dev: false
+    resolution:
+      integrity: sha512-IrSHl2u6AWXduUaDLqYpt45tLVCtYv7o4Z0s1KghBCDgIIS9oW5K1H8mZG/A2CfeLdEa7rTd1ACOiHBc1EMT2Q==
+  /@types/istanbul-lib-coverage/2.0.3:
+    resolution:
+      integrity: sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==
+  /@types/istanbul-lib-report/3.0.0:
+    dependencies:
+      '@types/istanbul-lib-coverage': 2.0.3
+    resolution:
+      integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==
+  /@types/istanbul-reports/1.1.2:
+    dependencies:
+      '@types/istanbul-lib-coverage': 2.0.3
+      '@types/istanbul-lib-report': 3.0.0
+    resolution:
+      integrity: sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==
+  /@types/json-schema/7.0.6:
+    resolution:
+      integrity: sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==
+  /@types/json-schema/7.0.7:
+    resolution:
+      integrity: sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==
+  /@types/lodash/4.14.161:
+    resolution:
+      integrity: sha512-EP6O3Jkr7bXvZZSZYlsgt5DIjiGr0dXP1/jVEwVLTFgg0d+3lWVQkRavYVQszV7dYUwvg0B8R0MBDpcmXg7XIA==
+  /@types/lru-cache/5.1.0:
+    dev: false
+    resolution:
+      integrity: sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w==
+  /@types/mdast/3.0.3:
+    dependencies:
+      '@types/unist': 2.0.3
+    dev: false
+    resolution:
+      integrity: sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==
+  /@types/minimatch/3.0.3:
+    resolution:
+      integrity: sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
+  /@types/mkdirp/1.0.1:
+    dependencies:
+      '@types/node': 14.14.13
+    resolution:
+      integrity: sha512-HkGSK7CGAXncr8Qn/0VqNtExEE+PHMWb+qlR1faHMao7ng6P3tAaoWWBMdva0gL5h4zprjIO89GJOLXsMcDm1Q==
+  /@types/mustache/4.0.1:
+    resolution:
+      integrity: sha512-wH6Tu9mbiOt0n5EvdoWy0VGQaJMHfLIxY/6wS0xLC7CV1taM6gESEzcYy0ZlWvxxiiljYvfDIvz4hHbUUDRlhw==
+  /@types/node/14.14.10:
+    resolution:
+      integrity: sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ==
+  /@types/node/14.14.13:
+    resolution:
+      integrity: sha512-vbxr0VZ8exFMMAjCW8rJwaya0dMCDyYW2ZRdTyjtrCvJoENMpdUHOT/eTzvgyA5ZnqRZ/sI0NwqAxNHKYokLJQ==
+  /@types/node/14.14.22:
+    resolution:
+      integrity: sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==
+  /@types/node/14.14.7:
+    dev: false
+    resolution:
+      integrity: sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg==
+  /@types/normalize-package-data/2.4.0:
+    resolution:
+      integrity: sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==
+  /@types/parse-json/4.0.0:
+    dev: false
+    resolution:
+      integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
+  /@types/parse5/5.0.3:
+    dev: false
+    resolution:
+      integrity: sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==
+  /@types/prop-types/15.7.3:
+    dev: true
+    resolution:
+      integrity: sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
+  /@types/q/1.5.4:
+    resolution:
+      integrity: sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==
+  /@types/react-dom/17.0.0:
+    dependencies:
+      '@types/react': 17.0.0
+    dev: true
+    resolution:
+      integrity: sha512-lUqY7OlkF/RbNtD5nIq7ot8NquXrdFrjSOR6+w9a9RFQevGi1oZO1dcJbXMeONAPKtZ2UrZOEJ5UOCVsxbLk/g==
+  /@types/react/17.0.0:
+    dependencies:
+      '@types/prop-types': 15.7.3
+      csstype: 3.0.6
+    dev: true
+    resolution:
+      integrity: sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw==
+  /@types/resolve/1.17.1:
+    dependencies:
+      '@types/node': 14.14.13
+    resolution:
+      integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==
+  /@types/rimraf/3.0.0:
+    dependencies:
+      '@types/glob': 7.1.3
+      '@types/node': 14.14.13
+    resolution:
+      integrity: sha512-7WhJ0MdpFgYQPXlF4Dx+DhgvlPCfz/x5mHaeDQAKhcenvQP1KCpLQ18JklAqeGMYSAT2PxLpzd0g2/HE7fj7hQ==
+  /@types/semver/7.3.3:
+    resolution:
+      integrity: sha512-jQxClWFzv9IXdLdhSaTf16XI3NYe6zrEbckSpb5xhKfPbWgIyAY0AFyWWWfaiDcBuj3UHmMkCIwSRqpKMTZL2Q==
+  /@types/signale/1.4.1:
+    dependencies:
+      '@types/node': 14.14.13
+    resolution:
+      integrity: sha512-05d9fUDqRnt36rizLgo38SbPTrkMzdhXpvSHSAhxzokgIUPGNUoXHV0zYjPpTd4IryDADJ0mGHpfJ/Yhjyh9JQ==
+  /@types/stack-utils/1.0.1:
+    resolution:
+      integrity: sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==
+  /@types/styled-components/5.1.7:
+    dependencies:
+      '@types/hoist-non-react-statics': 3.3.1
+      '@types/react': 17.0.0
+      csstype: 3.0.6
+    dev: true
+    resolution:
+      integrity: sha512-BJzPhFygYspyefAGFZTZ/8lCEY4Tk+Iqktvnko3xmJf9LrLqs3+grxPeU3O0zLl6yjbYBopD0/VikbHgXDbJtA==
+  /@types/tough-cookie/4.0.0:
+    resolution:
+      integrity: sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==
+  /@types/unist/2.0.3:
+    dev: false
+    resolution:
+      integrity: sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==
+  /@types/yargs-parser/15.0.0:
+    resolution:
+      integrity: sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==
+  /@types/yargs-parser/20.2.0:
+    resolution:
+      integrity: sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==
+  /@types/yargs/13.0.11:
+    dependencies:
+      '@types/yargs-parser': 20.2.0
+    resolution:
+      integrity: sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==
+  /@types/yargs/15.0.5:
+    dependencies:
+      '@types/yargs-parser': 15.0.0
+    resolution:
+      integrity: sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==
+  /@umijs/babel-plugin-auto-css-modules/3.2.27:
+    dependencies:
+      '@babel/traverse': 7.12.5
+      '@umijs/utils': 3.2.27
+    resolution:
+      integrity: sha512-S5Fv0IURL0eHB3zZl7TvAihnXys/S6ddlVtqsHwhy2u8DC+d3phwWMJA3Yg1bddlJRL3qreaxzzvZ5+D35mBKw==
+  /@umijs/babel-plugin-auto-css-modules/3.2.27_@babel+core@7.12.10:
+    dependencies:
+      '@babel/traverse': 7.12.5
+      '@umijs/utils': 3.2.27_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': '*'
+    resolution:
+      integrity: sha512-S5Fv0IURL0eHB3zZl7TvAihnXys/S6ddlVtqsHwhy2u8DC+d3phwWMJA3Yg1bddlJRL3qreaxzzvZ5+D35mBKw==
+  /@umijs/babel-plugin-import-to-await-require/3.2.27:
+    dependencies:
+      '@babel/traverse': 7.12.5
+      '@umijs/utils': 3.2.27
+    resolution:
+      integrity: sha512-kgSaOqvYv8laMrUYaMJwKVp6ElFilEZ8DsD68xEDBWNZhHqmc4JC/f30wO6/wMYpap6Mp55IijmvTjrJk1tkJQ==
+  /@umijs/babel-plugin-import-to-await-require/3.2.27_@babel+core@7.12.10:
+    dependencies:
+      '@babel/traverse': 7.12.5
+      '@umijs/utils': 3.2.27_@babel+core@7.12.10
+    peerDependencies:
+      '@babel/core': '*'
+    resolution:
+      integrity: sha512-kgSaOqvYv8laMrUYaMJwKVp6ElFilEZ8DsD68xEDBWNZhHqmc4JC/f30wO6/wMYpap6Mp55IijmvTjrJk1tkJQ==
+  /@umijs/babel-plugin-lock-core-js-3/3.2.27:
+    dependencies:
+      '@umijs/utils': 3.2.27
+      core-js: 3.6.5
+    resolution:
+      integrity: sha512-1zgZqawitGbzdikgHurQ3SYD8td7z8fa7GalhbTXNCjVNmJMM9IQYHMFbHlMou7tcl6Ho2yb1k1K25kQQBXbaw==
+  /@umijs/babel-plugin-lock-core-js-3/3.2.27_@babel+core@7.12.10:
+    dependencies:
+      '@umijs/utils': 3.2.27_@babel+core@7.12.10
+      core-js: 3.6.5
+    peerDependencies:
+      '@babel/core': '*'
+    resolution:
+      integrity: sha512-1zgZqawitGbzdikgHurQ3SYD8td7z8fa7GalhbTXNCjVNmJMM9IQYHMFbHlMou7tcl6Ho2yb1k1K25kQQBXbaw==
+  /@umijs/babel-preset-umi/3.2.27:
+    dependencies:
+      '@babel/plugin-proposal-class-properties': 7.12.1
+      '@babel/plugin-proposal-decorators': 7.12.1
+      '@babel/plugin-proposal-do-expressions': 7.12.1
+      '@babel/plugin-proposal-export-default-from': 7.12.1
+      '@babel/plugin-proposal-function-bind': 7.12.1
+      '@babel/plugin-proposal-logical-assignment-operators': 7.12.1
+      '@babel/plugin-proposal-nullish-coalescing-operator': 7.12.1
+      '@babel/plugin-proposal-optional-chaining': 7.12.1
+      '@babel/plugin-proposal-pipeline-operator': 7.12.1
+      '@babel/plugin-syntax-top-level-await': 7.12.1
+      '@babel/plugin-transform-destructuring': 7.12.1
+      '@babel/plugin-transform-runtime': 7.12.1
+      '@babel/preset-env': 7.12.1
+      '@babel/preset-react': 7.12.1
+      '@babel/preset-typescript': 7.12.1
+      '@babel/runtime': 7.12.5
+      '@svgr/webpack': 4.3.3
+      '@umijs/babel-plugin-auto-css-modules': 3.2.27
+      '@umijs/babel-plugin-import-to-await-require': 3.2.27
+      '@umijs/babel-plugin-lock-core-js-3': 3.2.27
+      babel-plugin-dynamic-import-node: 2.3.3
+      babel-plugin-import: 1.13.1
+      babel-plugin-named-asset-import: 0.3.7
+      babel-plugin-react-require: 3.1.3
+      babel-plugin-transform-react-remove-prop-types: 0.4.24
+      babel-plugin-transform-typescript-metadata: 0.3.1
+    resolution:
+      integrity: sha512-b/IEBnL0XjLw6y0k1Nq9okGyhB6BgxvmjM2cr0KN+IPhElyPUfu6IscpR9U8aDizVDQqM4wyAc52ZKGUG0QgeQ==
+  /@umijs/babel-preset-umi/3.2.27_@babel+core@7.12.10:
+    dependencies:
+      '@babel/plugin-proposal-class-properties': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-decorators': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-do-expressions': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-export-default-from': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-function-bind': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-logical-assignment-operators': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-nullish-coalescing-operator': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-optional-chaining': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-pipeline-operator': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-syntax-top-level-await': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-destructuring': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-transform-runtime': 7.12.1_@babel+core@7.12.10
+      '@babel/preset-env': 7.12.1_@babel+core@7.12.10
+      '@babel/preset-react': 7.12.1_@babel+core@7.12.10
+      '@babel/preset-typescript': 7.12.1_@babel+core@7.12.10
+      '@babel/runtime': 7.12.5
+      '@svgr/webpack': 4.3.3
+      '@umijs/babel-plugin-auto-css-modules': 3.2.27_@babel+core@7.12.10
+      '@umijs/babel-plugin-import-to-await-require': 3.2.27_@babel+core@7.12.10
+      '@umijs/babel-plugin-lock-core-js-3': 3.2.27_@babel+core@7.12.10
+      babel-plugin-dynamic-import-node: 2.3.3
+      babel-plugin-import: 1.13.1
+      babel-plugin-named-asset-import: 0.3.7_@babel+core@7.12.10
+      babel-plugin-react-require: 3.1.3
+      babel-plugin-transform-react-remove-prop-types: 0.4.24
+      babel-plugin-transform-typescript-metadata: 0.3.1
+    peerDependencies:
+      '@babel/core': '*'
+    resolution:
+      integrity: sha512-b/IEBnL0XjLw6y0k1Nq9okGyhB6BgxvmjM2cr0KN+IPhElyPUfu6IscpR9U8aDizVDQqM4wyAc52ZKGUG0QgeQ==
+  /@umijs/utils/3.2.27:
+    dependencies:
+      '@babel/parser': 7.12.5
+      '@babel/register': 7.12.1
+      '@babel/traverse': 7.12.5
+      '@babel/types': 7.12.6
+      '@types/cheerio': 0.22.21
+      '@types/color': 3.0.1
+      '@types/cross-spawn': 6.0.2
+      '@types/debug': 4.1.5
+      '@types/glob': 7.1.3
+      '@types/got': 9.6.11
+      '@types/lodash': 4.14.161
+      '@types/mkdirp': 1.0.1
+      '@types/mustache': 4.0.1
+      '@types/resolve': 1.17.1
+      '@types/rimraf': 3.0.0
+      '@types/semver': 7.3.3
+      '@types/signale': 1.4.1
+      '@types/yargs': 15.0.5
+      '@types/yargs-parser': 15.0.0
+      address: 1.1.2
+      chalk: 4.1.0
+      cheerio: 1.0.0-rc.3
+      chokidar: 3.4.2
+      clipboardy: 2.3.0
+      color: 3.1.2
+      crequire: 1.8.1
+      cross-spawn: 7.0.3
+      debug: 4.1.1
+      deepmerge: 4.2.2
+      execa: 4.0.3
+      glob: 7.1.6
+      got: 9.6.0
+      lodash: 4.17.20
+      mkdirp: 1.0.4
+      mustache: 4.0.1
+      pkg-up: 3.1.0
+      portfinder: 1.0.28
+      resolve: 1.17.0
+      rimraf: 3.0.2
+      semver: 7.3.2
+      signale: 1.4.0
+      yargs: 15.4.1
+      yargs-parser: 18.1.3
+    resolution:
+      integrity: sha512-HeDTkYESSvFS2nB3reJsPeKOW4WMTpq2DtmZgoV59RtD/+DpeKAPKJtcCYFrO0dibSxNtqcnD3MQ2quukI3lQg==
+  /@umijs/utils/3.2.27_@babel+core@7.12.10:
+    dependencies:
+      '@babel/parser': 7.12.5
+      '@babel/register': 7.12.1_@babel+core@7.12.10
+      '@babel/traverse': 7.12.5
+      '@babel/types': 7.12.6
+      '@types/cheerio': 0.22.21
+      '@types/color': 3.0.1
+      '@types/cross-spawn': 6.0.2
+      '@types/debug': 4.1.5
+      '@types/glob': 7.1.3
+      '@types/got': 9.6.11
+      '@types/lodash': 4.14.161
+      '@types/mkdirp': 1.0.1
+      '@types/mustache': 4.0.1
+      '@types/resolve': 1.17.1
+      '@types/rimraf': 3.0.0
+      '@types/semver': 7.3.3
+      '@types/signale': 1.4.1
+      '@types/yargs': 15.0.5
+      '@types/yargs-parser': 15.0.0
+      address: 1.1.2
+      chalk: 4.1.0
+      cheerio: 1.0.0-rc.3
+      chokidar: 3.4.2
+      clipboardy: 2.3.0
+      color: 3.1.2
+      crequire: 1.8.1
+      cross-spawn: 7.0.3
+      debug: 4.1.1
+      deepmerge: 4.2.2
+      execa: 4.0.3
+      glob: 7.1.6
+      got: 9.6.0
+      lodash: 4.17.20
+      mkdirp: 1.0.4
+      mustache: 4.0.1
+      pkg-up: 3.1.0
+      portfinder: 1.0.28
+      resolve: 1.17.0
+      rimraf: 3.0.2
+      semver: 7.3.2
+      signale: 1.4.0
+      yargs: 15.4.1
+      yargs-parser: 18.1.3
+    peerDependencies:
+      '@babel/core': '*'
+    resolution:
+      integrity: sha512-HeDTkYESSvFS2nB3reJsPeKOW4WMTpq2DtmZgoV59RtD/+DpeKAPKJtcCYFrO0dibSxNtqcnD3MQ2quukI3lQg==
+  /@webassemblyjs/ast/1.9.0:
+    dependencies:
+      '@webassemblyjs/helper-module-context': 1.9.0
+      '@webassemblyjs/helper-wasm-bytecode': 1.9.0
+      '@webassemblyjs/wast-parser': 1.9.0
+    resolution:
+      integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==
+  /@webassemblyjs/floating-point-hex-parser/1.9.0:
+    resolution:
+      integrity: sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==
+  /@webassemblyjs/helper-api-error/1.9.0:
+    resolution:
+      integrity: sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==
+  /@webassemblyjs/helper-buffer/1.9.0:
+    resolution:
+      integrity: sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==
+  /@webassemblyjs/helper-code-frame/1.9.0:
+    dependencies:
+      '@webassemblyjs/wast-printer': 1.9.0
+    resolution:
+      integrity: sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==
+  /@webassemblyjs/helper-fsm/1.9.0:
+    resolution:
+      integrity: sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==
+  /@webassemblyjs/helper-module-context/1.9.0:
+    dependencies:
+      '@webassemblyjs/ast': 1.9.0
+    resolution:
+      integrity: sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==
+  /@webassemblyjs/helper-wasm-bytecode/1.9.0:
+    resolution:
+      integrity: sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==
+  /@webassemblyjs/helper-wasm-section/1.9.0:
+    dependencies:
+      '@webassemblyjs/ast': 1.9.0
+      '@webassemblyjs/helper-buffer': 1.9.0
+      '@webassemblyjs/helper-wasm-bytecode': 1.9.0
+      '@webassemblyjs/wasm-gen': 1.9.0
+    resolution:
+      integrity: sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==
+  /@webassemblyjs/ieee754/1.9.0:
+    dependencies:
+      '@xtuc/ieee754': 1.2.0
+    resolution:
+      integrity: sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==
+  /@webassemblyjs/leb128/1.9.0:
+    dependencies:
+      '@xtuc/long': 4.2.2
+    resolution:
+      integrity: sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==
+  /@webassemblyjs/utf8/1.9.0:
+    resolution:
+      integrity: sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==
+  /@webassemblyjs/wasm-edit/1.9.0:
+    dependencies:
+      '@webassemblyjs/ast': 1.9.0
+      '@webassemblyjs/helper-buffer': 1.9.0
+      '@webassemblyjs/helper-wasm-bytecode': 1.9.0
+      '@webassemblyjs/helper-wasm-section': 1.9.0
+      '@webassemblyjs/wasm-gen': 1.9.0
+      '@webassemblyjs/wasm-opt': 1.9.0
+      '@webassemblyjs/wasm-parser': 1.9.0
+      '@webassemblyjs/wast-printer': 1.9.0
+    resolution:
+      integrity: sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==
+  /@webassemblyjs/wasm-gen/1.9.0:
+    dependencies:
+      '@webassemblyjs/ast': 1.9.0
+      '@webassemblyjs/helper-wasm-bytecode': 1.9.0
+      '@webassemblyjs/ieee754': 1.9.0
+      '@webassemblyjs/leb128': 1.9.0
+      '@webassemblyjs/utf8': 1.9.0
+    resolution:
+      integrity: sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==
+  /@webassemblyjs/wasm-opt/1.9.0:
+    dependencies:
+      '@webassemblyjs/ast': 1.9.0
+      '@webassemblyjs/helper-buffer': 1.9.0
+      '@webassemblyjs/wasm-gen': 1.9.0
+      '@webassemblyjs/wasm-parser': 1.9.0
+    resolution:
+      integrity: sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==
+  /@webassemblyjs/wasm-parser/1.9.0:
+    dependencies:
+      '@webassemblyjs/ast': 1.9.0
+      '@webassemblyjs/helper-api-error': 1.9.0
+      '@webassemblyjs/helper-wasm-bytecode': 1.9.0
+      '@webassemblyjs/ieee754': 1.9.0
+      '@webassemblyjs/leb128': 1.9.0
+      '@webassemblyjs/utf8': 1.9.0
+    resolution:
+      integrity: sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==
+  /@webassemblyjs/wast-parser/1.9.0:
+    dependencies:
+      '@webassemblyjs/ast': 1.9.0
+      '@webassemblyjs/floating-point-hex-parser': 1.9.0
+      '@webassemblyjs/helper-api-error': 1.9.0
+      '@webassemblyjs/helper-code-frame': 1.9.0
+      '@webassemblyjs/helper-fsm': 1.9.0
+      '@xtuc/long': 4.2.2
+    resolution:
+      integrity: sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==
+  /@webassemblyjs/wast-printer/1.9.0:
+    dependencies:
+      '@webassemblyjs/ast': 1.9.0
+      '@webassemblyjs/wast-parser': 1.9.0
+      '@xtuc/long': 4.2.2
+    resolution:
+      integrity: sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==
+  /@webpack-cli/configtest/1.0.0_webpack-cli@4.4.0+webpack@4.44.2:
+    dependencies:
+      webpack: 4.44.2_webpack-cli@4.4.0
+      webpack-cli: 4.4.0_webpack@4.44.2
+    dev: true
+    peerDependencies:
+      webpack: 4.x.x || 5.x.x
+      webpack-cli: 4.x.x
+    resolution:
+      integrity: sha512-Un0SdBoN1h4ACnIO7EiCjWuyhNI0Jl96JC+63q6xi4HDUYRZn8Auluea9D+v9NWKc5J4sICVEltdBaVjLX39xw==
+  /@webpack-cli/info/1.2.1_webpack-cli@4.4.0:
+    dependencies:
+      envinfo: 7.7.3
+      webpack-cli: 4.4.0_webpack@4.44.2
+    dev: true
+    peerDependencies:
+      webpack-cli: 4.x.x
+    resolution:
+      integrity: sha512-fLnDML5HZ5AEKzHul8xLAksoKN2cibu6MgonkUj8R9V7bbeVRkd1XbGEGWrAUNYHbX1jcqCsDEpBviE5StPMzQ==
+  /@webpack-cli/serve/1.2.2_webpack-cli@4.4.0:
+    dependencies:
+      webpack-cli: 4.4.0_webpack@4.44.2
+    dev: true
+    peerDependencies:
+      webpack-cli: 4.x.x
+      webpack-dev-server: '*'
+    peerDependenciesMeta:
+      webpack-dev-server:
+        optional: true
+    resolution:
+      integrity: sha512-03GkWxcgFfm8+WIwcsqJb9agrSDNDDoxaNnexPnCCexP5SCE4IgFd9lNpSy+K2nFqVMpgTFw6SwbmVAVTndVew==
+  /@xtuc/ieee754/1.2.0:
+    resolution:
+      integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
+  /@xtuc/long/4.2.2:
+    resolution:
+      integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
+  /JSONStream/1.3.5:
+    dependencies:
+      jsonparse: 1.3.1
+      through: 2.3.8
+    hasBin: true
+    resolution:
+      integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
+  /abab/2.0.5:
+    resolution:
+      integrity: sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==
+  /abort-controller/3.0.0:
+    dependencies:
+      event-target-shim: 5.0.1
+    dev: false
+    engines:
+      node: '>=6.5'
+    resolution:
+      integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
+  /accepts/1.3.7:
+    dependencies:
+      mime-types: 2.1.27
+      negotiator: 0.6.2
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
+  /acorn-globals/4.3.4:
+    dependencies:
+      acorn: 6.4.2
+      acorn-walk: 6.2.0
+    resolution:
+      integrity: sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==
+  /acorn-walk/6.2.0:
+    engines:
+      node: '>=0.4.0'
+    resolution:
+      integrity: sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==
+  /acorn-walk/7.2.0:
+    engines:
+      node: '>=0.4.0'
+    resolution:
+      integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
+  /acorn/5.7.4:
+    engines:
+      node: '>=0.4.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==
+  /acorn/6.4.2:
+    engines:
+      node: '>=0.4.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
+  /acorn/7.4.1:
+    engines:
+      node: '>=0.4.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+  /address/1.1.2:
+    engines:
+      node: '>= 0.12.0'
+    resolution:
+      integrity: sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==
+  /adjust-sourcemap-loader/3.0.0:
+    dependencies:
+      loader-utils: 2.0.0
+      regex-parser: 2.2.11
+    dev: false
+    engines:
+      node: '>=8.9'
+    resolution:
+      integrity: sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==
+  /agent-base/4.2.1:
+    dependencies:
+      es6-promisify: 5.0.0
+    dev: false
+    engines:
+      node: '>= 4.0.0'
+    resolution:
+      integrity: sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==
+  /agent-base/4.3.0:
+    dependencies:
+      es6-promisify: 5.0.0
+    dev: false
+    engines:
+      node: '>= 4.0.0'
+    resolution:
+      integrity: sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==
+  /agent-base/6.0.2:
+    dependencies:
+      debug: 4.3.1
+    dev: false
+    engines:
+      node: '>= 6.0.0'
+    resolution:
+      integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
+  /agentkeepalive/3.5.2:
+    dependencies:
+      humanize-ms: 1.2.1
+    dev: false
+    engines:
+      node: '>= 4.0.0'
+    resolution:
+      integrity: sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==
+  /airbnb-prop-types/2.16.0:
+    dependencies:
+      array.prototype.find: 2.1.1
+      function.prototype.name: 1.1.3
+      is-regex: 1.1.1
+      object-is: 1.1.4
+      object.assign: 4.1.2
+      object.entries: 1.1.3
+      prop-types: 15.7.2
+      prop-types-exact: 1.2.0
+      react-is: 16.13.1
+    peerDependencies:
+      react: ^0.14 || ^15.0.0 || ^16.0.0-alpha
+    resolution:
+      integrity: sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg==
+  /airbnb-prop-types/2.16.0_react@17.0.1:
+    dependencies:
+      array.prototype.find: 2.1.1
+      function.prototype.name: 1.1.3
+      is-regex: 1.1.1
+      object-is: 1.1.4
+      object.assign: 4.1.2
+      object.entries: 1.1.3
+      prop-types: 15.7.2
+      prop-types-exact: 1.2.0
+      react: 17.0.1
+      react-is: 16.13.1
+    peerDependencies:
+      react: ^0.14 || ^15.0.0 || ^16.0.0-alpha
+    resolution:
+      integrity: sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg==
+  /ajv-errors/1.0.1_ajv@6.12.6:
+    dependencies:
+      ajv: 6.12.6
+    peerDependencies:
+      ajv: '>=5.0.0'
+    resolution:
+      integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
+  /ajv-keywords/3.5.2_ajv@6.12.6:
+    dependencies:
+      ajv: 6.12.6
+    peerDependencies:
+      ajv: ^6.9.1
+    resolution:
+      integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
+  /ajv/6.12.6:
+    dependencies:
+      fast-deep-equal: 3.1.3
+      fast-json-stable-stringify: 2.1.0
+      json-schema-traverse: 0.4.1
+      uri-js: 4.4.0
+    resolution:
+      integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+  /ali-oss/6.13.2:
+    dependencies:
+      address: 1.1.2
+      agentkeepalive: 3.5.2
+      bowser: 1.9.4
+      co-defer: 1.0.0
+      copy-to: 2.0.1
+      dateformat: 2.2.0
+      debug: 2.6.9
+      destroy: 1.0.4
+      end-or-error: 1.0.1
+      get-ready: 1.0.0
+      humanize-ms: 1.2.1
+      is-type-of: 1.2.1
+      js-base64: 2.6.4
+      jstoxml: 0.2.4
+      merge-descriptors: 1.0.1
+      mime: 2.5.0
+      mz-modules: 2.1.0
+      platform: 1.3.6
+      pump: 3.0.0
+      sdk-base: 2.0.1
+      stream-http: 2.8.2
+      stream-wormhole: 1.1.0
+      urllib: 2.36.1
+      utility: 1.17.0
+      xml2js: 0.4.23
+    dev: false
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-85z+2Cd3ydCmdw/l6oFkaMmyswPVXm2r6a8GI+738s7O6YsDHDSogQ04joymUT2gdFNVWHYWTmXWLKEkD19eEQ==
+  /alphanum-sort/1.0.2:
+    resolution:
+      integrity: sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
+  /anser/1.4.9:
+    dev: false
+    resolution:
+      integrity: sha512-AI+BjTeGt2+WFk4eWcqbQ7snZpDBt8SaLlj0RT2h5xfdWaiy51OjYvqwMrNzJLGy8iOAL6nKDITWO+rd4MkYEA==
+  /ansi-align/3.0.0:
+    dependencies:
+      string-width: 3.1.0
+    resolution:
+      integrity: sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==
+  /ansi-colors/3.2.4:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==
+  /ansi-colors/4.1.1:
+    dev: true
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
+  /ansi-escapes/3.2.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
+  /ansi-escapes/4.3.1:
+    dependencies:
+      type-fest: 0.11.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
+  /ansi-html/0.0.7:
+    engines:
+      '0': node >= 0.8.0
+    hasBin: true
+    resolution:
+      integrity: sha1-gTWEAhliqenm/QOflA0S9WynhZ4=
+  /ansi-regex/2.1.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
+  /ansi-regex/3.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
+  /ansi-regex/4.1.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
+  /ansi-regex/5.0.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
+  /ansi-styles/2.2.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
+  /ansi-styles/3.2.1:
+    dependencies:
+      color-convert: 1.9.3
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+  /ansi-styles/4.3.0:
+    dependencies:
+      color-convert: 2.0.1
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+  /any-promise/1.3.0:
+    dev: false
+    resolution:
+      integrity: sha1-q8av7tzqUugJzcA3au0845Y10X8=
+  /anymatch/2.0.0:
+    dependencies:
+      micromatch: 3.1.10
+      normalize-path: 2.1.1
+    resolution:
+      integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
+  /anymatch/3.1.1:
+    dependencies:
+      normalize-path: 3.0.0
+      picomatch: 2.2.2
+    engines:
+      node: '>= 8'
+    resolution:
+      integrity: sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
+  /aproba/1.2.0:
+    resolution:
+      integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
+  /arch/2.2.0:
+    resolution:
+      integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==
+  /are-we-there-yet/1.1.5:
+    dependencies:
+      delegates: 1.0.0
+      readable-stream: 2.3.7
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
+  /argparse/1.0.10:
+    dependencies:
+      sprintf-js: 1.0.3
+    resolution:
+      integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+  /arity-n/1.0.4:
+    dev: false
+    resolution:
+      integrity: sha1-2edrEXM+CFacCEeuezmyhgswt0U=
+  /arr-diff/4.0.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
+  /arr-flatten/1.1.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
+  /arr-union/3.1.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
+  /array-differ/1.0.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=
+  /array-differ/3.0.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==
+  /array-equal/1.0.0:
+    resolution:
+      integrity: sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=
+  /array-filter/1.0.0:
+    resolution:
+      integrity: sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=
+  /array-flatten/1.1.1:
+    resolution:
+      integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
+  /array-flatten/2.1.2:
+    resolution:
+      integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
+  /array-flatten/3.0.0:
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA==
+  /array-union/1.0.2:
+    dependencies:
+      array-uniq: 1.0.3
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=
+  /array-union/2.1.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+  /array-uniq/1.0.3:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
+  /array-unique/0.3.2:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
+  /array.prototype.find/2.1.1:
+    dependencies:
+      define-properties: 1.1.3
+      es-abstract: 1.17.7
+    resolution:
+      integrity: sha512-mi+MYNJYLTx2eNYy+Yh6raoQacCsNeeMUaspFPh9Y141lFSsWxxB8V9mM2ye+eqiRs917J6/pJ4M9ZPzenWckA==
+  /array.prototype.flat/1.2.4:
+    dependencies:
+      call-bind: 1.0.2
+      define-properties: 1.1.3
+      es-abstract: 1.18.0-next.2
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==
+  /arrify/1.0.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
+  /arrify/2.0.1:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
+  /asn1.js/5.4.1:
+    dependencies:
+      bn.js: 4.11.9
+      inherits: 2.0.4
+      minimalistic-assert: 1.0.1
+      safer-buffer: 2.1.2
+    resolution:
+      integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==
+  /asn1/0.2.4:
+    dependencies:
+      safer-buffer: 2.1.2
+    resolution:
+      integrity: sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
+  /assert-plus/1.0.0:
+    engines:
+      node: '>=0.8'
+    resolution:
+      integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
+  /assert/1.5.0:
+    dependencies:
+      object-assign: 4.1.1
+      util: 0.10.3
+    resolution:
+      integrity: sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==
+  /assert/2.0.0:
+    dependencies:
+      es6-object-assign: 1.1.0
+      is-nan: 1.3.0
+      object-is: 1.1.4
+      util: 0.12.3
+    resolution:
+      integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==
+  /assign-symbols/1.0.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
+  /ast-types/0.13.2:
+    dev: false
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA==
+  /ast-types/0.14.2:
+    dependencies:
+      tslib: 2.1.0
+    dev: false
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==
+  /astral-regex/1.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
+  /async-each/1.0.3:
+    resolution:
+      integrity: sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
+  /async-limiter/1.0.1:
+    resolution:
+      integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
+  /async/0.9.2:
+    resolution:
+      integrity: sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=
+  /async/1.5.0:
+    resolution:
+      integrity: sha1-J5ZkJyNXOFlWVjP8YnRES+4vjOM=
+  /async/2.6.3:
+    dependencies:
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
+  /asynckit/0.4.0:
+    resolution:
+      integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=
+  /at-least-node/1.0.0:
+    dev: false
+    engines:
+      node: '>= 4.0.0'
+    resolution:
+      integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
+  /atob/2.1.2:
+    engines:
+      node: '>= 4.5.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
+  /autoprefixer/9.8.6:
+    dependencies:
+      browserslist: 4.16.1
+      caniuse-lite: 1.0.30001181
+      colorette: 1.2.1
+      normalize-range: 0.1.2
+      num2fraction: 1.2.2
+      postcss: 7.0.35
+      postcss-value-parser: 4.1.0
+    hasBin: true
+    resolution:
+      integrity: sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==
+  /available-typed-arrays/1.0.2:
+    dependencies:
+      array-filter: 1.0.0
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==
+  /awesome-typescript-loader/5.2.1_typescript@3.9.7:
+    dependencies:
+      chalk: 2.4.2
+      enhanced-resolve: 4.5.0
+      loader-utils: 1.4.0
+      lodash: 4.17.20
+      micromatch: 3.1.10
+      mkdirp: 0.5.5
+      source-map-support: 0.5.19
+      typescript: 3.9.7
+      webpack-log: 1.2.0
+    peerDependencies:
+      typescript: ^2.7 || ^3
+    resolution:
+      integrity: sha512-slv66OAJB8orL+UUaTI3pKlLorwIvS4ARZzYR9iJJyGsEgOqueMfOMdKySWzZ73vIkEe3fcwFgsKMg4d8zyb1g==
+  /aws-sign2/0.7.0:
+    resolution:
+      integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
+  /aws4/1.11.0:
+    resolution:
+      integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
+  /axios/0.18.1:
+    dependencies:
+      follow-redirects: 1.5.10
+      is-buffer: 2.0.5
+    resolution:
+      integrity: sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==
+  /axios/0.19.2:
+    dependencies:
+      follow-redirects: 1.5.10
+    dev: false
+    resolution:
+      integrity: sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==
+  /axios/0.20.0:
+    dependencies:
+      follow-redirects: 1.13.0
+    dev: false
+    resolution:
+      integrity: sha512-ANA4rr2BDcmmAQLOKft2fufrtuvlqR+cXNNinUmvfeSNCOF98PZL+7M/v1zIdGo7OLjEA9J2gXJL+j4zGsl0bA==
+  /babel-code-frame/6.26.0:
+    dependencies:
+      chalk: 1.1.3
+      esutils: 2.0.3
+      js-tokens: 3.0.2
+    resolution:
+      integrity: sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
+  /babel-jest/24.9.0:
+    dependencies:
+      '@jest/transform': 24.9.0
+      '@jest/types': 24.9.0
+      '@types/babel__core': 7.1.12
+      babel-plugin-istanbul: 5.2.0
+      babel-preset-jest: 24.9.0
+      chalk: 2.4.2
+      slash: 2.0.0
+    engines:
+      node: '>= 6'
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    resolution:
+      integrity: sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==
+  /babel-jest/24.9.0_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@jest/transform': 24.9.0
+      '@jest/types': 24.9.0
+      '@types/babel__core': 7.1.12
+      babel-plugin-istanbul: 5.2.0
+      babel-preset-jest: 24.9.0_@babel+core@7.12.10
+      chalk: 2.4.2
+      slash: 2.0.0
+    engines:
+      node: '>= 6'
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    resolution:
+      integrity: sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==
+  /babel-loader/8.2.2_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      find-cache-dir: 3.3.1
+      loader-utils: 1.4.0
+      make-dir: 3.1.0
+      schema-utils: 2.7.1
+    engines:
+      node: '>= 8.9'
+    peerDependencies:
+      '@babel/core': ^7.0.0
+      webpack: '>=2'
+    resolution:
+      integrity: sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==
+  /babel-plugin-apply-mdx-type-prop/1.6.22_@babel+core@7.12.9:
+    dependencies:
+      '@babel/core': 7.12.9
+      '@babel/helper-plugin-utils': 7.10.4
+      '@mdx-js/util': 1.6.22
+    dev: false
+    peerDependencies:
+      '@babel/core': ^7.11.6
+    resolution:
+      integrity: sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==
+  /babel-plugin-dynamic-import-node/2.3.3:
+    dependencies:
+      object.assign: 4.1.2
+    resolution:
+      integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
+  /babel-plugin-emotion/10.0.33:
+    dependencies:
+      '@babel/helper-module-imports': 7.12.5
+      '@emotion/hash': 0.8.0
+      '@emotion/memoize': 0.7.4
+      '@emotion/serialize': 0.11.16
+      babel-plugin-macros: 2.8.0
+      babel-plugin-syntax-jsx: 6.18.0
+      convert-source-map: 1.7.0
+      escape-string-regexp: 1.0.5
+      find-root: 1.1.0
+      source-map: 0.5.7
+    dev: false
+    resolution:
+      integrity: sha512-bxZbTTGz0AJQDHm8k6Rf3RQJ8tX2scsfsRyKVgAbiUPUNIRtlK+7JxP+TAd1kRLABFxe0CFm2VdK4ePkoA9FxQ==
+  /babel-plugin-extract-import-names/1.6.22:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    dev: false
+    resolution:
+      integrity: sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==
+  /babel-plugin-import/1.13.1:
+    dependencies:
+      '@babel/helper-module-imports': 7.12.5
+      '@babel/runtime': 7.12.5
+    resolution:
+      integrity: sha512-2Ohk36qvQAZr2sNXVwOgBFH7/ZQH0lL6igPj6lNIhk5t0uORneeAvHnohClCWbaogUhKGJxAiwbPhymZXPGQiQ==
+  /babel-plugin-istanbul/5.2.0:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      find-up: 3.0.0
+      istanbul-lib-instrument: 3.3.0
+      test-exclude: 5.2.3
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==
+  /babel-plugin-jest-hoist/24.9.0:
+    dependencies:
+      '@types/babel__traverse': 7.11.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==
+  /babel-plugin-lodash/3.3.4:
+    dependencies:
+      '@babel/helper-module-imports': 7.12.5
+      '@babel/types': 7.12.12
+      glob: 7.1.6
+      lodash: 4.17.20
+      require-package-name: 2.0.1
+    resolution:
+      integrity: sha512-yDZLjK7TCkWl1gpBeBGmuaDIFhZKmkoL+Cu2MUUjv5VxUZx/z7tBGBCBcQs5RI1Bkz5LLmNdjx7paOyQtMovyg==
+  /babel-plugin-macros/2.8.0:
+    dependencies:
+      '@babel/runtime': 7.12.5
+      cosmiconfig: 6.0.0
+      resolve: 1.19.0
+    dev: false
+    resolution:
+      integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==
+  /babel-plugin-named-asset-import/0.3.7:
+    peerDependencies:
+      '@babel/core': ^7.1.0
+    resolution:
+      integrity: sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==
+  /babel-plugin-named-asset-import/0.3.7_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+    peerDependencies:
+      '@babel/core': ^7.1.0
+    resolution:
+      integrity: sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==
+  /babel-plugin-react-css-modules/5.2.6_@babel+core@7.12.10:
+    dependencies:
+      '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.10
+      '@babel/types': 7.12.12
+      ajv: 6.12.6
+      ajv-keywords: 3.5.2_ajv@6.12.6
+      generic-names: 2.0.1
+      postcss: 7.0.35
+      postcss-modules: 1.5.0
+      postcss-modules-extract-imports: 1.2.1
+      postcss-modules-local-by-default: 1.2.0
+      postcss-modules-parser: 1.1.1
+      postcss-modules-scope: 1.1.0
+      postcss-modules-values: 1.3.0
+    engines:
+      node: '>8.0.0'
+    peerDependencies:
+      '@babel/core': '*'
+    resolution:
+      integrity: sha512-jBU/oVgoEg/58Dcu0tjyNvaXBllxJXip7hlpiX+e0CYTmDADWB484P4pJb7d0L6nWKSzyEqtePcBaq3SKalG/g==
+  /babel-plugin-react-require/3.1.3:
+    resolution:
+      integrity: sha512-kDXhW2iPTL81x4Ye2aUMdEXQ56JP0sBJmRQRXJPH5FsNB7fOc/YCsHTqHv8IovPyw9Rk07gdd7MVUz8tUmRBCA==
+  /babel-plugin-styled-components/1.10.7_styled-components@4.4.1:
+    dependencies:
+      '@babel/helper-annotate-as-pure': 7.10.4
+      '@babel/helper-module-imports': 7.12.5
+      babel-plugin-syntax-jsx: 6.18.0
+      lodash: 4.17.20
+      styled-components: 4.4.1
+    dev: true
+    peerDependencies:
+      styled-components: '>= 2'
+    resolution:
+      integrity: sha512-MBMHGcIA22996n9hZRf/UJLVVgkEOITuR2SvjHLb5dSTUyR4ZRGn+ngITapes36FI3WLxZHfRhkA1ffHxihOrg==
+  /babel-plugin-styled-components/1.11.1_styled-components@4.4.1:
+    dependencies:
+      '@babel/helper-annotate-as-pure': 7.12.10
+      '@babel/helper-module-imports': 7.12.5
+      babel-plugin-syntax-jsx: 6.18.0
+      lodash: 4.17.20
+      styled-components: 4.4.1
+    dev: false
+    peerDependencies:
+      styled-components: '>= 2'
+    resolution:
+      integrity: sha512-YwrInHyKUk1PU3avIRdiLyCpM++18Rs1NgyMXEAQC33rIXs/vro0A+stf4sT0Gf22Got+xRWB8Cm0tw+qkRzBA==
+  /babel-plugin-syntax-jsx/6.18.0:
+    resolution:
+      integrity: sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
+  /babel-plugin-transform-define/2.0.0:
+    dependencies:
+      lodash: 4.17.20
+      traverse: 0.6.6
+    dev: false
+    engines:
+      node: '>= 8.x.x'
+    resolution:
+      integrity: sha512-0dv5RNRUlUKxGYIIErl01lpvi8b7W2R04Qcl1mCj70ahwZcgiklfXnFlh4FGnRh6aayCfSZKdhiMryVzcq5Dmg==
+  /babel-plugin-transform-loadable-component/1.0.14:
+    dependencies:
+      babel-types: 6.26.0
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-6ZTGjEgmOlcuPdZOb9458pr3b+jAtAEEhzedfRYMAHvuK1LfKv3/mqLNWNbAT7VnO3cm67/UQNKEEl+CmC8x2g==
+  /babel-plugin-transform-react-remove-prop-types/0.4.24:
+    resolution:
+      integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==
+  /babel-plugin-transform-typescript-metadata/0.3.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+    resolution:
+      integrity: sha512-thOuACZReULfLy7vh2o3/joYkkRerMKLBDmXy3ImCnkNUnxBmNw0uVa05JhhX0slluaEkio6OIFa7zPgaJdk6g==
+  /babel-plugin-wind-rc/1.1.3:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/types': 7.12.12
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-Gvy2eX7S9chhGbSzuidYurryq/d/f0HNlLOsHD7GDK5ceZIMfCRi4NSqgh67Czc7ecAV8pziCMwk6z5GZPsAZg==
+  /babel-plugin-wind/1.0.14:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/types': 7.12.12
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-+dXeLxR4Z+IJe8YuV23NEl7EKzOFHKDUXcobLms5VOlV1m7T0xXzqlLRZwzVsFY4oJTFC4VgYA8D3ovUH5floA==
+  /babel-polyfill/6.26.0:
+    dependencies:
+      babel-runtime: 6.26.0
+      core-js: 2.6.12
+      regenerator-runtime: 0.10.5
+    resolution:
+      integrity: sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=
+  /babel-preset-breezr-wind/1.1.3:
+    dependencies:
+      '@babel/core': 7.12.10
+      babel-plugin-lodash: 3.3.4
+      babel-plugin-react-css-modules: 5.2.6_@babel+core@7.12.10
+      babel-plugin-transform-loadable-component: 1.0.14
+      babel-plugin-wind: 1.0.14
+      babel-plugin-wind-rc: 1.1.3
+      babel-preset-breezr: 1.0.14
+      less: 3.13.1
+      lodash: 4.17.20
+      postcss-less: 1.1.5
+      react-hot-loader: 4.13.0
+    dev: false
+    resolution:
+      integrity: sha512-UFbD80pEKADqN4hz6pZIjuT3EmNgJsZcnR61gXhQtFVShhFMCgCEPFCbF+0OzsQPrw2AxgObPJkxZNvSK7vvxg==
+  /babel-preset-breezr-wind/1.1.3_4695a47c40ef995f48f8c834d2fb82ec:
+    dependencies:
+      '@babel/core': 7.12.10
+      babel-plugin-lodash: 3.3.4
+      babel-plugin-react-css-modules: 5.2.6_@babel+core@7.12.10
+      babel-plugin-transform-loadable-component: 1.0.14
+      babel-plugin-wind: 1.0.14
+      babel-plugin-wind-rc: 1.1.3
+      babel-preset-breezr: 1.0.14
+      less: 3.13.1
+      lodash: 4.17.20
+      postcss-less: 1.1.5
+      react-hot-loader: 4.13.0_4695a47c40ef995f48f8c834d2fb82ec
+    dev: true
+    peerDependencies:
+      '@types/react': '*'
+      react: '*'
+      react-dom: '*'
+    resolution:
+      integrity: sha512-UFbD80pEKADqN4hz6pZIjuT3EmNgJsZcnR61gXhQtFVShhFMCgCEPFCbF+0OzsQPrw2AxgObPJkxZNvSK7vvxg==
+  /babel-preset-breezr-wind/1.1.3_@types+react@17.0.0:
+    dependencies:
+      '@babel/core': 7.12.10
+      babel-plugin-lodash: 3.3.4
+      babel-plugin-react-css-modules: 5.2.6_@babel+core@7.12.10
+      babel-plugin-transform-loadable-component: 1.0.14
+      babel-plugin-wind: 1.0.14
+      babel-plugin-wind-rc: 1.1.3
+      babel-preset-breezr: 1.0.14
+      less: 3.13.1
+      lodash: 4.17.20
+      postcss-less: 1.1.5
+      react-hot-loader: 4.13.0_@types+react@17.0.0
+    peerDependencies:
+      '@types/react': '*'
+    resolution:
+      integrity: sha512-UFbD80pEKADqN4hz6pZIjuT3EmNgJsZcnR61gXhQtFVShhFMCgCEPFCbF+0OzsQPrw2AxgObPJkxZNvSK7vvxg==
+  /babel-preset-breezr-wind/1.1.3_react-dom@17.0.1+react@17.0.1:
+    dependencies:
+      '@babel/core': 7.12.10
+      babel-plugin-lodash: 3.3.4
+      babel-plugin-react-css-modules: 5.2.6_@babel+core@7.12.10
+      babel-plugin-transform-loadable-component: 1.0.14
+      babel-plugin-wind: 1.0.14
+      babel-plugin-wind-rc: 1.1.3
+      babel-preset-breezr: 1.0.14
+      less: 3.13.1
+      lodash: 4.17.20
+      postcss-less: 1.1.5
+      react-hot-loader: 4.13.0_react-dom@17.0.1+react@17.0.1
+    dev: false
+    peerDependencies:
+      react: '*'
+      react-dom: '*'
+    resolution:
+      integrity: sha512-UFbD80pEKADqN4hz6pZIjuT3EmNgJsZcnR61gXhQtFVShhFMCgCEPFCbF+0OzsQPrw2AxgObPJkxZNvSK7vvxg==
+  /babel-preset-breezr/1.0.14:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-proposal-class-properties': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-decorators': 7.12.12_@babel+core@7.12.10
+      '@babel/plugin-proposal-export-default-from': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-export-namespace-from': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-function-bind': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-function-sent': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-json-strings': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-logical-assignment-operators': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-nullish-coalescing-operator': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-numeric-separator': 7.12.7_@babel+core@7.12.10
+      '@babel/plugin-proposal-optional-chaining': 7.12.7_@babel+core@7.12.10
+      '@babel/plugin-proposal-pipeline-operator': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-proposal-throw-expressions': 7.12.1_@babel+core@7.12.10
+      '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.12.10
+      '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.12.10
+      '@babel/plugin-transform-runtime': 7.12.10_@babel+core@7.12.10
+      '@babel/preset-env': 7.12.11_@babel+core@7.12.10
+      '@babel/preset-react': 7.12.10_@babel+core@7.12.10
+      '@babel/preset-typescript': 7.12.7_@babel+core@7.12.10
+      '@babel/runtime': 7.12.5
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-7qLVeyQaDOkw+YH3IEM9BROi2nzpjhU9KlMxxkle2YyKaa5+WypCCgbvnOpTv0LLpMhe13WuUrGvgt/xrD0MZg==
+  /babel-preset-jest/24.9.0:
+    dependencies:
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3
+      babel-plugin-jest-hoist: 24.9.0
+    engines:
+      node: '>= 6'
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    resolution:
+      integrity: sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==
+  /babel-preset-jest/24.9.0_@babel+core@7.12.10:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.12.10
+      babel-plugin-jest-hoist: 24.9.0
+    engines:
+      node: '>= 6'
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    resolution:
+      integrity: sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==
+  /babel-runtime/6.26.0:
+    dependencies:
+      core-js: 2.6.12
+      regenerator-runtime: 0.11.1
+    resolution:
+      integrity: sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
+  /babel-types/6.26.0:
+    dependencies:
+      babel-runtime: 6.26.0
+      esutils: 2.0.3
+      lodash: 4.17.20
+      to-fast-properties: 1.0.3
+    resolution:
+      integrity: sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
+  /bail/1.0.5:
+    dev: false
+    resolution:
+      integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==
+  /balanced-match/1.0.0:
+    resolution:
+      integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+  /base/0.11.2:
+    dependencies:
+      cache-base: 1.0.1
+      class-utils: 0.3.6
+      component-emitter: 1.3.0
+      define-property: 1.0.0
+      isobject: 3.0.1
+      mixin-deep: 1.3.2
+      pascalcase: 0.1.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
+  /base64-js/1.5.1:
+    resolution:
+      integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+  /batch/0.6.1:
+    resolution:
+      integrity: sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=
+  /bcrypt-pbkdf/1.0.2:
+    dependencies:
+      tweetnacl: 0.14.5
+    resolution:
+      integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
+  /bfj/6.1.2:
+    dependencies:
+      bluebird: 3.7.2
+      check-types: 8.0.3
+      hoopy: 0.1.4
+      tryer: 1.0.1
+    engines:
+      node: '>= 6.0.0'
+    resolution:
+      integrity: sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==
+  /big.js/3.2.0:
+    resolution:
+      integrity: sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==
+  /big.js/5.2.2:
+    resolution:
+      integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
+  /binary-extensions/1.13.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
+  /binary-extensions/2.1.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
+  /binaryextensions/2.3.0:
+    engines:
+      node: '>=0.8'
+    resolution:
+      integrity: sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==
+  /bindings/1.5.0:
+    dependencies:
+      file-uri-to-path: 1.0.0
+    optional: true
+    resolution:
+      integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
+  /bl/4.0.3:
+    dependencies:
+      buffer: 5.6.0
+      inherits: 2.0.4
+      readable-stream: 3.6.0
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==
+  /bluebird/3.7.2:
+    resolution:
+      integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
+  /bn.js/4.11.9:
+    resolution:
+      integrity: sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
+  /bn.js/5.1.3:
+    resolution:
+      integrity: sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==
+  /body-parser/1.19.0:
+    dependencies:
+      bytes: 3.1.0
+      content-type: 1.0.4
+      debug: 2.6.9
+      depd: 1.1.2
+      http-errors: 1.7.2
+      iconv-lite: 0.4.24
+      on-finished: 2.3.0
+      qs: 6.7.0
+      raw-body: 2.4.0
+      type-is: 1.6.18
+    engines:
+      node: '>= 0.8'
+    resolution:
+      integrity: sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
+  /bonjour/3.5.0:
+    dependencies:
+      array-flatten: 2.1.2
+      deep-equal: 1.1.1
+      dns-equal: 1.0.0
+      dns-txt: 2.0.2
+      multicast-dns: 6.2.3
+      multicast-dns-service-types: 1.1.0
+    resolution:
+      integrity: sha1-jokKGD2O6aI5OzhExpGkK897yfU=
+  /boolbase/1.0.0:
+    resolution:
+      integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24=
+  /bowser/1.9.4:
+    dev: false
+    resolution:
+      integrity: sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==
+  /boxen/3.2.0:
+    dependencies:
+      ansi-align: 3.0.0
+      camelcase: 5.3.1
+      chalk: 2.4.2
+      cli-boxes: 2.2.1
+      string-width: 3.1.0
+      term-size: 1.2.0
+      type-fest: 0.3.1
+      widest-line: 2.0.1
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==
+  /brace-expansion/1.1.11:
+    dependencies:
+      balanced-match: 1.0.0
+      concat-map: 0.0.1
+    resolution:
+      integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+  /braces/2.3.2:
+    dependencies:
+      arr-flatten: 1.1.0
+      array-unique: 0.3.2
+      extend-shallow: 2.0.1
+      fill-range: 4.0.0
+      isobject: 3.0.1
+      repeat-element: 1.1.3
+      snapdragon: 0.8.2
+      snapdragon-node: 2.1.1
+      split-string: 3.1.0
+      to-regex: 3.0.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
+  /braces/3.0.2:
+    dependencies:
+      fill-range: 7.0.1
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+  /brorand/1.1.0:
+    resolution:
+      integrity: sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
+  /browser-process-hrtime/1.0.0:
+    resolution:
+      integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
+  /browser-resolve/1.11.3:
+    dependencies:
+      resolve: 1.1.7
+    resolution:
+      integrity: sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==
+  /browserify-aes/1.2.0:
+    dependencies:
+      buffer-xor: 1.0.3
+      cipher-base: 1.0.4
+      create-hash: 1.2.0
+      evp_bytestokey: 1.0.3
+      inherits: 2.0.4
+      safe-buffer: 5.2.1
+    resolution:
+      integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
+  /browserify-cipher/1.0.1:
+    dependencies:
+      browserify-aes: 1.2.0
+      browserify-des: 1.0.2
+      evp_bytestokey: 1.0.3
+    resolution:
+      integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
+  /browserify-des/1.0.2:
+    dependencies:
+      cipher-base: 1.0.4
+      des.js: 1.0.1
+      inherits: 2.0.4
+      safe-buffer: 5.2.1
+    resolution:
+      integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
+  /browserify-rsa/4.1.0:
+    dependencies:
+      bn.js: 5.1.3
+      randombytes: 2.1.0
+    resolution:
+      integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==
+  /browserify-sign/4.2.1:
+    dependencies:
+      bn.js: 5.1.3
+      browserify-rsa: 4.1.0
+      create-hash: 1.2.0
+      create-hmac: 1.1.7
+      elliptic: 6.5.3
+      inherits: 2.0.4
+      parse-asn1: 5.1.6
+      readable-stream: 3.6.0
+      safe-buffer: 5.2.1
+    resolution:
+      integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==
+  /browserify-zlib/0.2.0:
+    dependencies:
+      pako: 1.0.11
+    resolution:
+      integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
+  /browserslist/4.14.6:
+    dependencies:
+      caniuse-lite: 1.0.30001181
+      electron-to-chromium: 1.3.648
+      escalade: 3.1.1
+      node-releases: 1.1.70
+    dev: false
+    engines:
+      node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7
+    hasBin: true
+    resolution:
+      integrity: sha512-zeFYcUo85ENhc/zxHbiIp0LGzzTrE2Pv2JhxvS7kpUb9Q9D38kUX6Bie7pGutJ/5iF5rOxE7CepAuWD56xJ33A==
+  /browserslist/4.14.7:
+    dependencies:
+      caniuse-lite: 1.0.30001157
+      colorette: 1.2.1
+      electron-to-chromium: 1.3.592
+      escalade: 3.1.1
+      node-releases: 1.1.66
+    engines:
+      node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7
+    hasBin: true
+    resolution:
+      integrity: sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==
+  /browserslist/4.16.1:
+    dependencies:
+      caniuse-lite: 1.0.30001181
+      colorette: 1.2.1
+      electron-to-chromium: 1.3.648
+      escalade: 3.1.1
+      node-releases: 1.1.70
+    engines:
+      node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7
+    hasBin: true
+    resolution:
+      integrity: sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==
+  /browserslist/4.7.0:
+    dependencies:
+      caniuse-lite: 1.0.30001181
+      electron-to-chromium: 1.3.648
+      node-releases: 1.1.70
+    hasBin: true
+    resolution:
+      integrity: sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==
+  /bs-logger/0.2.6:
+    dependencies:
+      fast-json-stable-stringify: 2.1.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==
+  /bser/2.1.1:
+    dependencies:
+      node-int64: 0.4.0
+    resolution:
+      integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==
+  /buffer-alloc-unsafe/1.1.0:
+    resolution:
+      integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
+  /buffer-alloc/1.2.0:
+    dependencies:
+      buffer-alloc-unsafe: 1.1.0
+      buffer-fill: 1.0.0
+    resolution:
+      integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
+  /buffer-fill/1.0.0:
+    resolution:
+      integrity: sha1-+PeLdniYiO858gXNY39o5wISKyw=
+  /buffer-from/1.1.1:
+    resolution:
+      integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
+  /buffer-indexof/1.1.1:
+    resolution:
+      integrity: sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==
+  /buffer-json/2.0.0:
+    resolution:
+      integrity: sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==
+  /buffer-xor/1.0.3:
+    resolution:
+      integrity: sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
+  /buffer/4.9.2:
+    dependencies:
+      base64-js: 1.5.1
+      ieee754: 1.2.1
+      isarray: 1.0.0
+    resolution:
+      integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==
+  /buffer/5.6.0:
+    dependencies:
+      base64-js: 1.5.1
+      ieee754: 1.2.1
+    dev: false
+    resolution:
+      integrity: sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==
+  /builtin-status-codes/3.0.0:
+    resolution:
+      integrity: sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
+  /bytes/3.0.0:
+    engines:
+      node: '>= 0.8'
+    resolution:
+      integrity: sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
+  /bytes/3.1.0:
+    engines:
+      node: '>= 0.8'
+    resolution:
+      integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
+  /cacache/12.0.4:
+    dependencies:
+      bluebird: 3.7.2
+      chownr: 1.1.4
+      figgy-pudding: 3.5.2
+      glob: 7.1.6
+      graceful-fs: 4.2.4
+      infer-owner: 1.0.4
+      lru-cache: 5.1.1
+      mississippi: 3.0.0
+      mkdirp: 0.5.5
+      move-concurrently: 1.0.1
+      promise-inflight: 1.0.1
+      rimraf: 2.7.1
+      ssri: 6.0.1
+      unique-filename: 1.1.1
+      y18n: 4.0.1
+    resolution:
+      integrity: sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==
+  /cache-base/1.0.1:
+    dependencies:
+      collection-visit: 1.0.0
+      component-emitter: 1.3.0
+      get-value: 2.0.6
+      has-value: 1.0.0
+      isobject: 3.0.1
+      set-value: 2.0.1
+      to-object-path: 0.3.0
+      union-value: 1.0.1
+      unset-value: 1.0.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
+  /cache-loader/4.1.0:
+    dependencies:
+      buffer-json: 2.0.0
+      find-cache-dir: 3.3.1
+      loader-utils: 1.4.0
+      mkdirp: 0.5.5
+      neo-async: 2.6.2
+      schema-utils: 2.7.1
+    engines:
+      node: '>= 8.9.0'
+    peerDependencies:
+      webpack: ^4.0.0
+    resolution:
+      integrity: sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==
+  /cacheable-request/6.1.0:
+    dependencies:
+      clone-response: 1.0.2
+      get-stream: 5.2.0
+      http-cache-semantics: 4.1.0
+      keyv: 3.1.0
+      lowercase-keys: 2.0.0
+      normalize-url: 4.5.0
+      responselike: 1.0.2
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==
+  /call-bind/1.0.0:
+    dependencies:
+      function-bind: 1.1.1
+      get-intrinsic: 1.0.1
+    resolution:
+      integrity: sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==
+  /call-bind/1.0.2:
+    dependencies:
+      function-bind: 1.1.1
+      get-intrinsic: 1.1.0
+    resolution:
+      integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
+  /call-me-maybe/1.0.1:
+    resolution:
+      integrity: sha1-JtII6onje1y95gJQoV8DHBak1ms=
+  /caller-callsite/2.0.0:
+    dependencies:
+      callsites: 2.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=
+  /caller-path/2.0.0:
+    dependencies:
+      caller-callsite: 2.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=
+  /callsites/2.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
+  /callsites/3.1.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+  /camel-case/3.0.0:
+    dependencies:
+      no-case: 2.3.2
+      upper-case: 1.1.3
+    resolution:
+      integrity: sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=
+  /camelcase-css/2.0.1:
+    dev: false
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
+  /camelcase/4.1.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
+  /camelcase/5.3.1:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+  /camelcase/6.2.0:
+    engines:
+      node: '>=10'
+    resolution:
+      integrity: sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
+  /camelize/1.0.0:
+    dev: false
+    resolution:
+      integrity: sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=
+  /caniuse-api/3.0.0:
+    dependencies:
+      browserslist: 4.16.1
+      caniuse-lite: 1.0.30001181
+      lodash.memoize: 4.1.2
+      lodash.uniq: 4.5.0
+    resolution:
+      integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==
+  /caniuse-lite/1.0.30001157:
+    resolution:
+      integrity: sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA==
+  /caniuse-lite/1.0.30001181:
+    resolution:
+      integrity: sha512-m5ul/ARCX50JB8BSNM+oiPmQrR5UmngaQ3QThTTp5HcIIQGP/nPBs82BYLE+tigzm3VW+F4BJIhUyaVtEweelQ==
+  /capture-exit/2.0.0:
+    dependencies:
+      rsvp: 4.8.5
+    engines:
+      node: 6.* || 8.* || >= 10.*
+    resolution:
+      integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==
+  /capture-stack-trace/1.0.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==
+  /caseless/0.12.0:
+    resolution:
+      integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
+  /ccount/1.1.0:
+    dev: false
+    resolution:
+      integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==
+  /chalk/1.1.3:
+    dependencies:
+      ansi-styles: 2.2.1
+      escape-string-regexp: 1.0.5
+      has-ansi: 2.0.0
+      strip-ansi: 3.0.1
+      supports-color: 2.0.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
+  /chalk/2.3.2:
+    dependencies:
+      ansi-styles: 3.2.1
+      escape-string-regexp: 1.0.5
+      supports-color: 5.5.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==
+  /chalk/2.4.2:
+    dependencies:
+      ansi-styles: 3.2.1
+      escape-string-regexp: 1.0.5
+      supports-color: 5.5.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+  /chalk/4.0.0:
+    dependencies:
+      ansi-styles: 4.3.0
+      supports-color: 7.2.0
+    dev: false
+    engines:
+      node: '>=10'
+    resolution:
+      integrity: sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==
+  /chalk/4.1.0:
+    dependencies:
+      ansi-styles: 4.3.0
+      supports-color: 7.2.0
+    engines:
+      node: '>=10'
+    resolution:
+      integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
+  /character-entities-legacy/1.1.4:
+    dev: false
+    resolution:
+      integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==
+  /character-entities/1.2.4:
+    dev: false
+    resolution:
+      integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==
+  /character-reference-invalid/1.1.4:
+    dev: false
+    resolution:
+      integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
+  /chardet/0.7.0:
+    resolution:
+      integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+  /check-types/8.0.3:
+    resolution:
+      integrity: sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==
+  /cheerio-select-tmp/0.1.1:
+    dependencies:
+      css-select: 3.1.2
+      css-what: 4.0.0
+      domelementtype: 2.1.0
+      domhandler: 4.0.0
+      domutils: 2.4.4
+    deprecated: Use cheerio-select instead
+    resolution:
+      integrity: sha512-YYs5JvbpU19VYJyj+F7oYrIE2BOll1/hRU7rEy/5+v9BzkSo3bK81iAeeQEMI92vRIxz677m72UmJUiVwwgjfQ==
+  /cheerio/1.0.0-rc.3:
+    dependencies:
+      css-select: 1.2.0
+      dom-serializer: 0.1.1
+      entities: 1.1.2
+      htmlparser2: 3.10.1
+      lodash: 4.17.20
+      parse5: 3.0.3
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==
+  /cheerio/1.0.0-rc.5:
+    dependencies:
+      cheerio-select-tmp: 0.1.1
+      dom-serializer: 1.2.0
+      domhandler: 4.0.0
+      entities: 2.1.0
+      htmlparser2: 6.0.0
+      parse5: 6.0.1
+      parse5-htmlparser2-tree-adapter: 6.0.1
+    engines:
+      node: '>= 0.12'
+    resolution:
+      integrity: sha512-yoqps/VCaZgN4pfXtenwHROTp8NG6/Hlt4Jpz2FEP0ZJQ+ZUkVDd0hAPDNKhj3nakpfPt/CNs57yEtxD1bXQiw==
+  /chokidar/2.1.8:
+    dependencies:
+      anymatch: 2.0.0
+      async-each: 1.0.3
+      braces: 2.3.2
+      glob-parent: 3.1.0
+      inherits: 2.0.4
+      is-binary-path: 1.0.1
+      is-glob: 4.0.1
+      normalize-path: 3.0.0
+      path-is-absolute: 1.0.1
+      readdirp: 2.2.1
+      upath: 1.2.0
+    deprecated: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
+    optionalDependencies:
+      fsevents: 1.2.13
+    resolution:
+      integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
+  /chokidar/3.4.2:
+    dependencies:
+      anymatch: 3.1.1
+      braces: 3.0.2
+      glob-parent: 5.1.1
+      is-binary-path: 2.1.0
+      is-glob: 4.0.1
+      normalize-path: 3.0.0
+      readdirp: 3.4.0
+    engines:
+      node: '>= 8.10.0'
+    optionalDependencies:
+      fsevents: 2.1.3
+    resolution:
+      integrity: sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==
+  /chokidar/3.4.3:
+    dependencies:
+      anymatch: 3.1.1
+      braces: 3.0.2
+      glob-parent: 5.1.1
+      is-binary-path: 2.1.0
+      is-glob: 4.0.1
+      normalize-path: 3.0.0
+      readdirp: 3.5.0
+    engines:
+      node: '>= 8.10.0'
+    optionalDependencies:
+      fsevents: 2.1.3
+    resolution:
+      integrity: sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==
+  /chokidar/3.5.1:
+    dependencies:
+      anymatch: 3.1.1
+      braces: 3.0.2
+      glob-parent: 5.1.1
+      is-binary-path: 2.1.0
+      is-glob: 4.0.1
+      normalize-path: 3.0.0
+      readdirp: 3.5.0
+    dev: true
+    engines:
+      node: '>= 8.10.0'
+    optional: true
+    optionalDependencies:
+      fsevents: 2.3.1
+    resolution:
+      integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==
+  /chownr/1.1.4:
+    resolution:
+      integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
+  /chrome-trace-event/1.0.2:
+    dependencies:
+      tslib: 1.14.1
+    engines:
+      node: '>=6.0'
+    resolution:
+      integrity: sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==
+  /ci-info/1.6.0:
+    resolution:
+      integrity: sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==
+  /ci-info/2.0.0:
+    resolution:
+      integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
+  /cipher-base/1.0.4:
+    dependencies:
+      inherits: 2.0.4
+      safe-buffer: 5.2.1
+    resolution:
+      integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
+  /circular-json-es6/2.0.2:
+    resolution:
+      integrity: sha512-ODYONMMNb3p658Zv+Pp+/XPa5s6q7afhz3Tzyvo+VRh9WIrJ64J76ZC4GQxnlye/NesTn09jvOiuE8+xxfpwhQ==
+  /class-utils/0.3.6:
+    dependencies:
+      arr-union: 3.1.0
+      define-property: 0.2.5
+      isobject: 3.0.1
+      static-extend: 0.1.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
+  /classnames/2.2.6:
+    dev: false
+    resolution:
+      integrity: sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
+  /classnames/2.3.1:
+    dev: false
+    resolution:
+      integrity: sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==
+  /clean-css/4.2.3:
+    dependencies:
+      source-map: 0.6.1
+    engines:
+      node: '>= 4.0'
+    resolution:
+      integrity: sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==
+  /cli-boxes/2.2.1:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
+  /cli-cursor/2.1.0:
+    dependencies:
+      restore-cursor: 2.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
+  /cli-cursor/3.1.0:
+    dependencies:
+      restore-cursor: 3.1.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
+  /cli-spinners/2.5.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==
+  /cli-table/0.3.4:
+    dependencies:
+      chalk: 2.4.2
+      string-width: 4.2.0
+    engines:
+      node: '>= 10.0.0'
+    resolution:
+      integrity: sha512-1vinpnX/ZERcmE443i3SZTmU5DF0rPO9DrL4I2iVAllhxzCM9SzPlHnz19fsZB78htkKZvYBvj6SZ6vXnaxmTA==
+  /cli-width/2.2.1:
+    resolution:
+      integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==
+  /cli-width/3.0.0:
+    engines:
+      node: '>= 10'
+    resolution:
+      integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
+  /clipboard/2.0.6:
+    dependencies:
+      good-listener: 1.2.2
+      select: 1.1.2
+      tiny-emitter: 2.1.0
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==
+  /clipboardy/2.3.0:
+    dependencies:
+      arch: 2.2.0
+      execa: 1.0.0
+      is-wsl: 2.2.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==
+  /cliui/5.0.0:
+    dependencies:
+      string-width: 3.1.0
+      strip-ansi: 5.2.0
+      wrap-ansi: 5.1.0
+    resolution:
+      integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
+  /cliui/6.0.0:
+    dependencies:
+      string-width: 4.2.0
+      strip-ansi: 6.0.0
+      wrap-ansi: 6.2.0
+    resolution:
+      integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
+  /clone-buffer/1.0.0:
+    engines:
+      node: '>= 0.10'
+    resolution:
+      integrity: sha1-4+JbIHrE5wGvch4staFnksrD3Fg=
+  /clone-deep/0.2.4:
+    dependencies:
+      for-own: 0.1.5
+      is-plain-object: 2.0.4
+      kind-of: 3.2.2
+      lazy-cache: 1.0.4
+      shallow-clone: 0.1.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=
+  /clone-deep/4.0.1:
+    dependencies:
+      is-plain-object: 2.0.4
+      kind-of: 6.0.3
+      shallow-clone: 3.0.1
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
+  /clone-response/1.0.2:
+    dependencies:
+      mimic-response: 1.0.1
+    resolution:
+      integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
+  /clone-stats/1.0.0:
+    resolution:
+      integrity: sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=
+  /clone/1.0.4:
+    engines:
+      node: '>=0.8'
+    resolution:
+      integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
+  /clone/2.1.2:
+    engines:
+      node: '>=0.8'
+    resolution:
+      integrity: sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=
+  /cloneable-readable/1.1.3:
+    dependencies:
+      inherits: 2.0.4
+      process-nextick-args: 2.0.1
+      readable-stream: 2.3.7
+    resolution:
+      integrity: sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==
+  /co-defer/1.0.0:
+    dev: false
+    engines:
+      node: '>= 0.11.14'
+    peerDependencies:
+      co: '4'
+    resolution:
+      integrity: sha1-Pkp4eo7tawoh7ih8CU9+jeDTyBg=
+  /co/4.6.0:
+    engines:
+      iojs: '>= 1.0.0'
+      node: '>= 0.12.0'
+    resolution:
+      integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
+  /coa/2.0.2:
+    dependencies:
+      '@types/q': 1.5.4
+      chalk: 2.4.2
+      q: 1.5.1
+    engines:
+      node: '>= 4.0'
+    resolution:
+      integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==
+  /code-point-at/1.1.0:
+    dev: false
+    engines:
+      node: '>=0.10.0'
+    optional: true
+    resolution:
+      integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
+  /codemirror/5.59.2:
+    dev: false
+    resolution:
+      integrity: sha512-/D5PcsKyzthtSy2NNKCyJi3b+htRkoKv3idswR/tR6UAvMNKA7SrmyZy6fOONJxSRs1JlUWEDAbxqfdArbK8iA==
+  /collapse-white-space/1.0.6:
+    dev: false
+    resolution:
+      integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==
+  /collection-visit/1.0.0:
+    dependencies:
+      map-visit: 1.0.0
+      object-visit: 1.0.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
+  /color-convert/1.9.3:
+    dependencies:
+      color-name: 1.1.3
+    resolution:
+      integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+  /color-convert/2.0.1:
+    dependencies:
+      color-name: 1.1.4
+    engines:
+      node: '>=7.0.0'
+    resolution:
+      integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+  /color-name/1.1.3:
+    resolution:
+      integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+  /color-name/1.1.4:
+    resolution:
+      integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+  /color-string/1.5.4:
+    dependencies:
+      color-name: 1.1.4
+      simple-swizzle: 0.2.2
+    resolution:
+      integrity: sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==
+  /color/3.1.2:
+    dependencies:
+      color-convert: 1.9.3
+      color-string: 1.5.4
+    resolution:
+      integrity: sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==
+  /color/3.1.3:
+    dependencies:
+      color-convert: 1.9.3
+      color-string: 1.5.4
+    resolution:
+      integrity: sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==
+  /colorette/1.2.1:
+    resolution:
+      integrity: sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
+  /combined-stream/1.0.8:
+    dependencies:
+      delayed-stream: 1.0.0
+    engines:
+      node: '>= 0.8'
+    resolution:
+      integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+  /comma-separated-tokens/1.0.8:
+    dev: false
+    resolution:
+      integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==
+  /commander/2.17.1:
+    resolution:
+      integrity: sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
+  /commander/2.19.0:
+    resolution:
+      integrity: sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==
+  /commander/2.20.3:
+    resolution:
+      integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+  /commander/3.0.2:
+    resolution:
+      integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==
+  /commander/4.1.1:
+    dev: true
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
+  /commander/6.2.1:
+    dev: true
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==
+  /commondir/1.0.1:
+    resolution:
+      integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
+  /component-emitter/1.3.0:
+    resolution:
+      integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
+  /compose-function/3.0.3:
+    dependencies:
+      arity-n: 1.0.4
+    dev: false
+    resolution:
+      integrity: sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=
+  /compressible/2.0.18:
+    dependencies:
+      mime-db: 1.45.0
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
+  /compression/1.7.4:
+    dependencies:
+      accepts: 1.3.7
+      bytes: 3.0.0
+      compressible: 2.0.18
+      debug: 2.6.9
+      on-headers: 1.0.2
+      safe-buffer: 5.1.2
+      vary: 1.1.2
+    engines:
+      node: '>= 0.8.0'
+    resolution:
+      integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==
+  /concat-map/0.0.1:
+    resolution:
+      integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+  /concat-stream/1.6.2:
+    dependencies:
+      buffer-from: 1.1.1
+      inherits: 2.0.4
+      readable-stream: 2.3.7
+      typedarray: 0.0.6
+    engines:
+      '0': node >= 0.8
+    resolution:
+      integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
+  /configstore/4.0.0:
+    dependencies:
+      dot-prop: 4.2.1
+      graceful-fs: 4.2.4
+      make-dir: 1.3.0
+      unique-string: 1.0.0
+      write-file-atomic: 2.4.3
+      xdg-basedir: 3.0.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==
+  /connect-history-api-fallback/1.6.0:
+    engines:
+      node: '>=0.8'
+    resolution:
+      integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==
+  /consola/2.15.0:
+    resolution:
+      integrity: sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ==
+  /console-browserify/1.2.0:
+    resolution:
+      integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
+  /console-control-strings/1.1.0:
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
+  /constants-browserify/1.0.0:
+    resolution:
+      integrity: sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
+  /content-disposition/0.5.3:
+    dependencies:
+      safe-buffer: 5.1.2
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
+  /content-type/1.0.4:
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
+  /convert-source-map/0.3.5:
+    dev: false
+    resolution:
+      integrity: sha1-8dgClQr33SYxof6+BZZVDIarMZA=
+  /convert-source-map/1.7.0:
+    dependencies:
+      safe-buffer: 5.1.2
+    resolution:
+      integrity: sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
+  /cookie-signature/1.0.6:
+    resolution:
+      integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
+  /cookie/0.4.0:
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
+  /copy-anything/2.0.1:
+    dependencies:
+      is-what: 3.12.0
+    resolution:
+      integrity: sha512-lA57e7viQHOdPQcrytv5jFeudZZOXuyk47lZym279FiDQ8jeZomXiGuVf6ffMKkJ+3TIai3J1J3yi6M+/4U35g==
+  /copy-concurrently/1.0.5:
+    dependencies:
+      aproba: 1.2.0
+      fs-write-stream-atomic: 1.0.10
+      iferr: 0.1.5
+      mkdirp: 0.5.5
+      rimraf: 2.7.1
+      run-queue: 1.0.3
+    resolution:
+      integrity: sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==
+  /copy-descriptor/0.1.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
+  /copy-to-clipboard/3.3.1:
+    dependencies:
+      toggle-selection: 1.0.6
+    dev: false
+    resolution:
+      integrity: sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==
+  /copy-to/2.0.1:
+    dev: false
+    resolution:
+      integrity: sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU=
+  /core-js-compat/3.7.0:
+    dependencies:
+      browserslist: 4.14.7
+      semver: 7.0.0
+    resolution:
+      integrity: sha512-V8yBI3+ZLDVomoWICO6kq/CD28Y4r1M7CWeO4AGpMdMfseu8bkSubBmUPySMGKRTS+su4XQ07zUkAsiu9FCWTg==
+  /core-js-compat/3.8.3:
+    dependencies:
+      browserslist: 4.16.1
+      semver: 7.0.0
+    resolution:
+      integrity: sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==
+  /core-js/2.6.12:
+    deprecated: 'core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.'
+    requiresBuild: true
+    resolution:
+      integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
+  /core-js/3.6.5:
+    requiresBuild: true
+    resolution:
+      integrity: sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==
+  /core-util-is/1.0.2:
+    resolution:
+      integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
+  /cosmiconfig/5.2.1:
+    dependencies:
+      import-fresh: 2.0.0
+      is-directory: 0.3.1
+      js-yaml: 3.14.1
+      parse-json: 4.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
+  /cosmiconfig/6.0.0:
+    dependencies:
+      '@types/parse-json': 4.0.0
+      import-fresh: 3.2.2
+      parse-json: 5.1.0
+      path-type: 4.0.0
+      yaml: 1.10.0
+    dev: false
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
+  /create-ecdh/4.0.4:
+    dependencies:
+      bn.js: 4.11.9
+      elliptic: 6.5.3
+    resolution:
+      integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==
+  /create-error-class/3.0.2:
+    dependencies:
+      capture-stack-trace: 1.0.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=
+  /create-hash/1.2.0:
+    dependencies:
+      cipher-base: 1.0.4
+      inherits: 2.0.4
+      md5.js: 1.3.5
+      ripemd160: 2.0.2
+      sha.js: 2.4.11
+    resolution:
+      integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
+  /create-hmac/1.1.7:
+    dependencies:
+      cipher-base: 1.0.4
+      create-hash: 1.2.0
+      inherits: 2.0.4
+      ripemd160: 2.0.2
+      safe-buffer: 5.2.1
+      sha.js: 2.4.11
+    resolution:
+      integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
+  /crequire/1.8.1:
+    engines:
+      node: '>= 0.6.0'
+    resolution:
+      integrity: sha1-rIHyBHhrXyARlOsWmM9EGxCktX0=
+  /cross-fetch/3.0.6:
+    dependencies:
+      node-fetch: 2.6.1
+    dev: false
+    resolution:
+      integrity: sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==
+  /cross-spawn/5.1.0:
+    dependencies:
+      lru-cache: 4.1.5
+      shebang-command: 1.2.0
+      which: 1.3.1
+    resolution:
+      integrity: sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=
+  /cross-spawn/6.0.5:
+    dependencies:
+      nice-try: 1.0.5
+      path-key: 2.0.1
+      semver: 5.7.1
+      shebang-command: 1.2.0
+      which: 1.3.1
+    engines:
+      node: '>=4.8'
+    resolution:
+      integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
+  /cross-spawn/7.0.3:
+    dependencies:
+      path-key: 3.1.1
+      shebang-command: 2.0.0
+      which: 2.0.2
+    engines:
+      node: '>= 8'
+    resolution:
+      integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+  /crypto-browserify/3.12.0:
+    dependencies:
+      browserify-cipher: 1.0.1
+      browserify-sign: 4.2.1
+      create-ecdh: 4.0.4
+      create-hash: 1.2.0
+      create-hmac: 1.1.7
+      diffie-hellman: 5.0.3
+      inherits: 2.0.4
+      pbkdf2: 3.1.1
+      public-encrypt: 4.0.3
+      randombytes: 2.1.0
+      randomfill: 1.0.4
+    resolution:
+      integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
+  /crypto-random-string/1.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=
+  /css-color-keywords/1.0.0:
+    dev: false
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=
+  /css-color-names/0.0.4:
+    resolution:
+      integrity: sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=
+  /css-declaration-sorter/4.0.1:
+    dependencies:
+      postcss: 7.0.35
+      timsort: 0.3.0
+    engines:
+      node: '>4'
+    resolution:
+      integrity: sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==
+  /css-loader/2.1.1:
+    dependencies:
+      camelcase: 5.3.1
+      icss-utils: 4.1.1
+      loader-utils: 1.4.0
+      normalize-path: 3.0.0
+      postcss: 7.0.35
+      postcss-modules-extract-imports: 2.0.0
+      postcss-modules-local-by-default: 2.0.6
+      postcss-modules-scope: 2.2.0
+      postcss-modules-values: 2.0.0
+      postcss-value-parser: 3.3.1
+      schema-utils: 1.0.0
+    engines:
+      node: '>= 6.9.0'
+    peerDependencies:
+      webpack: ^4.0.0
+    resolution:
+      integrity: sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==
+  /css-loader/4.3.0_webpack@4.44.1:
+    dependencies:
+      camelcase: 6.2.0
+      cssesc: 3.0.0
+      icss-utils: 4.1.1
+      loader-utils: 2.0.0
+      postcss: 7.0.35
+      postcss-modules-extract-imports: 2.0.0
+      postcss-modules-local-by-default: 3.0.3
+      postcss-modules-scope: 2.2.0
+      postcss-modules-values: 3.0.0
+      postcss-value-parser: 4.1.0
+      schema-utils: 2.7.1
+      semver: 7.3.4
+      webpack: 4.44.1
+    dev: false
+    engines:
+      node: '>= 10.13.0'
+    peerDependencies:
+      webpack: ^4.27.0 || ^5.0.0
+    resolution:
+      integrity: sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg==
+  /css-loader/5.0.1_webpack@4.44.2:
+    dependencies:
+      camelcase: 6.2.0
+      cssesc: 3.0.0
+      icss-utils: 5.0.0_postcss@8.1.7
+      loader-utils: 2.0.0
+      postcss: 8.1.7
+      postcss-modules-extract-imports: 3.0.0_postcss@8.1.7
+      postcss-modules-local-by-default: 4.0.0_postcss@8.1.7
+      postcss-modules-scope: 3.0.0_postcss@8.1.7
+      postcss-modules-values: 4.0.0_postcss@8.1.7
+      postcss-value-parser: 4.1.0
+      schema-utils: 3.0.0
+      semver: 7.3.2
+      webpack: 4.44.2_webpack-cli@4.4.0
+    dev: true
+    engines:
+      node: '>= 10.13.0'
+    peerDependencies:
+      webpack: ^4.27.0 || ^5.0.0
+    resolution:
+      integrity: sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw==
+  /css-modules-loader-core/1.1.0:
+    dependencies:
+      icss-replace-symbols: 1.1.0
+      postcss: 6.0.1
+      postcss-modules-extract-imports: 1.1.0
+      postcss-modules-local-by-default: 1.2.0
+      postcss-modules-scope: 1.1.0
+      postcss-modules-values: 1.3.0
+    resolution:
+      integrity: sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=
+  /css-select-base-adapter/0.1.1:
+    resolution:
+      integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==
+  /css-select/1.2.0:
+    dependencies:
+      boolbase: 1.0.0
+      css-what: 2.1.3
+      domutils: 1.5.1
+      nth-check: 1.0.2
+    resolution:
+      integrity: sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=
+  /css-select/2.1.0:
+    dependencies:
+      boolbase: 1.0.0
+      css-what: 3.4.2
+      domutils: 1.7.0
+      nth-check: 1.0.2
+    resolution:
+      integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==
+  /css-select/3.1.2:
+    dependencies:
+      boolbase: 1.0.0
+      css-what: 4.0.0
+      domhandler: 4.0.0
+      domutils: 2.4.4
+      nth-check: 2.0.0
+    resolution:
+      integrity: sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==
+  /css-selector-tokenizer/0.7.3:
+    dependencies:
+      cssesc: 3.0.0
+      fastparse: 1.1.2
+    resolution:
+      integrity: sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==
+  /css-to-react-native/2.3.2:
+    dependencies:
+      camelize: 1.0.0
+      css-color-keywords: 1.0.0
+      postcss-value-parser: 3.3.1
+    dev: false
+    resolution:
+      integrity: sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==
+  /css-tree/1.0.0-alpha.37:
+    dependencies:
+      mdn-data: 2.0.4
+      source-map: 0.6.1
+    engines:
+      node: '>=8.0.0'
+    resolution:
+      integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==
+  /css-tree/1.1.2:
+    dependencies:
+      mdn-data: 2.0.14
+      source-map: 0.6.1
+    engines:
+      node: '>=8.0.0'
+    resolution:
+      integrity: sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==
+  /css-what/2.1.3:
+    resolution:
+      integrity: sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==
+  /css-what/3.4.2:
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==
+  /css-what/4.0.0:
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==
+  /css.escape/1.5.1:
+    dev: false
+    resolution:
+      integrity: sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=
+  /css/2.2.4:
+    dependencies:
+      inherits: 2.0.4
+      source-map: 0.6.1
+      source-map-resolve: 0.5.3
+      urix: 0.1.0
+    dev: false
+    resolution:
+      integrity: sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==
+  /cssesc/2.0.0:
+    dev: true
+    engines:
+      node: '>=4'
+    hasBin: true
+    resolution:
+      integrity: sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==
+  /cssesc/3.0.0:
+    engines:
+      node: '>=4'
+    hasBin: true
+    resolution:
+      integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
+  /cssnano-preset-default/4.0.7:
+    dependencies:
+      css-declaration-sorter: 4.0.1
+      cssnano-util-raw-cache: 4.0.1
+      postcss: 7.0.35
+      postcss-calc: 7.0.5
+      postcss-colormin: 4.0.3
+      postcss-convert-values: 4.0.1
+      postcss-discard-comments: 4.0.2
+      postcss-discard-duplicates: 4.0.2
+      postcss-discard-empty: 4.0.1
+      postcss-discard-overridden: 4.0.1
+      postcss-merge-longhand: 4.0.11
+      postcss-merge-rules: 4.0.3
+      postcss-minify-font-values: 4.0.2
+      postcss-minify-gradients: 4.0.2
+      postcss-minify-params: 4.0.2
+      postcss-minify-selectors: 4.0.2
+      postcss-normalize-charset: 4.0.1
+      postcss-normalize-display-values: 4.0.2
+      postcss-normalize-positions: 4.0.2
+      postcss-normalize-repeat-style: 4.0.2
+      postcss-normalize-string: 4.0.2
+      postcss-normalize-timing-functions: 4.0.2
+      postcss-normalize-unicode: 4.0.1
+      postcss-normalize-url: 4.0.1
+      postcss-normalize-whitespace: 4.0.2
+      postcss-ordered-values: 4.1.2
+      postcss-reduce-initial: 4.0.3
+      postcss-reduce-transforms: 4.0.2
+      postcss-svgo: 4.0.2
+      postcss-unique-selectors: 4.0.1
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==
+  /cssnano-preset-simple/1.2.1:
+    dependencies:
+      caniuse-lite: 1.0.30001181
+      postcss: 7.0.35
+    dev: false
+    resolution:
+      integrity: sha512-B2KahOIFTV6dw5Ioy9jHshTh/vAYNnUB2enyWRgnAEg3oJBjI/035ExpePaMqS2SwpbH7gCgvQqwpMBH6hTJSw==
+  /cssnano-simple/1.2.1:
+    dependencies:
+      cssnano-preset-simple: 1.2.1
+      postcss: 7.0.35
+    dev: false
+    resolution:
+      integrity: sha512-9vOyjw8Dj/T12kIOnXPZ5VnEIo6F3YMaIn0wqJXmn277R58cWpI3AvtdlCBtohX7VAUNYcyk2d0dKcXXkb5I6Q==
+  /cssnano-util-get-arguments/4.0.0:
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=
+  /cssnano-util-get-match/4.0.0:
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=
+  /cssnano-util-raw-cache/4.0.1:
+    dependencies:
+      postcss: 7.0.35
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==
+  /cssnano-util-same-parent/4.0.1:
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
+  /cssnano/4.1.10:
+    dependencies:
+      cosmiconfig: 5.2.1
+      cssnano-preset-default: 4.0.7
+      is-resolvable: 1.1.0
+      postcss: 7.0.35
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==
+  /csso/4.2.0:
+    dependencies:
+      css-tree: 1.1.2
+    engines:
+      node: '>=8.0.0'
+    resolution:
+      integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==
+  /cssom/0.3.8:
+    resolution:
+      integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
+  /cssstyle/1.4.0:
+    dependencies:
+      cssom: 0.3.8
+    resolution:
+      integrity: sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==
+  /csstype/2.6.14:
+    dev: false
+    resolution:
+      integrity: sha512-2mSc+VEpGPblzAxyeR+vZhJKgYg0Og0nnRi7pmRXFYYxSfnOnW8A5wwQb4n4cE2nIOzqKOAzLCaEX6aBmNEv8A==
+  /csstype/3.0.6:
+    dev: true
+    resolution:
+      integrity: sha512-+ZAmfyWMT7TiIlzdqJgjMb7S4f1beorDbWbsocyK4RaiqA5RTX3K14bnBWmmA9QEM0gRdsjyyrEmcyga8Zsxmw==
+  /cyclist/1.0.1:
+    resolution:
+      integrity: sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=
+  /d/1.0.1:
+    dependencies:
+      es5-ext: 0.10.53
+      type: 1.2.0
+    resolution:
+      integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
+  /dargs/5.1.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-7H6lDHhWTNNsnV7Bj2Yyn63ieCk=
+  /dargs/6.1.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-5dVBvpBLBnPwSsYXqfybFyehMmC/EenKEcf23AhCTgTf48JFBbmJKqoZBsERDnjL0FyiVTYWdFsRfTLHxLyKdQ==
+  /dashdash/1.14.1:
+    dependencies:
+      assert-plus: 1.0.0
+    engines:
+      node: '>=0.10'
+    resolution:
+      integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
+  /data-uri-to-buffer/1.2.0:
+    dev: false
+    resolution:
+      integrity: sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==
+  /data-uri-to-buffer/3.0.1:
+    dev: false
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==
+  /data-urls/1.1.0:
+    dependencies:
+      abab: 2.0.5
+      whatwg-mimetype: 2.3.0
+      whatwg-url: 7.1.0
+    resolution:
+      integrity: sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==
+  /dateformat/2.2.0:
+    dev: false
+    resolution:
+      integrity: sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=
+  /dateformat/3.0.3:
+    resolution:
+      integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
+  /debug/2.6.9:
+    dependencies:
+      ms: 2.0.0
+    resolution:
+      integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+  /debug/3.1.0:
+    dependencies:
+      ms: 2.0.0
+    resolution:
+      integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
+  /debug/3.2.7:
+    dependencies:
+      ms: 2.1.3
+    resolution:
+      integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
+  /debug/4.1.1:
+    dependencies:
+      ms: 2.1.3
+    deprecated: 'Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)'
+    resolution:
+      integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
+  /debug/4.2.0:
+    dependencies:
+      ms: 2.1.2
+    engines:
+      node: '>=6.0'
+    peerDependencies:
+      supports-color: '*'
+    peerDependenciesMeta:
+      supports-color:
+        optional: true
+    resolution:
+      integrity: sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==
+  /debug/4.3.1:
+    dependencies:
+      ms: 2.1.2
+    engines:
+      node: '>=6.0'
+    peerDependencies:
+      supports-color: '*'
+    peerDependenciesMeta:
+      supports-color:
+        optional: true
+    resolution:
+      integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
+  /debug/4.3.1_supports-color@5.5.0:
+    dependencies:
+      ms: 2.1.2
+      supports-color: 5.5.0
+    dev: false
+    engines:
+      node: '>=6.0'
+    peerDependencies:
+      supports-color: '*'
+    peerDependenciesMeta:
+      supports-color:
+        optional: true
+    resolution:
+      integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
+  /debug/4.3.1_supports-color@6.1.0:
+    dependencies:
+      ms: 2.1.2
+      supports-color: 6.1.0
+    engines:
+      node: '>=6.0'
+    peerDependencies:
+      supports-color: '*'
+    peerDependenciesMeta:
+      supports-color:
+        optional: true
+    resolution:
+      integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
+  /decamelize/1.2.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
+  /decode-uri-component/0.2.0:
+    engines:
+      node: '>=0.10'
+    resolution:
+      integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
+  /decompress-response/3.3.0:
+    dependencies:
+      mimic-response: 1.0.1
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
+  /decompress-response/4.2.1:
+    dependencies:
+      mimic-response: 2.1.0
+    dev: false
+    engines:
+      node: '>=8'
+    optional: true
+    resolution:
+      integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
+  /decompress-response/6.0.0:
+    dependencies:
+      mimic-response: 3.1.0
+    dev: false
+    engines:
+      node: '>=10'
+    optional: true
+    resolution:
+      integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
+  /deep-equal-ident/1.1.1:
+    dependencies:
+      lodash.isequal: 3.0.4
+    resolution:
+      integrity: sha1-BvS4nlNxDNbOpKd4HHqVZkLejck=
+  /deep-equal/1.1.1:
+    dependencies:
+      is-arguments: 1.1.0
+      is-date-object: 1.0.2
+      is-regex: 1.1.1
+      object-is: 1.1.4
+      object-keys: 1.1.1
+      regexp.prototype.flags: 1.3.0
+    resolution:
+      integrity: sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==
+  /deep-extend/0.6.0:
+    engines:
+      node: '>=4.0.0'
+    resolution:
+      integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
+  /deep-is/0.1.3:
+    resolution:
+      integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
+  /deepmerge/1.5.2:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==
+  /deepmerge/4.2.2:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
+  /default-gateway/4.2.0:
+    dependencies:
+      execa: 1.0.0
+      ip-regex: 2.1.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==
+  /default-user-agent/1.0.0:
+    dependencies:
+      os-name: 1.0.3
+    dev: false
+    engines:
+      node: '>= 0.10.0'
+    resolution:
+      integrity: sha1-FsRu/cq6PtxF8k8r1IaLAbfCrcY=
+  /defaults/1.0.3:
+    dependencies:
+      clone: 1.0.4
+    resolution:
+      integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=
+  /defer-to-connect/1.1.3:
+    resolution:
+      integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
+  /define-properties/1.1.3:
+    dependencies:
+      object-keys: 1.1.1
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
+  /define-property/0.2.5:
+    dependencies:
+      is-descriptor: 0.1.6
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
+  /define-property/1.0.0:
+    dependencies:
+      is-descriptor: 1.0.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
+  /define-property/2.0.2:
+    dependencies:
+      is-descriptor: 1.0.2
+      isobject: 3.0.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
+  /degenerator/1.0.4:
+    dependencies:
+      ast-types: 0.14.2
+      escodegen: 1.14.3
+      esprima: 3.1.3
+    dev: false
+    resolution:
+      integrity: sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=
+  /del/4.1.1:
+    dependencies:
+      '@types/glob': 7.1.3
+      globby: 6.1.0
+      is-path-cwd: 2.2.0
+      is-path-in-cwd: 2.1.0
+      p-map: 2.1.0
+      pify: 4.0.1
+      rimraf: 2.7.1
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==
+  /delayed-stream/1.0.0:
+    engines:
+      node: '>=0.4.0'
+    resolution:
+      integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+  /delegate/3.2.0:
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==
+  /delegates/1.0.0:
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
+  /depd/1.1.2:
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
+  /des.js/1.0.1:
+    dependencies:
+      inherits: 2.0.4
+      minimalistic-assert: 1.0.1
+    resolution:
+      integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==
+  /destroy/1.0.4:
+    resolution:
+      integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
+  /detab/2.0.4:
+    dependencies:
+      repeat-string: 1.6.1
+    dev: false
+    resolution:
+      integrity: sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==
+  /detect-conflict/1.0.1:
+    resolution:
+      integrity: sha1-CIZXpmqWHAUBnbfEIwiDsca0F24=
+  /detect-libc/1.0.3:
+    dev: false
+    engines:
+      node: '>=0.10'
+    hasBin: true
+    optional: true
+    resolution:
+      integrity: sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
+  /detect-newline/2.1.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=
+  /detect-newline/3.1.0:
+    dev: false
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
+  /detect-node/2.0.4:
+    resolution:
+      integrity: sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==
+  /detect-port-alt/1.1.6:
+    dependencies:
+      address: 1.1.2
+      debug: 2.6.9
+    engines:
+      node: '>= 4.2.1'
+    hasBin: true
+    resolution:
+      integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==
+  /diff-sequences/24.9.0:
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==
+  /diff/3.5.0:
+    engines:
+      node: '>=0.3.1'
+    resolution:
+      integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==
+  /diff/4.0.2:
+    engines:
+      node: '>=0.3.1'
+    resolution:
+      integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
+  /diffie-hellman/5.0.3:
+    dependencies:
+      bn.js: 4.11.9
+      miller-rabin: 4.0.1
+      randombytes: 2.1.0
+    resolution:
+      integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
+  /digest-header/0.0.1:
+    dependencies:
+      utility: 0.1.11
+    dev: false
+    engines:
+      node: '>= 0.10.0'
+    resolution:
+      integrity: sha1-Ecz23uxXZqw3l0TZAcEsuklRS+Y=
+  /dir-glob/2.0.0:
+    dependencies:
+      arrify: 1.0.1
+      path-type: 3.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==
+  /dir-glob/2.2.2:
+    dependencies:
+      path-type: 3.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==
+  /dir-glob/3.0.1:
+    dependencies:
+      path-type: 4.0.0
+    dev: true
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+  /discontinuous-range/1.0.0:
+    resolution:
+      integrity: sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=
+  /dns-equal/1.0.0:
+    resolution:
+      integrity: sha1-s55/HabrCnW6nBcySzR1PEfgZU0=
+  /dns-packet/1.3.1:
+    dependencies:
+      ip: 1.1.5
+      safe-buffer: 5.2.1
+    resolution:
+      integrity: sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==
+  /dns-txt/2.0.2:
+    dependencies:
+      buffer-indexof: 1.1.1
+    resolution:
+      integrity: sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=
+  /dom-converter/0.2.0:
+    dependencies:
+      utila: 0.4.0
+    resolution:
+      integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==
+  /dom-helpers/3.4.0:
+    dependencies:
+      '@babel/runtime': 7.12.5
+    dev: false
+    resolution:
+      integrity: sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==
+  /dom-serializer/0.1.1:
+    dependencies:
+      domelementtype: 1.3.1
+      entities: 1.1.2
+    resolution:
+      integrity: sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==
+  /dom-serializer/0.2.2:
+    dependencies:
+      domelementtype: 2.1.0
+      entities: 2.1.0
+    resolution:
+      integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
+  /dom-serializer/1.1.0:
+    dependencies:
+      domelementtype: 2.1.0
+      domhandler: 3.3.0
+      entities: 2.2.0
+    dev: false
+    resolution:
+      integrity: sha512-ox7bvGXt2n+uLWtCRLybYx60IrOlWL/aCebWJk1T0d4m3y2tzf4U3ij9wBMUb6YJZpz06HCCYuyCDveE2xXmzQ==
+  /dom-serializer/1.2.0:
+    dependencies:
+      domelementtype: 2.1.0
+      domhandler: 4.0.0
+      entities: 2.1.0
+    resolution:
+      integrity: sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==
+  /dom-walk/0.1.2:
+    resolution:
+      integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
+  /domain-browser/1.2.0:
+    engines:
+      node: '>=0.4'
+      npm: '>=1.2'
+    resolution:
+      integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
+  /domelementtype/1.3.1:
+    resolution:
+      integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
+  /domelementtype/2.1.0:
+    resolution:
+      integrity: sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==
+  /domexception/1.0.1:
+    dependencies:
+      webidl-conversions: 4.0.2
+    resolution:
+      integrity: sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==
+  /domhandler/2.4.2:
+    dependencies:
+      domelementtype: 1.3.1
+    resolution:
+      integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==
+  /domhandler/3.3.0:
+    dependencies:
+      domelementtype: 2.1.0
+    dev: false
+    engines:
+      node: '>= 4'
+    resolution:
+      integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==
+  /domhandler/4.0.0:
+    dependencies:
+      domelementtype: 2.1.0
+    engines:
+      node: '>= 4'
+    resolution:
+      integrity: sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==
+  /domutils/1.5.1:
+    dependencies:
+      dom-serializer: 0.2.2
+      domelementtype: 1.3.1
+    resolution:
+      integrity: sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=
+  /domutils/1.7.0:
+    dependencies:
+      dom-serializer: 0.2.2
+      domelementtype: 1.3.1
+    resolution:
+      integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==
+  /domutils/2.4.2:
+    dependencies:
+      dom-serializer: 1.1.0
+      domelementtype: 2.1.0
+      domhandler: 3.3.0
+    dev: false
+    resolution:
+      integrity: sha512-NKbgaM8ZJOecTZsIzW5gSuplsX2IWW2mIK7xVr8hTQF2v1CJWTmLZ1HOCh5sH+IzVPAGE5IucooOkvwBRAdowA==
+  /domutils/2.4.4:
+    dependencies:
+      dom-serializer: 1.2.0
+      domelementtype: 2.1.0
+      domhandler: 4.0.0
+    resolution:
+      integrity: sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==
+  /dot-prop/4.2.1:
+    dependencies:
+      is-obj: 1.0.1
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==
+  /dot-prop/5.3.0:
+    dependencies:
+      is-obj: 2.0.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
+  /download-stats/0.3.4:
+    dependencies:
+      JSONStream: 1.3.5
+      lazy-cache: 2.0.2
+      moment: 2.29.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-ic2BigbyUWx7/CBbsfGjf71zUNZB4edBGC3oRliSzsoNmvyVx3Ycfp1w3vp2Y78Ee0eIIkjIEO5KzW0zThDGaA==
+  /duplexer/0.1.2:
+    resolution:
+      integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
+  /duplexer3/0.1.4:
+    resolution:
+      integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
+  /duplexify/3.7.1:
+    dependencies:
+      end-of-stream: 1.4.4
+      inherits: 2.0.4
+      readable-stream: 2.3.7
+      stream-shift: 1.0.1
+    resolution:
+      integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
+  /ecc-jsbn/0.1.2:
+    dependencies:
+      jsbn: 0.1.1
+      safer-buffer: 2.1.2
+    resolution:
+      integrity: sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
+  /editions/2.3.1:
+    dependencies:
+      errlop: 2.2.0
+      semver: 6.3.0
+    engines:
+      node: '>=0.8'
+    resolution:
+      integrity: sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==
+  /ee-first/1.1.1:
+    resolution:
+      integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
+  /ejs/2.7.4:
+    engines:
+      node: '>=0.10.0'
+    requiresBuild: true
+    resolution:
+      integrity: sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==
+  /ejs/3.1.5:
+    dependencies:
+      jake: 10.8.2
+    engines:
+      node: '>=0.10.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-dldq3ZfFtgVTJMLjOe+/3sROTzALlL9E34V4/sDtUd/KlBSS0s6U1/+WPE1B4sj9CXHJpL1M6rhNJnc9Wbal9w==
+  /electron-to-chromium/1.3.592:
+    resolution:
+      integrity: sha512-kGNowksvqQiPb1pUSQKpd8JFoGPLxYOwduNRCqCxGh/2Q1qE2JdmwouCW41lUzDxOb/2RIV4lR0tVIfboWlO9A==
+  /electron-to-chromium/1.3.648:
+    resolution:
+      integrity: sha512-4POzwyQ80tkDiBwkxn7IpfzioimrjRSFX1sCQ3pLZsYJ5ERYmwzdq0hZZ3nFP7Z6GtmnSn3xwWDm8FPlMeOoEQ==
+  /elliptic/6.5.3:
+    dependencies:
+      bn.js: 4.11.9
+      brorand: 1.1.0
+      hash.js: 1.1.7
+      hmac-drbg: 1.0.1
+      inherits: 2.0.4
+      minimalistic-assert: 1.0.1
+      minimalistic-crypto-utils: 1.0.1
+    resolution:
+      integrity: sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==
+  /emoji-regex/6.1.1:
+    dev: false
+    resolution:
+      integrity: sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=
+  /emoji-regex/7.0.3:
+    resolution:
+      integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
+  /emoji-regex/8.0.0:
+    resolution:
+      integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+  /emojis-list/2.1.0:
+    engines:
+      node: '>= 0.10'
+    resolution:
+      integrity: sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
+  /emojis-list/3.0.0:
+    engines:
+      node: '>= 4'
+    resolution:
+      integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
+  /encodeurl/1.0.2:
+    engines:
+      node: '>= 0.8'
+    resolution:
+      integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
+  /end-of-stream/1.4.4:
+    dependencies:
+      once: 1.4.0
+    resolution:
+      integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+  /end-or-error/1.0.1:
+    dev: false
+    engines:
+      node: '>= 0.11.14'
+    resolution:
+      integrity: sha1-3HpiEP5403L+4kqLSJnb0VVBTcs=
+  /enhanced-resolve/4.3.0:
+    dependencies:
+      graceful-fs: 4.2.4
+      memory-fs: 0.5.0
+      tapable: 1.1.3
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==
+  /enhanced-resolve/4.5.0:
+    dependencies:
+      graceful-fs: 4.2.4
+      memory-fs: 0.5.0
+      tapable: 1.1.3
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==
+  /enquirer/2.3.6:
+    dependencies:
+      ansi-colors: 4.1.1
+    dev: true
+    engines:
+      node: '>=8.6'
+    resolution:
+      integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
+  /entities/1.1.2:
+    resolution:
+      integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
+  /entities/2.1.0:
+    resolution:
+      integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==
+  /entities/2.2.0:
+    dev: false
+    resolution:
+      integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+  /envinfo/7.7.3:
+    dev: true
+    engines:
+      node: '>=4'
+    hasBin: true
+    resolution:
+      integrity: sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==
+  /enzyme-adapter-react-16/1.15.6_ed988ebff08079c40ff9e87e2acc78b3:
+    dependencies:
+      enzyme: 3.11.0
+      enzyme-adapter-utils: 1.14.0_react@17.0.1
+      enzyme-shallow-equal: 1.0.4
+      has: 1.0.3
+      object.assign: 4.1.2
+      object.values: 1.1.2
+      prop-types: 15.7.2
+      react: 17.0.1
+      react-dom: 17.0.1_react@17.0.1
+      react-is: 16.13.1
+      react-test-renderer: 16.14.0_react@17.0.1
+      semver: 5.7.1
+    peerDependencies:
+      enzyme: ^3.0.0
+      react: ^16.0.0-0
+      react-dom: ^16.0.0-0
+    resolution:
+      integrity: sha512-yFlVJCXh8T+mcQo8M6my9sPgeGzj85HSHi6Apgf1Cvq/7EL/J9+1JoJmJsRxZgyTvPMAqOEpRSu/Ii/ZpyOk0g==
+  /enzyme-adapter-react-16/1.15.6_enzyme@3.11.0:
+    dependencies:
+      enzyme: 3.11.0
+      enzyme-adapter-utils: 1.14.0
+      enzyme-shallow-equal: 1.0.4
+      has: 1.0.3
+      object.assign: 4.1.2
+      object.values: 1.1.2
+      prop-types: 15.7.2
+      react-is: 16.13.1
+      react-test-renderer: 16.14.0
+      semver: 5.7.1
+    peerDependencies:
+      enzyme: ^3.0.0
+      react: ^16.0.0-0
+      react-dom: ^16.0.0-0
+    resolution:
+      integrity: sha512-yFlVJCXh8T+mcQo8M6my9sPgeGzj85HSHi6Apgf1Cvq/7EL/J9+1JoJmJsRxZgyTvPMAqOEpRSu/Ii/ZpyOk0g==
+  /enzyme-adapter-utils/1.14.0:
+    dependencies:
+      airbnb-prop-types: 2.16.0
+      function.prototype.name: 1.1.3
+      has: 1.0.3
+      object.assign: 4.1.2
+      object.fromentries: 2.0.3
+      prop-types: 15.7.2
+      semver: 5.7.1
+    peerDependencies:
+      react: 0.13.x || 0.14.x || ^15.0.0-0 || ^16.0.0-0
+    resolution:
+      integrity: sha512-F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg==
+  /enzyme-adapter-utils/1.14.0_react@17.0.1:
+    dependencies:
+      airbnb-prop-types: 2.16.0_react@17.0.1
+      function.prototype.name: 1.1.3
+      has: 1.0.3
+      object.assign: 4.1.2
+      object.fromentries: 2.0.3
+      prop-types: 15.7.2
+      react: 17.0.1
+      semver: 5.7.1
+    peerDependencies:
+      react: 0.13.x || 0.14.x || ^15.0.0-0 || ^16.0.0-0
+    resolution:
+      integrity: sha512-F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg==
+  /enzyme-matchers/7.1.2_enzyme@3.11.0:
+    dependencies:
+      circular-json-es6: 2.0.2
+      deep-equal-ident: 1.1.1
+      enzyme: 3.11.0
+    peerDependencies:
+      enzyme: '>=3.4.0'
+    resolution:
+      integrity: sha512-03WqAg2XDl7id9rARIO97HQ1JIw9F2heJ3R4meGu/13hx0ULTDEgl0E67MGl2Uq1jq1DyRnJfto1/VSzskdV5A==
+  /enzyme-shallow-equal/1.0.4:
+    dependencies:
+      has: 1.0.3
+      object-is: 1.1.4
+    resolution:
+      integrity: sha512-MttIwB8kKxypwHvRynuC3ahyNc+cFbR8mjVIltnmzQ0uKGqmsfO4bfBuLxb0beLNPhjblUEYvEbsg+VSygvF1Q==
+  /enzyme-to-json/3.6.1_enzyme@3.11.0:
+    dependencies:
+      '@types/cheerio': 0.22.23
+      enzyme: 3.11.0
+      lodash: 4.17.20
+      react-is: 16.13.1
+    engines:
+      node: '>=6.0.0'
+    peerDependencies:
+      enzyme: ^3.4.0
+    resolution:
+      integrity: sha512-15tXuONeq5ORoZjV/bUo2gbtZrN2IH+Z6DvL35QmZyKHgbY1ahn6wcnLd9Xv9OjiwbAXiiP8MRZwbZrCv1wYNg==
+  /enzyme/3.11.0:
+    dependencies:
+      array.prototype.flat: 1.2.4
+      cheerio: 1.0.0-rc.5
+      enzyme-shallow-equal: 1.0.4
+      function.prototype.name: 1.1.3
+      has: 1.0.3
+      html-element-map: 1.3.0
+      is-boolean-object: 1.1.0
+      is-callable: 1.2.2
+      is-number-object: 1.0.4
+      is-regex: 1.1.1
+      is-string: 1.0.5
+      is-subset: 0.1.1
+      lodash.escape: 4.0.1
+      lodash.isequal: 4.5.0
+      object-inspect: 1.9.0
+      object-is: 1.1.4
+      object.assign: 4.1.2
+      object.entries: 1.1.3
+      object.values: 1.1.2
+      raf: 3.4.1
+      rst-selector-parser: 2.2.3
+      string.prototype.trim: 1.2.3
+    resolution:
+      integrity: sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==
+  /errlop/2.2.0:
+    engines:
+      node: '>=0.8'
+    resolution:
+      integrity: sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw==
+  /errno/0.1.7:
+    dependencies:
+      prr: 1.0.1
+    hasBin: true
+    resolution:
+      integrity: sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==
+  /errno/0.1.8:
+    dependencies:
+      prr: 1.0.1
+    hasBin: true
+    optional: true
+    resolution:
+      integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==
+  /error-ex/1.3.2:
+    dependencies:
+      is-arrayish: 0.2.1
+    resolution:
+      integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
+  /error-overlay-webpack-plugin/0.4.1:
+    dependencies:
+      react-dev-utils: 9.1.0
+      react-error-overlay: 6.0.8
+      sockjs-client: 1.5.0
+      url: 0.11.0
+    peerDependencies:
+      webpack: ^4.0.0
+    resolution:
+      integrity: sha512-1SyHaKmggmEN9yt8aQeh/hKV3moXpqpOK1p5EEP/u9U0KngBdRHoiVRQLV8ZunUYRA/mSA0HB00KY+eeM9YKxw==
+  /error/7.2.1:
+    dependencies:
+      string-template: 0.2.1
+    resolution:
+      integrity: sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==
+  /es-abstract/1.17.7:
+    dependencies:
+      es-to-primitive: 1.2.1
+      function-bind: 1.1.1
+      has: 1.0.3
+      has-symbols: 1.0.1
+      is-callable: 1.2.2
+      is-regex: 1.1.1
+      object-inspect: 1.9.0
+      object-keys: 1.1.1
+      object.assign: 4.1.2
+      string.prototype.trimend: 1.0.3
+      string.prototype.trimstart: 1.0.3
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==
+  /es-abstract/1.18.0-next.1:
+    dependencies:
+      es-to-primitive: 1.2.1
+      function-bind: 1.1.1
+      has: 1.0.3
+      has-symbols: 1.0.1
+      is-callable: 1.2.2
+      is-negative-zero: 2.0.1
+      is-regex: 1.1.1
+      object-inspect: 1.9.0
+      object-keys: 1.1.1
+      object.assign: 4.1.2
+      string.prototype.trimend: 1.0.3
+      string.prototype.trimstart: 1.0.3
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==
+  /es-abstract/1.18.0-next.2:
+    dependencies:
+      call-bind: 1.0.2
+      es-to-primitive: 1.2.1
+      function-bind: 1.1.1
+      get-intrinsic: 1.1.0
+      has: 1.0.3
+      has-symbols: 1.0.1
+      is-callable: 1.2.2
+      is-negative-zero: 2.0.1
+      is-regex: 1.1.1
+      object-inspect: 1.9.0
+      object-keys: 1.1.1
+      object.assign: 4.1.2
+      string.prototype.trimend: 1.0.3
+      string.prototype.trimstart: 1.0.3
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==
+  /es-to-primitive/1.2.1:
+    dependencies:
+      is-callable: 1.2.2
+      is-date-object: 1.0.2
+      is-symbol: 1.0.3
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
+  /es5-ext/0.10.53:
+    dependencies:
+      es6-iterator: 2.0.3
+      es6-symbol: 3.1.3
+      next-tick: 1.0.0
+    resolution:
+      integrity: sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==
+  /es5-imcompatible-versions/0.1.67:
+    resolution:
+      integrity: sha512-L74XSKBby2NFW0Rxf6QhdQ45x0MrxbDmuNicti5arzoK7w2I+A6sxHGIQqPaN5NpoYDO3RTT/I3NZC5oIUskpw==
+  /es6-iterator/2.0.3:
+    dependencies:
+      d: 1.0.1
+      es5-ext: 0.10.53
+      es6-symbol: 3.1.3
+    resolution:
+      integrity: sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
+  /es6-object-assign/1.1.0:
+    resolution:
+      integrity: sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=
+  /es6-promise/4.2.8:
+    dev: false
+    resolution:
+      integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
+  /es6-promisify/5.0.0:
+    dependencies:
+      es6-promise: 4.2.8
+    dev: false
+    resolution:
+      integrity: sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=
+  /es6-symbol/3.1.3:
+    dependencies:
+      d: 1.0.1
+      ext: 1.4.0
+    resolution:
+      integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
+  /escalade/3.1.1:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
+  /escape-html/1.0.3:
+    resolution:
+      integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
+  /escape-string-regexp/1.0.5:
+    engines:
+      node: '>=0.8.0'
+    resolution:
+      integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+  /escape-string-regexp/2.0.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
+  /escodegen/1.14.3:
+    dependencies:
+      esprima: 4.0.1
+      estraverse: 4.3.0
+      esutils: 2.0.3
+      optionator: 0.8.3
+    engines:
+      node: '>=4.0'
+    hasBin: true
+    optionalDependencies:
+      source-map: 0.6.1
+    resolution:
+      integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==
+  /eslint-scope/4.0.3:
+    dependencies:
+      esrecurse: 4.3.0
+      estraverse: 4.3.0
+    engines:
+      node: '>=4.0.0'
+    resolution:
+      integrity: sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
+  /esprima/3.1.3:
+    dev: false
+    engines:
+      node: '>=4'
+    hasBin: true
+    resolution:
+      integrity: sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=
+  /esprima/4.0.1:
+    engines:
+      node: '>=4'
+    hasBin: true
+    resolution:
+      integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+  /esrecurse/4.3.0:
+    dependencies:
+      estraverse: 5.2.0
+    engines:
+      node: '>=4.0'
+    resolution:
+      integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+  /estraverse/4.3.0:
+    engines:
+      node: '>=4.0'
+    resolution:
+      integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+  /estraverse/5.2.0:
+    engines:
+      node: '>=4.0'
+    resolution:
+      integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
+  /esutils/2.0.3:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+  /etag/1.8.1:
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
+  /event-target-shim/5.0.1:
+    dev: false
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
+  /eventemitter3/4.0.7:
+    resolution:
+      integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
+  /events/3.2.0:
+    engines:
+      node: '>=0.8.x'
+    resolution:
+      integrity: sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==
+  /eventsource/1.0.7:
+    dependencies:
+      original: 1.0.2
+    engines:
+      node: '>=0.12.0'
+    resolution:
+      integrity: sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==
+  /evp_bytestokey/1.0.3:
+    dependencies:
+      md5.js: 1.3.5
+      safe-buffer: 5.2.1
+    resolution:
+      integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
+  /exec-sh/0.3.4:
+    resolution:
+      integrity: sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==
+  /execa/0.7.0:
+    dependencies:
+      cross-spawn: 5.1.0
+      get-stream: 3.0.0
+      is-stream: 1.1.0
+      npm-run-path: 2.0.2
+      p-finally: 1.0.0
+      signal-exit: 3.0.3
+      strip-eof: 1.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=
+  /execa/1.0.0:
+    dependencies:
+      cross-spawn: 6.0.5
+      get-stream: 4.1.0
+      is-stream: 1.1.0
+      npm-run-path: 2.0.2
+      p-finally: 1.0.0
+      signal-exit: 3.0.3
+      strip-eof: 1.0.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
+  /execa/2.1.0:
+    dependencies:
+      cross-spawn: 7.0.3
+      get-stream: 5.2.0
+      is-stream: 2.0.0
+      merge-stream: 2.0.0
+      npm-run-path: 3.1.0
+      onetime: 5.1.2
+      p-finally: 2.0.1
+      signal-exit: 3.0.3
+      strip-final-newline: 2.0.0
+    engines:
+      node: ^8.12.0 || >=9.7.0
+    resolution:
+      integrity: sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==
+  /execa/4.0.3:
+    dependencies:
+      cross-spawn: 7.0.3
+      get-stream: 5.2.0
+      human-signals: 1.1.1
+      is-stream: 2.0.0
+      merge-stream: 2.0.0
+      npm-run-path: 4.0.1
+      onetime: 5.1.2
+      signal-exit: 3.0.3
+      strip-final-newline: 2.0.0
+    engines:
+      node: '>=10'
+    resolution:
+      integrity: sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==
+  /execa/4.1.0:
+    dependencies:
+      cross-spawn: 7.0.3
+      get-stream: 5.2.0
+      human-signals: 1.1.1
+      is-stream: 2.0.0
+      merge-stream: 2.0.0
+      npm-run-path: 4.0.1
+      onetime: 5.1.2
+      signal-exit: 3.0.3
+      strip-final-newline: 2.0.0
+    engines:
+      node: '>=10'
+    resolution:
+      integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==
+  /execa/5.0.0:
+    dependencies:
+      cross-spawn: 7.0.3
+      get-stream: 6.0.0
+      human-signals: 2.1.0
+      is-stream: 2.0.0
+      merge-stream: 2.0.0
+      npm-run-path: 4.0.1
+      onetime: 5.1.2
+      signal-exit: 3.0.3
+      strip-final-newline: 2.0.0
+    engines:
+      node: '>=10'
+    resolution:
+      integrity: sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==
+  /exit/0.1.2:
+    engines:
+      node: '>= 0.8.0'
+    resolution:
+      integrity: sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=
+  /expand-brackets/2.1.4:
+    dependencies:
+      debug: 2.6.9
+      define-property: 0.2.5
+      extend-shallow: 2.0.1
+      posix-character-classes: 0.1.1
+      regex-not: 1.0.2
+      snapdragon: 0.8.2
+      to-regex: 3.0.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
+  /expand-template/2.0.3:
+    dev: false
+    engines:
+      node: '>=6'
+    optional: true
+    resolution:
+      integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
+  /expect/24.9.0:
+    dependencies:
+      '@jest/types': 24.9.0
+      ansi-styles: 3.2.1
+      jest-get-type: 24.9.0
+      jest-matcher-utils: 24.9.0
+      jest-message-util: 24.9.0
+      jest-regex-util: 24.9.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==
+  /express/4.17.1:
+    dependencies:
+      accepts: 1.3.7
+      array-flatten: 1.1.1
+      body-parser: 1.19.0
+      content-disposition: 0.5.3
+      content-type: 1.0.4
+      cookie: 0.4.0
+      cookie-signature: 1.0.6
+      debug: 2.6.9
+      depd: 1.1.2
+      encodeurl: 1.0.2
+      escape-html: 1.0.3
+      etag: 1.8.1
+      finalhandler: 1.1.2
+      fresh: 0.5.2
+      merge-descriptors: 1.0.1
+      methods: 1.1.2
+      on-finished: 2.3.0
+      parseurl: 1.3.3
+      path-to-regexp: 0.1.7
+      proxy-addr: 2.0.6
+      qs: 6.7.0
+      range-parser: 1.2.1
+      safe-buffer: 5.1.2
+      send: 0.17.1
+      serve-static: 1.14.1
+      setprototypeof: 1.1.1
+      statuses: 1.5.0
+      type-is: 1.6.18
+      utils-merge: 1.0.1
+      vary: 1.1.2
+    engines:
+      node: '>= 0.10.0'
+    resolution:
+      integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
+  /ext/1.4.0:
+    dependencies:
+      type: 2.1.0
+    resolution:
+      integrity: sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==
+  /extend-shallow/2.0.1:
+    dependencies:
+      is-extendable: 0.1.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
+  /extend-shallow/3.0.2:
+    dependencies:
+      assign-symbols: 1.0.0
+      is-extendable: 1.0.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
+  /extend/3.0.2:
+    resolution:
+      integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+  /extend2/1.0.0:
+    resolution:
+      integrity: sha1-BCWpibTawqSGoyJX9RQBA3Vqejw=
+  /external-editor/3.1.0:
+    dependencies:
+      chardet: 0.7.0
+      iconv-lite: 0.4.24
+      tmp: 0.0.33
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
+  /extglob/2.0.4:
+    dependencies:
+      array-unique: 0.3.2
+      define-property: 1.0.0
+      expand-brackets: 2.1.4
+      extend-shallow: 2.0.1
+      fragment-cache: 0.2.1
+      regex-not: 1.0.2
+      snapdragon: 0.8.2
+      to-regex: 3.0.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
+  /extsprintf/1.3.0:
+    engines:
+      '0': node >=0.6.0
+    resolution:
+      integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
+  /fast-deep-equal/3.1.3:
+    resolution:
+      integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+  /fast-glob/2.2.7:
+    dependencies:
+      '@mrmlnc/readdir-enhanced': 2.2.1
+      '@nodelib/fs.stat': 1.1.3
+      glob-parent: 3.1.0
+      is-glob: 4.0.1
+      merge2: 1.4.1
+      micromatch: 3.1.10
+    engines:
+      node: '>=4.0.0'
+    resolution:
+      integrity: sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==
+  /fast-glob/3.2.5:
+    dependencies:
+      '@nodelib/fs.stat': 2.0.4
+      '@nodelib/fs.walk': 1.2.6
+      glob-parent: 5.1.1
+      merge2: 1.4.1
+      micromatch: 4.0.2
+      picomatch: 2.2.2
+    dev: true
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==
+  /fast-json-stable-stringify/2.1.0:
+    resolution:
+      integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+  /fast-levenshtein/2.0.6:
+    resolution:
+      integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+  /fastest-levenshtein/1.0.12:
+    dev: true
+    resolution:
+      integrity: sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==
+  /fastparse/1.1.2:
+    resolution:
+      integrity: sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==
+  /fastq/1.10.1:
+    dependencies:
+      reusify: 1.0.4
+    dev: true
+    resolution:
+      integrity: sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==
+  /fault/1.0.4:
+    dependencies:
+      format: 0.2.2
+    dev: false
+    resolution:
+      integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==
+  /faye-websocket/0.10.0:
+    dependencies:
+      websocket-driver: 0.6.5
+    engines:
+      node: '>=0.4.0'
+    resolution:
+      integrity: sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=
+  /faye-websocket/0.11.3:
+    dependencies:
+      websocket-driver: 0.7.4
+    engines:
+      node: '>=0.8.0'
+    resolution:
+      integrity: sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==
+  /fb-watchman/2.0.1:
+    dependencies:
+      bser: 2.1.1
+    resolution:
+      integrity: sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==
+  /figgy-pudding/3.5.2:
+    resolution:
+      integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==
+  /figlet/1.5.0:
+    engines:
+      node: '>= 0.4.0'
+    resolution:
+      integrity: sha512-ZQJM4aifMpz6H19AW1VqvZ7l4pOE9p7i/3LyxgO2kp+PO/VcDYNqIHEMtkccqIhTXMKci4kjueJr/iCQEaT/Ww==
+  /figures/2.0.0:
+    dependencies:
+      escape-string-regexp: 1.0.5
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
+  /figures/3.2.0:
+    dependencies:
+      escape-string-regexp: 1.0.5
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
+  /file-loader/4.3.0:
+    dependencies:
+      loader-utils: 1.4.0
+      schema-utils: 2.7.1
+    engines:
+      node: '>= 8.9.0'
+    peerDependencies:
+      webpack: ^4.0.0
+    resolution:
+      integrity: sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==
+  /file-uri-to-path/1.0.0:
+    resolution:
+      integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
+  /filelist/1.0.1:
+    dependencies:
+      minimatch: 3.0.4
+    resolution:
+      integrity: sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==
+  /filesize/3.6.1:
+    engines:
+      node: '>= 0.4.0'
+    resolution:
+      integrity: sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==
+  /fill-range/4.0.0:
+    dependencies:
+      extend-shallow: 2.0.1
+      is-number: 3.0.0
+      repeat-string: 1.6.1
+      to-regex-range: 2.1.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
+  /fill-range/7.0.1:
+    dependencies:
+      to-regex-range: 5.0.1
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+  /finalhandler/1.1.2:
+    dependencies:
+      debug: 2.6.9
+      encodeurl: 1.0.2
+      escape-html: 1.0.3
+      on-finished: 2.3.0
+      parseurl: 1.3.3
+      statuses: 1.5.0
+      unpipe: 1.0.0
+    engines:
+      node: '>= 0.8'
+    resolution:
+      integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
+  /find-cache-dir/2.1.0:
+    dependencies:
+      commondir: 1.0.1
+      make-dir: 2.1.0
+      pkg-dir: 3.0.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
+  /find-cache-dir/3.3.1:
+    dependencies:
+      commondir: 1.0.1
+      make-dir: 3.1.0
+      pkg-dir: 4.2.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==
+  /find-root/1.1.0:
+    dev: false
+    resolution:
+      integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
+  /find-up/2.1.0:
+    dependencies:
+      locate-path: 2.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
+  /find-up/3.0.0:
+    dependencies:
+      locate-path: 3.0.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
+  /find-up/4.1.0:
+    dependencies:
+      locate-path: 5.0.0
+      path-exists: 4.0.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+  /first-chunk-stream/2.0.0:
+    dependencies:
+      readable-stream: 2.3.7
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=
+  /flush-write-stream/1.1.1:
+    dependencies:
+      inherits: 2.0.4
+      readable-stream: 2.3.7
+    resolution:
+      integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==
+  /follow-redirects/1.13.0:
+    engines:
+      node: '>=4.0'
+    resolution:
+      integrity: sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==
+  /follow-redirects/1.5.10:
+    dependencies:
+      debug: 3.1.0
+    engines:
+      node: '>=4.0'
+    resolution:
+      integrity: sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
+  /for-each/0.3.3:
+    dependencies:
+      is-callable: 1.2.2
+    resolution:
+      integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
+  /for-in/0.1.8:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=
+  /for-in/1.0.2:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
+  /for-own/0.1.5:
+    dependencies:
+      for-in: 1.0.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=
+  /foreach/2.0.5:
+    resolution:
+      integrity: sha1-C+4AUBiusmDQo6865ljdATbsG5k=
+  /forever-agent/0.6.1:
+    resolution:
+      integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
+  /fork-ts-checker-webpack-plugin/1.5.0:
+    dependencies:
+      babel-code-frame: 6.26.0
+      chalk: 2.4.2
+      chokidar: 2.1.8
+      micromatch: 3.1.10
+      minimatch: 3.0.4
+      semver: 5.7.1
+      tapable: 1.1.3
+      worker-rpc: 0.1.1
+    engines:
+      node: '>=6.11.5'
+      yarn: '>=1.0.0'
+    resolution:
+      integrity: sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA==
+  /fork-ts-checker-webpack-plugin/1.6.0:
+    dependencies:
+      babel-code-frame: 6.26.0
+      chalk: 2.4.2
+      chokidar: 2.1.8
+      micromatch: 3.1.10
+      minimatch: 3.0.4
+      semver: 5.7.1
+      tapable: 1.1.3
+      worker-rpc: 0.1.1
+    engines:
+      node: '>=6.11.5'
+      yarn: '>=1.0.0'
+    resolution:
+      integrity: sha512-vqOY5gakcoon2s12V7MMe01OPwfgqulUWFzm+geQaPPOBKjW1I7aqqoBVlU0ECn97liMB0ECs16pRdIGe9qdRw==
+  /form-data/2.3.3:
+    dependencies:
+      asynckit: 0.4.0
+      combined-stream: 1.0.8
+      mime-types: 2.1.27
+    engines:
+      node: '>= 0.12'
+    resolution:
+      integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
+  /form-data/2.5.1:
+    dependencies:
+      asynckit: 0.4.0
+      combined-stream: 1.0.8
+      mime-types: 2.1.27
+    engines:
+      node: '>= 0.12'
+    resolution:
+      integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==
+  /format/0.2.2:
+    dev: false
+    engines:
+      node: '>=0.4.x'
+    resolution:
+      integrity: sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=
+  /formstream/1.1.0:
+    dependencies:
+      destroy: 1.0.4
+      mime: 1.6.0
+      pause-stream: 0.0.11
+    dev: false
+    resolution:
+      integrity: sha1-UfOXDyYTbrCtRDBN5M67UCB7RHk=
+  /forwarded/0.1.2:
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=
+  /fragment-cache/0.2.1:
+    dependencies:
+      map-cache: 0.2.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
+  /fresh/0.5.2:
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
+  /from2/2.3.0:
+    dependencies:
+      inherits: 2.0.4
+      readable-stream: 2.3.7
+    resolution:
+      integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=
+  /fs-constants/1.0.0:
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
+  /fs-extra/7.0.1:
+    dependencies:
+      graceful-fs: 4.2.4
+      jsonfile: 4.0.0
+      universalify: 0.1.2
+    engines:
+      node: '>=6 <7 || >=8'
+    resolution:
+      integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
+  /fs-extra/8.1.0:
+    dependencies:
+      graceful-fs: 4.2.4
+      jsonfile: 4.0.0
+      universalify: 0.1.2
+    engines:
+      node: '>=6 <7 || >=8'
+    resolution:
+      integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
+  /fs-extra/9.1.0:
+    dependencies:
+      at-least-node: 1.0.0
+      graceful-fs: 4.2.4
+      jsonfile: 6.1.0
+      universalify: 2.0.0
+    dev: false
+    engines:
+      node: '>=10'
+    resolution:
+      integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
+  /fs-readdir-recursive/1.1.0:
+    resolution:
+      integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==
+  /fs-write-stream-atomic/1.0.10:
+    dependencies:
+      graceful-fs: 4.2.4
+      iferr: 0.1.5
+      imurmurhash: 0.1.4
+      readable-stream: 2.3.7
+    resolution:
+      integrity: sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=
+  /fs.realpath/1.0.0:
+    resolution:
+      integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+  /fsevents/1.2.13:
+    dependencies:
+      bindings: 1.5.0
+      nan: 2.14.2
+    deprecated: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
+    engines:
+      node: '>= 4.0'
+    optional: true
+    os:
+      - darwin
+    requiresBuild: true
+    resolution:
+      integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==
+  /fsevents/2.1.3:
+    engines:
+      node: ^8.16.0 || ^10.6.0 || >=11.0.0
+    optional: true
+    os:
+      - darwin
+    resolution:
+      integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
+  /fsevents/2.3.1:
+    dev: true
+    engines:
+      node: ^8.16.0 || ^10.6.0 || >=11.0.0
+    optional: true
+    os:
+      - darwin
+    resolution:
+      integrity: sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==
+  /ftp/0.3.10:
+    dependencies:
+      readable-stream: 1.1.14
+      xregexp: 2.0.0
+    dev: false
+    engines:
+      node: '>=0.8.0'
+    resolution:
+      integrity: sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=
+  /function-bind/1.1.1:
+    resolution:
+      integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+  /function.prototype.name/1.1.3:
+    dependencies:
+      call-bind: 1.0.2
+      define-properties: 1.1.3
+      es-abstract: 1.18.0-next.2
+      functions-have-names: 1.2.2
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-H51qkbNSp8mtkJt+nyW1gyStBiKZxfRqySNUR99ylq6BPXHKI4SEvIlTKp4odLfjRKJV04DFWMU3G/YRlQOsag==
+  /functions-have-names/1.2.2:
+    resolution:
+      integrity: sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==
+  /gauge/2.7.4:
+    dependencies:
+      aproba: 1.2.0
+      console-control-strings: 1.1.0
+      has-unicode: 2.0.1
+      object-assign: 4.1.1
+      signal-exit: 3.0.3
+      string-width: 1.0.2
+      strip-ansi: 3.0.1
+      wide-align: 1.1.3
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
+  /generic-names/2.0.1:
+    dependencies:
+      loader-utils: 1.4.0
+    resolution:
+      integrity: sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==
+  /gensync/1.0.0-beta.2:
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
+  /get-caller-file/2.0.5:
+    engines:
+      node: 6.* || 8.* || >= 10.*
+    resolution:
+      integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+  /get-intrinsic/1.0.1:
+    dependencies:
+      function-bind: 1.1.1
+      has: 1.0.3
+      has-symbols: 1.0.1
+    resolution:
+      integrity: sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==
+  /get-intrinsic/1.1.0:
+    dependencies:
+      function-bind: 1.1.1
+      has: 1.0.3
+      has-symbols: 1.0.1
+    resolution:
+      integrity: sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==
+  /get-port/5.1.1:
+    dev: false
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==
+  /get-ready/1.0.0:
+    dev: false
+    resolution:
+      integrity: sha1-+RgX8emt7P6hOlYq38jeiDqzR4I=
+  /get-stream/3.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
+  /get-stream/4.1.0:
+    dependencies:
+      pump: 3.0.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
+  /get-stream/5.2.0:
+    dependencies:
+      pump: 3.0.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
+  /get-stream/6.0.0:
+    engines:
+      node: '>=10'
+    resolution:
+      integrity: sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==
+  /get-uri/2.0.4:
+    dependencies:
+      data-uri-to-buffer: 1.2.0
+      debug: 2.6.9
+      extend: 3.0.2
+      file-uri-to-path: 1.0.0
+      ftp: 0.3.10
+      readable-stream: 2.3.7
+    dev: false
+    resolution:
+      integrity: sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==
+  /get-value/2.0.6:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
+  /getpass/0.1.7:
+    dependencies:
+      assert-plus: 1.0.0
+    resolution:
+      integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
+  /gh-got/5.0.0:
+    dependencies:
+      got: 6.7.1
+      is-plain-obj: 1.1.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-7pW+NxBv2HSKlvjR20uuqJ4b+oo=
+  /gh-got/6.0.0:
+    dependencies:
+      got: 7.1.0
+      is-plain-obj: 1.1.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw==
+  /github-from-package/0.0.0:
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=
+  /github-slugger/1.3.0:
+    dependencies:
+      emoji-regex: 6.1.1
+    dev: false
+    resolution:
+      integrity: sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==
+  /github-username/3.0.0:
+    dependencies:
+      gh-got: 5.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-CnciGbMTB0NCnyRW0L3T21Xc57E=
+  /github-username/4.1.0:
+    dependencies:
+      gh-got: 6.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-y+KABBiDIG2kISrp5LXxacML9Bc=
+  /glob-parent/3.1.0:
+    dependencies:
+      is-glob: 3.1.0
+      path-dirname: 1.0.2
+    resolution:
+      integrity: sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
+  /glob-parent/5.1.1:
+    dependencies:
+      is-glob: 4.0.1
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
+  /glob-to-regexp/0.3.0:
+    resolution:
+      integrity: sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=
+  /glob-to-regexp/0.4.1:
+    dev: false
+    resolution:
+      integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
+  /glob/7.1.6:
+    dependencies:
+      fs.realpath: 1.0.0
+      inflight: 1.0.6
+      inherits: 2.0.4
+      minimatch: 3.0.4
+      once: 1.4.0
+      path-is-absolute: 1.0.1
+    resolution:
+      integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+  /global-dirs/0.1.1:
+    dependencies:
+      ini: 1.3.8
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=
+  /global-modules/2.0.0:
+    dependencies:
+      global-prefix: 3.0.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==
+  /global-prefix/3.0.0:
+    dependencies:
+      ini: 1.3.8
+      kind-of: 6.0.3
+      which: 1.3.1
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==
+  /global/4.4.0:
+    dependencies:
+      min-document: 2.19.0
+      process: 0.11.10
+    resolution:
+      integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==
+  /globals/11.12.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+  /globby/11.0.2:
+    dependencies:
+      array-union: 2.1.0
+      dir-glob: 3.0.1
+      fast-glob: 3.2.5
+      ignore: 5.1.8
+      merge2: 1.4.1
+      slash: 3.0.0
+    dev: true
+    engines:
+      node: '>=10'
+    resolution:
+      integrity: sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==
+  /globby/6.1.0:
+    dependencies:
+      array-union: 1.0.2
+      glob: 7.1.6
+      object-assign: 4.1.1
+      pify: 2.3.0
+      pinkie-promise: 2.0.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=
+  /globby/7.1.1:
+    dependencies:
+      array-union: 1.0.2
+      dir-glob: 2.2.2
+      glob: 7.1.6
+      ignore: 3.3.10
+      pify: 3.0.0
+      slash: 1.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-+yzP+UAfhgCUXfral0QMypcrhoA=
+  /globby/8.0.2:
+    dependencies:
+      array-union: 1.0.2
+      dir-glob: 2.0.0
+      fast-glob: 2.2.7
+      glob: 7.1.6
+      ignore: 3.3.10
+      pify: 3.0.0
+      slash: 1.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==
+  /globby/9.2.0:
+    dependencies:
+      '@types/glob': 7.1.3
+      array-union: 1.0.2
+      dir-glob: 2.2.2
+      fast-glob: 2.2.7
+      glob: 7.1.6
+      ignore: 4.0.6
+      pify: 4.0.1
+      slash: 2.0.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==
+  /goober/2.0.37:
+    dev: false
+    peerDependencies:
+      csstype: ^2.6.2
+    resolution:
+      integrity: sha512-wgj5C7IJX2+MyHZ4TgOA+hLL1mCDW+jGorQ5KCMLF1ofE9gQkfbo1s8txIrzIsAX65XRTm0qaipolId2KMYUkw==
+  /good-listener/1.2.2:
+    dependencies:
+      delegate: 3.2.0
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=
+  /got/6.7.1:
+    dependencies:
+      create-error-class: 3.0.2
+      duplexer3: 0.1.4
+      get-stream: 3.0.0
+      is-redirect: 1.0.0
+      is-retry-allowed: 1.2.0
+      is-stream: 1.1.0
+      lowercase-keys: 1.0.1
+      safe-buffer: 5.2.1
+      timed-out: 4.0.1
+      unzip-response: 2.0.1
+      url-parse-lax: 1.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=
+  /got/7.1.0:
+    dependencies:
+      decompress-response: 3.3.0
+      duplexer3: 0.1.4
+      get-stream: 3.0.0
+      is-plain-obj: 1.1.0
+      is-retry-allowed: 1.2.0
+      is-stream: 1.1.0
+      isurl: 1.0.0
+      lowercase-keys: 1.0.1
+      p-cancelable: 0.3.0
+      p-timeout: 1.2.1
+      safe-buffer: 5.2.1
+      timed-out: 4.0.1
+      url-parse-lax: 1.0.0
+      url-to-options: 1.0.1
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==
+  /got/9.6.0:
+    dependencies:
+      '@sindresorhus/is': 0.14.0
+      '@szmarczak/http-timer': 1.1.2
+      cacheable-request: 6.1.0
+      decompress-response: 3.3.0
+      duplexer3: 0.1.4
+      get-stream: 4.1.0
+      lowercase-keys: 1.0.1
+      mimic-response: 1.0.1
+      p-cancelable: 1.1.0
+      to-readable-stream: 1.0.0
+      url-parse-lax: 3.0.0
+    engines:
+      node: '>=8.6'
+    resolution:
+      integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==
+  /graceful-fs/4.2.4:
+    resolution:
+      integrity: sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
+  /gray-matter/4.0.2:
+    dependencies:
+      js-yaml: 3.14.0
+      kind-of: 6.0.3
+      section-matter: 1.0.0
+      strip-bom-string: 1.0.0
+    dev: false
+    engines:
+      node: '>=6.0'
+    resolution:
+      integrity: sha512-7hB/+LxrOjq/dd8APlK0r24uL/67w7SkYnfwhNFwg/VDIGWGmduTDYf3WNstLW2fbbmRwrDGCVSJ2isuf2+4Hw==
+  /grouped-queue/1.1.0:
+    dependencies:
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-rZOFKfCqLhsu5VqjBjEWiwrYqJR07KxIkH4mLZlNlGDfntbb4FbMyGFP14TlvRPrU9S3Hnn/sgxbC5ZeN0no3Q==
+  /growly/1.3.0:
+    resolution:
+      integrity: sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=
+  /gzip-size/5.1.1:
+    dependencies:
+      duplexer: 0.1.2
+      pify: 4.0.1
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==
+  /handle-thing/2.0.1:
+    resolution:
+      integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==
+  /happypack/5.0.1:
+    dependencies:
+      async: 1.5.0
+      json-stringify-safe: 5.0.1
+      loader-utils: 1.1.0
+      serialize-error: 2.1.0
+    engines:
+      node: '>=6.11.5'
+    resolution:
+      integrity: sha512-AzXVxLzX0mtv0T40Kic72rfcGK4Y2b/cDdtcyw+e+V/13ozl7x0+EZ4hvrL1rJ8MoefR9+FfUJQsK2irH0GWOw==
+  /har-schema/2.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
+  /har-validator/5.1.5:
+    dependencies:
+      ajv: 6.12.6
+      har-schema: 2.0.0
+    deprecated: this library is no longer supported
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
+  /harmony-reflect/1.6.1:
+    resolution:
+      integrity: sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA==
+  /has-ansi/2.0.0:
+    dependencies:
+      ansi-regex: 2.1.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
+  /has-flag/1.0.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=
+  /has-flag/3.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+  /has-flag/4.0.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+  /has-symbol-support-x/1.4.2:
+    resolution:
+      integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==
+  /has-symbols/1.0.1:
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
+  /has-to-string-tag-x/1.4.1:
+    dependencies:
+      has-symbol-support-x: 1.4.2
+    resolution:
+      integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==
+  /has-unicode/2.0.1:
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
+  /has-value/0.3.1:
+    dependencies:
+      get-value: 2.0.6
+      has-values: 0.1.4
+      isobject: 2.1.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
+  /has-value/1.0.0:
+    dependencies:
+      get-value: 2.0.6
+      has-values: 1.0.0
+      isobject: 3.0.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
+  /has-values/0.1.4:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-bWHeldkd/Km5oCCJrThL/49it3E=
+  /has-values/1.0.0:
+    dependencies:
+      is-number: 3.0.0
+      kind-of: 4.0.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
+  /has-yarn/2.1.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==
+  /has/1.0.3:
+    dependencies:
+      function-bind: 1.1.1
+    engines:
+      node: '>= 0.4.0'
+    resolution:
+      integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+  /hash-base/3.1.0:
+    dependencies:
+      inherits: 2.0.4
+      readable-stream: 3.6.0
+      safe-buffer: 5.2.1
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
+  /hash.js/1.1.7:
+    dependencies:
+      inherits: 2.0.4
+      minimalistic-assert: 1.0.1
+    resolution:
+      integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
+  /hast-to-hyperscript/9.0.1:
+    dependencies:
+      '@types/unist': 2.0.3
+      comma-separated-tokens: 1.0.8
+      property-information: 5.6.0
+      space-separated-tokens: 1.1.5
+      style-to-object: 0.3.0
+      unist-util-is: 4.0.3
+      web-namespaces: 1.1.4
+    dev: false
+    resolution:
+      integrity: sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==
+  /hast-util-from-parse5/6.0.1:
+    dependencies:
+      '@types/parse5': 5.0.3
+      hastscript: 6.0.0
+      property-information: 5.6.0
+      vfile: 4.2.0
+      vfile-location: 3.2.0
+      web-namespaces: 1.1.4
+    dev: false
+    resolution:
+      integrity: sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==
+  /hast-util-has-property/1.0.4:
+    dev: false
+    resolution:
+      integrity: sha512-ghHup2voGfgFoHMGnaLHOjbYFACKrRh9KFttdCzMCbFoBMJXiNi2+XTrPP8+q6cDJM/RSqlCfVWrjp1H201rZg==
+  /hast-util-heading-rank/1.0.1:
+    dev: false
+    resolution:
+      integrity: sha512-P6Hq7RCky9syMevlrN90QWpqWDXCxwIVOfQR2rK6P4GpY4bqjKEuCzoWSRORZ7vz+VgRpLnXimh+mkwvVFjbyQ==
+  /hast-util-parse-selector/2.2.5:
+    dev: false
+    resolution:
+      integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==
+  /hast-util-raw/6.0.1:
+    dependencies:
+      '@types/hast': 2.3.1
+      hast-util-from-parse5: 6.0.1
+      hast-util-to-parse5: 6.0.0
+      html-void-elements: 1.0.5
+      parse5: 6.0.1
+      unist-util-position: 3.1.0
+      vfile: 4.2.0
+      web-namespaces: 1.1.4
+      xtend: 4.0.2
+      zwitch: 1.0.5
+    dev: false
+    resolution:
+      integrity: sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==
+  /hast-util-sanitize/3.0.1:
+    dependencies:
+      xtend: 4.0.2
+    dev: false
+    resolution:
+      integrity: sha512-XQmIuBSa+DHfAhkrVvtHoSdSLgOnNeBijLY4NPIJgxvpH8MjLof0p68ZADWfWebU7nCWY450HQJZvas6RFKwDA==
+  /hast-util-to-parse5/6.0.0:
+    dependencies:
+      hast-to-hyperscript: 9.0.1
+      property-information: 5.6.0
+      web-namespaces: 1.1.4
+      xtend: 4.0.2
+      zwitch: 1.0.5
+    dev: false
+    resolution:
+      integrity: sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==
+  /hast-util-to-string/1.0.4:
+    dev: false
+    resolution:
+      integrity: sha512-eK0MxRX47AV2eZ+Lyr18DCpQgodvaS3fAQO2+b9Two9F5HEoRPhiUMNzoXArMJfZi2yieFzUBMRl3HNJ3Jus3w==
+  /hastscript/6.0.0:
+    dependencies:
+      '@types/hast': 2.3.1
+      comma-separated-tokens: 1.0.8
+      hast-util-parse-selector: 2.2.5
+      property-information: 5.6.0
+      space-separated-tokens: 1.1.5
+    dev: false
+    resolution:
+      integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==
+  /he/1.2.0:
+    hasBin: true
+    resolution:
+      integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+  /hex-color-regex/1.1.0:
+    resolution:
+      integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
+  /highlight.js/10.5.0:
+    dev: false
+    resolution:
+      integrity: sha512-xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw==
+  /hmac-drbg/1.0.1:
+    dependencies:
+      hash.js: 1.1.7
+      minimalistic-assert: 1.0.1
+      minimalistic-crypto-utils: 1.0.1
+    resolution:
+      integrity: sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
+  /hoist-non-react-statics/2.5.5:
+    dev: false
+    resolution:
+      integrity: sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==
+  /hoist-non-react-statics/3.3.2:
+    dependencies:
+      react-is: 16.13.1
+    resolution:
+      integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
+  /hoopy/0.1.4:
+    engines:
+      node: '>= 6.0.0'
+    resolution:
+      integrity: sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==
+  /hosted-git-info/2.8.8:
+    resolution:
+      integrity: sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
+  /hpack.js/2.1.6:
+    dependencies:
+      inherits: 2.0.4
+      obuf: 1.1.2
+      readable-stream: 2.3.7
+      wbuf: 1.7.3
+    resolution:
+      integrity: sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=
+  /hsl-regex/1.0.0:
+    resolution:
+      integrity: sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=
+  /hsla-regex/1.0.0:
+    resolution:
+      integrity: sha1-wc56MWjIxmFAM6S194d/OyJfnDg=
+  /html-comment-regex/1.1.2:
+    resolution:
+      integrity: sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==
+  /html-element-map/1.3.0:
+    dependencies:
+      array-filter: 1.0.0
+      call-bind: 1.0.2
+    resolution:
+      integrity: sha512-AqCt/m9YaiMwaaAyOPdq4Ga0cM+jdDWWGueUMkdROZcTeClaGpN0AQeyGchZhTegQoABmc6+IqH7oCR/8vhQYg==
+  /html-encoding-sniffer/1.0.2:
+    dependencies:
+      whatwg-encoding: 1.0.5
+    resolution:
+      integrity: sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==
+  /html-entities/1.3.3:
+    resolution:
+      integrity: sha512-/VulV3SYni1taM7a4RMdceqzJWR39gpZHjBwUnsCFKWV/GJkD14CJ5F7eWcZozmHJK0/f/H5U3b3SiPkuvxMgg==
+  /html-escaper/2.0.2:
+    resolution:
+      integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
+  /html-minifier/3.5.21:
+    dependencies:
+      camel-case: 3.0.0
+      clean-css: 4.2.3
+      commander: 2.17.1
+      he: 1.2.0
+      param-case: 2.1.1
+      relateurl: 0.2.7
+      uglify-js: 3.4.10
+    engines:
+      node: '>=4'
+    hasBin: true
+    resolution:
+      integrity: sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==
+  /html-void-elements/1.0.5:
+    dev: false
+    resolution:
+      integrity: sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==
+  /html-webpack-plugin/3.2.0:
+    dependencies:
+      html-minifier: 3.5.21
+      loader-utils: 0.2.17
+      lodash: 4.17.20
+      pretty-error: 2.1.2
+      tapable: 1.1.3
+      toposort: 1.0.7
+      util.promisify: 1.0.0
+    engines:
+      node: '>=6.9'
+    peerDependencies:
+      webpack: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0
+    resolution:
+      integrity: sha1-sBq71yOsqqeze2r0SS69oD2d03s=
+  /htmlparser2/3.10.1:
+    dependencies:
+      domelementtype: 1.3.1
+      domhandler: 2.4.2
+      domutils: 1.7.0
+      entities: 1.1.2
+      inherits: 2.0.4
+      readable-stream: 3.6.0
+    resolution:
+      integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==
+  /htmlparser2/5.0.1:
+    dependencies:
+      domelementtype: 2.1.0
+      domhandler: 3.3.0
+      domutils: 2.4.2
+      entities: 2.2.0
+    dev: false
+    resolution:
+      integrity: sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==
+  /htmlparser2/6.0.0:
+    dependencies:
+      domelementtype: 2.1.0
+      domhandler: 4.0.0
+      domutils: 2.4.4
+      entities: 2.1.0
+    resolution:
+      integrity: sha512-numTQtDZMoh78zJpaNdJ9MXb2cv5G3jwUoe3dMQODubZvLoGvTE/Ofp6sHvH8OGKcN/8A47pGLi/k58xHP/Tfw==
+  /http-cache-semantics/4.1.0:
+    resolution:
+      integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
+  /http-deceiver/1.2.7:
+    resolution:
+      integrity: sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=
+  /http-errors/1.6.3:
+    dependencies:
+      depd: 1.1.2
+      inherits: 2.0.3
+      setprototypeof: 1.1.0
+      statuses: 1.5.0
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=
+  /http-errors/1.7.2:
+    dependencies:
+      depd: 1.1.2
+      inherits: 2.0.3
+      setprototypeof: 1.1.1
+      statuses: 1.5.0
+      toidentifier: 1.0.0
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
+  /http-errors/1.7.3:
+    dependencies:
+      depd: 1.1.2
+      inherits: 2.0.4
+      setprototypeof: 1.1.1
+      statuses: 1.5.0
+      toidentifier: 1.0.0
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
+  /http-parser-js/0.5.2:
+    resolution:
+      integrity: sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==
+  /http-proxy-agent/2.1.0:
+    dependencies:
+      agent-base: 4.3.0
+      debug: 3.1.0
+    dev: false
+    engines:
+      node: '>= 4.5.0'
+    resolution:
+      integrity: sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==
+  /http-proxy-middleware/0.19.1:
+    dependencies:
+      http-proxy: 1.18.1
+      is-glob: 4.0.1
+      lodash: 4.17.20
+      micromatch: 3.1.10
+    engines:
+      node: '>=4.0.0'
+    resolution:
+      integrity: sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==
+  /http-proxy-middleware/1.0.6:
+    dependencies:
+      '@types/http-proxy': 1.17.4
+      http-proxy: 1.18.1
+      is-glob: 4.0.1
+      lodash: 4.17.20
+      micromatch: 4.0.2
+    dev: false
+    engines:
+      node: '>=8.0.0'
+    resolution:
+      integrity: sha512-NyL6ZB6cVni7pl+/IT2W0ni5ME00xR0sN27AQZZrpKn1b+qRh+mLbBxIq9Cq1oGfmTc7BUq4HB77mxwCaxAYNg==
+  /http-proxy/1.18.1:
+    dependencies:
+      eventemitter3: 4.0.7
+      follow-redirects: 1.13.0
+      requires-port: 1.0.0
+    engines:
+      node: '>=8.0.0'
+    resolution:
+      integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
+  /http-signature/1.2.0:
+    dependencies:
+      assert-plus: 1.0.0
+      jsprim: 1.4.1
+      sshpk: 1.16.1
+    engines:
+      node: '>=0.8'
+      npm: '>=1.3.7'
+    resolution:
+      integrity: sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
+  /https-browserify/1.0.0:
+    resolution:
+      integrity: sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
+  /https-proxy-agent/3.0.1:
+    dependencies:
+      agent-base: 4.3.0
+      debug: 3.1.0
+    dev: false
+    engines:
+      node: '>= 4.5.0'
+    resolution:
+      integrity: sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==
+  /https-proxy-agent/5.0.0:
+    dependencies:
+      agent-base: 6.0.2
+      debug: 4.3.1
+    dev: false
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
+  /human-signals/1.1.1:
+    engines:
+      node: '>=8.12.0'
+    resolution:
+      integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
+  /human-signals/2.1.0:
+    engines:
+      node: '>=10.17.0'
+    resolution:
+      integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+  /humanize-ms/1.2.1:
+    dependencies:
+      ms: 2.1.3
+    dev: false
+    resolution:
+      integrity: sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=
+  /iconv-lite/0.4.24:
+    dependencies:
+      safer-buffer: 2.1.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+  /icss-replace-symbols/1.1.0:
+    resolution:
+      integrity: sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=
+  /icss-utils/4.1.1:
+    dependencies:
+      postcss: 7.0.35
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==
+  /icss-utils/5.0.0_postcss@8.1.7:
+    dependencies:
+      postcss: 8.1.7
+    dev: true
+    engines:
+      node: ^10 || ^12 || >= 14
+    peerDependencies:
+      postcss: ^8.1.0
+    resolution:
+      integrity: sha512-aF2Cf/CkEZrI/vsu5WI/I+akFgdbwQHVE9YRZxATrhH4PVIe6a3BIjwjEcW+z+jP/hNh+YvM3lAAn1wJQ6opSg==
+  /identity-obj-proxy/3.0.0:
+    dependencies:
+      harmony-reflect: 1.6.1
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=
+  /ieee754/1.2.1:
+    resolution:
+      integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+  /iferr/0.1.5:
+    resolution:
+      integrity: sha1-xg7taebY/bazEEofy8ocGS3FtQE=
+  /ignore-not-found-export-webpack-plugin/1.0.0:
+    engines:
+      node: '>=6'
+    peerDependencies:
+      webpack: ^4.0.0
+    resolution:
+      integrity: sha512-WJsgBg4MOvmQgxX9fH8abEN6uP1N3foGpwni/dbNc/P0Kkww1PjVsU3ELyYSjGgawHS70WtXVJjV8/MX48CaWg==
+  /ignore/3.3.10:
+    resolution:
+      integrity: sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
+  /ignore/4.0.6:
+    engines:
+      node: '>= 4'
+    resolution:
+      integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
+  /ignore/5.1.8:
+    dev: true
+    engines:
+      node: '>= 4'
+    resolution:
+      integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
+  /image-size/0.5.5:
+    engines:
+      node: '>=0.10.0'
+    hasBin: true
+    optional: true
+    resolution:
+      integrity: sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=
+  /immer/1.10.0:
+    resolution:
+      integrity: sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==
+  /import-cwd/2.1.0:
+    dependencies:
+      import-from: 2.1.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=
+  /import-fresh/2.0.0:
+    dependencies:
+      caller-path: 2.0.0
+      resolve-from: 3.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-2BNVwVYS04bGH53dOSLUMEgipUY=
+  /import-fresh/3.2.2:
+    dependencies:
+      parent-module: 1.0.1
+      resolve-from: 4.0.0
+    dev: false
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==
+  /import-from/2.1.0:
+    dependencies:
+      resolve-from: 3.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-M1238qev/VOqpHHUuAId7ja387E=
+  /import-lazy/2.1.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=
+  /import-local/2.0.0:
+    dependencies:
+      pkg-dir: 3.0.0
+      resolve-cwd: 2.0.0
+    engines:
+      node: '>=6'
+    hasBin: true
+    resolution:
+      integrity: sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==
+  /import-local/3.0.2:
+    dependencies:
+      pkg-dir: 4.2.0
+      resolve-cwd: 3.0.0
+    dev: true
+    engines:
+      node: '>=8'
+    hasBin: true
+    resolution:
+      integrity: sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==
+  /imurmurhash/0.1.4:
+    engines:
+      node: '>=0.8.19'
+    resolution:
+      integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=
+  /indexes-of/1.0.1:
+    resolution:
+      integrity: sha1-8w9xbI4r00bHtn0985FVZqfAVgc=
+  /infer-owner/1.0.4:
+    resolution:
+      integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
+  /inflight/1.0.6:
+    dependencies:
+      once: 1.4.0
+      wrappy: 1.0.2
+    resolution:
+      integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+  /inherits/2.0.1:
+    resolution:
+      integrity: sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
+  /inherits/2.0.3:
+    resolution:
+      integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
+  /inherits/2.0.4:
+    resolution:
+      integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+  /ini/1.3.8:
+    resolution:
+      integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
+  /inline-style-parser/0.1.1:
+    dev: false
+    resolution:
+      integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==
+  /inquirer/6.5.0:
+    dependencies:
+      ansi-escapes: 3.2.0
+      chalk: 2.4.2
+      cli-cursor: 2.1.0
+      cli-width: 2.2.1
+      external-editor: 3.1.0
+      figures: 2.0.0
+      lodash: 4.17.20
+      mute-stream: 0.0.7
+      run-async: 2.4.1
+      rxjs: 6.6.3
+      string-width: 2.1.1
+      strip-ansi: 5.2.0
+      through: 2.3.8
+    engines:
+      node: '>=6.0.0'
+    resolution:
+      integrity: sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA==
+  /inquirer/7.3.3:
+    dependencies:
+      ansi-escapes: 4.3.1
+      chalk: 4.1.0
+      cli-cursor: 3.1.0
+      cli-width: 3.0.0
+      external-editor: 3.1.0
+      figures: 3.2.0
+      lodash: 4.17.20
+      mute-stream: 0.0.8
+      run-async: 2.4.1
+      rxjs: 6.6.3
+      string-width: 4.2.0
+      strip-ansi: 6.0.0
+      through: 2.3.8
+    engines:
+      node: '>=8.0.0'
+    resolution:
+      integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==
+  /internal-ip/4.3.0:
+    dependencies:
+      default-gateway: 4.2.0
+      ipaddr.js: 1.9.1
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==
+  /interpret/1.4.0:
+    engines:
+      node: '>= 0.10'
+    resolution:
+      integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
+  /interpret/2.2.0:
+    dev: true
+    engines:
+      node: '>= 0.10'
+    resolution:
+      integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==
+  /invariant/2.2.4:
+    dependencies:
+      loose-envify: 1.4.0
+    resolution:
+      integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
+  /ip-regex/2.1.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=
+  /ip/1.1.5:
+    resolution:
+      integrity: sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
+  /ipaddr.js/1.9.1:
+    engines:
+      node: '>= 0.10'
+    resolution:
+      integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
+  /is-absolute-url/2.1.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=
+  /is-absolute-url/3.0.3:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==
+  /is-accessor-descriptor/0.1.6:
+    dependencies:
+      kind-of: 3.2.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
+  /is-accessor-descriptor/1.0.0:
+    dependencies:
+      kind-of: 6.0.3
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
+  /is-alphabetical/1.0.4:
+    dev: false
+    resolution:
+      integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==
+  /is-alphanumerical/1.0.4:
+    dependencies:
+      is-alphabetical: 1.0.4
+      is-decimal: 1.0.4
+    dev: false
+    resolution:
+      integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==
+  /is-arguments/1.1.0:
+    dependencies:
+      call-bind: 1.0.0
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==
+  /is-arrayish/0.2.1:
+    resolution:
+      integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
+  /is-arrayish/0.3.2:
+    resolution:
+      integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
+  /is-binary-path/1.0.1:
+    dependencies:
+      binary-extensions: 1.13.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=
+  /is-binary-path/2.1.0:
+    dependencies:
+      binary-extensions: 2.1.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+  /is-boolean-object/1.1.0:
+    dependencies:
+      call-bind: 1.0.2
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==
+  /is-buffer/1.1.6:
+    resolution:
+      integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
+  /is-buffer/2.0.5:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==
+  /is-callable/1.2.2:
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==
+  /is-ci/2.0.0:
+    dependencies:
+      ci-info: 2.0.0
+    hasBin: true
+    resolution:
+      integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
+  /is-class-hotfix/0.0.6:
+    dev: false
+    resolution:
+      integrity: sha512-0n+pzCC6ICtVr/WXnN2f03TK/3BfXY7me4cjCAqT8TYXEl0+JBRoqBo94JJHXcyDSLUeWbNX8Fvy5g5RJdAstQ==
+  /is-color-stop/1.1.0:
+    dependencies:
+      css-color-names: 0.0.4
+      hex-color-regex: 1.1.0
+      hsl-regex: 1.0.0
+      hsla-regex: 1.0.0
+      rgb-regex: 1.0.1
+      rgba-regex: 1.0.0
+    resolution:
+      integrity: sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=
+  /is-core-module/2.1.0:
+    dependencies:
+      has: 1.0.3
+    resolution:
+      integrity: sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==
+  /is-data-descriptor/0.1.4:
+    dependencies:
+      kind-of: 3.2.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
+  /is-data-descriptor/1.0.0:
+    dependencies:
+      kind-of: 6.0.3
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
+  /is-date-object/1.0.2:
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
+  /is-decimal/1.0.4:
+    dev: false
+    resolution:
+      integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==
+  /is-descriptor/0.1.6:
+    dependencies:
+      is-accessor-descriptor: 0.1.6
+      is-data-descriptor: 0.1.4
+      kind-of: 5.1.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
+  /is-descriptor/1.0.2:
+    dependencies:
+      is-accessor-descriptor: 1.0.0
+      is-data-descriptor: 1.0.0
+      kind-of: 6.0.3
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
+  /is-directory/0.3.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
+  /is-docker/2.1.1:
+    engines:
+      node: '>=8'
+    hasBin: true
+    resolution:
+      integrity: sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==
+  /is-extendable/0.1.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
+  /is-extendable/1.0.1:
+    dependencies:
+      is-plain-object: 2.0.4
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
+  /is-extglob/2.1.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
+  /is-fullwidth-code-point/1.0.0:
+    dependencies:
+      number-is-nan: 1.0.1
+    dev: false
+    engines:
+      node: '>=0.10.0'
+    optional: true
+    resolution:
+      integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
+  /is-fullwidth-code-point/2.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+  /is-fullwidth-code-point/3.0.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+  /is-generator-fn/2.1.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==
+  /is-generator-function/1.0.8:
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==
+  /is-glob/3.1.0:
+    dependencies:
+      is-extglob: 2.1.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
+  /is-glob/4.0.1:
+    dependencies:
+      is-extglob: 2.1.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
+  /is-hexadecimal/1.0.4:
+    dev: false
+    resolution:
+      integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
+  /is-installed-globally/0.1.0:
+    dependencies:
+      global-dirs: 0.1.1
+      is-path-inside: 1.0.1
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=
+  /is-nan/1.3.0:
+    dependencies:
+      define-properties: 1.1.3
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-z7bbREymOqt2CCaZVly8aC4ML3Xhfi0ekuOnjO2L8vKdl+CttdVoGZQhd4adMFAsxQ5VeRVwORs4tU8RH+HFtQ==
+  /is-negative-zero/2.0.1:
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
+  /is-npm/3.0.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA==
+  /is-number-object/1.0.4:
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==
+  /is-number/3.0.0:
+    dependencies:
+      kind-of: 3.2.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
+  /is-number/7.0.0:
+    engines:
+      node: '>=0.12.0'
+    resolution:
+      integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+  /is-obj/1.0.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
+  /is-obj/2.0.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
+  /is-object/1.0.2:
+    resolution:
+      integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==
+  /is-path-cwd/2.2.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
+  /is-path-in-cwd/2.1.0:
+    dependencies:
+      is-path-inside: 2.1.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==
+  /is-path-inside/1.0.1:
+    dependencies:
+      path-is-inside: 1.0.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-jvW33lBDej/cprToZe96pVy0gDY=
+  /is-path-inside/2.1.0:
+    dependencies:
+      path-is-inside: 1.0.2
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==
+  /is-plain-obj/1.1.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
+  /is-plain-obj/2.1.0:
+    dev: false
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
+  /is-plain-object/2.0.4:
+    dependencies:
+      isobject: 3.0.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
+  /is-redirect/1.0.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=
+  /is-regex/1.1.1:
+    dependencies:
+      has-symbols: 1.0.1
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==
+  /is-resolvable/1.1.0:
+    resolution:
+      integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==
+  /is-retry-allowed/1.2.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==
+  /is-root/2.1.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==
+  /is-scoped/1.0.0:
+    dependencies:
+      scoped-regex: 1.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-RJypgpnnEwOCViieyytUDcQ3yzA=
+  /is-stream/1.1.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
+  /is-stream/2.0.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
+  /is-string/1.0.5:
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
+  /is-subset/0.1.1:
+    resolution:
+      integrity: sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=
+  /is-svg/3.0.0:
+    dependencies:
+      html-comment-regex: 1.1.2
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==
+  /is-symbol/1.0.3:
+    dependencies:
+      has-symbols: 1.0.1
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==
+  /is-type-of/1.2.1:
+    dependencies:
+      core-util-is: 1.0.2
+      is-class-hotfix: 0.0.6
+      isstream: 0.1.2
+    dev: false
+    resolution:
+      integrity: sha512-uK0kyX9LZYhSDS7H2sVJQJop1UnWPWmo5RvR3q2kFH6AUHYs7sOrVg0b4nyBHw29kRRNFofYN/JbHZDlHiItTA==
+  /is-typed-array/1.1.4:
+    dependencies:
+      available-typed-arrays: 1.0.2
+      call-bind: 1.0.0
+      es-abstract: 1.18.0-next.1
+      foreach: 2.0.5
+      has-symbols: 1.0.1
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA==
+  /is-typedarray/1.0.0:
+    resolution:
+      integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+  /is-utf8/0.2.1:
+    resolution:
+      integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
+  /is-what/3.12.0:
+    resolution:
+      integrity: sha512-2ilQz5/f/o9V7WRWJQmpFYNmQFZ9iM+OXRonZKcYgTkCzjb949Vi4h282PD1UfmgHk666rcWonbRJ++KI41VGw==
+  /is-whitespace-character/1.0.4:
+    dev: false
+    resolution:
+      integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==
+  /is-windows/1.0.2:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
+  /is-word-character/1.0.4:
+    dev: false
+    resolution:
+      integrity: sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==
+  /is-wsl/1.1.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
+  /is-wsl/2.2.0:
+    dependencies:
+      is-docker: 2.1.1
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
+  /is-yarn-global/0.3.0:
+    resolution:
+      integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==
+  /isarray/0.0.1:
+    dev: false
+    resolution:
+      integrity: sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
+  /isarray/1.0.0:
+    resolution:
+      integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+  /isbinaryfile/3.0.3:
+    dependencies:
+      buffer-alloc: 1.2.0
+    engines:
+      node: '>=0.6.0'
+    resolution:
+      integrity: sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==
+  /isbinaryfile/4.0.6:
+    engines:
+      node: '>= 8.0.0'
+    resolution:
+      integrity: sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==
+  /isexe/2.0.0:
+    resolution:
+      integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+  /isobject/2.1.0:
+    dependencies:
+      isarray: 1.0.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
+  /isobject/3.0.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
+  /isstream/0.1.2:
+    resolution:
+      integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
+  /istanbul-lib-coverage/2.0.5:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==
+  /istanbul-lib-instrument/3.3.0:
+    dependencies:
+      '@babel/generator': 7.12.11
+      '@babel/parser': 7.12.11
+      '@babel/template': 7.12.7
+      '@babel/traverse': 7.12.12
+      '@babel/types': 7.12.12
+      istanbul-lib-coverage: 2.0.5
+      semver: 6.3.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==
+  /istanbul-lib-report/2.0.8:
+    dependencies:
+      istanbul-lib-coverage: 2.0.5
+      make-dir: 2.1.0
+      supports-color: 6.1.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==
+  /istanbul-lib-source-maps/3.0.6:
+    dependencies:
+      debug: 4.3.1
+      istanbul-lib-coverage: 2.0.5
+      make-dir: 2.1.0
+      rimraf: 2.7.1
+      source-map: 0.6.1
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==
+  /istanbul-reports/2.2.7:
+    dependencies:
+      html-escaper: 2.0.2
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==
+  /istextorbinary/2.6.0:
+    dependencies:
+      binaryextensions: 2.3.0
+      editions: 2.3.1
+      textextensions: 2.6.0
+    engines:
+      node: '>=0.12'
+    resolution:
+      integrity: sha512-+XRlFseT8B3L9KyjxxLjfXSLMuErKDsd8DBNrsaxoViABMEZlOSCstwmw0qpoFX3+U6yWU1yhLudAe6/lETGGA==
+  /isurl/1.0.0:
+    dependencies:
+      has-to-string-tag-x: 1.4.1
+      is-object: 1.0.2
+    engines:
+      node: '>= 4'
+    resolution:
+      integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==
+  /jake/10.8.2:
+    dependencies:
+      async: 0.9.2
+      chalk: 2.4.2
+      filelist: 1.0.1
+      minimatch: 3.0.4
+    hasBin: true
+    resolution:
+      integrity: sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==
+  /javascript-stringify/2.0.1:
+    resolution:
+      integrity: sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow==
+  /jest-changed-files/24.9.0:
+    dependencies:
+      '@jest/types': 24.9.0
+      execa: 1.0.0
+      throat: 4.1.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==
+  /jest-cli/24.9.0:
+    dependencies:
+      '@jest/core': 24.9.0
+      '@jest/test-result': 24.9.0
+      '@jest/types': 24.9.0
+      chalk: 2.4.2
+      exit: 0.1.2
+      import-local: 2.0.0
+      is-ci: 2.0.0
+      jest-config: 24.9.0
+      jest-util: 24.9.0
+      jest-validate: 24.9.0
+      prompts: 2.4.0
+      realpath-native: 1.1.0
+      yargs: 13.3.2
+    engines:
+      node: '>= 6'
+    hasBin: true
+    resolution:
+      integrity: sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==
+  /jest-config/24.9.0:
+    dependencies:
+      '@babel/core': 7.12.10
+      '@jest/test-sequencer': 24.9.0
+      '@jest/types': 24.9.0
+      babel-jest: 24.9.0_@babel+core@7.12.10
+      chalk: 2.4.2
+      glob: 7.1.6
+      jest-environment-jsdom: 24.9.0
+      jest-environment-node: 24.9.0
+      jest-get-type: 24.9.0
+      jest-jasmine2: 24.9.0
+      jest-regex-util: 24.9.0
+      jest-resolve: 24.9.0
+      jest-util: 24.9.0
+      jest-validate: 24.9.0
+      micromatch: 3.1.10
+      pretty-format: 24.9.0
+      realpath-native: 1.1.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==
+  /jest-diff/24.9.0:
+    dependencies:
+      chalk: 2.4.2
+      diff-sequences: 24.9.0
+      jest-get-type: 24.9.0
+      pretty-format: 24.9.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==
+  /jest-docblock/24.9.0:
+    dependencies:
+      detect-newline: 2.1.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==
+  /jest-docblock/26.0.0:
+    dependencies:
+      detect-newline: 3.1.0
+    dev: false
+    engines:
+      node: '>= 10.14.2'
+    resolution:
+      integrity: sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==
+  /jest-each/24.9.0:
+    dependencies:
+      '@jest/types': 24.9.0
+      chalk: 2.4.2
+      jest-get-type: 24.9.0
+      jest-util: 24.9.0
+      pretty-format: 24.9.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==
+  /jest-environment-enzyme/7.1.2_enzyme@3.11.0:
+    dependencies:
+      enzyme: 3.11.0
+      jest-environment-jsdom: 24.9.0
+    peerDependencies:
+      enzyme: 3.x
+      jest: '>=22.0.0'
+      react: ^0.13.0 || ^0.14.0 || ^15.0.0 || >=16.x
+    resolution:
+      integrity: sha512-3tfaYAzO7qZSRrv+srQnfK16Vu5XwH/pHi8FpoqSHjKKngbHzXf7aBCBuWh8y3w0OtknHRfDMFrC60Khj+g1hA==
+  /jest-environment-enzyme/7.1.2_enzyme@3.11.0+react@17.0.1:
+    dependencies:
+      enzyme: 3.11.0
+      jest-environment-jsdom: 24.9.0
+      react: 17.0.1
+    peerDependencies:
+      enzyme: 3.x
+      jest: '>=22.0.0'
+      react: ^0.13.0 || ^0.14.0 || ^15.0.0 || >=16.x
+    resolution:
+      integrity: sha512-3tfaYAzO7qZSRrv+srQnfK16Vu5XwH/pHi8FpoqSHjKKngbHzXf7aBCBuWh8y3w0OtknHRfDMFrC60Khj+g1hA==
+  /jest-environment-jsdom/24.9.0:
+    dependencies:
+      '@jest/environment': 24.9.0
+      '@jest/fake-timers': 24.9.0
+      '@jest/types': 24.9.0
+      jest-mock: 24.9.0
+      jest-util: 24.9.0
+      jsdom: 11.12.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==
+  /jest-environment-node/24.9.0:
+    dependencies:
+      '@jest/environment': 24.9.0
+      '@jest/fake-timers': 24.9.0
+      '@jest/types': 24.9.0
+      jest-mock: 24.9.0
+      jest-util: 24.9.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==
+  /jest-enzyme/7.1.2_enzyme@3.11.0:
+    dependencies:
+      enzyme: 3.11.0
+      enzyme-matchers: 7.1.2_enzyme@3.11.0
+      enzyme-to-json: 3.6.1_enzyme@3.11.0
+      jest-environment-enzyme: 7.1.2_enzyme@3.11.0
+    peerDependencies:
+      enzyme: '>=3.4.0'
+      jest: '>=22.0.0'
+    resolution:
+      integrity: sha512-j+jkph3t5hGBS12eOldpfsnERYRCHi4c/0KWPMnqRPoJJXvCpLIc5th1MHl0xDznQDXVU0AHUXg3rqMrf8vGpA==
+  /jest-enzyme/7.1.2_enzyme@3.11.0+react@17.0.1:
+    dependencies:
+      enzyme: 3.11.0
+      enzyme-matchers: 7.1.2_enzyme@3.11.0
+      enzyme-to-json: 3.6.1_enzyme@3.11.0
+      jest-environment-enzyme: 7.1.2_enzyme@3.11.0+react@17.0.1
+    peerDependencies:
+      enzyme: '>=3.4.0'
+      jest: '>=22.0.0'
+      react: '*'
+    resolution:
+      integrity: sha512-j+jkph3t5hGBS12eOldpfsnERYRCHi4c/0KWPMnqRPoJJXvCpLIc5th1MHl0xDznQDXVU0AHUXg3rqMrf8vGpA==
+  /jest-get-type/24.9.0:
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==
+  /jest-haste-map/24.9.0:
+    dependencies:
+      '@jest/types': 24.9.0
+      anymatch: 2.0.0
+      fb-watchman: 2.0.1
+      graceful-fs: 4.2.4
+      invariant: 2.2.4
+      jest-serializer: 24.9.0
+      jest-util: 24.9.0
+      jest-worker: 24.9.0
+      micromatch: 3.1.10
+      sane: 4.1.0
+      walker: 1.0.7
+    engines:
+      node: '>= 6'
+    optionalDependencies:
+      fsevents: 1.2.13
+    resolution:
+      integrity: sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==
+  /jest-jasmine2/24.9.0:
+    dependencies:
+      '@babel/traverse': 7.12.12
+      '@jest/environment': 24.9.0
+      '@jest/test-result': 24.9.0
+      '@jest/types': 24.9.0
+      chalk: 2.4.2
+      co: 4.6.0
+      expect: 24.9.0
+      is-generator-fn: 2.1.0
+      jest-each: 24.9.0
+      jest-matcher-utils: 24.9.0
+      jest-message-util: 24.9.0
+      jest-runtime: 24.9.0
+      jest-snapshot: 24.9.0
+      jest-util: 24.9.0
+      pretty-format: 24.9.0
+      throat: 4.1.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==
+  /jest-leak-detector/24.9.0:
+    dependencies:
+      jest-get-type: 24.9.0
+      pretty-format: 24.9.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==
+  /jest-matcher-utils/24.9.0:
+    dependencies:
+      chalk: 2.4.2
+      jest-diff: 24.9.0
+      jest-get-type: 24.9.0
+      pretty-format: 24.9.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==
+  /jest-message-util/24.9.0:
+    dependencies:
+      '@babel/code-frame': 7.12.11
+      '@jest/test-result': 24.9.0
+      '@jest/types': 24.9.0
+      '@types/stack-utils': 1.0.1
+      chalk: 2.4.2
+      micromatch: 3.1.10
+      slash: 2.0.0
+      stack-utils: 1.0.4
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==
+  /jest-mock/24.9.0:
+    dependencies:
+      '@jest/types': 24.9.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==
+  /jest-pnp-resolver/1.2.2_jest-resolve@24.9.0:
+    dependencies:
+      jest-resolve: 24.9.0
+    engines:
+      node: '>=6'
+    peerDependencies:
+      jest-resolve: '*'
+    peerDependenciesMeta:
+      jest-resolve:
+        optional: true
+    resolution:
+      integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==
+  /jest-regex-util/24.9.0:
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==
+  /jest-resolve-dependencies/24.9.0:
+    dependencies:
+      '@jest/types': 24.9.0
+      jest-regex-util: 24.9.0
+      jest-snapshot: 24.9.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==
+  /jest-resolve/24.9.0:
+    dependencies:
+      '@jest/types': 24.9.0
+      browser-resolve: 1.11.3
+      chalk: 2.4.2
+      jest-pnp-resolver: 1.2.2_jest-resolve@24.9.0
+      realpath-native: 1.1.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==
+  /jest-runner/24.9.0:
+    dependencies:
+      '@jest/console': 24.9.0
+      '@jest/environment': 24.9.0
+      '@jest/test-result': 24.9.0
+      '@jest/types': 24.9.0
+      chalk: 2.4.2
+      exit: 0.1.2
+      graceful-fs: 4.2.4
+      jest-config: 24.9.0
+      jest-docblock: 24.9.0
+      jest-haste-map: 24.9.0
+      jest-jasmine2: 24.9.0
+      jest-leak-detector: 24.9.0
+      jest-message-util: 24.9.0
+      jest-resolve: 24.9.0
+      jest-runtime: 24.9.0
+      jest-util: 24.9.0
+      jest-worker: 24.9.0
+      source-map-support: 0.5.19
+      throat: 4.1.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==
+  /jest-runtime/24.9.0:
+    dependencies:
+      '@jest/console': 24.9.0
+      '@jest/environment': 24.9.0
+      '@jest/source-map': 24.9.0
+      '@jest/transform': 24.9.0
+      '@jest/types': 24.9.0
+      '@types/yargs': 13.0.11
+      chalk: 2.4.2
+      exit: 0.1.2
+      glob: 7.1.6
+      graceful-fs: 4.2.4
+      jest-config: 24.9.0
+      jest-haste-map: 24.9.0
+      jest-message-util: 24.9.0
+      jest-mock: 24.9.0
+      jest-regex-util: 24.9.0
+      jest-resolve: 24.9.0
+      jest-snapshot: 24.9.0
+      jest-util: 24.9.0
+      jest-validate: 24.9.0
+      realpath-native: 1.1.0
+      slash: 2.0.0
+      strip-bom: 3.0.0
+      yargs: 13.3.2
+    engines:
+      node: '>= 6'
+    hasBin: true
+    resolution:
+      integrity: sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==
+  /jest-serializer/24.9.0:
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==
+  /jest-snapshot/24.9.0:
+    dependencies:
+      '@babel/types': 7.12.12
+      '@jest/types': 24.9.0
+      chalk: 2.4.2
+      expect: 24.9.0
+      jest-diff: 24.9.0
+      jest-get-type: 24.9.0
+      jest-matcher-utils: 24.9.0
+      jest-message-util: 24.9.0
+      jest-resolve: 24.9.0
+      mkdirp: 0.5.5
+      natural-compare: 1.4.0
+      pretty-format: 24.9.0
+      semver: 6.3.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==
+  /jest-util/24.9.0:
+    dependencies:
+      '@jest/console': 24.9.0
+      '@jest/fake-timers': 24.9.0
+      '@jest/source-map': 24.9.0
+      '@jest/test-result': 24.9.0
+      '@jest/types': 24.9.0
+      callsites: 3.1.0
+      chalk: 2.4.2
+      graceful-fs: 4.2.4
+      is-ci: 2.0.0
+      mkdirp: 0.5.5
+      slash: 2.0.0
+      source-map: 0.6.1
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==
+  /jest-validate/24.9.0:
+    dependencies:
+      '@jest/types': 24.9.0
+      camelcase: 5.3.1
+      chalk: 2.4.2
+      jest-get-type: 24.9.0
+      leven: 3.1.0
+      pretty-format: 24.9.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==
+  /jest-watcher/24.9.0:
+    dependencies:
+      '@jest/test-result': 24.9.0
+      '@jest/types': 24.9.0
+      '@types/yargs': 13.0.11
+      ansi-escapes: 3.2.0
+      chalk: 2.4.2
+      jest-util: 24.9.0
+      string-length: 2.0.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==
+  /jest-worker/24.9.0:
+    dependencies:
+      merge-stream: 2.0.0
+      supports-color: 6.1.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==
+  /js-base64/2.6.4:
+    resolution:
+      integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
+  /js-tokens/3.0.2:
+    resolution:
+      integrity: sha1-mGbfOVECEw449/mWvOtlRDIJwls=
+  /js-tokens/4.0.0:
+    resolution:
+      integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+  /js-yaml/3.14.0:
+    dependencies:
+      argparse: 1.0.10
+      esprima: 4.0.1
+    dev: false
+    hasBin: true
+    resolution:
+      integrity: sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==
+  /js-yaml/3.14.1:
+    dependencies:
+      argparse: 1.0.10
+      esprima: 4.0.1
+    hasBin: true
+    resolution:
+      integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
+  /jsbn/0.1.1:
+    resolution:
+      integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
+  /jsdom/11.12.0:
+    dependencies:
+      abab: 2.0.5
+      acorn: 5.7.4
+      acorn-globals: 4.3.4
+      array-equal: 1.0.0
+      cssom: 0.3.8
+      cssstyle: 1.4.0
+      data-urls: 1.1.0
+      domexception: 1.0.1
+      escodegen: 1.14.3
+      html-encoding-sniffer: 1.0.2
+      left-pad: 1.3.0
+      nwsapi: 2.2.0
+      parse5: 4.0.0
+      pn: 1.1.0
+      request: 2.88.2
+      request-promise-native: 1.0.9_request@2.88.2
+      sax: 1.2.4
+      symbol-tree: 3.2.4
+      tough-cookie: 2.5.0
+      w3c-hr-time: 1.0.2
+      webidl-conversions: 4.0.2
+      whatwg-encoding: 1.0.5
+      whatwg-mimetype: 2.3.0
+      whatwg-url: 6.5.0
+      ws: 5.2.2
+      xml-name-validator: 3.0.0
+    resolution:
+      integrity: sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==
+  /jsdom/12.2.0:
+    dependencies:
+      abab: 2.0.5
+      acorn: 6.4.2
+      acorn-globals: 4.3.4
+      array-equal: 1.0.0
+      cssom: 0.3.8
+      cssstyle: 1.4.0
+      data-urls: 1.1.0
+      domexception: 1.0.1
+      escodegen: 1.14.3
+      html-encoding-sniffer: 1.0.2
+      nwsapi: 2.2.0
+      parse5: 5.1.0
+      pn: 1.1.0
+      request: 2.88.2
+      request-promise-native: 1.0.9_request@2.88.2
+      saxes: 3.1.11
+      symbol-tree: 3.2.4
+      tough-cookie: 2.5.0
+      w3c-hr-time: 1.0.2
+      webidl-conversions: 4.0.2
+      whatwg-encoding: 1.0.5
+      whatwg-mimetype: 2.3.0
+      whatwg-url: 7.1.0
+      ws: 6.2.1
+      xml-name-validator: 3.0.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-QPOggIJ8fquWPLaYYMoh+zqUmdphDtu1ju0QGTitZT1Yd8I5qenPpXM1etzUegu3MjVp8XPzgZxdn8Yj7e40ig==
+  /jsesc/0.5.0:
+    hasBin: true
+    resolution:
+      integrity: sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
+  /jsesc/2.5.2:
+    engines:
+      node: '>=4'
+    hasBin: true
+    resolution:
+      integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
+  /json-buffer/3.0.0:
+    resolution:
+      integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
+  /json-parse-better-errors/1.0.2:
+    resolution:
+      integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
+  /json-parse-even-better-errors/2.3.1:
+    resolution:
+      integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+  /json-schema-traverse/0.4.1:
+    resolution:
+      integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+  /json-schema/0.2.3:
+    resolution:
+      integrity: sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
+  /json-stringify-safe/5.0.1:
+    resolution:
+      integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
+  /json3/3.3.3:
+    resolution:
+      integrity: sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==
+  /json5/0.5.1:
+    hasBin: true
+    resolution:
+      integrity: sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=
+  /json5/1.0.1:
+    dependencies:
+      minimist: 1.2.5
+    hasBin: true
+    resolution:
+      integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
+  /json5/2.1.3:
+    dependencies:
+      minimist: 1.2.5
+    engines:
+      node: '>=6'
+    hasBin: true
+    resolution:
+      integrity: sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
+  /jsonfile/4.0.0:
+    optionalDependencies:
+      graceful-fs: 4.2.4
+    resolution:
+      integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
+  /jsonfile/6.1.0:
+    dependencies:
+      universalify: 2.0.0
+    dev: false
+    optionalDependencies:
+      graceful-fs: 4.2.4
+    resolution:
+      integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
+  /jsonparse/1.3.1:
+    engines:
+      '0': node >= 0.2.0
+    resolution:
+      integrity: sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=
+  /jsprim/1.4.1:
+    dependencies:
+      assert-plus: 1.0.0
+      extsprintf: 1.3.0
+      json-schema: 0.2.3
+      verror: 1.10.0
+    engines:
+      '0': node >=0.6.0
+    resolution:
+      integrity: sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
+  /jstoxml/0.2.4:
+    dev: false
+    engines:
+      node: '>=0.2.0'
+    resolution:
+      integrity: sha1-/z+2eFaIOgMpU8fOjOdIYhD0hEc=
+  /keyv/3.1.0:
+    dependencies:
+      json-buffer: 3.0.0
+    resolution:
+      integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==
+  /killable/1.0.1:
+    resolution:
+      integrity: sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==
+  /kind-of/2.0.1:
+    dependencies:
+      is-buffer: 1.1.6
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=
+  /kind-of/3.2.2:
+    dependencies:
+      is-buffer: 1.1.6
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
+  /kind-of/4.0.0:
+    dependencies:
+      is-buffer: 1.1.6
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
+  /kind-of/5.1.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
+  /kind-of/6.0.3:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+  /kleur/3.0.3:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
+  /klona/2.0.4:
+    dev: false
+    engines:
+      node: '>= 8'
+    resolution:
+      integrity: sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==
+  /ko-sleep/1.0.3:
+    dependencies:
+      ms: 2.1.3
+    dev: false
+    resolution:
+      integrity: sha1-KKKgoUhei39BX/SI3uF9JHiKsII=
+  /last-call-webpack-plugin/3.0.0:
+    dependencies:
+      lodash: 4.17.20
+      webpack-sources: 1.4.3
+    resolution:
+      integrity: sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==
+  /latest-version/5.1.0:
+    dependencies:
+      package-json: 6.5.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==
+  /lazy-cache/0.2.7:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=
+  /lazy-cache/1.0.4:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-odePw6UEdMuAhF07O24dpJpEbo4=
+  /lazy-cache/2.0.2:
+    dependencies:
+      set-getter: 0.1.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=
+  /left-pad/1.3.0:
+    deprecated: use String.prototype.padStart()
+    resolution:
+      integrity: sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==
+  /less-loader/5.0.0_less@3.13.1:
+    dependencies:
+      clone: 2.1.2
+      less: 3.13.1
+      loader-utils: 1.4.0
+      pify: 4.0.1
+    engines:
+      node: '>= 4.8.0'
+    peerDependencies:
+      less: ^2.3.1 || ^3.0.0
+      webpack: ^2.0.0 || ^3.0.0 || ^4.0.0
+    resolution:
+      integrity: sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg==
+  /less/3.13.1:
+    dependencies:
+      copy-anything: 2.0.1
+      tslib: 1.14.1
+    engines:
+      node: '>=6'
+    hasBin: true
+    optionalDependencies:
+      errno: 0.1.8
+      graceful-fs: 4.2.4
+      image-size: 0.5.5
+      make-dir: 2.1.0
+      mime: 1.6.0
+      native-request: 1.0.8
+      source-map: 0.6.1
+    resolution:
+      integrity: sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==
+  /leven/3.1.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
+  /levn/0.3.0:
+    dependencies:
+      prelude-ls: 1.1.2
+      type-check: 0.3.2
+    engines:
+      node: '>= 0.8.0'
+    resolution:
+      integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
+  /line-column/1.0.2:
+    dependencies:
+      isarray: 1.0.0
+      isobject: 2.1.0
+    resolution:
+      integrity: sha1-0lryk2tvSEkXKzEuR5LR2Ye8NKI=
+  /lines-and-columns/1.1.6:
+    resolution:
+      integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
+  /load-json-file/4.0.0:
+    dependencies:
+      graceful-fs: 4.2.4
+      parse-json: 4.0.0
+      pify: 3.0.0
+      strip-bom: 3.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=
+  /loader-runner/2.4.0:
+    engines:
+      node: '>=4.3.0 <5.0.0 || >=5.10'
+    resolution:
+      integrity: sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
+  /loader-utils/0.2.17:
+    dependencies:
+      big.js: 3.2.0
+      emojis-list: 2.1.0
+      json5: 0.5.1
+      object-assign: 4.1.1
+    resolution:
+      integrity: sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=
+  /loader-utils/1.1.0:
+    dependencies:
+      big.js: 3.2.0
+      emojis-list: 2.1.0
+      json5: 0.5.1
+    engines:
+      node: '>=4.0.0'
+    resolution:
+      integrity: sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=
+  /loader-utils/1.2.3:
+    dependencies:
+      big.js: 5.2.2
+      emojis-list: 2.1.0
+      json5: 1.0.1
+    engines:
+      node: '>=4.0.0'
+    resolution:
+      integrity: sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
+  /loader-utils/1.4.0:
+    dependencies:
+      big.js: 5.2.2
+      emojis-list: 3.0.0
+      json5: 1.0.1
+    engines:
+      node: '>=4.0.0'
+    resolution:
+      integrity: sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
+  /loader-utils/2.0.0:
+    dependencies:
+      big.js: 5.2.2
+      emojis-list: 3.0.0
+      json5: 2.1.3
+    engines:
+      node: '>=8.9.0'
+    resolution:
+      integrity: sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==
+  /locate-path/2.0.0:
+    dependencies:
+      p-locate: 2.0.0
+      path-exists: 3.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
+  /locate-path/3.0.0:
+    dependencies:
+      p-locate: 3.0.0
+      path-exists: 3.0.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
+  /locate-path/5.0.0:
+    dependencies:
+      p-locate: 4.1.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
+  /lodash._arrayeach/3.0.0:
+    resolution:
+      integrity: sha1-urFWsqkNPxu9XGU0AzSeXlkz754=
+  /lodash._baseeach/3.0.4:
+    dependencies:
+      lodash.keys: 3.1.2
+    resolution:
+      integrity: sha1-z4cGVyyhROjZ11InyZDamC+TKvM=
+  /lodash._baseisequal/3.0.7:
+    dependencies:
+      lodash.isarray: 3.0.4
+      lodash.istypedarray: 3.0.6
+      lodash.keys: 3.1.2
+    resolution:
+      integrity: sha1-2AJfdjOdKTQnZ9zIh85cuVpbUfE=
+  /lodash._bindcallback/3.0.1:
+    resolution:
+      integrity: sha1-5THCdkTPi1epnhftlbNcdIeJOS4=
+  /lodash._getnative/3.9.1:
+    resolution:
+      integrity: sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=
+  /lodash.camelcase/4.3.0:
+    resolution:
+      integrity: sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
+  /lodash.clonedeep/4.5.0:
+    dev: false
+    resolution:
+      integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=
+  /lodash.debounce/4.0.8:
+    dev: false
+    resolution:
+      integrity: sha1-gteb/zCmfEAF/9XiUVMArZyk168=
+  /lodash.escape/4.0.1:
+    resolution:
+      integrity: sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=
+  /lodash.flattendeep/4.4.0:
+    resolution:
+      integrity: sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=
+  /lodash.foreach/3.0.3:
+    dependencies:
+      lodash._arrayeach: 3.0.0
+      lodash._baseeach: 3.0.4
+      lodash._bindcallback: 3.0.1
+      lodash.isarray: 3.0.4
+    resolution:
+      integrity: sha1-b9fvt5aRrs1n/erCdhyY5wHWw5o=
+  /lodash.get/4.4.2:
+    dev: false
+    resolution:
+      integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
+  /lodash.has/4.5.2:
+    dev: false
+    resolution:
+      integrity: sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=
+  /lodash.isarguments/3.1.0:
+    resolution:
+      integrity: sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=
+  /lodash.isarray/3.0.4:
+    resolution:
+      integrity: sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=
+  /lodash.isequal/3.0.4:
+    dependencies:
+      lodash._baseisequal: 3.0.7
+      lodash._bindcallback: 3.0.1
+    resolution:
+      integrity: sha1-HDXrO27wzR/1F0Pj6jz3/f/ay2Q=
+  /lodash.isequal/4.5.0:
+    resolution:
+      integrity: sha1-QVxEePK8wwEgwizhDtMib30+GOA=
+  /lodash.istypedarray/3.0.6:
+    resolution:
+      integrity: sha1-yaR3SYYHUB2OhJTSg7h8OSgc72I=
+  /lodash.keys/3.1.2:
+    dependencies:
+      lodash._getnative: 3.9.1
+      lodash.isarguments: 3.1.0
+      lodash.isarray: 3.0.4
+    resolution:
+      integrity: sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=
+  /lodash.memoize/4.1.2:
+    resolution:
+      integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
+  /lodash.sortby/4.7.0:
+    resolution:
+      integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
+  /lodash.uniq/4.5.0:
+    resolution:
+      integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
+  /lodash/4.17.20:
+    resolution:
+      integrity: sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
+  /log-symbols/2.2.0:
+    dependencies:
+      chalk: 2.4.2
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==
+  /log-update/2.3.0:
+    dependencies:
+      ansi-escapes: 3.2.0
+      cli-cursor: 2.1.0
+      wrap-ansi: 3.0.1
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-iDKP19HOeTiykoN0bwsbwSayRwg=
+  /loglevel/1.7.1:
+    engines:
+      node: '>= 0.6.0'
+    resolution:
+      integrity: sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==
+  /loglevelnext/1.0.5:
+    dependencies:
+      es6-symbol: 3.1.3
+      object.assign: 4.1.2
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==
+  /longest-streak/2.0.4:
+    dev: false
+    resolution:
+      integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==
+  /loose-envify/1.4.0:
+    dependencies:
+      js-tokens: 4.0.0
+    hasBin: true
+    resolution:
+      integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
+  /lower-case/1.1.4:
+    resolution:
+      integrity: sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
+  /lower-case/2.0.2:
+    dependencies:
+      tslib: 2.1.0
+    dev: false
+    resolution:
+      integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==
+  /lowercase-keys/1.0.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
+  /lowercase-keys/2.0.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
+  /lowlight/1.18.0:
+    dependencies:
+      fault: 1.0.4
+      highlight.js: 10.5.0
+    dev: false
+    resolution:
+      integrity: sha512-Zlc3GqclU71HRw5fTOy00zz5EOlqAdKMYhOFIO8ay4SQEDQgFuhR8JNwDIzAGMLoqTsWxe0elUNmq5o2USRAzw==
+  /lru-cache/4.1.5:
+    dependencies:
+      pseudomap: 1.0.2
+      yallist: 2.1.2
+    resolution:
+      integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
+  /lru-cache/5.1.1:
+    dependencies:
+      yallist: 3.1.1
+    resolution:
+      integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+  /lru-cache/6.0.0:
+    dependencies:
+      yallist: 4.0.0
+    engines:
+      node: '>=10'
+    resolution:
+      integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+  /make-dir/1.3.0:
+    dependencies:
+      pify: 3.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==
+  /make-dir/2.1.0:
+    dependencies:
+      pify: 4.0.1
+      semver: 5.7.1
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
+  /make-dir/3.1.0:
+    dependencies:
+      semver: 6.3.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
+  /make-error/1.3.6:
+    resolution:
+      integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
+  /makeerror/1.0.11:
+    dependencies:
+      tmpl: 1.0.4
+    resolution:
+      integrity: sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=
+  /map-cache/0.2.2:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
+  /map-visit/1.0.0:
+    dependencies:
+      object-visit: 1.0.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
+  /markdown-escapes/1.0.4:
+    dev: false
+    resolution:
+      integrity: sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==
+  /markdown-table/2.0.0:
+    dependencies:
+      repeat-string: 1.6.1
+    dev: false
+    resolution:
+      integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==
+  /md5.js/1.3.5:
+    dependencies:
+      hash-base: 3.1.0
+      inherits: 2.0.4
+      safe-buffer: 5.2.1
+    resolution:
+      integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
+  /mdast-squeeze-paragraphs/4.0.0:
+    dependencies:
+      unist-util-remove: 2.0.1
+    dev: false
+    resolution:
+      integrity: sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==
+  /mdast-util-definitions/4.0.0:
+    dependencies:
+      unist-util-visit: 2.0.3
+    dev: false
+    resolution:
+      integrity: sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==
+  /mdast-util-from-markdown/0.8.1:
+    dependencies:
+      '@types/mdast': 3.0.3
+      mdast-util-to-string: 1.1.0
+      micromark: 2.10.1
+      parse-entities: 2.0.0
+    dev: false
+    resolution:
+      integrity: sha512-qJXNcFcuCSPqUF0Tb0uYcFDIq67qwB3sxo9RPdf9vG8T90ViKnksFqdB/Coq2a7sTnxL/Ify2y7aIQXDkQFH0w==
+  /mdast-util-gfm-autolink-literal/0.1.1:
+    dev: false
+    resolution:
+      integrity: sha512-gJ2xSpqKCetSr22GEWpZH3f5ffb4pPn/72m4piY0v7T/S+O7n7rw+sfoPLhb2b4O7WdnERoYdALRcmD68FMtlw==
+  /mdast-util-gfm-strikethrough/0.2.2:
+    dependencies:
+      mdast-util-to-markdown: 0.5.3
+    dev: false
+    resolution:
+      integrity: sha512-T37ZbaokJcRbHROXmoVAieWnesPD5N21tv2ifYzaGRLbkh1gknItUGhZzHefUn5Zc/eaO/iTDSAFOBrn/E8kWw==
+  /mdast-util-gfm-table/0.1.4:
+    dependencies:
+      markdown-table: 2.0.0
+      mdast-util-to-markdown: 0.5.3
+    dev: false
+    resolution:
+      integrity: sha512-T4xFSON9kUb/IpYA5N+KGWcsdGczAvILvKiXQwUGind6V9fvjPCR9yhZnIeaLdBWXaz3m/Gq77ZtuLMjtFR4IQ==
+  /mdast-util-gfm-task-list-item/0.1.5:
+    dependencies:
+      mdast-util-to-markdown: 0.5.3
+    dev: false
+    resolution:
+      integrity: sha512-6O0bt34r+e7kYjeSwedhjDPYraspKIYKbhvhQEEioL7gSmXDxhN7WQW2KoxhVMpNzjNc03yC7K5KH6NHlz2jOA==
+  /mdast-util-gfm/0.1.0:
+    dependencies:
+      mdast-util-gfm-autolink-literal: 0.1.1
+      mdast-util-gfm-strikethrough: 0.2.2
+      mdast-util-gfm-table: 0.1.4
+      mdast-util-gfm-task-list-item: 0.1.5
+    dev: false
+    resolution:
+      integrity: sha512-HLfygQL6HdhJhFbLta4Ki9hClrzyAxRjyRvpm5caN65QZL+NyHPmqFlnF9vm1Rn58JT2+AbLwNcEDY4MEvkk8Q==
+  /mdast-util-to-hast/10.0.0:
+    dependencies:
+      '@types/mdast': 3.0.3
+      '@types/unist': 2.0.3
+      mdast-util-definitions: 4.0.0
+      mdurl: 1.0.1
+      unist-builder: 2.0.3
+      unist-util-generated: 1.1.6
+      unist-util-position: 3.1.0
+      unist-util-visit: 2.0.3
+    dev: false
+    resolution:
+      integrity: sha512-dRyAC5S4eDcIOdkz4jg0wXbUdlf+5YFu7KppJNHOsMaD7ql5bKIqVcvXYYkcrKjzUkfX8JsKFVMthsU8OWxQ+w==
+  /mdast-util-to-hast/10.0.1:
+    dependencies:
+      '@types/mdast': 3.0.3
+      '@types/unist': 2.0.3
+      mdast-util-definitions: 4.0.0
+      mdurl: 1.0.1
+      unist-builder: 2.0.3
+      unist-util-generated: 1.1.6
+      unist-util-position: 3.1.0
+      unist-util-visit: 2.0.3
+    dev: false
+    resolution:
+      integrity: sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==
+  /mdast-util-to-markdown/0.5.3:
+    dependencies:
+      '@types/unist': 2.0.3
+      longest-streak: 2.0.4
+      mdast-util-to-string: 1.1.0
+      parse-entities: 2.0.0
+      repeat-string: 1.6.1
+      zwitch: 1.0.5
+    dev: false
+    resolution:
+      integrity: sha512-sr8q7fQJ1xoCqZSXW6dO/MYu2Md+a4Hfk9uO+XHCfiBhVM0EgWtfAV7BuN+ff6otUeu2xDyt1o7vhZGwOG3+BA==
+  /mdast-util-to-string/1.1.0:
+    dev: false
+    resolution:
+      integrity: sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==
+  /mdn-data/2.0.14:
+    resolution:
+      integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
+  /mdn-data/2.0.4:
+    resolution:
+      integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==
+  /mdurl/1.0.1:
+    dev: false
+    resolution:
+      integrity: sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=
+  /media-typer/0.3.0:
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
+  /mem-fs-editor/4.0.3:
+    dependencies:
+      commondir: 1.0.1
+      deep-extend: 0.6.0
+      ejs: 2.7.4
+      glob: 7.1.6
+      globby: 7.1.1
+      isbinaryfile: 3.0.3
+      mkdirp: 0.5.5
+      multimatch: 2.1.0
+      rimraf: 2.7.1
+      through2: 2.0.5
+      vinyl: 2.2.1
+    resolution:
+      integrity: sha512-tgWmwI/+6vwu6POan82dTjxEpwAoaj0NAFnghtVo/FcLK2/7IhPUtFUUYlwou4MOY6OtjTUJtwpfH1h+eSUziw==
+  /mem-fs-editor/6.0.0:
+    dependencies:
+      commondir: 1.0.1
+      deep-extend: 0.6.0
+      ejs: 2.7.4
+      glob: 7.1.6
+      globby: 9.2.0
+      isbinaryfile: 4.0.6
+      mkdirp: 0.5.5
+      multimatch: 4.0.0
+      rimraf: 2.7.1
+      through2: 3.0.2
+      vinyl: 2.2.1
+    resolution:
+      integrity: sha512-e0WfJAMm8Gv1mP5fEq/Blzy6Lt1VbLg7gNnZmZak7nhrBTibs+c6nQ4SKs/ZyJYHS1mFgDJeopsLAv7Ow0FMFg==
+  /mem-fs-editor/7.1.0:
+    dependencies:
+      commondir: 1.0.1
+      deep-extend: 0.6.0
+      ejs: 3.1.5
+      glob: 7.1.6
+      globby: 9.2.0
+      isbinaryfile: 4.0.6
+      mkdirp: 1.0.4
+      multimatch: 4.0.0
+      rimraf: 3.0.2
+      through2: 3.0.2
+      vinyl: 2.2.1
+    engines:
+      node: '>=10.0.0'
+    resolution:
+      integrity: sha512-BH6QEqCXSqGeX48V7zu+e3cMwHU7x640NB8Zk8VNvVZniz+p4FK60pMx/3yfkzo6miI6G3a8pH6z7FeuIzqrzA==
+  /mem-fs/1.2.0:
+    dependencies:
+      through2: 3.0.2
+      vinyl: 2.2.1
+      vinyl-file: 3.0.0
+    resolution:
+      integrity: sha512-b8g0jWKdl8pM0LqAPdK9i8ERL7nYrzmJfRhxMiWH2uYdfYnb7uXnmwVb0ZGe7xyEl4lj+nLIU3yf4zPUT+XsVQ==
+  /memoize-one/5.1.1:
+    dev: false
+    resolution:
+      integrity: sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==
+  /memory-fs/0.4.1:
+    dependencies:
+      errno: 0.1.7
+      readable-stream: 2.3.7
+    resolution:
+      integrity: sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
+  /memory-fs/0.5.0:
+    dependencies:
+      errno: 0.1.7
+      readable-stream: 2.3.7
+    engines:
+      node: '>=4.3.0 <5.0.0 || >=5.10'
+    resolution:
+      integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==
+  /merge-anything/2.4.4:
+    dependencies:
+      is-what: 3.12.0
+    dev: false
+    resolution:
+      integrity: sha512-l5XlriUDJKQT12bH+rVhAHjwIuXWdAIecGwsYjv2LJo+dA1AeRTmeQS+3QBpO6lEthBMDi2IUMpLC1yyRvGlwQ==
+  /merge-deep/3.0.2:
+    dependencies:
+      arr-union: 3.1.0
+      clone-deep: 0.2.4
+      kind-of: 3.2.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==
+  /merge-descriptors/1.0.1:
+    resolution:
+      integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
+  /merge-stream/2.0.0:
+    resolution:
+      integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+  /merge2/1.4.1:
+    engines:
+      node: '>= 8'
+    resolution:
+      integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+  /methods/1.1.2:
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
+  /microevent.ts/0.1.1:
+    resolution:
+      integrity: sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==
+  /micromark-extension-gfm-autolink-literal/0.5.1:
+    dependencies:
+      micromark: 2.10.1
+    dev: false
+    resolution:
+      integrity: sha512-j30923tDp0faCNDjwqe4cMi+slegbGfc3VEAExEU8d54Q/F6pR6YxCVH+6xV0ItRoj3lCn1XkUWcy6FC3S9BOw==
+  /micromark-extension-gfm-strikethrough/0.6.2:
+    dependencies:
+      micromark: 2.10.1
+    dev: false
+    resolution:
+      integrity: sha512-aehEEqtTn3JekJNwZZxa7ZJVfzmuaWp4ew6x6sl3VAKIwdDZdqYeYSQIrNKwNgH7hX0g56fAwnSDLusJggjlCQ==
+  /micromark-extension-gfm-table/0.4.1:
+    dependencies:
+      micromark: 2.10.1
+    dev: false
+    resolution:
+      integrity: sha512-xVpqOnfFaa2OtC/Y7rlt4tdVFlUHdoLH3RXAZgb/KP3DDyKsAOx6BRS3UxiiyvmD/p2l6VUpD4bMIniuP4o4JA==
+  /micromark-extension-gfm-tagfilter/0.3.0:
+    dev: false
+    resolution:
+      integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==
+  /micromark-extension-gfm-task-list-item/0.3.2:
+    dependencies:
+      micromark: 2.10.1
+    dev: false
+    resolution:
+      integrity: sha512-cm8lYS10YAqeXE9B27TK3u1Ihumo3H9p/3XumT+jp8vSuSbSpFIJe0bDi2kq4YAAIxtcTzUOxhEH4ko2/NYDkQ==
+  /micromark-extension-gfm/0.3.1:
+    dependencies:
+      micromark: 2.10.1
+      micromark-extension-gfm-autolink-literal: 0.5.1
+      micromark-extension-gfm-strikethrough: 0.6.2
+      micromark-extension-gfm-table: 0.4.1
+      micromark-extension-gfm-tagfilter: 0.3.0
+      micromark-extension-gfm-task-list-item: 0.3.2
+    dev: false
+    resolution:
+      integrity: sha512-lJlhcOqzoJdjQg+LMumVHdUQ61LjtqGdmZtrAdfvatRUnJTqZlRwXXHdLQgNDYlFw4mycZ4NSTKlya5QcQXl1A==
+  /micromark/2.10.1:
+    dependencies:
+      debug: 4.2.0
+      parse-entities: 2.0.0
+    dev: false
+    resolution:
+      integrity: sha512-fUuVF8sC1X7wsCS29SYQ2ZfIZYbTymp0EYr6sab3idFjigFFjGa5UwoniPlV9tAgntjuapW1t9U+S0yDYeGKHQ==
+  /micromatch/3.1.10:
+    dependencies:
+      arr-diff: 4.0.0
+      array-unique: 0.3.2
+      braces: 2.3.2
+      define-property: 2.0.2
+      extend-shallow: 3.0.2
+      extglob: 2.0.4
+      fragment-cache: 0.2.1
+      kind-of: 6.0.3
+      nanomatch: 1.2.13
+      object.pick: 1.3.0
+      regex-not: 1.0.2
+      snapdragon: 0.8.2
+      to-regex: 3.0.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
+  /micromatch/4.0.2:
+    dependencies:
+      braces: 3.0.2
+      picomatch: 2.2.2
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
+  /miller-rabin/4.0.1:
+    dependencies:
+      bn.js: 4.11.9
+      brorand: 1.1.0
+    hasBin: true
+    resolution:
+      integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
+  /mime-db/1.44.0:
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
+  /mime-db/1.45.0:
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
+  /mime-types/2.1.27:
+    dependencies:
+      mime-db: 1.44.0
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
+  /mime/1.6.0:
+    engines:
+      node: '>=4'
+    hasBin: true
+    resolution:
+      integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+  /mime/2.4.6:
+    engines:
+      node: '>=4.0.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==
+  /mime/2.5.0:
+    engines:
+      node: '>=4.0.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==
+  /mimic-fn/1.2.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
+  /mimic-fn/2.1.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+  /mimic-response/1.0.1:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
+  /mimic-response/2.1.0:
+    dev: false
+    engines:
+      node: '>=8'
+    optional: true
+    resolution:
+      integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
+  /mimic-response/3.1.0:
+    dev: false
+    engines:
+      node: '>=10'
+    optional: true
+    resolution:
+      integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
+  /min-document/2.19.0:
+    dependencies:
+      dom-walk: 0.1.2
+    resolution:
+      integrity: sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=
+  /mini-css-extract-plugin/0.8.2:
+    dependencies:
+      loader-utils: 1.4.0
+      normalize-url: 1.9.1
+      schema-utils: 1.0.0
+      webpack-sources: 1.4.3
+    engines:
+      node: '>= 6.9.0'
+    peerDependencies:
+      webpack: ^4.4.0
+    resolution:
+      integrity: sha512-a3Y4of27Wz+mqK3qrcd3VhYz6cU0iW5x3Sgvqzbj+XmlrSizmvu8QQMl5oMYJjgHOC4iyt+w7l4umP+dQeW3bw==
+  /mini-css-extract-plugin/1.3.5_webpack@4.44.2:
+    dependencies:
+      loader-utils: 2.0.0
+      schema-utils: 3.0.0
+      webpack: 4.44.2_webpack-cli@4.4.0
+      webpack-sources: 1.4.3
+    dev: true
+    engines:
+      node: '>= 10.13.0'
+    peerDependencies:
+      webpack: ^4.4.0 || ^5.0.0
+    resolution:
+      integrity: sha512-tvmzcwqJJXau4OQE5vT72pRT18o2zF+tQJp8CWchqvfQnTlflkzS+dANYcRdyPRWUWRkfmeNTKltx0NZI/b5dQ==
+  /minimalistic-assert/1.0.1:
+    resolution:
+      integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
+  /minimalistic-crypto-utils/1.0.1:
+    resolution:
+      integrity: sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
+  /minimatch/3.0.4:
+    dependencies:
+      brace-expansion: 1.1.11
+    resolution:
+      integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
+  /minimist/1.2.5:
+    resolution:
+      integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+  /mississippi/3.0.0:
+    dependencies:
+      concat-stream: 1.6.2
+      duplexify: 3.7.1
+      end-of-stream: 1.4.4
+      flush-write-stream: 1.1.1
+      from2: 2.3.0
+      parallel-transform: 1.2.0
+      pump: 3.0.0
+      pumpify: 1.5.1
+      stream-each: 1.2.3
+      through2: 2.0.5
+    engines:
+      node: '>=4.0.0'
+    resolution:
+      integrity: sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==
+  /mixin-deep/1.3.2:
+    dependencies:
+      for-in: 1.0.2
+      is-extendable: 1.0.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
+  /mixin-object/2.0.1:
+    dependencies:
+      for-in: 0.1.8
+      is-extendable: 0.1.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=
+  /mkdirp-classic/0.5.3:
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
+  /mkdirp/0.5.5:
+    dependencies:
+      minimist: 1.2.5
+    hasBin: true
+    resolution:
+      integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
+  /mkdirp/1.0.4:
+    engines:
+      node: '>=10'
+    hasBin: true
+    resolution:
+      integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+  /moment/2.29.1:
+    resolution:
+      integrity: sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
+  /moo/0.5.1:
+    resolution:
+      integrity: sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==
+  /move-concurrently/1.0.1:
+    dependencies:
+      aproba: 1.2.0
+      copy-concurrently: 1.0.5
+      fs-write-stream-atomic: 1.0.10
+      mkdirp: 0.5.5
+      rimraf: 2.7.1
+      run-queue: 1.0.3
+    resolution:
+      integrity: sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=
+  /ms/2.0.0:
+    resolution:
+      integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+  /ms/2.1.1:
+    resolution:
+      integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
+  /ms/2.1.2:
+    resolution:
+      integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+  /ms/2.1.3:
+    resolution:
+      integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+  /multicast-dns-service-types/1.1.0:
+    resolution:
+      integrity: sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=
+  /multicast-dns/6.2.3:
+    dependencies:
+      dns-packet: 1.3.1
+      thunky: 1.1.0
+    hasBin: true
+    resolution:
+      integrity: sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==
+  /multimatch/2.1.0:
+    dependencies:
+      array-differ: 1.0.0
+      array-union: 1.0.2
+      arrify: 1.0.1
+      minimatch: 3.0.4
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=
+  /multimatch/4.0.0:
+    dependencies:
+      '@types/minimatch': 3.0.3
+      array-differ: 3.0.0
+      array-union: 2.1.0
+      arrify: 2.0.1
+      minimatch: 3.0.4
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==
+  /mustache/4.0.1:
+    engines:
+      npm: '>=1.4.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-yL5VE97+OXn4+Er3THSmTdCFCtx5hHWzrolvH+JObZnUYwuaG7XV+Ch4fR2cIrcYI0tFHxS7iyFYl14bW8y2sA==
+  /mute-stream/0.0.7:
+    resolution:
+      integrity: sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
+  /mute-stream/0.0.8:
+    resolution:
+      integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
+  /mz-modules/2.1.0:
+    dependencies:
+      glob: 7.1.6
+      ko-sleep: 1.0.3
+      mkdirp: 0.5.5
+      pump: 3.0.0
+      rimraf: 2.7.1
+    dev: false
+    engines:
+      node: '>=6.0.0'
+    resolution:
+      integrity: sha512-sjk8lcRW3vrVYnZ+W+67L/2rL+jbO5K/N6PFGIcLWTiYytNr22Ah9FDXFs+AQntTM1boZcoHi5qS+CV1seuPog==
+  /mz/2.7.0:
+    dependencies:
+      any-promise: 1.3.0
+      object-assign: 4.1.1
+      thenify-all: 1.6.0
+    dev: false
+    resolution:
+      integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==
+  /nan/2.14.2:
+    optional: true
+    resolution:
+      integrity: sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==
+  /nanoid/3.1.20:
+    engines:
+      node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1
+    hasBin: true
+    resolution:
+      integrity: sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==
+  /nanomatch/1.2.13:
+    dependencies:
+      arr-diff: 4.0.0
+      array-unique: 0.3.2
+      define-property: 2.0.2
+      extend-shallow: 3.0.2
+      fragment-cache: 0.2.1
+      is-windows: 1.0.2
+      kind-of: 6.0.3
+      object.pick: 1.3.0
+      regex-not: 1.0.2
+      snapdragon: 0.8.2
+      to-regex: 3.0.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
+  /napi-build-utils/1.0.2:
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==
+  /native-request/1.0.8:
+    optional: true
+    resolution:
+      integrity: sha512-vU2JojJVelUGp6jRcLwToPoWGxSx23z/0iX+I77J3Ht17rf2INGjrhOoQnjVo60nQd8wVsgzKkPfRXBiVdD2ag==
+  /native-url/0.3.4:
+    dependencies:
+      querystring: 0.2.0
+    dev: false
+    resolution:
+      integrity: sha512-6iM8R99ze45ivyH8vybJ7X0yekIcPf5GgLV5K0ENCbmRcaRIDoj37BC8iLEmaaBfqqb8enuZ5p0uhY+lVAbAcA==
+  /natural-compare/1.4.0:
+    resolution:
+      integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
+  /nearley/2.20.1:
+    dependencies:
+      commander: 2.20.3
+      moo: 0.5.1
+      railroad-diagrams: 1.0.0
+      randexp: 0.4.6
+    hasBin: true
+    resolution:
+      integrity: sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==
+  /negotiator/0.6.2:
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
+  /neo-async/2.6.2:
+    resolution:
+      integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
+  /netmask/1.0.6:
+    dev: false
+    engines:
+      node: '>= 0.4.0'
+    resolution:
+      integrity: sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=
+  /next-tick/1.0.0:
+    resolution:
+      integrity: sha1-yobR/ogoFpsBICCOPchCS524NCw=
+  /next/10.0.5_c39e9db791ea05e3ec4e0e74abb7a6b5:
+    dependencies:
+      '@ampproject/toolbox-optimizer': 2.7.1-alpha.0
+      '@babel/runtime': 7.12.5
+      '@hapi/accept': 5.0.1
+      '@next/env': 10.0.5
+      '@next/polyfill-module': 10.0.5
+      '@next/react-dev-overlay': 10.0.5_9bc0526c8b535b2dad29bb0e3840dff1
+      '@next/react-refresh-utils': 10.0.5_66609d456e1c4fc52398fef065f8d988
+      '@opentelemetry/api': 0.14.0
+      ast-types: 0.13.2
+      babel-plugin-transform-define: 2.0.0
+      babel-plugin-transform-react-remove-prop-types: 0.4.24
+      browserslist: 4.14.6
+      buffer: 5.6.0
+      caniuse-lite: 1.0.30001181
+      chalk: 2.4.2
+      chokidar: 3.4.3
+      crypto-browserify: 3.12.0
+      css-loader: 4.3.0_webpack@4.44.1
+      cssnano-simple: 1.2.1
+      etag: 1.8.1
+      find-cache-dir: 3.3.1
+      jest-worker: 24.9.0
+      loader-utils: 2.0.0
+      native-url: 0.3.4
+      node-fetch: 2.6.1
+      node-html-parser: 1.4.9
+      p-limit: 3.1.0
+      path-browserify: 1.0.1
+      pnp-webpack-plugin: 1.6.4_typescript@4.1.3
+      postcss: 8.1.7
+      process: 0.11.10
+      prop-types: 15.7.2
+      raw-body: 2.4.1
+      react: 17.0.1
+      react-dom: 17.0.1_react@17.0.1
+      react-is: 16.13.1
+      react-refresh: 0.8.3
+      resolve-url-loader: 3.1.2
+      sass-loader: 10.0.5_webpack@4.44.1
+      schema-utils: 2.7.1
+      stream-browserify: 3.0.0
+      style-loader: 1.2.1_webpack@4.44.1
+      styled-jsx: 3.3.2_react@17.0.1
+      use-subscription: 1.5.1_react@17.0.1
+      vm-browserify: 1.1.2
+      watchpack: 2.0.0-beta.13
+      webpack: 4.44.1
+      webpack-sources: 1.4.3
+    dev: false
+    engines:
+      node: '>=10.13.0'
+    hasBin: true
+    optionalDependencies:
+      sharp: 0.26.3
+    peerDependencies:
+      fibers: '>= 3.1.0'
+      node-sass: ^4.0.0
+      react: ^16.6.0 || ^17
+      react-dom: ^16.6.0 || ^17
+      sass: ^1.3.0
+      typescript: '*'
+    peerDependenciesMeta:
+      fibers:
+        optional: true
+      node-sass:
+        optional: true
+      sass:
+        optional: true
+    resolution:
+      integrity: sha512-yr7ap2TLugf0aMHz+3JoKFP9CCkFE+k6jCfdUymORhptjLYZbD3YGlTcUC1CRl+b5Phlbl7m/WUIPde0VcguiA==
+  /nice-try/1.0.5:
+    resolution:
+      integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
+  /no-case/2.3.2:
+    dependencies:
+      lower-case: 1.1.4
+    resolution:
+      integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==
+  /no-case/3.0.4:
+    dependencies:
+      lower-case: 2.0.2
+      tslib: 2.1.0
+    dev: false
+    resolution:
+      integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==
+  /node-abi/2.19.3:
+    dependencies:
+      semver: 5.7.1
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==
+  /node-addon-api/3.1.0:
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==
+  /node-fetch/2.6.1:
+    dev: false
+    engines:
+      node: 4.x || >=6.0.0
+    resolution:
+      integrity: sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
+  /node-forge/0.10.0:
+    engines:
+      node: '>= 6.0.0'
+    resolution:
+      integrity: sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==
+  /node-html-parser/1.4.9:
+    dependencies:
+      he: 1.2.0
+    dev: false
+    resolution:
+      integrity: sha512-UVcirFD1Bn0O+TSmloHeHqZZCxHjvtIeGdVdGMhyZ8/PWlEiZaZ5iJzR189yKZr8p0FXN58BUeC7RHRkf/KYGw==
+  /node-int64/0.4.0:
+    resolution:
+      integrity: sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=
+  /node-libs-browser/2.2.1:
+    dependencies:
+      assert: 1.5.0
+      browserify-zlib: 0.2.0
+      buffer: 4.9.2
+      console-browserify: 1.2.0
+      constants-browserify: 1.0.0
+      crypto-browserify: 3.12.0
+      domain-browser: 1.2.0
+      events: 3.2.0
+      https-browserify: 1.0.0
+      os-browserify: 0.3.0
+      path-browserify: 0.0.1
+      process: 0.11.10
+      punycode: 1.4.1
+      querystring-es3: 0.2.1
+      readable-stream: 2.3.7
+      stream-browserify: 2.0.2
+      stream-http: 2.8.3
+      string_decoder: 1.3.0
+      timers-browserify: 2.0.12
+      tty-browserify: 0.0.0
+      url: 0.11.0
+      util: 0.11.1
+      vm-browserify: 1.1.2
+    resolution:
+      integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
+  /node-modules-regexp/1.0.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=
+  /node-notifier/5.4.3:
+    dependencies:
+      growly: 1.3.0
+      is-wsl: 1.1.0
+      semver: 5.7.1
+      shellwords: 0.1.1
+      which: 1.3.1
+    resolution:
+      integrity: sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==
+  /node-releases/1.1.66:
+    resolution:
+      integrity: sha512-JHEQ1iWPGK+38VLB2H9ef2otU4l8s3yAMt9Xf934r6+ojCYDMHPMqvCc9TnzfeFSP1QEOeU6YZEd3+De0LTCgg==
+  /node-releases/1.1.70:
+    resolution:
+      integrity: sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==
+  /noop-logger/0.1.1:
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=
+  /normalize-html-whitespace/1.0.0:
+    dev: false
+    engines:
+      node: '>= 8'
+    resolution:
+      integrity: sha512-9ui7CGtOOlehQu0t/OhhlmDyc71mKVlv+4vF+me4iZLPrNtRL2xoquEdfZxasC/bdQi/Hr3iTrpyRKIG+ocabA==
+  /normalize-package-data/2.5.0:
+    dependencies:
+      hosted-git-info: 2.8.8
+      resolve: 1.19.0
+      semver: 5.7.1
+      validate-npm-package-license: 3.0.4
+    resolution:
+      integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
+  /normalize-path/2.1.1:
+    dependencies:
+      remove-trailing-separator: 1.1.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
+  /normalize-path/3.0.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+  /normalize-range/0.1.2:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
+  /normalize-url/1.9.1:
+    dependencies:
+      object-assign: 4.1.1
+      prepend-http: 1.0.4
+      query-string: 4.3.4
+      sort-keys: 1.1.2
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=
+  /normalize-url/3.3.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
+  /normalize-url/4.5.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==
+  /npm-api/1.0.0:
+    dependencies:
+      JSONStream: 1.3.5
+      clone-deep: 4.0.1
+      download-stats: 0.3.4
+      moment: 2.29.1
+      paged-request: 2.0.1
+      request: 2.88.2
+    engines:
+      node: '>=10.0'
+    resolution:
+      integrity: sha512-gtJhIhGq07g9H5sIAB9TZzTySW8MYtcYqg+e+J+5q1GmDsDLLVfyvVBL1VklzjtRsElph11GUtLBS191RDOJxQ==
+  /npm-run-path/2.0.2:
+    dependencies:
+      path-key: 2.0.1
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
+  /npm-run-path/3.1.0:
+    dependencies:
+      path-key: 3.1.1
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==
+  /npm-run-path/4.0.1:
+    dependencies:
+      path-key: 3.1.1
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+  /npmlog/4.1.2:
+    dependencies:
+      are-we-there-yet: 1.1.5
+      console-control-strings: 1.1.0
+      gauge: 2.7.4
+      set-blocking: 2.0.0
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
+  /nth-check/1.0.2:
+    dependencies:
+      boolbase: 1.0.0
+    resolution:
+      integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==
+  /nth-check/2.0.0:
+    dependencies:
+      boolbase: 1.0.0
+    resolution:
+      integrity: sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==
+  /num2fraction/1.2.2:
+    resolution:
+      integrity: sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=
+  /number-is-nan/1.0.1:
+    dev: false
+    engines:
+      node: '>=0.10.0'
+    optional: true
+    resolution:
+      integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
+  /nwsapi/2.2.0:
+    resolution:
+      integrity: sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==
+  /oauth-sign/0.9.0:
+    resolution:
+      integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
+  /object-assign/4.1.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
+  /object-copy/0.1.0:
+    dependencies:
+      copy-descriptor: 0.1.1
+      define-property: 0.2.5
+      kind-of: 3.2.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
+  /object-inspect/1.9.0:
+    resolution:
+      integrity: sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==
+  /object-is/1.1.4:
+    dependencies:
+      call-bind: 1.0.0
+      define-properties: 1.1.3
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==
+  /object-keys/1.1.1:
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+  /object-visit/1.0.1:
+    dependencies:
+      isobject: 3.0.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
+  /object.assign/4.1.2:
+    dependencies:
+      call-bind: 1.0.0
+      define-properties: 1.1.3
+      has-symbols: 1.0.1
+      object-keys: 1.1.1
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
+  /object.entries/1.1.3:
+    dependencies:
+      call-bind: 1.0.2
+      define-properties: 1.1.3
+      es-abstract: 1.18.0-next.2
+      has: 1.0.3
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==
+  /object.fromentries/2.0.3:
+    dependencies:
+      call-bind: 1.0.2
+      define-properties: 1.1.3
+      es-abstract: 1.18.0-next.2
+      has: 1.0.3
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw==
+  /object.getownpropertydescriptors/2.1.1:
+    dependencies:
+      call-bind: 1.0.0
+      define-properties: 1.1.3
+      es-abstract: 1.18.0-next.1
+    engines:
+      node: '>= 0.8'
+    resolution:
+      integrity: sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==
+  /object.pick/1.3.0:
+    dependencies:
+      isobject: 3.0.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
+  /object.values/1.1.2:
+    dependencies:
+      call-bind: 1.0.0
+      define-properties: 1.1.3
+      es-abstract: 1.18.0-next.1
+      has: 1.0.3
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==
+  /obuf/1.1.2:
+    resolution:
+      integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==
+  /on-finished/2.3.0:
+    dependencies:
+      ee-first: 1.1.1
+    engines:
+      node: '>= 0.8'
+    resolution:
+      integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
+  /on-headers/1.0.2:
+    engines:
+      node: '>= 0.8'
+    resolution:
+      integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
+  /once/1.4.0:
+    dependencies:
+      wrappy: 1.0.2
+    resolution:
+      integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+  /onetime/2.0.1:
+    dependencies:
+      mimic-fn: 1.2.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
+  /onetime/5.1.2:
+    dependencies:
+      mimic-fn: 2.1.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
+  /open-browser-webpack-plugin/0.0.5:
+    dependencies:
+      open: 0.0.5
+    resolution:
+      integrity: sha1-Xm3G+Lh5czHiEphd4hhXLYTAUh8=
+  /open/0.0.5:
+    engines:
+      node: '>= 0.6.0'
+    resolution:
+      integrity: sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=
+  /open/6.4.0:
+    dependencies:
+      is-wsl: 1.1.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==
+  /open/7.3.1:
+    dependencies:
+      is-docker: 2.1.1
+      is-wsl: 2.2.0
+    dev: false
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-f2wt9DCBKKjlFbjzGb8MOAW8LH8F0mrs1zc7KTjAJ9PZNQbfenzWbNP1VZJvw6ICMG9r14Ah6yfwPn7T7i646A==
+  /opener/1.5.2:
+    hasBin: true
+    resolution:
+      integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==
+  /opn/5.5.0:
+    dependencies:
+      is-wsl: 1.1.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==
+  /optimize-css-assets-webpack-plugin/5.0.4:
+    dependencies:
+      cssnano: 4.1.10
+      last-call-webpack-plugin: 3.0.0
+    peerDependencies:
+      webpack: ^4.0.0
+    resolution:
+      integrity: sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==
+  /optionator/0.8.3:
+    dependencies:
+      deep-is: 0.1.3
+      fast-levenshtein: 2.0.6
+      levn: 0.3.0
+      prelude-ls: 1.1.2
+      type-check: 0.3.2
+      word-wrap: 1.2.3
+    engines:
+      node: '>= 0.8.0'
+    resolution:
+      integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
+  /ora/3.4.0:
+    dependencies:
+      chalk: 2.4.2
+      cli-cursor: 2.1.0
+      cli-spinners: 2.5.0
+      log-symbols: 2.2.0
+      strip-ansi: 5.2.0
+      wcwidth: 1.0.1
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==
+  /original/1.0.2:
+    dependencies:
+      url-parse: 1.4.7
+    resolution:
+      integrity: sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==
+  /os-browserify/0.3.0:
+    resolution:
+      integrity: sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
+  /os-homedir/1.0.2:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
+  /os-name/1.0.3:
+    dependencies:
+      osx-release: 1.1.0
+      win-release: 1.1.1
+    dev: false
+    engines:
+      node: '>=0.10.0'
+    hasBin: true
+    resolution:
+      integrity: sha1-GzefZINa98Wn9JizV8uVIVwVnt8=
+  /os-single-spa/4.4.5:
+    dev: false
+    resolution:
+      integrity: sha512-GaGE33AsIQG0qmIzUZdXihbYEzjo6fNBxnYNMYiVXpTVcdAPfc0ey/4K9qhLn/0+xbEToodiCukOFmWBFBdTEA==
+  /os-tmpdir/1.0.2:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
+  /osx-release/1.1.0:
+    dependencies:
+      minimist: 1.2.5
+    dev: false
+    engines:
+      node: '>=0.10.0'
+    hasBin: true
+    resolution:
+      integrity: sha1-8heRGigTaUmvG/kwiyQeJzfTzWw=
+  /output-file-sync/2.0.1:
+    dependencies:
+      graceful-fs: 4.2.4
+      is-plain-obj: 1.1.0
+      mkdirp: 0.5.5
+    resolution:
+      integrity: sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==
+  /p-cancelable/0.3.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==
+  /p-cancelable/1.1.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
+  /p-each-series/1.0.0:
+    dependencies:
+      p-reduce: 1.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=
+  /p-finally/1.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
+  /p-finally/2.0.1:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==
+  /p-limit/1.3.0:
+    dependencies:
+      p-try: 1.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
+  /p-limit/2.3.0:
+    dependencies:
+      p-try: 2.2.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
+  /p-limit/3.1.0:
+    dependencies:
+      yocto-queue: 0.1.0
+    dev: false
+    engines:
+      node: '>=10'
+    resolution:
+      integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+  /p-locate/2.0.0:
+    dependencies:
+      p-limit: 1.3.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
+  /p-locate/3.0.0:
+    dependencies:
+      p-limit: 2.3.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
+  /p-locate/4.1.0:
+    dependencies:
+      p-limit: 2.3.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+  /p-map/2.1.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==
+  /p-reduce/1.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=
+  /p-retry/3.0.1:
+    dependencies:
+      retry: 0.12.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==
+  /p-timeout/1.2.1:
+    dependencies:
+      p-finally: 1.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=
+  /p-try/1.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
+  /p-try/2.2.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+  /pac-proxy-agent/3.0.1:
+    dependencies:
+      agent-base: 4.3.0
+      debug: 4.3.1
+      get-uri: 2.0.4
+      http-proxy-agent: 2.1.0
+      https-proxy-agent: 3.0.1
+      pac-resolver: 3.0.0
+      raw-body: 2.4.1
+      socks-proxy-agent: 4.0.2
+    dev: false
+    resolution:
+      integrity: sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==
+  /pac-resolver/3.0.0:
+    dependencies:
+      co: 4.6.0
+      degenerator: 1.0.4
+      ip: 1.1.5
+      netmask: 1.0.6
+      thunkify: 2.1.2
+    dev: false
+    resolution:
+      integrity: sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==
+  /package-json/6.5.0:
+    dependencies:
+      got: 9.6.0
+      registry-auth-token: 4.2.1
+      registry-url: 5.1.0
+      semver: 6.3.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==
+  /paged-request/2.0.1:
+    dependencies:
+      axios: 0.18.1
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-C0bB/PFk9rQskD1YEiz7uuchzqKDQGgdsEHN1ahify0UUWzgmMK4NDG9fhlQg2waogmNFwEvEeHfMRvJySpdVw==
+  /pako/1.0.11:
+    resolution:
+      integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
+  /parallel-transform/1.2.0:
+    dependencies:
+      cyclist: 1.0.1
+      inherits: 2.0.4
+      readable-stream: 2.3.7
+    resolution:
+      integrity: sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==
+  /param-case/2.1.1:
+    dependencies:
+      no-case: 2.3.2
+    resolution:
+      integrity: sha1-35T9jPZTHs915r75oIWPvHK+Ikc=
+  /parent-module/1.0.1:
+    dependencies:
+      callsites: 3.1.0
+    dev: false
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+  /parse-asn1/5.1.6:
+    dependencies:
+      asn1.js: 5.4.1
+      browserify-aes: 1.2.0
+      evp_bytestokey: 1.0.3
+      pbkdf2: 3.1.1
+      safe-buffer: 5.2.1
+    resolution:
+      integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==
+  /parse-entities/2.0.0:
+    dependencies:
+      character-entities: 1.2.4
+      character-entities-legacy: 1.1.4
+      character-reference-invalid: 1.1.4
+      is-alphanumerical: 1.0.4
+      is-decimal: 1.0.4
+      is-hexadecimal: 1.0.4
+    dev: false
+    resolution:
+      integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==
+  /parse-json/4.0.0:
+    dependencies:
+      error-ex: 1.3.2
+      json-parse-better-errors: 1.0.2
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
+  /parse-json/5.1.0:
+    dependencies:
+      '@babel/code-frame': 7.10.4
+      error-ex: 1.3.2
+      json-parse-even-better-errors: 2.3.1
+      lines-and-columns: 1.1.6
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==
+  /parse5-htmlparser2-tree-adapter/6.0.1:
+    dependencies:
+      parse5: 6.0.1
+    resolution:
+      integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==
+  /parse5/3.0.3:
+    dependencies:
+      '@types/node': 14.14.10
+    resolution:
+      integrity: sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==
+  /parse5/4.0.0:
+    resolution:
+      integrity: sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==
+  /parse5/5.1.0:
+    resolution:
+      integrity: sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==
+  /parse5/6.0.1:
+    resolution:
+      integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
+  /parseurl/1.3.3:
+    engines:
+      node: '>= 0.8'
+    resolution:
+      integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
+  /pascal-case/3.1.2:
+    dependencies:
+      no-case: 3.0.4
+      tslib: 2.1.0
+    dev: false
+    resolution:
+      integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==
+  /pascalcase/0.1.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
+  /path-browserify/0.0.1:
+    resolution:
+      integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
+  /path-browserify/1.0.1:
+    dev: false
+    resolution:
+      integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
+  /path-dirname/1.0.2:
+    resolution:
+      integrity: sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
+  /path-exists/3.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
+  /path-exists/4.0.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+  /path-is-absolute/1.0.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+  /path-is-inside/1.0.2:
+    resolution:
+      integrity: sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
+  /path-key/2.0.1:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
+  /path-key/3.1.1:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+  /path-parse/1.0.6:
+    resolution:
+      integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+  /path-to-regexp/0.1.7:
+    resolution:
+      integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
+  /path-type/3.0.0:
+    dependencies:
+      pify: 3.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
+  /path-type/4.0.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+  /pause-stream/0.0.11:
+    dependencies:
+      through: 2.3.8
+    dev: false
+    resolution:
+      integrity: sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=
+  /pbkdf2/3.1.1:
+    dependencies:
+      create-hash: 1.2.0
+      create-hmac: 1.1.7
+      ripemd160: 2.0.2
+      safe-buffer: 5.2.1
+      sha.js: 2.4.11
+    engines:
+      node: '>=0.12'
+    resolution:
+      integrity: sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==
+  /performance-now/2.1.0:
+    resolution:
+      integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+  /picomatch/2.2.2:
+    engines:
+      node: '>=8.6'
+    resolution:
+      integrity: sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
+  /pify/2.3.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
+  /pify/3.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
+  /pify/4.0.1:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
+  /pinkie-promise/2.0.1:
+    dependencies:
+      pinkie: 2.0.4
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o=
+  /pinkie/2.0.4:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
+  /pirates/4.0.1:
+    dependencies:
+      node-modules-regexp: 1.0.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==
+  /pkg-conf/2.1.0:
+    dependencies:
+      find-up: 2.1.0
+      load-json-file: 4.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=
+  /pkg-dir/3.0.0:
+    dependencies:
+      find-up: 3.0.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
+  /pkg-dir/4.2.0:
+    dependencies:
+      find-up: 4.1.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
+  /pkg-up/2.0.0:
+    dependencies:
+      find-up: 2.1.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-yBmscoBZpGHKscOImivjxJoATX8=
+  /pkg-up/3.1.0:
+    dependencies:
+      find-up: 3.0.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==
+  /platform/1.3.6:
+    dev: false
+    resolution:
+      integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==
+  /pn/1.1.0:
+    resolution:
+      integrity: sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==
+  /pnp-webpack-plugin/1.6.4_typescript@4.1.3:
+    dependencies:
+      ts-pnp: 1.2.0_typescript@4.1.3
+    dev: false
+    engines:
+      node: '>=6'
+    peerDependencies:
+      typescript: '*'
+    resolution:
+      integrity: sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==
+  /portfinder/1.0.28:
+    dependencies:
+      async: 2.6.3
+      debug: 3.2.7
+      mkdirp: 0.5.5
+    engines:
+      node: '>= 0.12.0'
+    resolution:
+      integrity: sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==
+  /posix-character-classes/0.1.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
+  /postcss-calc/7.0.5:
+    dependencies:
+      postcss: 7.0.35
+      postcss-selector-parser: 6.0.4
+      postcss-value-parser: 4.1.0
+    resolution:
+      integrity: sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==
+  /postcss-colormin/4.0.3:
+    dependencies:
+      browserslist: 4.16.1
+      color: 3.1.3
+      has: 1.0.3
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==
+  /postcss-convert-values/4.0.1:
+    dependencies:
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==
+  /postcss-discard-comments/4.0.2:
+    dependencies:
+      postcss: 7.0.35
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==
+  /postcss-discard-duplicates/4.0.2:
+    dependencies:
+      postcss: 7.0.35
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==
+  /postcss-discard-empty/4.0.1:
+    dependencies:
+      postcss: 7.0.35
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==
+  /postcss-discard-overridden/4.0.1:
+    dependencies:
+      postcss: 7.0.35
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==
+  /postcss-less/1.1.5:
+    dependencies:
+      postcss: 5.2.18
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-QQIiIqgEjNnquc0d4b6HDOSFZxbFQoy4MPpli2lSLpKhMyBkKwwca2HFqu4xzxlKID/F2fxSOowwtKpgczhF7A==
+  /postcss-less/3.1.4:
+    dependencies:
+      postcss: 7.0.35
+    engines:
+      node: '>=6.14.4'
+    resolution:
+      integrity: sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==
+  /postcss-load-config/2.1.2:
+    dependencies:
+      cosmiconfig: 5.2.1
+      import-cwd: 2.1.0
+    engines:
+      node: '>= 4'
+    resolution:
+      integrity: sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==
+  /postcss-loader/3.0.0:
+    dependencies:
+      loader-utils: 1.4.0
+      postcss: 7.0.35
+      postcss-load-config: 2.1.2
+      schema-utils: 1.0.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==
+  /postcss-merge-longhand/4.0.11:
+    dependencies:
+      css-color-names: 0.0.4
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+      stylehacks: 4.0.3
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==
+  /postcss-merge-rules/4.0.3:
+    dependencies:
+      browserslist: 4.16.1
+      caniuse-api: 3.0.0
+      cssnano-util-same-parent: 4.0.1
+      postcss: 7.0.35
+      postcss-selector-parser: 3.1.2
+      vendors: 1.0.4
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==
+  /postcss-minify-font-values/4.0.2:
+    dependencies:
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==
+  /postcss-minify-gradients/4.0.2:
+    dependencies:
+      cssnano-util-get-arguments: 4.0.0
+      is-color-stop: 1.1.0
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==
+  /postcss-minify-params/4.0.2:
+    dependencies:
+      alphanum-sort: 1.0.2
+      browserslist: 4.16.1
+      cssnano-util-get-arguments: 4.0.0
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+      uniqs: 2.0.0
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==
+  /postcss-minify-selectors/4.0.2:
+    dependencies:
+      alphanum-sort: 1.0.2
+      has: 1.0.3
+      postcss: 7.0.35
+      postcss-selector-parser: 3.1.2
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==
+  /postcss-modules-extract-imports/1.1.0:
+    dependencies:
+      postcss: 6.0.23
+    resolution:
+      integrity: sha1-thTJcgvmgW6u41+zpfqh26agXds=
+  /postcss-modules-extract-imports/1.2.1:
+    dependencies:
+      postcss: 6.0.23
+    resolution:
+      integrity: sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==
+  /postcss-modules-extract-imports/2.0.0:
+    dependencies:
+      postcss: 7.0.35
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==
+  /postcss-modules-extract-imports/3.0.0_postcss@8.1.7:
+    dependencies:
+      postcss: 8.1.7
+    dev: true
+    engines:
+      node: ^10 || ^12 || >= 14
+    peerDependencies:
+      postcss: ^8.1.0
+    resolution:
+      integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==
+  /postcss-modules-local-by-default/1.2.0:
+    dependencies:
+      css-selector-tokenizer: 0.7.3
+      postcss: 6.0.23
+    resolution:
+      integrity: sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=
+  /postcss-modules-local-by-default/2.0.6:
+    dependencies:
+      postcss: 7.0.35
+      postcss-selector-parser: 6.0.4
+      postcss-value-parser: 3.3.1
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==
+  /postcss-modules-local-by-default/3.0.3:
+    dependencies:
+      icss-utils: 4.1.1
+      postcss: 7.0.35
+      postcss-selector-parser: 6.0.4
+      postcss-value-parser: 4.1.0
+    dev: false
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==
+  /postcss-modules-local-by-default/4.0.0_postcss@8.1.7:
+    dependencies:
+      icss-utils: 5.0.0_postcss@8.1.7
+      postcss: 8.1.7
+      postcss-selector-parser: 6.0.4
+      postcss-value-parser: 4.1.0
+    dev: true
+    engines:
+      node: ^10 || ^12 || >= 14
+    peerDependencies:
+      postcss: ^8.1.0
+    resolution:
+      integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==
+  /postcss-modules-parser/1.1.1:
+    dependencies:
+      icss-replace-symbols: 1.1.0
+      lodash.foreach: 3.0.3
+      postcss: 5.2.18
+    engines:
+      node: '>=0.12'
+    resolution:
+      integrity: sha1-lfca15FvDzkge7gcQBM2yNJFc4w=
+  /postcss-modules-scope/1.1.0:
+    dependencies:
+      css-selector-tokenizer: 0.7.3
+      postcss: 6.0.23
+    resolution:
+      integrity: sha1-1upkmUx5+XtipytCb75gVqGUu5A=
+  /postcss-modules-scope/2.2.0:
+    dependencies:
+      postcss: 7.0.35
+      postcss-selector-parser: 6.0.4
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==
+  /postcss-modules-scope/3.0.0_postcss@8.1.7:
+    dependencies:
+      postcss: 8.1.7
+      postcss-selector-parser: 6.0.4
+    dev: true
+    engines:
+      node: ^10 || ^12 || >= 14
+    peerDependencies:
+      postcss: ^8.1.0
+    resolution:
+      integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==
+  /postcss-modules-values/1.3.0:
+    dependencies:
+      icss-replace-symbols: 1.1.0
+      postcss: 6.0.23
+    resolution:
+      integrity: sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=
+  /postcss-modules-values/2.0.0:
+    dependencies:
+      icss-replace-symbols: 1.1.0
+      postcss: 7.0.35
+    resolution:
+      integrity: sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==
+  /postcss-modules-values/3.0.0:
+    dependencies:
+      icss-utils: 4.1.1
+      postcss: 7.0.35
+    dev: false
+    resolution:
+      integrity: sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==
+  /postcss-modules-values/4.0.0_postcss@8.1.7:
+    dependencies:
+      icss-utils: 5.0.0_postcss@8.1.7
+      postcss: 8.1.7
+    dev: true
+    engines:
+      node: ^10 || ^12 || >= 14
+    peerDependencies:
+      postcss: ^8.1.0
+    resolution:
+      integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==
+  /postcss-modules/1.5.0:
+    dependencies:
+      css-modules-loader-core: 1.1.0
+      generic-names: 2.0.1
+      lodash.camelcase: 4.3.0
+      postcss: 7.0.35
+      string-hash: 1.1.3
+    resolution:
+      integrity: sha512-KiAihzcV0TxTTNA5OXreyIXctuHOfR50WIhqBpc8pe0Q5dcs/Uap9EVlifOI9am7zGGdGOJQ6B1MPYKo2UxgOg==
+  /postcss-nested/4.1.2:
+    dependencies:
+      postcss: 7.0.35
+      postcss-selector-parser: 5.0.0
+    dev: true
+    resolution:
+      integrity: sha512-9bQFr2TezohU3KRSu9f6sfecXmf/x6RXDedl8CHF6fyuyVW7UqgNMRdWMHZQWuFY6Xqs2NYk+Fj4Z4vSOf7PQg==
+  /postcss-normalize-charset/4.0.1:
+    dependencies:
+      postcss: 7.0.35
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==
+  /postcss-normalize-display-values/4.0.2:
+    dependencies:
+      cssnano-util-get-match: 4.0.0
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==
+  /postcss-normalize-positions/4.0.2:
+    dependencies:
+      cssnano-util-get-arguments: 4.0.0
+      has: 1.0.3
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==
+  /postcss-normalize-repeat-style/4.0.2:
+    dependencies:
+      cssnano-util-get-arguments: 4.0.0
+      cssnano-util-get-match: 4.0.0
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==
+  /postcss-normalize-string/4.0.2:
+    dependencies:
+      has: 1.0.3
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==
+  /postcss-normalize-timing-functions/4.0.2:
+    dependencies:
+      cssnano-util-get-match: 4.0.0
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==
+  /postcss-normalize-unicode/4.0.1:
+    dependencies:
+      browserslist: 4.16.1
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==
+  /postcss-normalize-url/4.0.1:
+    dependencies:
+      is-absolute-url: 2.1.0
+      normalize-url: 3.3.0
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==
+  /postcss-normalize-whitespace/4.0.2:
+    dependencies:
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==
+  /postcss-ordered-values/4.1.2:
+    dependencies:
+      cssnano-util-get-arguments: 4.0.0
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==
+  /postcss-parent-selector/1.0.0:
+    dependencies:
+      postcss: 5.2.18
+    dev: true
+    resolution:
+      integrity: sha1-7v5Qb4Kik0PdZ+ymFBv0qlYuiKY=
+  /postcss-prefix-wrapper/0.4.1:
+    dependencies:
+      escape-string-regexp: 2.0.0
+      glob: 7.1.6
+      lodash: 4.17.20
+      object-assign: 4.1.1
+      postcss: 7.0.35
+    dev: false
+    resolution:
+      integrity: sha512-Q9TV690HtTq50TUPpNW3rn8GjMteRvqH4mcbv29DJyo5PWm+CTPxebZaHaH9hKgk4BiqXTb47WUY4x1VvMfP3w==
+  /postcss-reduce-initial/4.0.3:
+    dependencies:
+      browserslist: 4.16.1
+      caniuse-api: 3.0.0
+      has: 1.0.3
+      postcss: 7.0.35
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==
+  /postcss-reduce-transforms/4.0.2:
+    dependencies:
+      cssnano-util-get-match: 4.0.0
+      has: 1.0.3
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==
+  /postcss-safe-parser/4.0.2:
+    dependencies:
+      postcss: 7.0.32
+    engines:
+      node: '>=6.0.0'
+    resolution:
+      integrity: sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==
+  /postcss-selector-parser/3.1.2:
+    dependencies:
+      dot-prop: 5.3.0
+      indexes-of: 1.0.1
+      uniq: 1.0.1
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==
+  /postcss-selector-parser/5.0.0:
+    dependencies:
+      cssesc: 2.0.0
+      indexes-of: 1.0.1
+      uniq: 1.0.1
+    dev: true
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==
+  /postcss-selector-parser/6.0.4:
+    dependencies:
+      cssesc: 3.0.0
+      indexes-of: 1.0.1
+      uniq: 1.0.1
+      util-deprecate: 1.0.2
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==
+  /postcss-svgo/4.0.2:
+    dependencies:
+      is-svg: 3.0.0
+      postcss: 7.0.35
+      postcss-value-parser: 3.3.1
+      svgo: 1.3.2
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==
+  /postcss-unique-selectors/4.0.1:
+    dependencies:
+      alphanum-sort: 1.0.2
+      postcss: 7.0.35
+      uniqs: 2.0.0
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==
+  /postcss-value-parser/3.3.1:
+    resolution:
+      integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
+  /postcss-value-parser/4.1.0:
+    resolution:
+      integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
+  /postcss/5.2.18:
+    dependencies:
+      chalk: 1.1.3
+      js-base64: 2.6.4
+      source-map: 0.5.7
+      supports-color: 3.2.3
+    engines:
+      node: '>=0.12'
+    resolution:
+      integrity: sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==
+  /postcss/6.0.1:
+    dependencies:
+      chalk: 1.1.3
+      source-map: 0.5.7
+      supports-color: 3.2.3
+    engines:
+      node: '>=4.0.0'
+    resolution:
+      integrity: sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=
+  /postcss/6.0.23:
+    dependencies:
+      chalk: 2.4.2
+      source-map: 0.6.1
+      supports-color: 5.5.0
+    engines:
+      node: '>=4.0.0'
+    resolution:
+      integrity: sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==
+  /postcss/7.0.21:
+    dependencies:
+      chalk: 2.4.2
+      source-map: 0.6.1
+      supports-color: 6.1.0
+    dev: false
+    engines:
+      node: '>=6.0.0'
+    resolution:
+      integrity: sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==
+  /postcss/7.0.32:
+    dependencies:
+      chalk: 2.4.2
+      source-map: 0.6.1
+      supports-color: 6.1.0
+    engines:
+      node: '>=6.0.0'
+    resolution:
+      integrity: sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==
+  /postcss/7.0.35:
+    dependencies:
+      chalk: 2.4.2
+      source-map: 0.6.1
+      supports-color: 6.1.0
+    engines:
+      node: '>=6.0.0'
+    resolution:
+      integrity: sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==
+  /postcss/8.1.7:
+    dependencies:
+      colorette: 1.2.1
+      line-column: 1.0.2
+      nanoid: 3.1.20
+      source-map: 0.6.1
+    engines:
+      node: ^10 || ^12 || >=14
+    resolution:
+      integrity: sha512-llCQW1Pz4MOPwbZLmOddGM9eIJ8Bh7SZ2Oj5sxZva77uVaotYDsYTch1WBTNu7fUY0fpWp0fdt7uW40D4sRiiQ==
+  /postcss/8.2.4:
+    dependencies:
+      colorette: 1.2.1
+      nanoid: 3.1.20
+      source-map: 0.6.1
+    dev: false
+    engines:
+      node: ^10 || ^12 || >=14
+    resolution:
+      integrity: sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg==
+  /prebuild-install/6.0.0:
+    dependencies:
+      detect-libc: 1.0.3
+      expand-template: 2.0.3
+      github-from-package: 0.0.0
+      minimist: 1.2.5
+      mkdirp-classic: 0.5.3
+      napi-build-utils: 1.0.2
+      node-abi: 2.19.3
+      noop-logger: 0.1.1
+      npmlog: 4.1.2
+      pump: 3.0.0
+      rc: 1.2.8
+      simple-get: 3.1.0
+      tar-fs: 2.1.1
+      tunnel-agent: 0.6.0
+      which-pm-runs: 1.0.0
+    dev: false
+    engines:
+      node: '>=6'
+    hasBin: true
+    optional: true
+    resolution:
+      integrity: sha512-h2ZJ1PXHKWZpp1caLw0oX9sagVpL2YTk+ZwInQbQ3QqNd4J03O6MpFNmMTJlkfgPENWqe5kP0WjQLqz5OjLfsw==
+  /prelude-ls/1.1.2:
+    engines:
+      node: '>= 0.8.0'
+    resolution:
+      integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
+  /prepend-http/1.0.4:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
+  /prepend-http/2.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
+  /prettier/2.2.1:
+    dev: true
+    engines:
+      node: '>=10.13.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==
+  /pretty-bytes/4.0.2:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=
+  /pretty-bytes/5.4.1:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-s1Iam6Gwz3JI5Hweaz4GoCD1WUNUIyzePFy5+Js2hjwGVt2Z79wNN+ZKOZ2vB6C+Xs6njyB84Z1IthQg8d9LxA==
+  /pretty-error/2.1.2:
+    dependencies:
+      lodash: 4.17.20
+      renderkid: 2.0.5
+    resolution:
+      integrity: sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==
+  /pretty-format/24.9.0:
+    dependencies:
+      '@jest/types': 24.9.0
+      ansi-regex: 4.1.0
+      ansi-styles: 3.2.1
+      react-is: 16.13.1
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==
+  /pretty-time/1.1.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==
+  /prismjs/1.23.0:
+    dev: false
+    optionalDependencies:
+      clipboard: 2.0.6
+    resolution:
+      integrity: sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA==
+  /process-nextick-args/2.0.1:
+    resolution:
+      integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+  /process/0.11.10:
+    engines:
+      node: '>= 0.6.0'
+    resolution:
+      integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
+  /promise-inflight/1.0.1:
+    resolution:
+      integrity: sha1-mEcocL8igTL8vdhoEputEsPAKeM=
+  /prompts/2.4.0:
+    dependencies:
+      kleur: 3.0.3
+      sisteransi: 1.0.5
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==
+  /prop-types-exact/1.2.0:
+    dependencies:
+      has: 1.0.3
+      object.assign: 4.1.2
+      reflect.ownkeys: 0.2.0
+    resolution:
+      integrity: sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA==
+  /prop-types/15.7.2:
+    dependencies:
+      loose-envify: 1.4.0
+      object-assign: 4.1.1
+      react-is: 16.13.1
+    resolution:
+      integrity: sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
+  /property-information/5.6.0:
+    dependencies:
+      xtend: 4.0.2
+    dev: false
+    resolution:
+      integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==
+  /proxy-addr/2.0.6:
+    dependencies:
+      forwarded: 0.1.2
+      ipaddr.js: 1.9.1
+    engines:
+      node: '>= 0.10'
+    resolution:
+      integrity: sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==
+  /proxy-agent/3.1.1:
+    dependencies:
+      agent-base: 4.3.0
+      debug: 4.3.1
+      http-proxy-agent: 2.1.0
+      https-proxy-agent: 3.0.1
+      lru-cache: 5.1.1
+      pac-proxy-agent: 3.0.1
+      proxy-from-env: 1.1.0
+      socks-proxy-agent: 4.0.2
+    dev: false
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw==
+  /proxy-from-env/1.1.0:
+    dev: false
+    resolution:
+      integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+  /prr/1.0.1:
+    resolution:
+      integrity: sha1-0/wRS6BplaRexok/SEzrHXj19HY=
+  /pseudomap/1.0.2:
+    resolution:
+      integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
+  /psl/1.8.0:
+    resolution:
+      integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
+  /public-encrypt/4.0.3:
+    dependencies:
+      bn.js: 4.11.9
+      browserify-rsa: 4.1.0
+      create-hash: 1.2.0
+      parse-asn1: 5.1.6
+      randombytes: 2.1.0
+      safe-buffer: 5.2.1
+    resolution:
+      integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
+  /pump/2.0.1:
+    dependencies:
+      end-of-stream: 1.4.4
+      once: 1.4.0
+    resolution:
+      integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
+  /pump/3.0.0:
+    dependencies:
+      end-of-stream: 1.4.4
+      once: 1.4.0
+    resolution:
+      integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
+  /pumpify/1.5.1:
+    dependencies:
+      duplexify: 3.7.1
+      inherits: 2.0.4
+      pump: 2.0.1
+    resolution:
+      integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
+  /punycode/1.3.2:
+    resolution:
+      integrity: sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
+  /punycode/1.4.1:
+    resolution:
+      integrity: sha1-wNWmOycYgArY4esPpSachN1BhF4=
+  /punycode/2.1.1:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+  /q/1.5.1:
+    engines:
+      node: '>=0.6.0'
+      teleport: '>=0.2.0'
+    resolution:
+      integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
+  /qs/6.5.2:
+    engines:
+      node: '>=0.6'
+    resolution:
+      integrity: sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
+  /qs/6.7.0:
+    engines:
+      node: '>=0.6'
+    resolution:
+      integrity: sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
+  /qs/6.9.6:
+    dev: false
+    engines:
+      node: '>=0.6'
+    resolution:
+      integrity: sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==
+  /query-string/4.3.4:
+    dependencies:
+      object-assign: 4.1.1
+      strict-uri-encode: 1.1.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-u7aTucqRXCMlFbIosaArYJBD2+s=
+  /query-string/6.13.8:
+    dependencies:
+      decode-uri-component: 0.2.0
+      split-on-first: 1.1.0
+      strict-uri-encode: 2.0.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-jxJzQI2edQPE/NPUOusNjO/ZOGqr1o2OBa/3M00fU76FsLXDVbJDv/p7ng5OdQyorKrkRz1oqfwmbe5MAMePQg==
+  /querystring-es3/0.2.1:
+    engines:
+      node: '>=0.4.x'
+    resolution:
+      integrity: sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
+  /querystring/0.2.0:
+    engines:
+      node: '>=0.4.x'
+    resolution:
+      integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
+  /querystringify/2.2.0:
+    resolution:
+      integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
+  /raf/3.4.1:
+    dependencies:
+      performance-now: 2.1.0
+    resolution:
+      integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==
+  /railroad-diagrams/1.0.0:
+    resolution:
+      integrity: sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=
+  /randexp/0.4.6:
+    dependencies:
+      discontinuous-range: 1.0.0
+      ret: 0.1.15
+    engines:
+      node: '>=0.12'
+    resolution:
+      integrity: sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==
+  /randombytes/2.1.0:
+    dependencies:
+      safe-buffer: 5.2.1
+    resolution:
+      integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+  /randomfill/1.0.4:
+    dependencies:
+      randombytes: 2.1.0
+      safe-buffer: 5.2.1
+    resolution:
+      integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
+  /range-parser/1.2.1:
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
+  /raw-body/2.4.0:
+    dependencies:
+      bytes: 3.1.0
+      http-errors: 1.7.2
+      iconv-lite: 0.4.24
+      unpipe: 1.0.0
+    engines:
+      node: '>= 0.8'
+    resolution:
+      integrity: sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
+  /raw-body/2.4.1:
+    dependencies:
+      bytes: 3.1.0
+      http-errors: 1.7.3
+      iconv-lite: 0.4.24
+      unpipe: 1.0.0
+    dev: false
+    engines:
+      node: '>= 0.8'
+    resolution:
+      integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==
+  /raw-loader/4.0.2:
+    dependencies:
+      loader-utils: 2.0.0
+      schema-utils: 3.0.0
+    dev: false
+    engines:
+      node: '>= 10.13.0'
+    peerDependencies:
+      webpack: ^4.0.0 || ^5.0.0
+    resolution:
+      integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==
+  /rc-dialog/8.5.2:
+    dependencies:
+      '@babel/runtime': 7.14.0
+      classnames: 2.3.1
+      rc-motion: 2.4.3
+      rc-util: 5.12.2
+    dev: false
+    peerDependencies:
+      react: '>=16.9.0'
+      react-dom: '>=16.9.0'
+    resolution:
+      integrity: sha512-3n4taFcjqhTE9uNuzjB+nPDeqgRBTEGBfe46mb1e7r88DgDo0lL4NnxY/PZ6PJKd2tsCt+RrgF/+YeTvJ/Thsw==
+  /rc-motion/2.4.3:
+    dependencies:
+      '@babel/runtime': 7.14.0
+      classnames: 2.3.1
+      rc-util: 5.12.2
+    dev: false
+    peerDependencies:
+      react: '>=16.9.0'
+      react-dom: '>=16.9.0'
+    resolution:
+      integrity: sha512-GZLLFXHl/VqTfI7bSZNNZozcblNmDka1AAoQig7EZ6s0rWg5y0RlgrcHWO+W+nrOVbYfJDxoaQUoP2fEmvCWmA==
+  /rc-util/5.12.2:
+    dependencies:
+      '@babel/runtime': 7.14.0
+      react-is: 16.13.1
+      shallowequal: 1.1.0
+    dev: false
+    peerDependencies:
+      react: '>=16.9.0'
+      react-dom: '>=16.9.0'
+    resolution:
+      integrity: sha512-kzqG2lHY4oZsoj5Svov12K+9wi0xQHvGzfbLlsF1PDEH1aTbgdNTwlE7mejc3MGEr+7bNHa4+T5ZemCS8vQ1Gw==
+  /rc/1.2.8:
+    dependencies:
+      deep-extend: 0.6.0
+      ini: 1.3.8
+      minimist: 1.2.5
+      strip-json-comments: 2.0.1
+    hasBin: true
+    resolution:
+      integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
+  /react-animate-height/2.0.23:
+    dependencies:
+      classnames: 2.2.6
+      prop-types: 15.7.2
+    dev: false
+    engines:
+      node: '>= 6.0.0'
+    peerDependencies:
+      react: '>=15.6.2'
+      react-dom: '>=15.6.2'
+    resolution:
+      integrity: sha512-DucSC/1QuxWEFzR9IsHMzrf2nrcZ6qAmLIFoENa2kLK7h72XybcMA9o073z7aHccFzdMEW0/fhAdnQG7a4rDow==
+  /react-codemirror2/7.2.1_codemirror@5.59.2:
+    dependencies:
+      codemirror: 5.59.2
+    dev: false
+    peerDependencies:
+      codemirror: 5.x
+      react: '>=15.5 <=16.x'
+    resolution:
+      integrity: sha512-t7YFmz1AXdlImgHXA9Ja0T6AWuopilub24jRaQdPVbzUJVNKIYuy3uCFZYa7CE5S3UW6SrSa5nAqVQvtzRF9gw==
+  /react-dev-utils/9.1.0:
+    dependencies:
+      '@babel/code-frame': 7.5.5
+      address: 1.1.2
+      browserslist: 4.7.0
+      chalk: 2.4.2
+      cross-spawn: 6.0.5
+      detect-port-alt: 1.1.6
+      escape-string-regexp: 1.0.5
+      filesize: 3.6.1
+      find-up: 3.0.0
+      fork-ts-checker-webpack-plugin: 1.5.0
+      global-modules: 2.0.0
+      globby: 8.0.2
+      gzip-size: 5.1.1
+      immer: 1.10.0
+      inquirer: 6.5.0
+      is-root: 2.1.0
+      loader-utils: 1.2.3
+      open: 6.4.0
+      pkg-up: 2.0.0
+      react-error-overlay: 6.0.8
+      recursive-readdir: 2.2.2
+      shell-quote: 1.7.2
+      sockjs-client: 1.4.0
+      strip-ansi: 5.2.0
+      text-table: 0.2.0
+    engines:
+      node: '>=8.10'
+    resolution:
+      integrity: sha512-X2KYF/lIGyGwP/F/oXgGDF24nxDA2KC4b7AFto+eqzc/t838gpSGiaU8trTqHXOohuLxxc5qi1eDzsl9ucPDpg==
+  /react-dom/17.0.1_react@17.0.1:
+    dependencies:
+      loose-envify: 1.4.0
+      object-assign: 4.1.1
+      react: 17.0.1
+      scheduler: 0.20.1
+    peerDependencies:
+      react: 17.0.1
+    resolution:
+      integrity: sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug==
+  /react-error-boundary/3.1.0:
+    dependencies:
+      '@babel/runtime': 7.12.5
+    dev: false
+    engines:
+      node: '>=10'
+      npm: '>=6'
+    peerDependencies:
+      react: '>=16.13.1'
+    resolution:
+      integrity: sha512-lmPrdi5SLRJR+AeJkqdkGlW/CRkAUvZnETahK58J4xb5wpbfDngasEGu+w0T1iXEhVrYBJZeW+c4V1hILCnMWQ==
+  /react-error-overlay/6.0.8:
+    resolution:
+      integrity: sha512-HvPuUQnLp5H7TouGq3kzBeioJmXms1wHy9EGjz2OURWBp4qZO6AfGEcnxts1D/CbwPLRAgTMPCEgYhA3sEM4vw==
+  /react-hot-loader/4.13.0:
+    dependencies:
+      fast-levenshtein: 2.0.6
+      global: 4.4.0
+      hoist-non-react-statics: 3.3.2
+      loader-utils: 1.4.0
+      prop-types: 15.7.2
+      react-lifecycles-compat: 3.0.4
+      shallowequal: 1.1.0
+      source-map: 0.7.3
+    dev: false
+    engines:
+      node: '>= 6'
+    peerDependencies:
+      '@types/react': '^15.0.0 || ^16.0.0 || ^17.0.0 '
+      react: '^15.0.0 || ^16.0.0 || ^17.0.0 '
+      react-dom: '^15.0.0 || ^16.0.0 || ^17.0.0 '
+    peerDependenciesMeta:
+      '@types/react':
+        optional: true
+    resolution:
+      integrity: sha512-JrLlvUPqh6wIkrK2hZDfOyq/Uh/WeVEr8nc7hkn2/3Ul0sx1Kr5y4kOGNacNRoj7RhwLNcQ3Udf1KJXrqc0ZtA==
+  /react-hot-loader/4.13.0_4695a47c40ef995f48f8c834d2fb82ec:
+    dependencies:
+      '@types/react': 17.0.0
+      fast-levenshtein: 2.0.6
+      global: 4.4.0
+      hoist-non-react-statics: 3.3.2
+      loader-utils: 1.4.0
+      prop-types: 15.7.2
+      react: 17.0.1
+      react-dom: 17.0.1_react@17.0.1
+      react-lifecycles-compat: 3.0.4
+      shallowequal: 1.1.0
+      source-map: 0.7.3
+    dev: true
+    engines:
+      node: '>= 6'
+    peerDependencies:
+      '@types/react': '^15.0.0 || ^16.0.0 || ^17.0.0 '
+      react: '^15.0.0 || ^16.0.0 || ^17.0.0 '
+      react-dom: '^15.0.0 || ^16.0.0 || ^17.0.0 '
+    peerDependenciesMeta:
+      '@types/react':
+        optional: true
+    resolution:
+      integrity: sha512-JrLlvUPqh6wIkrK2hZDfOyq/Uh/WeVEr8nc7hkn2/3Ul0sx1Kr5y4kOGNacNRoj7RhwLNcQ3Udf1KJXrqc0ZtA==
+  /react-hot-loader/4.13.0_@types+react@17.0.0:
+    dependencies:
+      '@types/react': 17.0.0
+      fast-levenshtein: 2.0.6
+      global: 4.4.0
+      hoist-non-react-statics: 3.3.2
+      loader-utils: 1.4.0
+      prop-types: 15.7.2
+      react-lifecycles-compat: 3.0.4
+      shallowequal: 1.1.0
+      source-map: 0.7.3
+    engines:
+      node: '>= 6'
+    peerDependencies:
+      '@types/react': '^15.0.0 || ^16.0.0 || ^17.0.0 '
+      react: '^15.0.0 || ^16.0.0 || ^17.0.0 '
+      react-dom: '^15.0.0 || ^16.0.0 || ^17.0.0 '
+    peerDependenciesMeta:
+      '@types/react':
+        optional: true
+    resolution:
+      integrity: sha512-JrLlvUPqh6wIkrK2hZDfOyq/Uh/WeVEr8nc7hkn2/3Ul0sx1Kr5y4kOGNacNRoj7RhwLNcQ3Udf1KJXrqc0ZtA==
+  /react-hot-loader/4.13.0_react-dom@17.0.1+react@17.0.1:
+    dependencies:
+      fast-levenshtein: 2.0.6
+      global: 4.4.0
+      hoist-non-react-statics: 3.3.2
+      loader-utils: 1.4.0
+      prop-types: 15.7.2
+      react: 17.0.1
+      react-dom: 17.0.1_react@17.0.1
+      react-lifecycles-compat: 3.0.4
+      shallowequal: 1.1.0
+      source-map: 0.7.3
+    dev: false
+    engines:
+      node: '>= 6'
+    peerDependencies:
+      '@types/react': '^15.0.0 || ^16.0.0 || ^17.0.0 '
+      react: '^15.0.0 || ^16.0.0 || ^17.0.0 '
+      react-dom: '^15.0.0 || ^16.0.0 || ^17.0.0 '
+    peerDependenciesMeta:
+      '@types/react':
+        optional: true
+    resolution:
+      integrity: sha512-JrLlvUPqh6wIkrK2hZDfOyq/Uh/WeVEr8nc7hkn2/3Ul0sx1Kr5y4kOGNacNRoj7RhwLNcQ3Udf1KJXrqc0ZtA==
+  /react-hot-toast/1.0.2:
+    dependencies:
+      goober: 2.0.37
+    dev: false
+    engines:
+      node: '>=10'
+    peerDependencies:
+      react: '>=16'
+      react-dom: '>=16'
+    resolution:
+      integrity: sha512-wp89H0WA6EtiexAg5l3ys+WaZ3u0xM/FJWxl6YxR3hlquWhKvO9snBgTe4ATPEcgbS6pbc43RbuBINOkYOzA5A==
+  /react-is/16.13.1:
+    resolution:
+      integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+  /react-lifecycles-compat/3.0.4:
+    resolution:
+      integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
+  /react-loading-skeleton/2.1.1_react@17.0.1:
+    dependencies:
+      '@emotion/core': 10.1.1_react@17.0.1
+      react: 17.0.1
+    dev: false
+    peerDependencies:
+      react: ^15.6.1 || ^16.0.0
+    resolution:
+      integrity: sha512-+fGvgG9ieUw4D5QVgpqJkJ75jhzUdz96GRsA0HjTlR0Mpj9DJUEFc0AKELs7ZkqWVH8/DiroaaufSrOPld1kGA==
+  /react-refresh/0.8.3:
+    dev: false
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==
+  /react-syntax-highlighter/15.4.3:
+    dependencies:
+      '@babel/runtime': 7.12.5
+      highlight.js: 10.5.0
+      lowlight: 1.18.0
+      prismjs: 1.23.0
+      refractor: 3.3.1
+    dev: false
+    peerDependencies:
+      react: '>= 0.14.0'
+    resolution:
+      integrity: sha512-TnhGgZKXr5o8a63uYdRTzeb8ijJOgRGe0qjrE0eK/gajtdyqnSO6LqB3vW16hHB0cFierYSoy/AOJw8z1Dui8g==
+  /react-test-renderer/16.14.0:
+    dependencies:
+      object-assign: 4.1.1
+      prop-types: 15.7.2
+      react-is: 16.13.1
+      scheduler: 0.19.1
+    peerDependencies:
+      react: ^16.14.0
+    resolution:
+      integrity: sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==
+  /react-test-renderer/16.14.0_react@17.0.1:
+    dependencies:
+      object-assign: 4.1.1
+      prop-types: 15.7.2
+      react: 17.0.1
+      react-is: 16.13.1
+      scheduler: 0.19.1
+    peerDependencies:
+      react: ^16.14.0
+    resolution:
+      integrity: sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==
+  /react-transition-group/2.9.0_react-dom@17.0.1+react@17.0.1:
+    dependencies:
+      dom-helpers: 3.4.0
+      loose-envify: 1.4.0
+      prop-types: 15.7.2
+      react: 17.0.1
+      react-dom: 17.0.1_react@17.0.1
+      react-lifecycles-compat: 3.0.4
+    dev: false
+    peerDependencies:
+      react: '>=15.0.0'
+      react-dom: '>=15.0.0'
+    resolution:
+      integrity: sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==
+  /react/17.0.1:
+    dependencies:
+      loose-envify: 1.4.0
+      object-assign: 4.1.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w==
+  /read-chunk/2.1.0:
+    dependencies:
+      pify: 3.0.0
+      safe-buffer: 5.2.1
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-agTAkoAF7Z1C4aasVgDhnLx/9lU=
+  /read-chunk/3.2.0:
+    dependencies:
+      pify: 4.0.1
+      with-open-file: 0.1.7
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ==
+  /read-pkg-up/3.0.0:
+    dependencies:
+      find-up: 2.1.0
+      read-pkg: 3.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=
+  /read-pkg-up/4.0.0:
+    dependencies:
+      find-up: 3.0.0
+      read-pkg: 3.0.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==
+  /read-pkg-up/5.0.0:
+    dependencies:
+      find-up: 3.0.0
+      read-pkg: 5.2.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-XBQjqOBtTzyol2CpsQOw8LHV0XbDZVG7xMMjmXAJomlVY03WOBRmYgDJETlvcg0H63AJvPRwT7GFi5rvOzUOKg==
+  /read-pkg/3.0.0:
+    dependencies:
+      load-json-file: 4.0.0
+      normalize-package-data: 2.5.0
+      path-type: 3.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=
+  /read-pkg/5.2.0:
+    dependencies:
+      '@types/normalize-package-data': 2.4.0
+      normalize-package-data: 2.5.0
+      parse-json: 5.1.0
+      type-fest: 0.6.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==
+  /readable-stream/1.1.14:
+    dependencies:
+      core-util-is: 1.0.2
+      inherits: 2.0.4
+      isarray: 0.0.1
+      string_decoder: 0.10.31
+    dev: false
+    resolution:
+      integrity: sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
+  /readable-stream/2.3.7:
+    dependencies:
+      core-util-is: 1.0.2
+      inherits: 2.0.4
+      isarray: 1.0.0
+      process-nextick-args: 2.0.1
+      safe-buffer: 5.1.2
+      string_decoder: 1.1.1
+      util-deprecate: 1.0.2
+    resolution:
+      integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
+  /readable-stream/3.6.0:
+    dependencies:
+      inherits: 2.0.4
+      string_decoder: 1.3.0
+      util-deprecate: 1.0.2
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
+  /readdirp/2.2.1:
+    dependencies:
+      graceful-fs: 4.2.4
+      micromatch: 3.1.10
+      readable-stream: 2.3.7
+    engines:
+      node: '>=0.10'
+    resolution:
+      integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
+  /readdirp/3.4.0:
+    dependencies:
+      picomatch: 2.2.2
+    engines:
+      node: '>=8.10.0'
+    resolution:
+      integrity: sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==
+  /readdirp/3.5.0:
+    dependencies:
+      picomatch: 2.2.2
+    engines:
+      node: '>=8.10.0'
+    resolution:
+      integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==
+  /realpath-native/1.1.0:
+    dependencies:
+      util.promisify: 1.1.1
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==
+  /rechoir/0.6.2:
+    dependencies:
+      resolve: 1.19.0
+    engines:
+      node: '>= 0.10'
+    resolution:
+      integrity: sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
+  /rechoir/0.7.0:
+    dependencies:
+      resolve: 1.19.0
+    dev: true
+    engines:
+      node: '>= 0.10'
+    resolution:
+      integrity: sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==
+  /recursive-readdir/2.2.2:
+    dependencies:
+      minimatch: 3.0.4
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==
+  /reflect.ownkeys/0.2.0:
+    resolution:
+      integrity: sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=
+  /refractor/3.3.1:
+    dependencies:
+      hastscript: 6.0.0
+      parse-entities: 2.0.0
+      prismjs: 1.23.0
+    dev: false
+    resolution:
+      integrity: sha512-vaN6R56kLMuBszHSWlwTpcZ8KTMG6aUCok4GrxYDT20UIOXxOc5o6oDc8tNTzSlH3m2sI+Eu9Jo2kVdDcUTWYw==
+  /regenerate-unicode-properties/8.2.0:
+    dependencies:
+      regenerate: 1.4.2
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==
+  /regenerate/1.4.2:
+    resolution:
+      integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
+  /regenerator-runtime/0.10.5:
+    resolution:
+      integrity: sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=
+  /regenerator-runtime/0.11.1:
+    resolution:
+      integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
+  /regenerator-runtime/0.13.7:
+    resolution:
+      integrity: sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==
+  /regenerator-transform/0.14.5:
+    dependencies:
+      '@babel/runtime': 7.12.5
+    resolution:
+      integrity: sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==
+  /regex-not/1.0.2:
+    dependencies:
+      extend-shallow: 3.0.2
+      safe-regex: 1.1.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
+  /regex-parser/2.2.11:
+    dev: false
+    resolution:
+      integrity: sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==
+  /regexp.prototype.flags/1.3.0:
+    dependencies:
+      define-properties: 1.1.3
+      es-abstract: 1.17.7
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==
+  /regexpu-core/4.7.1:
+    dependencies:
+      regenerate: 1.4.2
+      regenerate-unicode-properties: 8.2.0
+      regjsgen: 0.5.2
+      regjsparser: 0.6.4
+      unicode-match-property-ecmascript: 1.0.4
+      unicode-match-property-value-ecmascript: 1.2.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==
+  /registry-auth-token/4.2.1:
+    dependencies:
+      rc: 1.2.8
+    engines:
+      node: '>=6.0.0'
+    resolution:
+      integrity: sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==
+  /registry-url/5.1.0:
+    dependencies:
+      rc: 1.2.8
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==
+  /regjsgen/0.5.2:
+    resolution:
+      integrity: sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==
+  /regjsparser/0.6.4:
+    dependencies:
+      jsesc: 0.5.0
+    hasBin: true
+    resolution:
+      integrity: sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==
+  /rehype-raw/5.0.0:
+    dependencies:
+      hast-util-raw: 6.0.1
+    dev: false
+    resolution:
+      integrity: sha512-q/MOBj4fs1WF/LSCh5uOtNhnm5OESuDcSvq1mDQP4/2t6Q52E9MHeVoLeMy9vOn93BEcgVBm4FCokcK2iXRDvA==
+  /rehype-react/6.2.0:
+    dependencies:
+      '@mapbox/hast-util-table-cell-style': 0.1.3
+      hast-to-hyperscript: 9.0.1
+    dev: false
+    resolution:
+      integrity: sha512-XpR3p8ejdJ5CSEKqAfASIrkD+KaHLy0JOqXu9zM32tvkr1cUeM7AeidF6Q8eQ/wtMvcJb+h/L4QRwg1eFwBggQ==
+  /rehype-sanitize/4.0.0:
+    dependencies:
+      hast-util-sanitize: 3.0.1
+    dev: false
+    resolution:
+      integrity: sha512-ZCr/iQRr4JeqPjun5i9CHHILVY7i45VnLu1CkkibDrSyFQ7dTLSvw8OIQpHhS4RSh9h/9GidxFw1bRb0LOxIag==
+  /rehype-slug/4.0.1:
+    dependencies:
+      github-slugger: 1.3.0
+      hast-util-has-property: 1.0.4
+      hast-util-heading-rank: 1.0.1
+      hast-util-to-string: 1.0.4
+      unist-util-visit: 2.0.3
+    dev: false
+    resolution:
+      integrity: sha512-KIlJALf9WfHFF21icwTd2yI2IP+RQRweaxH9ChVGQwRYy36+hiomG4ZSe0yQRyCt+D/vE39LbAcOI/h4O4GPhA==
+  /relateurl/0.2.7:
+    engines:
+      node: '>= 0.10'
+    resolution:
+      integrity: sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
+  /remark-footnotes/2.0.0:
+    dev: false
+    resolution:
+      integrity: sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==
+  /remark-gfm/1.0.0:
+    dependencies:
+      mdast-util-gfm: 0.1.0
+      micromark-extension-gfm: 0.3.1
+    dev: false
+    resolution:
+      integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==
+  /remark-mdx/1.6.22:
+    dependencies:
+      '@babel/core': 7.12.9
+      '@babel/helper-plugin-utils': 7.10.4
+      '@babel/plugin-proposal-object-rest-spread': 7.12.1_@babel+core@7.12.9
+      '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.9
+      '@mdx-js/util': 1.6.22
+      is-alphabetical: 1.0.4
+      remark-parse: 8.0.3
+      unified: 9.2.0
+    dev: false
+    resolution:
+      integrity: sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==
+  /remark-parse/8.0.3:
+    dependencies:
+      ccount: 1.1.0
+      collapse-white-space: 1.0.6
+      is-alphabetical: 1.0.4
+      is-decimal: 1.0.4
+      is-whitespace-character: 1.0.4
+      is-word-character: 1.0.4
+      markdown-escapes: 1.0.4
+      parse-entities: 2.0.0
+      repeat-string: 1.6.1
+      state-toggle: 1.0.3
+      trim: 0.0.1
+      trim-trailing-lines: 1.1.4
+      unherit: 1.1.3
+      unist-util-remove-position: 2.0.1
+      vfile-location: 3.2.0
+      xtend: 4.0.2
+    dev: false
+    resolution:
+      integrity: sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==
+  /remark-parse/9.0.0:
+    dependencies:
+      mdast-util-from-markdown: 0.8.1
+    dev: false
+    resolution:
+      integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==
+  /remark-react/8.0.0:
+    dependencies:
+      '@mapbox/hast-util-table-cell-style': 0.1.3
+      hast-to-hyperscript: 9.0.1
+      hast-util-sanitize: 3.0.1
+      mdast-util-to-hast: 10.0.0
+    dev: false
+    resolution:
+      integrity: sha512-Dlafr0cejDMMMelH0MxkY3NYVelbMdqaoXuwIgWtWn5KGE0Jpko47NhkBzptxvzMqCdJxD6aoJTOFyJ1Re5Iyg==
+  /remark-rehype/8.0.0:
+    dependencies:
+      mdast-util-to-hast: 10.0.0
+    dev: false
+    resolution:
+      integrity: sha512-gVvOH02TMFqXOWoL6iXU7NXMsDJguNkNuMrzfkQeA4V6WCyHQnOKptn+IQBVVPuIH2sMJBwo8hlrmtn1MLTh9w==
+  /remark-slug/6.0.0:
+    dependencies:
+      github-slugger: 1.3.0
+      mdast-util-to-string: 1.1.0
+      unist-util-visit: 2.0.3
+    dev: false
+    resolution:
+      integrity: sha512-ln67v5BrGKHpETnm6z6adlJPhESFJwfuZZ3jrmi+lKTzeZxh2tzFzUfDD4Pm2hRGOarHLuGToO86MNMZ/hA67Q==
+  /remark-squeeze-paragraphs/4.0.0:
+    dependencies:
+      mdast-squeeze-paragraphs: 4.0.0
+    dev: false
+    resolution:
+      integrity: sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==
+  /remove-trailing-separator/1.1.0:
+    resolution:
+      integrity: sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
+  /renderkid/2.0.5:
+    dependencies:
+      css-select: 2.1.0
+      dom-converter: 0.2.0
+      htmlparser2: 3.10.1
+      lodash: 4.17.20
+      strip-ansi: 3.0.1
+    resolution:
+      integrity: sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==
+  /repeat-element/1.1.3:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
+  /repeat-string/1.6.1:
+    engines:
+      node: '>=0.10'
+    resolution:
+      integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc=
+  /replace-ext/1.0.0:
+    dev: false
+    engines:
+      node: '>= 0.10'
+    resolution:
+      integrity: sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=
+  /replace-ext/1.0.1:
+    engines:
+      node: '>= 0.10'
+    resolution:
+      integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==
+  /request-promise-core/1.1.4:
+    dependencies:
+      lodash: 4.17.20
+    engines:
+      node: '>=0.10.0'
+    peerDependencies:
+      request: ^2.34
+    resolution:
+      integrity: sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==
+  /request-promise-core/1.1.4_request@2.88.2:
+    dependencies:
+      lodash: 4.17.20
+      request: 2.88.2
+    engines:
+      node: '>=0.10.0'
+    peerDependencies:
+      request: ^2.34
+    resolution:
+      integrity: sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==
+  /request-promise-native/1.0.9:
+    dependencies:
+      request-promise-core: 1.1.4
+      stealthy-require: 1.1.1
+      tough-cookie: 2.5.0
+    deprecated: 'request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142'
+    engines:
+      node: '>=0.12.0'
+    peerDependencies:
+      request: ^2.34
+    resolution:
+      integrity: sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==
+  /request-promise-native/1.0.9_request@2.88.2:
+    dependencies:
+      request: 2.88.2
+      request-promise-core: 1.1.4_request@2.88.2
+      stealthy-require: 1.1.1
+      tough-cookie: 2.5.0
+    deprecated: 'request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142'
+    engines:
+      node: '>=0.12.0'
+    peerDependencies:
+      request: ^2.34
+    resolution:
+      integrity: sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==
+  /request/2.88.2:
+    dependencies:
+      aws-sign2: 0.7.0
+      aws4: 1.11.0
+      caseless: 0.12.0
+      combined-stream: 1.0.8
+      extend: 3.0.2
+      forever-agent: 0.6.1
+      form-data: 2.3.3
+      har-validator: 5.1.5
+      http-signature: 1.2.0
+      is-typedarray: 1.0.0
+      isstream: 0.1.2
+      json-stringify-safe: 5.0.1
+      mime-types: 2.1.27
+      oauth-sign: 0.9.0
+      performance-now: 2.1.0
+      qs: 6.5.2
+      safe-buffer: 5.2.1
+      tough-cookie: 2.5.0
+      tunnel-agent: 0.6.0
+      uuid: 3.4.0
+    deprecated: 'request has been deprecated, see https://github.com/request/request/issues/3142'
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
+  /require-directory/2.1.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+  /require-main-filename/2.0.0:
+    resolution:
+      integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
+  /require-package-name/2.0.1:
+    resolution:
+      integrity: sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk=
+  /requires-port/1.0.0:
+    resolution:
+      integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
+  /resolve-cwd/2.0.0:
+    dependencies:
+      resolve-from: 3.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=
+  /resolve-cwd/3.0.0:
+    dependencies:
+      resolve-from: 5.0.0
+    dev: true
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==
+  /resolve-from/3.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-six699nWiBvItuZTM17rywoYh0g=
+  /resolve-from/4.0.0:
+    dev: false
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+  /resolve-from/5.0.0:
+    dev: true
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+  /resolve-url-loader/3.1.2:
+    dependencies:
+      adjust-sourcemap-loader: 3.0.0
+      camelcase: 5.3.1
+      compose-function: 3.0.3
+      convert-source-map: 1.7.0
+      es6-iterator: 2.0.3
+      loader-utils: 1.2.3
+      postcss: 7.0.21
+      rework: 1.0.1
+      rework-visit: 1.0.0
+      source-map: 0.6.1
+    dev: false
+    engines:
+      node: '>=6.0.0'
+    resolution:
+      integrity: sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ==
+  /resolve-url/0.2.1:
+    deprecated: 'https://github.com/lydell/resolve-url#deprecated'
+    resolution:
+      integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
+  /resolve/1.1.7:
+    resolution:
+      integrity: sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
+  /resolve/1.17.0:
+    dependencies:
+      path-parse: 1.0.6
+    resolution:
+      integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
+  /resolve/1.19.0:
+    dependencies:
+      is-core-module: 2.1.0
+      path-parse: 1.0.6
+    resolution:
+      integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==
+  /responselike/1.0.2:
+    dependencies:
+      lowercase-keys: 1.0.1
+    resolution:
+      integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=
+  /restore-cursor/2.0.0:
+    dependencies:
+      onetime: 2.0.1
+      signal-exit: 3.0.3
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
+  /restore-cursor/3.1.0:
+    dependencies:
+      onetime: 5.1.2
+      signal-exit: 3.0.3
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
+  /ret/0.1.15:
+    engines:
+      node: '>=0.12'
+    resolution:
+      integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
+  /retry/0.12.0:
+    engines:
+      node: '>= 4'
+    resolution:
+      integrity: sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=
+  /reusify/1.0.4:
+    dev: true
+    engines:
+      iojs: '>=1.0.0'
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+  /rework-visit/1.0.0:
+    dev: false
+    resolution:
+      integrity: sha1-mUWygD8hni96ygCtuLyfZA+ELJo=
+  /rework/1.0.1:
+    dependencies:
+      convert-source-map: 0.3.5
+      css: 2.2.4
+    dev: false
+    resolution:
+      integrity: sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=
+  /rgb-regex/1.0.1:
+    resolution:
+      integrity: sha1-wODWiC3w4jviVKR16O3UGRX+rrE=
+  /rgba-regex/1.0.0:
+    resolution:
+      integrity: sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
+  /rimraf/2.7.1:
+    dependencies:
+      glob: 7.1.6
+    hasBin: true
+    resolution:
+      integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
+  /rimraf/3.0.2:
+    dependencies:
+      glob: 7.1.6
+    hasBin: true
+    resolution:
+      integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+  /ripemd160/2.0.2:
+    dependencies:
+      hash-base: 3.1.0
+      inherits: 2.0.4
+    resolution:
+      integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
+  /rst-selector-parser/2.2.3:
+    dependencies:
+      lodash.flattendeep: 4.4.0
+      nearley: 2.20.1
+    resolution:
+      integrity: sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=
+  /rsvp/4.8.5:
+    engines:
+      node: 6.* || >= 7.*
+    resolution:
+      integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==
+  /run-async/2.4.1:
+    engines:
+      node: '>=0.12.0'
+    resolution:
+      integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
+  /run-parallel/1.1.10:
+    dev: true
+    resolution:
+      integrity: sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==
+  /run-queue/1.0.3:
+    dependencies:
+      aproba: 1.2.0
+    resolution:
+      integrity: sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=
+  /rxjs/6.6.3:
+    dependencies:
+      tslib: 1.14.1
+    engines:
+      npm: '>=2.0.0'
+    resolution:
+      integrity: sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==
+  /safe-buffer/5.1.2:
+    resolution:
+      integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+  /safe-buffer/5.2.1:
+    resolution:
+      integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+  /safe-regex/1.1.0:
+    dependencies:
+      ret: 0.1.15
+    resolution:
+      integrity: sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
+  /safe-require/1.0.4:
+    resolution:
+      integrity: sha512-1elAbSH1u7HVMfbuqktLWAN0wMOeT+FnJVqMhBgEJLvL95m+KT433tiJdGMV1e3TstQXRt1YrKQDRBu0Kpk4WA==
+  /safer-buffer/2.1.2:
+    resolution:
+      integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+  /sane/4.1.0:
+    dependencies:
+      '@cnakazawa/watch': 1.0.4
+      anymatch: 2.0.0
+      capture-exit: 2.0.0
+      exec-sh: 0.3.4
+      execa: 1.0.0
+      fb-watchman: 2.0.1
+      micromatch: 3.1.10
+      minimist: 1.2.5
+      walker: 1.0.7
+    engines:
+      node: 6.* || 8.* || >= 10.*
+    hasBin: true
+    resolution:
+      integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==
+  /sass-loader/10.0.5_webpack@4.44.1:
+    dependencies:
+      klona: 2.0.4
+      loader-utils: 2.0.0
+      neo-async: 2.6.2
+      schema-utils: 3.0.0
+      semver: 7.3.4
+      webpack: 4.44.1
+    dev: false
+    engines:
+      node: '>= 10.13.0'
+    peerDependencies:
+      fibers: '>= 3.1.0'
+      node-sass: ^4.0.0 || ^5.0.0
+      sass: ^1.3.0
+      webpack: ^4.36.0 || ^5.0.0
+    peerDependenciesMeta:
+      fibers:
+        optional: true
+      node-sass:
+        optional: true
+      sass:
+        optional: true
+    resolution:
+      integrity: sha512-2LqoNPtKkZq/XbXNQ4C64GFEleSEHKv6NPSI+bMC/l+jpEXGJhiRYkAQToO24MR7NU4JRY2RpLpJ/gjo2Uf13w==
+  /sax/1.2.4:
+    resolution:
+      integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
+  /saxes/3.1.11:
+    dependencies:
+      xmlchars: 2.2.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==
+  /scheduler/0.19.1:
+    dependencies:
+      loose-envify: 1.4.0
+      object-assign: 4.1.1
+    resolution:
+      integrity: sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==
+  /scheduler/0.20.1:
+    dependencies:
+      loose-envify: 1.4.0
+      object-assign: 4.1.1
+    resolution:
+      integrity: sha512-LKTe+2xNJBNxu/QhHvDR14wUXHRQbVY5ZOYpOGWRzhydZUqrLb2JBvLPY7cAqFmqrWuDED0Mjk7013SZiOz6Bw==
+  /schema-utils/1.0.0:
+    dependencies:
+      ajv: 6.12.6
+      ajv-errors: 1.0.1_ajv@6.12.6
+      ajv-keywords: 3.5.2_ajv@6.12.6
+    engines:
+      node: '>= 4'
+    resolution:
+      integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==
+  /schema-utils/2.7.1:
+    dependencies:
+      '@types/json-schema': 7.0.7
+      ajv: 6.12.6
+      ajv-keywords: 3.5.2_ajv@6.12.6
+    engines:
+      node: '>= 8.9.0'
+    resolution:
+      integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==
+  /schema-utils/3.0.0:
+    dependencies:
+      '@types/json-schema': 7.0.6
+      ajv: 6.12.6
+      ajv-keywords: 3.5.2_ajv@6.12.6
+    engines:
+      node: '>= 10.13.0'
+    resolution:
+      integrity: sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==
+  /scoped-regex/1.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-o0a7Gs1CB65wvXwMfKnlZra63bg=
+  /sdk-base/2.0.1:
+    dependencies:
+      get-ready: 1.0.0
+    dev: false
+    resolution:
+      integrity: sha1-ukAonovfJy7RHdnql+r5jgNtJMY=
+  /section-matter/1.0.0:
+    dependencies:
+      extend-shallow: 2.0.1
+      kind-of: 6.0.3
+    dev: false
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==
+  /select-hose/2.0.0:
+    resolution:
+      integrity: sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=
+  /select/1.1.2:
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
+  /selfsigned/1.10.8:
+    dependencies:
+      node-forge: 0.10.0
+    resolution:
+      integrity: sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==
+  /semver-diff/2.1.0:
+    dependencies:
+      semver: 5.7.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=
+  /semver/5.7.1:
+    hasBin: true
+    resolution:
+      integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+  /semver/6.3.0:
+    hasBin: true
+    resolution:
+      integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+  /semver/7.0.0:
+    hasBin: true
+    resolution:
+      integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
+  /semver/7.3.2:
+    engines:
+      node: '>=10'
+    hasBin: true
+    resolution:
+      integrity: sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
+  /semver/7.3.4:
+    dependencies:
+      lru-cache: 6.0.0
+    engines:
+      node: '>=10'
+    hasBin: true
+    resolution:
+      integrity: sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==
+  /send/0.17.1:
+    dependencies:
+      debug: 2.6.9
+      depd: 1.1.2
+      destroy: 1.0.4
+      encodeurl: 1.0.2
+      escape-html: 1.0.3
+      etag: 1.8.1
+      fresh: 0.5.2
+      http-errors: 1.7.3
+      mime: 1.6.0
+      ms: 2.1.1
+      on-finished: 2.3.0
+      range-parser: 1.2.1
+      statuses: 1.5.0
+    engines:
+      node: '>= 0.8.0'
+    resolution:
+      integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
+  /serialize-error/2.1.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=
+  /serialize-javascript/1.9.1:
+    resolution:
+      integrity: sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==
+  /serialize-javascript/4.0.0:
+    dependencies:
+      randombytes: 2.1.0
+    resolution:
+      integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==
+  /serve-index/1.9.1:
+    dependencies:
+      accepts: 1.3.7
+      batch: 0.6.1
+      debug: 2.6.9
+      escape-html: 1.0.3
+      http-errors: 1.6.3
+      mime-types: 2.1.27
+      parseurl: 1.3.3
+    engines:
+      node: '>= 0.8.0'
+    resolution:
+      integrity: sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=
+  /serve-static/1.14.1:
+    dependencies:
+      encodeurl: 1.0.2
+      escape-html: 1.0.3
+      parseurl: 1.3.3
+      send: 0.17.1
+    engines:
+      node: '>= 0.8.0'
+    resolution:
+      integrity: sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
+  /set-blocking/2.0.0:
+    resolution:
+      integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
+  /set-getter/0.1.0:
+    dependencies:
+      to-object-path: 0.3.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=
+  /set-value/2.0.1:
+    dependencies:
+      extend-shallow: 2.0.1
+      is-extendable: 0.1.1
+      is-plain-object: 2.0.4
+      split-string: 3.1.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
+  /setimmediate/1.0.5:
+    resolution:
+      integrity: sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
+  /setprototypeof/1.1.0:
+    resolution:
+      integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==
+  /setprototypeof/1.1.1:
+    resolution:
+      integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
+  /sha.js/2.4.11:
+    dependencies:
+      inherits: 2.0.4
+      safe-buffer: 5.2.1
+    hasBin: true
+    resolution:
+      integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
+  /shallow-clone/0.1.2:
+    dependencies:
+      is-extendable: 0.1.1
+      kind-of: 2.0.1
+      lazy-cache: 0.2.7
+      mixin-object: 2.0.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=
+  /shallow-clone/3.0.1:
+    dependencies:
+      kind-of: 6.0.3
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==
+  /shallow-element-equals/1.0.1:
+    dependencies:
+      style-equal: 1.0.0
+    dev: false
+    resolution:
+      integrity: sha1-UHObfZStdWehNBc9P0QiOH7VfOY=
+  /shallowequal/1.1.0:
+    resolution:
+      integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
+  /sharp/0.26.3:
+    dependencies:
+      array-flatten: 3.0.0
+      color: 3.1.3
+      detect-libc: 1.0.3
+      node-addon-api: 3.1.0
+      npmlog: 4.1.2
+      prebuild-install: 6.0.0
+      semver: 7.3.4
+      simple-get: 4.0.0
+      tar-fs: 2.1.1
+      tunnel-agent: 0.6.0
+    dev: false
+    engines:
+      node: '>=10'
+    optional: true
+    requiresBuild: true
+    resolution:
+      integrity: sha512-NdEJ9S6AMr8Px0zgtFo1TJjMK/ROMU92MkDtYn2BBrDjIx3YfH9TUyGdzPC+I/L619GeYQc690Vbaxc5FPCCWg==
+  /shebang-command/1.2.0:
+    dependencies:
+      shebang-regex: 1.0.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
+  /shebang-command/2.0.0:
+    dependencies:
+      shebang-regex: 3.0.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+  /shebang-regex/1.0.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
+  /shebang-regex/3.0.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+  /shell-quote/1.7.2:
+    resolution:
+      integrity: sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==
+  /shelljs/0.8.4:
+    dependencies:
+      glob: 7.1.6
+      interpret: 1.4.0
+      rechoir: 0.6.2
+    engines:
+      node: '>=4'
+    hasBin: true
+    resolution:
+      integrity: sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==
+  /shellwords/0.1.1:
+    resolution:
+      integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==
+  /signal-exit/3.0.3:
+    resolution:
+      integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
+  /signale/1.4.0:
+    dependencies:
+      chalk: 2.4.2
+      figures: 2.0.0
+      pkg-conf: 2.1.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==
+  /simple-concat/1.0.1:
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
+  /simple-get/3.1.0:
+    dependencies:
+      decompress-response: 4.2.1
+      once: 1.4.0
+      simple-concat: 1.0.1
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==
+  /simple-get/4.0.0:
+    dependencies:
+      decompress-response: 6.0.0
+      once: 1.4.0
+      simple-concat: 1.0.1
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-ZalZGexYr3TA0SwySsr5HlgOOinS4Jsa8YB2GJ6lUNAazyAu4KG/VmzMTwAt2YVXzzVj8QmefmAonZIK2BSGcQ==
+  /simple-progress-webpack-plugin/1.1.2:
+    dependencies:
+      chalk: 2.3.2
+      figures: 2.0.0
+      log-update: 2.3.0
+    peerDependencies:
+      webpack: '>=2.0.0'
+    resolution:
+      integrity: sha512-bNQfb3qSqbtsfxg6d0dGechUUJH2lZqKG5+bj2aoJmEA0rSzcm+2JVfC2YgkDABfuGItZ/O5ttt6BssWZW4SNg==
+  /simple-swizzle/0.2.2:
+    dependencies:
+      is-arrayish: 0.3.2
+    resolution:
+      integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
+  /single-spa-react/2.14.0:
+    dev: false
+    peerDependencies:
+      react: '*'
+    resolution:
+      integrity: sha512-KQ2/y7/JBIquK0WUiwb1/Y7f4qTZITNotw+JwNPesj0WKeCi91u0LOZe2ps56QMJbyB4UrA5IzMBwbYWDr1pIw==
+  /sisteransi/1.0.5:
+    resolution:
+      integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
+  /slash/1.0.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
+  /slash/2.0.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
+  /slash/3.0.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+  /smart-buffer/4.1.0:
+    dev: false
+    engines:
+      node: '>= 6.0.0'
+      npm: '>= 3.0.0'
+    resolution:
+      integrity: sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==
+  /snapdragon-node/2.1.1:
+    dependencies:
+      define-property: 1.0.0
+      isobject: 3.0.1
+      snapdragon-util: 3.0.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
+  /snapdragon-util/3.0.1:
+    dependencies:
+      kind-of: 3.2.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
+  /snapdragon/0.8.2:
+    dependencies:
+      base: 0.11.2
+      debug: 2.6.9
+      define-property: 0.2.5
+      extend-shallow: 2.0.1
+      map-cache: 0.2.2
+      source-map: 0.5.7
+      source-map-resolve: 0.5.3
+      use: 3.1.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
+  /sockjs-client/1.4.0:
+    dependencies:
+      debug: 3.2.7
+      eventsource: 1.0.7
+      faye-websocket: 0.11.3
+      inherits: 2.0.4
+      json3: 3.3.3
+      url-parse: 1.4.7
+    resolution:
+      integrity: sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==
+  /sockjs-client/1.5.0:
+    dependencies:
+      debug: 3.2.7
+      eventsource: 1.0.7
+      faye-websocket: 0.11.3
+      inherits: 2.0.4
+      json3: 3.3.3
+      url-parse: 1.4.7
+    resolution:
+      integrity: sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==
+  /sockjs/0.3.20:
+    dependencies:
+      faye-websocket: 0.10.0
+      uuid: 3.4.0
+      websocket-driver: 0.6.5
+    resolution:
+      integrity: sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==
+  /socks-proxy-agent/4.0.2:
+    dependencies:
+      agent-base: 4.2.1
+      socks: 2.3.3
+    dev: false
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==
+  /socks/2.3.3:
+    dependencies:
+      ip: 1.1.5
+      smart-buffer: 4.1.0
+    dev: false
+    engines:
+      node: '>= 6.0.0'
+      npm: '>= 3.0.0'
+    resolution:
+      integrity: sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==
+  /sort-keys/1.1.2:
+    dependencies:
+      is-plain-obj: 1.1.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-RBttTTRnmPG05J6JIK37oOVD+a0=
+  /source-list-map/2.0.1:
+    resolution:
+      integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
+  /source-map-resolve/0.5.3:
+    dependencies:
+      atob: 2.1.2
+      decode-uri-component: 0.2.0
+      resolve-url: 0.2.1
+      source-map-url: 0.4.0
+      urix: 0.1.0
+    resolution:
+      integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==
+  /source-map-support/0.5.19:
+    dependencies:
+      buffer-from: 1.1.1
+      source-map: 0.6.1
+    resolution:
+      integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
+  /source-map-url/0.4.0:
+    resolution:
+      integrity: sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
+  /source-map/0.5.7:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
+  /source-map/0.6.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+  /source-map/0.7.3:
+    engines:
+      node: '>= 8'
+    resolution:
+      integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
+  /source-map/0.8.0-beta.0:
+    dependencies:
+      whatwg-url: 7.1.0
+    dev: false
+    engines:
+      node: '>= 8'
+    resolution:
+      integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==
+  /space-separated-tokens/1.1.5:
+    dev: false
+    resolution:
+      integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
+  /spdx-correct/3.1.1:
+    dependencies:
+      spdx-expression-parse: 3.0.1
+      spdx-license-ids: 3.0.7
+    resolution:
+      integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==
+  /spdx-exceptions/2.3.0:
+    resolution:
+      integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
+  /spdx-expression-parse/3.0.1:
+    dependencies:
+      spdx-exceptions: 2.3.0
+      spdx-license-ids: 3.0.7
+    resolution:
+      integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
+  /spdx-license-ids/3.0.7:
+    resolution:
+      integrity: sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==
+  /spdy-transport/3.0.0_supports-color@6.1.0:
+    dependencies:
+      debug: 4.3.1_supports-color@6.1.0
+      detect-node: 2.0.4
+      hpack.js: 2.1.6
+      obuf: 1.1.2
+      readable-stream: 3.6.0
+      wbuf: 1.7.3
+    peerDependencies:
+      supports-color: '*'
+    resolution:
+      integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==
+  /spdy/4.0.2_supports-color@6.1.0:
+    dependencies:
+      debug: 4.3.1_supports-color@6.1.0
+      handle-thing: 2.0.1
+      http-deceiver: 1.2.7
+      select-hose: 2.0.0
+      spdy-transport: 3.0.0_supports-color@6.1.0
+    engines:
+      node: '>=6.0.0'
+    peerDependencies:
+      supports-color: '*'
+    resolution:
+      integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==
+  /split-on-first/1.1.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
+  /split-string/3.1.0:
+    dependencies:
+      extend-shallow: 3.0.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
+  /sprintf-js/1.0.3:
+    resolution:
+      integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
+  /sshpk/1.16.1:
+    dependencies:
+      asn1: 0.2.4
+      assert-plus: 1.0.0
+      bcrypt-pbkdf: 1.0.2
+      dashdash: 1.14.1
+      ecc-jsbn: 0.1.2
+      getpass: 0.1.7
+      jsbn: 0.1.1
+      safer-buffer: 2.1.2
+      tweetnacl: 0.14.5
+    engines:
+      node: '>=0.10.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
+  /ssri/6.0.1:
+    dependencies:
+      figgy-pudding: 3.5.2
+    resolution:
+      integrity: sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==
+  /stable/0.1.8:
+    resolution:
+      integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
+  /stack-utils/1.0.4:
+    dependencies:
+      escape-string-regexp: 2.0.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==
+  /stacktrace-parser/0.1.10:
+    dependencies:
+      type-fest: 0.7.1
+    dev: false
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==
+  /state-toggle/1.0.3:
+    dev: false
+    resolution:
+      integrity: sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==
+  /static-extend/0.1.2:
+    dependencies:
+      define-property: 0.2.5
+      object-copy: 0.1.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
+  /statuses/1.5.0:
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
+  /std-env/2.2.1:
+    dependencies:
+      ci-info: 1.6.0
+    resolution:
+      integrity: sha512-IjYQUinA3lg5re/YMlwlfhqNRTzMZMqE+pezevdcTaHceqx8ngEi1alX9nNCk9Sc81fy1fLDeQoaCzeiW1yBOQ==
+  /stealthy-require/1.1.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
+  /stream-browserify/2.0.2:
+    dependencies:
+      inherits: 2.0.4
+      readable-stream: 2.3.7
+    resolution:
+      integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==
+  /stream-browserify/3.0.0:
+    dependencies:
+      inherits: 2.0.4
+      readable-stream: 3.6.0
+    dev: false
+    resolution:
+      integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==
+  /stream-each/1.2.3:
+    dependencies:
+      end-of-stream: 1.4.4
+      stream-shift: 1.0.1
+    resolution:
+      integrity: sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==
+  /stream-http/2.8.2:
+    dependencies:
+      builtin-status-codes: 3.0.0
+      inherits: 2.0.4
+      readable-stream: 2.3.7
+      to-arraybuffer: 1.0.1
+      xtend: 4.0.2
+    dev: false
+    resolution:
+      integrity: sha512-QllfrBhqF1DPcz46WxKTs6Mz1Bpc+8Qm6vbqOpVav5odAXwbyzwnEczoWqtxrsmlO+cJqtPrp/8gWKWjaKLLlA==
+  /stream-http/2.8.3:
+    dependencies:
+      builtin-status-codes: 3.0.0
+      inherits: 2.0.4
+      readable-stream: 2.3.7
+      to-arraybuffer: 1.0.1
+      xtend: 4.0.2
+    resolution:
+      integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==
+  /stream-shift/1.0.1:
+    resolution:
+      integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
+  /stream-wormhole/1.1.0:
+    dev: false
+    engines:
+      node: '>=4.0.0'
+    resolution:
+      integrity: sha512-gHFfL3px0Kctd6Po0M8TzEvt3De/xu6cnRrjlfYNhwbhLPLwigI2t1nc6jrzNuaYg5C4YF78PPFuQPzRiqn9ew==
+  /strict-uri-encode/1.1.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
+  /strict-uri-encode/2.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
+  /string-hash/1.1.3:
+    resolution:
+      integrity: sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=
+  /string-length/2.0.0:
+    dependencies:
+      astral-regex: 1.0.0
+      strip-ansi: 4.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=
+  /string-template/0.2.1:
+    resolution:
+      integrity: sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=
+  /string-width/1.0.2:
+    dependencies:
+      code-point-at: 1.1.0
+      is-fullwidth-code-point: 1.0.0
+      strip-ansi: 3.0.1
+    dev: false
+    engines:
+      node: '>=0.10.0'
+    optional: true
+    resolution:
+      integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
+  /string-width/2.1.1:
+    dependencies:
+      is-fullwidth-code-point: 2.0.0
+      strip-ansi: 4.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
+  /string-width/3.1.0:
+    dependencies:
+      emoji-regex: 7.0.3
+      is-fullwidth-code-point: 2.0.0
+      strip-ansi: 5.2.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
+  /string-width/4.2.0:
+    dependencies:
+      emoji-regex: 8.0.0
+      is-fullwidth-code-point: 3.0.0
+      strip-ansi: 6.0.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
+  /string.prototype.padend/3.1.0:
+    dependencies:
+      define-properties: 1.1.3
+      es-abstract: 1.17.7
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-3aIv8Ffdp8EZj8iLwREGpQaUZiPyrWrpzMBHvkiSW/bK/EGve9np07Vwy7IJ5waydpGXzQZu/F8Oze2/IWkBaA==
+  /string.prototype.padend/3.1.1:
+    dependencies:
+      call-bind: 1.0.0
+      define-properties: 1.1.3
+      es-abstract: 1.18.0-next.1
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-eCzTASPnoCr5Ht+Vn1YXgm8SB015hHKgEIMu9Nr9bQmLhRBxKRfmzSj/IQsxDFc8JInJDDFA0qXwK+xxI7wDkg==
+  /string.prototype.trim/1.2.3:
+    dependencies:
+      call-bind: 1.0.2
+      define-properties: 1.1.3
+      es-abstract: 1.18.0-next.2
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-16IL9pIBA5asNOSukPfxX2W68BaBvxyiRK16H3RA/lWW9BDosh+w7f+LhomPHpXJ82QEe7w7/rY/S1CV97raLg==
+  /string.prototype.trimend/1.0.3:
+    dependencies:
+      call-bind: 1.0.0
+      define-properties: 1.1.3
+    resolution:
+      integrity: sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==
+  /string.prototype.trimstart/1.0.3:
+    dependencies:
+      call-bind: 1.0.0
+      define-properties: 1.1.3
+    resolution:
+      integrity: sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==
+  /string_decoder/0.10.31:
+    dev: false
+    resolution:
+      integrity: sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
+  /string_decoder/1.1.1:
+    dependencies:
+      safe-buffer: 5.1.2
+    resolution:
+      integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+  /string_decoder/1.3.0:
+    dependencies:
+      safe-buffer: 5.2.1
+    resolution:
+      integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+  /strip-ansi/3.0.1:
+    dependencies:
+      ansi-regex: 2.1.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
+  /strip-ansi/4.0.0:
+    dependencies:
+      ansi-regex: 3.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8=
+  /strip-ansi/5.2.0:
+    dependencies:
+      ansi-regex: 4.1.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
+  /strip-ansi/6.0.0:
+    dependencies:
+      ansi-regex: 5.0.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
+  /strip-bom-buf/1.0.0:
+    dependencies:
+      is-utf8: 0.2.1
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=
+  /strip-bom-stream/2.0.0:
+    dependencies:
+      first-chunk-stream: 2.0.0
+      strip-bom: 2.0.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-+H217yYT9paKpUWr/h7HKLaoKco=
+  /strip-bom-string/1.0.0:
+    dev: false
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=
+  /strip-bom/2.0.0:
+    dependencies:
+      is-utf8: 0.2.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
+  /strip-bom/3.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
+  /strip-eof/1.0.0:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
+  /strip-final-newline/2.0.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+  /strip-json-comments/2.0.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=
+  /style-equal/1.0.0:
+    dev: false
+    resolution:
+      integrity: sha1-mKHFkiImv+E8GW5z8ZQOkbjmZZU=
+  /style-loader/0.23.1:
+    dependencies:
+      loader-utils: 1.4.0
+      schema-utils: 1.0.0
+    engines:
+      node: '>= 0.12.0'
+    resolution:
+      integrity: sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==
+  /style-loader/1.2.1_webpack@4.44.1:
+    dependencies:
+      loader-utils: 2.0.0
+      schema-utils: 2.7.1
+      webpack: 4.44.1
+    dev: false
+    engines:
+      node: '>= 8.9.0'
+    peerDependencies:
+      webpack: ^4.0.0 || ^5.0.0
+    resolution:
+      integrity: sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==
+  /style-loader/2.0.0_webpack@4.44.2:
+    dependencies:
+      loader-utils: 2.0.0
+      schema-utils: 3.0.0
+      webpack: 4.44.2_webpack-cli@4.4.0
+    dev: true
+    engines:
+      node: '>= 10.13.0'
+    peerDependencies:
+      webpack: ^4.0.0 || ^5.0.0
+    resolution:
+      integrity: sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==
+  /style-to-object/0.3.0:
+    dependencies:
+      inline-style-parser: 0.1.1
+    dev: false
+    resolution:
+      integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==
+  /styled-components/4.4.1:
+    dependencies:
+      '@babel/helper-module-imports': 7.12.5
+      '@babel/traverse': 7.12.12_supports-color@5.5.0
+      '@emotion/is-prop-valid': 0.8.8
+      '@emotion/unitless': 0.7.5
+      babel-plugin-styled-components: 1.11.1_styled-components@4.4.1
+      css-to-react-native: 2.3.2
+      memoize-one: 5.1.1
+      merge-anything: 2.4.4
+      prop-types: 15.7.2
+      react-is: 16.13.1
+      stylis: 3.5.4
+      stylis-rule-sheet: 0.0.10_stylis@3.5.4
+      supports-color: 5.5.0
+    dev: false
+    peerDependencies:
+      react: '>= 16.3.0'
+      react-dom: '>= 16.3.0'
+    requiresBuild: true
+    resolution:
+      integrity: sha512-RNqj14kYzw++6Sr38n7197xG33ipEOktGElty4I70IKzQF1jzaD1U4xQ+Ny/i03UUhHlC5NWEO+d8olRCDji6g==
+  /styled-jsx/3.3.2_react@17.0.1:
+    dependencies:
+      '@babel/types': 7.8.3
+      babel-plugin-syntax-jsx: 6.18.0
+      convert-source-map: 1.7.0
+      loader-utils: 1.2.3
+      react: 17.0.1
+      source-map: 0.7.3
+      string-hash: 1.1.3
+      stylis: 3.5.4
+      stylis-rule-sheet: 0.0.10_stylis@3.5.4
+    dev: false
+    peerDependencies:
+      react: 15.x.x || 16.x.x || 17.x.x
+    resolution:
+      integrity: sha512-daAkGd5mqhbBhLd6jYAjYBa9LpxYCzsgo/f6qzPdFxVB8yoGbhxvzQgkC0pfmCVvW3JuAEBn0UzFLBfkHVZG1g==
+  /stylehacks/4.0.3:
+    dependencies:
+      browserslist: 4.16.1
+      postcss: 7.0.35
+      postcss-selector-parser: 3.1.2
+    engines:
+      node: '>=6.9.0'
+    resolution:
+      integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==
+  /stylis-rule-sheet/0.0.10_stylis@3.5.4:
+    dependencies:
+      stylis: 3.5.4
+    dev: false
+    peerDependencies:
+      stylis: ^3.5.0
+    resolution:
+      integrity: sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==
+  /stylis/3.5.4:
+    dev: false
+    resolution:
+      integrity: sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==
+  /supports-color/2.0.0:
+    engines:
+      node: '>=0.8.0'
+    resolution:
+      integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
+  /supports-color/3.2.3:
+    dependencies:
+      has-flag: 1.0.0
+    engines:
+      node: '>=0.8.0'
+    resolution:
+      integrity: sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=
+  /supports-color/5.5.0:
+    dependencies:
+      has-flag: 3.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+  /supports-color/6.1.0:
+    dependencies:
+      has-flag: 3.0.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
+  /supports-color/7.2.0:
+    dependencies:
+      has-flag: 4.0.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+  /svg-parser/2.0.4:
+    resolution:
+      integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==
+  /svgo/1.3.2:
+    dependencies:
+      chalk: 2.4.2
+      coa: 2.0.2
+      css-select: 2.1.0
+      css-select-base-adapter: 0.1.1
+      css-tree: 1.0.0-alpha.37
+      csso: 4.2.0
+      js-yaml: 3.14.1
+      mkdirp: 0.5.5
+      object.values: 1.1.2
+      sax: 1.2.4
+      stable: 0.1.8
+      unquote: 1.1.1
+      util.promisify: 1.0.1
+    engines:
+      node: '>=4.0.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==
+  /symbol-tree/3.2.4:
+    resolution:
+      integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
+  /tapable/1.1.3:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
+  /tar-fs/2.1.1:
+    dependencies:
+      chownr: 1.1.4
+      mkdirp-classic: 0.5.3
+      pump: 3.0.0
+      tar-stream: 2.2.0
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
+  /tar-stream/2.2.0:
+    dependencies:
+      bl: 4.0.3
+      end-of-stream: 1.4.4
+      fs-constants: 1.0.0
+      inherits: 2.0.4
+      readable-stream: 3.6.0
+    dev: false
+    engines:
+      node: '>=6'
+    optional: true
+    resolution:
+      integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
+  /term-size/1.2.0:
+    dependencies:
+      execa: 0.7.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=
+  /terser-webpack-plugin/1.4.5:
+    dependencies:
+      cacache: 12.0.4
+      find-cache-dir: 2.1.0
+      is-wsl: 1.1.0
+      schema-utils: 1.0.0
+      serialize-javascript: 4.0.0
+      source-map: 0.6.1
+      terser: 4.8.0
+      webpack-sources: 1.4.3
+      worker-farm: 1.7.0
+    engines:
+      node: '>= 6.9.0'
+    peerDependencies:
+      webpack: ^4.0.0
+    resolution:
+      integrity: sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==
+  /terser-webpack-plugin/1.4.5_webpack@4.44.1:
+    dependencies:
+      cacache: 12.0.4
+      find-cache-dir: 2.1.0
+      is-wsl: 1.1.0
+      schema-utils: 1.0.0
+      serialize-javascript: 4.0.0
+      source-map: 0.6.1
+      terser: 4.8.0
+      webpack: 4.44.1
+      webpack-sources: 1.4.3
+      worker-farm: 1.7.0
+    dev: false
+    engines:
+      node: '>= 6.9.0'
+    peerDependencies:
+      webpack: ^4.0.0
+    resolution:
+      integrity: sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==
+  /terser-webpack-plugin/1.4.5_webpack@4.44.2:
+    dependencies:
+      cacache: 12.0.4
+      find-cache-dir: 2.1.0
+      is-wsl: 1.1.0
+      schema-utils: 1.0.0
+      serialize-javascript: 4.0.0
+      source-map: 0.6.1
+      terser: 4.8.0
+      webpack: 4.44.2
+      webpack-sources: 1.4.3
+      worker-farm: 1.7.0
+    engines:
+      node: '>= 6.9.0'
+    peerDependencies:
+      webpack: ^4.0.0
+    resolution:
+      integrity: sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==
+  /terser-webpack-plugin/1.4.5_webpack@4.46.0:
+    dependencies:
+      cacache: 12.0.4
+      find-cache-dir: 2.1.0
+      is-wsl: 1.1.0
+      schema-utils: 1.0.0
+      serialize-javascript: 4.0.0
+      source-map: 0.6.1
+      terser: 4.8.0
+      webpack: 4.46.0
+      webpack-sources: 1.4.3
+      worker-farm: 1.7.0
+    engines:
+      node: '>= 6.9.0'
+    peerDependencies:
+      webpack: ^4.0.0
+    resolution:
+      integrity: sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==
+  /terser/4.8.0:
+    dependencies:
+      commander: 2.20.3
+      source-map: 0.6.1
+      source-map-support: 0.5.19
+    engines:
+      node: '>=6.0.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==
+  /terser/5.5.1:
+    dependencies:
+      commander: 2.20.3
+      source-map: 0.7.3
+      source-map-support: 0.5.19
+    dev: false
+    engines:
+      node: '>=10'
+    hasBin: true
+    resolution:
+      integrity: sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==
+  /test-exclude/5.2.3:
+    dependencies:
+      glob: 7.1.6
+      minimatch: 3.0.4
+      read-pkg-up: 4.0.0
+      require-main-filename: 2.0.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==
+  /text-table/0.2.0:
+    resolution:
+      integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+  /textextensions/2.6.0:
+    engines:
+      node: '>=0.8'
+    resolution:
+      integrity: sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ==
+  /thenify-all/1.6.0:
+    dependencies:
+      thenify: 3.3.1
+    dev: false
+    engines:
+      node: '>=0.8'
+    resolution:
+      integrity: sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=
+  /thenify/3.3.1:
+    dependencies:
+      any-promise: 1.3.0
+    dev: false
+    resolution:
+      integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==
+  /thread-loader/2.1.3:
+    dependencies:
+      loader-runner: 2.4.0
+      loader-utils: 1.4.0
+      neo-async: 2.6.2
+    engines:
+      node: '>= 6.9.0 <7.0.0 || >= 8.9.0'
+    peerDependencies:
+      webpack: ^2.0.0 || ^3.0.0 || ^4.0.0
+    resolution:
+      integrity: sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==
+  /throat/4.1.0:
+    resolution:
+      integrity: sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=
+  /through/2.3.8:
+    resolution:
+      integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
+  /through2/2.0.5:
+    dependencies:
+      readable-stream: 2.3.7
+      xtend: 4.0.2
+    resolution:
+      integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
+  /through2/3.0.2:
+    dependencies:
+      inherits: 2.0.4
+      readable-stream: 3.6.0
+    resolution:
+      integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==
+  /thunkify/2.1.2:
+    dev: false
+    resolution:
+      integrity: sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=
+  /thunky/1.1.0:
+    resolution:
+      integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==
+  /timed-out/4.0.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=
+  /timers-browserify/2.0.12:
+    dependencies:
+      setimmediate: 1.0.5
+    engines:
+      node: '>=0.6.0'
+    resolution:
+      integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==
+  /timsort/0.3.0:
+    resolution:
+      integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
+  /tiny-emitter/2.1.0:
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
+  /tmp/0.0.33:
+    dependencies:
+      os-tmpdir: 1.0.2
+    engines:
+      node: '>=0.6.0'
+    resolution:
+      integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
+  /tmpl/1.0.4:
+    resolution:
+      integrity: sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=
+  /to-arraybuffer/1.0.1:
+    resolution:
+      integrity: sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
+  /to-fast-properties/1.0.3:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
+  /to-fast-properties/2.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+  /to-object-path/0.3.0:
+    dependencies:
+      kind-of: 3.2.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
+  /to-readable-stream/1.0.0:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==
+  /to-regex-range/2.1.1:
+    dependencies:
+      is-number: 3.0.0
+      repeat-string: 1.6.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
+  /to-regex-range/5.0.1:
+    dependencies:
+      is-number: 7.0.0
+    engines:
+      node: '>=8.0'
+    resolution:
+      integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+  /to-regex/3.0.2:
+    dependencies:
+      define-property: 2.0.2
+      extend-shallow: 3.0.2
+      regex-not: 1.0.2
+      safe-regex: 1.1.0
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
+  /toggle-selection/1.0.6:
+    dev: false
+    resolution:
+      integrity: sha1-bkWxJj8gF/oKzH2J14sVuL932jI=
+  /toidentifier/1.0.0:
+    engines:
+      node: '>=0.6'
+    resolution:
+      integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
+  /toposort/1.0.7:
+    resolution:
+      integrity: sha1-LmhELZ9k7HILjMieZEOsbKqVACk=
+  /tough-cookie/2.5.0:
+    dependencies:
+      psl: 1.8.0
+      punycode: 2.1.1
+    engines:
+      node: '>=0.8'
+    resolution:
+      integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+  /tr46/1.0.1:
+    dependencies:
+      punycode: 2.1.1
+    resolution:
+      integrity: sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=
+  /traverse/0.6.6:
+    dev: false
+    resolution:
+      integrity: sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=
+  /trim-trailing-lines/1.1.4:
+    dev: false
+    resolution:
+      integrity: sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==
+  /trim/0.0.1:
+    dev: false
+    resolution:
+      integrity: sha1-WFhUf2spB1fulczMZm+1AITEYN0=
+  /trough/1.0.5:
+    dev: false
+    resolution:
+      integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==
+  /tryer/1.0.1:
+    resolution:
+      integrity: sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==
+  /ts-jest/24.3.0:
+    dependencies:
+      bs-logger: 0.2.6
+      buffer-from: 1.1.1
+      fast-json-stable-stringify: 2.1.0
+      json5: 2.1.3
+      lodash.memoize: 4.1.2
+      make-error: 1.3.6
+      mkdirp: 0.5.5
+      resolve: 1.19.0
+      semver: 5.7.1
+      yargs-parser: 10.1.0
+    engines:
+      node: '>= 6'
+    hasBin: true
+    peerDependencies:
+      jest: '>=24 <25'
+    resolution:
+      integrity: sha512-Hb94C/+QRIgjVZlJyiWwouYUF+siNJHJHknyspaOcZ+OQAIdFG/UrdQVXw/0B8Z3No34xkUXZJpOTy9alOWdVQ==
+  /ts-loader/6.2.2_typescript@3.9.7:
+    dependencies:
+      chalk: 2.4.2
+      enhanced-resolve: 4.5.0
+      loader-utils: 1.4.0
+      micromatch: 4.0.2
+      semver: 6.3.0
+      typescript: 3.9.7
+    engines:
+      node: '>=8.6'
+    peerDependencies:
+      typescript: '*'
+    resolution:
+      integrity: sha512-HDo5kXZCBml3EUPcc7RlZOV/JGlLHwppTLEHb3SHnr5V7NXD4klMEkrhJe5wgRbaWsSXi+Y1SIBN/K9B6zWGWQ==
+  /ts-pnp/1.2.0_typescript@4.1.3:
+    dependencies:
+      typescript: 4.1.3
+    dev: false
+    engines:
+      node: '>=6'
+    peerDependencies:
+      typescript: '*'
+    peerDependenciesMeta:
+      typescript:
+        optional: true
+    resolution:
+      integrity: sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==
+  /tslib/1.14.1:
+    resolution:
+      integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+  /tslib/2.1.0:
+    dev: false
+    resolution:
+      integrity: sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==
+  /tty-browserify/0.0.0:
+    resolution:
+      integrity: sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=
+  /tunnel-agent/0.6.0:
+    dependencies:
+      safe-buffer: 5.2.1
+    resolution:
+      integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
+  /tweetnacl/0.14.5:
+    resolution:
+      integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
+  /type-check/0.3.2:
+    dependencies:
+      prelude-ls: 1.1.2
+    engines:
+      node: '>= 0.8.0'
+    resolution:
+      integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
+  /type-fest/0.11.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
+  /type-fest/0.3.1:
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==
+  /type-fest/0.6.0:
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==
+  /type-fest/0.7.1:
+    dev: false
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==
+  /type-is/1.6.18:
+    dependencies:
+      media-typer: 0.3.0
+      mime-types: 2.1.27
+    engines:
+      node: '>= 0.6'
+    resolution:
+      integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
+  /type/1.2.0:
+    resolution:
+      integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
+  /type/2.1.0:
+    resolution:
+      integrity: sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==
+  /typedarray/0.0.6:
+    resolution:
+      integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+  /typescript/3.9.7:
+    engines:
+      node: '>=4.2.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==
+  /typescript/4.1.3:
+    dev: true
+    engines:
+      node: '>=4.2.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==
+  /uglify-js/3.12.5:
+    engines:
+      node: '>=0.8.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-SgpgScL4T7Hj/w/GexjnBHi3Ien9WS1Rpfg5y91WXMj9SY997ZCQU76mH4TpLwwfmMvoOU8wiaRkIf6NaH3mtg==
+  /uglify-js/3.4.10:
+    dependencies:
+      commander: 2.19.0
+      source-map: 0.6.1
+    engines:
+      node: '>=0.8.0'
+    hasBin: true
+    resolution:
+      integrity: sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==
+  /uglifyjs-webpack-plugin/2.2.0:
+    dependencies:
+      cacache: 12.0.4
+      find-cache-dir: 2.1.0
+      is-wsl: 1.1.0
+      schema-utils: 1.0.0
+      serialize-javascript: 1.9.1
+      source-map: 0.6.1
+      uglify-js: 3.12.5
+      webpack-sources: 1.4.3
+      worker-farm: 1.7.0
+    engines:
+      node: '>= 6.9.0'
+    peerDependencies:
+      webpack: ^4.0.0
+    resolution:
+      integrity: sha512-mHSkufBmBuJ+KHQhv5H0MXijtsoA1lynJt1lXOaotja8/I0pR4L9oGaPIZw+bQBOFittXZg9OC1sXSGO9D9ZYg==
+  /unescape/1.0.1:
+    dependencies:
+      extend-shallow: 2.0.1
+    dev: false
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-O0+af1Gs50lyH1nUu3ZyYS1cRh01Q/kUKatTOkSs7jukXE6/NebucDVxyiDsA9AQ4JC1V1jUH9EO8JX2nMDgGQ==
+  /unherit/1.1.3:
+    dependencies:
+      inherits: 2.0.4
+      xtend: 4.0.2
+    dev: false
+    resolution:
+      integrity: sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==
+  /unicode-canonical-property-names-ecmascript/1.0.4:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==
+  /unicode-match-property-ecmascript/1.0.4:
+    dependencies:
+      unicode-canonical-property-names-ecmascript: 1.0.4
+      unicode-property-aliases-ecmascript: 1.1.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==
+  /unicode-match-property-value-ecmascript/1.2.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==
+  /unicode-property-aliases-ecmascript/1.1.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==
+  /unified/9.2.0:
+    dependencies:
+      bail: 1.0.5
+      extend: 3.0.2
+      is-buffer: 2.0.5
+      is-plain-obj: 2.1.0
+      trough: 1.0.5
+      vfile: 4.2.0
+    dev: false
+    resolution:
+      integrity: sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==
+  /union-value/1.0.1:
+    dependencies:
+      arr-union: 3.1.0
+      get-value: 2.0.6
+      is-extendable: 0.1.1
+      set-value: 2.0.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
+  /uniq/1.0.1:
+    resolution:
+      integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=
+  /uniqs/2.0.0:
+    resolution:
+      integrity: sha1-/+3ks2slKQaW5uFl1KWe25mOawI=
+  /unique-filename/1.1.1:
+    dependencies:
+      unique-slug: 2.0.2
+    resolution:
+      integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==
+  /unique-slug/2.0.2:
+    dependencies:
+      imurmurhash: 0.1.4
+    resolution:
+      integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==
+  /unique-string/1.0.0:
+    dependencies:
+      crypto-random-string: 1.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=
+  /unist-builder/2.0.3:
+    dev: false
+    resolution:
+      integrity: sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==
+  /unist-util-generated/1.1.6:
+    dev: false
+    resolution:
+      integrity: sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==
+  /unist-util-is/3.0.0:
+    dev: false
+    resolution:
+      integrity: sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==
+  /unist-util-is/4.0.3:
+    dev: false
+    resolution:
+      integrity: sha512-bTofCFVx0iQM8Jqb1TBDVRIQW03YkD3p66JOd/aCWuqzlLyUtx1ZAGw/u+Zw+SttKvSVcvTiKYbfrtLoLefykw==
+  /unist-util-is/4.0.4:
+    dev: false
+    resolution:
+      integrity: sha512-3dF39j/u423v4BBQrk1AQ2Ve1FxY5W3JKwXxVFzBODQ6WEvccguhgp802qQLKSnxPODE6WuRZtV+ohlUg4meBA==
+  /unist-util-position/3.1.0:
+    dev: false
+    resolution:
+      integrity: sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==
+  /unist-util-remove-position/2.0.1:
+    dependencies:
+      unist-util-visit: 2.0.3
+    dev: false
+    resolution:
+      integrity: sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==
+  /unist-util-remove/2.0.1:
+    dependencies:
+      unist-util-is: 4.0.4
+    dev: false
+    resolution:
+      integrity: sha512-YtuetK6o16CMfG+0u4nndsWpujgsHDHHLyE0yGpJLLn5xSjKeyGyzEBOI2XbmoUHCYabmNgX52uxlWoQhcvR7Q==
+  /unist-util-stringify-position/2.0.3:
+    dependencies:
+      '@types/unist': 2.0.3
+    dev: false
+    resolution:
+      integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==
+  /unist-util-visit-parents/2.1.2:
+    dependencies:
+      unist-util-is: 3.0.0
+    dev: false
+    resolution:
+      integrity: sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==
+  /unist-util-visit-parents/3.1.1:
+    dependencies:
+      '@types/unist': 2.0.3
+      unist-util-is: 4.0.3
+    dev: false
+    resolution:
+      integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==
+  /unist-util-visit/1.4.1:
+    dependencies:
+      unist-util-visit-parents: 2.1.2
+    dev: false
+    resolution:
+      integrity: sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==
+  /unist-util-visit/2.0.3:
+    dependencies:
+      '@types/unist': 2.0.3
+      unist-util-is: 4.0.3
+      unist-util-visit-parents: 3.1.1
+    dev: false
+    resolution:
+      integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==
+  /universalify/0.1.2:
+    engines:
+      node: '>= 4.0.0'
+    resolution:
+      integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+  /universalify/2.0.0:
+    dev: false
+    engines:
+      node: '>= 10.0.0'
+    resolution:
+      integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
+  /unpipe/1.0.0:
+    engines:
+      node: '>= 0.8'
+    resolution:
+      integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
+  /unquote/1.1.1:
+    resolution:
+      integrity: sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=
+  /unset-value/1.0.0:
+    dependencies:
+      has-value: 0.3.1
+      isobject: 3.0.1
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
+  /untildify/3.0.3:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==
+  /unzip-response/2.0.1:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=
+  /upath/1.2.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
+  /update-notifier/3.0.1:
+    dependencies:
+      boxen: 3.2.0
+      chalk: 2.4.2
+      configstore: 4.0.0
+      has-yarn: 2.1.0
+      import-lazy: 2.1.0
+      is-ci: 2.0.0
+      is-installed-globally: 0.1.0
+      is-npm: 3.0.0
+      is-yarn-global: 0.3.0
+      latest-version: 5.1.0
+      semver-diff: 2.1.0
+      xdg-basedir: 3.0.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ==
+  /upper-case/1.1.3:
+    resolution:
+      integrity: sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=
+  /uri-js/4.4.0:
+    dependencies:
+      punycode: 2.1.1
+    resolution:
+      integrity: sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==
+  /urix/0.1.0:
+    deprecated: 'Please see https://github.com/lydell/urix#deprecated'
+    resolution:
+      integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
+  /url-loader/2.3.0_file-loader@4.3.0:
+    dependencies:
+      file-loader: 4.3.0
+      loader-utils: 1.4.0
+      mime: 2.5.0
+      schema-utils: 2.7.1
+    engines:
+      node: '>= 8.9.0'
+    peerDependencies:
+      file-loader: '*'
+      webpack: ^4.0.0
+    peerDependenciesMeta:
+      file-loader:
+        optional: true
+    resolution:
+      integrity: sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==
+  /url-parse-lax/1.0.0:
+    dependencies:
+      prepend-http: 1.0.4
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=
+  /url-parse-lax/3.0.0:
+    dependencies:
+      prepend-http: 2.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=
+  /url-parse/1.4.7:
+    dependencies:
+      querystringify: 2.2.0
+      requires-port: 1.0.0
+    resolution:
+      integrity: sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==
+  /url-to-options/1.0.1:
+    engines:
+      node: '>= 4'
+    resolution:
+      integrity: sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=
+  /url/0.11.0:
+    dependencies:
+      punycode: 1.3.2
+      querystring: 0.2.0
+    resolution:
+      integrity: sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
+  /urllib/2.36.1:
+    dependencies:
+      any-promise: 1.3.0
+      content-type: 1.0.4
+      debug: 2.6.9
+      default-user-agent: 1.0.0
+      digest-header: 0.0.1
+      ee-first: 1.1.1
+      formstream: 1.1.0
+      humanize-ms: 1.2.1
+      iconv-lite: 0.4.24
+      ip: 1.1.5
+      proxy-agent: 3.1.1
+      pump: 3.0.0
+      qs: 6.9.6
+      statuses: 1.5.0
+      utility: 1.17.0
+    dev: false
+    engines:
+      node: '>= 0.10.0'
+    resolution:
+      integrity: sha512-g0Gh7bH5AwfPUzFetxPtJwumGHE6D7KQn0K68MwcJXPgO2K0AliwEIxLAwGMF+TpY75DYAsvz1h9ekagYoq33w==
+  /use-subscription/1.5.1_react@17.0.1:
+    dependencies:
+      object-assign: 4.1.1
+      react: 17.0.1
+    dev: false
+    peerDependencies:
+      react: ^16.8.0 || ^17.0.0
+    resolution:
+      integrity: sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==
+  /use/3.1.1:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
+  /user-home/2.0.0:
+    dependencies:
+      os-homedir: 1.0.2
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-nHC/2Babwdy/SGBODwS4tJzenp8=
+  /util-deprecate/1.0.2:
+    resolution:
+      integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+  /util.promisify/1.0.0:
+    dependencies:
+      define-properties: 1.1.3
+      object.getownpropertydescriptors: 2.1.1
+    resolution:
+      integrity: sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==
+  /util.promisify/1.0.1:
+    dependencies:
+      define-properties: 1.1.3
+      es-abstract: 1.17.7
+      has-symbols: 1.0.1
+      object.getownpropertydescriptors: 2.1.1
+    resolution:
+      integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==
+  /util.promisify/1.1.1:
+    dependencies:
+      call-bind: 1.0.2
+      define-properties: 1.1.3
+      for-each: 0.3.3
+      has-symbols: 1.0.1
+      object.getownpropertydescriptors: 2.1.1
+    resolution:
+      integrity: sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==
+  /util/0.10.3:
+    dependencies:
+      inherits: 2.0.1
+    resolution:
+      integrity: sha1-evsa/lCAUkZInj23/g7TeTNqwPk=
+  /util/0.11.1:
+    dependencies:
+      inherits: 2.0.3
+    resolution:
+      integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==
+  /util/0.12.3:
+    dependencies:
+      inherits: 2.0.4
+      is-arguments: 1.1.0
+      is-generator-function: 1.0.8
+      is-typed-array: 1.1.4
+      safe-buffer: 5.2.1
+      which-typed-array: 1.1.4
+    resolution:
+      integrity: sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==
+  /utila/0.4.0:
+    resolution:
+      integrity: sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=
+  /utility/0.1.11:
+    dependencies:
+      address: 1.1.2
+    dev: false
+    engines:
+      node: '>= 0.8.0'
+    resolution:
+      integrity: sha1-/eYM+bTkdRlHoM9dEEzik2ciZxU=
+  /utility/1.17.0:
+    dependencies:
+      copy-to: 2.0.1
+      escape-html: 1.0.3
+      mkdirp: 0.5.5
+      mz: 2.7.0
+      unescape: 1.0.1
+    dev: false
+    engines:
+      node: '>= 0.12.0'
+    resolution:
+      integrity: sha512-KdVkF9An/0239BJ4+dqOa7NPrPIOeQE9AGfx0XS16O9DBiHNHRJMoeU5nL6pRGAkgJOqdOu8R4gBRcXnAocJKw==
+  /utils-merge/1.0.1:
+    engines:
+      node: '>= 0.4.0'
+    resolution:
+      integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
+  /uuid/3.4.0:
+    hasBin: true
+    resolution:
+      integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+  /v8-compile-cache/2.2.0:
+    dev: true
+    resolution:
+      integrity: sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==
+  /validate-npm-package-license/3.0.4:
+    dependencies:
+      spdx-correct: 3.1.1
+      spdx-expression-parse: 3.0.1
+    resolution:
+      integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
+  /vary/1.1.2:
+    engines:
+      node: '>= 0.8'
+    resolution:
+      integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
+  /vendors/1.0.4:
+    resolution:
+      integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==
+  /verror/1.10.0:
+    dependencies:
+      assert-plus: 1.0.0
+      core-util-is: 1.0.2
+      extsprintf: 1.3.0
+    engines:
+      '0': node >=0.6.0
+    resolution:
+      integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
+  /vfile-location/3.2.0:
+    dev: false
+    resolution:
+      integrity: sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==
+  /vfile-message/2.0.4:
+    dependencies:
+      '@types/unist': 2.0.3
+      unist-util-stringify-position: 2.0.3
+    dev: false
+    resolution:
+      integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==
+  /vfile/4.2.0:
+    dependencies:
+      '@types/unist': 2.0.3
+      is-buffer: 2.0.5
+      replace-ext: 1.0.0
+      unist-util-stringify-position: 2.0.3
+      vfile-message: 2.0.4
+    dev: false
+    resolution:
+      integrity: sha512-a/alcwCvtuc8OX92rqqo7PflxiCgXRFjdyoGVuYV+qbgCb0GgZJRvIgCD4+U/Kl1yhaRsaTwksF88xbPyGsgpw==
+  /vinyl-file/3.0.0:
+    dependencies:
+      graceful-fs: 4.2.4
+      pify: 2.3.0
+      strip-bom-buf: 1.0.0
+      strip-bom-stream: 2.0.0
+      vinyl: 2.2.1
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-sQTZ5ECf+jJfqt1SBkLQo7SIs2U=
+  /vinyl/2.2.1:
+    dependencies:
+      clone: 2.1.2
+      clone-buffer: 1.0.0
+      clone-stats: 1.0.0
+      cloneable-readable: 1.1.3
+      remove-trailing-separator: 1.1.0
+      replace-ext: 1.0.1
+    engines:
+      node: '>= 0.10'
+    resolution:
+      integrity: sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==
+  /vm-browserify/1.1.2:
+    resolution:
+      integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
+  /w3c-hr-time/1.0.2:
+    dependencies:
+      browser-process-hrtime: 1.0.0
+    resolution:
+      integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==
+  /walker/1.0.7:
+    dependencies:
+      makeerror: 1.0.11
+    resolution:
+      integrity: sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=
+  /watchpack-chokidar2/2.0.1:
+    dependencies:
+      chokidar: 2.1.8
+    optional: true
+    resolution:
+      integrity: sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==
+  /watchpack/1.7.5:
+    dependencies:
+      graceful-fs: 4.2.4
+      neo-async: 2.6.2
+    optionalDependencies:
+      chokidar: 3.4.3
+      watchpack-chokidar2: 2.0.1
+    resolution:
+      integrity: sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==
+  /watchpack/2.0.0-beta.13:
+    dependencies:
+      glob-to-regexp: 0.4.1
+      graceful-fs: 4.2.4
+    dev: false
+    engines:
+      node: '>=10.13.0'
+    resolution:
+      integrity: sha512-ZEFq2mx/k5qgQwgi6NOm+2ImICb8ngAkA/rZ6oyXZ7SgPn3pncf+nfhYTCrs3lmHwOxnPtGLTOuFLfpSMh1VMA==
+  /wbuf/1.7.3:
+    dependencies:
+      minimalistic-assert: 1.0.1
+    resolution:
+      integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==
+  /wcwidth/1.0.1:
+    dependencies:
+      defaults: 1.0.3
+    resolution:
+      integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=
+  /web-namespaces/1.1.4:
+    dev: false
+    resolution:
+      integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==
+  /webidl-conversions/4.0.2:
+    resolution:
+      integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
+  /webpack-assets-manifest/3.1.1:
+    dependencies:
+      chalk: 2.4.2
+      lodash.get: 4.4.2
+      lodash.has: 4.5.2
+      mkdirp: 0.5.5
+      schema-utils: 1.0.0
+      tapable: 1.1.3
+      webpack-sources: 1.4.3
+    dev: false
+    engines:
+      node: '>=6.11.5'
+    peerDependencies:
+      webpack: '>=4.4.0'
+    resolution:
+      integrity: sha512-JV9V2QKc5wEWQptdIjvXDUL1ucbPLH2f27toAY3SNdGZp+xSaStAgpoMcvMZmqtFrBc9a5pTS1058vxyMPOzRQ==
+  /webpack-bundle-analyzer/3.9.0:
+    dependencies:
+      acorn: 7.4.1
+      acorn-walk: 7.2.0
+      bfj: 6.1.2
+      chalk: 2.4.2
+      commander: 2.20.3
+      ejs: 2.7.4
+      express: 4.17.1
+      filesize: 3.6.1
+      gzip-size: 5.1.1
+      lodash: 4.17.20
+      mkdirp: 0.5.5
+      opener: 1.5.2
+      ws: 6.2.1
+    engines:
+      node: '>= 6.14.4'
+    hasBin: true
+    resolution:
+      integrity: sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==
+  /webpack-chain/6.5.1:
+    dependencies:
+      deepmerge: 1.5.2
+      javascript-stringify: 2.0.1
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==
+  /webpack-cli/4.4.0_webpack@4.44.2:
+    dependencies:
+      '@discoveryjs/json-ext': 0.5.2
+      '@webpack-cli/configtest': 1.0.0_webpack-cli@4.4.0+webpack@4.44.2
+      '@webpack-cli/info': 1.2.1_webpack-cli@4.4.0
+      '@webpack-cli/serve': 1.2.2_webpack-cli@4.4.0
+      colorette: 1.2.1
+      commander: 6.2.1
+      enquirer: 2.3.6
+      execa: 5.0.0
+      fastest-levenshtein: 1.0.12
+      import-local: 3.0.2
+      interpret: 2.2.0
+      rechoir: 0.7.0
+      v8-compile-cache: 2.2.0
+      webpack: 4.44.2_webpack-cli@4.4.0
+      webpack-merge: 5.7.3
+    dev: true
+    engines:
+      node: '>=10.13.0'
+    hasBin: true
+    peerDependencies:
+      '@webpack-cli/generators': '*'
+      '@webpack-cli/init': '*'
+      '@webpack-cli/migrate': '*'
+      webpack: 4.x.x || 5.x.x
+      webpack-bundle-analyzer: '*'
+      webpack-dev-server: '*'
+    peerDependenciesMeta:
+      '@webpack-cli/generators':
+        optional: true
+      '@webpack-cli/init':
+        optional: true
+      '@webpack-cli/migrate':
+        optional: true
+      webpack-bundle-analyzer:
+        optional: true
+      webpack-dev-server:
+        optional: true
+    resolution:
+      integrity: sha512-/Qh07CXfXEkMu5S8wEpjuaw2Zj/CC0hf/qbTDp6N8N7JjdGuaOjZ7kttz+zhuJO/J5m7alQEhNk9lsc4rC6xgQ==
+  /webpack-dev-middleware/3.7.2_webpack@4.44.2:
+    dependencies:
+      memory-fs: 0.4.1
+      mime: 2.4.6
+      mkdirp: 0.5.5
+      range-parser: 1.2.1
+      webpack: 4.44.2
+      webpack-log: 2.0.0
+    engines:
+      node: '>= 6'
+    peerDependencies:
+      webpack: ^4.0.0
+    resolution:
+      integrity: sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==
+  /webpack-dev-server/3.11.0_webpack@4.44.2:
+    dependencies:
+      ansi-html: 0.0.7
+      bonjour: 3.5.0
+      chokidar: 2.1.8
+      compression: 1.7.4
+      connect-history-api-fallback: 1.6.0
+      debug: 4.3.1_supports-color@6.1.0
+      del: 4.1.1
+      express: 4.17.1
+      html-entities: 1.3.3
+      http-proxy-middleware: 0.19.1
+      import-local: 2.0.0
+      internal-ip: 4.3.0
+      ip: 1.1.5
+      is-absolute-url: 3.0.3
+      killable: 1.0.1
+      loglevel: 1.7.1
+      opn: 5.5.0
+      p-retry: 3.0.1
+      portfinder: 1.0.28
+      schema-utils: 1.0.0
+      selfsigned: 1.10.8
+      semver: 6.3.0
+      serve-index: 1.9.1
+      sockjs: 0.3.20
+      sockjs-client: 1.4.0
+      spdy: 4.0.2_supports-color@6.1.0
+      strip-ansi: 3.0.1
+      supports-color: 6.1.0
+      url: 0.11.0
+      webpack: 4.44.2
+      webpack-dev-middleware: 3.7.2_webpack@4.44.2
+      webpack-log: 2.0.0
+      ws: 6.2.1
+      yargs: 13.3.2
+    engines:
+      node: '>= 6.11.5'
+    hasBin: true
+    peerDependencies:
+      webpack: ^4.0.0 || ^5.0.0
+      webpack-cli: '*'
+    peerDependenciesMeta:
+      webpack-cli:
+        optional: true
+    resolution:
+      integrity: sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==
+  /webpack-log/1.2.0:
+    dependencies:
+      chalk: 2.4.2
+      log-symbols: 2.2.0
+      loglevelnext: 1.0.5
+      uuid: 3.4.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==
+  /webpack-log/2.0.0:
+    dependencies:
+      ansi-colors: 3.2.4
+      uuid: 3.4.0
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==
+  /webpack-merge/4.2.2:
+    dependencies:
+      lodash: 4.17.20
+    resolution:
+      integrity: sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==
+  /webpack-merge/5.7.3:
+    dependencies:
+      clone-deep: 4.0.1
+      wildcard: 2.0.0
+    dev: true
+    engines:
+      node: '>=10.0.0'
+    resolution:
+      integrity: sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==
+  /webpack-plugin-html-skeleton/1.0.14:
+    dependencies:
+      fs-extra: 7.0.1
+      jsdom: 12.2.0
+    resolution:
+      integrity: sha512-sBqi3E2yRnxJHFLLp+dR7QEWRWvGkLnmCZiCxhcXolHp1Bt03XGMo+PHYkHo/nJbffew0fm/tyUOSCYZMhz3Dw==
+  /webpack-sources/1.4.3:
+    dependencies:
+      source-list-map: 2.0.1
+      source-map: 0.6.1
+    resolution:
+      integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
+  /webpack-virtual-modules/0.4.2:
+    dev: false
+    resolution:
+      integrity: sha512-OUsT1VZhArN8nY7g6mMlw91HWnXcNXsIQjsQ83WteF4ViZ6YXqF2sWKOTDIZ0H+PPiApQdszLdZIrD7NNlU0Yw==
+  /webpack/4.44.1:
+    dependencies:
+      '@webassemblyjs/ast': 1.9.0
+      '@webassemblyjs/helper-module-context': 1.9.0
+      '@webassemblyjs/wasm-edit': 1.9.0
+      '@webassemblyjs/wasm-parser': 1.9.0
+      acorn: 6.4.2
+      ajv: 6.12.6
+      ajv-keywords: 3.5.2_ajv@6.12.6
+      chrome-trace-event: 1.0.2
+      enhanced-resolve: 4.5.0
+      eslint-scope: 4.0.3
+      json-parse-better-errors: 1.0.2
+      loader-runner: 2.4.0
+      loader-utils: 1.2.3
+      memory-fs: 0.4.1
+      micromatch: 3.1.10
+      mkdirp: 0.5.5
+      neo-async: 2.6.2
+      node-libs-browser: 2.2.1
+      schema-utils: 1.0.0
+      tapable: 1.1.3
+      terser-webpack-plugin: 1.4.5_webpack@4.44.1
+      watchpack: 1.7.5
+      webpack-sources: 1.4.3
+    dev: false
+    engines:
+      node: '>=6.11.5'
+    hasBin: true
+    peerDependencies:
+      webpack-cli: '*'
+      webpack-command: '*'
+    peerDependenciesMeta:
+      webpack-cli:
+        optional: true
+      webpack-command:
+        optional: true
+    resolution:
+      integrity: sha512-4UOGAohv/VGUNQJstzEywwNxqX417FnjZgZJpJQegddzPmTvph37eBIRbRTfdySXzVtJXLJfbMN3mMYhM6GdmQ==
+  /webpack/4.44.2:
+    dependencies:
+      '@webassemblyjs/ast': 1.9.0
+      '@webassemblyjs/helper-module-context': 1.9.0
+      '@webassemblyjs/wasm-edit': 1.9.0
+      '@webassemblyjs/wasm-parser': 1.9.0
+      acorn: 6.4.2
+      ajv: 6.12.6
+      ajv-keywords: 3.5.2_ajv@6.12.6
+      chrome-trace-event: 1.0.2
+      enhanced-resolve: 4.3.0
+      eslint-scope: 4.0.3
+      json-parse-better-errors: 1.0.2
+      loader-runner: 2.4.0
+      loader-utils: 1.4.0
+      memory-fs: 0.4.1
+      micromatch: 3.1.10
+      mkdirp: 0.5.5
+      neo-async: 2.6.2
+      node-libs-browser: 2.2.1
+      schema-utils: 1.0.0
+      tapable: 1.1.3
+      terser-webpack-plugin: 1.4.5_webpack@4.44.2
+      watchpack: 1.7.5
+      webpack-sources: 1.4.3
+    engines:
+      node: '>=6.11.5'
+    hasBin: true
+    peerDependencies:
+      webpack-cli: '*'
+      webpack-command: '*'
+    peerDependenciesMeta:
+      webpack-cli:
+        optional: true
+      webpack-command:
+        optional: true
+    resolution:
+      integrity: sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==
+  /webpack/4.44.2_webpack-cli@4.4.0:
+    dependencies:
+      '@webassemblyjs/ast': 1.9.0
+      '@webassemblyjs/helper-module-context': 1.9.0
+      '@webassemblyjs/wasm-edit': 1.9.0
+      '@webassemblyjs/wasm-parser': 1.9.0
+      acorn: 6.4.2
+      ajv: 6.12.6
+      ajv-keywords: 3.5.2_ajv@6.12.6
+      chrome-trace-event: 1.0.2
+      enhanced-resolve: 4.3.0
+      eslint-scope: 4.0.3
+      json-parse-better-errors: 1.0.2
+      loader-runner: 2.4.0
+      loader-utils: 1.4.0
+      memory-fs: 0.4.1
+      micromatch: 3.1.10
+      mkdirp: 0.5.5
+      neo-async: 2.6.2
+      node-libs-browser: 2.2.1
+      schema-utils: 1.0.0
+      tapable: 1.1.3
+      terser-webpack-plugin: 1.4.5_webpack@4.44.2
+      watchpack: 1.7.5
+      webpack-cli: 4.4.0_webpack@4.44.2
+      webpack-sources: 1.4.3
+    dev: true
+    engines:
+      node: '>=6.11.5'
+    hasBin: true
+    peerDependencies:
+      webpack-cli: '*'
+      webpack-command: '*'
+    peerDependenciesMeta:
+      webpack-cli:
+        optional: true
+      webpack-command:
+        optional: true
+    resolution:
+      integrity: sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==
+  /webpack/4.46.0:
+    dependencies:
+      '@webassemblyjs/ast': 1.9.0
+      '@webassemblyjs/helper-module-context': 1.9.0
+      '@webassemblyjs/wasm-edit': 1.9.0
+      '@webassemblyjs/wasm-parser': 1.9.0
+      acorn: 6.4.2
+      ajv: 6.12.6
+      ajv-keywords: 3.5.2_ajv@6.12.6
+      chrome-trace-event: 1.0.2
+      enhanced-resolve: 4.5.0
+      eslint-scope: 4.0.3
+      json-parse-better-errors: 1.0.2
+      loader-runner: 2.4.0
+      loader-utils: 1.4.0
+      memory-fs: 0.4.1
+      micromatch: 3.1.10
+      mkdirp: 0.5.5
+      neo-async: 2.6.2
+      node-libs-browser: 2.2.1
+      schema-utils: 1.0.0
+      tapable: 1.1.3
+      terser-webpack-plugin: 1.4.5_webpack@4.46.0
+      watchpack: 1.7.5
+      webpack-sources: 1.4.3
+    engines:
+      node: '>=6.11.5'
+    hasBin: true
+    peerDependencies:
+      webpack-cli: '*'
+      webpack-command: '*'
+    peerDependenciesMeta:
+      webpack-cli:
+        optional: true
+      webpack-command:
+        optional: true
+    resolution:
+      integrity: sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==
+  /webpackbar/4.0.0:
+    dependencies:
+      ansi-escapes: 4.3.1
+      chalk: 2.4.2
+      consola: 2.15.0
+      figures: 3.2.0
+      pretty-time: 1.1.0
+      std-env: 2.2.1
+      text-table: 0.2.0
+      wrap-ansi: 6.2.0
+    engines:
+      node: '>= 8.0.0'
+    peerDependencies:
+      webpack: ^3.0.0 || ^4.0.0
+    resolution:
+      integrity: sha512-k1qRoSL/3BVuINzngj09nIwreD8wxV4grcuhHTD8VJgUbGcy8lQSPqv+bM00B7F+PffwIsQ8ISd4mIwRbr23eQ==
+  /websocket-driver/0.6.5:
+    dependencies:
+      websocket-extensions: 0.1.4
+    engines:
+      node: '>=0.6.0'
+    resolution:
+      integrity: sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=
+  /websocket-driver/0.7.4:
+    dependencies:
+      http-parser-js: 0.5.2
+      safe-buffer: 5.2.1
+      websocket-extensions: 0.1.4
+    engines:
+      node: '>=0.8.0'
+    resolution:
+      integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
+  /websocket-extensions/0.1.4:
+    engines:
+      node: '>=0.8.0'
+    resolution:
+      integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==
+  /whatwg-encoding/1.0.5:
+    dependencies:
+      iconv-lite: 0.4.24
+    resolution:
+      integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==
+  /whatwg-mimetype/2.3.0:
+    resolution:
+      integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
+  /whatwg-url/6.5.0:
+    dependencies:
+      lodash.sortby: 4.7.0
+      tr46: 1.0.1
+      webidl-conversions: 4.0.2
+    resolution:
+      integrity: sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==
+  /whatwg-url/7.1.0:
+    dependencies:
+      lodash.sortby: 4.7.0
+      tr46: 1.0.1
+      webidl-conversions: 4.0.2
+    resolution:
+      integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==
+  /which-module/2.0.0:
+    resolution:
+      integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
+  /which-pm-runs/1.0.0:
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
+  /which-typed-array/1.1.4:
+    dependencies:
+      available-typed-arrays: 1.0.2
+      call-bind: 1.0.0
+      es-abstract: 1.18.0-next.1
+      foreach: 2.0.5
+      function-bind: 1.1.1
+      has-symbols: 1.0.1
+      is-typed-array: 1.1.4
+    engines:
+      node: '>= 0.4'
+    resolution:
+      integrity: sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==
+  /which/1.3.1:
+    dependencies:
+      isexe: 2.0.0
+    hasBin: true
+    resolution:
+      integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
+  /which/2.0.2:
+    dependencies:
+      isexe: 2.0.0
+    engines:
+      node: '>= 8'
+    hasBin: true
+    resolution:
+      integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+  /wide-align/1.1.3:
+    dependencies:
+      string-width: 1.0.2
+    dev: false
+    optional: true
+    resolution:
+      integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
+  /widest-line/2.0.1:
+    dependencies:
+      string-width: 2.1.1
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==
+  /wildcard/2.0.0:
+    dev: true
+    resolution:
+      integrity: sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==
+  /win-release/1.1.1:
+    dependencies:
+      semver: 5.7.1
+    dev: false
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=
+  /with-open-file/0.1.7:
+    dependencies:
+      p-finally: 1.0.0
+      p-try: 2.2.0
+      pify: 4.0.1
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA==
+  /word-wrap/1.2.3:
+    engines:
+      node: '>=0.10.0'
+    resolution:
+      integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+  /worker-farm/1.7.0:
+    dependencies:
+      errno: 0.1.7
+    resolution:
+      integrity: sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==
+  /worker-rpc/0.1.1:
+    dependencies:
+      microevent.ts: 0.1.1
+    resolution:
+      integrity: sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==
+  /wrap-ansi/3.0.1:
+    dependencies:
+      string-width: 2.1.1
+      strip-ansi: 4.0.0
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=
+  /wrap-ansi/5.1.0:
+    dependencies:
+      ansi-styles: 3.2.1
+      string-width: 3.1.0
+      strip-ansi: 5.2.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
+  /wrap-ansi/6.2.0:
+    dependencies:
+      ansi-styles: 4.3.0
+      string-width: 4.2.0
+      strip-ansi: 6.0.0
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+  /wrappy/1.0.2:
+    resolution:
+      integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+  /write-file-atomic/2.4.1:
+    dependencies:
+      graceful-fs: 4.2.4
+      imurmurhash: 0.1.4
+      signal-exit: 3.0.3
+    resolution:
+      integrity: sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==
+  /write-file-atomic/2.4.3:
+    dependencies:
+      graceful-fs: 4.2.4
+      imurmurhash: 0.1.4
+      signal-exit: 3.0.3
+    resolution:
+      integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==
+  /ws/5.2.2:
+    dependencies:
+      async-limiter: 1.0.1
+    resolution:
+      integrity: sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==
+  /ws/6.2.1:
+    dependencies:
+      async-limiter: 1.0.1
+    resolution:
+      integrity: sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==
+  /xdg-basedir/3.0.0:
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=
+  /xml-name-validator/3.0.0:
+    resolution:
+      integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
+  /xml2js/0.4.23:
+    dependencies:
+      sax: 1.2.4
+      xmlbuilder: 11.0.1
+    dev: false
+    engines:
+      node: '>=4.0.0'
+    resolution:
+      integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==
+  /xmlbuilder/11.0.1:
+    dev: false
+    engines:
+      node: '>=4.0'
+    resolution:
+      integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
+  /xmlchars/2.2.0:
+    resolution:
+      integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
+  /xregexp/2.0.0:
+    dev: false
+    resolution:
+      integrity: sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=
+  /xtend/4.0.2:
+    engines:
+      node: '>=0.4'
+    resolution:
+      integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+  /y18n/4.0.1:
+    resolution:
+      integrity: sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==
+  /yallist/2.1.2:
+    resolution:
+      integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
+  /yallist/3.1.1:
+    resolution:
+      integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+  /yallist/4.0.0:
+    resolution:
+      integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+  /yaml/1.10.0:
+    dev: false
+    engines:
+      node: '>= 6'
+    resolution:
+      integrity: sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
+  /yargs-parser/10.1.0:
+    dependencies:
+      camelcase: 4.1.0
+    resolution:
+      integrity: sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==
+  /yargs-parser/13.1.2:
+    dependencies:
+      camelcase: 5.3.1
+      decamelize: 1.2.0
+    resolution:
+      integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
+  /yargs-parser/18.1.3:
+    dependencies:
+      camelcase: 5.3.1
+      decamelize: 1.2.0
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
+  /yargs/13.3.2:
+    dependencies:
+      cliui: 5.0.0
+      find-up: 3.0.0
+      get-caller-file: 2.0.5
+      require-directory: 2.1.1
+      require-main-filename: 2.0.0
+      set-blocking: 2.0.0
+      string-width: 3.1.0
+      which-module: 2.0.0
+      y18n: 4.0.1
+      yargs-parser: 13.1.2
+    resolution:
+      integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
+  /yargs/15.4.1:
+    dependencies:
+      cliui: 6.0.0
+      decamelize: 1.2.0
+      find-up: 4.1.0
+      get-caller-file: 2.0.5
+      require-directory: 2.1.1
+      require-main-filename: 2.0.0
+      set-blocking: 2.0.0
+      string-width: 4.2.0
+      which-module: 2.0.0
+      y18n: 4.0.1
+      yargs-parser: 18.1.3
+    engines:
+      node: '>=8'
+    resolution:
+      integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
+  /yeoman-environment/2.10.3:
+    dependencies:
+      chalk: 2.4.2
+      debug: 3.2.7
+      diff: 3.5.0
+      escape-string-regexp: 1.0.5
+      execa: 4.1.0
+      globby: 8.0.2
+      grouped-queue: 1.1.0
+      inquirer: 7.3.3
+      is-scoped: 1.0.0
+      lodash: 4.17.20
+      log-symbols: 2.2.0
+      mem-fs: 1.2.0
+      mem-fs-editor: 6.0.0
+      npm-api: 1.0.0
+      semver: 7.3.4
+      strip-ansi: 4.0.0
+      text-table: 0.2.0
+      untildify: 3.0.3
+      yeoman-generator: 4.12.0
+    resolution:
+      integrity: sha512-pLIhhU9z/G+kjOXmJ2bPFm3nejfbH+f1fjYRSOteEXDBrv1EoJE/e+kuHixSXfCYfTkxjYsvRaDX+1QykLCnpQ==
+  /yeoman-generator/2.0.5:
+    dependencies:
+      async: 2.6.3
+      chalk: 2.4.2
+      cli-table: 0.3.4
+      cross-spawn: 6.0.5
+      dargs: 5.1.0
+      dateformat: 3.0.3
+      debug: 3.2.7
+      detect-conflict: 1.0.1
+      error: 7.2.1
+      find-up: 2.1.0
+      github-username: 4.1.0
+      istextorbinary: 2.6.0
+      lodash: 4.17.20
+      make-dir: 1.3.0
+      mem-fs-editor: 4.0.3
+      minimist: 1.2.5
+      pretty-bytes: 4.0.2
+      read-chunk: 2.1.0
+      read-pkg-up: 3.0.0
+      rimraf: 2.7.1
+      run-async: 2.4.1
+      shelljs: 0.8.4
+      text-table: 0.2.0
+      through2: 2.0.5
+      yeoman-environment: 2.10.3
+    engines:
+      node: '>=4'
+    resolution:
+      integrity: sha512-rV6tJ8oYzm4mmdF2T3wjY+Q42jKF2YiiD0VKfJ8/0ZYwmhCKC9Xs2346HVLPj/xE13i68psnFJv7iS6gWRkeAg==
+  /yeoman-generator/4.0.2:
+    dependencies:
+      async: 2.6.3
+      chalk: 2.4.2
+      cli-table: 0.3.4
+      cross-spawn: 6.0.5
+      dargs: 6.1.0
+      dateformat: 3.0.3
+      debug: 4.3.1
+      detect-conflict: 1.0.1
+      error: 7.2.1
+      find-up: 3.0.0
+      github-username: 3.0.0
+      istextorbinary: 2.6.0
+      lodash: 4.17.20
+      make-dir: 3.1.0
+      mem-fs-editor: 6.0.0
+      minimist: 1.2.5
+      pretty-bytes: 5.4.1
+      read-chunk: 3.2.0
+      read-pkg-up: 5.0.0
+      rimraf: 2.7.1
+      run-async: 2.4.1
+      shelljs: 0.8.4
+      text-table: 0.2.0
+      through2: 3.0.2
+      yeoman-environment: 2.10.3
+    engines:
+      node: '>=6'
+    resolution:
+      integrity: sha512-Gf4O7sJdKrquvf1YAyo+h9K+hOr14fvmw6Mst3/a+82c562sRTs6OLEfuy485o73qqGaI7cezzWjZxHUrm7I5A==
+  /yeoman-generator/4.12.0:
+    dependencies:
+      async: 2.6.3
+      chalk: 2.4.2
+      cli-table: 0.3.4
+      cross-spawn: 6.0.5
+      dargs: 6.1.0
+      dateformat: 3.0.3
+      debug: 4.3.1
+      diff: 4.0.2
+      error: 7.2.1
+      find-up: 3.0.0
+      github-username: 3.0.0
+      istextorbinary: 2.6.0
+      lodash: 4.17.20
+      make-dir: 3.1.0
+      mem-fs-editor: 7.1.0
+      minimist: 1.2.5
+      pretty-bytes: 5.4.1
+      read-chunk: 3.2.0
+      read-pkg-up: 5.0.0
+      rimraf: 2.7.1
+      run-async: 2.4.1
+      semver: 7.3.4
+      shelljs: 0.8.4
+      text-table: 0.2.0
+      through2: 3.0.2
+    engines:
+      node: '>=10'
+    optionalDependencies:
+      grouped-queue: 1.1.0
+      yeoman-environment: 2.10.3
+    resolution:
+      integrity: sha512-lozwklVQHwUXMM1o8BgxEB8F5BB7vkHW4pjAo1Zt5sJ7FOlWhd6DJ4ZxJ2OK0w+gNYkY/ocPMkUV7DTz/uqEEg==
+  /yocto-queue/0.1.0:
+    dev: false
+    engines:
+      node: '>=10'
+    resolution:
+      integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
+  /zwitch/1.0.5:
+    dev: false
+    resolution:
+      integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==
diff --git a/docs-sdk/pnpm-workspace.yaml b/docs-sdk/pnpm-workspace.yaml
new file mode 100644
index 0000000..5f5cf20
--- /dev/null
+++ b/docs-sdk/pnpm-workspace.yaml
@@ -0,0 +1,8 @@
+packages:
+  - "docs-provider"
+  - "docs-consumer"
+  - "fusion-css-loader"
+  - "markdown-renderer"
+  - "shared"
+  - "examples/**"
+  - "site"
diff --git a/docs-sdk/shared/package.json b/docs-sdk/shared/package.json
new file mode 100644
index 0000000..9bd0c52
--- /dev/null
+++ b/docs-sdk/shared/package.json
@@ -0,0 +1,17 @@
+{
+  "name": "@alicloud/console-toolkit-docs-shared",
+  "version": "1.0.6",
+  "main": "lib/index.js",
+  "license": "MIT",
+  "publishConfig": {
+    "access": "public"
+  },
+  "scripts": {
+    "watch": "tsc -w",
+    "prepare": "tsc"
+  },
+  "devDependencies": {
+    "@types/react": "^17.0.0",
+    "typescript": "^4.1.3"
+  }
+}
diff --git a/docs-sdk/shared/src/index.ts b/docs-sdk/shared/src/index.ts
new file mode 100644
index 0000000..eea524d
--- /dev/null
+++ b/docs-sdk/shared/src/index.ts
@@ -0,0 +1 @@
+export * from "./types";
diff --git a/docs-sdk/shared/src/types.ts b/docs-sdk/shared/src/types.ts
new file mode 100644
index 0000000..3d7283a
--- /dev/null
+++ b/docs-sdk/shared/src/types.ts
@@ -0,0 +1,100 @@
+import type React from "react";
+
+export interface IDeps {
+  [depName: string]: any;
+}
+
+export interface IConsoleOSOptions {
+  servePath: string;
+  consoleOSId: string;
+  deps?: IDeps;
+}
+
+// 父应用提供的resolve方法，子应用可以从父应用拿到需要的信息
+export interface IContextResolvers {
+  resolveAppServePath?: (consoleOSId: string) => string;
+  resolveAppDeps?: (consoleOSId: string) => IDeps | Promise<IDeps>;
+  resolveDemoOpts?: (consoleOSId: string) => IDemoOpts;
+}
+
+export interface ILoadOverviewOpts
+  extends IConsoleOSOptions,
+    IContextResolvers {
+  useSelfDeps?: boolean;
+}
+
+export interface IOverviewProps extends IContextResolvers {
+  entryKey?: string;
+  onEntryKeyChange?: (newEnrtyKey: string) => void;
+  onLoaded?: () => void;
+  markdownOpts?: {
+    toc?: boolean;
+    embedded?: boolean;
+  };
+}
+
+export interface ILoadEntryLoaderOpts
+  extends IConsoleOSOptions,
+    IContextResolvers {
+  useSelfDeps?: boolean;
+}
+
+export interface IEntryLoaderProps extends IContextResolvers {
+  entryKey: string;
+  onLoaded?: () => void;
+  markdownOpts?: {
+    toc?: boolean;
+    embedded?: boolean;
+  };
+  demoOpts?: IDemoOpts;
+  /**
+   * 加载器透传下来的属性
+   */
+  loadOpts?: ILoadOverviewOpts;
+}
+
+export interface IDemoOpts {
+  modifyDisplayCode?: (params: {
+    code: string;
+    meta: any;
+    imports: string[];
+  }) => string;
+  modifyCodeSandbox?: (params: {
+    code: string;
+    meta: any;
+    imports: string[];
+    files: ICodeSandboxFiles;
+  }) => ICodeSandboxFiles;
+  extraOperations?: (params: {
+    code: string;
+    meta: any;
+    imports: string[];
+  }) => IDemoOperation[];
+  containerClassName?: string;
+  containerStyle?: any;
+  canFullScreen?: boolean;
+}
+export interface ICodeSandboxFiles {
+  [file: string]: string;
+}
+export interface IDemoOperation {
+  name: string;
+  icon: () => React.ReactNode;
+  onClick?: () => void;
+  enabled?: (ctx: {
+    demoOpts: IDemoOpts;
+    buildTimeDemoOpts: IDemoOpts;
+    demoMeta: any;
+    resolvedOpts: {
+      canFullScreen: boolean;
+    };
+  }) => boolean;
+  View?: React.ComponentType<{
+    meta: any;
+    code: string;
+    setCode: any;
+    originalCode: string;
+    imports: string[];
+    opts: IDemoOpts;
+  }>;
+}
diff --git a/docs-sdk/shared/tsconfig.json b/docs-sdk/shared/tsconfig.json
new file mode 100644
index 0000000..1a348de
--- /dev/null
+++ b/docs-sdk/shared/tsconfig.json
@@ -0,0 +1,69 @@
+{
+  "compilerOptions": {
+    /* Visit https://aka.ms/tsconfig.json to read more about this file */
+
+    /* Basic Options */
+    // "incremental": true,                   /* Enable incremental compilation */
+    "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
+    "module": "ESNext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
+    // "lib": [],                             /* Specify library files to be included in the compilation. */
+    // "allowJs": true,                       /* Allow javascript files to be compiled. */
+    // "checkJs": true,                       /* Report errors in .js files. */
+    // "jsx": "preserve",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
+    "declaration": true /* Generates corresponding '.d.ts' file. */,
+    // "declarationMap": true,                /* Generates a sourcemap for each corresponding '.d.ts' file. */
+    "sourceMap": true /* Generates corresponding '.map' file. */,
+    // "outFile": "./",                       /* Concatenate and emit output to single file. */
+    "outDir": "./lib",                        /* Redirect output structure to the directory. */
+    "rootDir": "./src",                       /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
+    // "composite": true,                     /* Enable project compilation */
+    // "tsBuildInfoFile": "./",               /* Specify file to store incremental compilation information */
+    // "removeComments": true,                /* Do not emit comments to output. */
+    // "noEmit": true,                        /* Do not emit outputs. */
+    // "importHelpers": true,                 /* Import emit helpers from 'tslib'. */
+    // "downlevelIteration": true,            /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
+    // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
+
+    /* Strict Type-Checking Options */
+    "strict": true /* Enable all strict type-checking options. */,
+    // "noImplicitAny": true,                 /* Raise error on expressions and declarations with an implied 'any' type. */
+    // "strictNullChecks": true,              /* Enable strict null checks. */
+    // "strictFunctionTypes": true,           /* Enable strict checking of function types. */
+    // "strictBindCallApply": true,           /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
+    // "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */
+    // "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */
+    // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */
+
+    /* Additional Checks */
+    // "noUnusedLocals": true,                /* Report errors on unused locals. */
+    // "noUnusedParameters": true,            /* Report errors on unused parameters. */
+    // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */
+    // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */
+
+    /* Module Resolution Options */
+    "moduleResolution": "node",            /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
+    // "baseUrl": "./",                       /* Base directory to resolve non-absolute module names. */
+    // "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
+    // "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
+    // "typeRoots": [],                       /* List of folders to include type definitions from. */
+    // "types": [],                           /* Type declaration files to be included in compilation. */
+    // "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
+    "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
+    // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
+    // "allowUmdGlobalAccess": true,          /* Allow accessing UMD globals from modules. */
+
+    /* Source Map Options */
+    // "sourceRoot": "",                      /* Specify the location where debugger should locate TypeScript files instead of source locations. */
+    // "mapRoot": "",                         /* Specify the location where debugger should locate map files instead of generated locations. */
+    // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */
+    // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
+
+    /* Experimental Options */
+    // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */
+    // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */
+
+    /* Advanced Options */
+    "skipLibCheck": true /* Skip type checking of declaration files. */,
+    "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
+  }
+}
diff --git a/docs-sdk/site/next-env.d.ts b/docs-sdk/site/next-env.d.ts
new file mode 100644
index 0000000..7b7aa2c
--- /dev/null
+++ b/docs-sdk/site/next-env.d.ts
@@ -0,0 +1,2 @@
+/// <reference types="next" />
+/// <reference types="next/types/global" />
diff --git a/docs-sdk/site/package.json b/docs-sdk/site/package.json
new file mode 100644
index 0000000..5e8d8a9
--- /dev/null
+++ b/docs-sdk/site/package.json
@@ -0,0 +1,18 @@
+{
+  "name": "site",
+  "version": "0.1.0",
+  "private": true,
+  "scripts": {
+    "dev": "next dev",
+    "build": "next build",
+    "start": "next start"
+  },
+  "dependencies": {
+    "next": "^10.0.5",
+    "react": "^17.0.1",
+    "react-dom": "^17.0.1"
+  },
+  "devDependencies": {
+    "typescript": "^4.1.3"
+  }
+}
diff --git a/docs-sdk/site/pages/about.tsx b/docs-sdk/site/pages/about.tsx
new file mode 100644
index 0000000..0f2d2fc
--- /dev/null
+++ b/docs-sdk/site/pages/about.tsx
@@ -0,0 +1,5 @@
+function About() {
+  return <div>About</div>
+}
+
+export default About
diff --git a/docs-sdk/site/tsconfig.json b/docs-sdk/site/tsconfig.json
new file mode 100644
index 0000000..35d51ea
--- /dev/null
+++ b/docs-sdk/site/tsconfig.json
@@ -0,0 +1,29 @@
+{
+  "compilerOptions": {
+    "target": "es5",
+    "lib": [
+      "dom",
+      "dom.iterable",
+      "esnext"
+    ],
+    "allowJs": true,
+    "skipLibCheck": true,
+    "strict": false,
+    "forceConsistentCasingInFileNames": true,
+    "noEmit": true,
+    "esModuleInterop": true,
+    "module": "esnext",
+    "moduleResolution": "node",
+    "resolveJsonModule": true,
+    "isolatedModules": true,
+    "jsx": "preserve"
+  },
+  "include": [
+    "next-env.d.ts",
+    "**/*.ts",
+    "**/*.tsx"
+  ],
+  "exclude": [
+    "node_modules"
+  ]
+}
diff --git a/lerna.json b/lerna.json
index c5c8189..c4c0842 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,8 +1,6 @@
 {
   "npmClient": "yarn",
-  "packages": [
-    "packages/*"
-  ],
+  "packages": ["packages/*", "examples/*"],
   "publish": {
     "verifyAccess": false
   },
diff --git a/package.json b/package.json
index cba1e8a..d05bd71 100644
--- a/package.json
+++ b/package.json
@@ -24,7 +24,9 @@
     "husky": "^1.3.1",
     "jest": "^24.2.0-alpha.0",
     "nyc": "^14.1.1",
-    "prettier": "^1.18.2",
+    "prettier": "^2.1.2",
+    "react": "^17.0.1",
+    "react-dom": "^17.0.1",
     "ts-jest": "^23.10.5",
     "typescript": "^3.0.3"
   },
diff --git a/packages/plugin-react/package.json b/packages/plugin-react/package.json
index a942b1b..2dddd8c 100644
--- a/packages/plugin-react/package.json
+++ b/packages/plugin-react/package.json
@@ -38,7 +38,7 @@
 		"@alicloud/console-toolkit-core": "^1.1.0",
 		"@alicloud/console-toolkit-shared-utils": "^1.0.16",
 		"@babel/core": "^7.3.3",
-		"@types/cheerio": "^0.22.13",
+		"@types/cheerio": "0.22.13",
 		"assert": "^1.4.1",
 		"autoprefixer": "^9.6.0",
 		"babel-loader": "^8.0.5",
diff --git a/packages/plugin-react/src/webpack/plugins/htmlInject.ts b/packages/plugin-react/src/webpack/plugins/htmlInject.ts
index 55186da..3680ccc 100644
--- a/packages/plugin-react/src/webpack/plugins/htmlInject.ts
+++ b/packages/plugin-react/src/webpack/plugins/htmlInject.ts
@@ -73,7 +73,7 @@ class HtmlInjectPlugin {
 
   private _processScripts($: CheerioStatic, publicPath: string) {
     const scripts = $('script');
-    
+
     scripts.each((index, script) => {
       let src = script.attribs['src'];
       if (src && src.startsWith('/') && !src.startsWith('//')) {
@@ -93,4 +93,4 @@ export function htmlInjectPlugin(config: Chain, options: { [key: string]: any })
       ...options,
     }
   );
-}
\ No newline at end of file
+}
diff --git a/packages/plugin-storybook/tsconfig.json b/packages/plugin-storybook/tsconfig.json
index a6f3585..665f91e 100644
--- a/packages/plugin-storybook/tsconfig.json
+++ b/packages/plugin-storybook/tsconfig.json
@@ -13,7 +13,8 @@
       /* Strict Type-Checking Option */
       "strict": true,   /* enable all strict type-checking options */
       /* Additional Checks */
-      "noUnusedLocals": true /* Report errors on unused locals. */
+      "noUnusedLocals": true, /* Report errors on unused locals. */
+      "skipLibCheck": true
       // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
       // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
       // "noUnusedParameters": true,  /* Report errors on unused parameters. */
@@ -23,4 +24,4 @@
       "node_modules",
       "lib"
   ]
-}
\ No newline at end of file
+}
diff --git a/packages/preset-monorepo/tsconfig.json b/packages/preset-monorepo/tsconfig.json
index 37dd2fd..e768932 100644
--- a/packages/preset-monorepo/tsconfig.json
+++ b/packages/preset-monorepo/tsconfig.json
@@ -9,7 +9,8 @@
     /* Strict Type-Checking Option */
     "strict": true /* enable all strict type-checking options */,
     /* Additional Checks */
-    "noUnusedLocals": true /* Report errors on unused locals. */,
+    "noUnusedLocals": true, /* Report errors on unused locals. */
+    "skipLibCheck": true,
     // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
     // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
     // "noUnusedParameters": true,  /* Report errors on unused parameters. */
diff --git a/packages/preset-wind/tsconfig.json b/packages/preset-wind/tsconfig.json
index a6f3585..665f91e 100644
--- a/packages/preset-wind/tsconfig.json
+++ b/packages/preset-wind/tsconfig.json
@@ -13,7 +13,8 @@
       /* Strict Type-Checking Option */
       "strict": true,   /* enable all strict type-checking options */
       /* Additional Checks */
-      "noUnusedLocals": true /* Report errors on unused locals. */
+      "noUnusedLocals": true, /* Report errors on unused locals. */
+      "skipLibCheck": true
       // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
       // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
       // "noUnusedParameters": true,  /* Report errors on unused parameters. */
@@ -23,4 +24,4 @@
       "node_modules",
       "lib"
   ]
-}
\ No newline at end of file
+}
diff --git a/packages/shared-utils/src/fork.ts b/packages/shared-utils/src/fork.ts
index bae20c1..0b7eb17 100644
--- a/packages/shared-utils/src/fork.ts
+++ b/packages/shared-utils/src/fork.ts
@@ -1,13 +1,13 @@
-import { fork as forkChild } from 'child_process';
-import { debug } from './debug';
+import { fork as forkChild } from "child_process";
+import { debug } from "./debug";
 
-export const DONE = 'DONE';
-export const STARTING = 'STARTING';
-export const RESTART = 'RESTART';
+export const DONE = "DONE";
+export const STARTING = "STARTING";
+export const RESTART = "RESTART";
 
 function send(message: any) {
   if (process.send) {
-    debug('shared-utils' ,`send ${JSON.stringify(message)}`);
+    debug("shared-utils", `send ${JSON.stringify(message)}`);
     process.send(message);
   }
 }
@@ -15,9 +15,25 @@ function send(message: any) {
 export function fork(scriptPath: string) {
   const execArgv = process.execArgv.slice(0);
 
+  // 替换--inspect参数，防止错误
+  // “Starting inspector on 127.0.0.1:9229 failed: address already in use”
+  const currentInspectArgIdx = execArgv.findIndex(a =>
+    a.startsWith("--inspect")
+  );
+  if (currentInspectArgIdx >= 0) {
+    const currentInspectArg = execArgv[currentInspectArgIdx];
+    const currentPort = Number(currentInspectArg.split("=")[1] || "9229");
+    const forkInspectArg =
+      currentInspectArg.split("=")[0] + "=" + String(currentPort + 1);
+    console.log(
+      `发现当前进程有node inspect参数"${currentInspectArg}". 因此我们fork的进程时候也加入node inspect参数"${forkInspectArg}"`
+    );
+    execArgv.splice(currentInspectArgIdx, 1, forkInspectArg);
+  }
+
   const child = forkChild(scriptPath, process.argv.slice(2), { execArgv });
 
-  child.on('message', data => {
+  child.on("message", data => {
     const type = (data && data.type) || null;
     if (type === RESTART) {
       child.kill();
diff --git a/packages/shared-utils/tsconfig.json b/packages/shared-utils/tsconfig.json
index a6f3585..665f91e 100644
--- a/packages/shared-utils/tsconfig.json
+++ b/packages/shared-utils/tsconfig.json
@@ -13,7 +13,8 @@
       /* Strict Type-Checking Option */
       "strict": true,   /* enable all strict type-checking options */
       /* Additional Checks */
-      "noUnusedLocals": true /* Report errors on unused locals. */
+      "noUnusedLocals": true, /* Report errors on unused locals. */
+      "skipLibCheck": true
       // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
       // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
       // "noUnusedParameters": true,  /* Report errors on unused parameters. */
@@ -23,4 +24,4 @@
       "node_modules",
       "lib"
   ]
-}
\ No newline at end of file
+}
diff --git a/tsconfig.json b/tsconfig.json
index b50c67d..bddb205 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -4,6 +4,7 @@
       "moduleResolution": "node",
       "target": "es5",
       "outDir": "lib",
+      "jsx": "react",
       "lib": [
           "es6",
           "dom",
@@ -21,4 +22,4 @@
   "exclude": [
       "node_modules"
   ]
-}
\ No newline at end of file
+}
