From 0c05c055f45825f8fda153fa791409077eadd7e8 Mon Sep 17 00:00:00 2001 From: chjm6 Date: Thu, 25 Aug 2022 10:41:51 -0400 Subject: [PATCH 1/6] Set up typescript and gitignore --- .gitignore | 5 +++++ README.md | 4 ++-- package-lock.json | 49 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 8 +++++++- server.js | 47 +++++++++++++++++++++------------------------ server.ts | 29 ++++++++++++++++++++++++++++ 6 files changed, 114 insertions(+), 28 deletions(-) create mode 100644 .gitignore create mode 100644 package-lock.json create mode 100644 server.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b5b4a6d --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ + +node_modules/ + +# Jetbrains files +.idea/ diff --git a/README.md b/README.md index bbf146f..d219340 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ This assignment requires that your website is both contained in a GitHub reposit ## Option 1 - Clone to computer, push to Github, import to Glitch (recommended) 1. Fork the starting project code in GitHub. This repo contains: - * the server code, `server.js` + * the server code, `server.ts` * A starting `index.html` file that you will edit as described below * A package.json file that helps configure Glitch * This README @@ -40,7 +40,7 @@ This assignment requires that your website is both contained in a GitHub reposit * Python * unit testing 4. Complete some technical and/or design achievements (see below). -5. Test your project to make sure that when someone goes to your main page, it displays correctly. You can do this locally by simply running `node server.js` from within the assignment directory. +5. Test your project to make sure that when someone goes to your main page, it displays correctly. You can do this locally by simply running `node server.ts` from within the assignment directory. 6. Modify the README file according to the specification below. 7. Commit and push all your changes to GitHub. diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..ee33471 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,49 @@ +{ + "name": "cr-4241-simple-glitch", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "cr-4241-simple-glitch", + "version": "0.1.0", + "dependencies": { + "typescript": "^4.7.4" + }, + "devDependencies": { + "@types/node": "^18.7.13" + } + }, + "node_modules/@types/node": { + "version": "18.7.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", + "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==", + "dev": true + }, + "node_modules/typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + } + }, + "dependencies": { + "@types/node": { + "version": "18.7.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", + "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==", + "dev": true + }, + "typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==" + } + } +} diff --git a/package.json b/package.json index 1699a50..5cd3b1a 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,12 @@ "description": "WPI CS 4241 first assignment", "author": "Charlie Roberts", "scripts": { - "start": "node server.js" + "start": "node server.ts" + }, + "dependencies": { + "typescript": "^4.7.4" + }, + "devDependencies": { + "@types/node": "^18.7.13" } } diff --git a/server.js b/server.js index 9490f71..832f865 100644 --- a/server.js +++ b/server.js @@ -1,25 +1,22 @@ -const http = require('http'), - fs = require('fs'), - port = 3000 - -const server = http.createServer( function( request,response ) { - switch( request.url ) { - case '/': - sendFile( response, 'index.html' ) - break - case '/index.html': - sendFile( response, 'index.html' ) - break - default: - response.end( '404 Error: File Not Found' ) - } -}) - -server.listen( process.env.PORT || port ) - -const sendFile = function( response, filename ) { - fs.readFile( filename, function( err, content ) { - file = content - response.end( content, 'utf-8' ) - }) -} +var http = require('http'), fs = require('fs'), port = 3000; +var server = http.createServer(function (request, response) { + console.log("Received request for ".concat(request.url)); + switch (request.url) { + case '/': + sendFile(response, 'index.html'); + break; + case '/index.html': + sendFile(response, 'index.html'); + break; + default: + response.end('404 Error: File Not Found'); + } +}); +server.listen(process.env.PORT || port); +console.log("Listening on port ".concat(port, "...\n")); +var sendFile = function (response, filename) { + fs.readFile(filename, function (err, content) { + file = content; // TODO: Why? + response.end(content, 'utf-8'); + }); +}; diff --git a/server.ts b/server.ts new file mode 100644 index 0000000..31907bb --- /dev/null +++ b/server.ts @@ -0,0 +1,29 @@ +const http = require('http'), + fs = require('fs'), + port = 3000; + +const server = http.createServer( function( request,response ) { + console.log(`Received request for ${request.url}`); + + switch( request.url ) { + case '/': + sendFile( response, 'index.html' ); + break + case '/index.html': + sendFile( response, 'index.html' ); + break + default: + response.end( '404 Error: File Not Found' ); + } +}) + +server.listen( process.env.PORT || port ); + +console.log(`Listening on port ${port}...\n`) + +const sendFile = function( response, filename ) { + fs.readFile( filename, function( err, content ) { + file = content; // TODO: Why? + response.end( content, 'utf-8' ); + }) +} From feafb51abe474e5b3a73b1ef91178fe73ef4dcfb Mon Sep 17 00:00:00 2001 From: chjm6 Date: Thu, 25 Aug 2022 10:53:23 -0400 Subject: [PATCH 2/6] Added tsconfig --- server.js | 13 ++++--- server.ts | 7 +++- tsconfig.json | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+), 7 deletions(-) create mode 100644 tsconfig.json diff --git a/server.js b/server.js index 832f865..7317c4c 100644 --- a/server.js +++ b/server.js @@ -1,6 +1,6 @@ -var http = require('http'), fs = require('fs'), port = 3000; -var server = http.createServer(function (request, response) { - console.log("Received request for ".concat(request.url)); +const http = require('http'), fs = require('fs'), port = 3000; +const server = http.createServer(function (request, response) { + console.log(`Received request for ${request.url}`); switch (request.url) { case '/': sendFile(response, 'index.html'); @@ -8,13 +8,16 @@ var server = http.createServer(function (request, response) { case '/index.html': sendFile(response, 'index.html'); break; + case '/styles.css': + sendFile(response, 'styles.css'); + break; default: response.end('404 Error: File Not Found'); } }); server.listen(process.env.PORT || port); -console.log("Listening on port ".concat(port, "...\n")); -var sendFile = function (response, filename) { +console.log(`Listening on port ${port}...\n`); +const sendFile = function (response, filename) { fs.readFile(filename, function (err, content) { file = content; // TODO: Why? response.end(content, 'utf-8'); diff --git a/server.ts b/server.ts index 31907bb..847d308 100644 --- a/server.ts +++ b/server.ts @@ -8,10 +8,13 @@ const server = http.createServer( function( request,response ) { switch( request.url ) { case '/': sendFile( response, 'index.html' ); - break + break; case '/index.html': sendFile( response, 'index.html' ); - break + break; + case '/styles.css': + sendFile( response, 'styles.css' ); + break; default: response.end( '404 Error: File Not Found' ); } diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..63f5ff3 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,101 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Projects */ + // "incremental": true, /* Enable incremental compilation */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es2021", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ + // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + + /* Modules */ + "module": "commonjs", /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "resolveJsonModule": true, /* Enable importing .json files */ + // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ + // "outDir": "./", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": false, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ + // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ + // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} From 29c6e508db291e6eca80c5d30eb6416779438522 Mon Sep 17 00:00:00 2001 From: CJACOBSON32 <34342644+CJACOBSON32@users.noreply.github.com> Date: Thu, 25 Aug 2022 13:25:37 -0400 Subject: [PATCH 3/6] Imported types and got started --- index.html | 10 ++++++- package-lock.json | 66 ++++++++++++++++++++++++++++++++++++++++++++--- package.json | 2 ++ server.js | 2 +- server.ts | 1 - styles.css | 41 +++++++++++++++++++++++++++++ 6 files changed, 115 insertions(+), 7 deletions(-) create mode 100644 styles.css diff --git a/index.html b/index.html index 37ac8c3..67cfc06 100644 --- a/index.html +++ b/index.html @@ -3,9 +3,17 @@ CS4241 Assignment 1 + -

Information about [Your name here]

+
+
+

Hello

+
+

my name is...

+

Cameron Jacobson

+
+

[Self introduction]

