gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated: migration css to linaria


From: gnunet
Subject: [taler-wallet-core] branch master updated: migration css to linaria
Date: Sat, 10 Jul 2021 04:16:03 +0200

This is an automated email from the git hooks/post-receive script.

sebasjm pushed a commit to branch master
in repository wallet-core.

The following commit(s) were added to refs/heads/master by this push:
     new d29499b8 migration css to linaria
d29499b8 is described below

commit d29499b80a992a0d107327c0dfbf31bb2d2ba6f7
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Fri Jul 9 23:15:49 2021 -0300

    migration css to linaria
---
 packages/taler-wallet-webextension/.gitignore      |    1 +
 .../taler-wallet-webextension/.storybook/.babelrc  |    2 +-
 .../taler-wallet-webextension/.storybook/main.js   |   27 +-
 packages/taler-wallet-webextension/package.json    |   11 +
 .../taler-wallet-webextension/rollup.config.js     |   18 +
 .../src/components/styled/index.tsx                |  135 ++
 .../src/popup/Backup.stories.tsx                   |   32 +-
 .../src/popup/BackupPage.tsx                       |  134 +-
 .../src/popup/ProviderDetailPage.tsx               |   10 +-
 .../taler-wallet-webextension/static/popup.html    |    1 +
 pnpm-lock.yaml                                     | 1284 +++++++++++++++++++-
 11 files changed, 1549 insertions(+), 106 deletions(-)

diff --git a/packages/taler-wallet-webextension/.gitignore 
b/packages/taler-wallet-webextension/.gitignore
index 27d7e978..0974a77a 100644
--- a/packages/taler-wallet-webextension/.gitignore
+++ b/packages/taler-wallet-webextension/.gitignore
@@ -1,2 +1,3 @@
 extension/
 /storybook-static/
+/.linaria-cache/
diff --git a/packages/taler-wallet-webextension/.storybook/.babelrc 
b/packages/taler-wallet-webextension/.storybook/.babelrc
index 39829d50..4476798e 100644
--- a/packages/taler-wallet-webextension/.storybook/.babelrc
+++ b/packages/taler-wallet-webextension/.storybook/.babelrc
@@ -21,6 +21,6 @@
 {
     //FIXME: check if we can remove this preset and just use default storybook 
presets
     "presets": [
-        "preact-cli/babel"
+      "preact-cli/babel",
     ]
 }
\ No newline at end of file
diff --git a/packages/taler-wallet-webextension/.storybook/main.js 
b/packages/taler-wallet-webextension/.storybook/main.js
index 38ca14b6..cd58d4d1 100644
--- a/packages/taler-wallet-webextension/.storybook/main.js
+++ b/packages/taler-wallet-webextension/.storybook/main.js
@@ -40,8 +40,9 @@ module.exports = {
         '@babel/preset-react', {
           runtime: 'automatic',
         },
-        'preset-react-jsx-transform' 
+        'preset-react-jsx-transform'
       ],
+      "@linaria",
     ],
   }),
   webpackFinal: (config) => {
@@ -51,6 +52,30 @@ module.exports = {
       react: "preact/compat",
       "react-dom": "preact/compat",
     };
+
+    // we need to add @linaria loader AFTER the babel-loader
+    // 
https://github.com/callstack/linaria/blob/master/docs/BUNDLERS_INTEGRATION.md#webpack
  
+    config.module.rules[0] = {
+      ...(config.module.rules[0]),
+      loader: undefined, // Disable the predefined babel-loader on the rule
+      use: [
+        {
+          ...(config.module.rules[0].use[0]),
+          loader: 'babel-loader',          
+        },
+        {
+          loader: '@linaria/webpack-loader',
+          options: {
+            sourceMap: true, //always true since this is dev
+            babelOptions: {
+              presets: config.module.rules[0].use[0].options.presets,
+            }
+             // Pass the current babel options to linaria's babel instance
+          }
+        }
+      ]
+    };
+
     return config;
   },
 }
diff --git a/packages/taler-wallet-webextension/package.json 
b/packages/taler-wallet-webextension/package.json
index 1c679523..a5908af2 100644
--- a/packages/taler-wallet-webextension/package.json
+++ b/packages/taler-wallet-webextension/package.json
@@ -27,6 +27,15 @@
     "@babel/core": "^7.14.0",
     "@babel/plugin-transform-react-jsx-source": "^7.12.13",
     "@babel/preset-typescript": "^7.13.0",
+
+    "@linaria/babel-preset": "^3.0.0-beta.4",
+    "@linaria/core": "^3.0.0-beta.4",
+    "@linaria/react": "^3.0.0-beta.7",
+    "@linaria/rollup": "^3.0.0-beta.7",
+    "@linaria/shaker": "^3.0.0-beta.7",
+    "@linaria/webpack-loader": "^3.0.0-beta.7",
+    "@rollup/plugin-alias": "^3.1.2",
+    
     "@rollup/plugin-commonjs": "^17.0.0",
     "@rollup/plugin-image": "^2.0.6",
     "@rollup/plugin-json": "^4.1.0",
@@ -41,6 +50,7 @@
     "@types/jest": "^26.0.23",
     "@types/node": "^14.14.22",
     "ava": "3.15.0",
+    "babel-loader": "^8.2.2",
     "babel-plugin-transform-react-jsx": "^6.24.1",
     "enzyme": "^3.11.0",
     "enzyme-adapter-preact-pure": "^3.1.0",
@@ -51,6 +61,7 @@
     "preact-render-to-string": "^5.1.19",
     "rimraf": "^3.0.2",
     "rollup": "^2.37.1",
+    "rollup-plugin-css-only": "^3.1.0",
     "rollup-plugin-ignore": "^1.0.9",
     "rollup-plugin-sourcemaps": "^0.6.3",
     "rollup-plugin-terser": "^7.0.2",
diff --git a/packages/taler-wallet-webextension/rollup.config.js 
b/packages/taler-wallet-webextension/rollup.config.js
index 80b4f6ee..7e7ec003 100644
--- a/packages/taler-wallet-webextension/rollup.config.js
+++ b/packages/taler-wallet-webextension/rollup.config.js
@@ -6,8 +6,18 @@ import builtins from "builtin-modules";
 import replace from "@rollup/plugin-replace";
 import ignore from "rollup-plugin-ignore"
 import image from '@rollup/plugin-image';
