From 2c517d6278a89729a65b0f167a8f1dc9444b0474 Mon Sep 17 00:00:00 2001 From: Max Peintner Date: Tue, 11 Aug 2020 09:53:09 +0200 Subject: [PATCH] feat(documentation): svelte app as document generator (#566) * check in full site application * rm unused assets components * change base css * i18n * new doc workflow * fix crosslink to doc in github * nav, console link, assets, console brand * edit configjs server * rm go struct references * cleanup input output bindings * working dir * export path * always trigger * rel paths * cname * rev workdir * fix fallbacklanguage, home on large screens * remove mit from site --- .github/workflows/docs.yml | 53 + site/.gitignore | 5 + site/README.md | 18 + site/appveyor.yml | 18 + site/config.js | 4 + site/cypress.json | 4 + site/cypress/fixtures/example.json | 5 + site/cypress/integration/spec.js | 19 + site/cypress/plugins/index.js | 17 + site/cypress/support/commands.js | 25 + site/cypress/support/index.js | 20 + site/docs/get_started/00-introduction.de.md | 8 + site/docs/get_started/00-introduction.en.md | 8 + site/docs/get_started/01-capabilities.de.md | 14 + site/docs/get_started/01-capabilities.en.md | 14 + site/docs/get_started/02-go-structs.de.md | 32 + site/docs/get_started/02-go-structs.en.md | 32 + site/docs/get_started/03-concluding.de.md | 5 + site/docs/get_started/03-concluding.en.md | 5 + site/docs/get_started/seo.json | 16 + site/package-lock.json | 3086 +++++++++++++++++ site/package.json | 44 + site/rollup.config.js | 97 + site/src/client.js | 11 + site/src/components/CodeTable.svelte | 121 + site/src/components/Docs.svelte | 428 +++ site/src/components/GuideContents.svelte | 142 + site/src/components/Icon.svelte | 20 + site/src/components/LanguageSwitcher.svelte | 65 + site/src/components/Nav.svelte | 168 + site/src/components/NavItem.svelte | 30 + site/src/components/Section.svelte | 15 + site/src/components/Split.svelte | 82 + site/src/i18n.js | 71 + site/src/messages/de.json | 8 + site/src/messages/en.json | 8 + site/src/modules/cookie.js | 33 + site/src/modules/language-store.js | 8 + site/src/routes/[slug].json.js | 26 + site/src/routes/[slug].svelte | 26 + site/src/routes/_error.svelte | 71 + site/src/routes/_layout.svelte | 25 + site/src/routes/index.svelte | 57 + site/src/server.js | 20 + site/src/service-worker.js | 82 + site/src/template.html | 99 + site/src/utils/generate_code_tabs.js | 3 + site/src/utils/generate_docs.js | 135 + site/src/utils/language_extractor.js | 21 + site/src/utils/markdown.js | 61 + site/src/utils/slug.js | 84 + site/static/base.css | 557 +++ site/static/fonts/ailerons/ailerons.otf | Bin 0 -> 10676 bytes .../fonts/fira-mono/fira-mono-latin-400.woff2 | Bin 0 -> 16528 bytes .../fonts/roboto/roboto-latin-400.woff2 | Bin 0 -> 15344 bytes .../fonts/roboto/roboto-latin-400italic.woff2 | Bin 0 -> 16944 bytes .../fonts/roboto/roboto-latin-500.woff2 | Bin 0 -> 15552 bytes .../fonts/roboto/roboto-latin-500italic.woff2 | Bin 0 -> 16940 bytes site/static/icons/android-chrome-192x192.png | Bin 0 -> 14001 bytes site/static/icons/android-chrome-512x512.png | Bin 0 -> 61750 bytes site/static/icons/apple-touch-icon.png | Bin 0 -> 12856 bytes site/static/icons/favicon-16x16.png | Bin 0 -> 1211 bytes site/static/icons/favicon-32x32.png | Bin 0 -> 1900 bytes site/static/icons/favicon.ico | Bin 0 -> 15086 bytes site/static/icons/mstile-150x150.png | Bin 0 -> 8870 bytes site/static/icons/safari-pinned-tab.svg | 47 + .../logos/zitadel-logo-oneline-darkdesign.svg | 99 + .../logos/zitadel-logo-solo-darkdesign.svg | 74 + site/static/manifest.json | 21 + site/static/prism.css | 216 ++ 70 files changed, 6483 insertions(+) create mode 100644 .github/workflows/docs.yml create mode 100644 site/.gitignore create mode 100644 site/README.md create mode 100644 site/appveyor.yml create mode 100644 site/config.js create mode 100644 site/cypress.json create mode 100644 site/cypress/fixtures/example.json create mode 100644 site/cypress/integration/spec.js create mode 100644 site/cypress/plugins/index.js create mode 100644 site/cypress/support/commands.js create mode 100644 site/cypress/support/index.js create mode 100644 site/docs/get_started/00-introduction.de.md create mode 100644 site/docs/get_started/00-introduction.en.md create mode 100644 site/docs/get_started/01-capabilities.de.md create mode 100644 site/docs/get_started/01-capabilities.en.md create mode 100644 site/docs/get_started/02-go-structs.de.md create mode 100644 site/docs/get_started/02-go-structs.en.md create mode 100644 site/docs/get_started/03-concluding.de.md create mode 100644 site/docs/get_started/03-concluding.en.md create mode 100644 site/docs/get_started/seo.json create mode 100644 site/package-lock.json create mode 100644 site/package.json create mode 100644 site/rollup.config.js create mode 100644 site/src/client.js create mode 100644 site/src/components/CodeTable.svelte create mode 100644 site/src/components/Docs.svelte create mode 100644 site/src/components/GuideContents.svelte create mode 100644 site/src/components/Icon.svelte create mode 100644 site/src/components/LanguageSwitcher.svelte create mode 100644 site/src/components/Nav.svelte create mode 100644 site/src/components/NavItem.svelte create mode 100644 site/src/components/Section.svelte create mode 100644 site/src/components/Split.svelte create mode 100644 site/src/i18n.js create mode 100644 site/src/messages/de.json create mode 100644 site/src/messages/en.json create mode 100644 site/src/modules/cookie.js create mode 100644 site/src/modules/language-store.js create mode 100644 site/src/routes/[slug].json.js create mode 100644 site/src/routes/[slug].svelte create mode 100644 site/src/routes/_error.svelte create mode 100644 site/src/routes/_layout.svelte create mode 100644 site/src/routes/index.svelte create mode 100644 site/src/server.js create mode 100644 site/src/service-worker.js create mode 100644 site/src/template.html create mode 100644 site/src/utils/generate_code_tabs.js create mode 100644 site/src/utils/generate_docs.js create mode 100644 site/src/utils/language_extractor.js create mode 100644 site/src/utils/markdown.js create mode 100644 site/src/utils/slug.js create mode 100644 site/static/base.css create mode 100644 site/static/fonts/ailerons/ailerons.otf create mode 100644 site/static/fonts/fira-mono/fira-mono-latin-400.woff2 create mode 100644 site/static/fonts/roboto/roboto-latin-400.woff2 create mode 100644 site/static/fonts/roboto/roboto-latin-400italic.woff2 create mode 100644 site/static/fonts/roboto/roboto-latin-500.woff2 create mode 100644 site/static/fonts/roboto/roboto-latin-500italic.woff2 create mode 100644 site/static/icons/android-chrome-192x192.png create mode 100644 site/static/icons/android-chrome-512x512.png create mode 100644 site/static/icons/apple-touch-icon.png create mode 100644 site/static/icons/favicon-16x16.png create mode 100644 site/static/icons/favicon-32x32.png create mode 100644 site/static/icons/favicon.ico create mode 100644 site/static/icons/mstile-150x150.png create mode 100644 site/static/icons/safari-pinned-tab.svg create mode 100644 site/static/logos/zitadel-logo-oneline-darkdesign.svg create mode 100644 site/static/logos/zitadel-logo-solo-darkdesign.svg create mode 100644 site/static/manifest.json create mode 100644 site/static/prism.css diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000000..7dc25c0420 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,53 @@ +name: Docs +on: push + # push: + # paths: + # - 'site/**' + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + builddocs: + name: Build Doc Frontend + runs-on: ubuntu-18.04 + defaults: + run: + working-directory: ./site + steps: + - name: Checkout Repo + uses: actions/checkout@v2 + - name: Install and Build + run: | + npm install + npx sapper export --legacy + - name: Archive Production Artifact + uses: actions/upload-artifact@master + with: + name: export + path: site/__sapper__/export + deploydocs: + name: Deploy + needs: builddocs + runs-on: ubuntu-latest + # defaults: + # run: + # working-directory: ./site + # if: github.ref == 'refs/heads/master' + steps: + - name: Checkout Repo + uses: actions/checkout@master + - name: Download Artifact + uses: actions/download-artifact@master + with: + name: export + path: site/__sapper__/export + - name: Add CNAME file + run: echo "docs.zitadel.ch" > site/__sapper__/export/CNAME + - name: Deploy + uses: JamesIves/github-pages-deploy-action@releases/v3 + with: + ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} + BRANCH: gh-pages + FOLDER: site/__sapper__/export + CLEAN: true diff --git a/site/.gitignore b/site/.gitignore new file mode 100644 index 0000000000..711315a5e9 --- /dev/null +++ b/site/.gitignore @@ -0,0 +1,5 @@ +.DS_Store +node_modules/ +yarn-error.log +/cypress/screenshots/ +/__sapper__/ diff --git a/site/README.md b/site/README.md new file mode 100644 index 0000000000..ab7f70f60f --- /dev/null +++ b/site/README.md @@ -0,0 +1,18 @@ +## Getting started + +Caos Site is a github action that generates a static page out of markdown files. It uses marked.js in combination with highlight.js to compile and style markdown. +The documentiation is built according to the structure of a docs `folder`[Folder](https://github.com/caos/site/tree/master/docs) located at root of the targeted repository. + +## Running locally + +Set up the project: + +```bash +npm i +``` + +Start the server with `npm run dev`, and navigate to [localhost:3000](http://localhost:3000). + +### Honorable Mentions + +This project was created with the help of some components from [svelte](https://github.com/sveltejs/svelte)([MIT](https://github.com/sveltejs/svelte/blob/master/LICENSE)) as well as [site-kit](https://github.com/sveltejs/site-kit)([MIT](https://github.com/sveltejs/site-kit/blob/master/LICENSE)). \ No newline at end of file diff --git a/site/appveyor.yml b/site/appveyor.yml new file mode 100644 index 0000000000..e75da3bfae --- /dev/null +++ b/site/appveyor.yml @@ -0,0 +1,18 @@ +version: "{build}" + +shallow_clone: true + +init: + - git config --global core.autocrlf false + +build: off + +environment: + matrix: + # node.js + - nodejs_version: stable + +install: + - ps: Install-Product node $env:nodejs_version + - npm install cypress + - npm install diff --git a/site/config.js b/site/config.js new file mode 100644 index 0000000000..e2ad88aec8 --- /dev/null +++ b/site/config.js @@ -0,0 +1,4 @@ +export const SLUG_PRESERVE_UNICODE = false; +export const SLUG_SEPARATOR = '_'; +export const SLUG_LANG = 'en'; +export const LANGUAGES = ['de', 'en']; diff --git a/site/cypress.json b/site/cypress.json new file mode 100644 index 0000000000..f5622faf90 --- /dev/null +++ b/site/cypress.json @@ -0,0 +1,4 @@ +{ + "baseUrl": "http://localhost:3000", + "video": false +} \ No newline at end of file diff --git a/site/cypress/fixtures/example.json b/site/cypress/fixtures/example.json new file mode 100644 index 0000000000..da18d9352a --- /dev/null +++ b/site/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} \ No newline at end of file diff --git a/site/cypress/integration/spec.js b/site/cypress/integration/spec.js new file mode 100644 index 0000000000..9a7140ddae --- /dev/null +++ b/site/cypress/integration/spec.js @@ -0,0 +1,19 @@ +describe('Sapper template app', () => { + beforeEach(() => { + cy.visit('/') + }); + + it('has the correct

', () => { + cy.contains('h1', 'Great success!') + }); + + it('navigates to /about', () => { + cy.get('nav a').contains('about').click(); + cy.url().should('include', '/about'); + }); + + it('navigates to /blog', () => { + cy.get('nav a').contains('blog').click(); + cy.url().should('include', '/blog'); + }); +}); \ No newline at end of file diff --git a/site/cypress/plugins/index.js b/site/cypress/plugins/index.js new file mode 100644 index 0000000000..fd170fba69 --- /dev/null +++ b/site/cypress/plugins/index.js @@ -0,0 +1,17 @@ +// *********************************************************** +// This example plugins/index.js can be used to load plugins +// +// You can change the location of this file or turn off loading +// the plugins file with the 'pluginsFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/plugins-guide +// *********************************************************** + +// This function is called when a project is opened or re-opened (e.g. due to +// the project's config changing) + +module.exports = (on, config) => { + // `on` is used to hook into various events Cypress emits + // `config` is the resolved Cypress config +} diff --git a/site/cypress/support/commands.js b/site/cypress/support/commands.js new file mode 100644 index 0000000000..c1f5a772e2 --- /dev/null +++ b/site/cypress/support/commands.js @@ -0,0 +1,25 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add("login", (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This is will overwrite an existing command -- +// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) diff --git a/site/cypress/support/index.js b/site/cypress/support/index.js new file mode 100644 index 0000000000..d68db96df2 --- /dev/null +++ b/site/cypress/support/index.js @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') diff --git a/site/docs/get_started/00-introduction.de.md b/site/docs/get_started/00-introduction.de.md new file mode 100644 index 0000000000..df781a8ca1 --- /dev/null +++ b/site/docs/get_started/00-introduction.de.md @@ -0,0 +1,8 @@ +--- +title: Einführung +--- + +### Bevor es los geh't + +> Dies ist eine frühe Version unseres Dokumentgenerators. Es können noch einige Dinge ändern, bis wir Version 1.0 erreichen. + diff --git a/site/docs/get_started/00-introduction.en.md b/site/docs/get_started/00-introduction.en.md new file mode 100644 index 0000000000..23b9959794 --- /dev/null +++ b/site/docs/get_started/00-introduction.en.md @@ -0,0 +1,8 @@ +--- +title: Introduction +--- + +### Before we begin + +> This is an early version of our documentation. Some things may change until we hit version 1.0. +> This Documentation is and always will be a WIP, and will therefore be updated frequently. diff --git a/site/docs/get_started/01-capabilities.de.md b/site/docs/get_started/01-capabilities.de.md new file mode 100644 index 0000000000..60d58b9249 --- /dev/null +++ b/site/docs/get_started/01-capabilities.de.md @@ -0,0 +1,14 @@ +--- +title: Wie fange ich an? +description: Dieses Dokument beschreibt die Schlüsselfähigkeiten und führt in verschiedene Startszenarien ein +--- + + + +### I already have an authentication system + +Wenn Ihre App bereits über eine Anmeldeimplementierung verfügt und Sie diese zur Authentifizierung für Zitadel-Backend-Diensten verwenden möchten, lesen Sie unsere `Migrationsanleitung`. + +### Ich möchte mein Authentifizierungssystem mit Zitadel erstellen + +Wenn Sie eine neue App erstellen oder einer vorhandenen App eine Anmeldung hinzufügen, verfügt Zitadel über Bibliotheken und Dienste, mit denen Sie die sichere Authentifizierung implementieren können, ohne das Authentifizierungs-Backend selbst erstellen zu müssen. Die Zitadel-Authentifizierung ist eine vollständige Backend-Lösung, die die Anmeldung mit Kennwörtern und weiteren Faktoren zur verbesserten Sicherheit ermöglicht diff --git a/site/docs/get_started/01-capabilities.en.md b/site/docs/get_started/01-capabilities.en.md new file mode 100644 index 0000000000..7aea8917f1 --- /dev/null +++ b/site/docs/get_started/01-capabilities.en.md @@ -0,0 +1,14 @@ +--- +title: Where to start? +description: This document explains zitadels key capabilities +--- + + + +### I already have an authentication system + +If your app already has a sign-in implementation and you want to use it to authenticate with Zitadel backend services, read our `migration documentation`. + +### I want to build my authentication system with Zitadel + +If you're building a new app or adding sign-in to an existing app, Zitadel has libraries and services that can help you implement secure authentication without having to build the authentication backend yourself. Zitadel Authentication is a complete backend solution for signing in with passwords and additional Factors for enhanced Security. diff --git a/site/docs/get_started/02-go-structs.de.md b/site/docs/get_started/02-go-structs.de.md new file mode 100644 index 0000000000..c76b5559ac --- /dev/null +++ b/site/docs/get_started/02-go-structs.de.md @@ -0,0 +1,32 @@ +--- +title: Go structs +--- + +### Go structures + +You can reference go struct tables from our go struct generator. +Provide a `doc_assets` folder with all generated files in it. +Make sure that the `.md` file consists of no other than the table itself and metadata which defines name and description of the struct + + +| Attribute | Description | Default | Collection | +| --------------------------- | ------------------------------------------------------------------------------- | ------- | ---------- | +| boomVersion | Version of BOOM which should be reconciled | | | +| forceApply | Relative folder path where the currentstate is written to | | | +| currentStatePath | Flag if --force should be used by apply of resources | | | +| preApply | Spec for the yaml-files applied before applications | | | +| postApply | Spec for the yaml-files applied after applicatio | | | +| prometheus-operator | Spec for the Prometheus-Operator , | | | +| logging-operator | Spec for the Banzaicloud Logging-Operator , | | | +| prometheus-node-exporter | Spec for the Prometheus-Node-Exporter , | | | +| prometheus-systemd-exporter | Spec for the Prometheus-Systemd-Exporter , | | | +| grafana | Spec for the Grafana , [ | | | +| ambassador | Spec for the Ambassador , | | | +| kube-state-metrics | Spec for the Kube-State-Metrics , | | | +| argocd | Spec for the Argo-CD , | | | +| prometheus | Spec for the Prometheus instance , | | | +| loki | Spec for the Loki instance , | | | + +#### References + +To reference a table ... \ No newline at end of file diff --git a/site/docs/get_started/02-go-structs.en.md b/site/docs/get_started/02-go-structs.en.md new file mode 100644 index 0000000000..c76b5559ac --- /dev/null +++ b/site/docs/get_started/02-go-structs.en.md @@ -0,0 +1,32 @@ +--- +title: Go structs +--- + +### Go structures + +You can reference go struct tables from our go struct generator. +Provide a `doc_assets` folder with all generated files in it. +Make sure that the `.md` file consists of no other than the table itself and metadata which defines name and description of the struct + + +| Attribute | Description | Default | Collection | +| --------------------------- | ------------------------------------------------------------------------------- | ------- | ---------- | +| boomVersion | Version of BOOM which should be reconciled | | | +| forceApply | Relative folder path where the currentstate is written to | | | +| currentStatePath | Flag if --force should be used by apply of resources | | | +| preApply | Spec for the yaml-files applied before applications | | | +| postApply | Spec for the yaml-files applied after applicatio | | | +| prometheus-operator | Spec for the Prometheus-Operator , | | | +| logging-operator | Spec for the Banzaicloud Logging-Operator , | | | +| prometheus-node-exporter | Spec for the Prometheus-Node-Exporter , | | | +| prometheus-systemd-exporter | Spec for the Prometheus-Systemd-Exporter , | | | +| grafana | Spec for the Grafana , [ | | | +| ambassador | Spec for the Ambassador , | | | +| kube-state-metrics | Spec for the Kube-State-Metrics , | | | +| argocd | Spec for the Argo-CD , | | | +| prometheus | Spec for the Prometheus instance , | | | +| loki | Spec for the Loki instance , | | | + +#### References + +To reference a table ... \ No newline at end of file diff --git a/site/docs/get_started/03-concluding.de.md b/site/docs/get_started/03-concluding.de.md new file mode 100644 index 0000000000..4ff3859135 --- /dev/null +++ b/site/docs/get_started/03-concluding.de.md @@ -0,0 +1,5 @@ +--- +title: Abschliessendes +--- + +Das war unsere Dokumentation \ No newline at end of file diff --git a/site/docs/get_started/03-concluding.en.md b/site/docs/get_started/03-concluding.en.md new file mode 100644 index 0000000000..a39d483f44 --- /dev/null +++ b/site/docs/get_started/03-concluding.en.md @@ -0,0 +1,5 @@ +--- +title: Concluding +--- + +This was our documentation \ No newline at end of file diff --git a/site/docs/get_started/seo.json b/site/docs/get_started/seo.json new file mode 100644 index 0000000000..5448c75c4d --- /dev/null +++ b/site/docs/get_started/seo.json @@ -0,0 +1,16 @@ +{ + "tags": [ + { + "name": "twitter:title", + "content":"Docs demo page" + }, + { + "name": "twitter:description", + "content":"Docs demo page description" + }, + { + "name": "Description", + "content":"Docs demo page description" + } + ] +} \ No newline at end of file diff --git a/site/package-lock.json b/site/package-lock.json new file mode 100644 index 0000000000..54a024e83a --- /dev/null +++ b/site/package-lock.json @@ -0,0 +1,3086 @@ +{ + "name": "site", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@arr/every": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@arr/every/-/every-1.0.1.tgz", + "integrity": "sha512-UQFQ6SgyJ6LX42W8rHCs8KVc0JS0tzVL9ct4XYedJukskYVWTo49tNiMEK9C2HTyarbNiT/RVIRSY82vH+6sTg==" + }, + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/compat-data": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.1.tgz", + "integrity": "sha512-CHvCj7So7iCkGKPRFUfryXIkU2gSBw7VSZFYLsqVhrS47269VK2Hfi9S/YcublPMW8k1u2bQBlbDruoQEm4fgw==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "semver": "^5.5.0" + } + }, + "@babel/core": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.11.0.tgz", + "integrity": "sha512-mkLq8nwaXmDtFmRkQ8ED/eA2CnVw4zr7dCztKalZXBvdK5EeNUAesrrwUqjQEzFgomJssayzB0aqlOsP1vGLqg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.11.0", + "@babel/helper-module-transforms": "^7.11.0", + "@babel/helpers": "^7.10.4", + "@babel/parser": "^7.11.0", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.11.0", + "@babel/types": "^7.11.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/generator": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.0.tgz", + "integrity": "sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ==", + "dev": true, + "requires": { + "@babel/types": "^7.11.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz", + "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==", + "dev": true, + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", + "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz", + "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/template": "^7.10.4", + "@babel/types": "^7.11.0", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-replace-supers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", + "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", + "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dev": true, + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.0.tgz", + "integrity": "sha512-qvRvi4oI8xii8NllyEc4MDJjuZiNaRzyb7Y7lup1NqJV8TZHF4O27CcP+72WPn/k1zkgJ6WJfnIbk4jTsVAZHw==", + "dev": true + }, + "@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/traverse": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.0.tgz", + "integrity": "sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.11.0", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.11.0", + "@babel/types": "^7.11.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.0.tgz", + "integrity": "sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "lodash": { + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", + "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz", + "integrity": "sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.1.tgz", + "integrity": "sha512-cQpVq48EkYxUU0xozpGCLla3wlkdRRqLWu1ksFMXA9CM5KQmyyRpSEsYXbao7JUkOw/tAaYKCaYyZq6HOFYtyw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz", + "integrity": "sha512-hYgOhF4To2UTB4LTaZepN/4Pl9LD4gfbJx8A34mqoluT8TLbof1mhUlYuNWTEebONa8+UlCC4X0TEXu7AOUyGA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.10.1", + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "levenary": "^1.1.1", + "semver": "^5.5.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.2.tgz", + "integrity": "sha512-5C/QhkGFh1vqcziq1vAL6SI9ymzUp8BCYjFpvYVhWP4DlATIb3u5q3iUd35mvlyGs8fO7hckkW7i0tmH+5+bvQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-member-expression-to-functions": "^7.10.1", + "@babel/helper-optimise-call-expression": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz", + "integrity": "sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-regex": "^7.10.1", + "regexpu-core": "^4.7.0" + } + }, + "@babel/helper-define-map": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.1.tgz", + "integrity": "sha512-+5odWpX+OnvkD0Zmq7panrMuAGQBu6aPUgvMzuMGo4R+jUOvealEj2hiqI6WhxgKrTpFoFj0+VdsuA8KDxHBDg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.1", + "@babel/types": "^7.10.1", + "lodash": "^4.17.13" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz", + "integrity": "sha512-vcUJ3cDjLjvkKzt6rHrl767FeE7pMEYfPanq5L16GRtrXIoznc0HykNW2aEYkcnP76P0isoqJ34dDMFZwzEpJg==", + "dev": true, + "requires": { + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", + "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.1.tgz", + "integrity": "sha512-vLm5srkU8rI6X3+aQ1rQJyfjvCBLXP8cAGeuw04zeAM2ItKb1e7pmVmLyHb4sDaAYnLL13RHOZPLEtcGZ5xvjg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz", + "integrity": "sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-module-imports": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz", + "integrity": "sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-module-transforms": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz", + "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1", + "@babel/helper-simple-access": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz", + "integrity": "sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz", + "integrity": "sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.1.tgz", + "integrity": "sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.1.tgz", + "integrity": "sha512-RfX1P8HqsfgmJ6CwaXGKMAqbYdlleqglvVtht0HGPMSsy2V6MqLlOJVF/0Qyb/m2ZCi2z3q3+s6Pv7R/dQuZ6A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-wrap-function": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-replace-supers": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz", + "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.10.1", + "@babel/helper-optimise-call-expression": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-simple-access": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz", + "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==", + "dev": true, + "requires": { + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", + "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz", + "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz", + "integrity": "sha512-C0MzRGteVDn+H32/ZgbAv5r56f2o1fZSA/rj/TYo8JEJNHg+9BdSmKBUND0shxWRztWhjlT2cvHYuynpPsVJwQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helpers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", + "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/generator": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.0.tgz", + "integrity": "sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ==", + "dev": true, + "requires": { + "@babel/types": "^7.11.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dev": true, + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.0.tgz", + "integrity": "sha512-qvRvi4oI8xii8NllyEc4MDJjuZiNaRzyb7Y7lup1NqJV8TZHF4O27CcP+72WPn/k1zkgJ6WJfnIbk4jTsVAZHw==", + "dev": true + }, + "@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/traverse": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.0.tgz", + "integrity": "sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.11.0", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.11.0", + "@babel/types": "^7.11.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.0.tgz", + "integrity": "sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "lodash": { + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz", + "integrity": "sha512-vzZE12ZTdB336POZjmpblWfNNRpMSua45EYnRigE2XsZxcXcIyly2ixnTJasJE4Zq3U7t2d8rRF7XRUuzHxbOw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-remap-async-to-generator": "^7.10.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.1.tgz", + "integrity": "sha512-sqdGWgoXlnOdgMXU+9MbhzwFRgxVLeiGBqTrnuS7LC2IBU31wSsESbTUreT2O418obpfPdGUR2GbEufZF1bpqw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz", + "integrity": "sha512-Cpc2yUVHTEGPlmiQzXj026kqwjEQAD9I4ZC16uzdbgWgitg/UHKHLffKNCQZ5+y8jpIZPJcKcwsr2HwPh+w3XA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz", + "integrity": "sha512-m8r5BmV+ZLpWPtMY2mOKN7wre6HIO4gfIiV+eOmsnZABNenrt/kzYBwrh+KOfgumSWpnlGs5F70J8afYMSJMBg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz", + "integrity": "sha512-56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz", + "integrity": "sha512-jjfym4N9HtCiNfyyLAVD8WqPYeHUrw4ihxuAynWj6zzp2gf9Ey2f7ImhFm6ikB3CLf5Z/zmcJDri6B4+9j9RsA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-numeric-separator": "^7.10.1" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.1.tgz", + "integrity": "sha512-Z+Qri55KiQkHh7Fc4BW6o+QBuTagbOp9txE+4U1i79u9oWlf2npkiDx+Rf3iK3lbcHBuNy9UOkwuR5wOMH3LIQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.10.1" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz", + "integrity": "sha512-VqExgeE62YBqI3ogkGoOJp1R6u12DFZjqwJhqtKc2o5m1YTUuUWnos7bZQFBhwkxIFpWYJ7uB75U7VAPPiKETA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.1.tgz", + "integrity": "sha512-dqQj475q8+/avvok72CF3AOSV/SGEcH29zT5hhohqqvvZ2+boQoOr7iGldBG5YXTO2qgCgc2B3WvVLUdbeMlGA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.1.tgz", + "integrity": "sha512-RZecFFJjDiQ2z6maFprLgrdnm0OzoC23Mx89xf1CcEsxmHuzuXOdniEuI+S3v7vjQG4F5sa6YtUp+19sZuSxHg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz", + "integrity": "sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.1.tgz", + "integrity": "sha512-Gf2Yx/iRs1JREDtVZ56OrjjgFHCaldpTnuy9BHla10qyVT3YkIIGEtoDWhyop0ksu1GvNjHIoYRBqm3zoR1jyQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz", + "integrity": "sha512-uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz", + "integrity": "sha512-hgA5RYkmZm8FTFT3yu2N9Bx7yVVOKYT6yEdXXo6j2JTm0wNxgqaGeQVaSHRjhfnQbX91DtjFB6McRFSlcJH3xQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz", + "integrity": "sha512-6AZHgFJKP3DJX0eCNJj01RpytUa3SOGawIxweHkNX2L6PYikOZmoh5B0d7hIHaIgveMjX990IAa/xK7jRTN8OA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz", + "integrity": "sha512-XCgYjJ8TY2slj6SReBUyamJn3k2JLUIiiR5b6t1mNCMSvv7yx+jJpaewakikp0uWFQSF7ChPPoe3dHmXLpISkg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-remap-async-to-generator": "^7.10.1" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz", + "integrity": "sha512-B7K15Xp8lv0sOJrdVAoukKlxP9N59HS48V1J3U/JGj+Ad+MHq+am6xJVs85AgXrQn4LV8vaYFOB+pr/yIuzW8Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz", + "integrity": "sha512-8bpWG6TtF5akdhIm/uWTyjHqENpy13Fx8chg7pFH875aNLwX8JxIxqm08gmAT+Whe6AOmaTeLPe7dpLbXt+xUw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.1.tgz", + "integrity": "sha512-P9V0YIh+ln/B3RStPoXpEQ/CoAxQIhRSUn7aXqQ+FZJ2u8+oCtjIXR3+X0vsSD8zv+mb56K7wZW1XiDTDGiDRQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-define-map": "^7.10.1", + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-optimise-call-expression": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.1.tgz", + "integrity": "sha512-mqSrGjp3IefMsXIenBfGcPXxJxweQe2hEIwMQvjtiDQ9b1IBvDUjkAtV/HMXX47/vXf14qDNedXsIiNd1FmkaQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz", + "integrity": "sha512-V/nUc4yGWG71OhaTH705pU8ZSdM6c1KmmLP8ys59oOYbT7RpMYAR3MsVOt6OHL0WzG7BlTU076va9fjJyYzJMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz", + "integrity": "sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz", + "integrity": "sha512-wIEpkX4QvX8Mo9W6XF3EdGttrIPZWozHfEaDTU0WJD/TDnXMvdDh30mzUl/9qWhnf7naicYartcEfUghTCSNpA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz", + "integrity": "sha512-lr/przdAbpEA2BUzRvjXdEDLrArGRRPwbaF9rvayuHRvdQ7lUTTkZnhZrJ4LE2jvgMRFF4f0YuPQ20vhiPYxtA==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz", + "integrity": "sha512-US8KCuxfQcn0LwSCMWMma8M2R5mAjJGsmoCBVwlMygvmDUMkTCykc84IqN1M7t+agSfOmLYTInLCHJM+RUoz+w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz", + "integrity": "sha512-//bsKsKFBJfGd65qSNNh1exBy5Y9gD9ZN+DvrJ8f7HXr4avE5POW6zB7Rj6VnqHV33+0vXWUwJT0wSHubiAQkw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz", + "integrity": "sha512-qi0+5qgevz1NHLZroObRm5A+8JJtibb7vdcPQF1KQE12+Y/xxl8coJ+TpPW9iRq+Mhw/NKLjm+5SHtAHCC7lAw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz", + "integrity": "sha512-UmaWhDokOFT2GcgU6MkHC11i0NQcL63iqeufXWfRy6pUOGYeCGEKhvfFO6Vz70UfYJYHwveg62GS83Rvpxn+NA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz", + "integrity": "sha512-31+hnWSFRI4/ACFr1qkboBbrTxoBIzj7qA69qlq8HY8p7+YCzkCT6/TvQ1a4B0z27VeWtAeJd6pr5G04dc1iHw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz", + "integrity": "sha512-AQG4fc3KOah0vdITwt7Gi6hD9BtQP/8bhem7OjbaMoRNCH5Djx42O2vYMfau7QnAzQCa+RJnhJBmFFMGpQEzrg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-simple-access": "^7.10.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.1.tgz", + "integrity": "sha512-ewNKcj1TQZDL3YnO85qh9zo1YF1CHgmSTlRQgHqe63oTrMI85cthKtZjAiZSsSNjPQ5NCaYo5QkbYqEw1ZBgZA==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.10.1", + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz", + "integrity": "sha512-EIuiRNMd6GB6ulcYlETnYYfgv4AxqrswghmBRQbWLHZxN4s7mupxzglnHqk9ZiUpDI4eRWewedJJNj67PWOXKA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", + "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz", + "integrity": "sha512-MBlzPc1nJvbmO9rPr1fQwXOM2iGut+JC92ku6PbiJMMK7SnQc1rytgpopveE3Evn47gzvGYeCdgfCDbZo0ecUw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz", + "integrity": "sha512-WnnStUDN5GL+wGQrJylrnnVlFhFmeArINIR9gjhSeYyvroGhBrSAXYg/RHsnfzmsa+onJrTJrEClPzgNmmQ4Gw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz", + "integrity": "sha512-tJ1T0n6g4dXMsL45YsSzzSDZCxiHXAQp/qHrucOq5gEHncTA3xDxnd5+sZcoQp+N1ZbieAaB8r/VUCG0gqseOg==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz", + "integrity": "sha512-Kr6+mgag8auNrgEpbfIWzdXYOvqDHZOF0+Bx2xh4H2EDNwcbRb9lY6nkZg8oSjsX+DH9Ebxm9hOqtKW+gRDeNA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.1.tgz", + "integrity": "sha512-B3+Y2prScgJ2Bh/2l9LJxKbb8C8kRfsG4AdPT+n7ixBHIxJaIG8bi8tgjxUMege1+WqSJ+7gu1YeoMVO3gPWzw==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz", + "integrity": "sha512-qN1OMoE2nuqSPmpTqEM7OvJ1FkMEV+BjVeZZm9V9mq/x1JLKQ4pcv8riZJMNN3u2AUGl0ouOMjRr2siecvHqUQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.1.tgz", + "integrity": "sha512-4w2tcglDVEwXJ5qxsY++DgWQdNJcCCsPxfT34wCUwIf2E7dI7pMpH8JczkMBbgBTNzBX62SZlNJ9H+De6Zebaw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "resolve": "^1.8.1", + "semver": "^5.5.1" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz", + "integrity": "sha512-AR0E/lZMfLstScFwztApGeyTHJ5u3JUKMjneqRItWeEqDdHWZwAOKycvQNCasCK/3r5YXsuNG25funcJDu7Y2g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz", + "integrity": "sha512-8wTPym6edIrClW8FI2IoaePB91ETOtg36dOkj3bYcNe7aDMN2FXEoUa+WrmPc4xa1u2PQK46fUX2aCb+zo9rfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz", + "integrity": "sha512-j17ojftKjrL7ufX8ajKvwRilwqTok4q+BjkknmQw9VNHnItTyMP5anPFzxFJdCQs7clLcWpCV3ma+6qZWLnGMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-regex": "^7.10.1" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.1.tgz", + "integrity": "sha512-t7B/3MQf5M1T9hPCRG28DNGZUuxAuDqLYS03rJrIk2prj/UV7Z6FOneijhQhnv/Xa039vidXeVbvjK2SK5f7Gg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz", + "integrity": "sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.1.tgz", + "integrity": "sha512-zZ0Poh/yy1d4jeDWpx/mNwbKJVwUYJX73q+gyh4bwtG0/iUlzdEu0sLMda8yuDFS6LBQlT/ST1SJAR6zYwXWgw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz", + "integrity": "sha512-Y/2a2W299k0VIUdbqYm9X2qS6fE0CUBhhiPpimK6byy7OJ/kORLlIX+J6UrjgNu5awvs62k+6RSslxhcvVw2Tw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/preset-env": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.2.tgz", + "integrity": "sha512-MjqhX0RZaEgK/KueRzh+3yPSk30oqDKJ5HP5tqTSB1e2gzGS3PLy7K0BIpnp78+0anFuSwOeuCf1zZO7RzRvEA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.10.1", + "@babel/helper-compilation-targets": "^7.10.2", + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-proposal-async-generator-functions": "^7.10.1", + "@babel/plugin-proposal-class-properties": "^7.10.1", + "@babel/plugin-proposal-dynamic-import": "^7.10.1", + "@babel/plugin-proposal-json-strings": "^7.10.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", + "@babel/plugin-proposal-numeric-separator": "^7.10.1", + "@babel/plugin-proposal-object-rest-spread": "^7.10.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.10.1", + "@babel/plugin-proposal-optional-chaining": "^7.10.1", + "@babel/plugin-proposal-private-methods": "^7.10.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.10.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.10.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.1", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.10.1", + "@babel/plugin-transform-arrow-functions": "^7.10.1", + "@babel/plugin-transform-async-to-generator": "^7.10.1", + "@babel/plugin-transform-block-scoped-functions": "^7.10.1", + "@babel/plugin-transform-block-scoping": "^7.10.1", + "@babel/plugin-transform-classes": "^7.10.1", + "@babel/plugin-transform-computed-properties": "^7.10.1", + "@babel/plugin-transform-destructuring": "^7.10.1", + "@babel/plugin-transform-dotall-regex": "^7.10.1", + "@babel/plugin-transform-duplicate-keys": "^7.10.1", + "@babel/plugin-transform-exponentiation-operator": "^7.10.1", + "@babel/plugin-transform-for-of": "^7.10.1", + "@babel/plugin-transform-function-name": "^7.10.1", + "@babel/plugin-transform-literals": "^7.10.1", + "@babel/plugin-transform-member-expression-literals": "^7.10.1", + "@babel/plugin-transform-modules-amd": "^7.10.1", + "@babel/plugin-transform-modules-commonjs": "^7.10.1", + "@babel/plugin-transform-modules-systemjs": "^7.10.1", + "@babel/plugin-transform-modules-umd": "^7.10.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", + "@babel/plugin-transform-new-target": "^7.10.1", + "@babel/plugin-transform-object-super": "^7.10.1", + "@babel/plugin-transform-parameters": "^7.10.1", + "@babel/plugin-transform-property-literals": "^7.10.1", + "@babel/plugin-transform-regenerator": "^7.10.1", + "@babel/plugin-transform-reserved-words": "^7.10.1", + "@babel/plugin-transform-shorthand-properties": "^7.10.1", + "@babel/plugin-transform-spread": "^7.10.1", + "@babel/plugin-transform-sticky-regex": "^7.10.1", + "@babel/plugin-transform-template-literals": "^7.10.1", + "@babel/plugin-transform-typeof-symbol": "^7.10.1", + "@babel/plugin-transform-unicode-escapes": "^7.10.1", + "@babel/plugin-transform-unicode-regex": "^7.10.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.10.2", + "browserslist": "^4.12.0", + "core-js-compat": "^3.6.2", + "invariant": "^2.2.2", + "levenary": "^1.1.1", + "semver": "^5.5.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", + "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.0.tgz", + "integrity": "sha512-qArkXsjJq7H+T86WrIFV0Fnu/tNOkZ4cgXmjkzAu3b/58D5mFIO8JH/y77t7C9q0OdDRdh9s7Ue5GasYssxtXw==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/traverse": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", + "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/generator": "^7.10.1", + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@formatjs/intl-unified-numberformat": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.3.7.tgz", + "integrity": "sha512-KnWgLRHzCAgT9eyt3OS34RHoyD7dPDYhRcuKn+/6Kv2knDF8Im43J6vlSW6Hm1w63fNq3ZIT1cFk7RuVO3Psag==", + "requires": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "@formatjs/intl-utils": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-utils/-/intl-utils-2.3.0.tgz", + "integrity": "sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ==" + }, + "@polka/send": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@polka/send/-/send-0.4.0.tgz", + "integrity": "sha1-4nccVnHTYXWDJTSriGqIT3XzHm8=" + }, + "@polka/url": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-0.5.0.tgz", + "integrity": "sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw==" + }, + "@rollup/plugin-commonjs": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-14.0.0.tgz", + "integrity": "sha512-+PSmD9ePwTAeU106i9FRdc+Zb3XUWyW26mo5Atr2mk82hor8+nPwkztEjFo8/B1fJKfaQDg9aM2bzQkjhi7zOw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.8", + "commondir": "^1.0.1", + "estree-walker": "^1.0.1", + "glob": "^7.1.2", + "is-reference": "^1.1.2", + "magic-string": "^0.25.2", + "resolve": "^1.11.0" + } + }, + "@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.8" + } + }, + "@rollup/plugin-node-resolve": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.0.1.tgz", + "integrity": "sha512-KIeAmueDDaYMqMBnUngLVVZhURwxA12nq/YB6nGm5/JpVyOMwI1fCVU3oL/dAnnLBG7oiPXntO5LHOiMrfNXCA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.8", + "@types/resolve": "0.0.8", + "builtin-modules": "^3.1.0", + "deep-freeze": "^0.0.1", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.14.2" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, + "@sindresorhus/slugify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-1.1.0.tgz", + "integrity": "sha512-ujZRbmmizX26yS/HnB3P9QNlNa4+UvHh+rIse3RbOXLp8yl6n1TxB4t7NHggtVgS8QmmOtzXo48kCxZGACpkPw==", + "requires": { + "@sindresorhus/transliterate": "^0.1.1", + "escape-string-regexp": "^4.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + } + } + }, + "@sindresorhus/transliterate": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-0.1.1.tgz", + "integrity": "sha512-QSdIQ5keUFAZ3KLbfbsntW39ox0Ym8183RqTwBq/ZEFoN3NQAtGV+qWaNdzKpIDHgj9J2CQ2iNDRVU11Zyr7MQ==", + "requires": { + "escape-string-regexp": "^2.0.0", + "lodash.deburr": "^4.1.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "@types/node": { + "version": "14.0.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.12.tgz", + "integrity": "sha512-/sjzehvjkkpvLpYtN6/2dv5kg41otMGuHQUt9T2aiAuIfleCQRQHXXzF1eAw/qkZTj5Kcf4JSTf7EIizHocy6Q==", + "dev": true + }, + "@types/resolve": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", + "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", + "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001043", + "electron-to-chromium": "^1.3.413", + "node-releases": "^1.1.53", + "pkg-up": "^2.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "builtin-modules": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", + "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "caniuse-lite": { + "version": "1.0.30001079", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001079.tgz", + "integrity": "sha512-2KaYheg0iOY+CMmDuAB3DHehrXhhb4OZU4KBVGDr/YKyYAcpudaiUQ9PJ9rxrPlKEoJ3ATasQ5AN48MqpwS43Q==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", + "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "core-js-compat": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", + "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "dev": true, + "requires": { + "browserslist": "^4.8.5", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "deep-freeze": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz", + "integrity": "sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ=", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "electron-to-chromium": { + "version": "1.3.465", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.465.tgz", + "integrity": "sha512-K/lUeT3NLAsJ5SHRDhK3/zd0tw7OUllYD8w+fTOXm6ljCPsp2qq+vMzxpLo8u1M27ZjZAjRbsA6rirvne2nAMQ==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globalyzer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.4.tgz", + "integrity": "sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA==" + }, + "globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==" + }, + "golden-fleece": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/golden-fleece/-/golden-fleece-1.0.9.tgz", + "integrity": "sha512-YSwLaGMOgSBx9roJlNLL12c+FRiw7VECphinc6mGucphc/ZxTHgdEz6gmJqH6NOzYEd/yr64hwjom5pZ+tJVpg==" + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "highlight.js": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.1.2.tgz", + "integrity": "sha512-Q39v/Mn5mfBlMff9r+zzA+gWxRsCRKwEMvYTiisLr/XUiFI/4puWt0Ojdko3R3JCNWGdOWaA5g/Yxqa23kC5AA==" + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "html-minifier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", + "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "dev": true, + "requires": { + "camel-case": "^3.0.0", + "clean-css": "^4.2.1", + "commander": "^2.19.0", + "he": "^1.2.0", + "param-case": "^2.1.1", + "relateurl": "^0.2.7", + "uglify-js": "^3.5.1" + } + }, + "http-link-header": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.0.2.tgz", + "integrity": "sha512-z6YOZ8ZEnejkcCWlGZzYXNa6i+ZaTfiTg3WhlV/YvnNya3W/RbX1bMVUMTuCrg/DrtTCQxaFCkXCz4FtLpcebg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "intl-format-cache": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-4.3.1.tgz", + "integrity": "sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q==" + }, + "intl-messageformat": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-7.8.4.tgz", + "integrity": "sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==", + "requires": { + "intl-format-cache": "^4.2.21", + "intl-messageformat-parser": "^3.6.4" + } + }, + "intl-messageformat-parser": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-3.6.4.tgz", + "integrity": "sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==", + "requires": { + "@formatjs/intl-unified-numberformat": "^3.2.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "requires": { + "@types/estree": "*" + } + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "jest-worker": { + "version": "26.2.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.2.1.tgz", + "integrity": "sha512-+XcGMMJDTeEGncRb5M5Zq9P7K4sQ1sirhjdOxsN1462h6lFo9w59bl2LVQmdGEEeU3m+maZCkS2Tcc9SfCHO4A==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levenary": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", + "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", + "dev": true, + "requires": { + "leven": "^3.1.0" + } + }, + "livereload": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/livereload/-/livereload-0.9.1.tgz", + "integrity": "sha512-9g7sua11kkyZNo2hLRCG3LuZZwqexoyEyecSlV8cAsfAVVCZqLzVir6XDqmH0r+Vzgnd5LrdHDMyjtFnJQLAYw==", + "dev": true, + "requires": { + "chokidar": "^3.3.0", + "livereload-js": "^3.1.0", + "opts": ">= 1.2.0", + "ws": "^6.2.1" + } + }, + "livereload-js": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-3.2.2.tgz", + "integrity": "sha512-xhScbNeC687ZINjEf/bD+BMiPx4s4q0mehcLb3zCc8+mykOtmaBR4vqzyIV9rIGdG9JjHaT0LiFdscvivCjX1Q==", + "dev": true + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "dev": true + }, + "lodash.deburr": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", + "integrity": "sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s=" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "marked": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-1.1.1.tgz", + "integrity": "sha512-mJzT8D2yPxoPh7h0UXkB+dBj4FykPJ2OIfxAWeIHrvoHDkFxukV/29QxoFQoPM6RLEwhIFdJpmKBlqVM3s2ZIw==" + }, + "matchit": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/matchit/-/matchit-1.0.8.tgz", + "integrity": "sha512-CwPPICzozd/ezCzpVwGYG5bMVieaapnA0vvHDQnmQ2u2vZtVLynoPmvFsZjL67hFOvTBhhpqSR0bq3uloDP/Rw==", + "requires": { + "@arr/every": "^1.0.0" + } + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "mime": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "requires": { + "mime-db": "1.44.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-releases": { + "version": "1.1.58", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz", + "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + } + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "opts": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/opts/-/opts-1.2.7.tgz", + "integrity": "sha512-hwZhzGGG/GQ7igxAVFOEun2N4fWul31qE9nfBdCnZGQCB5+L7tN9xZ+94B4aUpLOJx/of3zZs5XsuubayQYQjA==", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "polka": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/polka/-/polka-0.5.2.tgz", + "integrity": "sha512-FVg3vDmCqP80tOrs+OeNlgXYmFppTXdjD5E7I4ET1NjvtNmQrb1/mJibybKkb/d4NA7YWAr1ojxuhpL3FHqdlw==", + "requires": { + "@polka/url": "^0.5.0", + "trouter": "^2.0.1" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerate": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", + "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", + "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4", + "private": "^0.1.8" + } + }, + "regexpu-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", + "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "require-relative": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", + "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", + "dev": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "rollup": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.23.0.tgz", + "integrity": "sha512-vLNmZFUGVwrnqNAJ/BvuLk1MtWzu4IuoqsH9UWK5AIdO3rt8/CSiJNvPvCIvfzrbNsqKbNzPAG1V2O4eTe2XZg==", + "dev": true, + "requires": { + "fsevents": "~2.1.2" + } + }, + "rollup-plugin-babel": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz", + "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "rollup-pluginutils": "^2.8.1" + } + }, + "rollup-plugin-livereload": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-livereload/-/rollup-plugin-livereload-1.3.0.tgz", + "integrity": "sha512-abyqXaB21+nFHo+vJULBqfzNx6zXABC19UyvqgDfdoxR/8pFAd041GO+GIUe8ZYC2DbuMUmioh1Lvbk14YLZgw==", + "dev": true, + "requires": { + "livereload": "^0.9.1" + } + }, + "rollup-plugin-replace": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-replace/-/rollup-plugin-replace-2.2.0.tgz", + "integrity": "sha512-/5bxtUPkDHyBJAKketb4NfaeZjL5yLZdeUihSfbF2PQMz+rSTEb8ARKoOl3UBT4m7/X+QOXJo3sLTcq+yMMYTA==", + "dev": true, + "requires": { + "magic-string": "^0.25.2", + "rollup-pluginutils": "^2.6.0" + } + }, + "rollup-plugin-svelte": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-5.2.2.tgz", + "integrity": "sha512-I+TJ2T+VLKGbKQcpeMJ4AR2ciROqTZNjxbiMiH4Cn1yByaB9OEuy3CnrgHHuWatQcPuF3yIViyKX7OlETWDKOQ==", + "dev": true, + "requires": { + "require-relative": "^0.8.7", + "rollup-pluginutils": "^2.8.2", + "sourcemap-codec": "^1.4.8" + } + }, + "rollup-plugin-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-6.1.0.tgz", + "integrity": "sha512-4fB3M9nuoWxrwm39habpd4hvrbrde2W2GG4zEGPQg1YITNkM3Tqur5jSuXlWNzbv/2aMLJ+dZJaySc3GCD8oDw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "jest-worker": "^26.0.0", + "serialize-javascript": "^3.0.0", + "terser": "^4.7.0" + } + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "requires": { + "estree-walker": "^0.6.1" + }, + "dependencies": { + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "sapper": { + "version": "0.27.16", + "resolved": "https://registry.npmjs.org/sapper/-/sapper-0.27.16.tgz", + "integrity": "sha512-q8dohkbhga6xO+0a8h84odFyoilQ0D0vJtF8NHra/DQmSeN2R2MXUfwhw3EyvLms3T1x8H3v+qw642Qf5JXA9g==", + "dev": true, + "requires": { + "html-minifier": "^4.0.0", + "http-link-header": "^1.0.2", + "shimport": "^1.0.1", + "sourcemap-codec": "^1.4.6", + "string-hash": "^1.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "serialize-javascript": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, + "shimport": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/shimport/-/shimport-1.0.1.tgz", + "integrity": "sha512-Imf4gH+8WQmT1GvxS/x79qpmfnE6m50hyN1ucatX+7oMCgmaF8obZWCPIzSUe6+P+YmXM46lkP2pxiV2/lt9Og==", + "dev": true + }, + "sirv": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-0.4.6.tgz", + "integrity": "sha512-rYpOXlNbpHiY4nVXxuDf4mXPvKz1reZGap/LkWp9TvcZ84qD/nPBjjH/6GZsgIjVMbOslnY8YYULAyP8jMn1GQ==", + "requires": { + "@polka/url": "^0.5.0", + "mime": "^2.3.1" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=", + "dev": true + }, + "string.prototype.padend": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz", + "integrity": "sha512-3aIv8Ffdp8EZj8iLwREGpQaUZiPyrWrpzMBHvkiSW/bK/EGve9np07Vwy7IJ5waydpGXzQZu/F8Oze2/IWkBaA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimleft": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", + "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimstart": "^1.0.0" + } + }, + "string.prototype.trimright": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", + "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimend": "^1.0.0" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svelte": { + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.24.0.tgz", + "integrity": "sha512-VFXom6EP2DK83kxy4ZlBbaZklSbZIrpNH3oNXlPYHJUuW4q1OuAr3ZoYbfIVTVYPDgrI7Yq0gQcOhDlAtO4qfw==", + "dev": true + }, + "svelte-i18n": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/svelte-i18n/-/svelte-i18n-3.0.4.tgz", + "integrity": "sha512-qgRVjVmQ35wJtn0O6y0zpKo+Jagd8BTMUm5+to6yzIDAkzHPoINu0KUgJlff4QzXRcHsYodnj9qzKIZMtCfqfw==", + "requires": { + "commander": "^4.0.1", + "estree-walker": "^0.9.0", + "intl-messageformat": "^7.5.2", + "tiny-glob": "^0.2.6" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + }, + "estree-walker": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.9.0.tgz", + "integrity": "sha512-12U47o7XHUX329+x3FzNVjCx3SHEzMF0nkDv7r/HnBzX/xNTKxajBk6gyygaxrAFtLj39219oMfbtxv4KpaOiA==" + } + } + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "tiny-glob": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.6.tgz", + "integrity": "sha512-A7ewMqPu1B5PWwC3m7KVgAu96Ch5LA0w4SnEN/LbDREj/gAD0nPWboRbn8YoP9ISZXqeNAlMvKSKoEuhcfK3Pw==", + "requires": { + "globalyzer": "^0.1.0", + "globrex": "^0.1.1" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "trouter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/trouter/-/trouter-2.0.1.tgz", + "integrity": "sha512-kr8SKKw94OI+xTGOkfsvwZQ8mWoikZDd2n8XZHjJVZUARZT+4/VV6cacRS6CLsH9bNm+HFIPU1Zx4CnNnb4qlQ==", + "requires": { + "matchit": "^1.0.0" + } + }, + "uglify-js": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.0.tgz", + "integrity": "sha512-Esj5HG5WAyrLIdYU74Z3JdG2PxdIusvj6IWHMtlyESxc7kcDz7zYlYjpnSokn1UbpV0d/QX9fan7gkCNd/9BQA==", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + } + } +} diff --git a/site/package.json b/site/package.json new file mode 100644 index 0000000000..261e4f7e60 --- /dev/null +++ b/site/package.json @@ -0,0 +1,44 @@ +{ + "name": "site", + "description": "site", + "version": "0.0.1", + "scripts": { + "dev": "sapper dev", + "build": "sapper build --legacy", + "export": "sapper export --legacy", + "start": "node __sapper__/build", + "cy:run": "cypress run", + "cy:open": "cypress open", + "test": "run-p --race dev cy:run" + }, + "dependencies": { + "@polka/send": "^0.4.0", + "@sindresorhus/slugify": "^1.1.0", + "compression": "^1.7.4", + "golden-fleece": "^1.0.9", + "highlight.js": "^10.1.2", + "marked": "^1.1.1", + "polka": "^0.5.2", + "sirv": "^0.4.2", + "svelte-i18n": "^3.0.4" + }, + "devDependencies": { + "@babel/core": "^7.9.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.9.0", + "@babel/preset-env": "^7.9.0", + "@babel/runtime": "^7.9.2", + "@rollup/plugin-commonjs": "^14.0.0", + "@rollup/plugin-json": "^4.0.3", + "@rollup/plugin-node-resolve": "^8.0.1", + "npm-run-all": "^4.1.5", + "rollup": "^2.15.0", + "rollup-plugin-babel": "^4.4.0", + "rollup-plugin-livereload": "^1.3.0", + "rollup-plugin-replace": "^2.2.0", + "rollup-plugin-svelte": "^5.2.0", + "rollup-plugin-terser": "^6.1.0", + "sapper": "^0.27.14", + "svelte": "^3.20.1" + } +} diff --git a/site/rollup.config.js b/site/rollup.config.js new file mode 100644 index 0000000000..f738ee7c27 --- /dev/null +++ b/site/rollup.config.js @@ -0,0 +1,97 @@ +import commonjs from '@rollup/plugin-commonjs'; +import json from '@rollup/plugin-json'; +import resolve from '@rollup/plugin-node-resolve'; +import babel from 'rollup-plugin-babel'; +import replace from 'rollup-plugin-replace'; +import svelte from 'rollup-plugin-svelte'; +import { terser } from 'rollup-plugin-terser'; +import config from 'sapper/config/rollup.js'; + +import pkg from './package.json'; + +const mode = process.env.NODE_ENV; +const dev = mode === 'development'; +const legacy = !!process.env.SAPPER_LEGACY_BUILD; + +const onwarn = (warning, onwarn) => (warning.code === 'CIRCULAR_DEPENDENCY' && /[/\\]@sapper[/\\]/.test(warning.message)) || onwarn(warning); + +export default { + client: { + input: config.client.input(), + output: config.client.output(), + plugins: [ + replace({ + 'process.browser': true, + 'process.env.NODE_ENV': JSON.stringify(mode) + }), + svelte({ + dev, + hydratable: true, + emitCss: true + }), + resolve(), + commonjs(), + + legacy && babel({ + extensions: ['.js', '.mjs', '.html', '.svelte'], + runtimeHelpers: true, + exclude: ['node_modules/@babel/**'], + presets: [ + ['@babel/preset-env', { + targets: '> 0.25%, not dead' + }] + ], + plugins: [ + '@babel/plugin-syntax-dynamic-import', + ['@babel/plugin-transform-runtime', { + useESModules: true + }] + ] + }), + + !dev && terser({ + module: true + }), + + json() + ], + onwarn, + }, + + server: { + input: config.server.input(), + output: config.server.output(), + plugins: [ + replace({ + 'process.browser': false, + 'process.env.NODE_ENV': JSON.stringify(mode) + }), + svelte({ + generate: 'ssr', + dev + }), + resolve(), + commonjs(), + json() + ], + external: Object.keys(pkg.dependencies).concat( + require('module').builtinModules || Object.keys(process.binding('natives')) + ), + onwarn, + }, + + serviceworker: { + input: config.serviceworker.input(), + output: config.serviceworker.output(), + plugins: [ + resolve(), + replace({ + 'process.browser': true, + 'process.env.NODE_ENV': JSON.stringify(mode) + }), + commonjs(), + !dev && terser() + ], + onwarn, + }, +}; diff --git a/site/src/client.js b/site/src/client.js new file mode 100644 index 0000000000..4be221b4ba --- /dev/null +++ b/site/src/client.js @@ -0,0 +1,11 @@ +import '../static/base.css'; + +import * as sapper from '@sapper/app'; + +import { startClient } from './i18n.js'; + +startClient(); + +sapper.start({ + target: document.querySelector('#sapper') +}); diff --git a/site/src/components/CodeTable.svelte b/site/src/components/CodeTable.svelte new file mode 100644 index 0000000000..3ad524cdd8 --- /dev/null +++ b/site/src/components/CodeTable.svelte @@ -0,0 +1,121 @@ + + + + +
+ + + + +
+ {#each tabs as { lang, content }, i} +
+ {content} +
+ {/each} +
+
diff --git a/site/src/components/Docs.svelte b/site/src/components/Docs.svelte new file mode 100644 index 0000000000..3f9f0c7f91 --- /dev/null +++ b/site/src/components/Docs.svelte @@ -0,0 +1,428 @@ + + + + +
+ {#each sections as section} +
+

+ + + + + {@html section.metadata.title} + + + + + +

+ + {@html section.html} +
+ {/each} +
+ + diff --git a/site/src/components/GuideContents.svelte b/site/src/components/GuideContents.svelte new file mode 100644 index 0000000000..ad1aba0242 --- /dev/null +++ b/site/src/components/GuideContents.svelte @@ -0,0 +1,142 @@ + + + + + diff --git a/site/src/components/Icon.svelte b/site/src/components/Icon.svelte new file mode 100644 index 0000000000..123808c2dc --- /dev/null +++ b/site/src/components/Icon.svelte @@ -0,0 +1,20 @@ + + + + + diff --git a/site/src/components/LanguageSwitcher.svelte b/site/src/components/LanguageSwitcher.svelte new file mode 100644 index 0000000000..b1037e3284 --- /dev/null +++ b/site/src/components/LanguageSwitcher.svelte @@ -0,0 +1,65 @@ + + + + + + +
+ {#each LANGUAGES as lang} + + {/each} +
diff --git a/site/src/components/Nav.svelte b/site/src/components/Nav.svelte new file mode 100644 index 0000000000..b750fef952 --- /dev/null +++ b/site/src/components/Nav.svelte @@ -0,0 +1,168 @@ + + + + + + +
+ +
\ No newline at end of file diff --git a/site/src/components/NavItem.svelte b/site/src/components/NavItem.svelte new file mode 100644 index 0000000000..c3150cacaf --- /dev/null +++ b/site/src/components/NavItem.svelte @@ -0,0 +1,30 @@ + + + + +{#if external} + +{:else} + +{/if} \ No newline at end of file diff --git a/site/src/components/Section.svelte b/site/src/components/Section.svelte new file mode 100644 index 0000000000..fc7836eb1a --- /dev/null +++ b/site/src/components/Section.svelte @@ -0,0 +1,15 @@ + + +
+ +
diff --git a/site/src/components/Split.svelte b/site/src/components/Split.svelte new file mode 100644 index 0000000000..fb32be3e5c --- /dev/null +++ b/site/src/components/Split.svelte @@ -0,0 +1,82 @@ + + +
+
+ +
+ +
+ +
+
diff --git a/site/src/i18n.js b/site/src/i18n.js new file mode 100644 index 0000000000..d11974bcbf --- /dev/null +++ b/site/src/i18n.js @@ -0,0 +1,71 @@ +import { getLocaleFromNavigator, init, locale as $locale, register } from 'svelte-i18n'; + +import { getCookie, setCookie } from './modules/cookie.js'; + +export const INIT_OPTIONS = { + fallbackLocale: 'en', + initialLocale: 'en', + loadingDelay: 200, + formats: {}, + warnOnMissingMessages: true, +}; + +let currentLocale = null; + +register('en', () => import('./messages/en.json')); +register('de', () => import('./messages/de.json')); + +$locale.subscribe((value) => { + if (value == null) return; + + currentLocale = value; + + // if running in the client, save the language preference in a cookie + if (typeof window !== 'undefined') { + setCookie('locale', value); + } +}); + +// initialize the i18n library in client +export function startClient() { + init({ + ...INIT_OPTIONS, + initialLocale: getCookie('locale') || getLocaleFromNavigator(), + }); +} + +const DOCUMENT_REGEX = /^([^.?#@]+)?([?#](.+)?)?$/; +// initialize the i18n library in the server and returns its middleware +export function i18nMiddleware() { + // initialLocale will be set by the middleware + init(INIT_OPTIONS); + + return (req, res, next) => { + const isDocument = DOCUMENT_REGEX.test(req.originalUrl); + // get the initial locale only for a document request + if (!isDocument) { + next(); + return; + } + + let locale = getCookie('locale', req.headers.cookie); + + // no cookie, let's get the first accepted language + if (locale == null) { + if (req.headers['accept-language']) { + const headerLang = req.headers['accept-language'].split(',')[0].trim(); + if (headerLang.length > 1) { + locale = headerLang; + } + } else { + locale = INIT_OPTIONS.initialLocale || INIT_OPTIONS.fallbackLocale; + } + } + + if (locale != null && locale !== currentLocale) { + $locale.set(locale); + } + + next(); + }; +} \ No newline at end of file diff --git a/site/src/messages/de.json b/site/src/messages/de.json new file mode 100644 index 0000000000..e88a1ffd63 --- /dev/null +++ b/site/src/messages/de.json @@ -0,0 +1,8 @@ +{ + "title": "Zitadel Identity and Access Management", + "description":"Die meisten Apps müssen die Identität eines Benutzers kennen. Wenn Sie die Identität eines Benutzers kennen, kann eine App Benutzerdaten sicher speichern und auf allen Geräten des Benutzers dieselbe personalisierte Erfahrung bieten.", + "description2":"Die Zitadel-Authentifizierung bietet Backend-Dienste, benutzerfreundliche SDKs und vorgefertigte UI-Bibliotheken zur Authentifizierung von Benutzern bei Ihrer App. Es unterstützt die Authentifizierung mithilfe von Passwörtern und bietet weitere Sicherheitsmechanismen, wie einen zweiten Faktor über OTP um einen sicheren Zugang zu gewährleisten.", + "description3":"Zitadel nutzt Industriestandards wie OAuth 2.0 und OpenID Connect, sodass sie problemlos in Ihr benutzerdefiniertes Backend integriert werden kann.", + "button":"Erfahren Sie wie sie starten", + "toconsole":"Zur Zitadel Konsole" +} \ No newline at end of file diff --git a/site/src/messages/en.json b/site/src/messages/en.json new file mode 100644 index 0000000000..c611fdc373 --- /dev/null +++ b/site/src/messages/en.json @@ -0,0 +1,8 @@ +{ + "title": "Zitadel Identity and Access Management", + "description":"Most apps need to know the identity of a user. Knowing a user's identity allows an app to securely save user data in the cloud and provide the same personalized experience across all of the user's devices.", + "description2":"Zitadel Authentication provides backend services, easy-to-use SDKs, and ready-made UI libraries to authenticate users to your app. It supports authentication using passwords and uses additional Security, like a second Factor over OTP ensure a safe access.", + "description3":"Zitadel Authentication leverages industry standards like OAuth 2.0 and OpenID Connect, so it can be easily integrated with your custom backend.", + "button":"Learn how to get started", + "toconsole":"Go to zitadel console" +} \ No newline at end of file diff --git a/site/src/modules/cookie.js b/site/src/modules/cookie.js new file mode 100644 index 0000000000..86dd5349d1 --- /dev/null +++ b/site/src/modules/cookie.js @@ -0,0 +1,33 @@ +export function getCookie(name, cookies) { + if (cookies == null) { + if (typeof window === 'undefined') { + return undefined; + } + cookies = document.cookie; + } + + const kv = cookies.split(';').find((part) => part.trim().startsWith(name)); + + if (!kv) return undefined; + + const cookieValue = kv.split('=')[1]; + if (!cookieValue) return undefined; + + return decodeURIComponent(cookieValue.trim()); +} + +export function setCookie(name, value, options = {}) { + if (options.expires instanceof Date) { + options.expires = options.expires.toUTCString(); + } + + let updatedCookie = { + [encodeURIComponent(name)]: encodeURIComponent(value), + sameSite: 'strict', + ...options, + }; + + document.cookie = Object.entries(updatedCookie) + .map((kv) => kv.join('=')) + .join(';'); +} \ No newline at end of file diff --git a/site/src/modules/language-store.js b/site/src/modules/language-store.js new file mode 100644 index 0000000000..ef8af3e5f6 --- /dev/null +++ b/site/src/modules/language-store.js @@ -0,0 +1,8 @@ +import { writable } from 'svelte/store'; + +export const docLanguages = writable(['de', 'en']); + +export function storeValue(lngs) { + console.log('lngs: ' + lngs); + docLanguages.set(lngs); +} \ No newline at end of file diff --git a/site/src/routes/[slug].json.js b/site/src/routes/[slug].json.js new file mode 100644 index 0000000000..a16e36a8e8 --- /dev/null +++ b/site/src/routes/[slug].json.js @@ -0,0 +1,26 @@ +import send from '@polka/send'; +import { locale } from 'svelte-i18n'; + +import { LANGUAGES } from '../../config.js'; +import { INIT_OPTIONS } from '../i18n.js'; +import generate_docs from '../utils/generate_docs.js'; + +let json; + +export function get(req, res) { + if (!json || process.env.NODE_ENV !== 'production') { + const { slug } = req.params; + locale.subscribe(localecode => { + console.log('sublocale: ' + localecode, LANGUAGES); + if (!LANGUAGES.includes(localecode)) { + console.log(INIT_OPTIONS); + localecode = INIT_OPTIONS.initialLocale || 'en'; + } + json = JSON.stringify(generate_docs('docs/', slug, localecode)); // TODO it errors if I send the non-stringified value + }); + } + + send(res, 200, json, { + 'Content-Type': 'application/json' + }); +} diff --git a/site/src/routes/[slug].svelte b/site/src/routes/[slug].svelte new file mode 100644 index 0000000000..e61d2182cc --- /dev/null +++ b/site/src/routes/[slug].svelte @@ -0,0 +1,26 @@ + + + + + + {manifest.name} • {slug} + + {#each tags as { name, content }, i} + + {/each} + + + \ No newline at end of file diff --git a/site/src/routes/_error.svelte b/site/src/routes/_error.svelte new file mode 100644 index 0000000000..475dcbbaad --- /dev/null +++ b/site/src/routes/_error.svelte @@ -0,0 +1,71 @@ + + + + + + {status} + + +
+ {#if online} +

Yikes!

+ + {#if error.message} +

{status}: {error.message}

+ {:else} +

Encountered a {status} error

+ {/if} + + {#if dev && error.stack} +
{error.stack}
+ {:else} + {#if status >= 500} +

Please try reloading the page.

+ {/if} + +

If the error persists, let us know or raise an issue on GitHub. Thanks!

+ {/if} + {:else} +

It looks like you're offline

+ +

Reload the page once you've found the internet.

+ {/if} +
\ No newline at end of file diff --git a/site/src/routes/_layout.svelte b/site/src/routes/_layout.svelte new file mode 100644 index 0000000000..ca49135204 --- /dev/null +++ b/site/src/routes/_layout.svelte @@ -0,0 +1,25 @@ + + + + + + +
+ +
diff --git a/site/src/routes/index.svelte b/site/src/routes/index.svelte new file mode 100644 index 0000000000..5be943b4f2 --- /dev/null +++ b/site/src/routes/index.svelte @@ -0,0 +1,57 @@ + + + + + + + + + Caos • Documentation + + + + caos logo + +
+
+

{$_('title')}

+

{$_('description')}

+

{$_('description2')}

+

{$_('description3')}

+ + {$_('button')} +
+
diff --git a/site/src/server.js b/site/src/server.js new file mode 100644 index 0000000000..e874066b47 --- /dev/null +++ b/site/src/server.js @@ -0,0 +1,20 @@ +import * as sapper from '@sapper/server'; +import compression from 'compression'; +import polka from 'polka'; +import sirv from 'sirv'; + +import { i18nMiddleware } from './i18n.js'; + +const { PORT, NODE_ENV } = process.env; +const dev = NODE_ENV === 'development'; + +polka() + .use( + compression({ threshold: 0 }), + sirv('static', { dev }), + i18nMiddleware(), + sapper.middleware() + ) + .listen(PORT, err => { + if (err) console.log('error', err); + }); diff --git a/site/src/service-worker.js b/site/src/service-worker.js new file mode 100644 index 0000000000..2289a556bc --- /dev/null +++ b/site/src/service-worker.js @@ -0,0 +1,82 @@ +import { timestamp, files, shell, routes } from '@sapper/service-worker'; + +const ASSETS = `cache${timestamp}`; + +// `shell` is an array of all the files generated by the bundler, +// `files` is an array of everything in the `static` directory +const to_cache = shell.concat(files); +const cached = new Set(to_cache); + +self.addEventListener('install', event => { + event.waitUntil( + caches + .open(ASSETS) + .then(cache => cache.addAll(to_cache)) + .then(() => { + self.skipWaiting(); + }) + ); +}); + +self.addEventListener('activate', event => { + event.waitUntil( + caches.keys().then(async keys => { + // delete old caches + for (const key of keys) { + if (key !== ASSETS) await caches.delete(key); + } + + self.clients.claim(); + }) + ); +}); + +self.addEventListener('fetch', event => { + if (event.request.method !== 'GET' || event.request.headers.has('range')) return; + + const url = new URL(event.request.url); + + // don't try to handle e.g. data: URIs + if (!url.protocol.startsWith('http')) return; + + // ignore dev server requests + if (url.hostname === self.location.hostname && url.port !== self.location.port) return; + + // always serve static files and bundler-generated assets from cache + if (url.host === self.location.host && cached.has(url.pathname)) { + event.respondWith(caches.match(event.request)); + return; + } + + // for pages, you might want to serve a shell `service-worker-index.html` file, + // which Sapper has generated for you. It's not right for every + // app, but if it's right for yours then uncomment this section + /* + if (url.origin === self.origin && routes.find(route => route.pattern.test(url.pathname))) { + event.respondWith(caches.match('/service-worker-index.html')); + return; + } + */ + + if (event.request.cache === 'only-if-cached') return; + + // for everything else, try the network first, falling back to + // cache if the user is offline. (If the pages never change, you + // might prefer a cache-first approach to a network-first one.) + event.respondWith( + caches + .open(`offline${timestamp}`) + .then(async cache => { + try { + const response = await fetch(event.request); + cache.put(event.request, response.clone()); + return response; + } catch(err) { + const response = await cache.match(event.request); + if (response) return response; + + throw err; + } + }) + ); +}); diff --git a/site/src/template.html b/site/src/template.html new file mode 100644 index 0000000000..e8a3611a6e --- /dev/null +++ b/site/src/template.html @@ -0,0 +1,99 @@ + + + + + + + + + %sapper.base% + + + + + + + + + %sapper.styles% + + + + + %sapper.head% + + + + +
%sapper.html%
+ + + %sapper.scripts% + + + \ No newline at end of file diff --git a/site/src/utils/generate_code_tabs.js b/site/src/utils/generate_code_tabs.js new file mode 100644 index 0000000000..d404310ab4 --- /dev/null +++ b/site/src/utils/generate_code_tabs.js @@ -0,0 +1,3 @@ +export default function generate_code_tabs(dirpath, dir) { + +} \ No newline at end of file diff --git a/site/src/utils/generate_docs.js b/site/src/utils/generate_docs.js new file mode 100644 index 0000000000..d8184b9b1d --- /dev/null +++ b/site/src/utils/generate_docs.js @@ -0,0 +1,135 @@ +import fs from 'fs'; +import hljs from 'highlight.js'; +import marked from 'marked'; +import path from 'path'; + +import { SLUG_PRESERVE_UNICODE, SLUG_SEPARATOR } from '../../config'; +import { extract_frontmatter, extract_metadata, langs, link_renderer } from './markdown.js'; +import { make_session_slug_processor } from './slug'; + +const block_types = [ + 'blockquote', + 'html', + 'heading', + 'hr', + 'list', + 'listitem', + 'paragraph', + 'table', + 'tablerow', + 'tablecell' +]; + +export default function generate_docs(dirpath, dir, lang) { + const make_slug = make_session_slug_processor({ + separator: SLUG_SEPARATOR, + preserve_unicode: SLUG_PRESERVE_UNICODE + }); + + console.log('using language: ' + lang); + + return fs + .readdirSync(`${dirpath}${dir}`) + .filter((file) => { + return file[0] !== '.' && path.extname(file) === '.md' && file.endsWith(`.${lang}.md`); + }) + .map((file) => { + const markdown = fs.readFileSync(`${dirpath}${dir}/${file}`, 'utf-8'); + const { content, metadata } = extract_frontmatter(markdown); + const section_slug = make_slug(metadata.title); + const subsections = []; + + const renderer = new marked.Renderer(); + + let block_open = false; + + renderer.link = link_renderer; + + renderer.hr = (str) => { + block_open = true; + + return '
'; + }; + + // renderer.list = (src) => { + // console.log(src); + // }; + + renderer.code = (source, lang) => { + source = source.replace(/^ +/gm, (match) => match.split(' ').join('\t')); + + const lines = source.split('\n'); + + const meta = extract_metadata(lines[0], lang); + + let prefix = ''; + // let class_name = 'code-block'; + let class_name = ''; + + if (meta) { + source = lines.slice(1).join('\n'); + const filename = meta.filename || (lang === 'html' && 'App.svelte'); + if (filename) { + prefix = `${prefix} ${filename}`; + class_name += ' named'; + } + } + + if (meta && meta.hidden) { + return ''; + } + + const plang = langs[lang]; + const { value: highlighted } = hljs.highlight(lang, source); + + const html = `
${prefix}
${highlighted}
`; + + if (block_open) { + block_open = false; + return `
${html}
`; + } + + return html; + }; + + // const slugger = new marked.Slugger(); + renderer.heading = (text, level, rawtext) => { + const slug = level <= 4 && make_slug(rawtext); + + if (level === 3 || level === 4) { + const title = text.replace(/<\/?code>/g, '').replace(/\.(\w+)(\((.+)?\))?/, (m, $1, $2, $3) => { + if ($3) return `.${$1}(...)`; + if ($2) return `.${$1}()`; + return `.${$1}`; + }); + + subsections.push({ slug, title, level }); + } + + return ` + + 4 ? 'data-scrollignore' : ''}> + + ${text} + `; + }; + + block_types.forEach((type) => { + const fn = renderer[type]; + renderer[type] = function () { + return fn.apply(this, arguments); + }; + }); + + const html = marked(content, { renderer }); + const hashes = {}; + + return { + html: html.replace(/@@(\d+)/g, (m, id) => hashes[id] || m), + metadata, + subsections, + slug: section_slug, + file + }; + }); +} diff --git a/site/src/utils/language_extractor.js b/site/src/utils/language_extractor.js new file mode 100644 index 0000000000..c561ff02fd --- /dev/null +++ b/site/src/utils/language_extractor.js @@ -0,0 +1,21 @@ +import fs from 'fs'; +import path from 'path'; + +export default function extract_languages(dirpath, dir) { + + const detectedLocales = fs.readdirSync(`${dirpath}${dir}`) + .filter(file => path.extname(file) == '.md') + .map((file) => { + file = file.replace(path.extname(file), ''); + const arr = file.split('.'); + const locale = arr.length ? arr[arr.length - 1] : null; + if (locale) { + return locale; + } + }).filter(locale => locale !== null); + + const redDetectedLocales = [...new Set(detectedLocales)]; + + console.log('detected locales: ' + redDetectedLocales); + return redDetectedLocales; +} diff --git a/site/src/utils/markdown.js b/site/src/utils/markdown.js new file mode 100644 index 0000000000..e03c790f54 --- /dev/null +++ b/site/src/utils/markdown.js @@ -0,0 +1,61 @@ +import * as fleece from 'golden-fleece'; + +export function extract_frontmatter(markdown) { + const match = /---\r?\n([\s\S]+?)\r?\n---/.exec(markdown); + const frontMatter = match[1]; + const content = markdown.slice(match[0].length); + + const metadata = {}; + frontMatter.split('\n').forEach((pair) => { + const colonIndex = pair.indexOf(':'); + metadata[pair.slice(0, colonIndex).trim()] = pair.slice(colonIndex + 1).trim(); + }); + + return { metadata, content }; +} + +export function extract_metadata(line, lang) { + try { + if (lang === 'html' && line.startsWith('')) { + console.log(line); + return fleece.evaluate(line.slice(4, -3).trim()); + } + + if (lang === 'codeblock' && line.startsWith('')) { + console.log(line); + return fleece.evaluate(line.slice(4, -3).trim()); + } + + if (lang === 'js' || (lang === 'json' && line.startsWith('/*') && line.endsWith('*/'))) { + return fleece.evaluate(line.slice(2, -2).trim()); + } + } catch (err) { + // TODO report these errors, don't just squelch them + return null; + } +} + +// map lang to language-attributes +export const langs = { + bash: 'bash', + html: 'markup', + sv: 'markup', + js: 'javascript', + css: 'css' +}; + +// links renderer +export function link_renderer(href, title, text) { + let target_attr = ''; + let title_attr = ''; + + if (href.startsWith('http')) { + target_attr = ' target="_blank"'; + } + + if (title !== null) { + title_attr = ` title="${title}"`; + } + + return `${text}`; +} diff --git a/site/src/utils/slug.js b/site/src/utils/slug.js new file mode 100644 index 0000000000..e68511b4a3 --- /dev/null +++ b/site/src/utils/slug.js @@ -0,0 +1,84 @@ +import slugify from '@sindresorhus/slugify'; + +export const SLUG_PRESERVE_UNICODE = false; +export const SLUG_SEPARATOR = '_'; + +/* url-safe processor */ + +export const urlsafeSlugProcessor = (string, opts) => { + const { separator = SLUG_SEPARATOR } = opts || {}; + + return slugify(string, { + customReplacements: [ + // runs before any other transformations + ['$', 'DOLLAR'], // `$destroy` & co + ['-', 'DASH'] // conflicts with `separator` + ], + separator, + decamelize: false, + lowercase: false + }) + .replace(/DOLLAR/g, '$') + .replace(/DASH/g, '-'); +}; + +/* unicode-preserver processor */ + +const alphaNumRegex = /[a-zA-Z0-9]/; +const unicodeRegex = /\p{Letter}/u; +const isNonAlphaNumUnicode = (string) => !alphaNumRegex.test(string) && unicodeRegex.test(string); + +export const unicodeSafeProcessor = (string, opts) => { + const { separator = SLUG_SEPARATOR } = opts || {}; + + return string + .split('') + .reduce( + (accum, char, index, array) => { + const type = isNonAlphaNumUnicode(char) ? 'pass' : 'process'; + + if (index === 0) { + accum.current = { type, string: char }; + } else if (type === accum.current.type) { + accum.current.string += char; + } else { + accum.chunks.push(accum.current); + accum.current = { type, string: char }; + } + + if (index === array.length - 1) { + accum.chunks.push(accum.current); + } + + return accum; + }, + { chunks: [], current: { type: '', string: '' } } + ) + .chunks.reduce((accum, chunk) => { + const processed = chunk.type === 'process' ? urlsafeSlugProcessor(chunk.string) : chunk.string; + + processed.length > 0 && accum.push(processed); + + return accum; + }, []) + .join(separator); +}; + +/* session processor */ + +export const make_session_slug_processor = ({ + preserve_unicode = SLUG_PRESERVE_UNICODE, + separator = SLUG_SEPARATOR +}) => { + const processor = preserve_unicode ? unicodeSafeProcessor : urlsafeSlugProcessor; + const seen = new Set(); + + return (string) => { + const slug = processor(string, { separator }); + + if (seen.has(slug)) throw new Error(`Duplicate slug ${slug}`); + seen.add(slug); + + return slug; + }; +}; diff --git a/site/static/base.css b/site/static/base.css new file mode 100644 index 0000000000..c2d96e8412 --- /dev/null +++ b/site/static/base.css @@ -0,0 +1,557 @@ +/* +----------------------------------------------- + vars – css custom-properties + + NOTE + - some vars change inside media-queries! + - under normal conditions, there's no need to touch these +----------------------------------------------- +*/ +:root { + --nav-h: 6rem; + --top-offset: 6rem; + --sidebar-w: 30rem; + --sidebar-mid-w: 36rem; + --sidebar-large-w: 48rem; + --main-width: 80rem; + --side-nav: 3.2rem; + --side-page: var(--side-nav); + + /* easings */ + --out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275); +} + +@media screen and (min-width: 768px) { + :root { + --side-page: 14vw; + --top-offset: 10rem; + --side-nav: 4.8rem; + } +} + +/* theme vars */ +.theme-default { + --back: #212224; + --back-light: transparent; + --back-api: #212224; + --prime: #5282c1; + --second: #e91e63; + --flash: #72a2e0; + + --nav-back: #212224; + --side-nav-back: #212224; + + --heading: #e8eaed; + --text: #eff8ff; + --dark-text: #8795a1; + --sidebar-text: #eff8ff; + --border-w: .3rem; /* border-width */ + --border-r: .4rem; /* border-radius */ +} + +/* typo vars */ +.typo-default { + --code-fs: 1.3rem; + --h6: 1.4rem; + --h5: 1.6rem; + --h4: 1.8rem; /* default font-size */ + --h3: 2.6rem; + --h2: 3rem; + --h1: 3.2rem; + --linemax: 42em; /* max line-length */ + --lh: 1.5; /* base line-height */ +} + +body { + --font: 'Lato', -apple-system, BlinkMacSystemFont, sans-serif; + --font-mono: 'Lato', 'Fira Mono', monospace; +} + +/* fonts ---------------------------------- */ + +@font-face { + font-family: 'ailerons'; + src: local('ailerons'), url('../fonts/ailerons/ailerons.otf') format('opentype'); +} + +/* base reset ----------------------------- */ +html { + font-size: 62.5%; + -webkit-text-size-adjust: 100%; + -ms-overflow-style: -ms-autohiding-scrollbar; + box-sizing: border-box; + border-collapse: collapse; +} + +html, +body, +#sapper { + width: 100%; + height: 100%; +} + +* { + box-sizing: inherit; + margin: 0; + padding: 0; +} + +/* link reset ----------------------------- */ +a { + text-decoration: none; + cursor: pointer; + color: inherit; +} + +a:hover, +a:active { + color: var(--flash); +} +a:focus { + outline: none; +} + +/* +----------------------------------------------- + global styles +----------------------------------------------- +*/ + +/* typography ----------------------------- */ +body { + font: 300 var(--h4)/var(--lh) var(--font); + background-color: var(--back); + color: var(--text); + /* default spacing of Overpass is a bit too airy */ + /* letter-spacing: -.013em; */ +} + +h1, +h2, +h3, +h4, +h5, +h6, +blockquote { + position: relative; + margin: 0; + color: var(--heading); +} + +/* h1, h2, h3, h4, h5, h6 { font-weight: 600 } */ +h6 { + font-size: var(--h6); +} +h5 { + font-size: var(--h5); +} +h4 { + font-size: var(--h4); +} +h3 { + font-size: var(--h3); +} +h2 { + font-size: var(--h2); +} +h1 { + font-size: var(--h1); +} + +h1, +h2 { + font-family: var(--font); + line-height: 1.25; +} + +h3 { + font-weight: 300; +} + +p, +ol, +ul { + margin: 0 0 1em 0; +} + +.b, +b, +strong { + font-weight: 600; +} + +tt, +code, +kbd, +samp { + font: 400 var(--code-fs)/1.7 var(--font-mono); +} + +code { + position: relative; + border-radius: .3em; + white-space: nowrap; + color: var(--text); + -webkit-font-smoothing: initial; +} + +pre code { + top: 0; + white-space: inherit; + background-color: none; +} + +.CodeMirror { + font-size: var(--code-fs) !important; +} + +::selection { + background: var(--flash); + color: white; +} + +/* opinionated styles --------------------- */ + +li:not(.white) > h2 { + color: var(--second); +} + +blockquote { + position: relative; + margin: 1.6rem 0 2.4rem; + padding: 2rem 2.4rem 1.8rem 2.4rem; + border-radius: var(--border-r); + font-family: var(--font); + max-width: var(--linemax); +} + +blockquote p { + font-size: var(--h5); +} + +blockquote :last-child { + margin: 0; +} + +/* buttons -------------------------------- */ +button { + font-family: inherit; + font-size: inherit; + background-color: transparent; + border: none; + color: currentColor; + cursor: pointer; +} + +button:focus, +.btn:focus { + outline: 0; +} + +button[disabled], +.btn[disabled], +.btn:hover[disabled] { + opacity: .55; + pointer-events: none; +} + +button > svg, +.btn > svg { + position: relative; + top: -.1rem; + width: 2rem !important; + height: 2rem !important; + stroke: currentColor !important; +} + +/* reset ------- */ +.btn { + --btn-h: 4rem; + --btn-outline: .2rem; + --btn-font: var(--font); + --btn-calc-h: calc(var(--btn-h) - var(--btn-outline) * 2); + --btn-hover: linear-gradient(to top, rgba(0, 0, 0, .07), rgba(0, 0, 0, .07)); + + position: relative; + margin: 0 .8rem .8rem 0; + vertical-align: middle; + white-space: nowrap; + display: inline-block; + zoom: 1; + border: none transparent; + font: var(--h4) var(--btn-font); + border-radius: var(--border-r); + color: currentColor; + cursor: pointer; +} + +/* default */ +.btn { + line-height: var(--btn-h); + height: var(--btn-h); + padding: 0 1.6rem; + transition: all .1s; +} + +.btn:hover { + transform: scale(.98); + mix-blend-mode: multiply; + background-image: var(--btn-hover); +} + +/* optional */ +.btn[outline] { + line-height: var(--btn-calc-h); + height: var(--btn-calc-h); + border: var(--btn-outline) solid currentColor; + background-color: white; + color: currentColor; +} + +/* links ------------------------------------- */ +a { + position: relative; + padding: 0 0 1px 0; + border-bottom: 1px solid currentColor; + user-select: none; + color: var(--prime); + transition: color .2s, border .2s, padding .2s; +} + +a:hover { + color: var(--flash); +} + +a:hover { + padding: 0; + border-bottom: 2px solid currentColor; +} + +a.no-underline { + border-bottom: none; + padding: 0; +} + +/* a:hover:not(.disabled) > .icon { stroke: var(--flash) } */ + +/* lists ---------------------------------- */ +.listify ol, +.listify ul { + --list-padding: 2.9rem; + + list-style: none; + color: currentColor; + margin-left: var(--list-padding); +} + +.listify ol > li, +.listify ul > li { + max-width: calc(var(--linemax) - var(--list-padding)); + line-height: 1.5; + margin: 0 0 0.4rem 0; +} + +.listify ul > li:before { + content: ''; + position: absolute; + margin-top: 1.1rem; + margin-left: -1.8rem; + background-color: var(--second); + width: .6rem; + height: .6rem; + border-radius: 2px; + opacity: 0.7; +} + +.listify ol { + list-style: decimal; +} + +/* tables --------------------------------- */ +table { + width: 100%; + font-size: var(--h5); +} + +td, +th { + text-align: left; + border-bottom: 1px solid #eee; + padding: 0.4rem 0.8rem 0.4rem 0; +} + +td[align='right'] { + text-align: right !important; +} + +th[align='right'] { + text-align: right !important; +} + +td[align='left'] { + text-align: left !important; +} + +th[align='left'] { + text-align: left !important; +} + +table code, +table span { + white-space: pre; +} + +/* grid ----------------------------------- */ +.grid, +.grid.half { + display: grid; + grid-gap: 2.4rem; + grid-template-columns: 1fr; + align-items: center; +} + +.grid.stretch { + align-items: stretch; +} + +.grid > .cols-2, +.grid > .cols-3 { + grid-column: span 1; +} + +@media screen and (min-width: 840px) { + .grid.half, + .grid { + grid-template-columns: repeat(2, 1fr); + } + .grid > .cols-2, + .grid > .cols-3 { + grid-column: span 2; + } +} + +@media screen and (min-width: 1100px) { + .grid { + grid-template-columns: repeat(3, 1fr); + } + .grid > .cols-2 { + grid-column: span 2; + } + .grid > .cols-3 { + grid-column: span 3; + } +} + +/* helper styles -------------------------- */ +.flex-auto { + flex: 1 0 auto; +} + +.py0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.legend, +figcaption, +.post aside { + max-width: none; + margin: 0 auto; + padding: 1.6rem 0 0 .8rem; + font: 1.2rem/1.6 var(--font-mono); +} + +.filename { + display: inline-block; + padding: 1.6rem 0 0 1rem; + font: var(--h6) var(--font-mono); +} + +.box { + padding: 2.4rem 3.2rem; + border-radius: var(--border-r); +} + +/* theme colors --------------------------- */ +.prime { + color: var(--prime) !important; +} +.second { + color: var(--second) !important; +} +.flash { + color: var(--flash) !important; +} +.black { + color: black !important; +} +.white { + color: white !important; +} + +.back { + background-color: var(--back) !important; +} +.back-light { + background-color: var(--back-light) !important; +} +.bg-prime { + background-color: var(--prime) !important; +} +.bg-second { + background-color: var(--second) !important; +} +.bg-flash { + background-color: var(--flash) !important; +} + +/* inputs --------------------------------- */ +input[type="checkbox"] { + /* display: block; */ + position: relative; + height: 1em; + width: calc(100% - 0.6em); + max-width: 2em; + top: -2px; + border-radius: 0.5em; + -webkit-appearance: none; + outline: none; + margin: 0 0.6em 0 0; +} + +input[type="checkbox"]::before { + content: ""; + position: absolute; + display: block; + height: 100%; + width: 100%; + padding: 2px; + border-radius: 1em; + top: 0; + left: 0; + background: var(--second); + /* box-sizing: border-box; */ + box-sizing: content-box; +} + +input[type="checkbox"]:checked::before { + background: var(--prime); +} + +input[type="checkbox"]::after { + content: ""; + position: absolute; + display: block; + height: 1em; + width: 1em; + top: 2px; + left: 2px; + border-radius: 1em; + background: white; + box-shadow: 0 0px 1px rgba(0, 0, 0, .4), 0 4px 2px rgba(0, 0, 0, .1); + -webkit-transition: background .2s ease-out, left .2s ease-out; +} + +input[type="checkbox"]:checked::after { + left: calc(100% - 9px); +} diff --git a/site/static/fonts/ailerons/ailerons.otf b/site/static/fonts/ailerons/ailerons.otf new file mode 100644 index 0000000000000000000000000000000000000000..8a18b632c655a55fb5e9aed5da5110a6bb30a31f GIT binary patch literal 10676 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%0Ajp=!UCwJi3SXpBgoJ@I{DYaNvAZ_8L+h7?+ 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 O6y7R}gQBj@I4BA`2c0zl literal 0 HcmV?d00001 diff --git a/site/static/fonts/roboto/roboto-latin-400italic.woff2 b/site/static/fonts/roboto/roboto-latin-400italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3791c883e8d0e8d3d5331b60584cf3869276cd43 GIT binary patch literal 16944 zcmV(}K+wN;Pew8T0RR91075VT5&!@I0FZP5071(D0RR9100000000000000000000 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 HBnkikn^Nxw literal 0 HcmV?d00001 diff --git a/site/static/fonts/roboto/roboto-latin-500.woff2 b/site/static/fonts/roboto/roboto-latin-500.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..8dceabcf6bdfdb0f09be31878c1ebfdd0be943ff GIT binary patch literal 15552 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 literal 0 HcmV?d00001 diff --git a/site/static/icons/favicon-16x16.png b/site/static/icons/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..470dc2b05a9ede963836c3fa76a406b419d451d2 GIT binary patch literal 1211 zcmZ`%c}&|?9Dl4p$1zYbK?syOCWo_F&aq|^ifw5N1=>~EhC-n&$2i7Vfw3$Igb>+u zvq9q|Y*N@JqTz4{vY7(ma$KQPagd2lDFcFx0W0)+Uw^>Z<{y5O_dP!EeZI$guPQDk za+j^EEkbA)kINDf_N9%rlSF7An&UyjSf(=tOoZCb+nG|Vh?pwniUbIq@4T}9Q6FT6<~~4 zR#tR6-S!^9kAH3X?d|PjV`EQoy#XedXXoeE*Vi|YnK^i{GCiYxP8=GBHKWOFQmfTZ zDVxSU-dm z0yvTY2`8X929jeT=Oq4Y6ekbjw>9|9X&7mS6G4#11*r_A<(ONAgKMyF3#Rm9#|iAQ z2-k|Bz#Fo{Az2KfbYP#x3?<&zgxUQ#?EzFjfs0{K><+m^k{CFe4<)rw*9SG;P%D78 zv#_cq#$-cY-pRs-9B06ahwZz~#unO~ zL4VUa*?gzbm|gR+Ta(drW(3!dnXoE!iTFIY!Nsz1Z6e*{H>37e8F$tE&ww()>+#(> zxqnq8se^RqJW<0UH7b&20Xt|@L_k*X1Z?s&$<@Ky?ReMheF9qIv6$l5ewIok5?P8| zDwBmHPN74LABU4mNou5fdUT?%>ppG$sPRH5w?fI=?aveOk9h58$2(lE6ehhMO#49S z>lwH=(dBZ5kR9y3FIMnQC-vL7cdM0UN@3LP#vfRb?bpA1KlUq^J(4)#;rDVfWZ9`l z`*+;!mM0xdOi%I6k>^P5u3s$EjH=ZtO?TTj9any}nWb2B#&7D*jW#b{no?t%QNL#U z+(jpE!KHwL$yJxY^by_CYU+~i%fO;3la-yb-k>L2x;_qAvZ5t@9~8PL=&b|g$69ivOR`HLY+X2nnaehZLfeB5Gd#v9!!=IaN`d zC#PoSDWnLUto?i0e&_LcAD_Y4p<$j@gh-xteo{LpPp7ErS4mD(R%uX=jO2MuOdY!S l%TK+-y>7kap;B%g-w(|@zpPk}2>zTXfq3i~R&#`;{9oY$oQ(hg literal 0 HcmV?d00001 diff --git a/site/static/icons/favicon-32x32.png b/site/static/icons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..52826bab23552c3bf4f00b2e1212793ed4f87086 GIT binary patch literal 1900 zcmZ`)c{G%b7k+16hRoP0>)2+HZN^fhY?Eci8j(rV*i(ID8)7Ik4i!n^leJ7yjy03A zWq9pnNfR+CjHN8)$frepFTa%tS&zAXN7}_fp73P?yHa;?Y$efCy%!NlD`S$Q9zOS>;y~UWp3ylNV z)jGsodt5_yOvN=5z_WdI6=@Y=q|RGrI;4(uebiA>Cgui_?vVQ|SF=e8#@e%mO#cvnY2nBGdiWrAMXz38!x=DDd_h6ntNp`6%EhOCZ)qN4F+ z+{O{f(M{1*##p7tySI(u!ZZNqOF81qs%3qLn)s1mn0TSx<#<-CKwKshio>txVZS*{blK>f#~JcRXzEcPP8xc z62r+_(j}IUC_L`S(h`Y#14M$IRW&sW%iQvi#*^K6dl^qTX(5=Em6c_}7Z&Vd#^I%V zM&t;oI*^`0X!&i;GqG49UpB9YB?W3(AfnJ)@(sJM?j2RF|Fk+@bv!FOJJ-E(Wo_*P zj~zV0sNWNKGkx{rlBpO z7%yIs9*jjODJdD`I~!s#onTtNDc_oDvU^5owRI=b*fcC*|Fyxz$SUT?Qdl#yYq7`% zc9r>PDW-LFF{ZV6@uJ$+-Y-_Hme)XaEzD)xoGM|5FY`{R0+VaYVdttzP&k9ikA)@~ zXmy|O9dgm@&EA;SYGGvtdONh`kZ86Vcr^naVdopWGPA^(h262W;y0*t72D#+U2k?xpJ(rSO36kiZ;|~jL>f%LBVh{l2$$Va!_JZN6x~$r z-^L|&DX0*e;SB1J978|NIUnK}ay%xSY>=f)wbbS#qRpRB8LkKXIoKIBr*(Je)sbWc z#jyzTpzW=6UC;;SuUDM?AjD=cGvH+=W>B7p{oNx{V2k9pNokLbA_HSoI(AIAC|zbB zZ0Cv;UX2n4g@tXUQra#Pf?j;B*7=w8G+_p<;dwgk281*i=~){xKAQ+@({RmJ{MqhV z*z+E!)ZQ^#_o4?;>>jdF!~-8L@cID!YJo?2pRTKI%QT|JNeP-kxwKKb*= zxTa>x^eM^`BG?6CV#LTjnWHnK90@PTD0oe16|S?@NhcL1=qq-HD!wz}rzRc?080*L zeq3uPSAEAtjC^x+Q<|U91Jqow-r_CZtOkc{AJhVCG{%hHPt?|)A`%L7M}D6v=B z9U4a6yn$UnixeLTUx$~oFM336yNiy)a2kD($YoT?4_j)9r_a>>VQfc!a=U%9kt%di2yMUN;zUb)=E88`RkWv#=wPB4EG(*rnQ%;Gq;FW@kDvvtrZ6$ZNn@G_5U zr5+&x+bQr9{V6c5>Qf!{)y}P!`SiFWJp9<;{P{5i!>F1!I$n$rg;TkRF8^@42!rBs!mIc3RRDY zq6Gs$Lg~UkDADK>y1IiNL&KyGUI3_tGzvz_YRS6f$$_%!_6)P05KybpTYZQ({=9d% hSEW~Eh(TmI8v(2Pq-p;U4&)0W0Fr~deLaDa`XA6#PiFuC literal 0 HcmV?d00001 diff --git a/site/static/icons/favicon.ico b/site/static/icons/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b488a5d3414211140f1678639884627ccc67ce9e GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/site/static/icons/mstile-150x150.png b/site/static/icons/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..1ac784f7f340d383c628d2253617541dedaea051 GIT binary patch literal 8870 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 BH}C)e literal 0 HcmV?d00001 diff --git a/site/static/icons/safari-pinned-tab.svg b/site/static/icons/safari-pinned-tab.svg new file mode 100644 index 0000000000..f18ee511b3 --- /dev/null +++ b/site/static/icons/safari-pinned-tab.svg @@ -0,0 +1,47 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + diff --git a/site/static/logos/zitadel-logo-oneline-darkdesign.svg b/site/static/logos/zitadel-logo-oneline-darkdesign.svg new file mode 100644 index 0000000000..714bade8b3 --- /dev/null +++ b/site/static/logos/zitadel-logo-oneline-darkdesign.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/site/static/logos/zitadel-logo-solo-darkdesign.svg b/site/static/logos/zitadel-logo-solo-darkdesign.svg new file mode 100644 index 0000000000..df44ec5398 --- /dev/null +++ b/site/static/logos/zitadel-logo-solo-darkdesign.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/site/static/manifest.json b/site/static/manifest.json new file mode 100644 index 0000000000..d784476a33 --- /dev/null +++ b/site/static/manifest.json @@ -0,0 +1,21 @@ +{ + "background_color": "#212224", + "theme_color": "#e91e63", + "name": "Zitadel Docs", + "lang": "en", + "short_name": "Zitadel Docs", + "display": "minimal-ui", + "start_url": "/", + "icons": [ + { + "src": "icons/android-chrome-256x256.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + } + ] +} diff --git a/site/static/prism.css b/site/static/prism.css new file mode 100644 index 0000000000..da565ba5fb --- /dev/null +++ b/site/static/prism.css @@ -0,0 +1,216 @@ +pre[class*="language-"], +code[class*="language-"] { + color: #d4d4d4; + font-size: 13px; + text-shadow: none; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + line-height: 1.5; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::selection, +code[class*="language-"]::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + pre[class*="language-"], + code[class*="language-"] { + text-shadow: none; + } +} + +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + background: #2d2e30; +} + +:not(pre) > code[class*="language-"] { + padding: .1em .3em; + border-radius: .3em; + color: #db4c69; + background: #f9f2f4; +} +/********************************************************* +* Tokens +*/ +.namespace { + opacity: .7; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6a9955; +} + +.token.punctuation { + color: #d4d4d4; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #b5cea8; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #ce9178; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #d4d4d4; + background: #001F40; +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #c586c0; +} + +.token.function { + color: #dcdcaa; +} + +.token.regex, +.token.important, +.token.variable { + color: #d16969; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.constant { + color: #9CDCFE; +} + +.token.class-name { + color: #4EC9B0; +} + +.token.parameter { + color: #9CDCFE; +} + +.token.interpolation { + color: #9CDCFE; +} + +.token.punctuation.interpolation-punctuation { + color: #569cd6; +} + +.token.boolean { + color: #569cd6; +} + +.token.property { + color: #9cdcfe; +} + +.token.selector { + color: #d7ba7d; +} + +.token.tag { + color: #569cd6; +} + +.token.attr-name { + color: #9cdcfe; +} + +.token.attr-value { + color: #ce9178; +} + +.token.entity { + color: #4ec9b0; + cursor: unset; +} + +.token.namespace { + color: #4ec9b0; +} +/********************************************************* +* Language Specific +*/ +pre[class*="language-javascript"], +code[class*="language-javascript"] { + color: #4ec9b0; +} + +pre[class*="language-css"], +code[class*="language-css"] { + color: #CE9178; +} + +pre[class*="language-html"], +code[class*="language-html"] { + color: #d4d4d4; +} + +.language-html .token.punctuation { + color: #808080; +} +/********************************************************* +* Line highlighting +*/ +pre[data-line] { + position: relative; +} + +pre[class*="language-"] > code[class*="language-"] { + position: relative; + z-index: 1; +} + +.line-highlight { + position: absolute; + left: 0; + right: 0; + padding: inherit 0; + margin-top: 1em; + background: #f7ebc6; + box-shadow: inset 5px 0 0 #f7d87c; + z-index: 0; + pointer-events: none; + line-height: inherit; + white-space: pre; +} \ No newline at end of file