diff --git a/package-lock.json b/package-lock.json index ee33471..761614f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,17 +8,47 @@ "name": "cr-4241-simple-glitch", "version": "0.1.0", "dependencies": { + "@types/filesystem": "^0.0.32", + "@types/http-server": "^0.12.1", "typescript": "^4.7.4" }, "devDependencies": { "@types/node": "^18.7.13" } }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/filesystem": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.32.tgz", + "integrity": "sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==", + "dependencies": { + "@types/filewriter": "*" + } + }, + "node_modules/@types/filewriter": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.29.tgz", + "integrity": "sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==" + }, + "node_modules/@types/http-server": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/http-server/-/http-server-0.12.1.tgz", + "integrity": "sha512-OJ8zs0o8JuHo92KCCsLq4BqkHPi1+Aj2yoPQXJ18LPUxOA1lqKfgBLtHNAQTwwPzeBqyo+HDkWD91MkfOGvNJg==", + "dependencies": { + "@types/connect": "*" + } + }, "node_modules/@types/node": { "version": "18.7.13", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", - "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==", - "dev": true + "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==" }, "node_modules/typescript": { "version": "4.7.4", @@ -34,11 +64,39 @@ } }, "dependencies": { + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/filesystem": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.32.tgz", + "integrity": "sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==", + "requires": { + "@types/filewriter": "*" + } + }, + "@types/filewriter": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.29.tgz", + "integrity": "sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==" + }, + "@types/http-server": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/http-server/-/http-server-0.12.1.tgz", + "integrity": "sha512-OJ8zs0o8JuHo92KCCsLq4BqkHPi1+Aj2yoPQXJ18LPUxOA1lqKfgBLtHNAQTwwPzeBqyo+HDkWD91MkfOGvNJg==", + "requires": { + "@types/connect": "*" + } + }, "@types/node": { "version": "18.7.13", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", - "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==", - "dev": true + "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==" }, "typescript": { "version": "4.7.4", diff --git a/package.json b/package.json index 5cd3b1a..bff4402 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,8 @@ "start": "node server.ts" }, "dependencies": { + "@types/filesystem": "^0.0.32", + "@types/http-server": "^0.12.1", "typescript": "^4.7.4" }, "devDependencies": { diff --git a/server.js b/server.js index 7317c4c..c4c7caa 100644 --- a/server.js +++ b/server.js @@ -19,7 +19,7 @@ server.listen(process.env.PORT || port); console.log(`Listening on port ${port}...\n`); const sendFile = function (response, filename) { fs.readFile(filename, function (err, content) { - file = content; // TODO: Why? + File = content; // TODO: Why? response.end(content, 'utf-8'); }); }; diff --git a/server.ts b/server.ts index 847d308..1b3388b 100644 --- a/server.ts +++ b/server.ts @@ -26,7 +26,6 @@ console.log(`Listening on port ${port}...\n`) const sendFile = function( response, filename ) { fs.readFile( filename, function( err, content ) { - file = content; // TODO: Why? response.end( content, 'utf-8' ); }) } diff --git a/styles.css b/styles.css new file mode 100644 index 0000000..9f6e4bc --- /dev/null +++ b/styles.css @@ -0,0 +1,41 @@ +/*fonts*/ +@import +url('https://fonts.googleapis.com/css2?family=Roboto&display=swap'); + +* { + font-family: 'Roboto', sans-serif; +} + +/*Styles*/ +body { + margin: 0; +} + +h1 { + font-size: 60pt; +} + +h1, h2, h3 { + font-weight: 100; +} + +#splash { + height: 100vh; + max-height: 100vw; + background: aliceblue; + margin: 0; + display: flex; + justify-content: center; + align-items: center; +} + +#welcome-text { + display: flex; + flex-direction: column; + justify-items: center; + align-items: center; +} + +#welcome-text > * { + margin: 0 +} \ No newline at end of file From 459247cc4d0d11c1172192d084ea949e77009599 Mon Sep 17 00:00:00 2001 From: chjm6 Date: Mon, 29 Aug 2022 04:25:42 -0400 Subject: [PATCH 4/6] Implemented the website and updated README.md --- README.md | 106 +- client/index.html | 73 + client/material-btn.css | 65 + client/site_scripts.ts | 29 + client/styles.css | 102 + index.html | 36 - package-lock.json | 4058 ++++++++++++++++++++++++++++++++- package.json | 6 +- server.ts | 31 - server.js => server/server.js | 12 +- server/server.ts | 26 + styles.css | 41 - 12 files changed, 4350 insertions(+), 235 deletions(-) create mode 100644 client/index.html create mode 100644 client/material-btn.css create mode 100644 client/site_scripts.ts create mode 100644 client/styles.css delete mode 100644 index.html delete mode 100644 server.ts rename server.js => server/server.js (63%) create mode 100644 server/server.ts delete mode 100644 styles.css diff --git a/README.md b/README.md index d219340..ec43b21 100644 --- a/README.md +++ b/README.md @@ -1,92 +1,32 @@ Assignment 1 - Hello World: Basic Deployment w/ Git, GitHub, Glitch === -*DUE: Monday, August 30th by 11:59 AM (before the start of class!)* +Cameron Jacobson +website link here -This assignment is a "warm-up" exercise. -You will simply deploy the starting Web site that you will use this term to [Glitch](http://www.glitch.com/). +GH username: CJACOBSON32 -Treat this assignment as a chance to get up to speed on Git, GitHub, and Glitch. -If you already know these, great! -However, if you're new to them, spend several hours practicing, experimenting, and reading documentation. Don't just get your website up and done, as -you'll need skills with these tools throughout the rest of the course. - -Assignment details ---- - -This assignment requires that your website is both contained in a GitHub repository and hosted in Glitch. There are two ways to do this: - -1. Fork this repo and clone it to your computer, make changes locally on your computer, push the repo onto GitHub, and then import your GitHub repo into Glitch. -2. Fork this repo and then import it directly to Glitch, use the Glitch editor to make changes, and then export your repo from Glitch back to GitHub. -3. Same as #1, but instead of importing from Github to Glitch you just upload the files (or copy/paste) them directly to Glitch. - -## Option 1 - Clone to computer, push to Github, import to Glitch (recommended) - -1. Fork the starting project code in GitHub. This repo contains: - * the server code, `server.ts` - * A starting `index.html` file that you will edit as described below - * A package.json file that helps configure Glitch - * This README -2. Edit `index.html` to show the following information about you: - * your name and class at WPI (e.g. class of 2020) Note: Do not put any contact or personal information that you do not potentially want other people outside of this class to see. - * your major(s) and minor(s) - * previous computer science courses that you have taken at WPI - * your experience with the following technologies and methods (none, some, a lot) - * HTML - * CSS - * Java - * JavaScript - * Ruby - * Python - * unit testing -4. Complete some technical and/or design achievements (see below). -5. Test your project to make sure that when someone goes to your main page, it displays correctly. You can do this locally by simply running `node server.ts` from within the assignment directory. - -6. Modify the README file according to the specification below. -7. Commit and push all your changes to GitHub. -8. Deploy your project to Glitch. You can do this by [importing the repo from GitHub](https://medium.com/glitch/import-code-from-anywhere-83fb60ea4875) -9. Ensure that your project has the proper naming scheme (guide follows) so we can find it. -9. Create and submit a Pull Request to the original repo. - -## Option 2 - Fork repo and import to Glitch, edit on Glitch, and then export back to GitHub -Most of these steps are the same as option 1, except that you being by creating a new project Glitch using this repo as a staring point (just choose New Project > Import from GitHub for this and then paste in the link to your repo). At the end, you can export your Glitch project to GitHub by [following these instructions](https://www.youtube.com/watch?time_continue=77&v=aWJFbtrgW4E&feature=emb_logo). *Note that the location of the projecct export feature in Glitch has moved from what they show in this video.* It's now located in Tools > Import and Export (tools is located in the bottom left of the Glitch editor). - -## Option 3 - Clone to computer, edit locally, push to GitHub, upload to Glitch -This is the same as option 1, except that for step 6 (Deploy to Glitch) you simply upload each file to your Glitch repository (using New File > Upload a File). - -Naming and URL Scheme ---- - -You must use a consistent naming scheme for all projects in this course. -If we can't find it, we can't grade it. - -By default Glitch often assigns your application a random name. To change it, click on the project dropdown menu in the upper left corner of Glitch. You will then see an additional text field displaying the project name in the resulting menu; click here to edit the name. - -The name scheme should be `a1-yourGitHubUsername`. -The `a1` will need to be updated to `a2`, `a3`, and so on in future projects. - -Achievements ---- -Below are some suggested technical and design achievements. You can use these to help boost your grade up to an A and customize the assignment to your personal interests. These are recommended acheivements, but feel free to create/implement your own... just make sure you thoroughly describe what you did in your README and why it was challenging. ALL ACHIEVEMENTS MUST BE DESCRIBED IN YOUR README IN ORDER TO GET CREDIT FOR THEM. - -*Technical* -1. (max 5 points) Style your page using CSS. Each style rule you apply will get you 1 extra point for a maximum of 5 points. Be sure to describe your style rules in your README. -2. (5 points) Add a simple JavaScript animation to the page. -3. (max 5 points) Experiment with other HTML tags (links, images, tables etc.) Each extra tag you use will get you 1 extra point for a maximum of 5 points. Be sure to describe the links you use in your README. - -*Design* -1. (10 points) Create a color palette using [color.adobe.com](https://color.adobe.com). Use all the colors in the palette in your webpage by implementing the appropriate CSS. Add a small screenshot of the color wheel for your color palette to your repo. -2. (5 points) Use a font from [Goolge Fonts](https://fonts.google.com) in your website. - -Resources ---- - -If you need a JavaScript/HTML/CSS refresher, see [HTML & CSS](https://wpi.primo.exlibrisgroup.com/discovery/fulldisplay?docid=alma9936730811904746&context=L&vid=01WPI_INST:Default&lang=en&search_scope=MyInst_and_CI&adaptor=Local%20Search%20Engine&tab=Everything&query=any,contains,Jon%20Duckett&offset=0) and/or [JavaScript Codeacademy](https://www.codecademy.com/en/tracks/javascript). - -If you need a Git/GitHub refreseher, see [GitHub Bootcamp](https://help.github.com/categories/bootcamp/), the [GitHub Guides](https://guides.github.com/) (especially the ones on Hello World, and Understanding the GitHub Flow, and Forking Projects), and [CodeSchool's Try Git Course](https://www.codeschool.com/courses/try-git). +## Technical Achievements +- **Styled page with CSS**: Added rules for pretty much every type of element + - Made a rule for "content" class that constrained all website content into a form factor that could fit whatever + browser it was being rendered on. + - Made "Hello" a different color from the color wheel + - Made every element on the page load in with a fade-in entrance + - made classes for vboxes and hboxes to arrange elements + - Adjusted the margins of several elements to make the spacing neater +- Used the p5 js library to make a javascript painting toy at the bottom of the site + - Also made a button that scrolls the page down +- Used some other html5 elements + - Section + - Image + - link (to the website for Planetside 2, my current favorite videogame) + - Button + - Canvas -Sample Readme (delete the above when you're ready to submit, and modify the text below with your links and descriptions) ---- +### Design Achievements +- **Used a color palette from Adobe color wheel:** I used all 5 colors from the color scheme +![](color_wheel.png) +- **Used the Roboto Font from Google Fonts**: I used Roboto as the font for the primary copy text in my site. Charlie Roberts http://a1-charlieroberts.glitch.me diff --git a/client/index.html b/client/index.html new file mode 100644 index 0000000..29ba455 --- /dev/null +++ b/client/index.html @@ -0,0 +1,73 @@ + + + + Cameron Jacobson Assignment 1 + + + + + + + + +
+
+
+
+

Hello

+

my name is

+

Cameron Jacobson

+ + +
+
+
+ +
+
+

A bit about me...

+
+
+

+ I'm a computer science major +

+ +
+
+
+

+ I like astronomy +

+ +
+
+
+

+ I play a lot of... +

+ + + + +
+
+
+
+ +
+
+

Here's a cool thing:

+
+

[Click to erase]

+
+
+ +
+ + + diff --git a/client/material-btn.css b/client/material-btn.css new file mode 100644 index 0000000..24e34eb --- /dev/null +++ b/client/material-btn.css @@ -0,0 +1,65 @@ + +/*A material design style button taken from this codepen: (https://codepen.io/sebj54/pen/ogvzdr)*/ + +.mtl-btn { + position: relative; + + display: block; + margin: 30px auto; + padding: 0; + + overflow: hidden; + + border-width: 0; + outline: none; + outline: none; + border-radius: 4px; + box-shadow: 0 1px 4px rgba(0, 0, 0, .6); + + background-color: #708591; + color: #ecf0f1; + + transition: background-color .3s; +} + +.mtl-btn:hover, .mtl-btn:focus { + background-color: #3F4A52; +} + +.mtl-btn > * { + position: relative; +} + +.mtl-btn span { + display: block; + padding: 12px 24px; +} + +.mtl-btn:before { + content: ""; + + position: absolute; + top: 50%; + left: 50%; + + display: block; + width: 0; + padding-top: 0; + + border-radius: 100%; + + background-color: rgba(236, 240, 241, .3); + + -webkit-transform: translate(-50%, -50%); + -moz-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + -o-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} + +.mtl-btn:active:before { + width: 120%; + padding-top: 120%; + + transition: width .2s ease-out, padding-top .2s ease-out; +} diff --git a/client/site_scripts.ts b/client/site_scripts.ts new file mode 100644 index 0000000..479c675 --- /dev/null +++ b/client/site_scripts.ts @@ -0,0 +1,29 @@ +import P5 from "p5" + +const enterSiteButton = document.getElementById("enter-site"); + +enterSiteButton.addEventListener("click", function () { + document.getElementById("details").scrollIntoView(); +}); + +// Animations with p5 js +const sketch = (p5: P5) => { + p5.setup = () => { + const canvas = p5.createCanvas(window.innerWidth-20, window.innerHeight - 200); + canvas.parent("sketch"); + p5.background(`#A0BED1`); + p5.fill("red"); + p5.strokeWeight(0); + + window.addEventListener("resize", + (event) => {p5.resizeCanvas(window.innerWidth-20, window.innerHeight - 200)}); + } + + p5.draw = () => { + if (p5.mouseIsPressed) + p5.background(`#A0BED1`) + p5.circle(p5.mouseX, p5.mouseY, 20); + } +} + +new P5(sketch); \ No newline at end of file diff --git a/client/styles.css b/client/styles.css new file mode 100644 index 0000000..f491f91 --- /dev/null +++ b/client/styles.css @@ -0,0 +1,102 @@ +/*fonts*/ +@import +url('https://fonts.googleapis.com/css2?family=Roboto&display=swap'); + +* { + font-family: 'Roboto', sans-serif; +} + +/*Global fonts*/ +h1 { + font-size: 60pt; +} + +h1, h2, h3 { + font-weight: 100; +} + +/*Body*/ +body { + margin: 0; +} + +/*Animate a fade-in entry for every site element*/ +:not(body, div, section, html) { + animation: loadin 1s ease forwards; +} + +@keyframes loadin { + from { + opacity: 0; + transform: translateY(10pt); + } + to { + opacity: 1; + transform: translateY(0pt); + } +} + +/*Section Styling*/ +section { + display: flex; + flex-direction: column; + align-items: center; +} + +section:nth-child(odd) { + background-color: #A0BED1; + padding: 20pt 0pt 20pt 0pt; +} + +section:nth-child(even) { + background-color: #ABCADE; + padding: 20pt 0pt 20pt 0pt; +} + +/*Organizational*/ +.content { + width: clamp(400px, 67%, 1280px); +} + +.hbox { + display: flex; + flex-direction: row; + align-items: center; +} + +.vbox { + display: flex; + flex-direction: column; + align-items: center; +} + +.flex-center { + display: flex; + align-content: center; + justify-items: center; +} + +hr { + margin: 40pt auto; +} + +/*Section Specific*/ +#splash { + height: 100vh; + max-height: 100vw; + margin: 0; + display: flex; + justify-content: center; + align-items: center; +} + +#welcome-text { + display: flex; + flex-direction: column; + justify-items: center; + align-items: center; +} + +#welcome-text > * { + margin: 0 +} \ No newline at end of file diff --git a/index.html b/index.html deleted file mode 100644 index 67cfc06..0000000 --- a/index.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - CS4241 Assignment 1 - - - - -
-
-

Hello

-
-

my name is...

-

Cameron Jacobson

-
-
-

- [Self introduction] -

-

- [Major and other information] -

-

- [Other things] -

- -

Experience

-

- Working experience -

-
    -
  • IBM/Rational
  • -
  • WPI
  • -
- - diff --git a/package-lock.json b/package-lock.json index 761614f..a55ed63 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,60 +10,3410 @@ "dependencies": { "@types/filesystem": "^0.0.32", "@types/http-server": "^0.12.1", + "@types/p5": "^1.4.2", + "p5": "^1.4.2", + "parcel": "^2.7.0", "typescript": "^4.7.4" }, "devDependencies": { "@types/node": "^18.7.13" } }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@lezer/common": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.15.12.tgz", + "integrity": "sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig==" + }, + "node_modules/@lezer/lr": { + "version": "0.15.8", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-0.15.8.tgz", + "integrity": "sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg==", + "dependencies": { + "@lezer/common": "^0.15.0" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.5.2.tgz", + "integrity": "sha512-+F8ioQIUN68B4UFiIBYu0QQvgb9FmlKw2ctQMSBfW2QBrZIxz9vD9jCGqTCPqZBRbPHAS/vG1zSXnKqnS2ch/A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.5.2.tgz", + "integrity": "sha512-KvPH56KRLLx4KSfKBx0m1r7GGGUMXm0jrKmNE7plbHlesZMuPJICtn07HYgQhj1LNsK7Yqwuvnqh1QxhJnF1EA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.5.2.tgz", + "integrity": "sha512-5kQAP21hAkfW5Bl+e0P57dV4dGYnkNIpR7f/GAh6QHlgXx+vp/teVj4PGRZaKAvt0GX6++N6hF8NnGElLDuIDw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.5.2.tgz", + "integrity": "sha512-aLl89VHL/wjhievEOlPocoefUyWdvzVrcQ/MHQYZm2JfV1jUsrbr/ZfkPPUFvZBf+VSE+Q0clWs9l29PCX1hTQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.5.2.tgz", + "integrity": "sha512-xUdUfwDJLGjOUPH3BuPBt0NlIrR7f/QHKgu3GZIXswMMIihAekj2i97oI0iWG5Bok/b+OBjHPfa8IU9velnP/Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.5.2.tgz", + "integrity": "sha512-zrBczSbXKxEyK2ijtbRdICDygRqWSRPpZMN5dD1T8VMEW5RIhIbwFWw2phDRXuBQdVDpSjalCIUMWMV2h3JaZA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@mischnic/json-sourcemap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz", + "integrity": "sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA==", + "dependencies": { + "@lezer/common": "^0.15.7", + "@lezer/lr": "^0.15.4", + "json5": "^2.2.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-2.1.2.tgz", + "integrity": "sha512-TyVLn3S/+ikMDsh0gbKv2YydKClN8HaJDDpONlaZR+LVJmsxLFUgA+O7zu59h9+f9gX1aj/ahw9wqa6rosmrYQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-2.1.2.tgz", + "integrity": "sha512-YPXtcVkhmVNoMGlqp81ZHW4dMxK09msWgnxtsDpSiZwTzUBG2N+No2bsr7WMtBKCVJMSD6mbAl7YhKUqkp/Few==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-2.1.2.tgz", + "integrity": "sha512-42R4MAFeIeNn+L98qwxAt360bwzX2Kf0ZQkBBucJ2Ircza3asoY4CDbgiu9VWklq8gWJVSJSJBwDI+c/THiWkA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-2.1.2.tgz", + "integrity": "sha512-vHZ2JiOWF2+DN9lzltGbhtQNzDo8fKFGrf37UJrgqxU0yvtERrzUugnfnX1wmVfFhSsF8OxrfqiNOUc5hko1Zg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-2.1.2.tgz", + "integrity": "sha512-RjRoRxg7Q3kPAdUSC5EUUPlwfMkIVhmaRTIe+cqHbKrGZ4M6TyCA/b5qMaukQ/1CHWrqYY2FbKOAU8Hg0pQFzg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-2.1.2.tgz", + "integrity": "sha512-rIZVR48zA8hGkHIK7ED6+ZiXsjRCcAVBJbm8o89OKAMTmEAQ2QvoOxoiu3w2isAaWwzgtQIOFIqHwvZDyLKCvw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@parcel/bundler-default": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.7.0.tgz", + "integrity": "sha512-PU5MtWWhc+dYI9x8mguYnm9yiG6TkI7niRpxgJgtqAyGHuEyNXVBQQ0X+qyOF4D9LdankBf8uNN18g31IET2Zg==", + "dependencies": { + "@parcel/diagnostic": "2.7.0", + "@parcel/hash": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/cache": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.7.0.tgz", + "integrity": "sha512-JlXNoZXcWzLKdDlfeF3dIj5Vtel5T9vtdBN72PJ+cjC4qNHk4Uwvc5sfOBELuibGN0bVu2bwY9nUgSwCiB1iIA==", + "dependencies": { + "@parcel/fs": "2.7.0", + "@parcel/logger": "2.7.0", + "@parcel/utils": "2.7.0", + "lmdb": "2.5.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.7.0" + } + }, + "node_modules/@parcel/codeframe": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.7.0.tgz", + "integrity": "sha512-UTKx0jejJmmO1dwTHSJuRgrO8N6PMlkxRT6sew8N6NC3Bgv6pu0EbO+RtlWt/jCvzcdLOPdIoTzj4MMZvgcMYg==", + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/compressor-raw": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.7.0.tgz", + "integrity": "sha512-SCXwnOOQT6EmpusBsYWNQ/RFri+2JnKuE0gMSf2dROl2xbererX45FYzeDplWALCKAdjMNDpFwU+FyMYoVZSCQ==", + "dependencies": { + "@parcel/plugin": "2.7.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/config-default": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.7.0.tgz", + "integrity": "sha512-ZzsLr97AYrz8c9k6qn3DlqPzifi3vbP7q3ynUrAFxmt0L4+K0H9N508ZkORYmCgaFjLIQ8Y3eWpwCJ0AewPNIg==", + "dependencies": { + "@parcel/bundler-default": "2.7.0", + "@parcel/compressor-raw": "2.7.0", + "@parcel/namer-default": "2.7.0", + "@parcel/optimizer-css": "2.7.0", + "@parcel/optimizer-htmlnano": "2.7.0", + "@parcel/optimizer-image": "2.7.0", + "@parcel/optimizer-svgo": "2.7.0", + "@parcel/optimizer-terser": "2.7.0", + "@parcel/packager-css": "2.7.0", + "@parcel/packager-html": "2.7.0", + "@parcel/packager-js": "2.7.0", + "@parcel/packager-raw": "2.7.0", + "@parcel/packager-svg": "2.7.0", + "@parcel/reporter-dev-server": "2.7.0", + "@parcel/resolver-default": "2.7.0", + "@parcel/runtime-browser-hmr": "2.7.0", + "@parcel/runtime-js": "2.7.0", + "@parcel/runtime-react-refresh": "2.7.0", + "@parcel/runtime-service-worker": "2.7.0", + "@parcel/transformer-babel": "2.7.0", + "@parcel/transformer-css": "2.7.0", + "@parcel/transformer-html": "2.7.0", + "@parcel/transformer-image": "2.7.0", + "@parcel/transformer-js": "2.7.0", + "@parcel/transformer-json": "2.7.0", + "@parcel/transformer-postcss": "2.7.0", + "@parcel/transformer-posthtml": "2.7.0", + "@parcel/transformer-raw": "2.7.0", + "@parcel/transformer-react-refresh-wrap": "2.7.0", + "@parcel/transformer-svg": "2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.7.0" + } + }, + "node_modules/@parcel/core": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.7.0.tgz", + "integrity": "sha512-7yKZUdh314Q/kU/9+27ZYTfcnXS6VYHuG+iiUlIohnvUUybxLqVJhdMU9Q+z2QcPka1IdJWz4K4Xx0y6/4goyg==", + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/cache": "2.7.0", + "@parcel/diagnostic": "2.7.0", + "@parcel/events": "2.7.0", + "@parcel/fs": "2.7.0", + "@parcel/graph": "2.7.0", + "@parcel/hash": "2.7.0", + "@parcel/logger": "2.7.0", + "@parcel/package-manager": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/types": "2.7.0", + "@parcel/utils": "2.7.0", + "@parcel/workers": "2.7.0", + "abortcontroller-polyfill": "^1.1.9", + "base-x": "^3.0.8", + "browserslist": "^4.6.6", + "clone": "^2.1.1", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "json5": "^2.2.0", + "msgpackr": "^1.5.4", + "nullthrows": "^1.1.1", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/css": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css/-/css-1.13.0.tgz", + "integrity": "sha512-S4QD4Jd+j8QzU5ZZpfg+1cdmEXeJ71wabbV6ff3DJB/05gXWj9Qf/ZZUVtwH3V255Oif6/jcEmcWY4AmFXTyLw==", + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/css-darwin-arm64": "1.13.0", + "@parcel/css-darwin-x64": "1.13.0", + "@parcel/css-linux-arm-gnueabihf": "1.13.0", + "@parcel/css-linux-arm64-gnu": "1.13.0", + "@parcel/css-linux-arm64-musl": "1.13.0", + "@parcel/css-linux-x64-gnu": "1.13.0", + "@parcel/css-linux-x64-musl": "1.13.0", + "@parcel/css-win32-x64-msvc": "1.13.0" + } + }, + "node_modules/@parcel/css-darwin-arm64": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-darwin-arm64/-/css-darwin-arm64-1.13.0.tgz", + "integrity": "sha512-GqyAeNa0Bah6WuIgqeBJCBRRcGEqkRMkK1YxgaFBhJiicrJJJ1/aZetzOhwNy6JGpQ8wnKP+p+t6IX2wrklaWw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/css-darwin-x64": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-darwin-x64/-/css-darwin-x64-1.13.0.tgz", + "integrity": "sha512-k7/YBwZ5nDXmyDLCo8Pf7ATqQPo34emv9Tpz2LbYUU3NCO2uhsGzjjsQiYXsAp5QeupPHgDmQeEX6WSvXxo0fQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/css-linux-arm-gnueabihf": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-arm-gnueabihf/-/css-linux-arm-gnueabihf-1.13.0.tgz", + "integrity": "sha512-mBtDUkF/Gje3a7KMt2edEc9rUdKupTy49bvgGFE9dc+k9ZBQg1L8JK35mUo0Y3Y0jJmRDURY2+LRnxvOWJm3TA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/css-linux-arm64-gnu": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-arm64-gnu/-/css-linux-arm64-gnu-1.13.0.tgz", + "integrity": "sha512-h90mKM4SpLLHc1vd06O5SkOae9aR36CfX+NWzgwLI4VKiZGcr+D78gsF7+CDkWrf1hqx5UonguMrqlN/MVdJBQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/css-linux-arm64-musl": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-arm64-musl/-/css-linux-arm64-musl-1.13.0.tgz", + "integrity": "sha512-FGg6UyHaPwmZ+IFJmSiUzznNUsGYG1aIvKIWIaw2CgH2cUamqLORSnCIBV4LXrpZJ7I8X2845L76hzMvaetkRg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/css-linux-x64-gnu": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-x64-gnu/-/css-linux-x64-gnu-1.13.0.tgz", + "integrity": "sha512-QJyCKM4ms7OaklffoqleouigDAYATZcCcZkp9AUEt7lqg8i2sWFrInEwWM4QhauwML3gxdKaRVugVZCzMSp3Kg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/css-linux-x64-musl": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-x64-musl/-/css-linux-x64-musl-1.13.0.tgz", + "integrity": "sha512-V2mA8hzZaYRyMIZjEAMaZqrziYTtkjHP/jdS+qnAnHNdvIav3+3Saca3hbSnD2hQuM9iu2wzD3gHoVexlCjTOg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/css-win32-x64-msvc": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-win32-x64-msvc/-/css-win32-x64-msvc-1.13.0.tgz", + "integrity": "sha512-0WFdh4nS5lkjLnBr0N6O7OatbjUFZdVBSlPDdTdwEYZkl8La+SnmGGMEkrE/jiQ6NjjwgLorN7xainmPWuQdDw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/diagnostic": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.7.0.tgz", + "integrity": "sha512-pdq/cTwVoL0n8yuDCRXFRSQHVWdmmIXPt3R3iT4KtYDYvOrMT2dLPT79IMqQkhYPANW8GuL15n/WxRngfRdkug==", + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/events": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.7.0.tgz", + "integrity": "sha512-kQDwMKgZ1U4M/G17qeDYF6bW5kybluN6ajYPc7mZcrWg+trEI/oXi81GMFaMX0BSUhwhbiN5+/Vb2wiG/Sn6ig==", + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/fs": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.7.0.tgz", + "integrity": "sha512-PU5fo4Hh8y03LZgemgVREttc0wyHQUNmsJCybxTB7EjJie2CqJRumo+DFppArlvdchLwJdc9em03yQV/GNWrEg==", + "dependencies": { + "@parcel/fs-search": "2.7.0", + "@parcel/types": "2.7.0", + "@parcel/utils": "2.7.0", + "@parcel/watcher": "^2.0.0", + "@parcel/workers": "2.7.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.7.0" + } + }, + "node_modules/@parcel/fs-search": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.7.0.tgz", + "integrity": "sha512-K1Hv25bnRpwQVA15RvcRuB8ZhfclnCHA8N8L6w7Ul1ncSJDxCIkIAc5hAubYNNYW3kWjCC2SOaEgFKnbvMllEQ==", + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/graph": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.7.0.tgz", + "integrity": "sha512-Q6E94GS6q45PtsZh+m+gvFRp/N1Qopxhu2sxjcWsGs5iBd6IWn2oYLWOH5iVzEjWuYpW2HkB08lH6J50O63uOA==", + "dependencies": { + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/hash": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.7.0.tgz", + "integrity": "sha512-k6bSKnIlPJMPU3yjQzfgfvF9zuJZGOAlJgzpL4BbWvdbE8BTdjzLcFn0Ujrtud94EgIkiXd22sC2HpCUWoHGdA==", + "dependencies": { + "detect-libc": "^1.0.3", + "xxhash-wasm": "^0.4.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/logger": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.7.0.tgz", + "integrity": "sha512-qjMY/bYo38+o+OiIrTRldU9CwL1E7J72t+xkTP8QIcUxLWz5LYR0YbynZUVulmBSfqsykjjxCy4a+8siVr+lPw==", + "dependencies": { + "@parcel/diagnostic": "2.7.0", + "@parcel/events": "2.7.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/markdown-ansi": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.7.0.tgz", + "integrity": "sha512-ipOX0D6FVZFEXeb/z8MnTMq2RQEIuaILY90olVIuHEFLHHfOPEn+RK3u13HA1ChF5/9E3cMD79tu6x9JL9Kqag==", + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/namer-default": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.7.0.tgz", + "integrity": "sha512-lIKMdsmi//7fepecNDYmJYzBlL91HifPsX03lJCdu1dC6q5fBs+gG0XjKKG7yPnSCw1qH/4m7drzt9+dRZYAHQ==", + "dependencies": { + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/node-resolver-core": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.7.0.tgz", + "integrity": "sha512-5UJQHalqMxdhJIs2hhqQzFfQpF7+NAowsRq064lYtiRvcD8wMr3OOQ9wd1iazGpFSl4JKdT7BwDU9/miDJmanQ==", + "dependencies": { + "@parcel/diagnostic": "2.7.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-css": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.7.0.tgz", + "integrity": "sha512-IfnOMACqhcAclKyOW9X9JpsknB6OShk9OVvb8EvbDTKHJhQHNNmzE88OkSI/pS3ZVZP9Zj+nWcVHguV+kvDeiQ==", + "dependencies": { + "@parcel/css": "^1.12.2", + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.7.0", + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-htmlnano": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.7.0.tgz", + "integrity": "sha512-5QrGdWS5Hi4VXE3nQNrGqugmSXt68YIsWwKRAdarOxzyULSJS3gbCiQOXqIPRJobfZjnSIcdtkyxSiCUe1inIA==", + "dependencies": { + "@parcel/plugin": "2.7.0", + "htmlnano": "^2.0.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "svgo": "^2.4.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-image": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.7.0.tgz", + "integrity": "sha512-EnaXz5UjR67FUu0BEcqZTT9LsbB/iFAkkghCotbnbOuC5QQsloq6tw54TKU3y+R3qsjgUoMtGxPcGfVoXxZXYw==", + "dependencies": { + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "@parcel/workers": "2.7.0", + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-svgo": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.7.0.tgz", + "integrity": "sha512-IO1JV4NpfP3V7FrhsqCcV8pDQIHraFi1/ZvEJyssITxjH49Im/txKlwMiQuZZryAPn8Xb8g395Muawuk6AK6sg==", + "dependencies": { + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "svgo": "^2.4.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-terser": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.7.0.tgz", + "integrity": "sha512-07VZjIO8xsl2/WmS/qHI8lI/cpu47iS9eRpqwfZEEsdk1cfz50jhWkmFudHBxiHGMfcZ//1+DdaPg9RDBWZtZA==", + "dependencies": { + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1", + "terser": "^5.2.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/package-manager": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.7.0.tgz", + "integrity": "sha512-wmfSX1mRrTi8MeA4KrnPk/x7zGUsILCQmTo6lA4gygzAxDbM1pGuyFN8/Kt0y0SFO2lbljARtD/4an5qdotH+Q==", + "dependencies": { + "@parcel/diagnostic": "2.7.0", + "@parcel/fs": "2.7.0", + "@parcel/logger": "2.7.0", + "@parcel/types": "2.7.0", + "@parcel/utils": "2.7.0", + "@parcel/workers": "2.7.0", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.7.0" + } + }, + "node_modules/@parcel/packager-css": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.7.0.tgz", + "integrity": "sha512-44nzZwu+ssGuiFmYM6cf/Y4iChiUZ4DUzzpegnGlhXtKJKe4NHntxThJynuRZWKN2AAf48avApDpimg2jW0KDw==", + "dependencies": { + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-html": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.7.0.tgz", + "integrity": "sha512-Zgqd7sdcY/UnR370GR0q2ilmEohUDXsO8A1F28QCJzIsR1iCB6KRUT74+pawfQ1IhXZLaaFLLYe0UWcfm0JeXg==", + "dependencies": { + "@parcel/plugin": "2.7.0", + "@parcel/types": "2.7.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-js": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.7.0.tgz", + "integrity": "sha512-wTRdM81PgRVDzWGXdWmqLwguWnTYWzhEDdjXpW2n8uMOu/CjHhMtogk65aaYk3GOnq6OBL/NsrmBiV/zKPj1vA==", + "dependencies": { + "@parcel/diagnostic": "2.7.0", + "@parcel/hash": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.7.0", + "globals": "^13.2.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-raw": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.7.0.tgz", + "integrity": "sha512-jg2Zp8dI5VpIQlaeahXDCfrPN9m/DKht1NkR9P2CylMAwqCcc1Xc1RRiF0wfwcPZpPMpq1265n+4qnB7rjGBlA==", + "dependencies": { + "@parcel/plugin": "2.7.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-svg": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.7.0.tgz", + "integrity": "sha512-EmJg3HpD6/xxKBjir/CdCKJZwI24iVfBuxRS9LUp3xHAIebOzVh1z6IN+i2Di5+NyRwfOFaLliL4uMa1zwbyCA==", + "dependencies": { + "@parcel/plugin": "2.7.0", + "@parcel/types": "2.7.0", + "@parcel/utils": "2.7.0", + "posthtml": "^0.16.4" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/plugin": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.7.0.tgz", + "integrity": "sha512-qqgx+nnMn6/0lRc4lKbLGmhNtBiT93S2gFNB4Eb4Pfz/SxVYoW+fmml+KdfOSiZffWOAH5L6NwhyD7N8aSikzw==", + "dependencies": { + "@parcel/types": "2.7.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-cli": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.7.0.tgz", + "integrity": "sha512-80gEODg8cnAmnxGVuaSVDo8JJ54P9AA2bHwSs1cIkHWlJ3BjDQb83H31bBHncJ5Kn5kQ/j+7WjlqHpTCiOR9PA==", + "dependencies": { + "@parcel/plugin": "2.7.0", + "@parcel/types": "2.7.0", + "@parcel/utils": "2.7.0", + "chalk": "^4.1.0", + "term-size": "^2.2.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-dev-server": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.7.0.tgz", + "integrity": "sha512-ySuou5addK8fGue8aXzo536BaEjMujDrEc1xkp4TasInXHVcA98b+SYX5NAZTGob5CxKvZQ5ylhg77zW30B+iA==", + "dependencies": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/resolver-default": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.7.0.tgz", + "integrity": "sha512-v8TvWsbLK7/q7n4gv6OrYNbW18xUx4zKbVMGZb1u4yMhzEH4HFr1D9OeoTq3jk+ximAigds8B6triQbL5exF7A==", + "dependencies": { + "@parcel/node-resolver-core": "2.7.0", + "@parcel/plugin": "2.7.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-browser-hmr": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.7.0.tgz", + "integrity": "sha512-PLbMLdclQeYsi2LkilZVGFV1n3y55G1jaBvby4ekedUZjMw3SWdMY2tDxgSDdFWfLCnYHJXdGUQSzGGi1kPzjA==", + "dependencies": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-js": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.7.0.tgz", + "integrity": "sha512-9/YUZTBNrSN2H6rbz/o1EOM0O7I3ZR/x9IDzxjJBD6Mi+0uCgCD02aedare/SNr1qgnbZZWmhpOzC+YgREcfLA==", + "dependencies": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-react-refresh": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.7.0.tgz", + "integrity": "sha512-vDKO0rWqRzEpmvoZ4kkYUiSsTxT5NnH904BFPFxKI0wJCl6yEmPuEifmATo73OuYhP6jIP3Qfl1R4TtiDFPJ1Q==", + "dependencies": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "react-error-overlay": "6.0.9", + "react-refresh": "^0.9.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-service-worker": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.7.0.tgz", + "integrity": "sha512-uD2pAV0yV6+e7JaWH4KVPbG+zRCrxr/OACyS9tIh+Q/R1vRmh8zGM3yhdrcoiZ7tFOnM72vd6xY11eTrUsSVig==", + "dependencies": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/source-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.0.tgz", + "integrity": "sha512-E7UOEIof2o89LrKk1agSLmwakjigmEdDp1ZaEdsLVEvq63R/bul4Ij5CT+0ZDcijGpl5tnTbQADY9EyYGtjYgQ==", + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": "^12.18.3 || >=14" + } + }, + "node_modules/@parcel/transformer-babel": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.7.0.tgz", + "integrity": "sha512-7iklDXXnKH1530+QbI+e4kIJ+Q1puA1ulRS10db3aUJMj5GnvXGDFwhSZ7+T1ps66QHO7cVO29VlbqiRDarH1Q==", + "dependencies": { + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.7.0", + "browserslist": "^4.6.6", + "json5": "^2.2.0", + "nullthrows": "^1.1.1", + "semver": "^5.7.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-css": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.7.0.tgz", + "integrity": "sha512-J4EpWK9spQpXyNCmKK8Xnane0xW/1B/EAmfp7Fiv7g+5yUjY4ODf4KUugvE+Eb2gekPkhOKNHermO2KrX0/PFA==", + "dependencies": { + "@parcel/css": "^1.12.2", + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.7.0", + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-html": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.7.0.tgz", + "integrity": "sha512-wYJl5rn81W+Rlk9oQwDJcjoVsWVDKyeri84FzmlGXOsg0EYgnqOiG+3MDM8GeZjfuGe5fuoum4eqZeS0WdUHXw==", + "dependencies": { + "@parcel/diagnostic": "2.7.0", + "@parcel/hash": "2.7.0", + "@parcel/plugin": "2.7.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-image": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.7.0.tgz", + "integrity": "sha512-mhi9/R5/ULhCkL2COVIKhNFoLDiZwQgprdaTJr5fnODggVxEX5o7ebFV6KNLMTEkwZUJWoB1hL0ziI0++DtoFA==", + "dependencies": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "@parcel/workers": "2.7.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "peerDependencies": { + "@parcel/core": "^2.7.0" + } + }, + "node_modules/@parcel/transformer-js": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.7.0.tgz", + "integrity": "sha512-mzerR+D4rDomUSIk5RSTa2w+DXBdXUeQrpDO74WCDdpDi1lIl8ppFpqtmU7O6y6p8QsgkmS9b0g/vhcry6CJTA==", + "dependencies": { + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.7.0", + "@parcel/workers": "2.7.0", + "@swc/helpers": "^0.4.2", + "browserslist": "^4.6.6", + "detect-libc": "^1.0.3", + "nullthrows": "^1.1.1", + "regenerator-runtime": "^0.13.7", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.7.0" + } + }, + "node_modules/@parcel/transformer-json": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.7.0.tgz", + "integrity": "sha512-RQjuxBpYOch+kr4a0zi77KJtOLTPYRM7iq4NN80zKnA0r0dwDUCxZBtaj2l0O0o3R4MMJnm+ncP+cB7XR7dZYA==", + "dependencies": { + "@parcel/plugin": "2.7.0", + "json5": "^2.2.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-postcss": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.7.0.tgz", + "integrity": "sha512-b6RskXBWf0MjpC9qjR2dQ1ZdRnlOiKYseG5CEovWCqM218RtdydFKz7jS+5Gxkb6qBtOG7zGPONXdPe+gTILcA==", + "dependencies": { + "@parcel/diagnostic": "2.7.0", + "@parcel/hash": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "clone": "^2.1.1", + "nullthrows": "^1.1.1", + "postcss-value-parser": "^4.2.0", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-posthtml": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.7.0.tgz", + "integrity": "sha512-cP8YOiSynWJ1ycmBlhnnHeuQb2cwmklZ+BNyLUktj5p78kDy2de7VjX+dRNRHoW4H9OgEcSF4UEfDVVz5RYIhw==", + "dependencies": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-raw": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.7.0.tgz", + "integrity": "sha512-sDnItWCFSDez0izK1i5cgv+kXzZTbcJh4rNpVIgmE1kBLvAz608sqgcCkavb2wVJIvLesxYM+5G4p1CwkDlZ1g==", + "dependencies": { + "@parcel/plugin": "2.7.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-react-refresh-wrap": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.7.0.tgz", + "integrity": "sha512-1vRmIJzyBA1nIiXTAU6tZExq2FvJj/2F0ft6KDw8GYPv0KjmdiPo/PmaZ7JeSVOM6SdXQIQCbTmp1vkMP7DtkA==", + "dependencies": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "react-refresh": "^0.9.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-svg": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.7.0.tgz", + "integrity": "sha512-ioER37zceuuE+K6ZrnjCyMUWEnv+63hIAFResc1OXxRhyt+7kzMz9ZqK0Mt6QMLwl1dxhkLmrU41n9IxzKZuSQ==", + "dependencies": { + "@parcel/diagnostic": "2.7.0", + "@parcel/hash": "2.7.0", + "@parcel/plugin": "2.7.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/types": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.7.0.tgz", + "integrity": "sha512-+dhXVUnseTCpJvBTGMp0V6X13z6O/A/+CUtwEpMGZ8XSmZ4Gk44GvaTiBOp0bJpWG4fvCKp+UmC8PYbrDiiziw==", + "dependencies": { + "@parcel/cache": "2.7.0", + "@parcel/diagnostic": "2.7.0", + "@parcel/fs": "2.7.0", + "@parcel/package-manager": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/workers": "2.7.0", + "utility-types": "^3.10.0" + } + }, + "node_modules/@parcel/utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.7.0.tgz", + "integrity": "sha512-jNZ5bIGg1r1RDRKi562o4kuVwnz+XJ2Ie3b0Zwrqwvgfj6AbRFIKzDd+h85dWWmcDYzKUbHp11u6VJl1u8Vapg==", + "dependencies": { + "@parcel/codeframe": "2.7.0", + "@parcel/diagnostic": "2.7.0", + "@parcel/hash": "2.7.0", + "@parcel/logger": "2.7.0", + "@parcel/markdown-ansi": "2.7.0", + "@parcel/source-map": "^2.0.0", + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.5.tgz", + "integrity": "sha512-x0hUbjv891omnkcHD7ZOhiyyUqUUR6MNjq89JhEI3BxppeKWAm6NPQsqqRrAkCJBogdT/o/My21sXtTI9rJIsw==", + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^3.2.1", + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/workers": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.7.0.tgz", + "integrity": "sha512-99VfaOX+89+RaoTSyH9ZQtkMBFZBFMvJmVJ/GeJT6QCd2wtKBStTHlaSnQOkLD/iRjJCNwV2xpZmm8YkTwV+hg==", + "dependencies": { + "@parcel/diagnostic": "2.7.0", + "@parcel/logger": "2.7.0", + "@parcel/types": "2.7.0", + "@parcel/utils": "2.7.0", + "chrome-trace-event": "^1.0.2", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.7.0" + } + }, + "node_modules/@swc/helpers": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz", + "integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/@types/connect": { "version": "3.4.35", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", "dependencies": { - "@types/node": "*" + "@types/node": "*" + } + }, + "node_modules/@types/filesystem": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.32.tgz", + "integrity": "sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==", + "dependencies": { + "@types/filewriter": "*" + } + }, + "node_modules/@types/filewriter": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.29.tgz", + "integrity": "sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==" + }, + "node_modules/@types/http-server": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/http-server/-/http-server-0.12.1.tgz", + "integrity": "sha512-OJ8zs0o8JuHo92KCCsLq4BqkHPi1+Aj2yoPQXJ18LPUxOA1lqKfgBLtHNAQTwwPzeBqyo+HDkWD91MkfOGvNJg==", + "dependencies": { + "@types/connect": "*" + } + }, + "node_modules/@types/node": { + "version": "18.7.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", + "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==" + }, + "node_modules/@types/p5": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@types/p5/-/p5-1.4.2.tgz", + "integrity": "sha512-tzJ2PdmeXlX8tidbA1/pQEhs0MHVWam0K4ux5ri0GrZXhBU3QrpTpSVzNaBDuo6KheryHdH8wR82x1nPvxo42g==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/abortcontroller-polyfill": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.3.tgz", + "integrity": "sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==" + }, + "node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/browserslist": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.5" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001384", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001384.tgz", + "integrity": "sha512-BBWt57kqWbc0GYZXb47wTXpmAgqr5LSibPzNjk/AWMdmJMQhLqOl3c/Kd4OAU/tu4NLfYkMx8Tlq3RVBkOBolQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/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==" + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.233", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.233.tgz", + "integrity": "sha512-ejwIKXTg1wqbmkcRJh9Ur3hFGHFDZDw1POzdsVrB2WZjgRuRMHIQQKNpe64N/qh3ZtH2otEoRoS+s6arAAuAAw==" + }, + "node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/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==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/get-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/globals": { + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/htmlnano": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.0.2.tgz", + "integrity": "sha512-+ZrQFS4Ub+zd+/fWwfvoYCEGNEa0/zrpys6CyXxvZDwtL7Pl+pOtRkiujyvBQ7Lmfp7/iEPxtOFgxWA16Gkj3w==", + "dependencies": { + "cosmiconfig": "^7.0.1", + "posthtml": "^0.16.5", + "timsort": "^0.3.0" + }, + "peerDependencies": { + "cssnano": "^5.0.11", + "postcss": "^8.3.11", + "purgecss": "^4.0.3", + "relateurl": "^0.2.7", + "srcset": "^5.0.0", + "svgo": "^2.8.0", + "terser": "^5.10.0", + "uncss": "^0.17.3" + }, + "peerDependenciesMeta": { + "cssnano": { + "optional": true + }, + "postcss": { + "optional": true + }, + "purgecss": { + "optional": true + }, + "relateurl": { + "optional": true + }, + "srcset": { + "optional": true + }, + "svgo": { + "optional": true + }, + "terser": { + "optional": true + }, + "uncss": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-json": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", + "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/lmdb": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.5.2.tgz", + "integrity": "sha512-V5V5Xa2Hp9i2XsbDALkBTeHXnBXh/lEmk9p22zdr7jtuOIY9TGhjK6vAvTpOOx9IKU4hJkRWZxn/HsvR1ELLtA==", + "hasInstallScript": true, + "dependencies": { + "msgpackr": "^1.5.4", + "node-addon-api": "^4.3.0", + "node-gyp-build-optional-packages": "5.0.3", + "ordered-binary": "^1.2.4", + "weak-lru-cache": "^1.2.2" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "2.5.2", + "@lmdb/lmdb-darwin-x64": "2.5.2", + "@lmdb/lmdb-linux-arm": "2.5.2", + "@lmdb/lmdb-linux-arm64": "2.5.2", + "@lmdb/lmdb-linux-x64": "2.5.2", + "@lmdb/lmdb-win32-x64": "2.5.2" + } + }, + "node_modules/lmdb/node_modules/node-addon-api": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==" + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/msgpackr": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.6.2.tgz", + "integrity": "sha512-bqSQ0DYJbXbrJcrZFmMygUZmqQiDfI2ewFVWcrZY12w5XHWtPuW4WppDT/e63Uu311ajwkRRXSoF0uILroBeTA==", + "optionalDependencies": { + "msgpackr-extract": "^2.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-2.1.2.tgz", + "integrity": "sha512-cmrmERQFb19NX2JABOGtrKdHMyI6RUyceaPBQ2iRz9GnDkjBWFjNJC0jyyoOfZl2U/LZE3tQCCQc4dlRyA8mcA==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.0.3" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "2.1.2", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "2.1.2", + "@msgpackr-extract/msgpackr-extract-linux-arm": "2.1.2", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "2.1.2", + "@msgpackr-extract/msgpackr-extract-linux-x64": "2.1.2", + "@msgpackr-extract/msgpackr-extract-win32-x64": "2.1.2" + } + }, + "node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" + }, + "node_modules/node-gyp-build": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", + "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz", + "integrity": "sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA==", + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, + "node_modules/ordered-binary": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.3.0.tgz", + "integrity": "sha512-knIeYepTI6BDAzGxqFEDGtI/iGqs57H32CInAIxEvAHG46vk1Di0CEpyc1A7iY39B1mfik3g3KLYwOTNnnMHLA==" + }, + "node_modules/p5": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/p5/-/p5-1.4.2.tgz", + "integrity": "sha512-J5zqZ/l1NIbJSuNr/FH9nDYgBRg7/NubStNPnx1fQCMSAgxI6peKDHs9i5iaG9EuwbJzjuG6/5bX/D0lqqrP9A==" + }, + "node_modules/parcel": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.7.0.tgz", + "integrity": "sha512-pRYwnivwtNP0tip8xYSo4zCB0XhLt7/gJzP1p8OovCqkmFjG9VG+GW9TcAKqMIo0ovEa9tT+/s6gY1Qy+BONGQ==", + "dependencies": { + "@parcel/config-default": "2.7.0", + "@parcel/core": "2.7.0", + "@parcel/diagnostic": "2.7.0", + "@parcel/events": "2.7.0", + "@parcel/fs": "2.7.0", + "@parcel/logger": "2.7.0", + "@parcel/package-manager": "2.7.0", + "@parcel/reporter-cli": "2.7.0", + "@parcel/reporter-dev-server": "2.7.0", + "@parcel/utils": "2.7.0", + "chalk": "^4.1.0", + "commander": "^7.0.0", + "get-port": "^4.2.0", + "v8-compile-cache": "^2.0.0" + }, + "bin": { + "parcel": "lib/bin.js" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/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==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/posthtml": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", + "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", + "dependencies": { + "posthtml-parser": "^0.11.0", + "posthtml-render": "^3.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/posthtml-parser": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", + "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", + "dependencies": { + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml-render": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "dependencies": { + "is-json": "^2.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml/node_modules/posthtml-parser": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", + "dependencies": { + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", + "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==" + }, + "node_modules/react-refresh": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", + "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, + "node_modules/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.0.tgz", + "integrity": "sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA==", + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/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==" + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==" + }, + "node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", + "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/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==" + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==" + }, + "node_modules/xxhash-wasm": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz", + "integrity": "sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "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": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@lezer/common": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.15.12.tgz", + "integrity": "sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig==" + }, + "@lezer/lr": { + "version": "0.15.8", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-0.15.8.tgz", + "integrity": "sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg==", + "requires": { + "@lezer/common": "^0.15.0" + } + }, + "@lmdb/lmdb-darwin-arm64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.5.2.tgz", + "integrity": "sha512-+F8ioQIUN68B4UFiIBYu0QQvgb9FmlKw2ctQMSBfW2QBrZIxz9vD9jCGqTCPqZBRbPHAS/vG1zSXnKqnS2ch/A==", + "optional": true + }, + "@lmdb/lmdb-darwin-x64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.5.2.tgz", + "integrity": "sha512-KvPH56KRLLx4KSfKBx0m1r7GGGUMXm0jrKmNE7plbHlesZMuPJICtn07HYgQhj1LNsK7Yqwuvnqh1QxhJnF1EA==", + "optional": true + }, + "@lmdb/lmdb-linux-arm": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.5.2.tgz", + "integrity": "sha512-5kQAP21hAkfW5Bl+e0P57dV4dGYnkNIpR7f/GAh6QHlgXx+vp/teVj4PGRZaKAvt0GX6++N6hF8NnGElLDuIDw==", + "optional": true + }, + "@lmdb/lmdb-linux-arm64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.5.2.tgz", + "integrity": "sha512-aLl89VHL/wjhievEOlPocoefUyWdvzVrcQ/MHQYZm2JfV1jUsrbr/ZfkPPUFvZBf+VSE+Q0clWs9l29PCX1hTQ==", + "optional": true + }, + "@lmdb/lmdb-linux-x64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.5.2.tgz", + "integrity": "sha512-xUdUfwDJLGjOUPH3BuPBt0NlIrR7f/QHKgu3GZIXswMMIihAekj2i97oI0iWG5Bok/b+OBjHPfa8IU9velnP/Q==", + "optional": true + }, + "@lmdb/lmdb-win32-x64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.5.2.tgz", + "integrity": "sha512-zrBczSbXKxEyK2ijtbRdICDygRqWSRPpZMN5dD1T8VMEW5RIhIbwFWw2phDRXuBQdVDpSjalCIUMWMV2h3JaZA==", + "optional": true + }, + "@mischnic/json-sourcemap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz", + "integrity": "sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA==", + "requires": { + "@lezer/common": "^0.15.7", + "@lezer/lr": "^0.15.4", + "json5": "^2.2.1" + } + }, + "@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-2.1.2.tgz", + "integrity": "sha512-TyVLn3S/+ikMDsh0gbKv2YydKClN8HaJDDpONlaZR+LVJmsxLFUgA+O7zu59h9+f9gX1aj/ahw9wqa6rosmrYQ==", + "optional": true + }, + "@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-2.1.2.tgz", + "integrity": "sha512-YPXtcVkhmVNoMGlqp81ZHW4dMxK09msWgnxtsDpSiZwTzUBG2N+No2bsr7WMtBKCVJMSD6mbAl7YhKUqkp/Few==", + "optional": true + }, + "@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-2.1.2.tgz", + "integrity": "sha512-42R4MAFeIeNn+L98qwxAt360bwzX2Kf0ZQkBBucJ2Ircza3asoY4CDbgiu9VWklq8gWJVSJSJBwDI+c/THiWkA==", + "optional": true + }, + "@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-2.1.2.tgz", + "integrity": "sha512-vHZ2JiOWF2+DN9lzltGbhtQNzDo8fKFGrf37UJrgqxU0yvtERrzUugnfnX1wmVfFhSsF8OxrfqiNOUc5hko1Zg==", + "optional": true + }, + "@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-2.1.2.tgz", + "integrity": "sha512-RjRoRxg7Q3kPAdUSC5EUUPlwfMkIVhmaRTIe+cqHbKrGZ4M6TyCA/b5qMaukQ/1CHWrqYY2FbKOAU8Hg0pQFzg==", + "optional": true + }, + "@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-2.1.2.tgz", + "integrity": "sha512-rIZVR48zA8hGkHIK7ED6+ZiXsjRCcAVBJbm8o89OKAMTmEAQ2QvoOxoiu3w2isAaWwzgtQIOFIqHwvZDyLKCvw==", + "optional": true + }, + "@parcel/bundler-default": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.7.0.tgz", + "integrity": "sha512-PU5MtWWhc+dYI9x8mguYnm9yiG6TkI7niRpxgJgtqAyGHuEyNXVBQQ0X+qyOF4D9LdankBf8uNN18g31IET2Zg==", + "requires": { + "@parcel/diagnostic": "2.7.0", + "@parcel/hash": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1" + } + }, + "@parcel/cache": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.7.0.tgz", + "integrity": "sha512-JlXNoZXcWzLKdDlfeF3dIj5Vtel5T9vtdBN72PJ+cjC4qNHk4Uwvc5sfOBELuibGN0bVu2bwY9nUgSwCiB1iIA==", + "requires": { + "@parcel/fs": "2.7.0", + "@parcel/logger": "2.7.0", + "@parcel/utils": "2.7.0", + "lmdb": "2.5.2" + } + }, + "@parcel/codeframe": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.7.0.tgz", + "integrity": "sha512-UTKx0jejJmmO1dwTHSJuRgrO8N6PMlkxRT6sew8N6NC3Bgv6pu0EbO+RtlWt/jCvzcdLOPdIoTzj4MMZvgcMYg==", + "requires": { + "chalk": "^4.1.0" + } + }, + "@parcel/compressor-raw": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.7.0.tgz", + "integrity": "sha512-SCXwnOOQT6EmpusBsYWNQ/RFri+2JnKuE0gMSf2dROl2xbererX45FYzeDplWALCKAdjMNDpFwU+FyMYoVZSCQ==", + "requires": { + "@parcel/plugin": "2.7.0" + } + }, + "@parcel/config-default": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.7.0.tgz", + "integrity": "sha512-ZzsLr97AYrz8c9k6qn3DlqPzifi3vbP7q3ynUrAFxmt0L4+K0H9N508ZkORYmCgaFjLIQ8Y3eWpwCJ0AewPNIg==", + "requires": { + "@parcel/bundler-default": "2.7.0", + "@parcel/compressor-raw": "2.7.0", + "@parcel/namer-default": "2.7.0", + "@parcel/optimizer-css": "2.7.0", + "@parcel/optimizer-htmlnano": "2.7.0", + "@parcel/optimizer-image": "2.7.0", + "@parcel/optimizer-svgo": "2.7.0", + "@parcel/optimizer-terser": "2.7.0", + "@parcel/packager-css": "2.7.0", + "@parcel/packager-html": "2.7.0", + "@parcel/packager-js": "2.7.0", + "@parcel/packager-raw": "2.7.0", + "@parcel/packager-svg": "2.7.0", + "@parcel/reporter-dev-server": "2.7.0", + "@parcel/resolver-default": "2.7.0", + "@parcel/runtime-browser-hmr": "2.7.0", + "@parcel/runtime-js": "2.7.0", + "@parcel/runtime-react-refresh": "2.7.0", + "@parcel/runtime-service-worker": "2.7.0", + "@parcel/transformer-babel": "2.7.0", + "@parcel/transformer-css": "2.7.0", + "@parcel/transformer-html": "2.7.0", + "@parcel/transformer-image": "2.7.0", + "@parcel/transformer-js": "2.7.0", + "@parcel/transformer-json": "2.7.0", + "@parcel/transformer-postcss": "2.7.0", + "@parcel/transformer-posthtml": "2.7.0", + "@parcel/transformer-raw": "2.7.0", + "@parcel/transformer-react-refresh-wrap": "2.7.0", + "@parcel/transformer-svg": "2.7.0" + } + }, + "@parcel/core": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.7.0.tgz", + "integrity": "sha512-7yKZUdh314Q/kU/9+27ZYTfcnXS6VYHuG+iiUlIohnvUUybxLqVJhdMU9Q+z2QcPka1IdJWz4K4Xx0y6/4goyg==", + "requires": { + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/cache": "2.7.0", + "@parcel/diagnostic": "2.7.0", + "@parcel/events": "2.7.0", + "@parcel/fs": "2.7.0", + "@parcel/graph": "2.7.0", + "@parcel/hash": "2.7.0", + "@parcel/logger": "2.7.0", + "@parcel/package-manager": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/types": "2.7.0", + "@parcel/utils": "2.7.0", + "@parcel/workers": "2.7.0", + "abortcontroller-polyfill": "^1.1.9", + "base-x": "^3.0.8", + "browserslist": "^4.6.6", + "clone": "^2.1.1", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "json5": "^2.2.0", + "msgpackr": "^1.5.4", + "nullthrows": "^1.1.1", + "semver": "^5.7.1" + } + }, + "@parcel/css": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css/-/css-1.13.0.tgz", + "integrity": "sha512-S4QD4Jd+j8QzU5ZZpfg+1cdmEXeJ71wabbV6ff3DJB/05gXWj9Qf/ZZUVtwH3V255Oif6/jcEmcWY4AmFXTyLw==", + "requires": { + "@parcel/css-darwin-arm64": "1.13.0", + "@parcel/css-darwin-x64": "1.13.0", + "@parcel/css-linux-arm-gnueabihf": "1.13.0", + "@parcel/css-linux-arm64-gnu": "1.13.0", + "@parcel/css-linux-arm64-musl": "1.13.0", + "@parcel/css-linux-x64-gnu": "1.13.0", + "@parcel/css-linux-x64-musl": "1.13.0", + "@parcel/css-win32-x64-msvc": "1.13.0", + "detect-libc": "^1.0.3" + } + }, + "@parcel/css-darwin-arm64": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-darwin-arm64/-/css-darwin-arm64-1.13.0.tgz", + "integrity": "sha512-GqyAeNa0Bah6WuIgqeBJCBRRcGEqkRMkK1YxgaFBhJiicrJJJ1/aZetzOhwNy6JGpQ8wnKP+p+t6IX2wrklaWw==", + "optional": true + }, + "@parcel/css-darwin-x64": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-darwin-x64/-/css-darwin-x64-1.13.0.tgz", + "integrity": "sha512-k7/YBwZ5nDXmyDLCo8Pf7ATqQPo34emv9Tpz2LbYUU3NCO2uhsGzjjsQiYXsAp5QeupPHgDmQeEX6WSvXxo0fQ==", + "optional": true + }, + "@parcel/css-linux-arm-gnueabihf": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-arm-gnueabihf/-/css-linux-arm-gnueabihf-1.13.0.tgz", + "integrity": "sha512-mBtDUkF/Gje3a7KMt2edEc9rUdKupTy49bvgGFE9dc+k9ZBQg1L8JK35mUo0Y3Y0jJmRDURY2+LRnxvOWJm3TA==", + "optional": true + }, + "@parcel/css-linux-arm64-gnu": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-arm64-gnu/-/css-linux-arm64-gnu-1.13.0.tgz", + "integrity": "sha512-h90mKM4SpLLHc1vd06O5SkOae9aR36CfX+NWzgwLI4VKiZGcr+D78gsF7+CDkWrf1hqx5UonguMrqlN/MVdJBQ==", + "optional": true + }, + "@parcel/css-linux-arm64-musl": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-arm64-musl/-/css-linux-arm64-musl-1.13.0.tgz", + "integrity": "sha512-FGg6UyHaPwmZ+IFJmSiUzznNUsGYG1aIvKIWIaw2CgH2cUamqLORSnCIBV4LXrpZJ7I8X2845L76hzMvaetkRg==", + "optional": true + }, + "@parcel/css-linux-x64-gnu": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-x64-gnu/-/css-linux-x64-gnu-1.13.0.tgz", + "integrity": "sha512-QJyCKM4ms7OaklffoqleouigDAYATZcCcZkp9AUEt7lqg8i2sWFrInEwWM4QhauwML3gxdKaRVugVZCzMSp3Kg==", + "optional": true + }, + "@parcel/css-linux-x64-musl": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-linux-x64-musl/-/css-linux-x64-musl-1.13.0.tgz", + "integrity": "sha512-V2mA8hzZaYRyMIZjEAMaZqrziYTtkjHP/jdS+qnAnHNdvIav3+3Saca3hbSnD2hQuM9iu2wzD3gHoVexlCjTOg==", + "optional": true + }, + "@parcel/css-win32-x64-msvc": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@parcel/css-win32-x64-msvc/-/css-win32-x64-msvc-1.13.0.tgz", + "integrity": "sha512-0WFdh4nS5lkjLnBr0N6O7OatbjUFZdVBSlPDdTdwEYZkl8La+SnmGGMEkrE/jiQ6NjjwgLorN7xainmPWuQdDw==", + "optional": true + }, + "@parcel/diagnostic": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.7.0.tgz", + "integrity": "sha512-pdq/cTwVoL0n8yuDCRXFRSQHVWdmmIXPt3R3iT4KtYDYvOrMT2dLPT79IMqQkhYPANW8GuL15n/WxRngfRdkug==", + "requires": { + "@mischnic/json-sourcemap": "^0.1.0", + "nullthrows": "^1.1.1" + } + }, + "@parcel/events": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.7.0.tgz", + "integrity": "sha512-kQDwMKgZ1U4M/G17qeDYF6bW5kybluN6ajYPc7mZcrWg+trEI/oXi81GMFaMX0BSUhwhbiN5+/Vb2wiG/Sn6ig==" + }, + "@parcel/fs": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.7.0.tgz", + "integrity": "sha512-PU5fo4Hh8y03LZgemgVREttc0wyHQUNmsJCybxTB7EjJie2CqJRumo+DFppArlvdchLwJdc9em03yQV/GNWrEg==", + "requires": { + "@parcel/fs-search": "2.7.0", + "@parcel/types": "2.7.0", + "@parcel/utils": "2.7.0", + "@parcel/watcher": "^2.0.0", + "@parcel/workers": "2.7.0" + } + }, + "@parcel/fs-search": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.7.0.tgz", + "integrity": "sha512-K1Hv25bnRpwQVA15RvcRuB8ZhfclnCHA8N8L6w7Ul1ncSJDxCIkIAc5hAubYNNYW3kWjCC2SOaEgFKnbvMllEQ==", + "requires": { + "detect-libc": "^1.0.3" + } + }, + "@parcel/graph": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.7.0.tgz", + "integrity": "sha512-Q6E94GS6q45PtsZh+m+gvFRp/N1Qopxhu2sxjcWsGs5iBd6IWn2oYLWOH5iVzEjWuYpW2HkB08lH6J50O63uOA==", + "requires": { + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1" + } + }, + "@parcel/hash": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.7.0.tgz", + "integrity": "sha512-k6bSKnIlPJMPU3yjQzfgfvF9zuJZGOAlJgzpL4BbWvdbE8BTdjzLcFn0Ujrtud94EgIkiXd22sC2HpCUWoHGdA==", + "requires": { + "detect-libc": "^1.0.3", + "xxhash-wasm": "^0.4.2" + } + }, + "@parcel/logger": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.7.0.tgz", + "integrity": "sha512-qjMY/bYo38+o+OiIrTRldU9CwL1E7J72t+xkTP8QIcUxLWz5LYR0YbynZUVulmBSfqsykjjxCy4a+8siVr+lPw==", + "requires": { + "@parcel/diagnostic": "2.7.0", + "@parcel/events": "2.7.0" + } + }, + "@parcel/markdown-ansi": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.7.0.tgz", + "integrity": "sha512-ipOX0D6FVZFEXeb/z8MnTMq2RQEIuaILY90olVIuHEFLHHfOPEn+RK3u13HA1ChF5/9E3cMD79tu6x9JL9Kqag==", + "requires": { + "chalk": "^4.1.0" + } + }, + "@parcel/namer-default": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.7.0.tgz", + "integrity": "sha512-lIKMdsmi//7fepecNDYmJYzBlL91HifPsX03lJCdu1dC6q5fBs+gG0XjKKG7yPnSCw1qH/4m7drzt9+dRZYAHQ==", + "requires": { + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "nullthrows": "^1.1.1" + } + }, + "@parcel/node-resolver-core": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.7.0.tgz", + "integrity": "sha512-5UJQHalqMxdhJIs2hhqQzFfQpF7+NAowsRq064lYtiRvcD8wMr3OOQ9wd1iazGpFSl4JKdT7BwDU9/miDJmanQ==", + "requires": { + "@parcel/diagnostic": "2.7.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1", + "semver": "^5.7.1" + } + }, + "@parcel/optimizer-css": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.7.0.tgz", + "integrity": "sha512-IfnOMACqhcAclKyOW9X9JpsknB6OShk9OVvb8EvbDTKHJhQHNNmzE88OkSI/pS3ZVZP9Zj+nWcVHguV+kvDeiQ==", + "requires": { + "@parcel/css": "^1.12.2", + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.7.0", + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1" + } + }, + "@parcel/optimizer-htmlnano": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.7.0.tgz", + "integrity": "sha512-5QrGdWS5Hi4VXE3nQNrGqugmSXt68YIsWwKRAdarOxzyULSJS3gbCiQOXqIPRJobfZjnSIcdtkyxSiCUe1inIA==", + "requires": { + "@parcel/plugin": "2.7.0", + "htmlnano": "^2.0.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "svgo": "^2.4.0" + } + }, + "@parcel/optimizer-image": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.7.0.tgz", + "integrity": "sha512-EnaXz5UjR67FUu0BEcqZTT9LsbB/iFAkkghCotbnbOuC5QQsloq6tw54TKU3y+R3qsjgUoMtGxPcGfVoXxZXYw==", + "requires": { + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "@parcel/workers": "2.7.0", + "detect-libc": "^1.0.3" + } + }, + "@parcel/optimizer-svgo": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.7.0.tgz", + "integrity": "sha512-IO1JV4NpfP3V7FrhsqCcV8pDQIHraFi1/ZvEJyssITxjH49Im/txKlwMiQuZZryAPn8Xb8g395Muawuk6AK6sg==", + "requires": { + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "svgo": "^2.4.0" + } + }, + "@parcel/optimizer-terser": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.7.0.tgz", + "integrity": "sha512-07VZjIO8xsl2/WmS/qHI8lI/cpu47iS9eRpqwfZEEsdk1cfz50jhWkmFudHBxiHGMfcZ//1+DdaPg9RDBWZtZA==", + "requires": { + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1", + "terser": "^5.2.0" + } + }, + "@parcel/package-manager": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.7.0.tgz", + "integrity": "sha512-wmfSX1mRrTi8MeA4KrnPk/x7zGUsILCQmTo6lA4gygzAxDbM1pGuyFN8/Kt0y0SFO2lbljARtD/4an5qdotH+Q==", + "requires": { + "@parcel/diagnostic": "2.7.0", + "@parcel/fs": "2.7.0", + "@parcel/logger": "2.7.0", + "@parcel/types": "2.7.0", + "@parcel/utils": "2.7.0", + "@parcel/workers": "2.7.0", + "semver": "^5.7.1" + } + }, + "@parcel/packager-css": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.7.0.tgz", + "integrity": "sha512-44nzZwu+ssGuiFmYM6cf/Y4iChiUZ4DUzzpegnGlhXtKJKe4NHntxThJynuRZWKN2AAf48avApDpimg2jW0KDw==", + "requires": { + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1" + } + }, + "@parcel/packager-html": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.7.0.tgz", + "integrity": "sha512-Zgqd7sdcY/UnR370GR0q2ilmEohUDXsO8A1F28QCJzIsR1iCB6KRUT74+pawfQ1IhXZLaaFLLYe0UWcfm0JeXg==", + "requires": { + "@parcel/plugin": "2.7.0", + "@parcel/types": "2.7.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5" + } + }, + "@parcel/packager-js": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.7.0.tgz", + "integrity": "sha512-wTRdM81PgRVDzWGXdWmqLwguWnTYWzhEDdjXpW2n8uMOu/CjHhMtogk65aaYk3GOnq6OBL/NsrmBiV/zKPj1vA==", + "requires": { + "@parcel/diagnostic": "2.7.0", + "@parcel/hash": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.7.0", + "globals": "^13.2.0", + "nullthrows": "^1.1.1" + } + }, + "@parcel/packager-raw": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.7.0.tgz", + "integrity": "sha512-jg2Zp8dI5VpIQlaeahXDCfrPN9m/DKht1NkR9P2CylMAwqCcc1Xc1RRiF0wfwcPZpPMpq1265n+4qnB7rjGBlA==", + "requires": { + "@parcel/plugin": "2.7.0" + } + }, + "@parcel/packager-svg": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.7.0.tgz", + "integrity": "sha512-EmJg3HpD6/xxKBjir/CdCKJZwI24iVfBuxRS9LUp3xHAIebOzVh1z6IN+i2Di5+NyRwfOFaLliL4uMa1zwbyCA==", + "requires": { + "@parcel/plugin": "2.7.0", + "@parcel/types": "2.7.0", + "@parcel/utils": "2.7.0", + "posthtml": "^0.16.4" + } + }, + "@parcel/plugin": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.7.0.tgz", + "integrity": "sha512-qqgx+nnMn6/0lRc4lKbLGmhNtBiT93S2gFNB4Eb4Pfz/SxVYoW+fmml+KdfOSiZffWOAH5L6NwhyD7N8aSikzw==", + "requires": { + "@parcel/types": "2.7.0" + } + }, + "@parcel/reporter-cli": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.7.0.tgz", + "integrity": "sha512-80gEODg8cnAmnxGVuaSVDo8JJ54P9AA2bHwSs1cIkHWlJ3BjDQb83H31bBHncJ5Kn5kQ/j+7WjlqHpTCiOR9PA==", + "requires": { + "@parcel/plugin": "2.7.0", + "@parcel/types": "2.7.0", + "@parcel/utils": "2.7.0", + "chalk": "^4.1.0", + "term-size": "^2.2.1" + } + }, + "@parcel/reporter-dev-server": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.7.0.tgz", + "integrity": "sha512-ySuou5addK8fGue8aXzo536BaEjMujDrEc1xkp4TasInXHVcA98b+SYX5NAZTGob5CxKvZQ5ylhg77zW30B+iA==", + "requires": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0" } }, - "node_modules/@types/filesystem": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.32.tgz", - "integrity": "sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==", - "dependencies": { - "@types/filewriter": "*" + "@parcel/resolver-default": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.7.0.tgz", + "integrity": "sha512-v8TvWsbLK7/q7n4gv6OrYNbW18xUx4zKbVMGZb1u4yMhzEH4HFr1D9OeoTq3jk+ximAigds8B6triQbL5exF7A==", + "requires": { + "@parcel/node-resolver-core": "2.7.0", + "@parcel/plugin": "2.7.0" } }, - "node_modules/@types/filewriter": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.29.tgz", - "integrity": "sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==" + "@parcel/runtime-browser-hmr": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.7.0.tgz", + "integrity": "sha512-PLbMLdclQeYsi2LkilZVGFV1n3y55G1jaBvby4ekedUZjMw3SWdMY2tDxgSDdFWfLCnYHJXdGUQSzGGi1kPzjA==", + "requires": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0" + } }, - "node_modules/@types/http-server": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/http-server/-/http-server-0.12.1.tgz", - "integrity": "sha512-OJ8zs0o8JuHo92KCCsLq4BqkHPi1+Aj2yoPQXJ18LPUxOA1lqKfgBLtHNAQTwwPzeBqyo+HDkWD91MkfOGvNJg==", - "dependencies": { - "@types/connect": "*" + "@parcel/runtime-js": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.7.0.tgz", + "integrity": "sha512-9/YUZTBNrSN2H6rbz/o1EOM0O7I3ZR/x9IDzxjJBD6Mi+0uCgCD02aedare/SNr1qgnbZZWmhpOzC+YgREcfLA==", + "requires": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1" } }, - "node_modules/@types/node": { - "version": "18.7.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", - "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==" + "@parcel/runtime-react-refresh": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.7.0.tgz", + "integrity": "sha512-vDKO0rWqRzEpmvoZ4kkYUiSsTxT5NnH904BFPFxKI0wJCl6yEmPuEifmATo73OuYhP6jIP3Qfl1R4TtiDFPJ1Q==", + "requires": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "react-error-overlay": "6.0.9", + "react-refresh": "^0.9.0" + } }, - "node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" + "@parcel/runtime-service-worker": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.7.0.tgz", + "integrity": "sha512-uD2pAV0yV6+e7JaWH4KVPbG+zRCrxr/OACyS9tIh+Q/R1vRmh8zGM3yhdrcoiZ7tFOnM72vd6xY11eTrUsSVig==", + "requires": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1" } - } - }, - "dependencies": { + }, + "@parcel/source-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.0.tgz", + "integrity": "sha512-E7UOEIof2o89LrKk1agSLmwakjigmEdDp1ZaEdsLVEvq63R/bul4Ij5CT+0ZDcijGpl5tnTbQADY9EyYGtjYgQ==", + "requires": { + "detect-libc": "^1.0.3" + } + }, + "@parcel/transformer-babel": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.7.0.tgz", + "integrity": "sha512-7iklDXXnKH1530+QbI+e4kIJ+Q1puA1ulRS10db3aUJMj5GnvXGDFwhSZ7+T1ps66QHO7cVO29VlbqiRDarH1Q==", + "requires": { + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.7.0", + "browserslist": "^4.6.6", + "json5": "^2.2.0", + "nullthrows": "^1.1.1", + "semver": "^5.7.0" + } + }, + "@parcel/transformer-css": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.7.0.tgz", + "integrity": "sha512-J4EpWK9spQpXyNCmKK8Xnane0xW/1B/EAmfp7Fiv7g+5yUjY4ODf4KUugvE+Eb2gekPkhOKNHermO2KrX0/PFA==", + "requires": { + "@parcel/css": "^1.12.2", + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.7.0", + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1" + } + }, + "@parcel/transformer-html": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.7.0.tgz", + "integrity": "sha512-wYJl5rn81W+Rlk9oQwDJcjoVsWVDKyeri84FzmlGXOsg0EYgnqOiG+3MDM8GeZjfuGe5fuoum4eqZeS0WdUHXw==", + "requires": { + "@parcel/diagnostic": "2.7.0", + "@parcel/hash": "2.7.0", + "@parcel/plugin": "2.7.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" + } + }, + "@parcel/transformer-image": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.7.0.tgz", + "integrity": "sha512-mhi9/R5/ULhCkL2COVIKhNFoLDiZwQgprdaTJr5fnODggVxEX5o7ebFV6KNLMTEkwZUJWoB1hL0ziI0++DtoFA==", + "requires": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "@parcel/workers": "2.7.0", + "nullthrows": "^1.1.1" + } + }, + "@parcel/transformer-js": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.7.0.tgz", + "integrity": "sha512-mzerR+D4rDomUSIk5RSTa2w+DXBdXUeQrpDO74WCDdpDi1lIl8ppFpqtmU7O6y6p8QsgkmS9b0g/vhcry6CJTA==", + "requires": { + "@parcel/diagnostic": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.7.0", + "@parcel/workers": "2.7.0", + "@swc/helpers": "^0.4.2", + "browserslist": "^4.6.6", + "detect-libc": "^1.0.3", + "nullthrows": "^1.1.1", + "regenerator-runtime": "^0.13.7", + "semver": "^5.7.1" + } + }, + "@parcel/transformer-json": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.7.0.tgz", + "integrity": "sha512-RQjuxBpYOch+kr4a0zi77KJtOLTPYRM7iq4NN80zKnA0r0dwDUCxZBtaj2l0O0o3R4MMJnm+ncP+cB7XR7dZYA==", + "requires": { + "@parcel/plugin": "2.7.0", + "json5": "^2.2.0" + } + }, + "@parcel/transformer-postcss": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.7.0.tgz", + "integrity": "sha512-b6RskXBWf0MjpC9qjR2dQ1ZdRnlOiKYseG5CEovWCqM218RtdydFKz7jS+5Gxkb6qBtOG7zGPONXdPe+gTILcA==", + "requires": { + "@parcel/diagnostic": "2.7.0", + "@parcel/hash": "2.7.0", + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "clone": "^2.1.1", + "nullthrows": "^1.1.1", + "postcss-value-parser": "^4.2.0", + "semver": "^5.7.1" + } + }, + "@parcel/transformer-posthtml": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.7.0.tgz", + "integrity": "sha512-cP8YOiSynWJ1ycmBlhnnHeuQb2cwmklZ+BNyLUktj5p78kDy2de7VjX+dRNRHoW4H9OgEcSF4UEfDVVz5RYIhw==", + "requires": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" + } + }, + "@parcel/transformer-raw": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.7.0.tgz", + "integrity": "sha512-sDnItWCFSDez0izK1i5cgv+kXzZTbcJh4rNpVIgmE1kBLvAz608sqgcCkavb2wVJIvLesxYM+5G4p1CwkDlZ1g==", + "requires": { + "@parcel/plugin": "2.7.0" + } + }, + "@parcel/transformer-react-refresh-wrap": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.7.0.tgz", + "integrity": "sha512-1vRmIJzyBA1nIiXTAU6tZExq2FvJj/2F0ft6KDw8GYPv0KjmdiPo/PmaZ7JeSVOM6SdXQIQCbTmp1vkMP7DtkA==", + "requires": { + "@parcel/plugin": "2.7.0", + "@parcel/utils": "2.7.0", + "react-refresh": "^0.9.0" + } + }, + "@parcel/transformer-svg": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.7.0.tgz", + "integrity": "sha512-ioER37zceuuE+K6ZrnjCyMUWEnv+63hIAFResc1OXxRhyt+7kzMz9ZqK0Mt6QMLwl1dxhkLmrU41n9IxzKZuSQ==", + "requires": { + "@parcel/diagnostic": "2.7.0", + "@parcel/hash": "2.7.0", + "@parcel/plugin": "2.7.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" + } + }, + "@parcel/types": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.7.0.tgz", + "integrity": "sha512-+dhXVUnseTCpJvBTGMp0V6X13z6O/A/+CUtwEpMGZ8XSmZ4Gk44GvaTiBOp0bJpWG4fvCKp+UmC8PYbrDiiziw==", + "requires": { + "@parcel/cache": "2.7.0", + "@parcel/diagnostic": "2.7.0", + "@parcel/fs": "2.7.0", + "@parcel/package-manager": "2.7.0", + "@parcel/source-map": "^2.0.0", + "@parcel/workers": "2.7.0", + "utility-types": "^3.10.0" + } + }, + "@parcel/utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.7.0.tgz", + "integrity": "sha512-jNZ5bIGg1r1RDRKi562o4kuVwnz+XJ2Ie3b0Zwrqwvgfj6AbRFIKzDd+h85dWWmcDYzKUbHp11u6VJl1u8Vapg==", + "requires": { + "@parcel/codeframe": "2.7.0", + "@parcel/diagnostic": "2.7.0", + "@parcel/hash": "2.7.0", + "@parcel/logger": "2.7.0", + "@parcel/markdown-ansi": "2.7.0", + "@parcel/source-map": "^2.0.0", + "chalk": "^4.1.0" + } + }, + "@parcel/watcher": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.5.tgz", + "integrity": "sha512-x0hUbjv891omnkcHD7ZOhiyyUqUUR6MNjq89JhEI3BxppeKWAm6NPQsqqRrAkCJBogdT/o/My21sXtTI9rJIsw==", + "requires": { + "node-addon-api": "^3.2.1", + "node-gyp-build": "^4.3.0" + } + }, + "@parcel/workers": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.7.0.tgz", + "integrity": "sha512-99VfaOX+89+RaoTSyH9ZQtkMBFZBFMvJmVJ/GeJT6QCd2wtKBStTHlaSnQOkLD/iRjJCNwV2xpZmm8YkTwV+hg==", + "requires": { + "@parcel/diagnostic": "2.7.0", + "@parcel/logger": "2.7.0", + "@parcel/types": "2.7.0", + "@parcel/utils": "2.7.0", + "chrome-trace-event": "^1.0.2", + "nullthrows": "^1.1.1" + } + }, + "@swc/helpers": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz", + "integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" + }, "@types/connect": { "version": "3.4.35", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", @@ -98,10 +3448,650 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==" }, + "@types/p5": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@types/p5/-/p5-1.4.2.tgz", + "integrity": "sha512-tzJ2PdmeXlX8tidbA1/pQEhs0MHVWam0K4ux5ri0GrZXhBU3QrpTpSVzNaBDuo6KheryHdH8wR82x1nPvxo42g==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "abortcontroller-polyfill": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.3.tgz", + "integrity": "sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==" + }, + "acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "browserslist": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "requires": { + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.5" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "caniuse-lite": { + "version": "1.0.30001384", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001384.tgz", + "integrity": "sha512-BBWt57kqWbc0GYZXb47wTXpmAgqr5LSibPzNjk/AWMdmJMQhLqOl3c/Kd4OAU/tu4NLfYkMx8Tlq3RVBkOBolQ==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" + }, + "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==", + "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==" + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "requires": { + "css-tree": "^1.1.2" + } + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==" + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + } + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==" + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "electron-to-chromium": { + "version": "1.4.233", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.233.tgz", + "integrity": "sha512-ejwIKXTg1wqbmkcRJh9Ur3hFGHFDZDw1POzdsVrB2WZjgRuRMHIQQKNpe64N/qh3ZtH2otEoRoS+s6arAAuAAw==" + }, + "entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==" + }, + "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==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "get-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==" + }, + "globals": { + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "htmlnano": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.0.2.tgz", + "integrity": "sha512-+ZrQFS4Ub+zd+/fWwfvoYCEGNEa0/zrpys6CyXxvZDwtL7Pl+pOtRkiujyvBQ7Lmfp7/iEPxtOFgxWA16Gkj3w==", + "requires": { + "cosmiconfig": "^7.0.1", + "posthtml": "^0.16.5", + "timsort": "^0.3.0" + } + }, + "htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-json": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", + "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "lmdb": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.5.2.tgz", + "integrity": "sha512-V5V5Xa2Hp9i2XsbDALkBTeHXnBXh/lEmk9p22zdr7jtuOIY9TGhjK6vAvTpOOx9IKU4hJkRWZxn/HsvR1ELLtA==", + "requires": { + "@lmdb/lmdb-darwin-arm64": "2.5.2", + "@lmdb/lmdb-darwin-x64": "2.5.2", + "@lmdb/lmdb-linux-arm": "2.5.2", + "@lmdb/lmdb-linux-arm64": "2.5.2", + "@lmdb/lmdb-linux-x64": "2.5.2", + "@lmdb/lmdb-win32-x64": "2.5.2", + "msgpackr": "^1.5.4", + "node-addon-api": "^4.3.0", + "node-gyp-build-optional-packages": "5.0.3", + "ordered-binary": "^1.2.4", + "weak-lru-cache": "^1.2.2" + }, + "dependencies": { + "node-addon-api": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==" + } + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "msgpackr": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.6.2.tgz", + "integrity": "sha512-bqSQ0DYJbXbrJcrZFmMygUZmqQiDfI2ewFVWcrZY12w5XHWtPuW4WppDT/e63Uu311ajwkRRXSoF0uILroBeTA==", + "requires": { + "msgpackr-extract": "^2.0.2" + } + }, + "msgpackr-extract": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-2.1.2.tgz", + "integrity": "sha512-cmrmERQFb19NX2JABOGtrKdHMyI6RUyceaPBQ2iRz9GnDkjBWFjNJC0jyyoOfZl2U/LZE3tQCCQc4dlRyA8mcA==", + "optional": true, + "requires": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "2.1.2", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "2.1.2", + "@msgpackr-extract/msgpackr-extract-linux-arm": "2.1.2", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "2.1.2", + "@msgpackr-extract/msgpackr-extract-linux-x64": "2.1.2", + "@msgpackr-extract/msgpackr-extract-win32-x64": "2.1.2", + "node-gyp-build-optional-packages": "5.0.3" + } + }, + "node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" + }, + "node-gyp-build": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", + "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==" + }, + "node-gyp-build-optional-packages": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz", + "integrity": "sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA==" + }, + "node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, + "ordered-binary": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.3.0.tgz", + "integrity": "sha512-knIeYepTI6BDAzGxqFEDGtI/iGqs57H32CInAIxEvAHG46vk1Di0CEpyc1A7iY39B1mfik3g3KLYwOTNnnMHLA==" + }, + "p5": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/p5/-/p5-1.4.2.tgz", + "integrity": "sha512-J5zqZ/l1NIbJSuNr/FH9nDYgBRg7/NubStNPnx1fQCMSAgxI6peKDHs9i5iaG9EuwbJzjuG6/5bX/D0lqqrP9A==" + }, + "parcel": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.7.0.tgz", + "integrity": "sha512-pRYwnivwtNP0tip8xYSo4zCB0XhLt7/gJzP1p8OovCqkmFjG9VG+GW9TcAKqMIo0ovEa9tT+/s6gY1Qy+BONGQ==", + "requires": { + "@parcel/config-default": "2.7.0", + "@parcel/core": "2.7.0", + "@parcel/diagnostic": "2.7.0", + "@parcel/events": "2.7.0", + "@parcel/fs": "2.7.0", + "@parcel/logger": "2.7.0", + "@parcel/package-manager": "2.7.0", + "@parcel/reporter-cli": "2.7.0", + "@parcel/reporter-dev-server": "2.7.0", + "@parcel/utils": "2.7.0", + "chalk": "^4.1.0", + "commander": "^7.0.0", + "get-port": "^4.2.0", + "v8-compile-cache": "^2.0.0" + } + }, + "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==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "posthtml": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", + "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", + "requires": { + "posthtml-parser": "^0.11.0", + "posthtml-render": "^3.0.0" + }, + "dependencies": { + "posthtml-parser": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", + "requires": { + "htmlparser2": "^7.1.1" + } + } + } + }, + "posthtml-parser": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", + "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", + "requires": { + "htmlparser2": "^7.1.1" + } + }, + "posthtml-render": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "requires": { + "is-json": "^2.0.1" + } + }, + "react-error-overlay": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", + "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==" + }, + "react-refresh": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", + "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==" + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, + "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==" + }, + "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==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + }, + "term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==" + }, + "terser": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.0.tgz", + "integrity": "sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA==", + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "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==" + } + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==" + }, + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "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==" + }, "typescript": { "version": "4.7.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==" + }, + "update-browserslist-db": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", + "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" + }, + "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==" + }, + "weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==" + }, + "xxhash-wasm": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz", + "integrity": "sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" } } } diff --git a/package.json b/package.json index bff4402..9a94c8e 100644 --- a/package.json +++ b/package.json @@ -4,11 +4,15 @@ "description": "WPI CS 4241 first assignment", "author": "Charlie Roberts", "scripts": { - "start": "node server.ts" + "startold": "node server/server.ts", + "start": "parcel client/index.html --open" }, "dependencies": { "@types/filesystem": "^0.0.32", "@types/http-server": "^0.12.1", + "@types/p5": "^1.4.2", + "p5": "^1.4.2", + "parcel": "^2.7.0", "typescript": "^4.7.4" }, "devDependencies": { diff --git a/server.ts b/server.ts deleted file mode 100644 index 1b3388b..0000000 --- a/server.ts +++ /dev/null @@ -1,31 +0,0 @@ -const http = require('http'), - fs = require('fs'), - port = 3000; - -const server = http.createServer( function( request,response ) { - console.log(`Received request for ${request.url}`); - - switch( request.url ) { - case '/': - sendFile( response, 'index.html' ); - break; - case '/index.html': - sendFile( response, 'index.html' ); - break; - case '/styles.css': - sendFile( response, 'styles.css' ); - break; - default: - response.end( '404 Error: File Not Found' ); - } -}) - -server.listen( process.env.PORT || port ); - -console.log(`Listening on port ${port}...\n`) - -const sendFile = function( response, filename ) { - fs.readFile( filename, function( err, content ) { - response.end( content, 'utf-8' ); - }) -} diff --git a/server.js b/server/server.js similarity index 63% rename from server.js rename to server/server.js index c4c7caa..ebfe19b 100644 --- a/server.js +++ b/server/server.js @@ -3,23 +3,17 @@ const server = http.createServer(function (request, response) { console.log(`Received request for ${request.url}`); switch (request.url) { case '/': - sendFile(response, 'index.html'); - break; - case '/index.html': - sendFile(response, 'index.html'); - break; - case '/styles.css': - sendFile(response, 'styles.css'); + sendFile(response, './client/index.html'); break; default: - response.end('404 Error: File Not Found'); + sendFile(response, `./client${request.url}`); + break; } }); server.listen(process.env.PORT || port); console.log(`Listening on port ${port}...\n`); const sendFile = function (response, filename) { fs.readFile(filename, function (err, content) { - File = content; // TODO: Why? response.end(content, 'utf-8'); }); }; diff --git a/server/server.ts b/server/server.ts new file mode 100644 index 0000000..e6a29ed --- /dev/null +++ b/server/server.ts @@ -0,0 +1,26 @@ +const http = require('http'), + fs = require('fs'), + port = 3000; + +const server = http.createServer( function( request,response ) { + console.log(`Received request for ${request.url}`); + + switch(request.url) { + case '/': + sendFile(response, './client/index.html'); + break; + default: + sendFile(response, `./client${request.url}`); + break; + } +}) + +server.listen( process.env.PORT || port ); + +console.log(`Listening on port ${port}...\n`); + +const sendFile = function( response, filename ) { + fs.readFile( filename, function( err, content ) { + response.end( content, 'utf-8' ); + }) +} diff --git a/styles.css b/styles.css deleted file mode 100644 index 9f6e4bc..0000000 --- a/styles.css +++ /dev/null @@ -1,41 +0,0 @@ -/*fonts*/ -@import -url('https://fonts.googleapis.com/css2?family=Roboto&display=swap'); - -* { - font-family: 'Roboto', sans-serif; -} - -/*Styles*/ -body { - margin: 0; -} - -h1 { - font-size: 60pt; -} - -h1, h2, h3 { - font-weight: 100; -} - -#splash { - height: 100vh; - max-height: 100vw; - background: aliceblue; - margin: 0; - display: flex; - justify-content: center; - align-items: center; -} - -#welcome-text { - display: flex; - flex-direction: column; - justify-items: center; - align-items: center; -} - -#welcome-text > * { - margin: 0 -} \ No newline at end of file From a4c8562672ab729f14f66e8ae93bcd27920b5583 Mon Sep 17 00:00:00 2001 From: chjm6 Date: Mon, 29 Aug 2022 04:51:27 -0400 Subject: [PATCH 5/6] Updated readme and fixed port --- README.md | 13 +------------ color_wheel.png | Bin 0 -> 81971 bytes package.json | 2 +- 3 files changed, 2 insertions(+), 13 deletions(-) create mode 100644 color_wheel.png diff --git a/README.md b/README.md index ec43b21..c3a2b51 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Assignment 1 - Hello World: Basic Deployment w/ Git, GitHub, Glitch === Cameron Jacobson -website link here +http://a1-cjacobson32.glitch.me GH username: CJACOBSON32 @@ -27,14 +27,3 @@ GH username: CJACOBSON32 - **Used a color palette from Adobe color wheel:** I used all 5 colors from the color scheme ![](color_wheel.png) - **Used the Roboto Font from Google Fonts**: I used Roboto as the font for the primary copy text in my site. - -Charlie Roberts -http://a1-charlieroberts.glitch.me - -This project shows ... - -## Technical Achievements -- **Styled page with CSS**: Added rules for the p, li, and a selectors... - -### Design Achievements -- **Used the Roboto Font from Google Fonts**: I used Roboto as the font for the primary copy text in my site. diff --git a/color_wheel.png b/color_wheel.png new file mode 100644 index 0000000000000000000000000000000000000000..031f527dfab710408f7a988262df9448a69bc3ea GIT binary patch literal 81971 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 literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 9a94c8e..cf4b200 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "author": "Charlie Roberts", "scripts": { "startold": "node server/server.ts", - "start": "parcel client/index.html --open" + "start": "parcel client/index.html -p 3000 --open" }, "dependencies": { "@types/filesystem": "^0.0.32", From 57851ea32f2ca27bbab1a667d68e1322502e7d31 Mon Sep 17 00:00:00 2001 From: chjm6 Date: Mon, 29 Aug 2022 05:58:49 -0400 Subject: [PATCH 6/6] Changed url on README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c3a2b51..6521a17 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Assignment 1 - Hello World: Basic Deployment w/ Git, GitHub, Glitch === Cameron Jacobson -http://a1-cjacobson32.glitch.me +https://a1-cjacobson32.web.app/ GH username: CJACOBSON32