+import linaria from '@linaria/rollup';
+import css from 'rollup-plugin-css-only';
+import alias from '@rollup/plugin-alias';
 
 const makePlugins = () => [
+    alias({
+      entries: [
+        { find: 'react', replacement: 'preact/compat' },
+        { find: 'react-dom', replacement: 'preact/compat' }
+      ]
+    }),
+
     ignore(["module", "os"]),
     nodeResolve({
       browser: true,
@@ -31,6 +41,14 @@ const makePlugins = () => [
 
     json(),
     image(),
+
+    linaria({
+      sourceMap: process.env.NODE_ENV !== 'production',
+    }),
+    css({
+      output: 'styles.css',
+    }),
+    
 ];
 
 
diff --git a/packages/taler-wallet-webextension/src/components/styled/index.tsx 
b/packages/taler-wallet-webextension/src/components/styled/index.tsx
new file mode 100644
index 00000000..6e7e736a
--- /dev/null
+++ b/packages/taler-wallet-webextension/src/components/styled/index.tsx
@@ -0,0 +1,135 @@
+// import { FunctionalComponent, JSX } from 'preact';
+// import styled from './preact-styled'
+
+// import { css } from '@linaria/core';
+import { styled } from '@linaria/react';
+
+export const PopupBox = styled.div`
+  height: calc(320px - 34px - 16px);
+  display: flex;
+  flex-direction: column;
+
+  & > section {
+    overflow: auto;
+  }
+
+  & > footer {
+    padding-top: 5px;
+    flex-direction: row;
+    justify-content: flex-end;
+    display: flex;
+    & > button {
+      margin-left: 5px;
+    }
+  }
+`
+
+const Button = styled.button`
+  display: inline-block;
+  zoom: 1;
+  line-height: normal;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  cursor: pointer;
+  user-select: none;
+  box-sizing: border-box;
+
+  font-family: inherit;
+  font-size: 100%;
+  padding: 0.5em 1em;
+  color: #444; /* rgba not supported (IE 8) */
+  color: rgba(0, 0, 0, 0.8); /* rgba supported */
+  border: 1px solid #999; /*IE 6/7/8*/
+  border: none rgba(0, 0, 0, 0); /*IE9 + everything else*/
+  background-color: '#e6e6e6';
+  text-decoration: none;
+  border-radius: 2px;
+
+  :focus {
+    outline: 0;
+  }
+
+  [disabled] {
+    border: none;
+    background-image: none;
+    /* csslint ignore:start */
+    filter: alpha(opacity=40);
+    /* csslint ignore:end */
+    opacity: 0.4;
+    cursor: not-allowed;
+    box-shadow: none;
+    pointer-events: none;
+  }
+
+  :hover {
+    filter: alpha(opacity=90);
+    background-image: linear-gradient(
+      transparent,
+      rgba(0, 0, 0, 0.05) 40%,
+      rgba(0, 0, 0, 0.1)
+    );
+  }
+`;
+
+const ButtonVariant = styled(Button)`
+  color: white;
+  border-radius: 4px;
+  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+`
+
+export const ButtonPrimary = styled(ButtonVariant)`
+  background-color: rgb(66, 184, 221);
+`
+
+export const ButtonSuccess = styled(ButtonVariant)`
+  background-color: rgb(28, 184, 65);
+`
+
+export const ButtonWarning = styled(ButtonVariant)`
+  background-color: rgb(223, 117, 20);
+`
+
+export const ButtonDestructive = styled(ButtonVariant)`
+  background-color: rgb(202, 60, 60);
+`
+
+export const BoldLight = styled.div`
+color: gray;
+font-weight: bold;
+`
+export const Centered = styled.div`
+  text-align: center;
+  & > :not(:first-child) {
+    margin-top: 15px;
+  }
+`
+export const Row = styled.div`
+  display: flex;
+  border: 1px solid gray;
+  border-radius: 0.5em;
+  margin: 0.5em 0;
+  justify-content: space-between;
+  padding: 0.5em;
+`
+
+export const SmallText = styled.div`
+  font-size: small; 
+  margin-top: 0.5em;
+`
+
+export const SmallTextLight = styled(SmallText)`
+  color: gray;
+`
+
+export const CenteredText = styled.div`
+  white-space: nowrap;
+  text-align: center;
+`
+
+export const CenteredTextBold = styled(CenteredText)`
+  white-space: nowrap;
+  text-align: center;
+  font-weight: bold;
+  color: ${((props: any): any => String(props.color) as any) as any};
+`
diff --git a/packages/taler-wallet-webextension/src/popup/Backup.stories.tsx 
b/packages/taler-wallet-webextension/src/popup/Backup.stories.tsx
index 2d28a6dd..ed03f208 100644
--- a/packages/taler-wallet-webextension/src/popup/Backup.stories.tsx
+++ b/packages/taler-wallet-webextension/src/popup/Backup.stories.tsx
@@ -62,7 +62,7 @@ export const LotOfProviders = createExample(TestedComponent, {
       "storageLimitInMegabytes": 16,
       "supportedProtocolVersion": "0.0"
     }
-  },{
+  }, {
     "active": true,
     "syncProviderBaseUrl": "http://sync.taler:9967/";,
     "lastSuccessfulBackupTimestamp": {
@@ -82,43 +82,57 @@ export const LotOfProviders = 
createExample(TestedComponent, {
       "storageLimitInMegabytes": 16,
       "supportedProtocolVersion": "0.0"
     }
-  },{
+  }, {
     "active": false,
     "syncProviderBaseUrl": "http://sync.demo.taler.net/";,
     "paymentProposalIds": [],
     "paymentStatus": {
-      "type": ProviderPaymentType.Unpaid,
+      "type": ProviderPaymentType.Pending,
     },
     "terms": {
       "annualFee": "KUDOS:0.1",
       "storageLimitInMegabytes": 16,
       "supportedProtocolVersion": "0.0"
     }
-  },{
+  }, {
     "active": false,
     "syncProviderBaseUrl": "http://sync.demo.taler.net/";,
     "paymentProposalIds": [],
     "paymentStatus": {
-      "type": ProviderPaymentType.Unpaid,
+      "type": ProviderPaymentType.InsufficientBalance,
     },
     "terms": {
       "annualFee": "KUDOS:0.1",
       "storageLimitInMegabytes": 16,
       "supportedProtocolVersion": "0.0"
     }
-  },{
+  }, {
     "active": false,
     "syncProviderBaseUrl": "http://sync.demo.taler.net/";,
     "paymentProposalIds": [],
     "paymentStatus": {
-      "type": ProviderPaymentType.Unpaid,
+      "type": ProviderPaymentType.TermsChanged,
+      newTerms: {
+        annualFee: 'USD:2',
+        storageLimitInMegabytes: 8,
+        supportedProtocolVersion: '2',
+      },
+      oldTerms: {
+        annualFee: 'USD:1',
+        storageLimitInMegabytes: 16,
+        supportedProtocolVersion: '1',
+
+      },
+      paidUntil: {
+        t_ms: 'never'
+      }
     },
     "terms": {
       "annualFee": "KUDOS:0.1",
       "storageLimitInMegabytes": 16,
       "supportedProtocolVersion": "0.0"
     }
-  },{
+  }, {
     "active": false,
     "syncProviderBaseUrl": "http://sync.demo.taler.net/";,
     "paymentProposalIds": [],
@@ -130,7 +144,7 @@ export const LotOfProviders = 
createExample(TestedComponent, {
       "storageLimitInMegabytes": 16,
       "supportedProtocolVersion": "0.0"
     }
-  },{
+  }, {
     "active": false,
     "syncProviderBaseUrl": "http://sync.demo.taler.net/";,
     "paymentProposalIds": [],
diff --git a/packages/taler-wallet-webextension/src/popup/BackupPage.tsx 
b/packages/taler-wallet-webextension/src/popup/BackupPage.tsx
index d7a2d863..6e60acc7 100644
--- a/packages/taler-wallet-webextension/src/popup/BackupPage.tsx
+++ b/packages/taler-wallet-webextension/src/popup/BackupPage.tsx
@@ -16,9 +16,14 @@
 
 
 import { i18n, Timestamp } from "@gnu-taler/taler-util";
-import { ProviderInfo } from "@gnu-taler/taler-wallet-core";
+import { ProviderInfo, ProviderPaymentStatus } from 
"@gnu-taler/taler-wallet-core";
 import { differenceInMonths, formatDuration, intervalToDuration } from 
"date-fns";
-import { Fragment, JSX, VNode } from "preact";
+import { FunctionalComponent, Fragment, JSX, VNode, AnyComponent } from 
"preact";
+import {
+  BoldLight, ButtonPrimary, ButtonSuccess, Centered, 
+  CenteredText, CenteredTextBold, PopupBox, Row, 
+  SmallText, SmallTextLight
+} from "../components/styled";
 import { useBackupStatus } from "../hooks/useBackupStatus";
 import { Pages } from "./popup";
 
@@ -31,7 +36,7 @@ export function BackupPage({ onAddProvider }: Props): VNode {
   if (!status) {
     return <div>Loading...</div>
   }
-  return <BackupView providers={status.providers} 
onAddProvider={onAddProvider} onSyncAll={status.sync}/>;
+  return <BackupView providers={status.providers} 
onAddProvider={onAddProvider} onSyncAll={status.sync} />;
 }
 
 export interface ViewProps {
@@ -42,44 +47,35 @@ export interface ViewProps {
 
 export function BackupView({ providers, onAddProvider, onSyncAll }: 
ViewProps): VNode {
   return (
-    <div style={{ height: 'calc(320px - 34px - 16px)', overflow: 'auto' }}>
-      <div style={{ display: 'flex', flexDirection: 'column' }}>
-        <section style={{ flex: '1 0 auto', height: 'calc(320px - 34px - 34px 
- 16px)', overflow: 'auto' }}>
-
-          {!!providers.length && <div>
-            {providers.map((provider) => {
-              return <BackupLayout
-                status={provider.paymentStatus}
-                timestamp={provider.lastSuccessfulBackupTimestamp}
-                id={provider.syncProviderBaseUrl}
-                active={provider.active}
-                title={provider.syncProviderBaseUrl}
-              />
-            })}
-          </div>}
-          {!providers.length && <div style={{ color: 'gray', fontWeight: 
'bold', marginTop: 80, textAlign: 'center' }}>
-            <div>No backup providers configured</div>
-            <button class="pure-button button-success" style={{ marginTop: 15 
}} onClick={onAddProvider}><i18n.Translate>Add 
provider</i18n.Translate></button>
-          </div>}
-
-        </section>
-        {!!providers.length && <footer style={{ marginTop: 'auto', display: 
'flex', flexShrink: 0 }}>
-          <div style={{ width: '100%', flexDirection: 'row', justifyContent: 
'flex-end', display: 'flex' }}>
-            <button class="pure-button button-secondary" style={{ marginLeft: 
5 }} onClick={onSyncAll}>{
-              providers.length > 1 ?
-                <i18n.Translate>Sync all backups</i18n.Translate> :
-                <i18n.Translate>Sync now</i18n.Translate>
-            }</button>
-            <button class="pure-button button-success" style={{ marginLeft: 5 
}} onClick={onAddProvider}><i18n.Translate>Add 
provider</i18n.Translate></button>
-          </div>
-        </footer>}
-      </div>
-    </div>
+    <PopupBox style={{ justifyContent: !providers.length ? 'center' : 
'space-between' }}>
+      <section>
+        {providers.map((provider) => <BackupLayout
+          status={provider.paymentStatus}
+          timestamp={provider.lastSuccessfulBackupTimestamp}
+          id={provider.syncProviderBaseUrl}
+          active={provider.active}
+          title={provider.syncProviderBaseUrl}
+        />
+        )}
+        {!providers.length && <Centered>
+          <BoldLight>No backup providers configured</BoldLight>
+          <ButtonSuccess onClick={onAddProvider}><i18n.Translate>Add 
provider</i18n.Translate></ButtonSuccess>
+        </Centered>}
+      </section>
+      {!!providers.length && <footer>
+        <ButtonPrimary onClick={onSyncAll}>{
+          providers.length > 1 ?
+            <i18n.Translate>Sync all backups</i18n.Translate> :
+            <i18n.Translate>Sync now</i18n.Translate>
+        }</ButtonPrimary>
+        <ButtonSuccess onClick={onAddProvider}>Add provider</ButtonSuccess>
+      </footer>}
+    </PopupBox>
   )
 }
 
 interface TransactionLayoutProps {
-  status: any;
+  status: ProviderPaymentStatus;
   timestamp?: Timestamp;
   title: string;
   id: string;
@@ -92,55 +88,33 @@ function BackupLayout(props: TransactionLayoutProps): 
JSX.Element {
     dateStyle: "medium",
     timeStyle: "short",
   } as any);
+
+
   return (
-    <div
-      style={{
-        display: "flex",
-        flexDirection: "row",
-        border: "1px solid gray",
-        borderRadius: "0.5em",
-        margin: "0.5em 0",
-        justifyContent: "space-between",
-        padding: "0.5em",
-      }}
-    >
-      <div
-        style={{ display: "flex", flexDirection: "column", color: 
!props.active ? "gray" : undefined }}
-      >
-        <div style={{  }}>
-          <a href={Pages.provider_detail.replace(':pid', 
encodeURIComponent(props.id))}><span>{props.title}</span></a>
-        </div>
-
-        {dateStr && <div style={{ fontSize: "small", marginTop: '0.5em' 
}}>Last synced: {dateStr}</div>}
-        {!dateStr && <div style={{ fontSize: "small", color: 'gray' }}>Not 
synced</div>}
+    <Row>
+      <div style={{ color: !props.active ? "grey" : undefined }}>
+        <a href={Pages.provider_detail.replace(':pid', 
encodeURIComponent(props.id))}><span>{props.title}</span></a>
+
+        {dateStr && <SmallText>Last synced: {dateStr}</SmallText>}
+        {!dateStr && <SmallTextLight>Not synced</SmallTextLight>}
       </div>
-      <div style={{
-        marginLeft: "auto",
-        display: "flex",
-        flexDirection: "column",
-        alignItems: "center",
-        alignSelf: "center"
-      }}>
-        <div style={{ display: 'flex', flexDirection: 'column' }}>
-          {
-            props.status?.type === 'paid' ?
-              <Fragment>
-                <div style={{ whiteSpace: 'nowrap', textAlign: 'center' }}>
-                  Expires in
-                </div>
-                <div style={{ whiteSpace: 'nowrap', textAlign: 'center', 
fontWeight: 'bold', color: colorByTimeToExpire(props.status.paidUntil) }}>
-                  {daysUntil(props.status.paidUntil)}
-                </div>
-              </Fragment>
-              :
-              'unpaid'
-          }
-        </div>
+      <div>
+        {props.status?.type === 'paid' ?
+          <ExpirationText until={props.status.paidUntil} /> :
+          <div>{props.status.type}</div>
+        }
       </div>
-    </div>
+    </Row>
   );
 }
 
+function ExpirationText({ until }: { until: Timestamp }) {
+  return <Fragment>
+    <CenteredText> Expires in </CenteredText>
+    <CenteredTextBold {...({color:colorByTimeToExpire(until)})}> 
{daysUntil(until)} </CenteredTextBold>
+  </Fragment>
+}
+
 function colorByTimeToExpire(d: Timestamp) {
   if (d.t_ms === 'never') return 'rgb(28, 184, 65)'
   const months = differenceInMonths(d.t_ms, new Date())
diff --git 
a/packages/taler-wallet-webextension/src/popup/ProviderDetailPage.tsx 
b/packages/taler-wallet-webextension/src/popup/ProviderDetailPage.tsx
index b7a6f847..0d48ab07 100644
--- a/packages/taler-wallet-webextension/src/popup/ProviderDetailPage.tsx
+++ b/packages/taler-wallet-webextension/src/popup/ProviderDetailPage.tsx
@@ -15,15 +15,11 @@
 */
 
 
-import { BackupBackupProviderTerms, i18n, Timestamp } from 
"@gnu-taler/taler-util";
+import { i18n, Timestamp } from "@gnu-taler/taler-util";
 import { ProviderInfo, ProviderPaymentStatus, ProviderPaymentType } from 
"@gnu-taler/taler-wallet-core";
-import { ContractTermsUtil } from 
"@gnu-taler/taler-wallet-core/src/util/contractTerms";
-import { formatDuration, intervalToDuration, format } from "date-fns";
+import { format, formatDuration, intervalToDuration } from "date-fns";
 import { Fragment, VNode } from "preact";
-import { useRef, useState } from "preact/hooks";
-import { useBackupStatus } from "../hooks/useBackupStatus";
-import { useProviderStatus } from "../hooks/useProviderStatus.js";
-import * as wxApi from "../wxApi";
+import { useProviderStatus } from "../hooks/useProviderStatus";
 
 interface Props {
   pid: string;
diff --git a/packages/taler-wallet-webextension/static/popup.html 
b/packages/taler-wallet-webextension/static/popup.html
index 9f6520a1..06e44792 100644
--- a/packages/taler-wallet-webextension/static/popup.html
+++ b/packages/taler-wallet-webextension/static/popup.html
@@ -4,6 +4,7 @@
     <meta charset="utf-8" />
     <link rel="stylesheet" type="text/css" href="/static/style/pure.css" />
     <link rel="stylesheet" type="text/css" href="/static/style/popup.css" />
+    <link rel="stylesheet" type="text/css" href="/dist/styles.css" />
     <link rel="icon" href="/static/img/icon.png" />
     <script src="/dist/popupEntryPoint.js"></script>
   </head>
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 42d5e81d..21dd358f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -210,6 +210,13 @@ importers:
       '@babel/preset-typescript': ^7.13.0
       '@gnu-taler/taler-util': workspace:*
       '@gnu-taler/taler-wallet-core': workspace:*
+      '@linaria/babel-preset': ^3.0.0-beta.4
+      '@linaria/core': ^3.0.0-beta.4
+      '@linaria/react': ^3.0.0-beta.7
+      '@linaria/rollup': ^3.0.0-beta.7
+      '@linaria/shaker': ^3.0.0-beta.7
+      '@linaria/webpack-loader': ^3.0.0-beta.7
+      '@rollup/plugin-alias': ^3.1.2
       '@rollup/plugin-commonjs': ^17.0.0
       '@rollup/plugin-image': ^2.0.6
       '@rollup/plugin-json': ^4.1.0
@@ -224,6 +231,7 @@ importers:
       '@types/jest': ^26.0.23
       '@types/node': ^14.14.22
       ava: 3.15.0
+      babel-loader: ^8.2.2
       babel-plugin-transform-react-jsx: ^6.24.1
       date-fns: ^2.22.1
       enzyme: ^3.11.0
@@ -237,6 +245,7 @@ importers:
       preact-router: ^3.2.1
       rimraf: ^3.0.2
       rollup: ^2.37.1
+      rollup-plugin-css-only: ^3.1.0
       rollup-plugin-ignore: ^1.0.9
       rollup-plugin-sourcemaps: ^0.6.3
       rollup-plugin-terser: ^7.0.2
@@ -254,13 +263,20 @@ importers:
       '@babel/core': 7.14.0
       '@babel/plugin-transform-react-jsx-source': 7.12.13_@babel+core@7.14.0
       '@babel/preset-typescript': 7.13.0_@babel+core@7.14.0
+      '@linaria/babel-preset': 3.0.0-beta.4_@babel+core@7.14.0
+      '@linaria/core': 3.0.0-beta.4
+      '@linaria/react': 3.0.0-beta.7
+      '@linaria/rollup': 3.0.0-beta.7_@babel+core@7.14.0+rollup@2.37.1
+      '@linaria/shaker': 3.0.0-beta.7_@babel+core@7.14.0
+      '@linaria/webpack-loader': 3.0.0-beta.7_@babel+core@7.14.0
+      '@rollup/plugin-alias': 3.1.2_rollup@2.37.1
       '@rollup/plugin-commonjs': 17.0.0_rollup@2.37.1
       '@rollup/plugin-image': 2.0.6_rollup@2.37.1
       '@rollup/plugin-json': 4.1.0_rollup@2.37.1
       '@rollup/plugin-node-resolve': 11.1.0_rollup@2.37.1
       '@rollup/plugin-replace': 2.3.4_rollup@2.37.1
       '@storybook/addon-a11y': 6.2.9
-      '@storybook/addon-essentials': 6.2.9_e9b5cc4c214206b94c009b28dec53136
+      '@storybook/addon-essentials': 6.2.9_73bef2aa0eff460ee552903a16f56020
       '@storybook/preact': 6.2.9_692c377c5519f2a2696800bf2192657e
       '@testing-library/preact': 2.0.1_preact@10.5.13
       '@types/chrome': 0.0.128
@@ -268,6 +284,7 @@ importers:
       '@types/jest': 26.0.23
       '@types/node': 14.14.22
       ava: 3.15.0
+      babel-loader: 8.2.2_@babel+core@7.14.0
       babel-plugin-transform-react-jsx: 6.24.1
       enzyme: 3.11.0
       enzyme-adapter-preact-pure: 3.1.0_enzyme@3.11.0+preact@10.5.13
@@ -278,6 +295,7 @@ importers:
       preact-render-to-string: 5.1.19_preact@10.5.13
       rimraf: 3.0.2
       rollup: 2.37.1
+      rollup-plugin-css-only: 3.1.0_rollup@2.37.1
       rollup-plugin-ignore: 1.0.9
       rollup-plugin-sourcemaps: 0.6.3_38ff52cc32daa1ae80c428f8a47a4e22
       rollup-plugin-terser: 7.0.2_rollup@2.37.1
@@ -311,10 +329,22 @@ packages:
       '@babel/highlight': 7.14.0
     dev: true
 
+  /@babel/code-frame/7.14.5:
+    resolution: {integrity: 
sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/highlight': 7.14.5
+    dev: true
+
   /@babel/compat-data/7.14.0:
     resolution: {integrity: 
sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==}
     dev: true
 
+  /@babel/compat-data/7.14.7:
+    resolution: {integrity: 
sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==}
+    engines: {node: '>=6.9.0'}
+    dev: true
+
   /@babel/core/7.12.9:
     resolution: {integrity: 
sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==}
     engines: {node: '>=6.9.0'}
@@ -401,12 +431,28 @@ packages:
       source-map: 0.5.7
     dev: true
 
+  /@babel/generator/7.14.5:
+    resolution: {integrity: 
sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.14.5
+      jsesc: 2.5.2
+      source-map: 0.5.7
+    dev: true
+
   /@babel/helper-annotate-as-pure/7.12.13:
     resolution: {integrity: 
sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==}
     dependencies:
       '@babel/types': 7.14.2
     dev: true
 
+  /@babel/helper-annotate-as-pure/7.14.5:
+    resolution: {integrity: 
sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.14.5
+    dev: true
+
   /@babel/helper-builder-binary-assignment-operator-visitor/7.12.13:
     resolution: {integrity: 
sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==}
     dependencies:
@@ -414,6 +460,14 @@ packages:
       '@babel/types': 7.14.1
     dev: true
 
+  /@babel/helper-builder-binary-assignment-operator-visitor/7.14.5:
+    resolution: {integrity: 
sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/helper-explode-assignable-expression': 7.14.5
+      '@babel/types': 7.14.5
+    dev: true
+
   /@babel/helper-compilation-targets/7.13.16_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==}
     peerDependencies:
@@ -438,6 +492,19 @@ packages:
       semver: 6.3.0
     dev: true
 
+  /@babel/helper-compilation-targets/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    dependencies:
+      '@babel/compat-data': 7.14.7
+      '@babel/core': 7.14.0
+      '@babel/helper-validator-option': 7.14.5
+      browserslist: 4.16.6
+      semver: 6.3.0
+    dev: true
+
   /@babel/helper-create-class-features-plugin/7.14.1_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-r8rsUahG4ywm0QpGcCrLaUSOuNAISR3IZCg4Fx05Ozq31aCUrQsTLH6KPxy0N5ULoQ4Sn9qjNdGNtbPWAC6hYg==}
     peerDependencies:
@@ -502,6 +569,23 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/helper-create-class-features-plugin/7.14.6_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-annotate-as-pure': 7.14.5
+      '@babel/helper-function-name': 7.14.5
+      '@babel/helper-member-expression-to-functions': 7.14.7
+      '@babel/helper-optimise-call-expression': 7.14.5
+      '@babel/helper-replace-supers': 7.14.5
+      '@babel/helper-split-export-declaration': 7.14.5
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/helper-create-regexp-features-plugin/7.12.17_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==}
     peerDependencies:
@@ -522,6 +606,17 @@ packages:
       regexpu-core: 4.7.1
     dev: true
 
+  /@babel/helper-create-regexp-features-plugin/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-annotate-as-pure': 7.14.5
+      regexpu-core: 4.7.1
+    dev: true
+
   /@babel/helper-define-polyfill-provider/0.1.5_@babel+core@7.14.3:
     resolution: {integrity: 
sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==}
     peerDependencies:
@@ -576,12 +671,37 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/helper-define-polyfill-provider/0.2.3_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==}
+    peerDependencies:
+      '@babel/core': ^7.4.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.0
+      '@babel/helper-module-imports': 7.14.5
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/traverse': 7.14.7
+      debug: 4.3.2
+      lodash.debounce: 4.0.8
+      resolve: 1.20.0
+      semver: 6.3.0
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/helper-explode-assignable-expression/7.13.0:
     resolution: {integrity: 
sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==}
     dependencies:
       '@babel/types': 7.14.1
     dev: true
 
+  /@babel/helper-explode-assignable-expression/7.14.5:
+    resolution: {integrity: 
sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.14.5
+    dev: true
+
   /@babel/helper-function-name/7.12.13:
     resolution: {integrity: 
sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==}
     dependencies:
@@ -598,12 +718,28 @@ packages:
       '@babel/types': 7.14.2
     dev: true
 
+  /@babel/helper-function-name/7.14.5:
+    resolution: {integrity: 
sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/helper-get-function-arity': 7.14.5
+      '@babel/template': 7.14.5
+      '@babel/types': 7.14.5
+    dev: true
+
   /@babel/helper-get-function-arity/7.12.13:
     resolution: {integrity: 
sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==}
     dependencies:
       '@babel/types': 7.14.1
     dev: true
 
+  /@babel/helper-get-function-arity/7.14.5:
+    resolution: {integrity: 
sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.14.5
+    dev: true
+
   /@babel/helper-hoist-variables/7.13.16:
     resolution: {integrity: 
sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==}
     dependencies:
@@ -613,18 +749,39 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/helper-hoist-variables/7.14.5:
+    resolution: {integrity: 
sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.14.5
+    dev: true
+
   /@babel/helper-member-expression-to-functions/7.13.12:
     resolution: {integrity: 
sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==}
     dependencies:
       '@babel/types': 7.14.1
     dev: true
 
+  /@babel/helper-member-expression-to-functions/7.14.7:
+    resolution: {integrity: 
sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.14.5
+    dev: true
+
   /@babel/helper-module-imports/7.13.12:
     resolution: {integrity: 
sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==}
     dependencies:
       '@babel/types': 7.14.2
     dev: true
 
+  /@babel/helper-module-imports/7.14.5:
+    resolution: {integrity: 
sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.14.5
+    dev: true
+
   /@babel/helper-module-transforms/7.14.0:
     resolution: {integrity: 
sha512-L40t9bxIuGOfpIGA3HNkJhU9qYrf4y5A5LUSw7rGMSn+pcG8dfJ0g6Zval6YJGd2nEjI7oP00fRdnhLKndx6bw==}
     dependencies:
@@ -655,12 +812,35 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/helper-module-transforms/7.14.5:
+    resolution: {integrity: 
sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/helper-module-imports': 7.14.5
+      '@babel/helper-replace-supers': 7.14.5
+      '@babel/helper-simple-access': 7.14.5
+      '@babel/helper-split-export-declaration': 7.14.5
+      '@babel/helper-validator-identifier': 7.14.5
+      '@babel/template': 7.14.5
+      '@babel/traverse': 7.14.7
+      '@babel/types': 7.14.5
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/helper-optimise-call-expression/7.12.13:
     resolution: {integrity: 
sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==}
     dependencies:
       '@babel/types': 7.14.1
     dev: true
 
+  /@babel/helper-optimise-call-expression/7.14.5:
+    resolution: {integrity: 
sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.14.5
+    dev: true
+
   /@babel/helper-plugin-utils/7.10.4:
     resolution: {integrity: 
sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==}
     dev: true
@@ -669,6 +849,11 @@ packages:
     resolution: {integrity: 
sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==}
     dev: true
 
+  /@babel/helper-plugin-utils/7.14.5:
+    resolution: {integrity: 
sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==}
+    engines: {node: '>=6.9.0'}
+    dev: true
+
   /@babel/helper-remap-async-to-generator/7.13.0:
     resolution: {integrity: 
sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==}
     dependencies:
@@ -679,6 +864,17 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/helper-remap-async-to-generator/7.14.5:
+    resolution: {integrity: 
sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/helper-annotate-as-pure': 7.14.5
+      '@babel/helper-wrap-function': 7.14.5
+      '@babel/types': 7.14.5
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/helper-replace-supers/7.13.12:
     resolution: {integrity: 
sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==}
     dependencies:
@@ -701,24 +897,57 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/helper-replace-supers/7.14.5:
+    resolution: {integrity: 
sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/helper-member-expression-to-functions': 7.14.7
+      '@babel/helper-optimise-call-expression': 7.14.5
+      '@babel/traverse': 7.14.7
+      '@babel/types': 7.14.5
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/helper-simple-access/7.13.12:
     resolution: {integrity: 
sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==}
     dependencies:
       '@babel/types': 7.14.1
     dev: true
 
+  /@babel/helper-simple-access/7.14.5:
+    resolution: {integrity: 
sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.14.5
+    dev: true
+
   /@babel/helper-skip-transparent-expression-wrappers/7.12.1:
     resolution: {integrity: 
sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==}
     dependencies:
       '@babel/types': 7.14.1
     dev: true
 
+  /@babel/helper-skip-transparent-expression-wrappers/7.14.5:
+    resolution: {integrity: 
sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.14.5
+    dev: true
+
   /@babel/helper-split-export-declaration/7.12.13:
     resolution: {integrity: 
sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==}
     dependencies:
       '@babel/types': 7.14.1
     dev: true
 
+  /@babel/helper-split-export-declaration/7.14.5:
+    resolution: {integrity: 
sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.14.5
+    dev: true
+
   /@babel/helper-validator-identifier/7.12.11:
     resolution: {integrity: 
sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==}
     dev: true
@@ -727,10 +956,20 @@ packages:
     resolution: {integrity: 
sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==}
     dev: true
 
+  /@babel/helper-validator-identifier/7.14.5:
+    resolution: {integrity: 
sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==}
+    engines: {node: '>=6.9.0'}
+    dev: true
+
   /@babel/helper-validator-option/7.12.17:
     resolution: {integrity: 
sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==}
     dev: true
 
+  /@babel/helper-validator-option/7.14.5:
+    resolution: {integrity: 
sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==}
+    engines: {node: '>=6.9.0'}
+    dev: true
+
   /@babel/helper-wrap-function/7.13.0:
     resolution: {integrity: 
sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==}
     dependencies:
@@ -742,6 +981,18 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/helper-wrap-function/7.14.5:
+    resolution: {integrity: 
sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/helper-function-name': 7.14.5
+      '@babel/template': 7.14.5
+      '@babel/traverse': 7.14.7
+      '@babel/types': 7.14.5
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/helpers/7.14.0:
     resolution: {integrity: 
sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==}
     dependencies:
@@ -768,6 +1019,15 @@ packages:
       js-tokens: 4.0.0
     dev: true
 
+  /@babel/highlight/7.14.5:
+    resolution: {integrity: 
sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/helper-validator-identifier': 7.14.5
+      chalk: 2.4.2
+      js-tokens: 4.0.0
+    dev: true
+
   /@babel/parser/7.14.1:
     resolution: {integrity: 
sha512-muUGEKu8E/ftMTPlNp+mc6zL3E9zKWmF5sDHZ5MSsoTP9Wyz64AhEf9kD08xYJ7w6Hdcu8H550ircnPyWSIF0Q==}
     engines: {node: '>=6.0.0'}
@@ -780,6 +1040,12 @@ packages:
     hasBin: true
     dev: true
 
+  /@babel/parser/7.14.7:
+    resolution: {integrity: 
sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==}
+    engines: {node: '>=6.0.0'}
+    hasBin: true
+    dev: true
+
   
/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.13.12_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==}
     peerDependencies:
@@ -802,6 +1068,18 @@ packages:
       '@babel/plugin-proposal-optional-chaining': 7.13.12_@babel+core@7.14.3
     dev: true
 
+  
/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.13.0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/helper-skip-transparent-expression-wrappers': 7.14.5
+      '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.14.0
+    dev: true
+
   /@babel/plugin-proposal-async-generator-functions/7.13.15_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-VapibkWzFeoa6ubXy/NgV5U2U4MVnUlvnx6wo1XhlsaTrLYWE0UFpDQsVrmn22q5CzeloqJ8gEMHSKxuee6ZdA==}
     peerDependencies:
@@ -828,6 +1106,20 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/plugin-proposal-async-generator-functions/7.14.7_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/helper-remap-async-to-generator': 7.14.5
+      '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.14.0
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/plugin-proposal-class-properties/7.13.0_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==}
     peerDependencies:
@@ -852,6 +1144,19 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/plugin-proposal-class-properties/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/plugin-proposal-class-static-block/7.13.11_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-fJTdFI4bfnMjvxJyNuaf8i9mVcZ0UhetaGEUHaHV9KEnibLugJkZAtXikR8KcYj+NYmI4DZMS8yQAyg+hvfSqg==}
     peerDependencies:
@@ -875,6 +1180,20 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/plugin-proposal-class-static-block/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.12.0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.14.0
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/plugin-proposal-decorators/7.13.15_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-ibAMAqUm97yzi+LPgdr5Nqb9CMkeieGHvwPg1ywSGjZrZHQEGqE01HmOio8kxRpA/+VtOHouIVy2FMpBbtltjA==}
     peerDependencies:
@@ -921,6 +1240,17 @@ packages:
       '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.3
     dev: true
 
+  /@babel/plugin-proposal-dynamic-import/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.0
+    dev: true
+
   /@babel/plugin-proposal-export-default-from/7.12.13_@babel+core@7.14.3:
     resolution: {integrity: 
sha512-idIsBT+DGXdOHL82U+8bwX4goHm/z10g8sGGrQroh+HCRcm7mDv/luaGdWJQMTuCX2FsdXS7X0Nyyzp4znAPJA==}
     peerDependencies:
@@ -951,6 +1281,17 @@ packages:
       '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.14.3
     dev: true
 
+  /@babel/plugin-proposal-export-namespace-from/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.14.0
+    dev: true
+
   /@babel/plugin-proposal-json-strings/7.13.8_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==}
     peerDependencies:
@@ -971,6 +1312,17 @@ packages:
       '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.14.3
     dev: true
 
+  /@babel/plugin-proposal-json-strings/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.14.0
+    dev: true
+
   
/@babel/plugin-proposal-logical-assignment-operators/7.13.8_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==}
     peerDependencies:
@@ -991,6 +1343,17 @@ packages:
       '@babel/plugin-syntax-logical-assignment-operators': 
7.10.4_@babel+core@7.14.3
     dev: true
 
+  
/@babel/plugin-proposal-logical-assignment-operators/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/plugin-syntax-logical-assignment-operators': 
7.10.4_@babel+core@7.14.0
+    dev: true
+
   
/@babel/plugin-proposal-nullish-coalescing-operator/7.13.8_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==}
     peerDependencies:
@@ -1011,6 +1374,17 @@ packages:
       '@babel/plugin-syntax-nullish-coalescing-operator': 
7.8.3_@babel+core@7.14.3
     dev: true
 
+  
/@babel/plugin-proposal-nullish-coalescing-operator/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/plugin-syntax-nullish-coalescing-operator': 
7.8.3_@babel+core@7.14.0
+    dev: true
+
   /@babel/plugin-proposal-numeric-separator/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==}
     peerDependencies:
@@ -1031,6 +1405,17 @@ packages:
       '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.14.3
     dev: true
 
+  /@babel/plugin-proposal-numeric-separator/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.14.0
+    dev: true
+
   /@babel/plugin-proposal-object-rest-spread/7.12.1_@babel+core@7.12.9:
     resolution: {integrity: 
sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==}
     peerDependencies:
@@ -1068,6 +1453,20 @@ packages:
       '@babel/plugin-transform-parameters': 7.14.2_@babel+core@7.14.3
     dev: true
 
+  /@babel/plugin-proposal-object-rest-spread/7.14.7_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/compat-data': 7.14.7
+      '@babel/core': 7.14.0
+      '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.14.0
+      '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.14.0
+    dev: true
+
   /@babel/plugin-proposal-optional-catch-binding/7.13.8_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==}
     peerDependencies:
@@ -1088,6 +1487,17 @@ packages:
       '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.14.3
     dev: true
 
+  /@babel/plugin-proposal-optional-catch-binding/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.14.0
+    dev: true
+
   /@babel/plugin-proposal-optional-chaining/7.13.12_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==}
     peerDependencies:
@@ -1121,6 +1531,18 @@ packages:
       '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.14.3
     dev: true
 
+  /@babel/plugin-proposal-optional-chaining/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/helper-skip-transparent-expression-wrappers': 7.14.5
+      '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.14.0
+    dev: true
+
   /@babel/plugin-proposal-private-methods/7.13.0_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==}
     peerDependencies:
@@ -1145,6 +1567,19 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/plugin-proposal-private-methods/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/plugin-proposal-private-property-in-object/7.14.0_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg==}
     peerDependencies:
@@ -1173,6 +1608,21 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/plugin-proposal-private-property-in-object/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-annotate-as-pure': 7.14.5
+      '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/plugin-syntax-private-property-in-object': 
7.14.5_@babel+core@7.14.0
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/plugin-proposal-unicode-property-regex/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==}
     engines: {node: '>=4'}
@@ -1195,6 +1645,17 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-proposal-unicode-property-regex/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==}
+    engines: {node: '>=4'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
     peerDependencies:
@@ -1258,6 +1719,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-syntax-decorators/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA==}
     peerDependencies:
@@ -1282,7 +1753,7 @@ packages:
       '@babel/core': ^7.0.0-0
     dependencies:
       '@babel/core': 7.14.0
-      '@babel/helper-plugin-utils': 7.13.0
+      '@babel/helper-plugin-utils': 7.14.5
     dev: true
 
   /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.14.3:
@@ -1291,7 +1762,7 @@ packages:
       '@babel/core': ^7.0.0-0
     dependencies:
       '@babel/core': 7.14.3
-      '@babel/helper-plugin-utils': 7.13.0
+      '@babel/helper-plugin-utils': 7.14.5
     dev: true
 
   /@babel/plugin-syntax-export-default-from/7.12.13_@babel+core@7.14.3:
@@ -1510,6 +1981,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-syntax-top-level-await/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==}
     peerDependencies:
@@ -1528,6 +2009,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-syntax-typescript/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==}
     peerDependencies:
@@ -1564,6 +2055,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-arrow-functions/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-async-to-generator/7.13.0_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==}
     peerDependencies:
@@ -1590,6 +2091,20 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/plugin-transform-async-to-generator/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-module-imports': 7.14.5
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/helper-remap-async-to-generator': 7.14.5
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/plugin-transform-block-scoped-functions/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==}
     peerDependencies:
@@ -1608,6 +2123,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-block-scoped-functions/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-block-scoping/7.14.1_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-2mQXd0zBrwfp0O1moWIhPpEeTKDvxyHcnma3JATVP1l+CctWBuot6OJG8LQ4DnBj4ZZPSmlb/fm4mu47EOAnVA==}
     peerDependencies:
@@ -1626,6 +2151,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-block-scoping/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-classes/7.13.0_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==}
     peerDependencies:
@@ -1660,6 +2195,24 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/plugin-transform-classes/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-annotate-as-pure': 7.14.5
+      '@babel/helper-function-name': 7.14.5
+      '@babel/helper-optimise-call-expression': 7.14.5
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/helper-replace-supers': 7.14.5
+      '@babel/helper-split-export-declaration': 7.14.5
+      globals: 11.12.0
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/plugin-transform-computed-properties/7.13.0_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==}
     peerDependencies:
@@ -1678,6 +2231,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-computed-properties/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-destructuring/7.13.17_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==}
     peerDependencies:
@@ -1696,6 +2259,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-destructuring/7.14.7_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-dotall-regex/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==}
     peerDependencies:
@@ -1716,6 +2289,17 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-dotall-regex/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-duplicate-keys/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==}
     peerDependencies:
@@ -1734,6 +2318,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-duplicate-keys/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-exponentiation-operator/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==}
     peerDependencies:
@@ -1754,6 +2348,17 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-exponentiation-operator/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-builder-binary-assignment-operator-visitor': 7.14.5
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-for-of/7.13.0_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==}
     peerDependencies:
@@ -1772,6 +2377,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-for-of/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-function-name/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==}
     peerDependencies:
@@ -1792,6 +2407,17 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-function-name/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-function-name': 7.14.5
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-literals/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==}
     peerDependencies:
@@ -1810,6 +2436,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-literals/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   
/@babel/plugin-transform-member-expression-literals/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==}
     peerDependencies:
@@ -1828,6 +2464,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  
/@babel/plugin-transform-member-expression-literals/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-modules-amd/7.14.0_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-CF4c5LX4LQ03LebQxJ5JZes2OYjzBuk1TdiF7cG7d5dK4lAdw9NZmaxq5K/mouUdNeqwz3TNjnW6v01UqUNgpQ==}
     peerDependencies:
@@ -1854,6 +2500,20 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/plugin-transform-modules-amd/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-module-transforms': 7.14.5
+      '@babel/helper-plugin-utils': 7.14.5
+      babel-plugin-dynamic-import-node: 2.3.3
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/plugin-transform-modules-commonjs/7.14.0_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==}
     peerDependencies:
@@ -1882,6 +2542,21 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/plugin-transform-modules-commonjs/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-module-transforms': 7.14.5
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/helper-simple-access': 7.14.5
+      babel-plugin-dynamic-import-node: 2.3.3
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/plugin-transform-modules-systemjs/7.13.8_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==}
     peerDependencies:
@@ -1912,6 +2587,22 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/plugin-transform-modules-systemjs/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-hoist-variables': 7.14.5
+      '@babel/helper-module-transforms': 7.14.5
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/helper-validator-identifier': 7.14.5
+      babel-plugin-dynamic-import-node: 2.3.3
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/plugin-transform-modules-umd/7.14.0_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw==}
     peerDependencies:
@@ -1936,6 +2627,19 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/plugin-transform-modules-umd/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-module-transforms': 7.14.5
+      '@babel/helper-plugin-utils': 7.14.5
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   
/@babel/plugin-transform-named-capturing-groups-regex/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==}
     peerDependencies:
@@ -1954,6 +2658,16 @@ packages:
       '@babel/helper-create-regexp-features-plugin': 7.12.17_@babel+core@7.14.3
     dev: true
 
+  
/@babel/plugin-transform-named-capturing-groups-regex/7.14.7_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.0
+    dev: true
+
   /@babel/plugin-transform-new-target/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==}
     peerDependencies:
@@ -1972,6 +2686,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-new-target/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-object-assign/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-4QxDMc0lAOkIBSfCrnSGbAJ+4epDBF2XXwcLXuBcG1xl9u7LrktNVD4+LwhL47XuKVPQ7R25e/WdcV+h97HyZA==}
     peerDependencies:
