From 619e6ee2297210b74fc56b8e01ba8d41409bbdd8 Mon Sep 17 00:00:00 2001 From: Martin Donnelly Date: Fri, 13 May 2022 15:44:30 +0100 Subject: [PATCH] init --- .eslintrc.json | 67 + .gitignore | 4 + Docker/Dockerfile | 18 + Docker/ecosystem.config.json | 22 + Docker/start.sh | 4 + Makefile | 34 + README.md | 93 + copy.sh | 4 + orig.eslintrc.json | 25 + package-lock.json | 4182 ++++++++++++++++++++++++++++++++ package.json | 39 + public/build/bundle.css | 1 + public/build/bundle.css.map | 20 + public/build/bundle.js | 2 + public/build/bundle.js.map | 1 + public/favicon.png | Bin 0 -> 32224 bytes public/gfx/bin.svg | 6 + public/gfx/popout.png | Bin 0 -> 111 bytes public/global.css | 1967 +++++++++++++++ public/index.html | 21 + public/stuff/bell.mp3 | Bin 0 -> 28170 bytes rollup.config.js | 81 + src/App.svelte | 396 +++ src/components/Bins.svelte | 71 + src/components/Bitcoin.svelte | 140 ++ src/components/Events.svelte | 54 + src/components/Fx.svelte | 59 + src/components/Header.svelte | 5 + src/components/Panel.svelte | 3 + src/components/Password.svelte | 78 + src/components/Revealer.svelte | 40 + src/components/Route.svelte | 156 ++ src/components/Timer.svelte | 120 + src/components/Train.svelte | 65 + src/components/Weather.svelte | 193 ++ src/components/store.js | 6 + src/main.js | 13 + 37 files changed, 7990 insertions(+) create mode 100755 .eslintrc.json create mode 100755 .gitignore create mode 100644 Docker/Dockerfile create mode 100644 Docker/ecosystem.config.json create mode 100755 Docker/start.sh create mode 100644 Makefile create mode 100755 README.md create mode 100755 copy.sh create mode 100755 orig.eslintrc.json create mode 100755 package-lock.json create mode 100755 package.json create mode 100755 public/build/bundle.css create mode 100755 public/build/bundle.css.map create mode 100755 public/build/bundle.js create mode 100755 public/build/bundle.js.map create mode 100755 public/favicon.png create mode 100644 public/gfx/bin.svg create mode 100755 public/gfx/popout.png create mode 100755 public/global.css create mode 100755 public/index.html create mode 100755 public/stuff/bell.mp3 create mode 100755 rollup.config.js create mode 100755 src/App.svelte create mode 100644 src/components/Bins.svelte create mode 100755 src/components/Bitcoin.svelte create mode 100755 src/components/Events.svelte create mode 100755 src/components/Fx.svelte create mode 100755 src/components/Header.svelte create mode 100755 src/components/Panel.svelte create mode 100755 src/components/Password.svelte create mode 100755 src/components/Revealer.svelte create mode 100755 src/components/Route.svelte create mode 100755 src/components/Timer.svelte create mode 100755 src/components/Train.svelte create mode 100755 src/components/Weather.svelte create mode 100755 src/components/store.js create mode 100755 src/main.js diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100755 index 0000000..970895e --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,67 @@ +{ + "parserOptions": { + "ecmaVersion": 2019, + "sourceType": "module" + }, + "env": { + "es6": true, + "browser": true, + "node": true + }, + "extends": [ + "eslint:recommended" + ], + "plugins": [ + "svelte3" + ], + "ignorePatterns": [ + "public/build/" + ], + "overrides": [ + { + "files": ["**/*.svelte"], + "processor": "svelte3/svelte3" + } + ], + "rules": { + "arrow-spacing": "error", + "block-scoped-var": "error", + "block-spacing": "error", + "brace-style": ["error", "stroustrup", {}], + "camelcase": "error", + "comma-dangle": ["error", "never"], + "comma-spacing": ["error", { "before": false, "after": true }], + "comma-style": [1, "last"], + "consistent-this": [1, "_this"], + "curly": [1, "multi"], + "eol-last": 1, + "eqeqeq": 1, + "func-names": 1, + "indent": ["error", 2, { "SwitchCase": 1 }], + "lines-around-comment": ["error", { "beforeBlockComment": true, "allowArrayStart": true }], + "max-len": [1, 240, 2], // 2 spaces per tab, max 80 chars per line + "new-cap": 1, + "newline-before-return": "error", + "no-array-constructor": 1, + "no-inner-declarations": [1, "both"], + "no-mixed-spaces-and-tabs": 1, + "no-multi-spaces": 2, + "no-new-object": 1, + "no-shadow-restricted-names": 1, + "object-curly-spacing": ["error", "always"], + "padded-blocks": ["error", { "blocks": "never", "switches": "always" }], + "prefer-const": "error", + "prefer-template": "error", + "one-var": 0, + "quote-props": ["error", "always"], + "quotes": [1, "single"], + "radix": 1, + "semi": [1, "always"], + "space-before-blocks": [1, "always"], + "space-infix-ops": 1, + "vars-on-top": 1, + "no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 1 }], + "spaced-comment": ["error", "always", { "markers": ["/"] }] + } + +} diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..3fdf3e1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/node_modules/ +# /public/build/ + +.DS_Store diff --git a/Docker/Dockerfile b/Docker/Dockerfile new file mode 100644 index 0000000..f7219cc --- /dev/null +++ b/Docker/Dockerfile @@ -0,0 +1,18 @@ +# FROM node:current-slim +FROM node:current-alpine +ARG VERSION +ENV VERSION ${VERSION:-development} + +WORKDIR /app + +COPY ./start.sh ../package*.json ./ecosystem.config.json /app/ + +COPY ./public/ /app/public + +RUN npm install pm2 -g && npm install + +# RUN ls -lh . + +RUN chmod +x /app/start.sh + +ENTRYPOINT ["/app/start.sh"] diff --git a/Docker/ecosystem.config.json b/Docker/ecosystem.config.json new file mode 100644 index 0000000..4972fab --- /dev/null +++ b/Docker/ecosystem.config.json @@ -0,0 +1,22 @@ +[ + { + "name": "Predictor", + "script": "app/predict.js", + "env": { + "NODE_ENV": "production" + }, + "autorestart": false, + "instances": 1, + "cron_restart": "10 15 * * 2,5" + }, + { + "name": "Retriever", + "script": "app/retriever.js", + "env": { + "NODE_ENV": "production" + }, + "autorestart": false, + "instances": 1, + "cron_restart": "45 9 * * 3,6" + } +] diff --git a/Docker/start.sh b/Docker/start.sh new file mode 100755 index 0000000..035ef8d --- /dev/null +++ b/Docker/start.sh @@ -0,0 +1,4 @@ +#!/bin/sh +set -ex + +pm2-runtime start ecosystem.config.json --raw --env production diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..2ab0702 --- /dev/null +++ b/Makefile @@ -0,0 +1,34 @@ +PROJECT = slack +VERSION = $(shell git rev-parse --short HEAD) + +ECR_REPO = mail.caliban.io:5000 +#APP_IMAGE = 482681734622.dkr.ecr.eu-west-1.amazonaws.com/$(PROJECT):$(VERSION) +APP_IMAGE = $(ECR_REPO)/$(PROJECT):$(VERSION) +NO_CACHE = true + + +#build docker image +build: + npm run build + docker build .Docker/. -t $(APP_IMAGE) --build-arg VERSION=$(VERSION) --no-cache=$(NO_CACHE) --compress +.PHONY: build + +#push docker image to registry +push: build + docker push $(APP_IMAGE) +.PHONY: push + +#push docker image to registry +run: build + docker run $(APP_IMAGE) +.PHONY: run +ver: + @echo '$(VERSION)' + #echo $ERSION +.PHONY: ver + +tar: + # docker build . -t $(APP_IMAGE) --build-arg VERSION=$(VERSION) --no-cache=$(NO_CACHE) + tar -C ./ -czvf ./archive.tar.gz 'package.json' 'ncas/' 'helpers/' -X *.js + +.PHONY: build diff --git a/README.md b/README.md new file mode 100755 index 0000000..234b074 --- /dev/null +++ b/README.md @@ -0,0 +1,93 @@ +*Looking for a shareable component template? Go here --> [sveltejs/component-template](https://github.com/sveltejs/component-template)* + +--- + +# svelte app + +This is a project template for [Svelte](https://svelte.dev) apps. It lives at https://github.com/sveltejs/template. + +To create a new project based on this template using [degit](https://github.com/Rich-Harris/degit): + +```bash +npx degit sveltejs/template svelte-app +cd svelte-app +``` + +*Note that you will need to have [Node.js](https://nodejs.org) installed.* + + +## Get started + +Install the dependencies... + +```bash +cd svelte-app +npm install +``` + +...then start [Rollup](https://rollupjs.org): + +```bash +npm run dev +``` + +Navigate to [localhost:5000](http://localhost:5000). You should see your app running. Edit a component file in `src`, save it, and reload the page to see your changes. + +By default, the server will only respond to requests from localhost. To allow connections from other computers, edit the `sirv` commands in package.json to include the option `--host 0.0.0.0`. + + +## Building and running in production mode + +To create an optimised version of the app: + +```bash +npm run build +``` + +You can run the newly built app with `npm run start`. This uses [sirv](https://github.com/lukeed/sirv), which is included in your package.json's `dependencies` so that the app will work when you deploy to platforms like [Heroku](https://heroku.com). + + +## Single-page app mode + +By default, sirv will only respond to requests that match files in `public`. This is to maximise compatibility with static fileservers, allowing you to deploy your app anywhere. + +If you're building a single-page app (SPA) with multiple routes, sirv needs to be able to respond to requests for *any* path. You can make it so by editing the `"start"` command in package.json: + +```js +"start": "sirv public --single" +``` + + +## Deploying to the web + +### With [now](https://zeit.co/now) + +Install `now` if you haven't already: + +```bash +npm install -g now +``` + +Then, from within your project folder: + +```bash +cd public +now deploy --name my-project +``` + +As an alternative, use the [Now desktop client](https://zeit.co/download) and simply drag the unzipped project folder to the taskbar icon. + +### With [surge](https://surge.sh/) + +Install `surge` if you haven't already: + +```bash +npm install -g surge +``` + +Then, from within your project folder: + +```bash +npm run build +surge public my-project.surge.sh +``` diff --git a/copy.sh b/copy.sh new file mode 100755 index 0000000..12b7d26 --- /dev/null +++ b/copy.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# rm -rf /home/martin/dev/silvrgit/dist/* +cp -r /home/martin/dev/Svelte/svelte-silvrtree/public/* /home/martin/dev/Server/silvrgit/dist diff --git a/orig.eslintrc.json b/orig.eslintrc.json new file mode 100755 index 0000000..929c897 --- /dev/null +++ b/orig.eslintrc.json @@ -0,0 +1,25 @@ +module.exports = { + parserOptions: { + ecmaVersion: 2019, + sourceType: 'module' + }, + env: { + es6: true, + browser: true + }, + plugins: [ + 'svelte3' + ], + overrides: [ + { + files: [ + '*.svelte' + ], + processor: 'svelte3/svelte3' + } + ], + rules: { + }, + settings: { + } +}; diff --git a/package-lock.json b/package-lock.json new file mode 100755 index 0000000..d1b29ce --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4182 @@ +{ + "name": "svelte-app", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "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" + }, + "dependencies": { + "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" + } + } + } + }, + "@eslint/eslintrc": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz", + "integrity": "sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + } + } + }, + "@polka/url": { + "version": "1.0.0-next.11", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.11.tgz", + "integrity": "sha512-3NsZsJIA/22P3QUyrEDNA2D133H4j224twJrdipXN38dpnIOzAbUDtOwkcJ5pXmn75w7LSQDjA4tO9dm1XlqlA==" + }, + "@rakh/svelte-revealer": { + "version": "file:../svelte-revealer", + "requires": { + "svelte": "^3.23.2" + }, + "dependencies": { + "@blakeembrey/deque": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@blakeembrey/deque/-/deque-1.0.5.tgz", + "integrity": "sha512-6xnwtvp9DY1EINIKdTfvfeAtCYw4OqBZJhtiqkT3ivjnEfa25VQ3TsKvaFfKm8MyGIEfE95qLe+bNEt3nB0Ylg==" + }, + "@blakeembrey/template": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@blakeembrey/template/-/template-1.0.0.tgz", + "integrity": "sha512-J6WGZqCLdRMHUkyRG6fBSIFJ0rL60/nsQNh5rQvsYZ5u0PsKw6XQcJcA3DWvd9cN3j/IQx5yB1fexhCafwwUUw==" + }, + "@types/estree": { + "version": "0.0.45", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", + "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==" + }, + "@types/node": { + "version": "14.0.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.14.tgz", + "integrity": "sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ==" + }, + "@types/resolve": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", + "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", + "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" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "apache-crypt": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.4.tgz", + "integrity": "sha512-Icze5ny5W5uv3xgMgl8U+iGmRCC0iIDrb2PVPuRBtL3Zy1Y5TMewXP1Vtc4r5X9eNNBEk7KYPu0Qby9m/PmcHg==", + "requires": { + "unix-crypt-td-js": "^1.1.4" + } + }, + "apache-md5": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.5.tgz", + "integrity": "sha512-sbLEIMQrkV7RkIruqTPXxeCMkAAycv4yzTkBzRgOR1BrR5UB7qZtupqxkersTJSf0HZ3sbaNRrNV80TnnM7cUw==" + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" + }, + "bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=" + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "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==" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "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" + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=" + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "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==" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "http-auth": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/http-auth/-/http-auth-3.1.3.tgz", + "integrity": "sha1-lFz63WZSHq+PfISRPTd9exXyTjE=", + "requires": { + "apache-crypt": "^1.1.2", + "apache-md5": "^1.0.6", + "bcryptjs": "^2.3.0", + "uuid": "^3.0.0" + } + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + } + } + }, + "http-parser-js": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", + "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==" + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "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==", + "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=" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "requires": { + "@types/estree": "*" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "live-server": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/live-server/-/live-server-1.2.1.tgz", + "integrity": "sha512-Yn2XCVjErTkqnM3FfTmM7/kWy3zP7+cEtC7x6u+wUzlQ+1UW3zEYbbyJrc0jNDwiMDZI0m4a0i3dxlGHVyXczw==", + "requires": { + "chokidar": "^2.0.4", + "colors": "^1.4.0", + "connect": "^3.6.6", + "cors": "^2.8.5", + "event-stream": "3.3.4", + "faye-websocket": "0.11.x", + "http-auth": "3.1.x", + "morgan": "^1.9.1", + "object-assign": "^4.1.1", + "opn": "^6.0.0", + "proxy-middleware": "^0.15.0", + "send": "^0.17.1", + "serve-index": "^1.9.1" + } + }, + "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==", + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "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" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "requires": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "nan": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "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==" + }, + "onchange": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/onchange/-/onchange-7.0.2.tgz", + "integrity": "sha512-pyJroR9gZKilbJtdGsuyxhFhwaeYSpYVle9hAORGJ5vQQH8n7QT+qWpncJTMEk9dlIXI9tOMjdJwbPaTSPTKFA==", + "requires": { + "@blakeembrey/deque": "^1.0.5", + "@blakeembrey/template": "^1.0.0", + "arg": "^4.1.3", + "chokidar": "^3.3.1", + "cross-spawn": "^7.0.1", + "ignore": "^5.1.4", + "tree-kill": "^1.2.2" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", + "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.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" + } + }, + "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==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "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==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "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==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "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==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "opn": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-6.0.0.tgz", + "integrity": "sha512-I9PKfIZC+e4RXZ/qr1RhgyCnGgYX0UEIlXgWnCOVACIvFgaC9rz6Won7xbdhoHrd8IIhV7YEpHjreNUNkqCGkQ==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "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=" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "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==" + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "requires": { + "through": "~2.3" + } + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "proxy-middleware": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz", + "integrity": "sha1-o/3xvvtzD5UZZYcqwvYHTGFHelY=" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "require-relative": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", + "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=" + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "rollup": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.18.1.tgz", + "integrity": "sha512-w4X77ADA+WTGlapC8Z6yggdJtODw3SBl6R2LSkA7ZW5MtdkgcB7sfaSD1UWyx8diXbMcGIb0eI9gCx/dyqOgNQ==" + }, + "rollup-plugin-commonjs": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz", + "integrity": "sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==", + "requires": { + "estree-walker": "^0.6.1", + "is-reference": "^1.1.2", + "magic-string": "^0.25.2", + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" + } + }, + "rollup-plugin-node-resolve": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", + "requires": { + "@types/resolve": "0.0.8", + "builtin-modules": "^3.1.0", + "is-module": "^1.0.0", + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" + } + }, + "rollup-plugin-svelte": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-5.2.3.tgz", + "integrity": "sha512-513vOht9A93OV7fvmpIq8mD1JFgTZ5LidmpULKM2Od9P1l8oI5KwvO32fwCnASuVJS1EkRfvCnS7vKQ8DF4srg==", + "requires": { + "require-relative": "^0.8.7", + "rollup-pluginutils": "^2.8.2", + "sourcemap-codec": "^1.4.8" + } + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "requires": { + "estree-walker": "^0.6.1" + } + }, + "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==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + } + } + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "requires": { + "through": "2" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "requires": { + "duplexer": "~0.1.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "svelte": { + "version": "3.23.2", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.23.2.tgz", + "integrity": "sha512-hE8GeTM83YVR4GY6/6PeDEcGct4JS5aCi+IYbCAa76oaPSfuF7L85DQYULQxlTK/KPWzw3L1GRGmC3oPG/PQoA==" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unix-crypt-td-js": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz", + "integrity": "sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "@rollup/plugin-commonjs": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-17.0.0.tgz", + "integrity": "sha512-/omBIJG1nHQc+bgkYDuLpb/V08QyutP9amOrJRUSlYJZP+b/68gM//D8sxJe3Yry2QnYIr3QjR3x4AlxJEN3GA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.1.0.tgz", + "integrity": "sha512-ouBBppRdWJKCllDXGzJ7ZIkYbaq+5TmyP0smt1vdJCFfoZhLi31vhpmjLhyo8lreHf4RoeSNllaWrvSqHpHRog==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@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" + }, + "dependencies": { + "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 + } + } + }, + "@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/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "@types/node": { + "version": "14.14.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", + "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", + "dev": true + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "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" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-includes": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.5" + } + }, + "array.prototype.flat": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "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 + }, + "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.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "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" + } + }, + "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.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "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.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "dependencies": { + "fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "dev": true, + "optional": 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 + }, + "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 + }, + "console-clear": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/console-clear/-/console-clear-1.1.1.tgz", + "integrity": "sha512-pMD+MVR538ipqkG5JXeOEbKWS5um1H4LUUccUQG68qpeqBYbzYy79Gh55jkd2TtPdRfUaLWdv6LPP//5Zt0aPQ==" + }, + "contains-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-1.0.0.tgz", + "integrity": "sha1-NFizMhhWA+ju0Y9RjUoQiIo6vJE=", + "dev": true, + "requires": { + "normalize-path": "^2.1.1", + "path-starts-with": "^1.0.0" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "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" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "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.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" + } + }, + "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 + }, + "eslint": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.26.0.tgz", + "integrity": "sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg==", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.1", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.21", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-module-utils": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz", + "integrity": "sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-es": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", + "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "dev": true, + "requires": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + } + }, + "eslint-plugin-import": { + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.2.tgz", + "integrity": "sha512-LmNoRptHBxOP+nb0PIKz1y6OSzCJlB+0g0IGS3XV4KaKk2q4szqQ6s6F1utVf5ZRkxk/QOTjdxe7v4VjS99Bsg==", + "dev": true, + "requires": { + "array-includes": "^3.1.3", + "array.prototype.flat": "^1.2.4", + "contains-path": "^1.0.0", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.1", + "find-up": "^2.0.0", + "has": "^1.0.3", + "is-core-module": "^2.4.0", + "minimatch": "^3.0.4", + "object.values": "^1.1.3", + "pkg-up": "^2.0.0", + "read-pkg-up": "^3.0.0", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.9.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + } + } + }, + "eslint-plugin-node": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", + "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", + "dev": true, + "requires": { + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-plugin-promise": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.1.0.tgz", + "integrity": "sha512-NGmI6BH5L12pl7ScQHbg7tvtk4wPxxj8yPHH47NvSmMtFneC077PSeY3huFj06ZWZvtbfxSPt3RuOQD5XcR4ng==", + "dev": true + }, + "eslint-plugin-standard": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-5.0.0.tgz", + "integrity": "sha512-eSIXPc9wBM4BrniMzJRBm2uoVuXz2EPa+NXPk2+itrVt+r5SbKFERx/IgrK/HmfjddyKVz2f+j+7gBRvu19xLg==", + "dev": true + }, + "eslint-plugin-svelte3": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte3/-/eslint-plugin-svelte3-3.2.0.tgz", + "integrity": "sha512-qdWB1QN21dEozsJFdR8XlEhMnsS6aKHjsXWuNmchYwxoet5I6QdCr1Xcq62++IzRBMCNCeH4waXqSOAdqrZzgA==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "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 + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fecha": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz", + "integrity": "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==" + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "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" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true + }, + "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 + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=" + }, + "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": "13.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.8.0.tgz", + "integrity": "sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + }, + "dependencies": { + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "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-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, + "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.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "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 + }, + "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-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", + "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-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", + "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-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "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-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "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-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", + "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.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" + } + }, + "is-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", + "dev": true + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "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.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "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.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "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 + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "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 + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.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.3.1", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-3.3.1.tgz", + "integrity": "sha512-CBu1gTEfzVhlOK1WASKAAJ9Qx1fHECTq0SUB67sfxwQssopTyvzqTlgl+c0h9pZ6V+Fzd2rc510ppuNusg9teQ==", + "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" + } + }, + "local-access": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/local-access/-/local-access-1.1.0.tgz", + "integrity": "sha512-XfegD5pyTAfb+GY6chk283Ox5z8WexG56OvM06RWLpAc/UHozO8X6xAxEkIitZOtsSMM1Yr3DkHgW5W+onLhCw==" + }, + "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.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "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==", + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "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.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==" + }, + "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 + }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + }, + "mri": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz", + "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==" + }, + "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 + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "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" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "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 + }, + "object-inspect": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", + "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", + "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.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.values": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", + "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "has": "^1.0.3" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "opts": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opts/-/opts-2.0.2.tgz", + "integrity": "sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==", + "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 + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.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": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "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-starts-with": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-starts-with/-/path-starts-with-1.0.0.tgz", + "integrity": "sha1-soJDAV6LE43lcmgqxS2kLmRq2E4=", + "dev": true, + "requires": { + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "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 + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "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" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz", + "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==", + "dev": true + }, + "prettier-plugin-svelte": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-2.3.0.tgz", + "integrity": "sha512-HTzXvSq7lWFuLsSaxYOUkGkVNCl3RrSjDCOgQjkBX5FQGmWjL8o3IFACSGhjPMMfWKADpapAr0zdbBWkND9mqw==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "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" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "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.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.38.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.38.0.tgz", + "integrity": "sha512-ay9zDiNitZK/LNE/EM2+v5CZ7drkB2xyDljvb1fQJCGnq43ZWRkhxN145oV8GmoW1YNi4sA/1Jdkr2LfawJoXw==", + "dev": true, + "requires": { + "fsevents": "~2.1.2" + } + }, + "rollup-plugin-css-only": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-css-only/-/rollup-plugin-css-only-3.1.0.tgz", + "integrity": "sha512-TYMOE5uoD76vpj+RTkQLzC9cQtbnJNktHPB507FzRWBVaofg7KhIqq1kGbcVOadARSozWF883Ho9KpSPKH8gqA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "4" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.0.tgz", + "integrity": "sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ==", + "dev": true, + "requires": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + } + } + } + }, + "rollup-plugin-livereload": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-livereload/-/rollup-plugin-livereload-2.0.0.tgz", + "integrity": "sha512-oC/8NqumGYuphkqrfszOHUUIwzKsaHBICw6QRwT5uD07gvePTS+HW+GFwu6f9K8W02CUuTvtIM9AWJrbj4wE1A==", + "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==", + "requires": { + "magic-string": "^0.25.2", + "rollup-pluginutils": "^2.6.0" + } + }, + "rollup-plugin-svelte": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-7.1.0.tgz", + "integrity": "sha512-vopCUq3G+25sKjwF5VilIbiY6KCuMNHP1PFvx2Vr3REBNMDllKHFZN2B9jwwC+MqNc3UPKkjXnceLPEjTjXGXg==", + "dev": true, + "requires": { + "require-relative": "^0.8.7", + "rollup-pluginutils": "^2.8.2" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + } + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "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==" + } + } + }, + "sade": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz", + "integrity": "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==", + "requires": { + "mri": "^1.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "semiver": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semiver/-/semiver-1.1.0.tgz", + "integrity": "sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==" + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "sirv": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.10.tgz", + "integrity": "sha512-H5EZCoZaggEUQy8ocKsF7WAToGuZhjJlLvM3XOef46CbdIgbNeQ1p32N1PCuCjkVYwrAVOSMacN6CXXgIzuspg==", + "requires": { + "@polka/url": "^1.0.0-next.9", + "mime": "^2.3.1", + "totalist": "^1.0.0" + } + }, + "sirv-cli": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/sirv-cli/-/sirv-cli-1.0.10.tgz", + "integrity": "sha512-8mLTRkvzpZXMyUZJ1whf84YHN/mm2r2+j5sU1ZYr5n2jA8VkFItNPk53oysOo+0QxBVp9aUjggkAsQp1d7L3OQ==", + "requires": { + "console-clear": "^1.1.0", + "get-port": "^3.2.0", + "kleur": "^3.0.0", + "local-access": "^1.0.1", + "sade": "^1.6.0", + "semiver": "^1.0.0", + "sirv": "^1.0.10", + "tinydate": "^1.0.0" + } + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "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==" + }, + "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.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "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.32.0", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.32.0.tgz", + "integrity": "sha512-+EA3qfKDG0uB16s7m1z9Nc1o01G7YC4eq1cnHOzCy+fKsvGAJrjhjBIM3zCW2eZUu639UbHQElaOPQWUjBN3Yw==", + "dev": true + }, + "table": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.4.0.tgz", + "integrity": "sha512-7QD2l6+KBSLwf+7MuYocbWvRPdOu63/trReTLu2KFwkgctnub1auoF+Y1WYcm09CTM7quuscrzqmASaLHC/K4Q==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "terser": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", + "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "tinydate": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tinydate/-/tinydate-1.3.0.tgz", + "integrity": "sha512-7cR8rLy2QhYHpsBDBVYnnWXm8uRTr38RoZakFSW7Bs7PzfMPNZthuMLkwqZv7MTu8lhQ91cOFYS5a7iFj2oR3w==" + }, + "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" + } + }, + "totalist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==" + }, + "tsconfig-paths": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "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" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "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" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100755 index 0000000..e0530eb --- /dev/null +++ b/package.json @@ -0,0 +1,39 @@ +{ + "name": "slack-docker", + "version": "1.0.0", + "scripts": { + "build": "rollup -c", + "dev": "rollup -c -w", + "start": "sirv public", + "lint": "eslint . --ext .js,.svelte --fix" + }, + "devDependencies": { + "@rollup/plugin-commonjs": "^17.0.0", + "@rollup/plugin-node-resolve": "^11.1.0", + "eslint": "^7.26.0", + "eslint-plugin-import": "^2.23.2", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^5.1.0", + "eslint-plugin-standard": "^5.0.0", + "eslint-plugin-svelte3": "^3.2.0", + "prettier": "^2.3.0", + "prettier-plugin-svelte": "^2.3.0", + "rollup": "^2.38.0", + "rollup-plugin-css-only": "^3.1.0", + "rollup-plugin-livereload": "^2.0.0", + "rollup-plugin-svelte": "^7.1.0", + "rollup-plugin-terser": "^7.0.2", + "svelte": "^3.32.0" + }, + "dependencies": { + "fecha": "^4.2.0", + "moment": "^2.29.1", + "rollup-plugin-replace": "^2.2.0", + "sirv-cli": "^1.0.10" + }, + "description": "Slack.. but in a Docker container", + "main": "rollup.config.js", + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/public/build/bundle.css b/public/build/bundle.css new file mode 100755 index 0000000..c50cac4 --- /dev/null +++ b/public/build/bundle.css @@ -0,0 +1 @@ +.timerContainer.svelte-1woqwo5.svelte-1woqwo5{border:1px solid #BDBDBD;background-color:#EEEEEE}.inner.svelte-1woqwo5.svelte-1woqwo5{display:flex;color:#333;flex-direction:column;align-items:center;justify-content:center}.timer-value.svelte-1woqwo5.svelte-1woqwo5{display:flex;color:#333;flex-direction:row;align-items:center;justify-content:center;font-size:24px;height:100%;width:100%}.timer-value.svelte-1woqwo5 small.svelte-1woqwo5{font-size:18px;margin-left:4px}.svelte-1dnn1u0{padding:3px}.up.svelte-1dnn1u0,.down.svelte-1dnn1u0{display:inline-block;background-size:contain;width:0.8em;height:0.8em}.up.svelte-1dnn1u0,.down.svelte-1dnn1u0{background-image:url("data:image/svg+xml,%3Csvg width='32' height='32' version='1.1' viewBox='0 0 8.4667 8.4667' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0.82549 1.3138h5.6797l1.136 2e-7 -3.4078 5.8215z' style='stroke-width:.035938;stroke:%23000'/%3E%3C/svg%3E%0A")}.up.svelte-1dnn1u0{background-image:url("data:image/svg+xml,%3Csvg width='32' height='32' version='1.1' viewBox='0 0 8.4667 8.4667' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1.3226 7.6324v-5.6797l2e-7 -1.136 5.8215 3.4078z' style='stroke-width:.035938;stroke:%23000'/%3E%3C/svg%3E%0A")} \ No newline at end of file diff --git a/public/build/bundle.css.map b/public/build/bundle.css.map new file mode 100755 index 0000000..a6bff1c --- /dev/null +++ b/public/build/bundle.css.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "bundle.css", + "sources": [ + "../../Revealer.svelte", + "../../Fx.svelte", + "../../Route.svelte", + "../../Timer.svelte", + "../../Weather.svelte" + ], + "sourcesContent": [ + "\n\n\n\n\n
\n No header was provided\n
\n{#if viewMode === 1}\n
\n \n
\n{/if}\n", + "\n\n\n\n{#if fxData.gpbe}\n\n £1 = ${parseFloat(fxData.gpbe.toFixed(2))} = { parseFloat(fxData.sekex.toFixed(2))} SEK\n\n\n{/if}\n\n\n", + "\n\n\n\n{#if visible}\n
\n
{routeData.fromName} TO {routeData.toName}
\n \n \n \n \n \n \n \n \n \n\n \n {#each services as item}\n \n\n \n \n {#if !item.isCancelled}\n \n \n {:else}\n \n {/if}\n \n {/each}\n \n
DestinationTimeStatusPlatform
{item.icon}{item.location} {@html item.via}{item.time}{item.status}{item.platform}❌ {item.cancelReason}
\n\n
\n{/if}\n\n", + "\n\n\n
\n \n Timer\n
\n
\n \n\n
\n
\n {minutes}mins\n {seconds}s\n
\n\n
\n
\n
\n\n", + "\n\n\n\n
\n\n {#if weatherData}\n {#each weatherData as item}\n
\n
\n
{item.day}
\n
{item.date}
\n
\n
\n
\n \n {item.tempHigh}° /\n {item.tempLow}°\n
\n
{item.summary}
\n
\n
\n
{item.tempMorn}°
\n
{item.tempDay}°
\n
{item.tempEve}°
\n
{item.tempNight}°
\n
\n
\n {/each}\n {/if}\n\n
\n" + ], + "names": [], + "mappings": "AAcI,eAAE,CAAC,AACC,OAAO,CAAE,GAAG,AAChB,CAAC,AACD,QAAQ,eAAC,CAAC,MAAM,CAAE,OAAO,AAAC,CAAC,AAC3B,kBAAG,CAAE,oBAAK,CAAC,AACP,QAAQ,YAAY,CACpB,eAAe,CAAE,OAAO,CACxB,MAAM,KAAK,CACX,OAAO,KAAK,AAChB,CAAC,AACD,kBAAG,CAAE,oBAAK,CAAC,AACP,gBAAgB,CAAE,IAAI,2PAA2P,CAAC,AACtR,CAAC,AACD,kBAAG,CAAC,AACA,gBAAgB,CAAE,IAAI,2PAA2P,CAAC,AACtR,CAAC;ACsBD,cAAE,CAAC,AACC,SAAS,CAAE,GAAG,AAClB,CAAC;ACiEJ,SAAS,eAAC,CAAC,AACP,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,AAC5B,CAAC;AC1DE,eAAe,8BAAC,CAAC,AACb,MAAM,CAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CACzB,gBAAgB,CAAE,OAAO,AAE7B,CAAC,AAED,MAAM,8BAAC,CAAC,AACJ,OAAO,CAAE,IAAI,CAEb,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,MAAM,CACtB,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,MAAM,AAC3B,CAAC,AAED,YAAY,8BAAC,CAAC,AACV,OAAO,CAAE,IAAI,CAEb,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,GAAG,CACnB,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,MAAM,CACvB,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,AACf,CAAC,AAED,2BAAY,CAAC,KAAK,eAAC,CAAC,AAChB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,AACpB,CAAC;ACxBD,KAAK,eAAC,CAAC,AACH,QAAQ,CAAE,QAAQ,CAClB,gBAAgB,CAAE,IAAI,CACtB,UAAU,CAAE,IAAI,AACpB,CAAC,AAED,mBAAmB,eAAC,CAAC,AACjB,WAAW,CAAE,aAAa,CAAC,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,AAClE,CAAC,AAED,qBAAM,CAAE,qBAAM,CAAE,qBAAM,CAAE,qBAAM,CAAE,qBAAM,CAAE,MAAM,eAAC,CAAC,AAC5C,KAAK,CAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC5B,CAAC,AAED,MAAM,eAAC,CAAC,AACJ,KAAK,CAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC5B,CAAC,AAED,MAAM,eAAC,CAAC,AACJ,KAAK,CAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC5B,CAAC,AAED,MAAM,eAAC,CAAC,AACJ,KAAK,CAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC5B,CAAC,AAED,MAAM,eAAC,CAAC,AACJ,KAAK,CAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC5B,CAAC,AAED,OAAO,eAAC,CAAC,AACL,KAAK,CAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC5B,CAAC,AAED,OAAO,eAAC,CAAC,AACL,KAAK,CAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC5B,CAAC,AAED,OAAO,eAAC,CAAC,AACL,KAAK,CAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC5B,CAAC,AAED,OAAO,eAAC,CAAC,AACL,KAAK,CAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IAC5B,CAAC,AAED,OAAO,eAAC,CAAC,AACL,KAAK,CAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IAC5B,CAAC,AAED,OAAO,eAAC,CAAC,AACL,KAAK,CAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IAC5B,CAAC,AAED,OAAO,eAAC,CAAC,AACL,KAAK,CAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IAC5B,CAAC,AAED,OAAO,eAAC,CAAC,AACL,KAAK,CAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,AAED,OAAO,eAAC,CAAC,AACL,KAAK,CAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,AAED,OAAO,eAAC,CAAC,AACL,KAAK,CAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IAC5B,CAAC,AAED,OAAO,eAAC,CAAC,AACL,KAAK,CAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,AAED,IAAI,eAAC,CAAC,AACF,WAAW,CAAE,aAAa,CAAC,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CACzE,cAAc,CAAE,SAAS,AAC7B,CAAC,AAED,uBAAQ,cAAc,AAAC,CAAC,AACpB,cAAc,CAAE,UAAU;IAC9B,CAAC" +} \ No newline at end of file diff --git a/public/build/bundle.js b/public/build/bundle.js new file mode 100755 index 0000000..f8a83b0 --- /dev/null +++ b/public/build/bundle.js @@ -0,0 +1,2 @@ +var app=function(){"use strict";function t(){}const e=t=>t;function n(t,e){for(const n in e)t[n]=e[n];return t}function a(t){return t()}function r(){return Object.create(null)}function i(t){t.forEach(a)}function o(t){return"function"==typeof t}function l(t,e){return t!=t?e==e:t!==e||t&&"object"==typeof t||"function"==typeof t}function s(e,...n){if(null==e)return t;const a=e.subscribe(...n);return a.unsubscribe?()=>a.unsubscribe():a}function c(t,e,n,a){if(t){const r=u(t,e,n,a);return t[0](r)}}function u(t,e,a,r){return t[1]&&r?n(a.ctx.slice(),t[1](r(e))):a.ctx}function h(t,e,n,a,r,i,o){const l=function(t,e,n,a){if(t[2]&&a){const r=t[2](a(n));if(void 0===e.dirty)return r;if("object"==typeof r){const t=[],n=Math.max(e.dirty.length,r.length);for(let a=0;awindow.performance.now():()=>Date.now(),w=d?t=>requestAnimationFrame(t):t;const $=new Set;function g(t){$.forEach((e=>{e.c(t)||($.delete(e),e.f())})),0!==$.size&&w(g)}function b(t){let e;return 0===$.size&&w(g),{promise:new Promise((n=>{$.add(e={c:t,f:n})})),abort(){$.delete(e)}}}function v(t,e){t.appendChild(e)}function x(t,e,n){t.insertBefore(e,n||null)}function y(t){t.parentNode.removeChild(t)}function k(t){return document.createElement(t)}function T(t){return document.createTextNode(t)}function M(){return T(" ")}function S(){return T("")}function C(t,e,n,a){return t.addEventListener(e,n,a),()=>t.removeEventListener(e,n,a)}function L(t){return function(e){return e.stopPropagation(),t.call(this,e)}}function E(t,e,n){null==n?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function A(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function H(t,e){t.value=null==e?"":e}function _(t,e,n,a){t.style.setProperty(e,n,a?"important":"")}class B{constructor(t=null){this.a=t,this.e=this.n=null}m(t,e,n=null){this.e||(this.e=k(e.nodeName),this.t=e,this.h(t)),this.i(n)}h(t){this.e.innerHTML=t,this.n=Array.from(this.e.childNodes)}i(t){for(let e=0;e>>0}(u)}_${l}`,p=t.ownerDocument;D.add(p);const f=p.__svelte_stylesheet||(p.__svelte_stylesheet=p.head.appendChild(k("style")).sheet),d=p.__svelte_rules||(p.__svelte_rules={});d[h]||(d[h]=!0,f.insertRule(`@keyframes ${h} ${u}`,f.cssRules.length));const m=t.style.animation||"";return t.style.animation=`${m?`${m}, `:""}${h} ${a}ms linear ${r}ms 1 both`,j+=1,h}function G(t,e){const n=(t.style.animation||"").split(", "),a=n.filter(e?t=>t.indexOf(e)<0:t=>-1===t.indexOf("__svelte")),r=n.length-a.length;r&&(t.style.animation=a.join(", "),j-=r,j||w((()=>{j||(D.forEach((t=>{const e=t.__svelte_stylesheet;let n=e.cssRules.length;for(;n--;)e.deleteRule(n);t.__svelte_rules={}})),D.clear())})))}function F(t){P=t}function O(t){(function(){if(!P)throw new Error("Function called outside component initialization");return P})().$$.on_mount.push(t)}const N=[],z=[],R=[],J=[],U=Promise.resolve();let I=!1;function q(t){R.push(t)}let K=!1;const X=new Set;function Q(){if(!K){K=!0;do{for(let t=0;t{tt.delete(t),a&&(n&&t.d(1),a())})),t.o(e)}}const rt={duration:0};function it(n,a,r,l){let s=a(n,r),c=l?0:1,u=null,h=null,p=null;function f(){p&&G(n,p)}function d(t,e){const n=t.b-c;return e*=Math.abs(n),{a:c,b:t.b,d:n,duration:e,start:t.start,end:t.start+e,group:t.group}}function w(a){const{delay:r=0,duration:o=300,easing:l=e,tick:w=t,css:$}=s||rt,g={start:m()+r,b:a};a||(g.group=et,et.r+=1),u||h?h=g:($&&(f(),p=W(n,c,a,o,r,l,$)),a&&w(0,1),u=d(g,o),q((()=>Z(n,a,"start"))),b((t=>{if(h&&t>h.start&&(u=d(h,o),h=null,Z(n,u.b,"start"),$&&(f(),p=W(n,c,u.b,u.duration,0,l,s.css))),u)if(t>=u.end)w(c=u.b,1-c),Z(n,u.b,"end"),h||(u.b?f():--u.group.r||i(u.group.c)),u=null;else if(t>=u.start){const e=t-u.start;c=u.a+u.d*l(e/u.duration),w(c,1-c)}return!(!u&&!h)})))}return{run(t){o(s)?(Y||(Y=Promise.resolve(),Y.then((()=>{Y=null}))),Y).then((()=>{s=s(),w(t)})):w(t)},end(){f(),u=h=null}}}function ot(t){t&&t.c()}function lt(t,e,n){const{fragment:r,on_mount:l,on_destroy:s,after_update:c}=t.$$;r&&r.m(e,n),q((()=>{const e=l.map(a).filter(o);s?s.push(...e):i(e),t.$$.on_mount=[]})),c.forEach(q)}function st(t,e){const n=t.$$;null!==n.fragment&&(i(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function ct(t,e){-1===t.$$.dirty[0]&&(N.push(t),I||(I=!0,U.then(Q)),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const r=a.length?a[0]:n;return p.ctx&&l(p.ctx[t],p.ctx[t]=r)&&(!p.skip_bound&&p.bound[t]&&p.bound[t](r),f&&ct(e,t)),n})):[],p.update(),f=!0,i(p.before_update),p.fragment=!!o&&o(p.ctx),n.target){if(n.hydrate){const t=function(t){return Array.from(t.childNodes)}(n.target);p.fragment&&p.fragment.l(t),t.forEach(y)}else p.fragment&&p.fragment.c();n.intro&&nt(e.$$.fragment),lt(e,n.target,n.anchor),Q()}F(u)}class ht{$destroy(){st(this,1),this.$destroy=t}$on(t,e){const n=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return n.push(e),()=>{const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}$set(t){var e;this.$$set&&(e=t,0!==Object.keys(e).length)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}function pt(t){let e,n;const a=t[1].default,r=c(a,t,t[0],null);return{c(){e=k("div"),r&&r.c(),E(e,"class","mui-col-md-4")},m(t,a){x(t,e,a),r&&r.m(e,null),n=!0},p(t,[e]){r&&r.p&&1&e&&h(r,a,t,t[0],e,null,null)},i(t){n||(nt(r,t),n=!0)},o(t){at(r,t),n=!1},d(t){t&&y(e),r&&r.d(t)}}}function ft(t,e,n){let{$$slots:a={},$$scope:r}=e;return t.$$set=t=>{"$$scope"in t&&n(0,r=t.$$scope)},[r,a]}class dt extends ht{constructor(t){super(),ut(this,t,ft,pt,l,{})}}function mt(e){let n;return{c(){n=k("div"),n.innerHTML='
Slack
',E(n,"class","mui-appbar mui--appbar-line-height")},m(t,e){x(t,n,e)},p:t,i:t,o:t,d(t){t&&y(n)}}}class wt extends ht{constructor(t){super(),ut(this,t,null,mt,l,{})}}function $t(e){let n,a,r;return{c(){n=k("div"),a=T("Bins: "),r=new B(null)},m(t,i){x(t,n,i),v(n,a),r.m(e[0],n)},p(t,[e]){1&e&&r.p(t[0])},i:t,o:t,d(t){t&&y(n)}}}function gt(t,e,n){let a,r,i,o=function(t){return`\n \n \n\n`};const l=["0-5","1-2","2-2","2-30","3-27","4-25","5-22","6-20","7-17","8-14","9-12","10-9","11-7"],s=["0-7","0-21","1-18","2-4","3-1","3-15","4-13","4-27","5-24","6-8","7-5","7-19","8-16","8-19","9-28","10-11","11-9","11-23"],c=["0-14","1-25","3-8","4-20","6-1","7-12","8-23","10-4","11-16"],u=["1-4","2-18","3-29","5-10","6-22","8-2","9-14","10-25"];function h(t){const e=new Date(t);let n="";const a=e.getDay(),r=`${e.getMonth()}-${e.getDate()}`;return 3===a&&(n=o("#db7e32")),2===a&&-1!==l.indexOf(r)&&(n=o("#212121")),4===a&&(-1!==s.indexOf(r)?n=o("#3535ff"):-1!==c.indexOf(r)?n=o("#359235"):-1!==u.indexOf(r)&&(n=`${o("#3535ff")}${o("#359235")}`)),n}return t.$$.update=()=>{if(7&t.$$.dirty){const t=new Date;n(1,a=h(t)),n(2,r=h(t.setDate(t.getDate()+1))),n(0,i=a.length>0?`Today: ${a}`:""),r.length>0&&n(0,i=a.length>0?`${i}, Tomorrow: ${r}`:`Tomorrow: ${r}`)}},[i,a,r]}class bt extends ht{constructor(t){super(),ut(this,t,gt,$t,l,{})}}function vt(t,e,n){const a=t.slice();return a[3]=e[n],a}function xt(t){let e,n,a,r,i,o,l,s=t[3].label+"",c=t[3].days+"",u=t[3].weeks+"";return{c(){e=k("div"),n=T(s),a=M(),r=T(c),i=T(" days / "),o=T(u),l=T(" weeks"),E(e,"class","mui-col-xs-12 mui-col-md-3")},m(t,s){x(t,e,s),v(e,n),v(e,a),v(e,r),v(e,i),v(e,o),v(e,l)},p(t,e){1&e&&s!==(s=t[3].label+"")&&A(n,s),1&e&&c!==(c=t[3].days+"")&&A(r,c),1&e&&u!==(u=t[3].weeks+"")&&A(o,u)},d(t){t&&y(e)}}}function yt(t){let e,n,a,r,i,o,l=t[0],s=[];for(let e=0;e{r()}));const r=()=>{const t=new Date,e=36e5-t.getTime()%36e5;n(0,a=a.map((e=>(e.days=Math.ceil(i(t,e.event)),e.weeks=Math.ceil(i(t,e.event)/7),e))));setTimeout(function(){r()}.bind(this),e+10)},i=(t,e)=>{let n,a,r;return a=t.getTime(),r=e.getTime(),n=(r-a)/864e5,n};return t.$$set=t=>{"events"in t&&n(0,a=t.events)},[a]}class Tt extends ht{constructor(t){super(),ut(this,t,kt,yt,l,{events:0})}}function Mt(t){const e=t-1;return e*e*e+1}function St(t,{delay:e=0,duration:n=400,easing:a=Mt}){const r=getComputedStyle(t),i=+r.opacity,o=parseFloat(r.height),l=parseFloat(r.paddingTop),s=parseFloat(r.paddingBottom),c=parseFloat(r.marginTop),u=parseFloat(r.marginBottom),h=parseFloat(r.borderTopWidth),p=parseFloat(r.borderBottomWidth);return{delay:e,duration:n,easing:a,css:t=>`overflow: hidden;opacity: ${Math.min(20*t,1)*i};height: ${t*o}px;padding-top: ${t*l}px;padding-bottom: ${t*s}px;margin-top: ${t*c}px;margin-bottom: ${t*u}px;border-top-width: ${t*h}px;border-bottom-width: ${t*p}px;`}}const Ct=t=>({}),Lt=t=>({});function Et(t){let e,n,a;const r=t[4].default,i=c(r,t,t[3],null);return{c(){e=k("div"),i&&i.c(),E(e,"class","svelte-1dnn1u0")},m(t,n){x(t,e,n),i&&i.m(e,null),a=!0},p(t,e){i&&i.p&&8&e&&h(i,r,t,t[3],e,null,null)},i(t){a||(nt(i,t),q((()=>{n||(n=it(e,St,{},!0)),n.run(1)})),a=!0)},o(t){at(i,t),n||(n=it(e,St,{},!1)),n.run(0),a=!1},d(t){t&&y(e),i&&i.d(t),t&&n&&n.end()}}}function At(t){let e,n,a,r,o,l,s,u,f,d;const m=t[4].header,w=c(m,t,t[3],Lt),$=w||function(t){let e;return{c(){e=T("No header was provided")},m(t,n){x(t,e,n)},d(t){t&&y(e)}}}();let g=1===t[0]&&Et(t);return{c(){e=k("div"),n=k("div"),r=M(),o=k("span"),$&&$.c(),l=M(),g&&g.c(),s=S(),E(n,"class",a=p(t[1])+" svelte-1dnn1u0"),E(o,"class","svelte-1dnn1u0"),E(e,"class","svelte-1dnn1u0")},m(a,i){x(a,e,i),v(e,n),v(e,r),v(e,o),$&&$.m(o,null),x(a,l,i),g&&g.m(a,i),x(a,s,i),u=!0,f||(d=[C(n,"click",t[2]),C(o,"click",t[2])],f=!0)},p(t,[e]){(!u||2&e&&a!==(a=p(t[1])+" svelte-1dnn1u0"))&&E(n,"class",a),w&&w.p&&8&e&&h(w,m,t,t[3],e,Ct,Lt),1===t[0]?g?(g.p(t,e),1&e&&nt(g,1)):(g=Et(t),g.c(),nt(g,1),g.m(s.parentNode,s)):g&&(et={r:0,c:[],p:et},at(g,1,1,(()=>{g=null})),et.r||i(et.c),et=et.p)},i(t){u||(nt($,t),nt(g),u=!0)},o(t){at($,t),at(g),u=!1},d(t){t&&y(e),$&&$.d(t),t&&y(l),g&&g.d(t),t&&y(s),f=!1,i(d)}}}function Ht(t,e,n){let a,{$$slots:r={},$$scope:i}=e,o=0;return t.$$set=t=>{"$$scope"in t&&n(3,i=t.$$scope)},t.$$.update=()=>{1&t.$$.dirty&&n(1,a=0===o?"up":"down")},[o,a,function(){n(0,o=0===o?1:0)},i,r]}class _t extends ht{constructor(t){super(),ut(this,t,Ht,At,l,{})}}function Bt(t){let e;return{c(){e=k("span"),e.textContent="Generate Password",E(e,"slot","header")},m(t,n){x(t,e,n)},d(t){t&&y(e)}}}function Dt(t){let e,n,a,r,i,o,l;return{c(){e=k("div"),n=k("div"),a=T("Long: "),r=T(t[0]),i=k("div"),o=T("Short: "),l=T(t[1]),E(e,"id","passwordOut"),E(e,"class","password")},m(t,s){x(t,e,s),v(e,n),v(n,a),v(n,r),v(e,i),v(i,o),v(i,l)},p(t,e){1&e&&A(r,t[0]),2&e&&A(l,t[1])},d(t){t&&y(e)}}}function Pt(t){let e,n,a,r,i,o,l=t[0]&&Dt(t);return{c(){e=M(),n=k("button"),n.textContent="New Password",a=M(),l&&l.c(),r=S(),E(n,"class","mui-btn mui-btn--flat"),E(n,"id","newPassword")},m(s,c){x(s,e,c),x(s,n,c),x(s,a,c),l&&l.m(s,c),x(s,r,c),i||(o=C(n,"click",t[2]),i=!0)},p(t,e){t[0]?l?l.p(t,e):(l=Dt(t),l.c(),l.m(r.parentNode,r)):l&&(l.d(1),l=null)},d(t){t&&y(e),t&&y(n),t&&y(a),l&&l.d(t),t&&y(r),i=!1,o()}}}function jt(t){let e,n,a;return n=new _t({props:{$$slots:{default:[Pt],header:[Bt]},$$scope:{ctx:t}}}),{c(){e=k("div"),ot(n.$$.fragment),E(e,"id","passwords")},m(t,r){x(t,e,r),lt(n,e,null),a=!0},p(t,[e]){const a={};1027&e&&(a.$$scope={dirty:e,ctx:t}),n.$set(a)},i(t){a||(nt(n.$$.fragment,t),a=!0)},o(t){at(n.$$.fragment,t),a=!1},d(t){t&&y(e),st(n)}}}function Wt(t,e,n){let a,r;Array.prototype.random=function(){return this[Math.floor(Math.random()*this.length)]};const i=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","0","1","2","3","4","5","6","7","8","9"],o=["0","1","2","3","4","5","6","7","8","9"],l=["Alabama","Alaska","Arizona","Maryland","Nevada","Mexico","Texas","Utah","Glasgow","Inverness","Edinburgh","Dumbarton","Balloch","Renton","Cardross","Dundee","Paisley","Hamilton","Greenock","Falkirk","Irvine","Renfrew","Erskine","London","Hammersmith","Islington","Silver","Black","Yellow","Purple","White","Pink","Red","Orange","Brown","Green","Blue","Amber","Aqua","Azure","Bronze","Coral","Copper","Crimson","Cyan","Ginger","Gold","Indigo","Jade","Ruby","Cedar","Cream","Peach","Sepcia","Mercyful","Cyber","Ultra","Hunter","Electric","Steel","Fire","Smoke","Thunder","Pewter","Stone","Iron","Shadow","Grey","Mocha","Wood","Space","Manic","Grunt","X-Ray","Sabbra","Atomic"],s=["Aganju","Cygni","Akeron","Antares","Aragoth","Ardus","Carpenter","Cooper","Dahin","Capella","Endriago","Gallina","Fenris","Freya","Glenn","Grissom","Jotunheim","Kailaasa","Lagarto","Muspelheim","Nifleheim","Primus","Vega","Ragnarok","Shepard","Slayton","Tarsis","Mercury","Venus","Mars","Earth","Terra","Jupiter","Saturn","Uranus","Neptune","Pluto","Europa","Ganymede","Callisto","Titan","Juno","Eridanus","Scorpius","Crux","Cancer","Taurus","Lyra","Andromeda","Virgo","Aquarius","Cygnus","Corvus","Taurus","Draco","Perseus","Pegasus","Gemini","Columbia","Bootes","Orion","Deneb","Merope","Agate","Amber","Beryl","Calcite","Citrine","Coral","Diamond","Emerald","Garnet","Jade","Lapis","Moonstone","Obsidian","Onyx","Opal","Pearl","Quartz","Ruby","Sapphire","Topaz","Iron","Lead","Nickel","Copper","Zinc","Tin","Manes","Argon","Neon","Alpha","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliett","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whisky","Xray","Yankee","Zulu","Fate","Miner","Blaster","Click","Noise","Cadabra","Shotgun"];function c(t){let e="";for(let n=0;nt;const n=typeof t;if(n!==typeof e||Array.isArray(t)!==Array.isArray(e))throw new Error("Cannot interpolate values of different type");if(Array.isArray(t)){const n=e.map(((e,n)=>Nt(t[n],e)));return t=>n.map((e=>e(t)))}if("object"===n){if(!t||!e)throw new Error("Object cannot be null");if(Ot(t)&&Ot(e)){t=t.getTime();const n=(e=e.getTime())-t;return e=>new Date(t+e*n)}const n=Object.keys(e),a={};return n.forEach((n=>{a[n]=Nt(t[n],e[n])})),t=>{const e={};return n.forEach((n=>{e[n]=a[n](t)})),e}}if("number"===n){const n=e-t;return e=>t+e*n}throw new Error(`Cannot interpolate ${n} values`)}function zt(a,r={}){const i=function(e,n=t){let a;const r=[];function i(t){if(l(e,t)&&(e=t,a)){const t=!Ft.length;for(let t=0;t{const t=r.indexOf(s);-1!==t&&r.splice(t,1),0===r.length&&(a(),a=null)}}}}(a);let o,s=a;function c(t,l){if(null==a)return i.set(a=t),Promise.resolve();s=t;let c=o,u=!1,{delay:h=0,duration:p=400,easing:f=e,interpolate:d=Nt}=n(n({},r),l);if(0===p)return c&&(c.abort(),c=null),i.set(a=s),Promise.resolve();const w=m()+h;let $;return o=b((e=>{if(ep?(i.set(a=t),!1):(i.set(a=$(f(n/p))),!0)})),o.promise}return{set:c,update:(t,e)=>c(t(s,a),e),subscribe:i.subscribe}}function Rt(t){let e;return{c(){e=k("span"),e.textContent="Timer",E(e,"slot","header")},m(t,n){x(t,e,n)},d(t){t&&y(e)}}}function Jt(t){let e;return{c(){e=T("Stop")},m(t,n){x(t,e,n)},d(t){t&&y(e)}}}function Ut(t){let e;return{c(){e=T("Start")},m(t,n){x(t,e,n)},d(t){t&&y(e)}}}function It(t){let e,n,a,r,o,l,s,c,u,h,p,f,d,m,w,$,g,b;function S(t,e){return 0===t[2]?Ut:Jt}let L=S(t),B=L(t);return{c(){e=M(),n=k("div"),a=k("div"),r=k("label"),o=k("input"),l=M(),s=k("button"),B.c(),c=M(),u=k("div"),h=k("span"),p=T(t[1]),f=T("mins"),d=M(),m=k("small"),w=T(t[4]),$=T("s"),E(o,"type","range"),E(o,"min","1"),E(o,"max","60"),E(s,"class","mui-btn mui-btn--flat mui-btn--dark"),E(a,"class","inner svelte-1woqwo5"),E(m,"class","svelte-1woqwo5"),E(u,"class","timer-value svelte-1woqwo5"),_(u,"color","hsl("+120*(1-t[5])+"deg, 50%, 50%)",1),E(n,"class","timerContainer svelte-1woqwo5")},m(i,y){x(i,e,y),x(i,n,y),v(n,a),v(a,r),v(r,o),H(o,t[0]),v(r,l),v(r,s),B.m(s,null),v(n,c),v(n,u),v(u,h),v(h,p),v(h,f),v(u,d),v(u,m),v(m,w),v(m,$),g||(b=[C(o,"change",t[10]),C(o,"input",t[10]),C(s,"click",t[7])],g=!0)},p(t,e){1&e&&H(o,t[0]),L!==(L=S(t))&&(B.d(1),B=L(t),B&&(B.c(),B.m(s,null))),2&e&&A(p,t[1]),16&e&&A(w,t[4]),32&e&&_(u,"color","hsl("+120*(1-t[5])+"deg, 50%, 50%)",1)},d(t){t&&y(e),t&&y(n),B.d(),g=!1,i(b)}}}function qt(t){let e,n,a;return n=new _t({props:{$$slots:{default:[It],header:[Rt]},$$scope:{ctx:t}}}),{c(){e=k("div"),ot(n.$$.fragment),E(e,"id","timer")},m(t,r){x(t,e,r),lt(n,e,null),a=!0},p(t,[e]){const a={};262199&e&&(a.$$scope={dirty:e,ctx:t}),n.$set(a)},i(t){a||(nt(n.$$.fragment,t),a=!0)},o(t){at(n.$$.fragment,t),a=!1},d(t){t&&y(e),st(n)}}}function Kt(e,n,a){let r,i,o,l,c,u,h=t;e.$$.on_destroy.push((()=>h()));let p,d=25,m=0;const w=zt(0,{duration:1e3});var $,g;function b(){clearInterval(m),a(2,m=0)}return $=w,g=t=>a(5,u=t),e.$$.on_destroy.push(s($,g)),e.$$.update=()=>{1&e.$$.dirty&&a(8,r=60*d),256&e.$$.dirty&&(a(3,i=zt(r)),h(),h=s(i,(t=>a(9,c=t)))),512&e.$$.dirty&&a(1,o=Math.floor(c/60)),e.$$.dirty,514&e.$$.dirty&&a(4,l=Math.floor(c-60*o)),768&e.$$.dirty&&f(w,u=1-c/r,u)},[d,o,m,i,l,u,w,function(){0!==m?b():a(2,m=setInterval((()=>{c>0?f(i,c--,c):(b(),p=new Audio("stuff/bell.mp3"),p.play())}),1e3))},r,c,function(){var t;t=this.value,d=""===t?null:+t,a(0,d)}]}class Xt extends ht{constructor(t){super(),ut(this,t,Kt,qt,l,{})}}function Qt(t){let e,n,a;return{c(){e=k("div"),e.textContent="Admin",n=M(),a=k("ul"),a.innerHTML='
  • Slack Home
  • \n
  • Time-Off Manager Pro
  • \n\n
  • Beeks Sharepoint
  • \n
  • Bob
  • \n
  • Sprint Ceremonies Docs
  • \n
  • Retrospective Board - Miro
  • ',E(e,"class","mui--text-title mui-text-black")},m(t,r){x(t,e,r),x(t,n,r),x(t,a,r)},d(t){t&&y(e),t&&y(n),t&&y(a)}}}function Vt(t){let e,n,a,r,i,o,l,s;return i=new Gt({}),l=new Xt({}),{c(){e=k("div"),e.textContent="Tools",n=M(),a=k("ul"),a.innerHTML='
  • Cleaner
  • \n
  • Kanban Flow
  • \n
  • Linode
  • \n
  • CSS Gradient Generator
  • \n
  • XML to JSON
  • \n
  • CSV to JSON
  • \n
  • Cubic Bezier
  • \n
  • RegEx Tool
  • \n
  • Closure Compiler
  • \n
  • JSON Lint
  • \n
  • JSON Editor
  • \n
  • Base64 Decoder
  • \n
  • JS Beautifier
  • \n
  • Spritepad
  • \n
  • Sprite Sheet Generator
  • \n
  • CSS Optimizer
  • \n
  • Icon Font Generator
  • \n
  • HTML to Jade
  • \n
  • Cloudflare JS CDN
  • \n
  • HTML Minifier
  • \n
  • XSS Cheat Sheet
  • \n
  • JSFiddle
  • \n
  • JS Bin
  • \n
  • Draftin
  • \n
  • Android Asset
  • \n
  • Password Generator
  • \n
  • Password Checker
  • \n
  • Archive Today
  • \n
  • Static Map Generator
  • \n
  • AJAX Endpoints
  • \n
  • WebSSH
  • \n
  • Jade Tester
  • \n
  • ES6 Console
  • \n
  • Cron Guru
  • \n
  • FontDrop
  • \n
  • SQLDesigner
  • \n
  • Database Models
  • \n
  • Typescript Play
  • ',r=M(),ot(i.$$.fragment),o=M(),ot(l.$$.fragment),E(e,"class","mui--text-title mui-text-black")},m(t,c){x(t,e,c),x(t,n,c),x(t,a,c),x(t,r,c),lt(i,t,c),x(t,o,c),lt(l,t,c),s=!0},i(t){s||(nt(i.$$.fragment,t),nt(l.$$.fragment,t),s=!0)},o(t){at(i.$$.fragment,t),at(l.$$.fragment,t),s=!1},d(t){t&&y(e),t&&y(n),t&&y(a),t&&y(r),st(i,t),t&&y(o),st(l,t)}}}function Yt(e){let n,a,r,i,o,l,s,c,u,h,p,f,d,m,w,$,g,b,T,S,A,H,B,D,P,j,W,G,F,O,N,z,R,J,U;return{c(){n=k("div"),n.textContent="Bitcoin",a=M(),r=k("ul"),i=k("li"),i.innerHTML='Bitstamp',o=M(),l=k("li"),l.innerHTML='Kraken',s=M(),c=k("li"),c.innerHTML='Cryptowat.ch',u=M(),h=k("li"),h.innerHTML='BTC Chart',p=M(),f=k("li"),f.innerHTML='BTC Chart 2',d=M(),m=k("li"),m.innerHTML='BitStamp Chart',w=M(),$=k("li"),$.innerHTML='Bitstamp Chart 2',g=M(),b=k("li"),b.innerHTML='BitBargin UK',T=M(),S=k("li"),S.innerHTML='Yacuna UK',A=M(),H=k("li"),H.innerHTML='Blockchain',B=M(),D=k("li"),D.innerHTML='Bitminter',P=M(),j=k("li"),j.innerHTML='BTC Exchange Rate',W=M(),G=k("li"),F=k("a"),F.textContent="CFT Watcher",O=M(),N=k("span"),z=k("img"),E(n,"class","mui--text-title mui-text-black"),E(F,"href","http://www.silvrtree.co.uk/watch.html"),z.src!==(R="gfx/popout.png")&&E(z,"src","gfx/popout.png"),E(z,"alt","CFT Watcher"),E(z,"data-url","http://www.silvrtree.co.uk/watch.html"),_(N,"cursor","pointer"),E(N,"data-url","http://www.silvrtree.co.uk/watch.html")},m(t,e){x(t,n,e),x(t,a,e),x(t,r,e),v(r,i),v(r,o),v(r,l),v(r,s),v(r,c),v(r,u),v(r,h),v(r,p),v(r,f),v(r,d),v(r,m),v(r,w),v(r,$),v(r,g),v(r,b),v(r,T),v(r,S),v(r,A),v(r,H),v(r,B),v(r,D),v(r,P),v(r,j),v(r,W),v(r,G),v(G,F),v(G,O),v(G,N),v(N,z),J||(U=C(z,"click",L(ce)),J=!0)},p:t,d(t){t&&y(n),t&&y(a),t&&y(r),J=!1,U()}}}function Zt(t){let e,n,a;return{c(){e=k("div"),e.textContent="Package Tracking",n=M(),a=k("ul"),a.innerHTML='
  • UPS
  • ',E(e,"class","mui--text-title mui-text-black")},m(t,r){x(t,e,r),x(t,n,r),x(t,a,r)},d(t){t&&y(e),t&&y(n),t&&y(a)}}}function te(t){let e,n,a;return{c(){e=k("div"),e.textContent="Weather",n=M(),a=k("ul"),a.innerHTML='
  • Dumbarton\n Weather
  • \n
  • WU\n Dumbarton Weather
  • \n
  • Y! Dumbarton Weather
  • \n
  • Glasgow\n Weather
  • \n
  • WU\n Glasgow Weather
  • \n
  • Live Lightning
  • \n
  • Other Live Lightning
  • \n
  • Closer Live Lightning
  • \n
  • Multiple Lightning
  • \n
  • European Lightning
  • \n
  • East Kilbride Lightning
  • \n
  • Borders Lightning
  • \n
  • Best\n Live Lightning
  • \n
  • Ships
  • \n
  • Rain Today
  • ',E(e,"class","mui--text-title mui-text-black")},m(t,r){x(t,e,r),x(t,n,r),x(t,a,r)},d(t){t&&y(e),t&&y(n),t&&y(a)}}}function ee(t){let e,n,a;return{c(){e=k("div"),e.textContent="Free Email WEBpages",n=M(),a=k("ul"),a.innerHTML='
  • Gmail
  • \n
  • Unmajestic Webmail
  • \n
  • Artizan Webmail
  • \n
  • Yahoo Mail
  • \n
  • Guerrilla Mail Anti Spam
  • ',E(e,"class","mui--text-title mui-text-black")},m(t,r){x(t,e,r),x(t,n,r),x(t,a,r)},d(t){t&&y(e),t&&y(n),t&&y(a)}}}function ne(t){let e,n,a;return{c(){e=k("div"),e.textContent="Contracting",n=M(),a=k("ul"),a.innerHTML='
  • Outsauce Timesheets
  • \n
  • CF Timesheets
  • \n
  • monster
  • \n
  • cwjobs
  • \n
  • s1jobs
  • \n
  • jobserve
  • \n
  • jobsite
  • \n
  • IT Jobs Watch Scotland
  • ',E(e,"class","mui--text-title mui-text-black")},m(t,r){x(t,e,r),x(t,n,r),x(t,a,r)},d(t){t&&y(e),t&&y(n),t&&y(a)}}}function ae(t){let e,n,a;return{c(){e=k("div"),e.textContent="Entertainment",n=M(),a=k("ul"),a.innerHTML='
  • Amazing Radio Chill
  • \n
  • Cineworld
  • \n
  • Showcase
  • \n
  • Imdb
  • \n
  • EPGuides
  • \n
  • Eztv
  • \n
  • Mininova
  • \n
  • Scrapetorrent
  • \n
  • Whats on In Glasgow
  • \n
  • Local Events
  • \n
  • Nectarine
  • \n
  • STR - Space Travel Radio
  • \n
  • musik.drumstep
  • ',E(e,"class","mui--text-title mui-text-black")},m(t,r){x(t,e,r),x(t,n,r),x(t,a,r)},d(t){t&&y(e),t&&y(n),t&&y(a)}}}function re(e){let n,a,r,i,o,l,s,c,u,h,p,f,d,m,w,$,g,b,S,A,H,B,D,P,j,W,G,F,O,N,z,R,J,U,I,q,K,X,Q,V,Y,Z,tt,et,nt,at,rt,it,ot,lt,st,ct,ut,ht,pt,ft,dt,mt,wt,$t,gt;return{c(){n=k("div"),n.textContent="Travel",a=M(),r=k("ul"),i=k("li"),i.innerHTML='Journey Check',o=M(),l=k("li"),l.innerHTML='Train Mapper',s=M(),c=k("li"),c.innerHTML='Traffic Scotland',u=M(),h=k("li"),h.innerHTML='AA Traffic News',p=M(),f=k("li"),f.innerHTML='DBE->WES\n /\n Advanced',d=M(),m=k("li"),w=k("a"),w.textContent="WES->DBE",$=M(),g=k("span"),b=k("img"),A=T("\n /\n "),H=k("a"),H.textContent="Advanced",B=M(),D=k("li"),D.innerHTML='DBE Board\n /\n Advanced',P=M(),j=k("li"),j.innerHTML='GLQ Trains /\n Adv /\n GLQ->DBE',W=M(),G=k("li"),G.innerHTML='Kayak',F=M(),O=k("li"),O.innerHTML='Travelocity',N=M(),z=k("li"),z.innerHTML='Travel.com',R=M(),J=k("li"),J.innerHTML='Airlines',U=M(),I=k("li"),I.innerHTML='Landings',q=M(),K=k("li"),K.innerHTML='Maps',X=M(),Q=k("li"),Q.innerHTML='Maps2',V=M(),Y=k("li"),Y.innerHTML='ITN',Z=M(),tt=k("li"),tt.innerHTML='HAFAS',et=M(),nt=k("li"),nt.innerHTML='DieBahn',at=M(),rt=k("li"),rt.innerHTML='RailUSA',it=M(),ot=k("li"),ot.innerHTML='TrainWeb',lt=M(),st=k("li"),st.innerHTML='RailWorld',ct=M(),ut=k("li"),ut.innerHTML='Currency Converter',ht=M(),pt=k("li"),pt.innerHTML='CIA',ft=M(),dt=k("li"),dt.innerHTML='GMaps',mt=M(),wt=k("li"),wt.innerHTML='Tube Status',E(n,"class","mui--text-title mui-text-black"),E(w,"href","http://ojp.nationalrail.co.uk/service/ldbboard/dep/WES/DBE/To?ar=true"),b.src!==(S="gfx/popout.png")&&E(b,"src","gfx/popout.png"),E(b,"data-url","http://ojp.nationalrail.co.uk/service/ldbboard/dep/WES/DBE/To?ar=true#skip-content-hold"),_(g,"cursor","pointer"),E(H,"href","http://www.traintime.uk/index.php?view=desktop&from=WES&to=DBE")},m(t,e){x(t,n,e),x(t,a,e),x(t,r,e),v(r,i),v(r,o),v(r,l),v(r,s),v(r,c),v(r,u),v(r,h),v(r,p),v(r,f),v(r,d),v(r,m),v(m,w),v(m,$),v(m,g),v(g,b),v(m,A),v(m,H),v(r,B),v(r,D),v(r,P),v(r,j),v(r,W),v(r,G),v(r,F),v(r,O),v(r,N),v(r,z),v(r,R),v(r,J),v(r,U),v(r,I),v(r,q),v(r,K),v(r,X),v(r,Q),v(r,V),v(r,Y),v(r,Z),v(r,tt),v(r,et),v(r,nt),v(r,at),v(r,rt),v(r,it),v(r,ot),v(r,lt),v(r,st),v(r,ct),v(r,ut),v(r,ht),v(r,pt),v(r,ft),v(r,dt),v(r,mt),v(r,wt),$t||(gt=C(b,"click",L(ue)),$t=!0)},p:t,d(t){t&&y(n),t&&y(a),t&&y(r),$t=!1,gt()}}}function ie(t){let e,n,a;return{c(){e=k("div"),e.textContent="Computer Software, etc.",n=M(),a=k("ul"),a.innerHTML='
  • Portable Apps
  • \n
  • NewFreeware
  • \n
  • Portable Software
  • \n
  • Portable Freeware Collection
  • ',E(e,"class","mui--text-title mui-text-black")},m(t,r){x(t,e,r),x(t,n,r),x(t,a,r)},d(t){t&&y(e),t&&y(n),t&&y(a)}}}function oe(t){let e,n,a;return{c(){e=k("div"),e.textContent="Reference & Special sites",n=M(),a=k("ul"),a.innerHTML='
  • Glossaries
  • \n
  • Converters
  • \n
  • DECODE
  • \n
  • Drugs
  • \n
  • Medline
  • \n
  • Translation
  • \n
  • One Look
  • \n
  • US Military
  • \n
  • US Fed
  • \n
  • Legal
  • \n
  • NIH
  • \n
  • RefDESK
  • \n
  • Britannica
  • \n
  • States
  • \n
  • PackTrack
  • \n
  • Acronym
  • \n
  • V-Thes
  • \n
  • Timelines
  • \n
  • Wikipedia
  • ',E(e,"class","mui--text-title mui-text-black")},m(t,r){x(t,e,r),x(t,n,r),x(t,a,r)},d(t){t&&y(e),t&&y(n),t&&y(a)}}}function le(t){let e,n,a;return{c(){e=k("div"),e.textContent="Earth and Beyond",n=M(),a=k("ul"),a.innerHTML='
  • ENB Arsenal
  • \n
  • ENB Wikia
  • \n
  • Gear List
  • \n
  • Emu Forum
  • \n
  • Net 7 Wiki
  • \n
  • Space Engineers Wiki
  • \n
  • Space Engineers Forum
  • ',E(e,"class","mui--text-title mui-text-black")},m(t,r){x(t,e,r),x(t,n,r),x(t,a,r)},d(t){t&&y(e),t&&y(n),t&&y(a)}}}function se(t){let e,n,a,r,i,o,l,s,c,u,h,p,f,d,m,w,$,g,b,T,S,C,L,A,H,_,B,D,P,j,W,G,F,O,N;return n=new wt({}),i=new Tt({props:{events:t[0]}}),c=new dt({props:{$$slots:{default:[Qt]},$$scope:{ctx:t}}}),h=new dt({props:{$$slots:{default:[Vt]},$$scope:{ctx:t}}}),f=new dt({props:{$$slots:{default:[Yt]},$$scope:{ctx:t}}}),w=new dt({props:{$$slots:{default:[Zt]},$$scope:{ctx:t}}}),g=new dt({props:{$$slots:{default:[te]},$$scope:{ctx:t}}}),T=new dt({props:{$$slots:{default:[ee]},$$scope:{ctx:t}}}),L=new dt({props:{$$slots:{default:[ne]},$$scope:{ctx:t}}}),H=new dt({props:{$$slots:{default:[ae]},$$scope:{ctx:t}}}),B=new dt({props:{$$slots:{default:[re]},$$scope:{ctx:t}}}),j=new dt({props:{$$slots:{default:[ie]},$$scope:{ctx:t}}}),G=new dt({props:{$$slots:{default:[oe]},$$scope:{ctx:t}}}),O=new dt({props:{$$slots:{default:[le]},$$scope:{ctx:t}}}),{c(){e=k("main"),ot(n.$$.fragment),a=M(),r=k("div"),ot(i.$$.fragment),o=M(),l=k("div"),s=k("div"),ot(c.$$.fragment),u=M(),ot(h.$$.fragment),p=M(),ot(f.$$.fragment),d=M(),m=k("div"),ot(w.$$.fragment),$=M(),ot(g.$$.fragment),b=M(),ot(T.$$.fragment),S=M(),C=k("div"),ot(L.$$.fragment),A=M(),ot(H.$$.fragment),_=M(),ot(B.$$.fragment),D=M(),P=k("div"),ot(j.$$.fragment),W=M(),ot(G.$$.fragment),F=M(),ot(O.$$.fragment),E(s,"class","mui-row"),E(m,"class","mui-row"),E(C,"class","mui-row"),E(P,"class","mui-row"),E(l,"class","mui-panel"),E(r,"class","mui-container")},m(t,y){x(t,e,y),lt(n,e,null),v(e,a),v(e,r),lt(i,r,null),v(r,o),v(r,l),v(l,s),lt(c,s,null),v(s,u),lt(h,s,null),v(s,p),lt(f,s,null),v(l,d),v(l,m),lt(w,m,null),v(m,$),lt(g,m,null),v(m,b),lt(T,m,null),v(l,S),v(l,C),lt(L,C,null),v(C,A),lt(H,C,null),v(C,_),lt(B,C,null),v(l,D),v(l,P),lt(j,P,null),v(P,W),lt(G,P,null),v(P,F),lt(O,P,null),N=!0},p(t,[e]){const n={};1&e&&(n.events=t[0]),i.$set(n);const a={};2&e&&(a.$$scope={dirty:e,ctx:t}),c.$set(a);const r={};2&e&&(r.$$scope={dirty:e,ctx:t}),h.$set(r);const o={};2&e&&(o.$$scope={dirty:e,ctx:t}),f.$set(o);const l={};2&e&&(l.$$scope={dirty:e,ctx:t}),w.$set(l);const s={};2&e&&(s.$$scope={dirty:e,ctx:t}),g.$set(s);const u={};2&e&&(u.$$scope={dirty:e,ctx:t}),T.$set(u);const p={};2&e&&(p.$$scope={dirty:e,ctx:t}),L.$set(p);const d={};2&e&&(d.$$scope={dirty:e,ctx:t}),H.$set(d);const m={};2&e&&(m.$$scope={dirty:e,ctx:t}),B.$set(m);const $={};2&e&&($.$$scope={dirty:e,ctx:t}),j.$set($);const b={};2&e&&(b.$$scope={dirty:e,ctx:t}),G.$set(b);const v={};2&e&&(v.$$scope={dirty:e,ctx:t}),O.$set(v)},i(t){N||(nt(n.$$.fragment,t),nt(i.$$.fragment,t),nt(c.$$.fragment,t),nt(h.$$.fragment,t),nt(f.$$.fragment,t),nt(w.$$.fragment,t),nt(g.$$.fragment,t),nt(T.$$.fragment,t),nt(L.$$.fragment,t),nt(H.$$.fragment,t),nt(B.$$.fragment,t),nt(j.$$.fragment,t),nt(G.$$.fragment,t),nt(O.$$.fragment,t),N=!0)},o(t){at(n.$$.fragment,t),at(i.$$.fragment,t),at(c.$$.fragment,t),at(h.$$.fragment,t),at(f.$$.fragment,t),at(w.$$.fragment,t),at(g.$$.fragment,t),at(T.$$.fragment,t),at(L.$$.fragment,t),at(H.$$.fragment,t),at(B.$$.fragment,t),at(j.$$.fragment,t),at(G.$$.fragment,t),at(O.$$.fragment,t),N=!1},d(t){t&&y(e),st(n),st(i),st(c),st(h),st(f),st(w),st(g),st(T),st(L),st(H),st(B),st(j),st(G),st(O)}}}function ce(t){if(t.target.dataset.url){const e=window.open(t.target.dataset.url,"name","height=400,width=520");return window.focus&&e.focus(),!1}}function ue(t){if(t.target.dataset.url){const e=window.open(t.target.dataset.url,"name","height=600,width=570");return window.focus&&e.focus(),!1}}function he(t,e,n){let{events:a=[]}=e;return t.$$set=t=>{"events"in t&&n(0,a=t.events)},[a]}return new class extends ht{constructor(t){super(),ut(this,t,he,se,l,{events:0})}}({target:document.body,props:{events:[]}})}(); +//# sourceMappingURL=bundle.js.map diff --git a/public/build/bundle.js.map b/public/build/bundle.js.map new file mode 100755 index 0000000..be2b0b1 --- /dev/null +++ b/public/build/bundle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bundle.js","sources":["../../node_modules/svelte/internal/index.mjs","../../src/components/Bins.svelte","../../src/components/Events.svelte","../../node_modules/svelte/easing/index.mjs","../../node_modules/svelte/transition/index.mjs","../../src/components/Revealer.svelte","../../src/components/Password.svelte","../../node_modules/svelte/store/index.mjs","../../node_modules/svelte/motion/index.mjs","../../src/components/Timer.svelte","../../src/App.svelte","../../src/main.js"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot_spread(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_spread_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_spread_changes_fn(dirty) | get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value = ret) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction claim_element(nodes, name, attributes, svg) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeName === name) {\n let j = 0;\n const remove = [];\n while (j < node.attributes.length) {\n const attribute = node.attributes[j++];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n for (let k = 0; k < remove.length; k++) {\n node.removeAttribute(remove[k]);\n }\n return nodes.splice(i, 1)[0];\n }\n }\n return svg ? svg_element(name) : element(name);\n}\nfunction claim_text(nodes, data) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 3) {\n node.data = '' + data;\n return nodes.splice(i, 1)[0];\n }\n }\n return text(data);\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, false, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(anchor = null) {\n this.a = anchor;\n this.e = this.n = null;\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.h(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = node.ownerDocument;\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = doc.head.appendChild(element('style')).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n callbacks.slice().forEach(fn => fn(event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = program.b - t;\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${String(value).replace(/\"/g, '"').replace(/'/g, ''')}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, options = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, options);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const prop_values = options.props || {};\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false\n };\n let ready = false;\n $$.ctx = instance\n ? instance(component, prop_values, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor);\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.32.0' }, detail)));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * \n * \n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to seperate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_space, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, escape, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getContext, get_binding_group_value, get_current_component, get_custom_elements_slots, get_slot_changes, get_slot_context, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, update_keyed_each, update_slot, update_slot_spread, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","\n\n
    \n Bins: {@html outString}\n
    \n\n\n","\n\n
    \n
    \n {#each events as event}\n
    \n {event.label} {event.days} days / {event.weeks} weeks\n
    \n\n {/each}\n
    \n \n
    \n
    \n\n\n
    \n\n","export { identity as linear } from '../internal/index.mjs';\n\n/*\nAdapted from https://github.com/mattdesl\nDistributed under MIT License https://github.com/mattdesl/eases/blob/master/LICENSE.md\n*/\nfunction backInOut(t) {\n const s = 1.70158 * 1.525;\n if ((t *= 2) < 1)\n return 0.5 * (t * t * ((s + 1) * t - s));\n return 0.5 * ((t -= 2) * t * ((s + 1) * t + s) + 2);\n}\nfunction backIn(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n}\nfunction backOut(t) {\n const s = 1.70158;\n return --t * t * ((s + 1) * t + s) + 1;\n}\nfunction bounceOut(t) {\n const a = 4.0 / 11.0;\n const b = 8.0 / 11.0;\n const c = 9.0 / 10.0;\n const ca = 4356.0 / 361.0;\n const cb = 35442.0 / 1805.0;\n const cc = 16061.0 / 1805.0;\n const t2 = t * t;\n return t < a\n ? 7.5625 * t2\n : t < b\n ? 9.075 * t2 - 9.9 * t + 3.4\n : t < c\n ? ca * t2 - cb * t + cc\n : 10.8 * t * t - 20.52 * t + 10.72;\n}\nfunction bounceInOut(t) {\n return t < 0.5\n ? 0.5 * (1.0 - bounceOut(1.0 - t * 2.0))\n : 0.5 * bounceOut(t * 2.0 - 1.0) + 0.5;\n}\nfunction bounceIn(t) {\n return 1.0 - bounceOut(1.0 - t);\n}\nfunction circInOut(t) {\n if ((t *= 2) < 1)\n return -0.5 * (Math.sqrt(1 - t * t) - 1);\n return 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n}\nfunction circIn(t) {\n return 1.0 - Math.sqrt(1.0 - t * t);\n}\nfunction circOut(t) {\n return Math.sqrt(1 - --t * t);\n}\nfunction cubicInOut(t) {\n return t < 0.5 ? 4.0 * t * t * t : 0.5 * Math.pow(2.0 * t - 2.0, 3.0) + 1.0;\n}\nfunction cubicIn(t) {\n return t * t * t;\n}\nfunction cubicOut(t) {\n const f = t - 1.0;\n return f * f * f + 1.0;\n}\nfunction elasticInOut(t) {\n return t < 0.5\n ? 0.5 *\n Math.sin(((+13.0 * Math.PI) / 2) * 2.0 * t) *\n Math.pow(2.0, 10.0 * (2.0 * t - 1.0))\n : 0.5 *\n Math.sin(((-13.0 * Math.PI) / 2) * (2.0 * t - 1.0 + 1.0)) *\n Math.pow(2.0, -10.0 * (2.0 * t - 1.0)) +\n 1.0;\n}\nfunction elasticIn(t) {\n return Math.sin((13.0 * t * Math.PI) / 2) * Math.pow(2.0, 10.0 * (t - 1.0));\n}\nfunction elasticOut(t) {\n return (Math.sin((-13.0 * (t + 1.0) * Math.PI) / 2) * Math.pow(2.0, -10.0 * t) + 1.0);\n}\nfunction expoInOut(t) {\n return t === 0.0 || t === 1.0\n ? t\n : t < 0.5\n ? +0.5 * Math.pow(2.0, 20.0 * t - 10.0)\n : -0.5 * Math.pow(2.0, 10.0 - t * 20.0) + 1.0;\n}\nfunction expoIn(t) {\n return t === 0.0 ? t : Math.pow(2.0, 10.0 * (t - 1.0));\n}\nfunction expoOut(t) {\n return t === 1.0 ? t : 1.0 - Math.pow(2.0, -10.0 * t);\n}\nfunction quadInOut(t) {\n t /= 0.5;\n if (t < 1)\n return 0.5 * t * t;\n t--;\n return -0.5 * (t * (t - 2) - 1);\n}\nfunction quadIn(t) {\n return t * t;\n}\nfunction quadOut(t) {\n return -t * (t - 2.0);\n}\nfunction quartInOut(t) {\n return t < 0.5\n ? +8.0 * Math.pow(t, 4.0)\n : -8.0 * Math.pow(t - 1.0, 4.0) + 1.0;\n}\nfunction quartIn(t) {\n return Math.pow(t, 4.0);\n}\nfunction quartOut(t) {\n return Math.pow(t - 1.0, 3.0) * (1.0 - t) + 1.0;\n}\nfunction quintInOut(t) {\n if ((t *= 2) < 1)\n return 0.5 * t * t * t * t * t;\n return 0.5 * ((t -= 2) * t * t * t * t + 2);\n}\nfunction quintIn(t) {\n return t * t * t * t * t;\n}\nfunction quintOut(t) {\n return --t * t * t * t * t + 1;\n}\nfunction sineInOut(t) {\n return -0.5 * (Math.cos(Math.PI * t) - 1);\n}\nfunction sineIn(t) {\n const v = Math.cos(t * Math.PI * 0.5);\n if (Math.abs(v) < 1e-14)\n return 1;\n else\n return 1 - v;\n}\nfunction sineOut(t) {\n return Math.sin((t * Math.PI) / 2);\n}\n\nexport { backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, cubicIn, cubicInOut, cubicOut, elasticIn, elasticInOut, elasticOut, expoIn, expoInOut, expoOut, quadIn, quadInOut, quadOut, quartIn, quartInOut, quartOut, quintIn, quintInOut, quintOut, sineIn, sineInOut, sineOut };\n","import { cubicInOut, linear, cubicOut } from '../easing/index.mjs';\nimport { is_function, assign } from '../internal/index.mjs';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nfunction blur(node, { delay = 0, duration = 400, easing = cubicInOut, amount = 5, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const f = style.filter === 'none' ? '' : style.filter;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `opacity: ${target_opacity - (od * u)}; filter: ${f} blur(${u * amount}px);`\n };\n}\nfunction fade(node, { delay = 0, duration = 400, easing = linear }) {\n const o = +getComputedStyle(node).opacity;\n return {\n delay,\n duration,\n easing,\n css: t => `opacity: ${t * o}`\n };\n}\nfunction fly(node, { delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `\n\t\t\ttransform: ${transform} translate(${(1 - t) * x}px, ${(1 - t) * y}px);\n\t\t\topacity: ${target_opacity - (od * u)}`\n };\n}\nfunction slide(node, { delay = 0, duration = 400, easing = cubicOut }) {\n const style = getComputedStyle(node);\n const opacity = +style.opacity;\n const height = parseFloat(style.height);\n const padding_top = parseFloat(style.paddingTop);\n const padding_bottom = parseFloat(style.paddingBottom);\n const margin_top = parseFloat(style.marginTop);\n const margin_bottom = parseFloat(style.marginBottom);\n const border_top_width = parseFloat(style.borderTopWidth);\n const border_bottom_width = parseFloat(style.borderBottomWidth);\n return {\n delay,\n duration,\n easing,\n css: t => 'overflow: hidden;' +\n `opacity: ${Math.min(t * 20, 1) * opacity};` +\n `height: ${t * height}px;` +\n `padding-top: ${t * padding_top}px;` +\n `padding-bottom: ${t * padding_bottom}px;` +\n `margin-top: ${t * margin_top}px;` +\n `margin-bottom: ${t * margin_bottom}px;` +\n `border-top-width: ${t * border_top_width}px;` +\n `border-bottom-width: ${t * border_bottom_width}px;`\n };\n}\nfunction scale(node, { delay = 0, duration = 400, easing = cubicOut, start = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const sd = 1 - start;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `\n\t\t\ttransform: ${transform} scale(${1 - (sd * u)});\n\t\t\topacity: ${target_opacity - (od * u)}\n\t\t`\n };\n}\nfunction draw(node, { delay = 0, speed, duration, easing = cubicInOut }) {\n const len = node.getTotalLength();\n if (duration === undefined) {\n if (speed === undefined) {\n duration = 800;\n }\n else {\n duration = len / speed;\n }\n }\n else if (typeof duration === 'function') {\n duration = duration(len);\n }\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `stroke-dasharray: ${t * len} ${u * len}`\n };\n}\nfunction crossfade(_a) {\n var { fallback } = _a, defaults = __rest(_a, [\"fallback\"]);\n const to_receive = new Map();\n const to_send = new Map();\n function crossfade(from, node, params) {\n const { delay = 0, duration = d => Math.sqrt(d) * 30, easing = cubicOut } = assign(assign({}, defaults), params);\n const to = node.getBoundingClientRect();\n const dx = from.left - to.left;\n const dy = from.top - to.top;\n const dw = from.width / to.width;\n const dh = from.height / to.height;\n const d = Math.sqrt(dx * dx + dy * dy);\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n const opacity = +style.opacity;\n return {\n delay,\n duration: is_function(duration) ? duration(d) : duration,\n easing,\n css: (t, u) => `\n\t\t\t\topacity: ${t * opacity};\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${t + (1 - t) * dh});\n\t\t\t`\n };\n }\n function transition(items, counterparts, intro) {\n return (node, params) => {\n items.set(params.key, {\n rect: node.getBoundingClientRect()\n });\n return () => {\n if (counterparts.has(params.key)) {\n const { rect } = counterparts.get(params.key);\n counterparts.delete(params.key);\n return crossfade(rect, node, params);\n }\n // if the node is disappearing altogether\n // (i.e. wasn't claimed by the other list)\n // then we need to supply an outro\n items.delete(params.key);\n return fallback && fallback(node, params, intro);\n };\n };\n }\n return [\n transition(to_send, to_receive, false),\n transition(to_receive, to_send, true)\n ];\n}\n\nexport { blur, crossfade, draw, fade, fly, scale, slide };\n","\n\n\n\n\n
    \n No header was provided\n
    \n{#if viewMode === 1}\n
    \n \n
    \n{/if}\n","\n\n
    \n \n Generate Password\n \n {#if longPassword}\n
    \n
    Long: {longPassword}
    Short: {shortPassword}
    \n
    \n {/if}\n
    \n
    \n\n","import { noop, safe_not_equal, subscribe, run_all, is_function } from '../internal/index.mjs';\nexport { get_store_value as get } from '../internal/index.mjs';\n\nconst subscriber_queue = [];\n/**\n * Creates a `Readable` store that allows reading by subscription.\n * @param value initial value\n * @param {StartStopNotifier}start start and stop notifications for subscriptions\n */\nfunction readable(value, start) {\n return {\n subscribe: writable(value, start).subscribe\n };\n}\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n * @param {*=}value initial value\n * @param {StartStopNotifier=}start start and stop notifications for subscriptions\n */\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = [];\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) { // store is ready\n const run_queue = !subscriber_queue.length;\n for (let i = 0; i < subscribers.length; i += 1) {\n const s = subscribers[i];\n s[1]();\n subscriber_queue.push(s, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe(run, invalidate = noop) {\n const subscriber = [run, invalidate];\n subscribers.push(subscriber);\n if (subscribers.length === 1) {\n stop = start(set) || noop;\n }\n run(value);\n return () => {\n const index = subscribers.indexOf(subscriber);\n if (index !== -1) {\n subscribers.splice(index, 1);\n }\n if (subscribers.length === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe };\n}\nfunction derived(stores, fn, initial_value) {\n const single = !Array.isArray(stores);\n const stores_array = single\n ? [stores]\n : stores;\n const auto = fn.length < 2;\n return readable(initial_value, (set) => {\n let inited = false;\n const values = [];\n let pending = 0;\n let cleanup = noop;\n const sync = () => {\n if (pending) {\n return;\n }\n cleanup();\n const result = fn(single ? values[0] : values, set);\n if (auto) {\n set(result);\n }\n else {\n cleanup = is_function(result) ? result : noop;\n }\n };\n const unsubscribers = stores_array.map((store, i) => subscribe(store, (value) => {\n values[i] = value;\n pending &= ~(1 << i);\n if (inited) {\n sync();\n }\n }, () => {\n pending |= (1 << i);\n }));\n inited = true;\n sync();\n return function stop() {\n run_all(unsubscribers);\n cleanup();\n };\n });\n}\n\nexport { derived, readable, writable };\n","import { writable } from '../store/index.mjs';\nimport { now, loop, assign } from '../internal/index.mjs';\nimport { linear } from '../easing/index.mjs';\n\nfunction is_date(obj) {\n return Object.prototype.toString.call(obj) === '[object Date]';\n}\n\nfunction tick_spring(ctx, last_value, current_value, target_value) {\n if (typeof current_value === 'number' || is_date(current_value)) {\n // @ts-ignore\n const delta = target_value - current_value;\n // @ts-ignore\n const velocity = (current_value - last_value) / (ctx.dt || 1 / 60); // guard div by 0\n const spring = ctx.opts.stiffness * delta;\n const damper = ctx.opts.damping * velocity;\n const acceleration = (spring - damper) * ctx.inv_mass;\n const d = (velocity + acceleration) * ctx.dt;\n if (Math.abs(d) < ctx.opts.precision && Math.abs(delta) < ctx.opts.precision) {\n return target_value; // settled\n }\n else {\n ctx.settled = false; // signal loop to keep ticking\n // @ts-ignore\n return is_date(current_value) ?\n new Date(current_value.getTime() + d) : current_value + d;\n }\n }\n else if (Array.isArray(current_value)) {\n // @ts-ignore\n return current_value.map((_, i) => tick_spring(ctx, last_value[i], current_value[i], target_value[i]));\n }\n else if (typeof current_value === 'object') {\n const next_value = {};\n for (const k in current_value) {\n // @ts-ignore\n next_value[k] = tick_spring(ctx, last_value[k], current_value[k], target_value[k]);\n }\n // @ts-ignore\n return next_value;\n }\n else {\n throw new Error(`Cannot spring ${typeof current_value} values`);\n }\n}\nfunction spring(value, opts = {}) {\n const store = writable(value);\n const { stiffness = 0.15, damping = 0.8, precision = 0.01 } = opts;\n let last_time;\n let task;\n let current_token;\n let last_value = value;\n let target_value = value;\n let inv_mass = 1;\n let inv_mass_recovery_rate = 0;\n let cancel_task = false;\n function set(new_value, opts = {}) {\n target_value = new_value;\n const token = current_token = {};\n if (value == null || opts.hard || (spring.stiffness >= 1 && spring.damping >= 1)) {\n cancel_task = true; // cancel any running animation\n last_time = now();\n last_value = new_value;\n store.set(value = target_value);\n return Promise.resolve();\n }\n else if (opts.soft) {\n const rate = opts.soft === true ? .5 : +opts.soft;\n inv_mass_recovery_rate = 1 / (rate * 60);\n inv_mass = 0; // infinite mass, unaffected by spring forces\n }\n if (!task) {\n last_time = now();\n cancel_task = false;\n task = loop(now => {\n if (cancel_task) {\n cancel_task = false;\n task = null;\n return false;\n }\n inv_mass = Math.min(inv_mass + inv_mass_recovery_rate, 1);\n const ctx = {\n inv_mass,\n opts: spring,\n settled: true,\n dt: (now - last_time) * 60 / 1000\n };\n const next_value = tick_spring(ctx, last_value, value, target_value);\n last_time = now;\n last_value = value;\n store.set(value = next_value);\n if (ctx.settled) {\n task = null;\n }\n return !ctx.settled;\n });\n }\n return new Promise(fulfil => {\n task.promise.then(() => {\n if (token === current_token)\n fulfil();\n });\n });\n }\n const spring = {\n set,\n update: (fn, opts) => set(fn(target_value, value), opts),\n subscribe: store.subscribe,\n stiffness,\n damping,\n precision\n };\n return spring;\n}\n\nfunction get_interpolator(a, b) {\n if (a === b || a !== a)\n return () => a;\n const type = typeof a;\n if (type !== typeof b || Array.isArray(a) !== Array.isArray(b)) {\n throw new Error('Cannot interpolate values of different type');\n }\n if (Array.isArray(a)) {\n const arr = b.map((bi, i) => {\n return get_interpolator(a[i], bi);\n });\n return t => arr.map(fn => fn(t));\n }\n if (type === 'object') {\n if (!a || !b)\n throw new Error('Object cannot be null');\n if (is_date(a) && is_date(b)) {\n a = a.getTime();\n b = b.getTime();\n const delta = b - a;\n return t => new Date(a + t * delta);\n }\n const keys = Object.keys(b);\n const interpolators = {};\n keys.forEach(key => {\n interpolators[key] = get_interpolator(a[key], b[key]);\n });\n return t => {\n const result = {};\n keys.forEach(key => {\n result[key] = interpolators[key](t);\n });\n return result;\n };\n }\n if (type === 'number') {\n const delta = b - a;\n return t => a + t * delta;\n }\n throw new Error(`Cannot interpolate ${type} values`);\n}\nfunction tweened(value, defaults = {}) {\n const store = writable(value);\n let task;\n let target_value = value;\n function set(new_value, opts) {\n if (value == null) {\n store.set(value = new_value);\n return Promise.resolve();\n }\n target_value = new_value;\n let previous_task = task;\n let started = false;\n let { delay = 0, duration = 400, easing = linear, interpolate = get_interpolator } = assign(assign({}, defaults), opts);\n if (duration === 0) {\n if (previous_task) {\n previous_task.abort();\n previous_task = null;\n }\n store.set(value = target_value);\n return Promise.resolve();\n }\n const start = now() + delay;\n let fn;\n task = loop(now => {\n if (now < start)\n return true;\n if (!started) {\n fn = interpolate(value, new_value);\n if (typeof duration === 'function')\n duration = duration(value, new_value);\n started = true;\n }\n if (previous_task) {\n previous_task.abort();\n previous_task = null;\n }\n const elapsed = now - start;\n if (elapsed > duration) {\n store.set(value = new_value);\n return false;\n }\n // @ts-ignore\n store.set(value = fn(easing(elapsed / duration)));\n return true;\n });\n return task.promise;\n }\n return {\n set,\n update: (fn, opts) => set(fn(target_value, value), opts),\n subscribe: store.subscribe\n };\n}\n\nexport { spring, tweened };\n","\n\n\n
    \n \n Timer\n
    \n
    \n \n\n
    \n
    \n {minutes}mins\n {seconds}s\n
    \n\n
    \n
    \n
    \n\n","\n\n
    \n
    \n
    \n \n\n
    \n \n\n
    \n \n
    Package Tracking
    \n \n \n
    \n \n
    Weather
    \n \n\n
    \n \n
    Free Email WEBpages
    \n \n \n
    \n
    \n\n\n
    \n \n
    Contracting
    \n \n
    \n\n \n
    Entertainment
    \n \n \n
    \n\n \n
    Travel\n
    \n \n\n \n
    \n\n
    \n\n
    \n \n
    Computer Software, etc.
    \n \n
    \n\n \n
    Reference & Special sites
    \n \n \n
    \n\n \n
    Earth and Beyond
    \n \n \n
    \n
    \n\n
    \n\n
    \n
    \n\n\n","import App from './App.svelte';\n\nconst app = new App({\n 'target': document.body,\n 'props': {\n 'events' : [\n\n ]\n\n }\n});\n\nexport default app;\n"],"names":["noop","identity","x","assign","tar","src","k","run","fn","blank_object","Object","create","run_all","fns","forEach","is_function","thing","safe_not_equal","a","b","subscribe","store","callbacks","unsub","unsubscribe","create_slot","definition","ctx","$$scope","slot_ctx","get_slot_context","slice","update_slot","slot","slot_definition","dirty","get_slot_changes_fn","get_slot_context_fn","slot_changes","lets","undefined","merged","len","Math","max","length","i","get_slot_changes","slot_context","p","null_to_empty","value","set_store_value","ret","set","is_client","window","now","performance","Date","raf","cb","requestAnimationFrame","tasks","Set","run_tasks","task","c","delete","f","size","loop","callback","promise","Promise","fulfill","add","[object Object]","append","target","node","appendChild","insert","anchor","insertBefore","detach","parentNode","removeChild","element","name","document","createElement","text","data","createTextNode","space","empty","listen","event","handler","options","addEventListener","removeEventListener","stop_propagation","stopPropagation","call","this","attr","attribute","removeAttribute","getAttribute","setAttribute","set_data","wholeText","set_input_value","input","set_style","key","important","style","setProperty","HtmlTag","e","n","html","nodeName","t","h","innerHTML","Array","from","childNodes","d","active_docs","current_component","active","create_rule","duration","delay","ease","uid","step","keyframes","rule","str","hash","charCodeAt","doc","ownerDocument","stylesheet","__svelte_stylesheet","head","sheet","current_rules","__svelte_rules","insertRule","cssRules","animation","delete_rule","previous","split","next","filter","anim","indexOf","deleted","join","deleteRule","clear","set_current_component","component","onMount","Error","get_current_component","$$","on_mount","push","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","resolve","update_scheduled","add_render_callback","flushing","seen_callbacks","flush","update","pop","has","fragment","before_update","after_update","dispatch","direction","kind","dispatchEvent","type","detail","createEvent","initCustomEvent","custom_event","outroing","outros","transition_in","block","local","transition_out","o","null_transition","create_bidirectional_transition","params","intro","config","running_program","pending_program","animation_name","clear_animation","init","program","abs","start","end","group","go","easing","tick","css","r","then","create_component","mount_component","on_destroy","m","new_on_destroy","map","destroy_component","detaching","make_dirty","fill","instance","create_fragment","not_equal","props","parent_component","prop_values","bound","context","Map","skip_bound","ready","rest","hydrate","nodes","children","l","SvelteComponent","$destroy","index","splice","$$props","obj","$$set","keys","todayStr","tomorrowStr","outString","binIcon","iconColour","glassArray","blueArray","greenArray","bothArray","calcDay","output","day","getDay","partString","getMonth","getDate","today","setDate","label","days","weeks","iterations","events","mod","getTime","item","ceil","getDays","setTimeout","bind","startdate","enddate","s","cubicOut","slide","getComputedStyle","opacity","height","parseFloat","padding_top","paddingTop","padding_bottom","paddingBottom","margin_top","marginTop","margin_bottom","marginBottom","border_top_width","borderTopWidth","border_bottom_width","borderBottomWidth","min","icon","viewMode","longPassword","shortPassword","prototype","random","floor","alpha","numbers","left","right","randomAmount","subscriber_queue","is_date","toString","get_interpolator","isArray","arr","bi","delta","interpolators","result","tweened","defaults","stop","subscribers","new_value","run_queue","invalidate","subscriber","writable","target_value","opts","previous_task","started","linear","interpolate","abort","elapsed","snd","range","timerID","progress","stopTimer","clearInterval","startVal","timer","minutes","$timer","seconds","$progress","setInterval","Audio","play","popitoutSmall","popitout","dataset","url","newwindow","open","focus","body"],"mappings":"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"} \ No newline at end of file diff --git a/public/favicon.png b/public/favicon.png new file mode 100755 index 0000000000000000000000000000000000000000..f7a4f79bb298112447446b0a7d14776e0c3b994b GIT binary patch literal 32224 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 literal 0 HcmV?d00001 diff --git a/public/gfx/bin.svg b/public/gfx/bin.svg new file mode 100644 index 0000000..202ab05 --- /dev/null +++ b/public/gfx/bin.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/public/gfx/popout.png b/public/gfx/popout.png new file mode 100755 index 0000000000000000000000000000000000000000..2ff7fe5b5d9110410814729255ce8e0e18a474ff GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4nR&W6hE&|zd)kqU!GMGL;J^Qu zGxHxiehf=gRC(=r>60Go;a>_1yi%N9?YongtDNlZ=zqlXk?Gg2r_!?}OL&1MFnGH9 KxvX