@@ -2005,6 +2729,19 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/plugin-transform-object-super/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/helper-replace-supers': 7.14.5
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/plugin-transform-parameters/7.13.0_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==}
     peerDependencies:
@@ -2032,6 +2769,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-parameters/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-property-literals/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==}
     peerDependencies:
@@ -2050,6 +2797,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-property-literals/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-react-display-name/7.14.2_@babel+core@7.14.3:
     resolution: {integrity: 
sha512-zCubvP+jjahpnFJvPaHPiGVfuVUjXHhFvJKQdNnsmSsiU9kR/rCZ41jHc++tERD2zV+p7Hr6is+t5b6iWTCqSw==}
     peerDependencies:
@@ -2144,6 +2901,16 @@ packages:
       regenerator-transform: 0.14.5
     dev: true
 
+  /@babel/plugin-transform-regenerator/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      regenerator-transform: 0.14.5
+    dev: true
+
   /@babel/plugin-transform-reserved-words/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==}
     peerDependencies:
@@ -2162,6 +2929,33 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-reserved-words/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
+  /@babel/plugin-transform-runtime/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-module-imports': 7.14.5
+      '@babel/helper-plugin-utils': 7.14.5
+      babel-plugin-polyfill-corejs2: 0.2.2_@babel+core@7.14.0
+      babel-plugin-polyfill-corejs3: 0.2.3_@babel+core@7.14.0
+      babel-plugin-polyfill-regenerator: 0.2.2_@babel+core@7.14.0
+      semver: 6.3.0
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/plugin-transform-shorthand-properties/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==}
     peerDependencies:
@@ -2180,6 +2974,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-shorthand-properties/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-spread/7.13.0_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==}
     peerDependencies:
@@ -2200,6 +3004,17 @@ packages:
       '@babel/helper-skip-transparent-expression-wrappers': 7.12.1
     dev: true
 
+  /@babel/plugin-transform-spread/7.14.6_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/helper-skip-transparent-expression-wrappers': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-sticky-regex/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==}
     peerDependencies:
@@ -2218,6 +3033,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-sticky-regex/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-template-literals/7.13.0_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==}
     peerDependencies:
@@ -2236,6 +3061,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-template-literals/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-typeof-symbol/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==}
     peerDependencies:
@@ -2254,6 +3089,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-typeof-symbol/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-typescript/7.13.0_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-elQEwluzaU8R8dbVuW2Q2Y8Nznf7hnjM7+DSCd14Lo5fF63C9qNLbwZYbmZrtV9/ySpSUpkRpQXvJb6xyu4hCQ==}
     peerDependencies:
@@ -2298,6 +3143,16 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-unicode-escapes/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/plugin-transform-unicode-regex/7.12.13_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==}
     peerDependencies:
@@ -2318,6 +3173,17 @@ packages:
       '@babel/helper-plugin-utils': 7.13.0
     dev: true
 
+  /@babel/plugin-transform-unicode-regex/7.14.5_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+    dev: true
+
   /@babel/preset-env/7.14.1_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-0M4yL1l7V4l+j/UHvxcdvNfLB9pPtIooHTbEhgD/6UGyh8Hy3Bm1Mj0buzjDXATCSz3JFibVdnoJZCrlUCanrQ==}
     peerDependencies:
@@ -2484,6 +3350,90 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/preset-env/7.14.7_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-itOGqCKLsSUl0Y+1nSfhbuuOlTs0MJk2Iv7iSH+XT/mR8U1zRLO7NjWlYXB47yhK4J/7j+HYty/EhFZDYKa/VA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/compat-data': 7.14.7
+      '@babel/core': 7.14.0
+      '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.0
+      '@babel/helper-plugin-utils': 7.14.5
+      '@babel/helper-validator-option': 7.14.5
+      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 
7.14.5_@babel+core@7.14.0
+      '@babel/plugin-proposal-async-generator-functions': 
7.14.7_@babel+core@7.14.0
+      '@babel/plugin-proposal-class-properties': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-proposal-class-static-block': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-proposal-dynamic-import': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-proposal-export-namespace-from': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-proposal-json-strings': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-proposal-logical-assignment-operators': 
7.14.5_@babel+core@7.14.0
+      '@babel/plugin-proposal-nullish-coalescing-operator': 
7.14.5_@babel+core@7.14.0
+      '@babel/plugin-proposal-numeric-separator': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-proposal-object-rest-spread': 7.14.7_@babel+core@7.14.0
+      '@babel/plugin-proposal-optional-catch-binding': 
7.14.5_@babel+core@7.14.0
+      '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-proposal-private-methods': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-proposal-private-property-in-object': 
7.14.5_@babel+core@7.14.0
+      '@babel/plugin-proposal-unicode-property-regex': 
7.14.5_@babel+core@7.14.0
+      '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.14.0
+      '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.14.0
+      '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.0
+      '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.14.0
+      '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.14.0
+      '@babel/plugin-syntax-logical-assignment-operators': 
7.10.4_@babel+core@7.14.0
+      '@babel/plugin-syntax-nullish-coalescing-operator': 
7.8.3_@babel+core@7.14.0
+      '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.14.0
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.14.0
+      '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.14.0
+      '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.14.0
+      '@babel/plugin-syntax-private-property-in-object': 
7.14.5_@babel+core@7.14.0
+      '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-arrow-functions': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-async-to-generator': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-block-scoped-functions': 
7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-block-scoping': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-classes': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-computed-properties': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-destructuring': 7.14.7_@babel+core@7.14.0
+      '@babel/plugin-transform-dotall-regex': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-duplicate-keys': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-exponentiation-operator': 
7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-for-of': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-function-name': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-literals': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-member-expression-literals': 
7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-modules-amd': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-modules-commonjs': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-modules-systemjs': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-modules-umd': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-named-capturing-groups-regex': 
7.14.7_@babel+core@7.14.0
+      '@babel/plugin-transform-new-target': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-object-super': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-property-literals': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-regenerator': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-reserved-words': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-shorthand-properties': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-spread': 7.14.6_@babel+core@7.14.0
+      '@babel/plugin-transform-sticky-regex': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-template-literals': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-typeof-symbol': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-unicode-escapes': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-unicode-regex': 7.14.5_@babel+core@7.14.0
+      '@babel/preset-modules': 0.1.4_@babel+core@7.14.0
+      '@babel/types': 7.14.5
+      babel-plugin-polyfill-corejs2: 0.2.2_@babel+core@7.14.0
+      babel-plugin-polyfill-corejs3: 0.2.3_@babel+core@7.14.0
+      babel-plugin-polyfill-regenerator: 0.2.2_@babel+core@7.14.0
+      core-js-compat: 3.15.2
+      semver: 6.3.0
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/preset-modules/0.1.4_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==}
     peerDependencies:
@@ -2590,6 +3540,15 @@ packages:
       '@babel/types': 7.14.1
     dev: true
 
+  /@babel/template/7.14.5:
+    resolution: {integrity: 
sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/code-frame': 7.14.5
+      '@babel/parser': 7.14.7
+      '@babel/types': 7.14.5
+    dev: true
+
   /@babel/traverse/7.14.0:
     resolution: {integrity: 
sha512-dZ/a371EE5XNhTHomvtuLTUyx6UEoJmYX+DT5zBCQN3McHemsuIaKKYqsc/fs26BEkHs/lBZy0J571LP5z9kQA==}
     dependencies:
@@ -2620,6 +3579,23 @@ packages:
       - supports-color
     dev: true
 
+  /@babel/traverse/7.14.7:
+    resolution: {integrity: 
sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/code-frame': 7.14.5
+      '@babel/generator': 7.14.5
+      '@babel/helper-function-name': 7.14.5
+      '@babel/helper-hoist-variables': 7.14.5
+      '@babel/helper-split-export-declaration': 7.14.5
+      '@babel/parser': 7.14.7
+      '@babel/types': 7.14.5
+      debug: 4.3.2
+      globals: 11.12.0
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@babel/types/7.14.1:
     resolution: {integrity: 
sha512-S13Qe85fzLs3gYRUnrpyeIrBJIMYv33qSTg1qoBwiG6nPKwUWAD9odSzWhEedpwOIzSEI6gbdQIWEMiCI42iBA==}
     dependencies:
@@ -2634,6 +3610,14 @@ packages:
       to-fast-properties: 2.0.0
     dev: true
 
+  /@babel/types/7.14.5:
+    resolution: {integrity: 
sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/helper-validator-identifier': 7.14.5
+      to-fast-properties: 2.0.0
+    dev: true
+
   /@base2/pretty-print-object/1.0.0:
     resolution: {integrity: 
sha512-4Th98KlMHr5+JkxfcoDT//6vY8vM+iSPrLNpHhRyLx2CFYi8e2RfqPLdpbnpo0Q5lQC5hNB79yes07zb02fvCw==}
     dev: true
@@ -3054,6 +4038,153 @@ packages:
       chalk: 4.1.1
     dev: true
 
+  /@linaria/babel-preset/3.0.0-beta.4_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-Bjsk4VZUQXK3u04MuLlyP/+/tDd7bWeLXYCOnq4US9H2QFRdka97fm6hH34SRinoHm9fSPCHrj9d+KtY8ge2wg==}
+    peerDependencies:
+      '@babel/core': '>=7'
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/generator': 7.14.5
+      '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.0
+      '@babel/template': 7.14.5
+      '@linaria/core': 3.0.0-beta.4
+      '@linaria/logger': 3.0.0-beta.3
+      cosmiconfig: 5.2.1
+      source-map: 0.6.1
+      stylis: 3.5.4
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /@linaria/babel-preset/3.0.0-beta.7_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-NE5f//T9ywXZA+W+Pw1YjWKdzskUpaV7GVkxXhkxLM2la1+S4xOoZR1rzW77bR1C9GFFwzZTeb8XP85whb2ZqQ==}
+    peerDependencies:
+      '@babel/core': '>=7'
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/generator': 7.14.5
+      '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.0
+      '@babel/template': 7.14.5
+      '@linaria/core': 3.0.0-beta.4
+      '@linaria/logger': 3.0.0-beta.3
+      cosmiconfig: 5.2.1
+      source-map: 0.7.3
+      stylis: 3.5.4
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /@linaria/core/3.0.0-beta.4:
+    resolution: {integrity: 
sha512-NzxeMDxRt57nR6tLFZ8xIstp5ld9JQPIyp9+TKtQZhoX3oJuUru+S4vXPr1Gach6VaqKKKT5T6fmJgJl9MMprw==}
+    dev: true
+
+  /@linaria/logger/3.0.0-beta.3:
+    resolution: {integrity: 
sha512-Z2k0RJuA4PffcZcwBN1By8FmcCvcFUe9GHc846B6hNP09zDVhHSFLKJN9NfXJCzJ/9PifOxSUKyOjLtpv3EhGA==}
+    dependencies:
+      debug: 4.3.2
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /@linaria/preeval/3.0.0-beta.7_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-fTFgxtjBGKh9P2rsqhBnHTqFo1d8VzznmXKpILM0ClAclVn+FB+KJl+nWyEbQ8nT9/ceRoTwbdZHZ/M3DFHG+w==}
+    peerDependencies:
+      '@babel/core': '>=7'
+    dependencies:
+      '@babel/core': 7.14.0
+      '@linaria/babel-preset': 3.0.0-beta.7_@babel+core@7.14.0
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /@linaria/react/3.0.0-beta.7:
+    resolution: {integrity: 
sha512-sAup35gSRuenwbziPhp1hmkfziY72BS9jr5Lp0GQ9NRG5fnxYBQ36TY4rrGE09mSBjw/uq2i7XsvYL8MNm1f1Q==}
+    peerDependencies:
+      react: '>=16'
+    dependencies:
+      '@emotion/is-prop-valid': 0.8.8
+      '@linaria/core': 3.0.0-beta.4
+    dev: true
+
+  /@linaria/rollup/3.0.0-beta.7_@babel+core@7.14.0+rollup@2.37.1:
+    resolution: {integrity: 
sha512-5bghkIaITLjotLd0c76VQSHcsETYjTSav9a6LNu5EarCi6oZ9prW8n6BaCKBDbG6njLGfSNhdLXrANx9AQOjyw==}
+    peerDependencies:
+      '@babel/core': '>=7'
+    dependencies:
+      '@babel/core': 7.14.0
+      '@linaria/babel-preset': 3.0.0-beta.7_@babel+core@7.14.0
+      '@rollup/pluginutils': 4.1.0_rollup@2.37.1
+    transitivePeerDependencies:
+      - rollup
+      - supports-color
+    dev: true
+
+  /@linaria/shaker/3.0.0-beta.7_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-fWDbbKcS8EiAnoNhTQa+2Or7QyR3Ofyqjtcrb1aeLN2ecVI2u7B5jAZgVPg9euTnhQ2ieUU3G9hh1INkoGKS/A==}
+    peerDependencies:
+      '@babel/core': '>=7'
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/generator': 7.14.5
+      '@babel/plugin-transform-runtime': 7.14.5_@babel+core@7.14.0
+      '@babel/plugin-transform-template-literals': 7.14.5_@babel+core@7.14.0
+      '@babel/preset-env': 7.14.7_@babel+core@7.14.0
+      '@linaria/babel-preset': 3.0.0-beta.7_@babel+core@7.14.0
+      '@linaria/logger': 3.0.0-beta.3
+      '@linaria/preeval': 3.0.0-beta.7_@babel+core@7.14.0
+      babel-plugin-transform-react-remove-prop-types: 0.4.24
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /@linaria/webpack-loader/3.0.0-beta.7_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-tYR+PVAqUEPsOUGeD1jOvpaX3UeBQIvh6JmX5ziYr0faBwOwabmjszCYrQ2FVonpHBsjs6zB1KtG+yUTgSygGA==}
+    dependencies:
+      '@linaria/webpack4-loader': 3.0.0-beta.7_@babel+core@7.14.0
+      '@linaria/webpack5-loader': 3.0.0-beta.7_@babel+core@7.14.0
+    transitivePeerDependencies:
+      - '@babel/core'
+      - supports-color
+      - webpack
+    dev: true
+
+  /@linaria/webpack4-loader/3.0.0-beta.7_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-B2c5vr9b8igcILM/ZcxE9Vu0J2w7NS9xERTvGD7Kp4TdLnFRpALMTJgYqlk3Gxq4T7RlAEi1vu8kHx65mXqA6g==}
+    peerDependencies:
+      '@babel/core': '>=7'
+    dependencies:
+      '@babel/core': 7.14.0
+      '@linaria/babel-preset': 3.0.0-beta.7_@babel+core@7.14.0
+      '@linaria/logger': 3.0.0-beta.3
+      cosmiconfig: 5.2.1
+      enhanced-resolve: 4.5.0
+      find-yarn-workspace-root: 1.2.1
+      loader-utils: 1.4.0
+      mkdirp: 0.5.5
+      normalize-path: 3.0.0
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /@linaria/webpack5-loader/3.0.0-beta.7_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-s2C44ml1fjDFjEJS1PFXjgCklOd3KWiG4Z3l+nUuCidncn9abnv18rDkiukUcKGwwAGJ3NhgfhU9SwXPIYFfMw==}
+    peerDependencies:
+      '@babel/core': '>=7'
+      webpack: '>=5'
+    dependencies:
+      '@babel/core': 7.14.0
+      '@linaria/babel-preset': 3.0.0-beta.7_@babel+core@7.14.0
+      '@linaria/logger': 3.0.0-beta.3
+      cosmiconfig: 5.2.1
+      enhanced-resolve: 5.8.2
+      find-yarn-workspace-root: 1.2.1
+      loader-utils: 2.0.0
+      mkdirp: 0.5.5
+      normalize-path: 3.0.0
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /@mdx-js/loader/1.6.22:
     resolution: {integrity: 
sha512-9CjGwy595NaxAYp0hF9B/A0lH6C8Rms97e2JS9d3jVUtILn6pT5i5IV965ra3lIWc7Rs1GG1tBdVF7dCowYe6Q==}
     dependencies:
@@ -3236,6 +4367,16 @@ packages:
       react-lifecycles-compat: 3.0.4
     dev: true
 
+  /@rollup/plugin-alias/3.1.2_rollup@2.37.1:
+    resolution: {integrity: 
sha512-wzDnQ6v7CcoRzS0qVwFPrFdYA4Qlr+ookA217Y2Z3DPZE1R8jrFNM3jvGgOf6o6DMjbnQIn5lCIJgHPe1Bt3uw==}
+    engines: {node: '>=8.0.0'}
+    peerDependencies:
+      rollup: ^1.20.0||^2.0.0
+    dependencies:
+      rollup: 2.37.1
+      slash: 3.0.0
+    dev: true
+
   /@rollup/plugin-commonjs/17.0.0_rollup@2.37.1:
     resolution: {integrity: 
sha512-/omBIJG1nHQc+bgkYDuLpb/V08QyutP9amOrJRUSlYJZP+b/68gM//D8sxJe3Yry2QnYIr3QjR3x4AlxJEN3GA==}
     engines: {node: '>= 8.0.0'}
@@ -3438,6 +4579,17 @@ packages:
       rollup: 2.43.0
     dev: true
 
+  /@rollup/pluginutils/4.1.0_rollup@2.37.1:
+    resolution: {integrity: 
sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ==}
+    engines: {node: '>= 8.0.0'}
+    peerDependencies:
+      rollup: ^1.20.0||^2.0.0
+    dependencies:
+      estree-walker: 2.0.2
+      picomatch: 2.3.0
+      rollup: 2.37.1
+    dev: true
+
   /@rushstack/node-core-library/3.35.2:
     resolution: {integrity: 
sha512-SPd0uG7mwsf3E30np9afCUhtaM1SBpibrbxOXPz82KWV6SQiPUtXeQfhXq9mSnGxOb3WLWoSDe7AFxQNex3+kQ==}
     dependencies:
@@ -3599,7 +4751,7 @@ packages:
       - '@types/react'
     dev: true
 
-  /@storybook/addon-docs/6.2.9_typescript@4.1.3:
+  /@storybook/addon-docs/6.2.9_2c1175e136205d5b41ea3884efbc04c9:
     resolution: {integrity: 
sha512-qOtwgiqI3LMqT0eXYNV6ykp7qSu0LQGeXxy3wOBGuDDqAizfgnAjomYEWGFcyKp5ahV7HCRCjxbixAklFPUmyw==}
     peerDependencies:
       '@storybook/angular': 6.2.9
@@ -3657,6 +4809,7 @@ packages:
       acorn: 7.4.1
       acorn-jsx: 5.3.1_acorn@7.4.1
       acorn-walk: 7.2.0
+      babel-loader: 8.2.2_@babel+core@7.14.0
       core-js: 3.13.0
       doctrine: 3.0.0
       escodegen: 2.0.0
@@ -3683,7 +4836,7 @@ packages:
       - webpack-command
     dev: true
 
-  /@storybook/addon-essentials/6.2.9_e9b5cc4c214206b94c009b28dec53136:
+  /@storybook/addon-essentials/6.2.9_73bef2aa0eff460ee552903a16f56020:
     resolution: {integrity: 
sha512-zXsV4e1TCkHyDwi7hew4h9eJfDW++f2BNKzTif+DAcjPUVFDp7yC17gLjS5IhOjcQk+db0UUlFSx/OrTxhy7Xw==}
     peerDependencies:
       '@babel/core': ^7.9.6
@@ -3706,12 +4859,13 @@ packages:
       '@storybook/addon-actions': 6.2.9
       '@storybook/addon-backgrounds': 6.2.9
       '@storybook/addon-controls': 6.2.9
-      '@storybook/addon-docs': 6.2.9_typescript@4.1.3
+      '@storybook/addon-docs': 6.2.9_2c1175e136205d5b41ea3884efbc04c9
       '@storybook/addon-toolbars': 6.2.9
       '@storybook/addon-viewport': 6.2.9
       '@storybook/addons': 6.2.9
       '@storybook/api': 6.2.9
       '@storybook/node-logger': 6.2.9
+      babel-loader: 8.2.2_@babel+core@7.14.0
       core-js: 3.13.0
       regenerator-runtime: 0.13.7
       ts-dedent: 2.1.1
@@ -5095,6 +6249,10 @@ packages:
     resolution: {integrity: 
sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==}
     dev: true
 
+  /@types/json-schema/7.0.8:
+    resolution: {integrity: 
sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==}
+    dev: true
+
   /@types/json5/0.0.29:
     resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=}
     dev: true
@@ -6258,6 +7416,20 @@ packages:
       webpack: 4.46.0
     dev: true
 
+  /babel-loader/8.2.2_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==}
+    engines: {node: '>= 8.9'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+      webpack: '>=2'
+    dependencies:
+      '@babel/core': 7.14.0
+      find-cache-dir: 3.3.1
+      loader-utils: 1.4.0
+      make-dir: 3.1.0
+      schema-utils: 2.7.1
+    dev: true
+
   /babel-plugin-apply-mdx-type-prop/1.6.22_@babel+core@7.12.9:
     resolution: {integrity: 
sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==}
     peerDependencies:
@@ -6361,6 +7533,19 @@ packages:
       - supports-color
     dev: true
 
+  /babel-plugin-polyfill-corejs2/0.2.2_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/compat-data': 7.14.7
+      '@babel/core': 7.14.0
+      '@babel/helper-define-polyfill-provider': 0.2.3_@babel+core@7.14.0
+      semver: 6.3.0
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /babel-plugin-polyfill-corejs3/0.1.7_@babel+core@7.14.3:
     resolution: {integrity: 
sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==}
     peerDependencies:
@@ -6397,6 +7582,18 @@ packages:
       - supports-color
     dev: true
 
+  /babel-plugin-polyfill-corejs3/0.2.3_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-define-polyfill-provider': 0.2.3_@babel+core@7.14.0
+      core-js-compat: 3.15.2
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /babel-plugin-polyfill-regenerator/0.2.0_@babel+core@7.14.0:
     resolution: {integrity: 
sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==}
     peerDependencies:
@@ -6419,6 +7616,17 @@ packages:
       - supports-color
     dev: true
 
+  /babel-plugin-polyfill-regenerator/0.2.2_@babel+core@7.14.0:
+    resolution: {integrity: 
sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.14.0
+      '@babel/helper-define-polyfill-provider': 0.2.3_@babel+core@7.14.0
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
   /babel-plugin-syntax-jsx/6.18.0:
     resolution: {integrity: sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=}
     dev: true
@@ -7655,6 +8863,13 @@ packages:
       semver: 7.0.0
     dev: true
 
+  /core-js-compat/3.15.2:
+    resolution: {integrity: 
sha512-Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ==}
+    dependencies:
+      browserslist: 4.16.6
+      semver: 7.0.0
+    dev: true
+
   /core-js-pure/3.12.0:
     resolution: {integrity: 
sha512-j2y084taJU4VMUpwuC93l19tsPbTAtOpg6/do3UOwX4eUJbsFdhEaGRQfTYthn5rDubsB88YITtei0Kw46vEQQ==}
     requiresBuild: true
@@ -8153,6 +9368,18 @@ packages:
       supports-color: 6.1.0
     dev: true
 
+  /debug/4.3.2:
+    resolution: {integrity: 
sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==}
+    engines: {node: '>=6.0'}
+    peerDependencies:
+      supports-color: '*'
+    peerDependenciesMeta:
+      supports-color:
+        optional: true
+    dependencies:
+      ms: 2.1.2
+    dev: true
+
   /decamelize/1.2.0:
     resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=}
     engines: {node: '>=0.10.0'}
@@ -8730,6 +9957,14 @@ packages:
       tapable: 1.1.3
     dev: true
 
+  /enhanced-resolve/5.8.2:
+    resolution: {integrity: 
sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==}
+    engines: {node: '>=10.13.0'}
+    dependencies:
+      graceful-fs: 4.2.6
+      tapable: 2.2.0
+    dev: true
+
   /enquirer/2.3.6:
     resolution: {integrity: 
sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==}
     engines: {node: '>=8.6'}
@@ -9652,6 +10887,13 @@ packages:
       path-exists: 4.0.0
     dev: true
 
+  /find-yarn-workspace-root/1.2.1:
+    resolution: {integrity: 
sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q==}
+    dependencies:
+      fs-extra: 4.0.3
+      micromatch: 3.1.10
+    dev: true
+
   /flat-cache/3.0.4:
     resolution: {integrity: 
sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
     engines: {node: ^10.12.0 || >=12.0.0}
@@ -9798,6 +11040,14 @@ packages:
       rimraf: 2.7.1
     dev: true
 
+  /fs-extra/4.0.3:
+    resolution: {integrity: 
sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==}
+    dependencies:
+      graceful-fs: 4.2.6
+      jsonfile: 4.0.0
+      universalify: 0.1.2
+    dev: true
+
   /fs-extra/7.0.1:
     resolution: {integrity: 
sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
     engines: {node: '>=6 <7 || >=8'}
@@ -13256,7 +14506,6 @@ packages:
 
   /nodent-compiler/3.2.13:
     resolution: {integrity: 
sha512-nzzWPXZwSdsWie34om+4dLrT/5l1nT/+ig1v06xuSgMtieJVAnMQFuZihUwREM+M7dFso9YoHfDmweexEXXrrw==}
-    engines: {'0': n, '1': o, '2': d, '3': e, '4': ' ', '5': '>', '6': '=', 
'7': ' ', '8': '0', '9': ., '10': '1', '11': '0', '12': ., '13': '0'}
     dependencies:
       acorn: 5.7.4
       acorn-es7-plugin: 1.1.7
@@ -15747,6 +16996,16 @@ packages:
       rollup-pluginutils: 2.8.2
     dev: true
 
+  /rollup-plugin-css-only/3.1.0_rollup@2.37.1:
+    resolution: {integrity: 
sha512-TYMOE5uoD76vpj+RTkQLzC9cQtbnJNktHPB507FzRWBVaofg7KhIqq1kGbcVOadARSozWF883Ho9KpSPKH8gqA==}
+    engines: {node: '>=10.12.0'}
+    peerDependencies:
+      rollup: 1 || 2
+    dependencies:
+      '@rollup/pluginutils': 4.1.0_rollup@2.37.1
+      rollup: 2.37.1
+    dev: true
+
   /rollup-plugin-ignore/1.0.9:
     resolution: {integrity: 
sha512-+Q2jmD4gbO3ByFuljkDEfpEcYvll7J5+ZadUuk/Pu35x2KGrbHxKtt3+s+dPIgXX1mG7zCxG4s/NdRqztR5Ruw==}
     dev: true
@@ -15967,7 +17226,7 @@ packages:
     resolution: {integrity: 
sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==}
     engines: {node: '>= 8.9.0'}
     dependencies:
-      '@types/json-schema': 7.0.7
+      '@types/json-schema': 7.0.8
       ajv: 6.12.6
       ajv-keywords: 3.5.2_ajv@6.12.6
     dev: true
@@ -16821,6 +18080,10 @@ packages:
       postcss-selector-parser: 3.1.2
     dev: true
 
+  /stylis/3.5.4:
+    resolution: {integrity: 
sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==}
+    dev: true
+
   /supertap/2.0.0:
     resolution: {integrity: 
sha512-jRzcXlCeDYvKoZGA5oRhYyR3jUIYu0enkSxtmAgHRlD7HwrovTpH4bDSi0py9FtuA8si9cW/fKommJHuaoDHJA==}
     engines: {node: '>=10'}
@@ -16910,6 +18173,11 @@ packages:
     engines: {node: '>=6'}
     dev: true
 
+  /tapable/2.2.0:
+    resolution: {integrity: 
sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==}
+    engines: {node: '>=6'}
+    dev: true
+
   /tar/4.4.13:
     resolution: {integrity: 
sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==}
     engines: {node: '>=4.5'}

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]