From 78199f6d615eb5d148b91e6f96baf7cbce45e901 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sun, 27 Aug 2023 01:09:24 -0700 Subject: [PATCH 01/17] fix for syntax regression in Oculus Browser --- .../src/Babylon.js/HostObject.js | 2 +- .../src/core/animpack/AnimationPlayerInterface.js | 2 +- .../src/core/animpack/state/Blend1dState.js | 2 +- .../src/core/animpack/state/Blend2dState.js | 6 +++--- .../src/core/animpack/state/QueueState.js | 4 ++-- .../core/animpack/state/StateContainerInterface.js | 13 +++++++------ 6 files changed, 15 insertions(+), 14 deletions(-) diff --git a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/HostObject.js b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/HostObject.js index 7d2b818..7e3a29d 100644 --- a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/HostObject.js +++ b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/HostObject.js @@ -764,7 +764,7 @@ const host = await HOST.HostUtils.createHost(scene, characterConfig, pollyConfig * @returns {string[]} An array of characterId's that can be used with getCharacterConfig */ static getAvailableCharacters() { - return [...characterTypeMap.keys()]; + return Array.from(characterTypeMap.keys()); } } diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationPlayerInterface.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationPlayerInterface.js index 2ba40f4..f2d33e1 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationPlayerInterface.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationPlayerInterface.js @@ -282,7 +282,7 @@ class AnimationPlayerInterface { // Blend to the new state over time else { // Make sure to transition out of any states with non-zero weight - const currentStates = [...this._states.values()].filter( + const currentStates = Array.from(this._states.values()).filter( s => s !== targetState && (s.weight || s.weightPending) ); diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend1dState.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend1dState.js index d09b2e5..a4d26e6 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend1dState.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend1dState.js @@ -55,7 +55,7 @@ class Blend1dState extends AbstractBlendState { // Initialize the thresholds map this._thresholds = []; - [...this._states.values()].forEach((state, index) => { + Array.from(this._states.values()).forEach((state, index) => { this._thresholds.push({ value: blendThresholds[index], name: state.name, diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend2dState.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend2dState.js index c8c2add..494fe78 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend2dState.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend2dState.js @@ -63,7 +63,7 @@ class Blend2dState extends AbstractBlendState { }; this._thresholds = []; - [...this._states.values()].forEach((state, index) => { + Array.from(this._states.values()).forEach((state, index) => { this._thresholds.push({ name: state.name, phaseMatch: phaseMatches[index] || false, @@ -179,7 +179,7 @@ class Blend2dState extends AbstractBlendState { super.updateInternalWeight(factor); if (this._phaseLeadState) { - [...this._states.values()].forEach((state, index) => { + Array.from(this._states.values()).forEach((state, index) => { if (state.weight !== 0 && this._thresholds[index].phaseMatch) { state.normalizedTime = this._phaseLeadState.normalizedTime; } @@ -198,7 +198,7 @@ class Blend2dState extends AbstractBlendState { if (!this._vertices || this._vertices.length === 0) return; if (this._vertices.length === 1) { - [...this._states.values()][0].weight = 1; + Array.from(this._states.values())[0].weight = 1; return; } diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/QueueState.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/QueueState.js index 3dbca9b..b012ee8 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/QueueState.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/QueueState.js @@ -114,7 +114,7 @@ class QueueState extends AnimationPlayerInterface.Mixin( // Signal the next animation is starting if (typeof onNext === 'function') { - const lastName = [...this._states.keys()][this._states.size - 1]; + const lastName = Array.from(this._states.keys())[this._states.size - 1]; const isQueueEnd = name === lastName; onNext({ name, @@ -148,7 +148,7 @@ class QueueState extends AnimationPlayerInterface.Mixin( } else { // Signal the next animation is starting if (name !== this.currentAnimation && typeof onNext === 'function') { - const lastName = [...this._states.keys()][this._states.size - 1]; + const lastName = Array.from(this._states.keys())[this._states.size - 1]; const isQueueEnd = name === lastName; onNext({ name, diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/StateContainerInterface.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/StateContainerInterface.js index c8c3fa9..24d299f 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/StateContainerInterface.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/StateContainerInterface.js @@ -90,12 +90,12 @@ class StateContainerInterface { } getStateNames() { - return [...this._states.keys()]; + return Array.from(this._states.keys()); } addState(state) { // Make sure the state is not already in this container - if ([...this._states.values()].includes(state)) { + if (Array.from(this._states.values()).includes(state)) { console.warn( `Cannot add animation to state ${this.name}. Animation was already added.` ); @@ -103,9 +103,10 @@ class StateContainerInterface { } // Make sure the state name is unique - const uniqueName = Utils.getUniqueName(state.name, [ - ...this._states.keys(), - ]); + const uniqueName = Utils.getUniqueName( + state.name, + Array.from(this._states.keys()) + ); if (state.name !== uniqueName) { console.warn( @@ -151,7 +152,7 @@ class StateContainerInterface { // Make sure the name is unique const uniqueName = Utils.getUniqueName( newName, - [...this._states.keys()].filter(s => s.name !== currentName) + Array.from(this._states.keys()).filter(s => s.name !== currentName) ); if (newName !== uniqueName) { From 2999265b439cca90f0350b1b8022b2142d9f1515 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sun, 27 Aug 2023 16:22:57 -0700 Subject: [PATCH 02/17] pin webpack dependency versions so they won't break, and we can update them manually when we need to --- package-lock.json | 793 +++++++++++++++++++++++++++++++++++++++++++--- package.json | 150 ++++----- 2 files changed, 832 insertions(+), 111 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3657273..42127d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,12 +36,12 @@ "karma-webpack": "^5.0.0", "prettier": "^1.19.1", "regenerator-runtime": "^0.13.5", - "terser-webpack-plugin": "^5.3.1", + "terser-webpack-plugin": "5.3.1", "typescript": "^4.6.3", - "webpack": "^5.76.0", - "webpack-cli": "^4.9.1", - "webpack-dev-server": "^4.7.3", - "webpack-merge": "^5.8.0" + "webpack": "5.76.0", + "webpack-cli": "4.10.0", + "webpack-dev-server": "4.7.3", + "webpack-merge": "5.8.0" } }, "node_modules/@amazon-sumerian-hosts/babylon": { @@ -6909,17 +6909,18 @@ } }, "node_modules/webpack-cli": { - "version": "4.9.1", - "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", "dev": true, "dependencies": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", + "@webpack-cli/configtest": "^1.2.0", + "@webpack-cli/info": "^1.5.0", + "@webpack-cli/serve": "^1.7.0", "colorette": "^2.0.14", "commander": "^7.0.0", - "execa": "^5.0.0", + "cross-spawn": "^7.0.3", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", "interpret": "^2.2.0", @@ -6932,6 +6933,10 @@ "engines": { "node": ">=10.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { "webpack": "4.x.x || 5.x.x" }, @@ -7599,10 +7604,12 @@ }, "@babel/parser": { "version": "7.22.5", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", "dev": true }, "@babel/runtime": { "version": "7.22.5", + "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", "dev": true, "peer": true, "requires": { @@ -7611,6 +7618,7 @@ "dependencies": { "regenerator-runtime": { "version": "0.13.11", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", "dev": true, "peer": true } @@ -7618,12 +7626,14 @@ }, "@babylonjs/core": { "version": "4.2.2", + "integrity": "sha512-gAgetSyoxFZ/xzMVVnGPKaP941NHA59Ho8GGKFW98OTEp8yZcnzJjNOD2zfF1eKmlvR/6WwSmcrKWTJtPF1pyA==", "requires": { "tslib": ">=1.10.0" } }, "@babylonjs/loaders": { "version": "4.2.2", + "integrity": "sha512-Qk8r4xp4eOznbX3AsNYv8HgwS+tzGu6TwSpDX4il3g0B+k1N5k6KE5ghrnwDytoxUDVjGZ/VKk2cQqiHsg/NLg==", "peer": true, "requires": { "@babylonjs/core": "4.2.2", @@ -7633,14 +7643,17 @@ }, "@colors/colors": { "version": "1.5.0", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true }, "@discoveryjs/json-ext": { "version": "0.5.7", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true }, "@eslint-community/eslint-utils": { "version": "4.4.0", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "requires": { "eslint-visitor-keys": "^3.3.0" @@ -7648,10 +7661,12 @@ }, "@eslint-community/regexpp": { "version": "4.5.1", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", "dev": true }, "@eslint/eslintrc": { "version": "2.0.3", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -7667,10 +7682,12 @@ }, "@eslint/js": { "version": "8.42.0", + "integrity": "sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==", "dev": true }, "@humanwhocodes/config-array": { "version": "0.11.10", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -7680,14 +7697,17 @@ }, "@humanwhocodes/module-importer": { "version": "1.0.1", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true }, "@humanwhocodes/object-schema": { "version": "1.2.1", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, "@jridgewell/gen-mapping": { "version": "0.3.3", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "requires": { "@jridgewell/set-array": "^1.0.1", @@ -7697,14 +7717,17 @@ }, "@jridgewell/resolve-uri": { "version": "3.1.0", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true }, "@jridgewell/set-array": { "version": "1.1.2", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true }, "@jridgewell/source-map": { "version": "0.3.3", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", @@ -7713,10 +7736,12 @@ }, "@jridgewell/sourcemap-codec": { "version": "1.4.15", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, "@jridgewell/trace-mapping": { "version": "0.3.18", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "dev": true, "requires": { "@jridgewell/resolve-uri": "3.1.0", @@ -7725,16 +7750,19 @@ "dependencies": { "@jridgewell/sourcemap-codec": { "version": "1.4.14", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true } } }, "@mdn/browser-compat-data": { "version": "4.2.1", + "integrity": "sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==", "dev": true }, "@nodelib/fs.scandir": { "version": "2.1.5", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", @@ -7743,10 +7771,12 @@ }, "@nodelib/fs.stat": { "version": "2.0.5", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, "@nodelib/fs.walk": { "version": "1.2.8", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", @@ -7755,10 +7785,12 @@ }, "@socket.io/component-emitter": { "version": "3.1.0", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", "dev": true }, "@types/body-parser": { "version": "1.19.2", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", "dev": true, "requires": { "@types/connect": "*", @@ -7767,6 +7799,7 @@ }, "@types/bonjour": { "version": "3.5.10", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", "dev": true, "requires": { "@types/node": "*" @@ -7774,6 +7807,7 @@ }, "@types/connect": { "version": "3.4.35", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", "dev": true, "requires": { "@types/node": "*" @@ -7781,6 +7815,7 @@ }, "@types/connect-history-api-fallback": { "version": "1.5.0", + "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", "dev": true, "requires": { "@types/express-serve-static-core": "*", @@ -7789,10 +7824,12 @@ }, "@types/cookie": { "version": "0.4.1", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", "dev": true }, "@types/cors": { "version": "2.8.13", + "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", "dev": true, "requires": { "@types/node": "*" @@ -7800,6 +7837,7 @@ }, "@types/eslint": { "version": "8.40.1", + "integrity": "sha512-vRb792M4mF1FBT+eoLecmkpLXwxsBHvWWRGJjzbYANBM6DtiJc6yETyv4rqDA6QNjF1pkj1U7LMA6dGb3VYlHw==", "dev": true, "requires": { "@types/estree": "*", @@ -7808,6 +7846,7 @@ }, "@types/eslint-scope": { "version": "3.7.4", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, "requires": { "@types/eslint": "*", @@ -7816,10 +7855,12 @@ }, "@types/estree": { "version": "0.0.51", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true }, "@types/express": { "version": "4.17.17", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", "dev": true, "requires": { "@types/body-parser": "*", @@ -7830,6 +7871,7 @@ }, "@types/express-serve-static-core": { "version": "4.17.35", + "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", "dev": true, "requires": { "@types/node": "*", @@ -7840,6 +7882,7 @@ }, "@types/http-proxy": { "version": "1.17.11", + "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", "dev": true, "requires": { "@types/node": "*" @@ -7847,18 +7890,22 @@ }, "@types/json-schema": { "version": "7.0.12", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", "dev": true }, "@types/json5": { "version": "0.0.29", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, "@types/linkify-it": { "version": "3.0.2", + "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", "dev": true }, "@types/markdown-it": { "version": "12.2.3", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", "dev": true, "requires": { "@types/linkify-it": "*", @@ -7867,30 +7914,37 @@ }, "@types/mdurl": { "version": "1.0.2", + "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", "dev": true }, "@types/mime": { "version": "1.3.2", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, "@types/node": { "version": "20.3.0", + "integrity": "sha512-cumHmIAf6On83X7yP+LrsEyUOf/YlociZelmpRYaGFydoaPdxdt80MAbu6vWerQT2COCp2nPvHdsbD7tHn/YlQ==", "dev": true }, "@types/qs": { "version": "6.9.7", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", "dev": true }, "@types/range-parser": { "version": "1.2.4", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, "@types/retry": { "version": "0.12.0", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", "dev": true }, "@types/send": { "version": "0.17.1", + "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", "dev": true, "requires": { "@types/mime": "^1", @@ -7899,6 +7953,7 @@ }, "@types/serve-index": { "version": "1.9.1", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", "dev": true, "requires": { "@types/express": "*" @@ -7906,6 +7961,7 @@ }, "@types/serve-static": { "version": "1.15.1", + "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", "dev": true, "requires": { "@types/mime": "*", @@ -7914,6 +7970,7 @@ }, "@types/sockjs": { "version": "0.3.33", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", "dev": true, "requires": { "@types/node": "*" @@ -7921,6 +7978,7 @@ }, "@types/ws": { "version": "8.5.5", + "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", "dev": true, "requires": { "@types/node": "*" @@ -7928,6 +7986,7 @@ }, "@webassemblyjs/ast": { "version": "1.11.1", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "dev": true, "requires": { "@webassemblyjs/helper-numbers": "1.11.1", @@ -7936,18 +7995,22 @@ }, "@webassemblyjs/floating-point-hex-parser": { "version": "1.11.1", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", "dev": true }, "@webassemblyjs/helper-api-error": { "version": "1.11.1", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", "dev": true }, "@webassemblyjs/helper-buffer": { "version": "1.11.1", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", "dev": true }, "@webassemblyjs/helper-numbers": { "version": "1.11.1", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.1", @@ -7957,10 +8020,12 @@ }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.1", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", "dev": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.11.1", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", @@ -7971,6 +8036,7 @@ }, "@webassemblyjs/ieee754": { "version": "1.11.1", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" @@ -7978,6 +8044,7 @@ }, "@webassemblyjs/leb128": { "version": "1.11.1", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" @@ -7985,10 +8052,12 @@ }, "@webassemblyjs/utf8": { "version": "1.11.1", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", "dev": true }, "@webassemblyjs/wasm-edit": { "version": "1.11.1", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", @@ -8003,6 +8072,7 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.11.1", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", @@ -8014,6 +8084,7 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.11.1", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", @@ -8024,6 +8095,7 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.11.1", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", @@ -8036,6 +8108,7 @@ }, "@webassemblyjs/wast-printer": { "version": "1.11.1", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", @@ -8044,14 +8117,17 @@ }, "@xtuc/ieee754": { "version": "1.2.0", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, "@xtuc/long": { "version": "4.2.2", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, "accepts": { "version": "1.3.8", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "requires": { "mime-types": "~2.1.34", @@ -8060,20 +8136,24 @@ }, "acorn": { "version": "8.8.2", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true }, "acorn-import-assertions": { "version": "1.9.0", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "dev": true, "requires": {} }, "acorn-jsx": { "version": "5.3.2", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "requires": {} }, "aggregate-error": { "version": "3.1.0", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, "requires": { "clean-stack": "^2.0.0", @@ -8082,6 +8162,7 @@ }, "ajv": { "version": "6.12.6", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -8092,6 +8173,7 @@ }, "ajv-formats": { "version": "2.1.1", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "requires": { "ajv": "^8.0.0" @@ -8099,6 +8181,7 @@ "dependencies": { "ajv": { "version": "8.12.0", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -8109,25 +8192,30 @@ }, "json-schema-traverse": { "version": "1.0.0", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true } } }, "ajv-keywords": { "version": "3.5.2", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "requires": {} }, "ansi-html-community": { "version": "0.0.8", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", "dev": true }, "ansi-regex": { "version": "5.0.1", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { "version": "4.3.0", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { "color-convert": "^2.0.1" @@ -8135,6 +8223,7 @@ }, "anymatch": { "version": "3.1.3", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -8143,10 +8232,12 @@ }, "argparse": { "version": "2.0.1", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, "aria-query": { "version": "5.1.3", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, "peer": true, "requires": { @@ -8155,6 +8246,7 @@ }, "array-buffer-byte-length": { "version": "1.0.0", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -8163,14 +8255,17 @@ }, "array-find": { "version": "1.0.0", + "integrity": "sha512-kO/vVCacW9mnpn3WPWbTVlEnOabK2L7LWi2HViURtCM46y1zb6I8UMjx4LgbiqadTgHnLInUronwn3ampNTJtQ==", "dev": true }, "array-flatten": { "version": "2.1.2", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", "dev": true }, "array-includes": { "version": "3.1.6", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -8182,10 +8277,12 @@ }, "array-union": { "version": "2.1.0", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, "array.prototype.flat": { "version": "1.3.1", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -8196,6 +8293,7 @@ }, "array.prototype.flatmap": { "version": "1.3.1", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -8206,6 +8304,7 @@ }, "array.prototype.tosorted": { "version": "1.1.1", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", "dev": true, "peer": true, "requires": { @@ -8218,6 +8317,7 @@ }, "asn1.js": { "version": "5.4.1", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, "requires": { "bn.js": "^4.0.0", @@ -8228,12 +8328,14 @@ "dependencies": { "bn.js": { "version": "4.12.0", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "assert": { "version": "1.5.0", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, "requires": { "object-assign": "^4.1.1", @@ -8242,10 +8344,12 @@ "dependencies": { "inherits": { "version": "2.0.1", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", "dev": true }, "util": { "version": "0.10.3", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", "dev": true, "requires": { "inherits": "2.0.1" @@ -8255,6 +8359,7 @@ }, "ast-metadata-inferer": { "version": "0.7.0", + "integrity": "sha512-OkMLzd8xelb3gmnp6ToFvvsHLtS6CbagTkFQvQ+ZYFe3/AIl9iKikNR9G7pY3GfOR/2Xc222hwBjzI7HLkE76Q==", "dev": true, "requires": { "@mdn/browser-compat-data": "^3.3.14" @@ -8262,27 +8367,32 @@ "dependencies": { "@mdn/browser-compat-data": { "version": "3.3.14", + "integrity": "sha512-n2RC9d6XatVbWFdHLimzzUJxJ1KY8LdjqrW6YvGPiRmsHkhOUx74/Ct10x5Yo7bC/Jvqx7cDEW8IMPv/+vwEzA==", "dev": true } } }, "ast-types-flow": { "version": "0.0.7", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", "dev": true, "peer": true }, "async": { "version": "2.6.4", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, "requires": { "lodash": "^4.17.14" } }, "available-typed-arrays": { - "version": "1.0.5" + "version": "1.0.5", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, "aws-sdk": { "version": "2.1395.0", + "integrity": "sha512-e/Ovw2dyBCsUfAxhdKanSMAmLL9/SIpKCC++xWEMe/3OfETz/B5FisjQQNnnVfe5eGJjiLbFKts1V8ZPCelUHw==", "requires": { "buffer": "4.9.2", "events": "1.1.1", @@ -8293,20 +8403,24 @@ "url": "0.10.3", "util": "^0.12.4", "uuid": "8.0.0", - "xml2js": "0.5.0" + "xml2js": "^0.5.0" }, "dependencies": { "events": { - "version": "1.1.1" + "version": "1.1.1", + "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" }, "ieee754": { - "version": "1.1.13" + "version": "1.1.13", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" }, "punycode": { - "version": "1.3.2" + "version": "1.3.2", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" }, "url": { "version": "0.10.3", + "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -8314,6 +8428,7 @@ }, "util": { "version": "0.12.5", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", "requires": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", @@ -8323,17 +8438,20 @@ } }, "uuid": { - "version": "8.0.0" + "version": "8.0.0", + "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" } } }, "axe-core": { "version": "4.7.2", + "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", "dev": true, "peer": true }, "axobject-query": { "version": "3.1.1", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", "dev": true, "peer": true, "requires": { @@ -8342,41 +8460,51 @@ }, "babylonjs-gltf2interface": { "version": "4.2.2", + "integrity": "sha512-LCQgW1lM+EpKK4yWMiPEgi6ONwJ7W4JrSu3t9JixNRgvnic72OnN2f0bt91rE30EJr1ZaokvkXD/aEiBp/Juyg==", "peer": true }, "balanced-match": { "version": "1.0.2", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "base64-js": { - "version": "1.5.1" + "version": "1.5.1", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "base64id": { "version": "2.0.0", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", "dev": true }, "batch": { "version": "0.6.1", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "dev": true }, "big.js": { "version": "5.2.2", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, "binary-extensions": { "version": "2.2.0", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, "bluebird": { "version": "3.7.2", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, "bn.js": { "version": "5.2.1", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true }, "body-parser": { "version": "1.20.2", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, "requires": { "bytes": "3.1.2", @@ -8395,6 +8523,7 @@ "dependencies": { "debug": { "version": "2.6.9", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -8402,12 +8531,14 @@ }, "ms": { "version": "2.0.0", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, "bonjour": { "version": "3.5.0", + "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", "dev": true, "requires": { "array-flatten": "^2.1.0", @@ -8420,6 +8551,7 @@ "dependencies": { "deep-equal": { "version": "1.1.1", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", "dev": true, "requires": { "is-arguments": "^1.0.4", @@ -8434,6 +8566,7 @@ }, "brace-expansion": { "version": "1.1.11", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -8442,6 +8575,7 @@ }, "braces": { "version": "3.0.2", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { "fill-range": "^7.0.1" @@ -8449,10 +8583,12 @@ }, "brorand": { "version": "1.1.0", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", "dev": true }, "browserify-aes": { "version": "1.2.0", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { "buffer-xor": "^1.0.3", @@ -8465,6 +8601,7 @@ }, "browserify-cipher": { "version": "1.0.1", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { "browserify-aes": "^1.0.4", @@ -8474,6 +8611,7 @@ }, "browserify-des": { "version": "1.0.2", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { "cipher-base": "^1.0.1", @@ -8484,6 +8622,7 @@ }, "browserify-rsa": { "version": "4.1.0", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "requires": { "bn.js": "^5.0.0", @@ -8492,6 +8631,7 @@ }, "browserify-sign": { "version": "4.2.1", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, "requires": { "bn.js": "^5.1.1", @@ -8507,6 +8647,7 @@ "dependencies": { "readable-stream": { "version": "3.6.2", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -8518,6 +8659,7 @@ }, "browserify-zlib": { "version": "0.2.0", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { "pako": "~1.0.5" @@ -8525,6 +8667,7 @@ }, "browserslist": { "version": "4.21.7", + "integrity": "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==", "dev": true, "requires": { "caniuse-lite": "^1.0.30001489", @@ -8535,6 +8678,7 @@ }, "buffer": { "version": "4.9.2", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", @@ -8542,32 +8686,39 @@ }, "dependencies": { "isarray": { - "version": "1.0.0" + "version": "1.0.0", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" } } }, "buffer-from": { "version": "1.1.2", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "buffer-indexof": { "version": "1.1.1", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, "buffer-xor": { "version": "1.0.3", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", "dev": true }, "builtin-status-codes": { "version": "3.0.0", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", "dev": true }, "bytes": { "version": "3.1.2", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true }, "call-bind": { "version": "1.0.2", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -8575,14 +8726,17 @@ }, "callsites": { "version": "3.1.0", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "caniuse-lite": { "version": "1.0.30001502", + "integrity": "sha512-AZ+9tFXw1sS0o0jcpJQIXvFTOB/xGiQ4OQ2t98QX3NDn2EZTSRBC801gxrsGgViuq2ak/NLkNgSNEPtCr5lfKg==", "dev": true }, "catharsis": { "version": "0.9.0", + "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", "dev": true, "requires": { "lodash": "^4.17.15" @@ -8590,6 +8744,7 @@ }, "chalk": { "version": "4.1.2", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -8598,6 +8753,7 @@ }, "chokidar": { "version": "3.5.3", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "requires": { "anymatch": "~3.1.2", @@ -8612,6 +8768,7 @@ "dependencies": { "glob-parent": { "version": "5.1.2", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -8621,10 +8778,12 @@ }, "chrome-trace-event": { "version": "1.0.3", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true }, "cipher-base": { "version": "1.0.4", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -8633,10 +8792,12 @@ }, "clean-stack": { "version": "2.2.0", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true }, "cliui": { "version": "7.0.4", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "requires": { "string-width": "^4.2.0", @@ -8646,6 +8807,7 @@ }, "clone-deep": { "version": "4.0.1", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { "is-plain-object": "^2.0.4", @@ -8655,6 +8817,7 @@ }, "color-convert": { "version": "2.0.1", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -8662,25 +8825,31 @@ }, "color-name": { "version": "1.1.4", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "colorette": { "version": "2.0.20", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, "colors": { "version": "1.4.0", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true }, "commander": { "version": "2.20.3", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "compare-versions": { - "version": "6.0.0-rc.1" + "version": "6.0.0-rc.1", + "integrity": "sha512-cFhkjbGY1jLFWIV7KegECbfuyYPxSGvgGkdkfM+ibboQDoPwg2FRHm5BSNTOApiauRBzJIQH7qvOJs2sW5ueKQ==" }, "compressible": { "version": "2.0.18", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, "requires": { "mime-db": ">= 1.43.0 < 2" @@ -8688,6 +8857,7 @@ }, "compression": { "version": "1.7.4", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, "requires": { "accepts": "~1.3.5", @@ -8701,10 +8871,12 @@ "dependencies": { "bytes": { "version": "3.0.0", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "dev": true }, "debug": { "version": "2.6.9", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -8712,24 +8884,29 @@ }, "ms": { "version": "2.0.0", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "safe-buffer": { "version": "5.1.2", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true } } }, "concat-map": { "version": "0.0.1", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "confusing-browser-globals": { "version": "1.0.11", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", "dev": true }, "connect": { "version": "3.7.0", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, "requires": { "debug": "2.6.9", @@ -8740,6 +8917,7 @@ "dependencies": { "debug": { "version": "2.6.9", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -8747,24 +8925,29 @@ }, "ms": { "version": "2.0.0", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, "connect-history-api-fallback": { "version": "1.6.0", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", "dev": true }, "console-browserify": { "version": "1.2.0", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, "constants-browserify": { "version": "1.0.0", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", "dev": true }, "content-disposition": { "version": "0.5.4", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "requires": { "safe-buffer": "5.2.1" @@ -8772,26 +8955,32 @@ }, "content-type": { "version": "1.0.5", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true }, "cookie": { "version": "0.4.2", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true }, "cookie-signature": { "version": "1.0.6", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true }, "core-js": { "version": "3.31.0", + "integrity": "sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ==", "dev": true }, "core-util-is": { "version": "1.0.3", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "cors": { "version": "2.8.5", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, "requires": { "object-assign": "^4", @@ -8800,6 +8989,7 @@ }, "create-ecdh": { "version": "4.0.4", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -8808,12 +8998,14 @@ "dependencies": { "bn.js": { "version": "4.12.0", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "create-hash": { "version": "1.2.0", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { "cipher-base": "^1.0.1", @@ -8825,6 +9017,7 @@ }, "create-hmac": { "version": "1.1.7", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { "cipher-base": "^1.0.3", @@ -8837,6 +9030,7 @@ }, "cross-env": { "version": "7.0.3", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", "dev": true, "requires": { "cross-spawn": "^7.0.1" @@ -8844,6 +9038,7 @@ }, "cross-spawn": { "version": "7.0.3", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -8853,6 +9048,7 @@ }, "crypto-browserify": { "version": "3.12.0", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { "browserify-cipher": "^1.0.0", @@ -8870,19 +9066,23 @@ }, "custom-event": { "version": "1.0.1", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", "dev": true }, "damerau-levenshtein": { "version": "1.0.8", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true, "peer": true }, "date-format": { "version": "4.0.14", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", "dev": true }, "debug": { "version": "4.3.4", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -8890,6 +9090,7 @@ }, "deep-equal": { "version": "2.2.1", + "integrity": "sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==", "dev": true, "peer": true, "requires": { @@ -8915,10 +9116,12 @@ }, "deep-is": { "version": "0.1.4", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, "default-gateway": { "version": "6.0.3", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dev": true, "requires": { "execa": "^5.0.0" @@ -8926,10 +9129,12 @@ }, "define-lazy-prop": { "version": "2.0.0", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true }, "define-properties": { "version": "1.2.0", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, "requires": { "has-property-descriptors": "^1.0.0", @@ -8938,6 +9143,7 @@ }, "del": { "version": "6.1.1", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", "dev": true, "requires": { "globby": "^11.0.1", @@ -8960,6 +9166,7 @@ "dependencies": { "ajv": { "version": "8.12.0", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -8970,6 +9177,7 @@ }, "ajv-keywords": { "version": "5.1.0", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.3" @@ -8977,10 +9185,12 @@ }, "array-union": { "version": "3.0.1", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", "dev": true }, "copy-webpack-plugin": { "version": "10.2.4", + "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==", "dev": true, "requires": { "fast-glob": "^3.2.7", @@ -8993,6 +9203,7 @@ }, "globby": { "version": "12.2.0", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", "dev": true, "requires": { "array-union": "^3.0.1", @@ -9005,10 +9216,12 @@ }, "json-schema-traverse": { "version": "1.0.0", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "schema-utils": { "version": "4.1.0", + "integrity": "sha512-Jw+GZVbP5IggB2WAn6UHI02LBwGmsIeYN/lNbSMZyDziQ7jmtAUrqKqDja+W89YHVs+KL/3IkIMltAklqB1vAw==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", @@ -9019,16 +9232,19 @@ }, "slash": { "version": "4.0.0", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", "dev": true } } }, "depd": { "version": "2.0.0", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true }, "des.js": { "version": "1.1.0", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -9037,18 +9253,22 @@ }, "destroy": { "version": "1.2.0", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, "detect-node": { "version": "2.1.0", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, "di": { "version": "0.0.1", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", "dev": true }, "diffie-hellman": { "version": "5.0.3", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -9058,12 +9278,14 @@ "dependencies": { "bn.js": { "version": "4.12.0", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "dir-glob": { "version": "3.0.1", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "requires": { "path-type": "^4.0.0" @@ -9071,10 +9293,12 @@ }, "dns-equal": { "version": "1.0.0", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", "dev": true }, "dns-packet": { "version": "1.3.4", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", "dev": true, "requires": { "ip": "^1.1.0", @@ -9083,6 +9307,7 @@ }, "dns-txt": { "version": "2.0.2", + "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", "dev": true, "requires": { "buffer-indexof": "^1.0.0" @@ -9090,6 +9315,7 @@ }, "doctrine": { "version": "3.0.0", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" @@ -9097,6 +9323,7 @@ }, "dom-serialize": { "version": "2.2.1", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", "dev": true, "requires": { "custom-event": "~1.0.0", @@ -9107,18 +9334,22 @@ }, "domain-browser": { "version": "1.2.0", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, "ee-first": { "version": "1.1.1", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, "electron-to-chromium": { "version": "1.4.427", + "integrity": "sha512-HK3r9l+Jm8dYAm1ctXEWIC+hV60zfcjS9UA5BDlYvnI5S7PU/yytjpvSrTNrSSRRkuu3tDyZhdkwIczh+0DWaw==", "dev": true }, "elliptic": { "version": "6.5.4", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "requires": { "bn.js": "^4.11.9", @@ -9132,25 +9363,30 @@ "dependencies": { "bn.js": { "version": "4.12.0", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "emoji-regex": { "version": "9.2.2", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, "peer": true }, "emojis-list": { "version": "3.0.0", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, "encodeurl": { "version": "1.0.2", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true }, "engine.io": { "version": "6.4.2", + "integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==", "dev": true, "requires": { "@types/cookie": "^0.4.1", @@ -9167,10 +9403,12 @@ }, "engine.io-parser": { "version": "5.0.7", + "integrity": "sha512-P+jDFbvK6lE3n1OL+q9KuzdOFWkkZ/cMV9gol/SbVfpyqfvrfrFTOFJ6fQm2VC3PZHlU3QPhVwmbsCnauHF2MQ==", "dev": true }, "enhanced-resolve": { "version": "0.9.1", + "integrity": "sha512-kxpoMgrdtkXZ5h0SeraBS1iRntpTpQ3R8ussdb38+UAFnMGX5DDyJXePm+OCHOcoXvHDw7mc2erbJBpDnl7TPw==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -9180,18 +9418,22 @@ }, "ent": { "version": "2.2.0", + "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", "dev": true }, "entities": { "version": "2.1.0", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", "dev": true }, "envinfo": { "version": "7.8.1", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", "dev": true }, "es-abstract": { "version": "1.21.2", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", "dev": true, "requires": { "array-buffer-byte-length": "^1.0.0", @@ -9232,6 +9474,7 @@ }, "es-get-iterator": { "version": "1.1.3", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, "peer": true, "requires": { @@ -9248,10 +9491,12 @@ }, "es-module-lexer": { "version": "0.9.3", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "dev": true }, "es-set-tostringtag": { "version": "2.0.1", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dev": true, "requires": { "get-intrinsic": "^1.1.3", @@ -9261,6 +9506,7 @@ }, "es-shim-unscopables": { "version": "1.0.0", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, "requires": { "has": "^1.0.3" @@ -9268,6 +9514,7 @@ }, "es-to-primitive": { "version": "1.2.1", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { "is-callable": "^1.1.4", @@ -9277,18 +9524,22 @@ }, "escalade": { "version": "3.1.1", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, "escape-html": { "version": "1.0.3", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, "escape-string-regexp": { "version": "4.0.0", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, "eslint": { "version": "8.42.0", + "integrity": "sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", @@ -9334,6 +9585,7 @@ }, "eslint-config-airbnb": { "version": "19.0.4", + "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", "dev": true, "requires": { "eslint-config-airbnb-base": "^15.0.0", @@ -9343,6 +9595,7 @@ }, "eslint-config-airbnb-base": { "version": "15.0.0", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", "dev": true, "requires": { "confusing-browser-globals": "^1.0.10", @@ -9353,6 +9606,7 @@ }, "eslint-config-prettier": { "version": "6.10.0", + "integrity": "sha512-AtndijGte1rPILInUdHjvKEGbIV06NuvPrqlIEaEaWtbtvJh464mDeyGMdZEQMsGvC0ZVkiex1fSNcC4HAbRGg==", "dev": true, "requires": { "get-stdin": "^6.0.0" @@ -9360,6 +9614,7 @@ }, "eslint-import-resolver-node": { "version": "0.3.7", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", "dev": true, "requires": { "debug": "^3.2.7", @@ -9369,6 +9624,7 @@ "dependencies": { "debug": { "version": "3.2.7", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -9378,6 +9634,7 @@ }, "eslint-import-resolver-webpack": { "version": "0.12.1", + "integrity": "sha512-O/sUAXk6GWrICiN8JUkkjdt9uZpqZHP+FVnTxtEILL6EZMaPSrnP4lGPSFwcKsv7O211maqq4Nz60+dh236hVg==", "dev": true, "requires": { "array-find": "^1.0.0", @@ -9394,6 +9651,7 @@ "dependencies": { "debug": { "version": "2.6.9", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -9401,16 +9659,19 @@ }, "ms": { "version": "2.0.0", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "semver": { "version": "5.7.1", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "eslint-module-utils": { "version": "2.8.0", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, "requires": { "debug": "^3.2.7" @@ -9418,6 +9679,7 @@ "dependencies": { "debug": { "version": "3.2.7", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -9427,6 +9689,7 @@ }, "eslint-plugin-compat": { "version": "4.0.2", + "integrity": "sha512-xqvoO54CLTVaEYGMzhu35Wzwk/As7rCvz/2dqwnFiWi0OJccEtGIn+5qq3zqIu9nboXlpdBN579fZcItC73Ycg==", "dev": true, "requires": { "@mdn/browser-compat-data": "^4.1.5", @@ -9441,6 +9704,7 @@ "dependencies": { "semver": { "version": "7.3.5", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -9450,6 +9714,7 @@ }, "eslint-plugin-es": { "version": "3.0.1", + "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", "dev": true, "requires": { "eslint-utils": "^2.0.0", @@ -9458,6 +9723,7 @@ }, "eslint-plugin-import": { "version": "2.27.5", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", "dev": true, "requires": { "array-includes": "^3.1.6", @@ -9479,6 +9745,7 @@ "dependencies": { "debug": { "version": "3.2.7", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -9486,6 +9753,7 @@ }, "doctrine": { "version": "2.1.0", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { "esutils": "^2.0.2" @@ -9495,10 +9763,12 @@ }, "eslint-plugin-jasmine": { "version": "4.1.0", + "integrity": "sha512-Vfuk2Sm1ULR7MqGjVIOOEdQWyoFBfSwvwUeo9MrajVGJB3C24c9Mmj1Cgf8Qwmf3aS2bezPt1sckpKXWpd74Dw==", "dev": true }, "eslint-plugin-jsx-a11y": { "version": "6.7.1", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", "dev": true, "peer": true, "requires": { @@ -9522,6 +9792,7 @@ }, "eslint-plugin-node": { "version": "11.0.0", + "integrity": "sha512-chUs/NVID+sknFiJzxoN9lM7uKSOEta8GC8365hw1nDfwIPIjjpRSwwPvQanWv8dt/pDe9EV4anmVSwdiSndNg==", "dev": true, "requires": { "eslint-plugin-es": "^3.0.0", @@ -9534,6 +9805,7 @@ }, "eslint-plugin-prettier": { "version": "3.1.2", + "integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" @@ -9541,6 +9813,7 @@ }, "eslint-plugin-react": { "version": "7.32.2", + "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", "dev": true, "peer": true, "requires": { @@ -9563,6 +9836,7 @@ "dependencies": { "doctrine": { "version": "2.1.0", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "peer": true, "requires": { @@ -9571,6 +9845,7 @@ }, "resolve": { "version": "2.0.0-next.4", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", "dev": true, "peer": true, "requires": { @@ -9583,12 +9858,14 @@ }, "eslint-plugin-react-hooks": { "version": "4.6.0", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", "dev": true, "peer": true, "requires": {} }, "eslint-scope": { "version": "7.2.0", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -9597,6 +9874,7 @@ }, "eslint-utils": { "version": "2.1.0", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" @@ -9604,16 +9882,19 @@ "dependencies": { "eslint-visitor-keys": { "version": "1.3.0", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true } } }, "eslint-visitor-keys": { "version": "3.4.1", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", "dev": true }, "espree": { "version": "9.5.2", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", "dev": true, "requires": { "acorn": "^8.8.0", @@ -9623,6 +9904,7 @@ }, "esquery": { "version": "1.5.0", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -9630,6 +9912,7 @@ }, "esrecurse": { "version": "4.3.0", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { "estraverse": "^5.2.0" @@ -9637,26 +9920,32 @@ }, "estraverse": { "version": "5.3.0", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "esutils": { "version": "2.0.3", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "etag": { "version": "1.8.1", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true }, "eventemitter3": { "version": "4.0.7", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true }, "events": { "version": "3.3.0", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, "evp_bytestokey": { "version": "1.0.3", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { "md5.js": "^1.3.4", @@ -9665,6 +9954,7 @@ }, "execa": { "version": "5.1.1", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { "cross-spawn": "^7.0.3", @@ -9680,6 +9970,7 @@ }, "express": { "version": "4.18.2", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, "requires": { "accepts": "~1.3.8", @@ -9717,10 +10008,12 @@ "dependencies": { "array-flatten": { "version": "1.1.1", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, "body-parser": { "version": "1.20.1", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, "requires": { "bytes": "3.1.2", @@ -9739,10 +10032,12 @@ }, "cookie": { "version": "0.5.0", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true }, "debug": { "version": "2.6.9", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -9750,6 +10045,7 @@ }, "finalhandler": { "version": "1.2.0", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, "requires": { "debug": "2.6.9", @@ -9763,10 +10059,12 @@ }, "ms": { "version": "2.0.0", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "raw-body": { "version": "2.5.1", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "requires": { "bytes": "3.1.2", @@ -9777,24 +10075,29 @@ }, "statuses": { "version": "2.0.1", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true } } }, "extend": { "version": "3.0.2", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "fast-deep-equal": { "version": "3.1.3", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-diff": { "version": "1.3.0", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "dev": true }, "fast-glob": { "version": "3.2.12", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -9806,6 +10109,7 @@ "dependencies": { "glob-parent": { "version": "5.1.2", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -9815,18 +10119,22 @@ }, "fast-json-stable-stringify": { "version": "2.1.0", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fast-levenshtein": { "version": "2.0.6", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "fastest-levenshtein": { "version": "1.0.16", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true }, "fastq": { "version": "1.15.0", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -9834,6 +10142,7 @@ }, "faye-websocket": { "version": "0.11.4", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -9841,6 +10150,7 @@ }, "file-entry-cache": { "version": "6.0.1", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { "flat-cache": "^3.0.4" @@ -9848,6 +10158,7 @@ }, "file-loader": { "version": "6.2.0", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", "dev": true, "requires": { "loader-utils": "^2.0.0", @@ -9856,6 +10167,7 @@ }, "fill-range": { "version": "7.0.1", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { "to-regex-range": "^5.0.1" @@ -9863,6 +10175,7 @@ }, "finalhandler": { "version": "1.1.2", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "requires": { "debug": "2.6.9", @@ -9876,6 +10189,7 @@ "dependencies": { "debug": { "version": "2.6.9", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -9883,10 +10197,12 @@ }, "ms": { "version": "2.0.0", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "on-finished": { "version": "2.3.0", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", "dev": true, "requires": { "ee-first": "1.1.1" @@ -9896,10 +10212,12 @@ }, "find-root": { "version": "1.1.0", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", "dev": true }, "find-up": { "version": "5.0.0", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { "locate-path": "^6.0.0", @@ -9908,6 +10226,7 @@ }, "flat-cache": { "version": "3.0.4", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { "flatted": "^3.1.0", @@ -9916,28 +10235,34 @@ }, "flatted": { "version": "3.2.7", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, "follow-redirects": { "version": "1.15.2", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "dev": true }, "for-each": { "version": "0.3.3", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "requires": { "is-callable": "^1.1.3" } }, "forwarded": { "version": "0.2.0", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true }, "fresh": { "version": "0.5.2", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true }, "fs-extra": { "version": "8.1.0", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, "requires": { "graceful-fs": "^4.2.0", @@ -9947,22 +10272,27 @@ }, "fs-monkey": { "version": "1.0.4", + "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==", "dev": true }, "fs.realpath": { "version": "1.0.0", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "fsevents": { "version": "2.3.2", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true }, "function-bind": { - "version": "1.1.1" + "version": "1.1.1", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "function.prototype.name": { "version": "1.1.5", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -9973,14 +10303,17 @@ }, "functions-have-names": { "version": "1.2.3", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true }, "get-caller-file": { "version": "2.0.5", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, "get-intrinsic": { "version": "1.2.1", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -9990,14 +10323,17 @@ }, "get-stdin": { "version": "6.0.0", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", "dev": true }, "get-stream": { "version": "6.0.1", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, "get-symbol-description": { "version": "1.0.0", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -10006,6 +10342,7 @@ }, "glob": { "version": "7.2.3", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -10018,6 +10355,7 @@ }, "glob-parent": { "version": "6.0.2", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "requires": { "is-glob": "^4.0.3" @@ -10025,10 +10363,12 @@ }, "glob-to-regexp": { "version": "0.4.1", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, "globals": { "version": "13.20.0", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -10036,6 +10376,7 @@ }, "globalthis": { "version": "1.0.3", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, "requires": { "define-properties": "^1.1.3" @@ -10043,6 +10384,7 @@ }, "globby": { "version": "11.1.0", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "requires": { "array-union": "^2.1.0", @@ -10055,57 +10397,69 @@ }, "gopd": { "version": "1.0.1", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "requires": { "get-intrinsic": "^1.1.3" } }, "graceful-fs": { "version": "4.2.11", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, "graphemer": { "version": "1.4.0", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "handle-thing": { "version": "2.0.1", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, "has": { "version": "1.0.3", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "requires": { "function-bind": "^1.1.1" } }, "has-bigints": { "version": "1.0.2", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true }, "has-flag": { "version": "4.0.0", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "has-property-descriptors": { "version": "1.0.0", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dev": true, "requires": { "get-intrinsic": "^1.1.1" } }, "has-proto": { - "version": "1.0.1" + "version": "1.0.1", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" }, "has-symbols": { - "version": "1.0.3" + "version": "1.0.3", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, "has-tostringtag": { "version": "1.0.0", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "requires": { "has-symbols": "^1.0.2" } }, "hash-base": { "version": "3.1.0", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "requires": { "inherits": "^2.0.4", @@ -10115,6 +10469,7 @@ "dependencies": { "readable-stream": { "version": "3.6.2", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -10126,6 +10481,7 @@ }, "hash.js": { "version": "1.1.7", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -10134,6 +10490,7 @@ }, "hmac-drbg": { "version": "1.0.1", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, "requires": { "hash.js": "^1.0.3", @@ -10143,6 +10500,7 @@ }, "hpack.js": { "version": "2.1.6", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -10153,14 +10511,17 @@ }, "html-entities": { "version": "2.3.5", + "integrity": "sha512-72TJlcMkYsEJASa/3HnX7VT59htM7iSHbH59NSZbtc+22Ap0Txnlx91sfeB+/A7wNZg7UxtZdhAW4y+/jimrdg==", "dev": true }, "http-deceiver": { "version": "1.2.7", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", "dev": true }, "http-errors": { "version": "2.0.0", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "requires": { "depd": "2.0.0", @@ -10172,16 +10533,19 @@ "dependencies": { "statuses": { "version": "2.0.1", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true } } }, "http-parser-js": { "version": "0.5.8", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", "dev": true }, "http-proxy": { "version": "1.18.1", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "requires": { "eventemitter3": "^4.0.0", @@ -10191,6 +10555,7 @@ }, "http-proxy-middleware": { "version": "2.0.6", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", "dev": true, "requires": { "@types/http-proxy": "^1.17.8", @@ -10202,28 +10567,34 @@ }, "https-browserify": { "version": "1.0.0", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", "dev": true }, "human-signals": { "version": "2.1.0", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, "iconv-lite": { "version": "0.4.24", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "ieee754": { - "version": "1.2.1" + "version": "1.2.1", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "ignore": { "version": "5.2.4", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true }, "import-fresh": { "version": "3.3.0", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -10232,6 +10603,7 @@ }, "import-local": { "version": "3.1.0", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "requires": { "pkg-dir": "^4.2.0", @@ -10240,14 +10612,17 @@ }, "imurmurhash": { "version": "0.1.4", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, "indent-string": { "version": "4.0.0", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true }, "inflight": { "version": "1.0.6", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { "once": "^1.3.0", @@ -10255,10 +10630,12 @@ } }, "inherits": { - "version": "2.0.4" + "version": "2.0.4", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "internal-slot": { "version": "1.0.5", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, "requires": { "get-intrinsic": "^1.2.0", @@ -10268,18 +10645,22 @@ }, "interpret": { "version": "1.4.0", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true }, "ip": { "version": "1.1.8", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", "dev": true }, "ipaddr.js": { "version": "2.1.0", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", "dev": true }, "is-arguments": { "version": "1.1.1", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -10287,6 +10668,7 @@ }, "is-array-buffer": { "version": "3.0.2", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -10296,6 +10678,7 @@ }, "is-bigint": { "version": "1.0.4", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, "requires": { "has-bigints": "^1.0.1" @@ -10303,6 +10686,7 @@ }, "is-binary-path": { "version": "2.1.0", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "requires": { "binary-extensions": "^2.0.0" @@ -10310,6 +10694,7 @@ }, "is-boolean-object": { "version": "1.1.2", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -10317,10 +10702,12 @@ } }, "is-callable": { - "version": "1.2.7" + "version": "1.2.7", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" }, "is-core-module": { "version": "2.12.1", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, "requires": { "has": "^1.0.3" @@ -10328,6 +10715,7 @@ }, "is-date-object": { "version": "1.0.5", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -10335,24 +10723,29 @@ }, "is-docker": { "version": "2.2.1", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true }, "is-extglob": { "version": "2.1.1", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "is-generator-function": { "version": "1.0.10", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "requires": { "has-tostringtag": "^1.0.0" } }, "is-glob": { "version": "4.0.3", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -10360,19 +10753,23 @@ }, "is-map": { "version": "2.0.2", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", "dev": true, "peer": true }, "is-negative-zero": { "version": "2.0.2", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true }, "is-number": { "version": "7.0.0", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, "is-number-object": { "version": "1.0.7", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -10380,18 +10777,22 @@ }, "is-path-cwd": { "version": "2.2.0", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "dev": true }, "is-path-inside": { "version": "3.0.3", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, "is-plain-obj": { "version": "3.0.0", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "dev": true }, "is-plain-object": { "version": "2.0.4", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -10399,6 +10800,7 @@ }, "is-regex": { "version": "1.1.4", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -10407,11 +10809,13 @@ }, "is-set": { "version": "2.0.2", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", "dev": true, "peer": true }, "is-shared-array-buffer": { "version": "1.0.2", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, "requires": { "call-bind": "^1.0.2" @@ -10419,10 +10823,12 @@ }, "is-stream": { "version": "2.0.1", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, "is-string": { "version": "1.0.7", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -10430,6 +10836,7 @@ }, "is-symbol": { "version": "1.0.4", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "requires": { "has-symbols": "^1.0.2" @@ -10437,6 +10844,7 @@ }, "is-typed-array": { "version": "1.1.10", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -10447,11 +10855,13 @@ }, "is-weakmap": { "version": "2.0.1", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", "dev": true, "peer": true }, "is-weakref": { "version": "1.0.2", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "requires": { "call-bind": "^1.0.2" @@ -10459,6 +10869,7 @@ }, "is-weakset": { "version": "2.0.2", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", "dev": true, "peer": true, "requires": { @@ -10468,6 +10879,7 @@ }, "is-wsl": { "version": "2.2.0", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "requires": { "is-docker": "^2.0.0" @@ -10475,27 +10887,33 @@ }, "isarray": { "version": "2.0.5", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, "peer": true }, "isbinaryfile": { "version": "4.0.10", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", "dev": true }, "isexe": { "version": "2.0.0", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "isobject": { "version": "3.0.1", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, "jasmine-core": { "version": "3.99.1", + "integrity": "sha512-Hu1dmuoGcZ7AfyynN3LsfruwMbxMALMka+YtZeGoLuDEySVmVAPaonkNoBRIw/ectu8b9tVQCJNgp4a4knp+tg==", "dev": true }, "jest-worker": { "version": "27.5.1", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "requires": { "@types/node": "*", @@ -10505,6 +10923,7 @@ "dependencies": { "supports-color": { "version": "8.1.1", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -10513,15 +10932,18 @@ } }, "jmespath": { - "version": "0.16.0" + "version": "0.16.0", + "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" }, "js-tokens": { "version": "4.0.0", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true, "peer": true }, "js-yaml": { "version": "4.1.0", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { "argparse": "^2.0.1" @@ -10529,6 +10951,7 @@ }, "js2xmlparser": { "version": "4.0.2", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", "dev": true, "requires": { "xmlcreate": "^2.0.4" @@ -10536,6 +10959,7 @@ }, "jsdoc": { "version": "3.6.10", + "integrity": "sha512-IdQ8ppSo5LKZ9o3M+LKIIK8i00DIe5msDvG3G81Km+1dhy0XrOWD0Ji8H61ElgyEj/O9KRLokgKbAM9XX9CJAg==", "dev": true, "requires": { "@babel/parser": "^7.9.4", @@ -10557,28 +10981,34 @@ "dependencies": { "escape-string-regexp": { "version": "2.0.0", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true } } }, "json-parse-even-better-errors": { "version": "2.3.1", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "json-schema-traverse": { "version": "0.4.1", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "json5": { "version": "2.2.3", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, "jsonfile": { "version": "4.0.0", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, "requires": { "graceful-fs": "^4.1.6" @@ -10586,6 +11016,7 @@ }, "jsx-ast-utils": { "version": "3.3.3", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", "dev": true, "peer": true, "requires": { @@ -10595,6 +11026,7 @@ }, "karma": { "version": "6.4.2", + "integrity": "sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ==", "dev": true, "requires": { "@colors/colors": "1.5.0", @@ -10625,6 +11057,7 @@ "dependencies": { "mkdirp": { "version": "0.5.6", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "requires": { "minimist": "^1.2.6" @@ -10634,6 +11067,7 @@ }, "karma-chrome-launcher": { "version": "3.1.0", + "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", "dev": true, "requires": { "which": "^1.2.1" @@ -10641,6 +11075,7 @@ "dependencies": { "which": { "version": "1.3.1", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -10650,6 +11085,7 @@ }, "karma-firefox-launcher": { "version": "2.1.2", + "integrity": "sha512-VV9xDQU1QIboTrjtGVD4NCfzIH7n01ZXqy/qpBhnOeGVOkG5JYPEm8kuSd7psHE6WouZaQ9Ool92g8LFweSNMA==", "dev": true, "requires": { "is-wsl": "^2.2.0", @@ -10658,6 +11094,7 @@ }, "karma-jasmine": { "version": "4.0.1", + "integrity": "sha512-h8XDAhTiZjJKzfkoO1laMH+zfNlra+dEQHUAjpn5JV1zCPtOIVWGQjLBrqhnzQa/hrU2XrZwSyBa6XjEBzfXzw==", "dev": true, "requires": { "jasmine-core": "^3.6.0" @@ -10665,6 +11102,7 @@ }, "karma-sourcemap-loader": { "version": "0.3.8", + "integrity": "sha512-zorxyAakYZuBcHRJE+vbrK2o2JXLFWK8VVjiT/6P+ltLBUGUvqTEkUiQ119MGdOrK7mrmxXHZF1/pfT6GgIZ6g==", "dev": true, "requires": { "graceful-fs": "^4.1.2" @@ -10672,6 +11110,7 @@ }, "karma-spec-reporter": { "version": "0.0.33", + "integrity": "sha512-xRVevDUkiIVhKbDQ3CmeGEpyzA4b3HeVl95Sx5yJAvurpdKUSYF6ZEbQOqKJ7vrtDniABV1hyFez9KX9+7ruBA==", "dev": true, "requires": { "colors": "1.4.0" @@ -10679,6 +11118,7 @@ }, "karma-webpack": { "version": "5.0.0", + "integrity": "sha512-+54i/cd3/piZuP3dr54+NcFeKOPnys5QeM1IY+0SPASwrtHsliXUiCL50iW+K9WWA7RvamC4macvvQ86l3KtaA==", "dev": true, "requires": { "glob": "^7.1.3", @@ -10688,6 +11128,7 @@ "dependencies": { "webpack-merge": { "version": "4.2.2", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", "dev": true, "requires": { "lodash": "^4.17.15" @@ -10697,19 +11138,23 @@ }, "kind-of": { "version": "6.0.3", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, "klaw": { "version": "4.1.0", + "integrity": "sha512-1zGZ9MF9H22UnkpVeuaGKOjfA2t6WrfdrJmGjy16ykcjnKQDmHVX+KI477rpbGevz/5FD4MC3xf1oxylBgcaQw==", "dev": true }, "language-subtag-registry": { "version": "0.3.22", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", "dev": true, "peer": true }, "language-tags": { "version": "1.0.5", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", "dev": true, "peer": true, "requires": { @@ -10718,6 +11163,7 @@ }, "levn": { "version": "0.4.1", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { "prelude-ls": "^1.2.1", @@ -10726,6 +11172,7 @@ }, "linkify-it": { "version": "3.0.3", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", "dev": true, "requires": { "uc.micro": "^1.0.1" @@ -10733,10 +11180,12 @@ }, "loader-runner": { "version": "4.3.0", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true }, "loader-utils": { "version": "2.0.4", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "requires": { "big.js": "^5.2.2", @@ -10746,6 +11195,7 @@ }, "locate-path": { "version": "6.0.0", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { "p-locate": "^5.0.0" @@ -10753,18 +11203,22 @@ }, "lodash": { "version": "4.17.21", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "lodash.memoize": { "version": "4.1.2", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", "dev": true }, "lodash.merge": { "version": "4.6.2", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "log4js": { "version": "6.9.1", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", "dev": true, "requires": { "date-format": "^4.0.14", @@ -10776,6 +11230,7 @@ }, "loose-envify": { "version": "1.4.0", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "peer": true, "requires": { @@ -10784,6 +11239,7 @@ }, "lru-cache": { "version": "6.0.0", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -10791,6 +11247,7 @@ }, "markdown-it": { "version": "12.3.2", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", "dev": true, "requires": { "argparse": "^2.0.1", @@ -10802,15 +11259,18 @@ }, "markdown-it-anchor": { "version": "8.6.7", + "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", "dev": true, "requires": {} }, "marked": { "version": "4.3.0", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", "dev": true }, "md5.js": { "version": "1.3.5", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "requires": { "hash-base": "^3.0.0", @@ -10820,14 +11280,17 @@ }, "mdurl": { "version": "1.0.1", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", "dev": true }, "media-typer": { "version": "0.3.0", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true }, "memfs": { "version": "3.5.3", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dev": true, "requires": { "fs-monkey": "^1.0.4" @@ -10835,26 +11298,32 @@ }, "memory-fs": { "version": "0.2.0", + "integrity": "sha512-+y4mDxU4rvXXu5UDSGCGNiesFmwCHuefGMoPCO1WYucNYj7DsLqrFaa2fXVI0H+NNiPTwwzKwspn9yTZqUGqng==", "dev": true }, "merge-descriptors": { "version": "1.0.1", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, "merge-stream": { "version": "2.0.0", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "merge2": { "version": "1.4.1", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, "methods": { "version": "1.1.2", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true }, "micromatch": { "version": "4.0.5", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { "braces": "^3.0.2", @@ -10863,6 +11332,7 @@ }, "miller-rabin": { "version": "4.0.1", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { "bn.js": "^4.0.0", @@ -10871,20 +11341,24 @@ "dependencies": { "bn.js": { "version": "4.12.0", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "mime": { "version": "2.6.0", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", "dev": true }, "mime-db": { "version": "1.52.0", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true }, "mime-types": { "version": "2.1.35", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "requires": { "mime-db": "1.52.0" @@ -10892,18 +11366,22 @@ }, "mimic-fn": { "version": "2.1.0", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "minimalistic-assert": { "version": "1.0.1", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, "minimalistic-crypto-utils": { "version": "1.0.1", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", "dev": true }, "minimatch": { "version": "3.1.2", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -10911,18 +11389,22 @@ }, "minimist": { "version": "1.2.8", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true }, "mkdirp": { "version": "1.0.4", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true }, "ms": { "version": "2.1.2", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "multicast-dns": { "version": "6.2.3", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", "dev": true, "requires": { "dns-packet": "^1.3.1", @@ -10931,26 +11413,32 @@ }, "multicast-dns-service-types": { "version": "1.1.0", + "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==", "dev": true }, "natural-compare": { "version": "1.4.0", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, "negotiator": { "version": "0.6.3", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true }, "neo-async": { "version": "2.6.2", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "node-forge": { "version": "1.3.1", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "dev": true }, "node-libs-browser": { "version": "2.2.1", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "requires": { "assert": "^1.1.1", @@ -10980,14 +11468,17 @@ }, "node-releases": { "version": "2.0.12", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", "dev": true }, "normalize-path": { "version": "3.0.0", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, "npm-run-path": { "version": "4.0.1", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { "path-key": "^3.0.0" @@ -10995,14 +11486,17 @@ }, "object-assign": { "version": "4.1.1", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true }, "object-inspect": { "version": "1.12.3", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true }, "object-is": { "version": "1.1.5", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -11011,10 +11505,12 @@ }, "object-keys": { "version": "1.1.1", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, "object.assign": { "version": "4.1.4", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -11025,6 +11521,7 @@ }, "object.entries": { "version": "1.1.6", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -11034,6 +11531,7 @@ }, "object.fromentries": { "version": "2.0.6", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", "dev": true, "peer": true, "requires": { @@ -11044,6 +11542,7 @@ }, "object.hasown": { "version": "1.1.2", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", "dev": true, "peer": true, "requires": { @@ -11053,6 +11552,7 @@ }, "object.values": { "version": "1.1.6", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -11062,10 +11562,12 @@ }, "obuf": { "version": "1.1.2", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", "dev": true }, "on-finished": { "version": "2.4.1", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "requires": { "ee-first": "1.1.1" @@ -11073,10 +11575,12 @@ }, "on-headers": { "version": "1.0.2", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "dev": true }, "once": { "version": "1.4.0", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "requires": { "wrappy": "1" @@ -11084,6 +11588,7 @@ }, "onetime": { "version": "5.1.2", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" @@ -11091,6 +11596,7 @@ }, "open": { "version": "8.4.2", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, "requires": { "define-lazy-prop": "^2.0.0", @@ -11100,6 +11606,7 @@ }, "optionator": { "version": "0.9.1", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, "requires": { "deep-is": "^0.1.3", @@ -11112,10 +11619,12 @@ }, "os-browserify": { "version": "0.3.0", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", "dev": true }, "p-limit": { "version": "3.1.0", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { "yocto-queue": "^0.1.0" @@ -11123,6 +11632,7 @@ }, "p-locate": { "version": "5.0.0", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { "p-limit": "^3.0.2" @@ -11130,6 +11640,7 @@ }, "p-map": { "version": "4.0.0", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "requires": { "aggregate-error": "^3.0.0" @@ -11137,6 +11648,7 @@ }, "p-retry": { "version": "4.6.2", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dev": true, "requires": { "@types/retry": "0.12.0", @@ -11145,14 +11657,17 @@ }, "p-try": { "version": "2.2.0", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "pako": { "version": "1.0.11", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, "parent-module": { "version": "1.0.1", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" @@ -11160,6 +11675,7 @@ }, "parse-asn1": { "version": "5.1.6", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, "requires": { "asn1.js": "^5.2.0", @@ -11171,38 +11687,47 @@ }, "parseurl": { "version": "1.3.3", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, "path-browserify": { "version": "0.0.1", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, "path-exists": { "version": "4.0.0", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { "version": "1.0.1", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true }, "path-key": { "version": "3.1.1", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { "version": "1.0.7", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-to-regexp": { "version": "0.1.7", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true }, "path-type": { "version": "4.0.0", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, "pbkdf2": { "version": "3.1.2", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -11214,14 +11739,17 @@ }, "picocolors": { "version": "1.0.0", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, "picomatch": { "version": "2.3.1", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pkg-dir": { "version": "4.2.0", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { "find-up": "^4.0.0" @@ -11229,6 +11757,7 @@ "dependencies": { "find-up": { "version": "4.1.0", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -11237,6 +11766,7 @@ }, "locate-path": { "version": "5.0.0", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -11244,6 +11774,7 @@ }, "p-limit": { "version": "2.3.0", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -11251,6 +11782,7 @@ }, "p-locate": { "version": "4.1.0", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -11260,6 +11792,7 @@ }, "portfinder": { "version": "1.0.32", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", "dev": true, "requires": { "async": "^2.6.4", @@ -11269,6 +11802,7 @@ "dependencies": { "debug": { "version": "3.2.7", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -11276,6 +11810,7 @@ }, "mkdirp": { "version": "0.5.6", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "requires": { "minimist": "^1.2.6" @@ -11285,14 +11820,17 @@ }, "prelude-ls": { "version": "1.2.1", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "prettier": { "version": "1.19.1", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", "dev": true }, "prettier-linter-helpers": { "version": "1.0.0", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, "requires": { "fast-diff": "^1.1.2" @@ -11300,14 +11838,17 @@ }, "process": { "version": "0.11.10", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true }, "process-nextick-args": { "version": "2.0.1", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "prop-types": { "version": "15.8.1", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "dev": true, "peer": true, "requires": { @@ -11318,6 +11859,7 @@ }, "proxy-addr": { "version": "2.0.7", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "requires": { "forwarded": "0.2.0", @@ -11326,12 +11868,14 @@ "dependencies": { "ipaddr.js": { "version": "1.9.1", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true } } }, "public-encrypt": { "version": "4.0.3", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -11344,38 +11888,46 @@ "dependencies": { "bn.js": { "version": "4.12.0", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "punycode": { "version": "1.4.1", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true }, "qjobs": { "version": "1.2.0", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", "dev": true }, "qs": { "version": "6.11.0", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, "requires": { "side-channel": "^1.0.4" } }, "querystring": { - "version": "0.2.0" + "version": "0.2.0", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" }, "querystring-es3": { "version": "0.2.1", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true }, "queue-microtask": { "version": "1.2.3", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, "randombytes": { "version": "2.1.0", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "requires": { "safe-buffer": "^5.1.0" @@ -11383,6 +11935,7 @@ }, "randomfill": { "version": "1.0.4", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { "randombytes": "^2.0.5", @@ -11391,10 +11944,12 @@ }, "range-parser": { "version": "1.2.1", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true }, "raw-body": { "version": "2.5.2", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "requires": { "bytes": "3.1.2", @@ -11405,11 +11960,13 @@ }, "react-is": { "version": "16.13.1", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true, "peer": true }, "readable-stream": { "version": "2.3.8", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -11423,14 +11980,17 @@ "dependencies": { "isarray": { "version": "1.0.0", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "safe-buffer": { "version": "5.1.2", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "string_decoder": { "version": "1.1.1", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -11440,6 +12000,7 @@ }, "readdirp": { "version": "3.6.0", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "requires": { "picomatch": "^2.2.1" @@ -11447,6 +12008,7 @@ }, "rechoir": { "version": "0.7.1", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", "dev": true, "requires": { "resolve": "^1.9.0" @@ -11454,10 +12016,12 @@ }, "regenerator-runtime": { "version": "0.13.5", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", "dev": true }, "regexp.prototype.flags": { "version": "1.5.0", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -11467,22 +12031,27 @@ }, "regexpp": { "version": "3.2.0", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, "require-directory": { "version": "2.1.1", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, "require-from-string": { "version": "2.0.2", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, "requires-port": { "version": "1.0.0", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, "requizzle": { "version": "0.2.4", + "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", "dev": true, "requires": { "lodash": "^4.17.21" @@ -11490,6 +12059,7 @@ }, "resolve": { "version": "1.22.2", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "requires": { "is-core-module": "^2.11.0", @@ -11499,6 +12069,7 @@ }, "resolve-cwd": { "version": "3.0.0", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "requires": { "resolve-from": "^5.0.0" @@ -11506,28 +12077,34 @@ "dependencies": { "resolve-from": { "version": "5.0.0", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } }, "resolve-from": { "version": "4.0.0", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "retry": { "version": "0.13.1", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true }, "reusify": { "version": "1.0.4", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, "rfdc": { "version": "1.3.0", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", "dev": true }, "rimraf": { "version": "3.0.2", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" @@ -11535,6 +12112,7 @@ }, "ripemd160": { "version": "2.0.2", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { "hash-base": "^3.0.0", @@ -11543,6 +12121,7 @@ }, "run-parallel": { "version": "1.2.0", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "requires": { "queue-microtask": "^1.2.2" @@ -11550,10 +12129,12 @@ }, "safe-buffer": { "version": "5.2.1", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "safe-regex-test": { "version": "1.0.0", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -11563,13 +12144,16 @@ }, "safer-buffer": { "version": "2.1.2", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "sax": { - "version": "1.2.1" + "version": "1.2.1", + "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" }, "schema-utils": { "version": "3.2.0", + "integrity": "sha512-0zTyLGyDJYd/MBxG1AhJkKa6fpEBds4OQO2ut0w7OYG+ZGhGea09lijvzsqegYSik88zc7cUtIlnnO+/BvD6gQ==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", @@ -11579,10 +12163,12 @@ }, "select-hose": { "version": "2.0.0", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", "dev": true }, "selfsigned": { "version": "2.1.1", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", "dev": true, "requires": { "node-forge": "^1" @@ -11590,10 +12176,12 @@ }, "semver": { "version": "6.3.0", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, "send": { "version": "0.18.0", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "requires": { "debug": "2.6.9", @@ -11613,6 +12201,7 @@ "dependencies": { "debug": { "version": "2.6.9", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -11620,26 +12209,31 @@ "dependencies": { "ms": { "version": "2.0.0", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, "mime": { "version": "1.6.0", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true }, "ms": { "version": "2.1.3", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "statuses": { "version": "2.0.1", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true } } }, "serialize-javascript": { "version": "6.0.1", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -11647,6 +12241,7 @@ }, "serve-index": { "version": "1.9.1", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dev": true, "requires": { "accepts": "~1.3.4", @@ -11660,6 +12255,7 @@ "dependencies": { "debug": { "version": "2.6.9", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -11667,10 +12263,12 @@ }, "depd": { "version": "1.1.2", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true }, "http-errors": { "version": "1.6.3", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dev": true, "requires": { "depd": "~1.1.2", @@ -11681,20 +12279,24 @@ }, "inherits": { "version": "2.0.3", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true }, "ms": { "version": "2.0.0", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "setprototypeof": { "version": "1.1.0", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true } } }, "serve-static": { "version": "1.15.0", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "requires": { "encodeurl": "~1.0.2", @@ -11705,14 +12307,17 @@ }, "setimmediate": { "version": "1.0.5", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", "dev": true }, "setprototypeof": { "version": "1.2.0", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "sha.js": { "version": "2.4.11", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -11721,6 +12326,7 @@ }, "shallow-clone": { "version": "3.0.1", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { "kind-of": "^6.0.2" @@ -11728,6 +12334,7 @@ }, "shebang-command": { "version": "2.0.0", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { "shebang-regex": "^3.0.0" @@ -11735,10 +12342,12 @@ }, "shebang-regex": { "version": "3.0.0", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "side-channel": { "version": "1.0.4", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "requires": { "call-bind": "^1.0.0", @@ -11748,14 +12357,17 @@ }, "signal-exit": { "version": "3.0.7", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, "slash": { "version": "3.0.0", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, "socket.io": { "version": "4.6.2", + "integrity": "sha512-Vp+lSks5k0dewYTfwgPT9UeGGd+ht7sCpB7p0e83VgO4X/AHYWhXITMrNk/pg8syY2bpx23ptClCQuHhqi2BgQ==", "dev": true, "requires": { "accepts": "~1.3.4", @@ -11768,6 +12380,7 @@ }, "socket.io-adapter": { "version": "2.5.2", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", "dev": true, "requires": { "ws": "~8.11.0" @@ -11775,6 +12388,7 @@ }, "socket.io-parser": { "version": "4.2.4", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", "dev": true, "requires": { "@socket.io/component-emitter": "~3.1.0", @@ -11783,6 +12397,7 @@ }, "sockjs": { "version": "0.3.24", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, "requires": { "faye-websocket": "^0.11.3", @@ -11792,10 +12407,12 @@ }, "source-map": { "version": "0.6.1", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "source-map-support": { "version": "0.5.21", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -11804,6 +12421,7 @@ }, "spdy": { "version": "4.0.2", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dev": true, "requires": { "debug": "^4.1.0", @@ -11815,6 +12433,7 @@ }, "spdy-transport": { "version": "3.0.0", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, "requires": { "debug": "^4.1.0", @@ -11827,6 +12446,7 @@ "dependencies": { "readable-stream": { "version": "3.6.2", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -11838,10 +12458,12 @@ }, "statuses": { "version": "1.5.0", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true }, "stop-iteration-iterator": { "version": "1.0.0", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "dev": true, "peer": true, "requires": { @@ -11850,6 +12472,7 @@ }, "stream-browserify": { "version": "2.0.2", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, "requires": { "inherits": "~2.0.1", @@ -11858,6 +12481,7 @@ }, "stream-http": { "version": "2.8.3", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { "builtin-status-codes": "^3.0.0", @@ -11869,6 +12493,7 @@ }, "streamroller": { "version": "3.1.5", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", "dev": true, "requires": { "date-format": "^4.0.14", @@ -11878,6 +12503,7 @@ }, "string_decoder": { "version": "1.3.0", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "requires": { "safe-buffer": "~5.2.0" @@ -11885,6 +12511,7 @@ }, "string-width": { "version": "4.2.3", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -11894,12 +12521,14 @@ "dependencies": { "emoji-regex": { "version": "8.0.0", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true } } }, "string.prototype.matchall": { "version": "4.0.8", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", "dev": true, "peer": true, "requires": { @@ -11915,6 +12544,7 @@ }, "string.prototype.trim": { "version": "1.2.7", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -11924,6 +12554,7 @@ }, "string.prototype.trimend": { "version": "1.0.6", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -11933,6 +12564,7 @@ }, "string.prototype.trimstart": { "version": "1.0.6", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -11942,6 +12574,7 @@ }, "strip-ansi": { "version": "6.0.1", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { "ansi-regex": "^5.0.1" @@ -11949,18 +12582,22 @@ }, "strip-bom": { "version": "3.0.0", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true }, "strip-final-newline": { "version": "2.0.0", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, "strip-json-comments": { "version": "3.1.1", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "supports-color": { "version": "7.2.0", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -11968,18 +12605,22 @@ }, "supports-preserve-symlinks-flag": { "version": "1.0.0", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, "taffydb": { "version": "2.6.2", + "integrity": "sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==", "dev": true }, "tapable": { "version": "0.1.10", + "integrity": "sha512-jX8Et4hHg57mug1/079yitEKWGB3LCwoxByLsNim89LABq8NqgiX+6iYVOsq0vX8uJHkU+DZ5fnq95f800bEsQ==", "dev": true }, "terser": { "version": "5.18.0", + "integrity": "sha512-pdL757Ig5a0I+owA42l6tIuEycRuM7FPY4n62h44mRLRfnOxJkkOHd6i89dOpwZlpF6JXBwaAHF6yWzFrt+QyA==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.3", @@ -11990,6 +12631,7 @@ }, "terser-webpack-plugin": { "version": "5.3.1", + "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", "dev": true, "requires": { "jest-worker": "^27.4.5", @@ -12001,18 +12643,22 @@ }, "text-table": { "version": "0.2.0", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "three": { "version": "0.127.0", + "integrity": "sha512-wtgrn+mhYUbobxT7QN3GPdu3SRpSBQvwY6uOzLChWS7QE//f7paDU/+wlzbg+ngeIvBBqjBHSRuywTh8A99Jng==", "peer": true }, "thunky": { "version": "1.1.0", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, "timers-browserify": { "version": "2.0.12", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -12020,6 +12666,7 @@ }, "tmp": { "version": "0.2.1", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "dev": true, "requires": { "rimraf": "^3.0.0" @@ -12027,10 +12674,12 @@ }, "to-arraybuffer": { "version": "1.0.1", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", "dev": true }, "to-regex-range": { "version": "5.0.1", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { "is-number": "^7.0.0" @@ -12038,10 +12687,12 @@ }, "toidentifier": { "version": "1.0.1", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, "tsconfig-paths": { "version": "3.14.2", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, "requires": { "@types/json5": "^0.0.29", @@ -12052,6 +12703,7 @@ "dependencies": { "json5": { "version": "1.0.2", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -12060,14 +12712,17 @@ } }, "tslib": { - "version": "2.5.3" + "version": "2.5.3", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" }, "tty-browserify": { "version": "0.0.0", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", "dev": true }, "type-check": { "version": "0.4.0", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { "prelude-ls": "^1.2.1" @@ -12075,10 +12730,12 @@ }, "type-fest": { "version": "0.20.2", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, "type-is": { "version": "1.6.18", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "requires": { "media-typer": "0.3.0", @@ -12087,6 +12744,7 @@ }, "typed-array-length": { "version": "1.0.4", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -12096,18 +12754,22 @@ }, "typescript": { "version": "4.6.3", + "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", "dev": true }, "ua-parser-js": { "version": "0.7.35", + "integrity": "sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==", "dev": true }, "uc.micro": { "version": "1.0.6", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", "dev": true }, "unbox-primitive": { "version": "1.0.2", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -12118,18 +12780,22 @@ }, "underscore": { "version": "1.13.6", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", "dev": true }, "universalify": { "version": "0.1.2", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true }, "unpipe": { "version": "1.0.0", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true }, "update-browserslist-db": { "version": "1.0.11", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "requires": { "escalade": "^3.1.1", @@ -12138,6 +12804,7 @@ }, "uri-js": { "version": "4.4.1", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -12145,12 +12812,14 @@ "dependencies": { "punycode": { "version": "2.3.0", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true } } }, "url": { "version": "0.11.1", + "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==", "dev": true, "requires": { "punycode": "^1.4.1", @@ -12159,6 +12828,7 @@ }, "util": { "version": "0.11.1", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, "requires": { "inherits": "2.0.3" @@ -12166,36 +12836,44 @@ "dependencies": { "inherits": { "version": "2.0.3", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true } } }, "util-deprecate": { "version": "1.0.2", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, "utils-merge": { "version": "1.0.1", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true }, "uuid": { "version": "8.3.2", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true }, "vary": { "version": "1.1.2", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true }, "vm-browserify": { "version": "1.1.2", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, "void-elements": { "version": "2.0.1", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", "dev": true }, "watchpack": { "version": "2.4.0", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -12204,6 +12882,7 @@ }, "wbuf": { "version": "1.7.3", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, "requires": { "minimalistic-assert": "^1.0.0" @@ -12211,6 +12890,7 @@ }, "webpack": { "version": "5.76.0", + "integrity": "sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", @@ -12241,6 +12921,7 @@ "dependencies": { "enhanced-resolve": { "version": "5.14.1", + "integrity": "sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -12249,6 +12930,7 @@ }, "eslint-scope": { "version": "5.1.1", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -12257,25 +12939,29 @@ }, "estraverse": { "version": "4.3.0", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "tapable": { "version": "2.2.1", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true } } }, "webpack-cli": { - "version": "4.9.1", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", + "@webpack-cli/configtest": "^1.2.0", + "@webpack-cli/info": "^1.5.0", + "@webpack-cli/serve": "^1.7.0", "colorette": "^2.0.14", "commander": "^7.0.0", - "execa": "^5.0.0", + "cross-spawn": "^7.0.3", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", "interpret": "^2.2.0", @@ -12285,11 +12971,13 @@ "dependencies": { "@webpack-cli/configtest": { "version": "1.2.0", + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", "dev": true, "requires": {} }, "@webpack-cli/info": { "version": "1.5.0", + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", "dev": true, "requires": { "envinfo": "^7.7.3" @@ -12297,21 +12985,25 @@ }, "@webpack-cli/serve": { "version": "1.7.0", + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", "dev": true, "requires": {} }, "commander": { "version": "7.2.0", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true }, "interpret": { "version": "2.2.0", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true } } }, "webpack-dev-server": { "version": "4.7.3", + "integrity": "sha512-mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q==", "dev": true, "requires": { "@types/bonjour": "^3.5.9", @@ -12347,6 +13039,7 @@ "dependencies": { "ajv": { "version": "8.12.0", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -12357,6 +13050,7 @@ }, "ajv-keywords": { "version": "5.1.0", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.3" @@ -12364,14 +13058,17 @@ }, "ansi-regex": { "version": "6.0.1", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, "json-schema-traverse": { "version": "1.0.0", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "schema-utils": { "version": "4.1.0", + "integrity": "sha512-Jw+GZVbP5IggB2WAn6UHI02LBwGmsIeYN/lNbSMZyDziQ7jmtAUrqKqDja+W89YHVs+KL/3IkIMltAklqB1vAw==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", @@ -12382,6 +13079,7 @@ }, "strip-ansi": { "version": "7.1.0", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "requires": { "ansi-regex": "^6.0.1" @@ -12389,6 +13087,7 @@ }, "webpack-dev-middleware": { "version": "5.3.3", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", "dev": true, "requires": { "colorette": "^2.0.10", @@ -12402,6 +13101,7 @@ }, "webpack-merge": { "version": "5.8.0", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", "dev": true, "requires": { "clone-deep": "^4.0.1", @@ -12410,10 +13110,12 @@ }, "webpack-sources": { "version": "3.2.3", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true }, "websocket-driver": { "version": "0.7.4", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, "requires": { "http-parser-js": ">=0.5.1", @@ -12423,10 +13125,12 @@ }, "websocket-extensions": { "version": "0.1.4", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true }, "which": { "version": "2.0.2", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -12434,6 +13138,7 @@ }, "which-boxed-primitive": { "version": "1.0.2", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "requires": { "is-bigint": "^1.0.1", @@ -12445,6 +13150,7 @@ }, "which-collection": { "version": "1.0.1", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", "dev": true, "peer": true, "requires": { @@ -12456,6 +13162,7 @@ }, "which-typed-array": { "version": "1.1.9", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -12467,14 +13174,17 @@ }, "wildcard": { "version": "2.0.1", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, "word-wrap": { "version": "1.2.3", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, "wrap-ansi": { "version": "7.0.0", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -12484,41 +13194,50 @@ }, "wrappy": { "version": "1.0.2", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "ws": { "version": "8.11.0", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", "dev": true, "requires": {} }, "xml2js": { "version": "0.5.0", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", "requires": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" } }, "xmlbuilder": { - "version": "11.0.1" + "version": "11.0.1", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" }, "xmlcreate": { "version": "2.0.4", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", "dev": true }, "xtend": { "version": "4.0.2", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "y18n": { "version": "5.0.8", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, "yallist": { "version": "4.0.0", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "yargs": { "version": "16.2.0", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "requires": { "cliui": "^7.0.2", @@ -12532,10 +13251,12 @@ }, "yargs-parser": { "version": "20.2.9", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true }, "yocto-queue": { "version": "0.1.0", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true } } diff --git a/package.json b/package.json index ae40ac7..2364b35 100644 --- a/package.json +++ b/package.json @@ -1,75 +1,75 @@ -{ - "name": "amazon-sumerian-hosts", - "license": "MIT", - "author": { - "name": "Amazon Web Services", - "url": "https://aws.amazon.com", - "organization": true - }, - "repository": { - "type": "git", - "url": "https://github.com/aws-samples/amazon-sumerian-hosts.git" - }, - "workspaces": [ - "./packages/amazon-sumerian-hosts-core", - "./packages/amazon-sumerian-hosts-babylon", - "./packages/demos-babylon", - "./packages/amazon-sumerian-hosts-three" - ], - "scripts": { - "compile-ts": "tsc --build --verbose", - "lint": "eslint .", - "lint:fix": "eslint . --fix", - "format": "prettier *.js packages/**/*.js --write", - "test": "node ./node_modules/karma/bin/karma start karma.conf.js", - "build": "npm run format && npm run lint:fix && npm run compile-ts && webpack", - "build-test": "npm run build && npm run test", - "release": "cross-env NODE_ENV=production npm run build", - "docs": "jsdoc -c jsdoc.conf.json", - "start": "cross-env NODE_ENV=development webpack-dev-server", - "start-core": "cross-env ENGINE=core NODE_ENV=development webpack-dev-server", - "start-three": "cross-env ENGINE=three NODE_ENV=development webpack-dev-server", - "start-babylon": "cross-env ENGINE=babylon NODE_ENV=development webpack-dev-server" - }, - "devDependencies": { - "cross-env": "^7.0.3", - "eslint": "^8.8.0", - "eslint-config-airbnb": "^19.0.4", - "eslint-config-prettier": "^6.10.0", - "eslint-import-resolver-webpack": "^0.12.1", - "eslint-plugin-compat": "^4.0.2", - "eslint-plugin-import": "^2.18.2", - "eslint-plugin-jasmine": "^4.1.0", - "eslint-plugin-node": "^11.0.0", - "eslint-plugin-prettier": "^3.1.2", - "file-loader": "^6.2.0", - "jsdoc": "^3.6.10", - "karma": "^6.3.12", - "karma-chrome-launcher": "^3.1.0", - "karma-firefox-launcher": "^2.1.2", - "karma-jasmine": "4.0.1", - "karma-sourcemap-loader": "^0.3.8", - "karma-spec-reporter": "0.0.33", - "karma-webpack": "^5.0.0", - "prettier": "^1.19.1", - "regenerator-runtime": "^0.13.5", - "terser-webpack-plugin": "^5.3.1", - "typescript": "^4.6.3", - "webpack": "^5.76.0", - "webpack-cli": "^4.9.1", - "webpack-dev-server": "^4.7.3", - "webpack-merge": "^5.8.0" - }, - "browserslist": [ - "last 2 Chrome versions", - "last 2 Firefox versions", - "last 2 Safari versions", - "last 2 ChromeAndroid versions", - "last 2 FirefoxAndroid versions", - "last 2 iOS versions" - ], - "version": "2.0.6", - "overrides": { - "xml2js": "^0.5.0" - } -} +{ + "name": "amazon-sumerian-hosts", + "license": "MIT", + "author": { + "name": "Amazon Web Services", + "url": "https://aws.amazon.com", + "organization": true + }, + "repository": { + "type": "git", + "url": "https://github.com/aws-samples/amazon-sumerian-hosts.git" + }, + "workspaces": [ + "./packages/amazon-sumerian-hosts-core", + "./packages/amazon-sumerian-hosts-babylon", + "./packages/demos-babylon", + "./packages/amazon-sumerian-hosts-three" + ], + "scripts": { + "compile-ts": "tsc --build --verbose", + "lint": "eslint .", + "lint:fix": "eslint . --fix", + "format": "prettier *.js packages/**/*.js --write", + "test": "node ./node_modules/karma/bin/karma start karma.conf.js", + "build": "npm run format && npm run lint:fix && npm run compile-ts && webpack", + "build-test": "npm run build && npm run test", + "release": "cross-env NODE_ENV=production npm run build", + "docs": "jsdoc -c jsdoc.conf.json", + "start": "cross-env NODE_ENV=development webpack-dev-server", + "start-core": "cross-env ENGINE=core NODE_ENV=development webpack-dev-server", + "start-three": "cross-env ENGINE=three NODE_ENV=development webpack-dev-server", + "start-babylon": "cross-env ENGINE=babylon NODE_ENV=development webpack-dev-server" + }, + "devDependencies": { + "cross-env": "^7.0.3", + "eslint": "^8.8.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-prettier": "^6.10.0", + "eslint-import-resolver-webpack": "^0.12.1", + "eslint-plugin-compat": "^4.0.2", + "eslint-plugin-import": "^2.18.2", + "eslint-plugin-jasmine": "^4.1.0", + "eslint-plugin-node": "^11.0.0", + "eslint-plugin-prettier": "^3.1.2", + "file-loader": "^6.2.0", + "jsdoc": "^3.6.10", + "karma": "^6.3.12", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.2", + "karma-jasmine": "4.0.1", + "karma-sourcemap-loader": "^0.3.8", + "karma-spec-reporter": "0.0.33", + "karma-webpack": "^5.0.0", + "prettier": "^1.19.1", + "regenerator-runtime": "^0.13.5", + "terser-webpack-plugin": "5.3.1", + "typescript": "^4.6.3", + "webpack": "5.76.0", + "webpack-cli": "4.10.0", + "webpack-dev-server": "4.7.3", + "webpack-merge": "5.8.0" + }, + "browserslist": [ + "last 2 Chrome versions", + "last 2 Firefox versions", + "last 2 Safari versions", + "last 2 ChromeAndroid versions", + "last 2 FirefoxAndroid versions", + "last 2 iOS versions" + ], + "version": "2.0.6", + "overrides": { + "xml2js": "^0.5.0" + } +} From 388317deeadf505ceb6620df867893d749df0dd0 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Tue, 5 Sep 2023 18:24:24 -0700 Subject: [PATCH 03/17] WIP convert to vanilla ESM, re-do this commit --- .eslintrc.json | 3 + demo-credentials.js | 2 +- demo-credentials.module.js | 8 ++ karma.conf.js | 2 +- package-lock.json | 76 +++++++----------- .../amazon-sumerian-hosts-babylon/README.md | 4 +- .../package.json | 4 +- .../src/Babylon.js/HostObject.js | 18 ++--- .../src/Babylon.js/PointOfInterestFeature.js | 2 +- .../Babylon.js/animpack/AnimationFeature.js | 2 +- .../src/Babylon.js/animpack/index.js | 4 +- .../Babylon.js/animpack/state/SingleState.js | 2 +- .../src/Babylon.js/awspack/LexFeature.js | 6 +- .../Babylon.js/awspack/TextToSpeechFeature.js | 8 +- .../src/Babylon.js/awspack/index.js | 6 +- .../src/Babylon.js/index.js | 10 +-- .../Babylon.js/babylon.animation.html | 24 +++++- .../Babylon.js/babylon.animation.js | 4 +- .../Babylon.js/babylon.texttospeech.html | 31 ++++++-- .../Babylon.js/babylon.texttospeech.js | 18 ++--- .../test/unit/BabylonHarness.js | 8 +- .../test/unit/EnvironmentHarness.js | 2 +- .../test/unit/HostObject.spec.js | 2 +- .../unit/animpack/state/SingleState.spec.js | 2 +- .../test/unit/awspack/Speech.spec.js | 2 +- .../unit/awspack/TextToSpeechFeature.spec.js | 8 +- .../src/core/AbstractHostFeature.js | 2 +- .../src/core/FeatureDependentInterface.js | 2 +- .../src/core/GestureFeature.js | 10 +-- .../src/core/HostObject.js | 6 +- .../src/core/LipsyncFeature.js | 10 +-- .../src/core/Messenger.js | 2 +- .../src/core/PointOfInterestFeature.js | 14 ++-- .../src/core/Utils.js | 2 +- .../src/core/animpack/AnimationFeature.js | 20 ++--- .../AnimationFeatureDependentInterface.js | 2 +- .../src/core/animpack/AnimationLayer.js | 12 +-- .../core/animpack/AnimationPlayerInterface.js | 4 +- .../src/core/animpack/AnimationUtils.js | 8 +- .../ManagedAnimationLayerInterface.js | 2 +- .../src/core/animpack/index.js | 22 +++--- .../core/animpack/state/AbstractBlendState.js | 8 +- .../src/core/animpack/state/AbstractState.js | 6 +- .../src/core/animpack/state/Blend1dState.js | 6 +- .../src/core/animpack/state/Blend2dState.js | 8 +- .../src/core/animpack/state/FreeBlendState.js | 2 +- .../src/core/animpack/state/QueueState.js | 6 +- .../animpack/state/RandomAnimationState.js | 8 +- .../src/core/animpack/state/SingleState.js | 8 +- .../animpack/state/StateContainerInterface.js | 2 +- .../core/animpack/state/TransitionState.js | 4 +- .../src/core/awspack/AbstractSpeech.js | 2 +- .../awspack/AbstractTextToSpeechFeature.js | 14 ++-- .../src/core/awspack/LexFeature.js | 6 +- .../core/awspack/SSMLSpeechmarkInterface.js | 2 +- .../src/core/awspack/Speech.js | 2 +- .../src/core/awspack/TextToSpeechFeature.js | 6 +- .../TextToSpeechFeatureDependentInterface.js | 2 +- .../src/core/awspack/TextToSpeechUtils.js | 2 +- .../src/core/awspack/index.js | 14 ++-- .../src/core/index.js | 25 +++--- .../test/integration_test/core/core.lex.html | 78 +++++++++---------- .../core/core.texttospeech.html | 34 ++++---- .../test/unit/AbstractHostFeature.spec.js | 2 +- .../test/unit/EnvironmentHarness.js | 2 +- .../unit/FeatureDependentInterface.spec.js | 4 +- .../test/unit/GestureFeature.spec.js | 2 +- .../test/unit/HostObject.spec.js | 2 +- .../test/unit/Messenger.spec.js | 2 +- .../test/unit/PointOfInterestFeature.spec.js | 2 +- .../unit/animpack/AnimationFeature.spec.js | 2 +- .../animpack/AnimationPlayerInterface.spec.js | 2 +- .../test/unit/animpack/LipsyncFeature.spec.js | 2 +- .../ManagedAnimationLayerInterface.spec.js | 4 +- .../animpack/state/AbstractBlendState.spec.js | 4 +- .../unit/animpack/state/AbstractState.spec.js | 2 +- .../unit/animpack/state/Blend1dState.spec.js | 2 +- .../unit/animpack/state/Blend2dState.spec.js | 2 +- .../animpack/state/FreeBlendState.spec.js | 4 +- .../state/RandomAnimationState.spec.js | 2 +- .../unit/animpack/state/SingleState.spec.js | 2 +- .../state/StateContainerInterface.spec.js | 4 +- .../test/unit/awspack/AbstractSpeech.spec.js | 2 +- .../AbstractTextToSpeechFeature.spec.js | 2 +- .../test/unit/awspack/LexFeature.spec.js | 2 +- .../test/unit/awspack/LexUtils.spec.js | 2 +- .../awspack/SSMLSpeechmarkInterface.spec.js | 4 +- .../test/unit/awspack/Speech.spec.js | 2 +- .../unit/awspack/TextToSpeechFeature.spec.js | 2 +- .../unit/awspack/TextToSpeechUtils.spec.js | 2 +- .../amazon-sumerian-hosts-three/README.md | 4 +- .../examples/main.js | 0 .../examples/three.html | 49 +++++++----- .../src/three.js/HostObject.js | 1 + .../src/three.js/PointOfInterestFeature.js | 1 + .../src/three.js/animpack/AnimationFeature.js | 3 +- .../src/three.js/animpack/index.js | 4 +- .../three.js/animpack/state/SingleState.js | 1 + .../src/three.js/awspack/LexFeature.js | 1 + .../three.js/awspack/TextToSpeechFeature.js | 3 +- .../src/three.js/awspack/index.js | 6 +- .../src/three.js/index.js | 10 +-- .../three.js/three.animation.html | 41 ++++++---- .../three.js/three.texttospeech.html | 52 ++++++++----- .../test/unit/EnvironmentHarness.js | 2 +- .../test/unit/HostObject.spec.js | 2 +- .../unit/animpack/state/SingleState.spec.js | 2 +- .../test/unit/awspack/Speech.spec.js | 2 +- .../unit/awspack/TextToSpeechFeature.spec.js | 2 +- packages/demos-babylon/package.json | 2 +- packages/demos-babylon/src/aws-sdk-global.js | 3 + packages/demos-babylon/src/chatbotDemo.html | 16 +++- packages/demos-babylon/src/chatbotDemo.js | 11 +-- .../demos-babylon/src/common/demo-utils.js | 14 ++-- .../src/customCharacterDemo.html | 20 +++-- .../demos-babylon/src/customCharacterDemo.js | 13 ++-- packages/demos-babylon/src/gesturesDemo.html | 20 +++-- packages/demos-babylon/src/gesturesDemo.js | 11 +-- .../demos-babylon/src/helloWorldDemo.html | 20 +++-- packages/demos-babylon/src/helloWorldDemo.js | 11 +-- webpack.config.js | 2 +- webpack.test.js | 2 +- 122 files changed, 556 insertions(+), 462 deletions(-) create mode 100644 demo-credentials.module.js create mode 100644 packages/amazon-sumerian-hosts-three/examples/main.js create mode 100644 packages/demos-babylon/src/aws-sdk-global.js diff --git a/.eslintrc.json b/.eslintrc.json index 5a2c46e..88abc1c 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -52,6 +52,9 @@ // been built. We'll rely instead on Webpack to catch any import resolution // problems. "import/no-unresolved": "off", + // Turn off default requirement for extensionless import specifiers, + // because that conflicts with vanilla ES Module compatibility. + "import/extensions": ["error", "always"], // TODO "no-shadow": "off", "no-plusplus": "off", "no-underscore-dangle": [ diff --git a/demo-credentials.js b/demo-credentials.js index 4ec8939..3540afb 100644 --- a/demo-credentials.js +++ b/demo-credentials.js @@ -4,5 +4,5 @@ // assigned to it: // - AmazonPollyReadOnlyAccess // - AmazonLexRunBotsOnly -const cognitoIdentityPoolId = 'us-west-2:xxxx-xxxx-xxxx-xxxx'; +const cognitoIdentityPoolId = 'us-east-1:1bd8cf95-4a03-4ef4-9249-240de72ef271'; module.exports = cognitoIdentityPoolId; diff --git a/demo-credentials.module.js b/demo-credentials.module.js new file mode 100644 index 0000000..7262f80 --- /dev/null +++ b/demo-credentials.module.js @@ -0,0 +1,8 @@ +// TODO: Update the value below to match a Cognito Identity Pool created in your +// AWS account. The unauthenticated IAM role for the pool (usually ending in the +// suffix "Unauth_Role") must have the following managed permissions policies +// assigned to it: +// - AmazonPollyReadOnlyAccess +// - AmazonLexRunBotsOnly +// eslint-disable-next-line +export const cognitoIdentityPoolId = 'us-east-1:1bd8cf95-4a03-4ef4-9249-240de72ef271'; diff --git a/karma.conf.js b/karma.conf.js index f6cacd3..2b3922f 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -2,7 +2,7 @@ // SPDX-License-Identifier: MIT-0 // We will use the core Webpack with a few changes for unit testing -const webpackConfig = require('./webpack.test'); +const webpackConfig = require('./webpack.test.js'); // Removing the output will stop karma from outputing chunks for the test code delete webpackConfig.output; diff --git a/package-lock.json b/package-lock.json index 42127d3..a4fdf46 100644 --- a/package-lock.json +++ b/package-lock.json @@ -86,26 +86,18 @@ "peer": true }, "node_modules/@babylonjs/core": { - "version": "4.2.2", - "integrity": "sha512-gAgetSyoxFZ/xzMVVnGPKaP941NHA59Ho8GGKFW98OTEp8yZcnzJjNOD2zfF1eKmlvR/6WwSmcrKWTJtPF1pyA==", - "dependencies": { - "tslib": ">=1.10.0" - }, - "engines": { - "node": "*" - } + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-6.18.0.tgz", + "integrity": "sha512-Tufbl8S0aNm5Czt6J2l7kPHkU6UYcK6o7zWtS76QDwIHE1yvNq1MwounTSuLc+u9vQR7Ml0HuACmePDmUNUSfw==" }, "node_modules/@babylonjs/loaders": { - "version": "4.2.2", - "integrity": "sha512-Qk8r4xp4eOznbX3AsNYv8HgwS+tzGu6TwSpDX4il3g0B+k1N5k6KE5ghrnwDytoxUDVjGZ/VKk2cQqiHsg/NLg==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/@babylonjs/loaders/-/loaders-6.18.0.tgz", + "integrity": "sha512-VWENt2XvQ9uUN2DHTI/XMpQPNHl9mf9D3XAv93HesaQeNL7mZEmbA+iO0ZR5y5jNyU5n+xHNkZ37LLDbl7QhJQ==", "peer": true, - "dependencies": { - "@babylonjs/core": "4.2.2", - "babylonjs-gltf2interface": "4.2.2", - "tslib": ">=1.10.0" - }, - "engines": { - "node": "*" + "peerDependencies": { + "@babylonjs/core": "^6.0.0", + "babylonjs-gltf2interface": "^6.0.0" } }, "node_modules/@colors/colors": { @@ -1060,12 +1052,10 @@ } }, "node_modules/babylonjs-gltf2interface": { - "version": "4.2.2", - "integrity": "sha512-LCQgW1lM+EpKK4yWMiPEgi6ONwJ7W4JrSu3t9JixNRgvnic72OnN2f0bt91rE30EJr1ZaokvkXD/aEiBp/Juyg==", - "peer": true, - "engines": { - "node": "*" - } + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylonjs-gltf2interface/-/babylonjs-gltf2interface-6.18.0.tgz", + "integrity": "sha512-gSXoYec7BFawuvdrvsBXKqVdkpuxznlX57c0qFP+/AkeAnb5Cvo3tGLKN0Iz6w4SLBgg7Td7hvxwQTxXkL/NRA==", + "peer": true }, "node_modules/balanced-match": { "version": "1.0.2", @@ -6607,10 +6597,6 @@ "json5": "lib/cli.js" } }, - "node_modules/tslib": { - "version": "2.5.3", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" - }, "node_modules/tty-browserify": { "version": "0.0.0", "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", @@ -7436,8 +7422,8 @@ "aws-sdk": "^2.1094.0" }, "peerDependencies": { - "@babylonjs/core": "^4.2.1", - "@babylonjs/loaders": "^4.2.1" + "@babylonjs/core": "^6.0.0", + "@babylonjs/loaders": "^6.0.0" } }, "packages/amazon-sumerian-hosts-core": { @@ -7464,7 +7450,7 @@ "license": "MIT", "devDependencies": { "@amazon-sumerian-hosts/babylon": "^2.0.0", - "@babylonjs/core": "^4.2.1", + "@babylonjs/core": "^6.0.0", "copy-webpack-plugin": "^10.2.4" } }, @@ -7625,21 +7611,16 @@ } }, "@babylonjs/core": { - "version": "4.2.2", - "integrity": "sha512-gAgetSyoxFZ/xzMVVnGPKaP941NHA59Ho8GGKFW98OTEp8yZcnzJjNOD2zfF1eKmlvR/6WwSmcrKWTJtPF1pyA==", - "requires": { - "tslib": ">=1.10.0" - } + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-6.18.0.tgz", + "integrity": "sha512-Tufbl8S0aNm5Czt6J2l7kPHkU6UYcK6o7zWtS76QDwIHE1yvNq1MwounTSuLc+u9vQR7Ml0HuACmePDmUNUSfw==" }, "@babylonjs/loaders": { - "version": "4.2.2", - "integrity": "sha512-Qk8r4xp4eOznbX3AsNYv8HgwS+tzGu6TwSpDX4il3g0B+k1N5k6KE5ghrnwDytoxUDVjGZ/VKk2cQqiHsg/NLg==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/@babylonjs/loaders/-/loaders-6.18.0.tgz", + "integrity": "sha512-VWENt2XvQ9uUN2DHTI/XMpQPNHl9mf9D3XAv93HesaQeNL7mZEmbA+iO0ZR5y5jNyU5n+xHNkZ37LLDbl7QhJQ==", "peer": true, - "requires": { - "@babylonjs/core": "4.2.2", - "babylonjs-gltf2interface": "4.2.2", - "tslib": ">=1.10.0" - } + "requires": {} }, "@colors/colors": { "version": "1.5.0", @@ -8459,8 +8440,9 @@ } }, "babylonjs-gltf2interface": { - "version": "4.2.2", - "integrity": "sha512-LCQgW1lM+EpKK4yWMiPEgi6ONwJ7W4JrSu3t9JixNRgvnic72OnN2f0bt91rE30EJr1ZaokvkXD/aEiBp/Juyg==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylonjs-gltf2interface/-/babylonjs-gltf2interface-6.18.0.tgz", + "integrity": "sha512-gSXoYec7BFawuvdrvsBXKqVdkpuxznlX57c0qFP+/AkeAnb5Cvo3tGLKN0Iz6w4SLBgg7Td7hvxwQTxXkL/NRA==", "peer": true }, "balanced-match": { @@ -9160,7 +9142,7 @@ "version": "file:packages/demos-babylon", "requires": { "@amazon-sumerian-hosts/babylon": "^2.0.0", - "@babylonjs/core": "^4.2.1", + "@babylonjs/core": "^6.0.0", "copy-webpack-plugin": "^10.2.4" }, "dependencies": { @@ -12711,10 +12693,6 @@ } } }, - "tslib": { - "version": "2.5.3", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" - }, "tty-browserify": { "version": "0.0.0", "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", diff --git a/packages/amazon-sumerian-hosts-babylon/README.md b/packages/amazon-sumerian-hosts-babylon/README.md index 7c55908..9d14cf9 100644 --- a/packages/amazon-sumerian-hosts-babylon/README.md +++ b/packages/amazon-sumerian-hosts-babylon/README.md @@ -58,8 +58,8 @@ And then configure the AWS SDK with our region and credentials: - ```javascript // Initialize AWS and create Polly service objects - window.AWS.config.region = 'us-west-2'; - window.AWS.config.credentials = new AWS.CognitoIdentityCredentials({ + AWS.config.region = 'us-west-2'; + AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: '', }); ``` diff --git a/packages/amazon-sumerian-hosts-babylon/package.json b/packages/amazon-sumerian-hosts-babylon/package.json index 05171fb..a1de090 100644 --- a/packages/amazon-sumerian-hosts-babylon/package.json +++ b/packages/amazon-sumerian-hosts-babylon/package.json @@ -25,7 +25,7 @@ "aws-sdk": "^2.1094.0" }, "peerDependencies": { - "@babylonjs/core": "^4.2.1", - "@babylonjs/loaders": "^4.2.1" + "@babylonjs/core": "^6.0.0", + "@babylonjs/loaders": "^6.0.0" } } diff --git a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/HostObject.js b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/HostObject.js index 7e3a29d..aa1b0f8 100644 --- a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/HostObject.js +++ b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/HostObject.js @@ -5,17 +5,17 @@ import { LipsyncFeature, GestureFeature, } from '@amazon-sumerian-hosts/core'; -import {SceneLoader} from '@babylonjs/core/Loading/sceneLoader'; -import {PrecisionDate} from '@babylonjs/core/Misc/precisionDate'; -import {Observable} from '@babylonjs/core/Misc/observable'; -import {AnimationGroup} from '@babylonjs/core/Animations/animationGroup'; +import {SceneLoader} from '@babylonjs/core/Loading/sceneLoader.js'; +import {PrecisionDate} from '@babylonjs/core/Misc/precisionDate.js'; +import {Observable} from '@babylonjs/core/Misc/observable.js'; +import {AnimationGroup} from '@babylonjs/core/Animations/animationGroup.js'; // eslint-disable-next-line no-unused-vars -import {RawTexture} from '@babylonjs/core/Materials/Textures/rawTexture'; -import '@babylonjs/loaders'; +import {RawTexture} from '@babylonjs/core/Materials/Textures/rawTexture.js'; +import '@babylonjs/loaders/index.js'; import AWS from 'aws-sdk'; -import anim from './animpack'; -import aws from './awspack'; -import PointOfInterestFeature from './PointOfInterestFeature'; +import anim from './animpack/index.js'; +import aws from './awspack/index.js'; +import PointOfInterestFeature from './PointOfInterestFeature.js'; /** * @extends core/HostObject diff --git a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/PointOfInterestFeature.js b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/PointOfInterestFeature.js index f2c73c5..bc5d248 100644 --- a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/PointOfInterestFeature.js +++ b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/PointOfInterestFeature.js @@ -4,7 +4,7 @@ import { PointOfInterestFeature as CorePointOfInterestFeature, AxisMap, } from '@amazon-sumerian-hosts/core'; -import {TransformNode} from '@babylonjs/core/Meshes/transformNode'; +import {TransformNode} from '@babylonjs/core/Meshes/transformNode.js'; /** * @extends core/PointOfInterestFeature diff --git a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/animpack/AnimationFeature.js b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/animpack/AnimationFeature.js index 2b9f0cc..8109e28 100644 --- a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/animpack/AnimationFeature.js +++ b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/animpack/AnimationFeature.js @@ -4,7 +4,7 @@ import { AnimationFeature as CoreAnimationFeature, AnimationTypes, } from '@amazon-sumerian-hosts/core'; -import SingleState from './state/SingleState'; +import SingleState from './state/SingleState.js'; AnimationTypes.single = SingleState; export {AnimationTypes}; diff --git a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/animpack/index.js b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/animpack/index.js index 8e2a915..09a4d3f 100644 --- a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/animpack/index.js +++ b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/animpack/index.js @@ -18,8 +18,8 @@ import { LayerBlendModes, DefaultLayerBlendMode, } from '@amazon-sumerian-hosts/core'; -import AnimationFeature, {AnimationTypes} from './AnimationFeature'; -import SingleState from './state/SingleState'; +import AnimationFeature, {AnimationTypes} from './AnimationFeature.js'; +import SingleState from './state/SingleState.js'; export default { /** diff --git a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/animpack/state/SingleState.js b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/animpack/state/SingleState.js index e8d229a..5f95f56 100644 --- a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/animpack/state/SingleState.js +++ b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/animpack/state/SingleState.js @@ -4,7 +4,7 @@ import { SingleState as CoreSingleState, MathUtils, } from '@amazon-sumerian-hosts/core'; -import '@babylonjs/core/Animations/animatable'; +import '@babylonjs/core/Animations/animatable.js'; const babylonBlendModes = { Override: false, diff --git a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/awspack/LexFeature.js b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/awspack/LexFeature.js index 2088f45..1b5cff2 100644 --- a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/awspack/LexFeature.js +++ b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/awspack/LexFeature.js @@ -1,9 +1,9 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 import {LexFeature as CoreLexFeature} from '@amazon-sumerian-hosts/core'; -import {Engine} from '@babylonjs/core/Engines/engine'; -import '@babylonjs/core/Audio/audioSceneComponent'; -import '@babylonjs/core/Audio/audioEngine'; +import {Engine} from '@babylonjs/core/Engines/engine.js'; +import '@babylonjs/core/Audio/audioSceneComponent.js'; +import '@babylonjs/core/Audio/audioEngine.js'; /** * @extends core/LexFeature diff --git a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/awspack/TextToSpeechFeature.js b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/awspack/TextToSpeechFeature.js index 8d199e4..c0f7e0b 100644 --- a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/awspack/TextToSpeechFeature.js +++ b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/awspack/TextToSpeechFeature.js @@ -4,10 +4,10 @@ import { AbstractTextToSpeechFeature, TextToSpeechFeature as CoreTextToSpeechFeature, } from '@amazon-sumerian-hosts/core'; -import {Sound} from '@babylonjs/core/Audio/sound'; -import {Engine} from '@babylonjs/core/Engines/engine'; -import '@babylonjs/core/Audio/audioEngine'; -import Speech from './Speech'; +import {Sound} from '@babylonjs/core/Audio/sound.js'; +import {Engine} from '@babylonjs/core/Engines/engine.js'; +import '@babylonjs/core/Audio/audioEngine.js'; +import Speech from './Speech.js'; /** * @extends core/TextToSpeechFeature diff --git a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/awspack/index.js b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/awspack/index.js index 7f5f1e2..207d75e 100644 --- a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/awspack/index.js +++ b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/awspack/index.js @@ -1,9 +1,9 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 import {TextToSpeechUtils, LexUtils} from '@amazon-sumerian-hosts/core'; -import TextToSpeechFeature from './TextToSpeechFeature'; -import LexFeature from './LexFeature'; -import Speech from './Speech'; +import TextToSpeechFeature from './TextToSpeechFeature.js'; +import LexFeature from './LexFeature.js'; +import Speech from './Speech.js'; /** * @module babylonjs/awspack diff --git a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/index.js b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/index.js index 5f1b03f..1f1aa7e 100644 --- a/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/index.js +++ b/packages/amazon-sumerian-hosts-babylon/src/Babylon.js/index.js @@ -16,12 +16,12 @@ import { Messenger, } from '@amazon-sumerian-hosts/core'; -import PointOfInterestFeature, {AxisMap} from './PointOfInterestFeature'; -import {env} from './HostEnvironment'; -import HostObject from './HostObject'; +import PointOfInterestFeature, {AxisMap} from './PointOfInterestFeature.js'; +import {env} from './HostEnvironment.js'; +import HostObject from './HostObject.js'; -import aws from './awspack'; -import anim from './animpack'; +import aws from './awspack/index.js'; +import anim from './animpack/index.js'; export { /** diff --git a/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.animation.html b/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.animation.html index 141b58f..63f1d2f 100644 --- a/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.animation.html +++ b/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.animation.html @@ -12,6 +12,14 @@ content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" /> + + - - + diff --git a/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.animation.js b/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.animation.js index df88b33..ef3fd37 100644 --- a/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.animation.js +++ b/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.animation.js @@ -2,7 +2,9 @@ /* eslint-disable no-underscore-dangle */ /* eslint-disable no-inner-declarations */ -import * as BABYLON from '@babylonjs/core/Legacy/legacy'; +import * as dat from 'three/examples/jsm/libs/dat.gui.module.js'; +// import * as BABYLON from '@babylonjs/core/Legacy/legacy.js'; +import * as BABYLON from '@babylonjs/core/index.js'; import * as HOST from '@amazon-sumerian-hosts/babylon'; async function main() { diff --git a/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.texttospeech.html b/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.texttospeech.html index 67e280d..b79e293 100644 --- a/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.texttospeech.html +++ b/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.texttospeech.html @@ -8,12 +8,31 @@ Babylon.js Host Test + - - - + + + + + + diff --git a/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.texttospeech.js b/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.texttospeech.js index 766ec53..161e797 100644 --- a/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.texttospeech.js +++ b/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.texttospeech.js @@ -1,17 +1,17 @@ -import * as BABYLON from '@babylonjs/core/Legacy/legacy'; +// import * as BABYLON from '@babylonjs/core/Legacy/legacy.js'; +import * as BABYLON from '@babylonjs/core/index.js'; import {HostObject, aws} from '@amazon-sumerian-hosts/babylon'; +// eslint-disable-next-line +import {cognitoIdentityPoolId} from '../../../../../demo-credentials.module.js'; async function main() { - // This is served by webpack-dev-server and comes from demo-credentials.js in the repo root - // If you copy this example, you will substitute in your own cognito Pool ID - const config = await (await fetch('/devConfig.json')).json(); // Parse the region out of the cognito Id - const region = config.cognitoIdentityPoolId.split(':')[0]; + const region = cognitoIdentityPoolId.split(':')[0]; // Initialize AWS and create Polly service objects - window.AWS.config.region = region; - window.AWS.config.credentials = new AWS.CognitoIdentityCredentials({ - IdentityPoolId: config.cognitoIdentityPoolId, + AWS.config.region = region; + AWS.config.credentials = new AWS.CognitoIdentityCredentials({ + IdentityPoolId: cognitoIdentityPoolId, }); const polly = new AWS.Polly(); const presigner = new AWS.Polly.Presigner(); @@ -20,7 +20,7 @@ async function main() { await aws.TextToSpeechFeature.initializeService( polly, presigner, - window.AWS.VERSION + AWS.VERSION ); let scene; diff --git a/packages/amazon-sumerian-hosts-babylon/test/unit/BabylonHarness.js b/packages/amazon-sumerian-hosts-babylon/test/unit/BabylonHarness.js index 1efc269..d25a28a 100644 --- a/packages/amazon-sumerian-hosts-babylon/test/unit/BabylonHarness.js +++ b/packages/amazon-sumerian-hosts-babylon/test/unit/BabylonHarness.js @@ -1,10 +1,10 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import {Scene} from '@babylonjs/core/scene'; -import {Engine} from '@babylonjs/core/Engines/engine'; -import {Mesh} from '@babylonjs/core/Meshes/mesh'; +import {Scene} from '@babylonjs/core/scene.js'; +import {Engine} from '@babylonjs/core/Engines/engine.js'; +import {Mesh} from '@babylonjs/core/Meshes/mesh.js'; // Side-effects only imports allowing Mesh to create default shapes -import '@babylonjs/core/Meshes/Builders/sphereBuilder'; +import '@babylonjs/core/Meshes/Builders/sphereBuilder.js'; export default function describeBabylonHost(description, fn) { describe(`Babylon Host - ${description}`, () => { diff --git a/packages/amazon-sumerian-hosts-babylon/test/unit/EnvironmentHarness.js b/packages/amazon-sumerian-hosts-babylon/test/unit/EnvironmentHarness.js index 24c5f7a..e05ed7b 100644 --- a/packages/amazon-sumerian-hosts-babylon/test/unit/EnvironmentHarness.js +++ b/packages/amazon-sumerian-hosts-babylon/test/unit/EnvironmentHarness.js @@ -1,6 +1,6 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import describeBabylonHost from './BabylonHarness'; +import describeBabylonHost from './BabylonHarness.js'; export default function describeHostEnvironment(description, fn) { describeBabylonHost(description, fn); diff --git a/packages/amazon-sumerian-hosts-babylon/test/unit/HostObject.spec.js b/packages/amazon-sumerian-hosts-babylon/test/unit/HostObject.spec.js index ef5bad5..41a0291 100644 --- a/packages/amazon-sumerian-hosts-babylon/test/unit/HostObject.spec.js +++ b/packages/amazon-sumerian-hosts-babylon/test/unit/HostObject.spec.js @@ -1,7 +1,7 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 import {HostObject} from '@amazon-sumerian-hosts/babylon'; -import describeEnvironment from './EnvironmentHarness'; +import describeEnvironment from './EnvironmentHarness.js'; describeEnvironment('HostObject', (options = {}) => { let host; diff --git a/packages/amazon-sumerian-hosts-babylon/test/unit/animpack/state/SingleState.spec.js b/packages/amazon-sumerian-hosts-babylon/test/unit/animpack/state/SingleState.spec.js index 730cc35..944a97f 100644 --- a/packages/amazon-sumerian-hosts-babylon/test/unit/animpack/state/SingleState.spec.js +++ b/packages/amazon-sumerian-hosts-babylon/test/unit/animpack/state/SingleState.spec.js @@ -5,7 +5,7 @@ /* eslint-disable no-underscore-dangle */ import {anim} from '@amazon-sumerian-hosts/babylon'; import {Deferred, LayerBlendModes} from '@amazon-sumerian-hosts/core'; -import describeEnvironment from '../../EnvironmentHarness'; +import describeEnvironment from '../../EnvironmentHarness.js'; describeEnvironment('SingleState', (options = {}) => { let state; diff --git a/packages/amazon-sumerian-hosts-babylon/test/unit/awspack/Speech.spec.js b/packages/amazon-sumerian-hosts-babylon/test/unit/awspack/Speech.spec.js index e15f310..0fa4806 100644 --- a/packages/amazon-sumerian-hosts-babylon/test/unit/awspack/Speech.spec.js +++ b/packages/amazon-sumerian-hosts-babylon/test/unit/awspack/Speech.spec.js @@ -6,7 +6,7 @@ /* eslint-disable no-underscore-dangle */ import {aws} from '@amazon-sumerian-hosts/babylon'; import {Messenger} from '@amazon-sumerian-hosts/core'; -import describeEnvironment from '../EnvironmentHarness'; +import describeEnvironment from '../EnvironmentHarness.js'; describeEnvironment('Speech', () => { let speech; diff --git a/packages/amazon-sumerian-hosts-babylon/test/unit/awspack/TextToSpeechFeature.spec.js b/packages/amazon-sumerian-hosts-babylon/test/unit/awspack/TextToSpeechFeature.spec.js index 66b758f..4deebef 100644 --- a/packages/amazon-sumerian-hosts-babylon/test/unit/awspack/TextToSpeechFeature.spec.js +++ b/packages/amazon-sumerian-hosts-babylon/test/unit/awspack/TextToSpeechFeature.spec.js @@ -4,10 +4,10 @@ /* eslint-disable no-underscore-dangle */ import {Messenger} from '@amazon-sumerian-hosts/core'; import {aws} from '@amazon-sumerian-hosts/babylon'; -import {Sound} from '@babylonjs/core/Audio/sound'; -import {TransformNode} from '@babylonjs/core/Meshes/transformNode'; -import {Engine} from '@babylonjs/core/Engines/engine'; -import describeEnvironment from '../EnvironmentHarness'; +import {Sound} from '@babylonjs/core/Audio/sound.js'; +import {TransformNode} from '@babylonjs/core/Meshes/transformNode.js'; +import {Engine} from '@babylonjs/core/Engines/engine.js'; +import describeEnvironment from '../EnvironmentHarness.js'; describeEnvironment('TextToSpeechFeature', options => { let mockHost; diff --git a/packages/amazon-sumerian-hosts-core/src/core/AbstractHostFeature.js b/packages/amazon-sumerian-hosts-core/src/core/AbstractHostFeature.js index b44d969..d31ad77 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/AbstractHostFeature.js +++ b/packages/amazon-sumerian-hosts-core/src/core/AbstractHostFeature.js @@ -1,6 +1,6 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import Messenger from './Messenger'; +import Messenger from './Messenger.js'; /** * Base class for all host features. Keeps a reference to the host object managing diff --git a/packages/amazon-sumerian-hosts-core/src/core/FeatureDependentInterface.js b/packages/amazon-sumerian-hosts-core/src/core/FeatureDependentInterface.js index b1af4dc..476c668 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/FeatureDependentInterface.js +++ b/packages/amazon-sumerian-hosts-core/src/core/FeatureDependentInterface.js @@ -3,7 +3,7 @@ /* eslint-disable no-unused-vars */ /* eslint-disable max-classes-per-file */ -import HostObject from './HostObject'; +import HostObject from './HostObject.js'; /** * Class factory interface for features that are dependent on other features being diff --git a/packages/amazon-sumerian-hosts-core/src/core/GestureFeature.js b/packages/amazon-sumerian-hosts-core/src/core/GestureFeature.js index cb8aef9..5763d0c 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/GestureFeature.js +++ b/packages/amazon-sumerian-hosts-core/src/core/GestureFeature.js @@ -1,10 +1,10 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import ManagedAnimationLayerInterface from './animpack/ManagedAnimationLayerInterface'; -import SSMLSpeechmarkInterface from './awspack/SSMLSpeechmarkInterface'; -import AbstractHostFeature from './AbstractHostFeature'; -import Deferred from './Deferred'; -import Utils from './Utils'; +import ManagedAnimationLayerInterface from './animpack/ManagedAnimationLayerInterface.js'; +import SSMLSpeechmarkInterface from './awspack/SSMLSpeechmarkInterface.js'; +import AbstractHostFeature from './AbstractHostFeature.js'; +import Deferred from './Deferred.js'; +import Utils from './Utils.js'; /** * @constant diff --git a/packages/amazon-sumerian-hosts-core/src/core/HostObject.js b/packages/amazon-sumerian-hosts-core/src/core/HostObject.js index b72533d..d6b2fc5 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/HostObject.js +++ b/packages/amazon-sumerian-hosts-core/src/core/HostObject.js @@ -1,8 +1,8 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import Messenger from './Messenger'; -import AbstractHostFeature from './AbstractHostFeature'; -import Utils from './Utils'; +import Messenger from './Messenger.js'; +import AbstractHostFeature from './AbstractHostFeature.js'; +import Utils from './Utils.js'; /** * Object that manages access to all Host features. Contains a reference to diff --git a/packages/amazon-sumerian-hosts-core/src/core/LipsyncFeature.js b/packages/amazon-sumerian-hosts-core/src/core/LipsyncFeature.js index 05a441f..25fe1b1 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/LipsyncFeature.js +++ b/packages/amazon-sumerian-hosts-core/src/core/LipsyncFeature.js @@ -1,10 +1,10 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import MathUtils from './MathUtils'; -import {Quadratic} from './animpack/Easing'; -import ManagedAnimationLayerInterface from './animpack/ManagedAnimationLayerInterface'; -import TextToSpeechFeatureDependentInterface from './awspack/TextToSpeechFeatureDependentInterface'; -import AbstractHostFeature from './AbstractHostFeature'; +import MathUtils from './MathUtils.js'; +import {Quadratic} from './animpack/Easing.js'; +import ManagedAnimationLayerInterface from './animpack/ManagedAnimationLayerInterface.js'; +import TextToSpeechFeatureDependentInterface from './awspack/TextToSpeechFeatureDependentInterface.js'; +import AbstractHostFeature from './AbstractHostFeature.js'; /** * Default mapping of Polly viseme names to animation options objects. diff --git a/packages/amazon-sumerian-hosts-core/src/core/Messenger.js b/packages/amazon-sumerian-hosts-core/src/core/Messenger.js index db56a1b..0af89c1 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/Messenger.js +++ b/packages/amazon-sumerian-hosts-core/src/core/Messenger.js @@ -1,7 +1,7 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 /* eslint-disable no-underscore-dangle */ -import Utils from './Utils'; +import Utils from './Utils.js'; /** * Class that can execute functions when local messages are received. Local messages diff --git a/packages/amazon-sumerian-hosts-core/src/core/PointOfInterestFeature.js b/packages/amazon-sumerian-hosts-core/src/core/PointOfInterestFeature.js index d838982..c080282 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/PointOfInterestFeature.js +++ b/packages/amazon-sumerian-hosts-core/src/core/PointOfInterestFeature.js @@ -2,13 +2,13 @@ // SPDX-License-Identifier: MIT-0 /* eslint-disable no-underscore-dangle */ /* eslint-disable no-unused-vars */ -import ManagedAnimationLayerInterface from './animpack/ManagedAnimationLayerInterface'; -import {AnimationTypes} from './animpack/AnimationFeature'; -import SSMLSpeechmarkInterface from './awspack/SSMLSpeechmarkInterface'; -import AbstractHostFeature from './AbstractHostFeature'; -import {Quadratic} from './animpack/Easing'; -import MathUtils from './MathUtils'; -import Utils from './Utils'; +import ManagedAnimationLayerInterface from './animpack/ManagedAnimationLayerInterface.js'; +import {AnimationTypes} from './animpack/AnimationFeature.js'; +import SSMLSpeechmarkInterface from './awspack/SSMLSpeechmarkInterface.js'; +import AbstractHostFeature from './AbstractHostFeature.js'; +import {Quadratic} from './animpack/Easing.js'; +import MathUtils from './MathUtils.js'; +import Utils from './Utils.js'; /** * Enum for axis directions. diff --git a/packages/amazon-sumerian-hosts-core/src/core/Utils.js b/packages/amazon-sumerian-hosts-core/src/core/Utils.js index 855ef9f..a972cbc 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/Utils.js +++ b/packages/amazon-sumerian-hosts-core/src/core/Utils.js @@ -1,6 +1,6 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import Deferred from './Deferred'; +import Deferred from './Deferred.js'; // This line gets replaced by Github actions to the SHA of the git commit const HOSTS_VERSION = 'development'; diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationFeature.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationFeature.js index 0995c5c..ef23a15 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationFeature.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationFeature.js @@ -1,15 +1,15 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import AbstractHostFeature from '../AbstractHostFeature'; -import Utils from '../Utils'; -import QueueState from './state/QueueState'; -import FreeBlendState from './state/FreeBlendState'; -import Blend1dState from './state/Blend1dState'; -import Blend2dState from './state/Blend2dState'; -import SingleState from './state/SingleState'; -import RandomAnimationState from './state/RandomAnimationState'; -import AnimationLayer, {LayerBlendModes} from './AnimationLayer'; -import Deferred from '../Deferred'; +import AbstractHostFeature from '../AbstractHostFeature.js'; +import Utils from '../Utils.js'; +import QueueState from './state/QueueState.js'; +import FreeBlendState from './state/FreeBlendState.js'; +import Blend1dState from './state/Blend1dState.js'; +import Blend2dState from './state/Blend2dState.js'; +import SingleState from './state/SingleState.js'; +import RandomAnimationState from './state/RandomAnimationState.js'; +import AnimationLayer, {LayerBlendModes} from './AnimationLayer.js'; +import Deferred from '../Deferred.js'; /** * Enum for animation state classes. diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationFeatureDependentInterface.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationFeatureDependentInterface.js index 29f13ef..55a8a35 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationFeatureDependentInterface.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationFeatureDependentInterface.js @@ -3,7 +3,7 @@ /* eslint-disable no-unused-vars */ /* eslint-disable max-classes-per-file */ -import FeatureDependentInterface from '../FeatureDependentInterface'; +import FeatureDependentInterface from '../FeatureDependentInterface.js'; /** * Class factory interface for features that are dependent on the AnimationFeature diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationLayer.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationLayer.js index 35c9bae..9033b72 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationLayer.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationLayer.js @@ -1,11 +1,11 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import AbstractBlendState from './state/AbstractBlendState'; -import AnimationPlayerInterface from './AnimationPlayerInterface'; -import AnimationUtils from './AnimationUtils'; -import MathUtils from '../MathUtils'; -import Deferred from '../Deferred'; -import StateContainerInterface from './state/StateContainerInterface'; +import AbstractBlendState from './state/AbstractBlendState.js'; +import AnimationPlayerInterface from './AnimationPlayerInterface.js'; +import AnimationUtils from './AnimationUtils.js'; +import MathUtils from '../MathUtils.js'; +import Deferred from '../Deferred.js'; +import StateContainerInterface from './state/StateContainerInterface.js'; /** * Enum for types of {@link AnimationLayer} blending. diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationPlayerInterface.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationPlayerInterface.js index f2d33e1..07351c4 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationPlayerInterface.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationPlayerInterface.js @@ -5,8 +5,8 @@ /* eslint-disable no-empty-function */ /* eslint-disable getter-return */ /* eslint-disable no-useless-constructor */ -import TransitionState from './state/TransitionState'; -import Deferred from '../Deferred'; +import TransitionState from './state/TransitionState.js'; +import Deferred from '../Deferred.js'; /** * Class factory interface for controlling playback of a collection of animations. diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationUtils.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationUtils.js index cf158c1..e3e1e86 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationUtils.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/AnimationUtils.js @@ -1,9 +1,9 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import Deferred from '../Deferred'; -import Utils from '../Utils'; -import MathUtils from '../MathUtils'; -import {Linear} from './Easing'; +import Deferred from '../Deferred.js'; +import Utils from '../Utils.js'; +import MathUtils from '../MathUtils.js'; +import {Linear} from './Easing.js'; /** * A collection of useful animation functions. diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/ManagedAnimationLayerInterface.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/ManagedAnimationLayerInterface.js index a22ca70..3621d23 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/ManagedAnimationLayerInterface.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/ManagedAnimationLayerInterface.js @@ -3,7 +3,7 @@ /* eslint-disable no-unused-vars */ /* eslint-disable max-classes-per-file */ -import AnimationFeatureDependentInterface from './AnimationFeatureDependentInterface'; +import AnimationFeatureDependentInterface from './AnimationFeatureDependentInterface.js'; /** * Class factory interface for that keeps track of layers and animations on a host. diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/index.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/index.js index be9d06a..2b7f1a0 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/index.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/index.js @@ -17,20 +17,20 @@ import { Elastic, Back, Bounce, -} from './Easing'; -import AnimationFeature, {AnimationTypes} from './AnimationFeature'; +} from './Easing.js'; +import AnimationFeature, {AnimationTypes} from './AnimationFeature.js'; import AnimationLayer, { LayerBlendModes, DefaultLayerBlendMode, -} from './AnimationLayer'; -import SingleState from './state/SingleState'; -import TransitionState from './state/TransitionState'; -import FreeBlendState from './state/FreeBlendState'; -import QueueState from './state/QueueState'; -import RandomAnimationState from './state/RandomAnimationState'; -import Blend1dState from './state/Blend1dState'; -import Blend2dState from './state/Blend2dState'; -import AnimationUtils from './AnimationUtils'; +} from './AnimationLayer.js'; +import SingleState from './state/SingleState.js'; +import TransitionState from './state/TransitionState.js'; +import FreeBlendState from './state/FreeBlendState.js'; +import QueueState from './state/QueueState.js'; +import RandomAnimationState from './state/RandomAnimationState.js'; +import Blend1dState from './state/Blend1dState.js'; +import Blend2dState from './state/Blend2dState.js'; +import AnimationUtils from './AnimationUtils.js'; /** * @namespace diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/AbstractBlendState.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/AbstractBlendState.js index f88e811..550f5a5 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/AbstractBlendState.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/AbstractBlendState.js @@ -1,9 +1,9 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import Deferred from '../../Deferred'; -import MathUtils from '../../MathUtils'; -import AbstractState from './AbstractState'; -import StateContainerInterface from './StateContainerInterface'; +import Deferred from '../../Deferred.js'; +import MathUtils from '../../MathUtils.js'; +import AbstractState from './AbstractState.js'; +import StateContainerInterface from './StateContainerInterface.js'; /** * Base class for a state that blends a collection of {@link AbstractState}. diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/AbstractState.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/AbstractState.js index 67b95f6..2fbfce0 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/AbstractState.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/AbstractState.js @@ -1,8 +1,8 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import Deferred from '../../Deferred'; -import MathUtils from '../../MathUtils'; -import AnimationUtils from '../AnimationUtils'; +import Deferred from '../../Deferred.js'; +import MathUtils from '../../MathUtils.js'; +import AnimationUtils from '../AnimationUtils.js'; /** * Base class for a state in our animation system. diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend1dState.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend1dState.js index a4d26e6..ebc515c 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend1dState.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend1dState.js @@ -1,8 +1,8 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import Deferred from '../../Deferred'; -import AbstractBlendState from './AbstractBlendState'; -import AnimationUtils from '../AnimationUtils'; +import Deferred from '../../Deferred.js'; +import AbstractBlendState from './AbstractBlendState.js'; +import AnimationUtils from '../AnimationUtils.js'; /** * Class for blending N number of blend states based on a single diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend2dState.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend2dState.js index 494fe78..27a15e9 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend2dState.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/Blend2dState.js @@ -1,10 +1,10 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 /* eslint-disable no-underscore-dangle */ -import Deferred from '../../Deferred'; -import MathUtils from '../../MathUtils'; -import AbstractBlendState from './AbstractBlendState'; -import AnimationUtils from '../AnimationUtils'; +import Deferred from '../../Deferred.js'; +import MathUtils from '../../MathUtils.js'; +import AbstractBlendState from './AbstractBlendState.js'; +import AnimationUtils from '../AnimationUtils.js'; /** * Class for blending N number of blend states based on two diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/FreeBlendState.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/FreeBlendState.js index bc834c7..258f7a4 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/FreeBlendState.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/FreeBlendState.js @@ -1,6 +1,6 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import AbstractBlendState from './AbstractBlendState'; +import AbstractBlendState from './AbstractBlendState.js'; /** * Class for blending N number of blend states. diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/QueueState.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/QueueState.js index b012ee8..c9a153a 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/QueueState.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/QueueState.js @@ -1,8 +1,8 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import AbstractState from './AbstractState'; -import AnimationPlayerInterface from '../AnimationPlayerInterface'; -import StateContainerInterface from './StateContainerInterface'; +import AbstractState from './AbstractState.js'; +import AnimationPlayerInterface from '../AnimationPlayerInterface.js'; +import StateContainerInterface from './StateContainerInterface.js'; /** * Class for playing an ordered array of animation states in sequence. diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/RandomAnimationState.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/RandomAnimationState.js index c3b2c05..2b34aad 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/RandomAnimationState.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/RandomAnimationState.js @@ -1,9 +1,9 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import AbstractState from './AbstractState'; -import StateContainerInterface from './StateContainerInterface'; -import AnimationPlayerInterface from '../AnimationPlayerInterface'; -import Utils from '../../Utils'; +import AbstractState from './AbstractState.js'; +import StateContainerInterface from './StateContainerInterface.js'; +import AnimationPlayerInterface from '../AnimationPlayerInterface.js'; +import Utils from '../../Utils.js'; /** * Class for playing random animations at random intervals within this state. diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/SingleState.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/SingleState.js index 7a9b2be..dc0cc11 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/SingleState.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/SingleState.js @@ -1,9 +1,9 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import Deferred from '../../Deferred'; -import AbstractState from './AbstractState'; -import {validateBlendMode} from '../AnimationLayer'; -import AnimationUtils from '../AnimationUtils'; +import Deferred from '../../Deferred.js'; +import AbstractState from './AbstractState.js'; +import {validateBlendMode} from '../AnimationLayer.js'; +import AnimationUtils from '../AnimationUtils.js'; /** * Class for playing a single animation clip. diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/StateContainerInterface.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/StateContainerInterface.js index 24d299f..8541e84 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/StateContainerInterface.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/StateContainerInterface.js @@ -5,7 +5,7 @@ /* eslint-disable no-empty-function */ /* eslint-disable getter-return */ -import Utils from '../../Utils'; +import Utils from '../../Utils.js'; /** * Class factory interface for manipulating a collection of {@link AbstractState}. diff --git a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/TransitionState.js b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/TransitionState.js index ad91bee..7c5a908 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/animpack/state/TransitionState.js +++ b/packages/amazon-sumerian-hosts-core/src/core/animpack/state/TransitionState.js @@ -1,7 +1,7 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import Deferred from '../../Deferred'; -import AbstractState from './AbstractState'; +import Deferred from '../../Deferred.js'; +import AbstractState from './AbstractState.js'; /** * Class for smooth transitioning between states on an animation layer. diff --git a/packages/amazon-sumerian-hosts-core/src/core/awspack/AbstractSpeech.js b/packages/amazon-sumerian-hosts-core/src/core/awspack/AbstractSpeech.js index 388bd6d..413467b 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/awspack/AbstractSpeech.js +++ b/packages/amazon-sumerian-hosts-core/src/core/awspack/AbstractSpeech.js @@ -1,6 +1,6 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import Deferred from '../Deferred'; +import Deferred from '../Deferred.js'; /** * Class that can play back audio generated by AWS Polly and synchronized emit diff --git a/packages/amazon-sumerian-hosts-core/src/core/awspack/AbstractTextToSpeechFeature.js b/packages/amazon-sumerian-hosts-core/src/core/awspack/AbstractTextToSpeechFeature.js index 899f282..5e198e7 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/awspack/AbstractTextToSpeechFeature.js +++ b/packages/amazon-sumerian-hosts-core/src/core/awspack/AbstractTextToSpeechFeature.js @@ -1,13 +1,13 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 import {compareVersions} from 'compare-versions'; -import AbstractHostFeature from '../AbstractHostFeature'; -import AnimationUtils from '../animpack/AnimationUtils'; -import MathUtils from '../MathUtils'; -import Utils from '../Utils'; -import Deferred from '../Deferred'; -import Speech from './AbstractSpeech'; -import TextToSpeechUtils from './TextToSpeechUtils'; +import AbstractHostFeature from '../AbstractHostFeature.js'; +import AnimationUtils from '../animpack/AnimationUtils.js'; +import MathUtils from '../MathUtils.js'; +import Utils from '../Utils.js'; +import Deferred from '../Deferred.js'; +import Speech from './AbstractSpeech.js'; +import TextToSpeechUtils from './TextToSpeechUtils.js'; /** * The Amazon Polly service object. diff --git a/packages/amazon-sumerian-hosts-core/src/core/awspack/LexFeature.js b/packages/amazon-sumerian-hosts-core/src/core/awspack/LexFeature.js index e1bd9b8..88e0096 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/awspack/LexFeature.js +++ b/packages/amazon-sumerian-hosts-core/src/core/awspack/LexFeature.js @@ -1,8 +1,8 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import Messenger from '../Messenger'; -import Utils from '../Utils'; -import LexUtils from './LexUtils'; +import Messenger from '../Messenger.js'; +import Utils from '../Utils.js'; +import LexUtils from './LexUtils.js'; /** * The AWS LexRuntime service object. diff --git a/packages/amazon-sumerian-hosts-core/src/core/awspack/SSMLSpeechmarkInterface.js b/packages/amazon-sumerian-hosts-core/src/core/awspack/SSMLSpeechmarkInterface.js index 38ba460..b3f4703 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/awspack/SSMLSpeechmarkInterface.js +++ b/packages/amazon-sumerian-hosts-core/src/core/awspack/SSMLSpeechmarkInterface.js @@ -4,7 +4,7 @@ /* eslint-disable max-classes-per-file */ /* eslint-disable no-empty */ -import TextToSpeechFeatureDependentInterface from './TextToSpeechFeatureDependentInterface'; +import TextToSpeechFeatureDependentInterface from './TextToSpeechFeatureDependentInterface.js'; /** * Class factory interface for that registers callback method when a ssml speechmark event is emitted. diff --git a/packages/amazon-sumerian-hosts-core/src/core/awspack/Speech.js b/packages/amazon-sumerian-hosts-core/src/core/awspack/Speech.js index b045ee0..50d2f49 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/awspack/Speech.js +++ b/packages/amazon-sumerian-hosts-core/src/core/awspack/Speech.js @@ -1,6 +1,6 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import AbstractSpeech from './AbstractSpeech'; +import AbstractSpeech from './AbstractSpeech.js'; /** * The built-in class for asynchronous Promises. diff --git a/packages/amazon-sumerian-hosts-core/src/core/awspack/TextToSpeechFeature.js b/packages/amazon-sumerian-hosts-core/src/core/awspack/TextToSpeechFeature.js index a0077be..59666e4 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/awspack/TextToSpeechFeature.js +++ b/packages/amazon-sumerian-hosts-core/src/core/awspack/TextToSpeechFeature.js @@ -1,8 +1,8 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import Speech from './Speech'; -import Deferred from '../Deferred'; -import AbstractTextToSpeechFeature from './AbstractTextToSpeechFeature'; +import Speech from './Speech.js'; +import Deferred from '../Deferred.js'; +import AbstractTextToSpeechFeature from './AbstractTextToSpeechFeature.js'; /** * @extends AbstractTextToSpeechFeature diff --git a/packages/amazon-sumerian-hosts-core/src/core/awspack/TextToSpeechFeatureDependentInterface.js b/packages/amazon-sumerian-hosts-core/src/core/awspack/TextToSpeechFeatureDependentInterface.js index bfc0a5e..fb5b406 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/awspack/TextToSpeechFeatureDependentInterface.js +++ b/packages/amazon-sumerian-hosts-core/src/core/awspack/TextToSpeechFeatureDependentInterface.js @@ -2,7 +2,7 @@ // SPDX-License-Identifier: MIT-0 /* eslint-disable max-classes-per-file */ -import FeatureDependentInterface from '../FeatureDependentInterface'; +import FeatureDependentInterface from '../FeatureDependentInterface.js'; /** * Class factory interface for features that are dependent on the TextToSpeechFeature diff --git a/packages/amazon-sumerian-hosts-core/src/core/awspack/TextToSpeechUtils.js b/packages/amazon-sumerian-hosts-core/src/core/awspack/TextToSpeechUtils.js index 774d8c7..622f77f 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/awspack/TextToSpeechUtils.js +++ b/packages/amazon-sumerian-hosts-core/src/core/awspack/TextToSpeechUtils.js @@ -1,7 +1,7 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import Utils from '../Utils'; +import Utils from '../Utils.js'; /** * A collection of useful text-to-speech functions. diff --git a/packages/amazon-sumerian-hosts-core/src/core/awspack/index.js b/packages/amazon-sumerian-hosts-core/src/core/awspack/index.js index 042158d..1d069ac 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/awspack/index.js +++ b/packages/amazon-sumerian-hosts-core/src/core/awspack/index.js @@ -1,12 +1,12 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -import TextToSpeechUtils from './TextToSpeechUtils'; -import AbstractSpeech from './AbstractSpeech'; -import Speech from './Speech'; -import AbstractTextToSpeechFeature from './AbstractTextToSpeechFeature'; -import TextToSpeechFeature from './TextToSpeechFeature'; -import LexFeature from './LexFeature'; -import LexUtils from './LexUtils'; +import TextToSpeechUtils from './TextToSpeechUtils.js'; +import AbstractSpeech from './AbstractSpeech.js'; +import Speech from './Speech.js'; +import AbstractTextToSpeechFeature from './AbstractTextToSpeechFeature.js'; +import TextToSpeechFeature from './TextToSpeechFeature.js'; +import LexFeature from './LexFeature.js'; +import LexUtils from './LexUtils.js'; /** * @module core/awspack */ diff --git a/packages/amazon-sumerian-hosts-core/src/core/index.js b/packages/amazon-sumerian-hosts-core/src/core/index.js index a74c4a7..415b1f7 100644 --- a/packages/amazon-sumerian-hosts-core/src/core/index.js +++ b/packages/amazon-sumerian-hosts-core/src/core/index.js @@ -5,20 +5,19 @@ * @module core/HOST */ -import Utils from './Utils'; -import MathUtils from './MathUtils'; -import Deferred from './Deferred'; -import {env} from './HostEnvironment'; -import Messenger from './Messenger'; -import AbstractHostFeature from './AbstractHostFeature'; -import HostObject from './HostObject'; -import LipsyncFeature, {DefaultVisemeMap} from './LipsyncFeature'; -import GestureFeature, {DefaultGestureWords} from './GestureFeature'; -import PointOfInterestFeature, {AxisMap} from './PointOfInterestFeature'; +import Utils from './Utils.js'; +import MathUtils from './MathUtils.js'; +import Deferred from './Deferred.js'; +import {env} from './HostEnvironment.js'; +import Messenger from './Messenger.js'; +import AbstractHostFeature from './AbstractHostFeature.js'; +import HostObject from './HostObject.js'; +import LipsyncFeature, {DefaultVisemeMap} from './LipsyncFeature.js'; +import GestureFeature, {DefaultGestureWords} from './GestureFeature.js'; +import PointOfInterestFeature, {AxisMap} from './PointOfInterestFeature.js'; -import animpack from './animpack'; - -import aws from './awspack'; +import animpack from './animpack/index.js'; +import aws from './awspack/index.js'; const Version = Utils.getVersion(); diff --git a/packages/amazon-sumerian-hosts-core/test/integration_test/core/core.lex.html b/packages/amazon-sumerian-hosts-core/test/integration_test/core/core.lex.html index c42026c..6708f10 100644 --- a/packages/amazon-sumerian-hosts-core/test/integration_test/core/core.lex.html +++ b/packages/amazon-sumerian-hosts-core/test/integration_test/core/core.lex.html @@ -8,19 +8,26 @@ Core Host Test + - +

Lex Response:

- - - + - - - + - - - - + + + @@ -177,8 +182,12 @@
- - - - - - - + - - - - - - - // This is served by webpack-dev-server and comes from demo-credentials.js in the repo root - const config = await(await fetch("/devConfig.json")).json(); - // Parse the region out of the cognito Id - const region = config.cognitoIdentityPoolId.split(":")[0]; + + + + - +
diff --git a/packages/demos-babylon/src/chatbotDemo.js b/packages/demos-babylon/src/chatbotDemo.js index 3a53736..ead864f 100644 --- a/packages/demos-babylon/src/chatbotDemo.js +++ b/packages/demos-babylon/src/chatbotDemo.js @@ -1,6 +1,8 @@ import {HostObject, aws as AwsFeatures} from '@amazon-sumerian-hosts/babylon'; -import {Scene} from '@babylonjs/core/scene'; -import DemoUtils from './common/demo-utils'; +import {Scene} from '@babylonjs/core/scene.js'; +import DemoUtils from './common/demo-utils.js'; +// eslint-disable-next-line +import {cognitoIdentityPoolId} from '../../../demo-credentials.module.js'; let host; let scene; @@ -15,11 +17,6 @@ async function createScene() { // ===== Configure the AWS SDK ===== - // This is served by webpack-dev-server and comes from demo-credentials.js in the repo root - // If you copy this example, you will substitute in your own cognito Pool ID - const config = await (await fetch('/devConfig.json')).json(); - const cognitoIdentityPoolId = config.cognitoIdentityPoolId; - AWS.config.region = cognitoIdentityPoolId.split(':')[0]; AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: cognitoIdentityPoolId, diff --git a/packages/demos-babylon/src/common/demo-utils.js b/packages/demos-babylon/src/common/demo-utils.js index 7131575..3bbd5bb 100644 --- a/packages/demos-babylon/src/common/demo-utils.js +++ b/packages/demos-babylon/src/common/demo-utils.js @@ -1,10 +1,10 @@ -import {Engine} from '@babylonjs/core/Engines/engine'; -import {Color3, Vector3, Angle} from '@babylonjs/core/Maths/math'; -import {DirectionalLight} from '@babylonjs/core/Lights/directionalLight'; -import {ArcRotateCamera} from '@babylonjs/core/Cameras/arcRotateCamera'; -import {ShadowGenerator} from '@babylonjs/core/Lights/Shadows/shadowGenerator'; -import '@babylonjs/core/Helpers/sceneHelpers'; -import '@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent'; +import {Engine} from '@babylonjs/core/Engines/engine.js'; +import {Color3, Vector3, Angle} from '@babylonjs/core/Maths/math.js'; +import {DirectionalLight} from '@babylonjs/core/Lights/directionalLight.js'; +import {ArcRotateCamera} from '@babylonjs/core/Cameras/arcRotateCamera.js'; +import {ShadowGenerator} from '@babylonjs/core/Lights/Shadows/shadowGenerator.js'; +import '@babylonjs/core/Helpers/sceneHelpers.js'; +import '@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent.js'; /** * This function is the entry point for running a demo. It handles all Babylon diff --git a/packages/demos-babylon/src/customCharacterDemo.html b/packages/demos-babylon/src/customCharacterDemo.html index 1378918..3a1db08 100644 --- a/packages/demos-babylon/src/customCharacterDemo.html +++ b/packages/demos-babylon/src/customCharacterDemo.html @@ -8,14 +8,22 @@ - - + + + - +
diff --git a/packages/demos-babylon/src/customCharacterDemo.js b/packages/demos-babylon/src/customCharacterDemo.js index 5cdc453..8f93a94 100644 --- a/packages/demos-babylon/src/customCharacterDemo.js +++ b/packages/demos-babylon/src/customCharacterDemo.js @@ -1,7 +1,9 @@ import {HostObject} from '@amazon-sumerian-hosts/babylon'; -import {Scene} from '@babylonjs/core/scene'; -import {Vector3} from '@babylonjs/core'; -import DemoUtils from './common/demo-utils'; +import {Scene} from '@babylonjs/core/scene.js'; +import {Vector3} from '@babylonjs/core/Maths/math.vector.js'; +import DemoUtils from './common/demo-utils.js'; +// eslint-disable-next-line +import {cognitoIdentityPoolId} from '../../../demo-credentials.module.js'; let host; let scene; @@ -21,11 +23,6 @@ async function createScene() { // ===== Configure the AWS SDK ===== - // This is served by webpack-dev-server and comes from demo-credentials.js in the repo root - // If you copy this example, you will substitute in your own cognito Pool ID - const config = await (await fetch('/devConfig.json')).json(); - const cognitoIdentityPoolId = config.cognitoIdentityPoolId; - AWS.config.region = cognitoIdentityPoolId.split(':')[0]; AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: cognitoIdentityPoolId, diff --git a/packages/demos-babylon/src/gesturesDemo.html b/packages/demos-babylon/src/gesturesDemo.html index a411a87..111d3d4 100644 --- a/packages/demos-babylon/src/gesturesDemo.html +++ b/packages/demos-babylon/src/gesturesDemo.html @@ -8,14 +8,22 @@ - - + + + - +
diff --git a/packages/demos-babylon/src/gesturesDemo.js b/packages/demos-babylon/src/gesturesDemo.js index 09310d6..9902217 100644 --- a/packages/demos-babylon/src/gesturesDemo.js +++ b/packages/demos-babylon/src/gesturesDemo.js @@ -1,6 +1,8 @@ import {HostObject} from '@amazon-sumerian-hosts/babylon'; -import {Scene} from '@babylonjs/core/scene'; -import DemoUtils from './common/demo-utils'; +import {Scene} from '@babylonjs/core/scene.js'; +import DemoUtils from './common/demo-utils.js'; +// eslint-disable-next-line +import {cognitoIdentityPoolId} from '../../../demo-credentials.module.js'; let host; let scene; @@ -16,11 +18,6 @@ async function createScene() { // ===== Configure the AWS SDK ===== - // This is served by webpack-dev-server and comes from demo-credentials.js in the repo root - // If you copy this example, you will substitute in your own cognito Pool ID - const config = await (await fetch('/devConfig.json')).json(); - const cognitoIdentityPoolId = config.cognitoIdentityPoolId; - AWS.config.region = cognitoIdentityPoolId.split(':')[0]; AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: cognitoIdentityPoolId, diff --git a/packages/demos-babylon/src/helloWorldDemo.html b/packages/demos-babylon/src/helloWorldDemo.html index e916acc..2a40df7 100644 --- a/packages/demos-babylon/src/helloWorldDemo.html +++ b/packages/demos-babylon/src/helloWorldDemo.html @@ -8,14 +8,22 @@ - - + + + - +
diff --git a/packages/demos-babylon/src/helloWorldDemo.js b/packages/demos-babylon/src/helloWorldDemo.js index e6bd79c..0aa5d8c 100644 --- a/packages/demos-babylon/src/helloWorldDemo.js +++ b/packages/demos-babylon/src/helloWorldDemo.js @@ -1,6 +1,8 @@ import {HostObject} from '@amazon-sumerian-hosts/babylon'; -import {Scene} from '@babylonjs/core/scene'; -import DemoUtils from './common/demo-utils'; +import {Scene} from '@babylonjs/core/scene.js'; +import DemoUtils from './common/demo-utils.js'; +// eslint-disable-next-line +import {cognitoIdentityPoolId} from '../../../demo-credentials.module.js'; let host; let scene; @@ -15,11 +17,6 @@ async function createScene() { // ===== Configure the AWS SDK ===== - // This is served by webpack-dev-server and comes from demo-credentials.js in the repo root - // If you copy this example, you will substitute in your own cognito Pool ID - const config = await (await fetch('/devConfig.json')).json(); - const cognitoIdentityPoolId = config.cognitoIdentityPoolId; - AWS.config.region = cognitoIdentityPoolId.split(':')[0]; AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: cognitoIdentityPoolId, diff --git a/webpack.config.js b/webpack.config.js index 4bda0de..b803ab5 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -5,7 +5,7 @@ const path = require('path'); const webpack = require('webpack'); const TerserPlugin = require('terser-webpack-plugin'); -const cognitoIdentityPoolId = require('./demo-credentials'); +const cognitoIdentityPoolId = require('./demo-credentials.js'); // If we are running an interactive devserver const isDevServer = diff --git a/webpack.test.js b/webpack.test.js index 2f3dfcd..f933f08 100644 --- a/webpack.test.js +++ b/webpack.test.js @@ -3,7 +3,7 @@ // This file extends the base webpack with some stuff so Karma can run the tests const webpack = require('webpack'); -const baseConfig = require('./webpack.config'); +const baseConfig = require('./webpack.config.js'); // Removing the output will stop webpack from outputing chunks for the integration test code delete baseConfig.output; From a79d796882852306a46153e2e92a0725f63aa3cc Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 6 Sep 2023 15:45:44 -0700 Subject: [PATCH 04/17] remove webpack config and update tests. Avoid using global THREE and having Webpack provide it, and instead import it as a regular JavaScript module (note that Three.js has deprecated the global and will provide only JavaScript modules at version 0.160) --- karma.conf.js | 15 +- package.json | 13 +- .../test/unit/ThreeHarness.js | 2 + .../unit/animpack/state/SingleState.spec.js | 1 + .../test/unit/awspack/Speech.spec.js | 1 + .../unit/awspack/TextToSpeechFeature.spec.js | 1 + webpack.config.js | 178 ------------------ webpack.test.js | 24 --- 8 files changed, 18 insertions(+), 217 deletions(-) delete mode 100644 webpack.config.js delete mode 100644 webpack.test.js diff --git a/karma.conf.js b/karma.conf.js index 2b3922f..6e9931f 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,16 +1,11 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -// We will use the core Webpack with a few changes for unit testing -const webpackConfig = require('./webpack.test.js'); -// Removing the output will stop karma from outputing chunks for the test code -delete webpackConfig.output; - const TEST_BROWSERS = process.env.TEST_BROWSERS !== undefined ? process.env.TEST_BROWSERS.split(',') - .map(s => s.trim()) - .filter(s => s !== '') + .map(s => s.trim()) + .filter(s => s !== '') : ['Chrome']; console.log(`TEST_BROWSERS=${TEST_BROWSERS.join(',')}`); @@ -31,6 +26,10 @@ module.exports = function(config) { plugins: [ 'karma-jasmine', + // TODO We use karma-webpack so that JavaScript module import/export + // syntax works, but we might be able to instead make our own little + // plugin to call each entry point with native `import(0)`, and provide an + // `importmap` script in the HTML harness. 'karma-webpack', 'karma-firefox-launcher', 'karma-chrome-launcher', @@ -96,7 +95,7 @@ module.exports = function(config) { // how many browser should be started simultaneous concurrency: Infinity, - webpack: webpackConfig, + webpack: {}, // Empty, no config needed. webpackServer: { noInfo: true, diff --git a/package.json b/package.json index 2364b35..83109c7 100644 --- a/package.json +++ b/package.json @@ -22,14 +22,14 @@ "lint:fix": "eslint . --fix", "format": "prettier *.js packages/**/*.js --write", "test": "node ./node_modules/karma/bin/karma start karma.conf.js", - "build": "npm run format && npm run lint:fix && npm run compile-ts && webpack", + "build": "npm run format && npm run lint:fix && npm run compile-ts", "build-test": "npm run build && npm run test", - "release": "cross-env NODE_ENV=production npm run build", + "release": "npm run build", "docs": "jsdoc -c jsdoc.conf.json", - "start": "cross-env NODE_ENV=development webpack-dev-server", - "start-core": "cross-env ENGINE=core NODE_ENV=development webpack-dev-server", - "start-three": "cross-env ENGINE=three NODE_ENV=development webpack-dev-server", - "start-babylon": "cross-env ENGINE=babylon NODE_ENV=development webpack-dev-server" + "start": "live-server .", + "start-core": "... todo open browser to core folder ...", + "start-three": "... todo open browser to three folder ...", + "start-babylon": "... todo open browser to babylon folder ..." }, "devDependencies": { "cross-env": "^7.0.3", @@ -53,7 +53,6 @@ "karma-webpack": "^5.0.0", "prettier": "^1.19.1", "regenerator-runtime": "^0.13.5", - "terser-webpack-plugin": "5.3.1", "typescript": "^4.6.3", "webpack": "5.76.0", "webpack-cli": "4.10.0", diff --git a/packages/amazon-sumerian-hosts-three/test/unit/ThreeHarness.js b/packages/amazon-sumerian-hosts-three/test/unit/ThreeHarness.js index 5cfa24d..1fc044c 100644 --- a/packages/amazon-sumerian-hosts-three/test/unit/ThreeHarness.js +++ b/packages/amazon-sumerian-hosts-three/test/unit/ThreeHarness.js @@ -1,3 +1,5 @@ +import * as THREE from 'three'; + // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 export default function describeThreeHost(description, fn) { diff --git a/packages/amazon-sumerian-hosts-three/test/unit/animpack/state/SingleState.spec.js b/packages/amazon-sumerian-hosts-three/test/unit/animpack/state/SingleState.spec.js index a5db9a4..6719981 100644 --- a/packages/amazon-sumerian-hosts-three/test/unit/animpack/state/SingleState.spec.js +++ b/packages/amazon-sumerian-hosts-three/test/unit/animpack/state/SingleState.spec.js @@ -5,6 +5,7 @@ /* eslint-disable no-underscore-dangle */ import {anim} from '@amazon-sumerian-hosts/three'; import {LayerBlendModes, Deferred} from '@amazon-sumerian-hosts/core'; +import * as THREE from 'three'; import describeEnvironment from '../../EnvironmentHarness.js'; describeEnvironment('SingleState', () => { diff --git a/packages/amazon-sumerian-hosts-three/test/unit/awspack/Speech.spec.js b/packages/amazon-sumerian-hosts-three/test/unit/awspack/Speech.spec.js index ea8747a..ca4f2b1 100644 --- a/packages/amazon-sumerian-hosts-three/test/unit/awspack/Speech.spec.js +++ b/packages/amazon-sumerian-hosts-three/test/unit/awspack/Speech.spec.js @@ -6,6 +6,7 @@ /* eslint-disable no-underscore-dangle */ import {Messenger} from '@amazon-sumerian-hosts/core'; import {aws} from '@amazon-sumerian-hosts/three'; +import * as THREE from 'three'; import describeEnvironment from '../EnvironmentHarness.js'; describeEnvironment('Speech', (_options, env) => { diff --git a/packages/amazon-sumerian-hosts-three/test/unit/awspack/TextToSpeechFeature.spec.js b/packages/amazon-sumerian-hosts-three/test/unit/awspack/TextToSpeechFeature.spec.js index b05299a..321bbb7 100644 --- a/packages/amazon-sumerian-hosts-three/test/unit/awspack/TextToSpeechFeature.spec.js +++ b/packages/amazon-sumerian-hosts-three/test/unit/awspack/TextToSpeechFeature.spec.js @@ -4,6 +4,7 @@ /* eslint-disable no-underscore-dangle */ import {Messenger} from '@amazon-sumerian-hosts/core'; import {aws} from '@amazon-sumerian-hosts/three'; +import * as THREE from 'three'; import describeEnvironment from '../EnvironmentHarness.js'; describeEnvironment('TextToSpeechFeature', () => { diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index b803ab5..0000000 --- a/webpack.config.js +++ /dev/null @@ -1,178 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: MIT-0 - -const path = require('path'); -const webpack = require('webpack'); -const TerserPlugin = require('terser-webpack-plugin'); - -const cognitoIdentityPoolId = require('./demo-credentials.js'); - -// If we are running an interactive devserver -const isDevServer = - process.env.ENGINE || process.env.NODE_ENV === 'development'; - -// By default, devServer will open slash -// but we have build scripts for core and each engine -let webpackOpenUrls = ['/']; - -if (process.env.ENGINE === 'core') { - webpackOpenUrls = [ - '/packages/amazon-sumerian-hosts-core/test/integration_test/core/', - ]; -} else if (process.env.ENGINE === 'three') { - webpackOpenUrls = [ - '/packages/amazon-sumerian-hosts-three/examples/three.html', - '/packages/amazon-sumerian-hosts-three/test/integration_test/three.js/', - ]; -} else if (process.env.ENGINE === 'babylon') { - webpackOpenUrls = [ - '/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/', - '/packages/demos-babylon/src/', - ]; -} - -let devServerOnlyEntryPoints = {}; - -let prodOnlyExternals = []; - -if (isDevServer) { - // Only build the demos & tests if we are running in the dev server - devServerOnlyEntryPoints = { - helloWorldDemo: { - import: './packages/demos-babylon/src/helloWorldDemo.js', - filename: './packages/demos-babylon/dist/[name].js', - }, - gesturesDemo: { - import: './packages/demos-babylon/src/gesturesDemo.js', - filename: './packages/demos-babylon/dist/[name].js', - }, - customCharacterDemo: { - import: './packages/demos-babylon/src/customCharacterDemo.js', - filename: './packages/demos-babylon/dist/[name].js', - }, - chatbotDemo: { - import: './packages/demos-babylon/src/chatbotDemo.js', - filename: './packages/demos-babylon/dist/[name].js', - }, - textToSpeechTest: { - import: - './packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.texttospeech.js', - filename: - './packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/dist/[name].js', - }, - animationTest: { - import: - './packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.animation.js', - filename: - './packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/dist/[name].js', - }, - }; -} else { - // do not bundle peer dependencies, unless we're running demos - prodOnlyExternals = [ - // eslint-disable-next-line no-unused-vars - function({context, request}, callback) { - if (/^@babylonjs\/core.*$/.test(request)) { - return callback(null, { - root: 'BABYLON', - commonjs: '@babylonjs/core', - commonjs2: '@babylonjs/core', - amd: '@babylonjs/core', - }); - } else if (/^@babylonjs\/loaders.*$/i.test(request)) { - return callback(null, { - root: 'BABYLON', - commonjs: '@babylonjs/loaders', - commonjs2: '@babylonjs/loaders', - amd: '@babylonjs/loaders', - }); - } - callback(); - }, - ]; -} - -module.exports = { - // Turn on source maps if we aren't doing a production build, so tests and `start` for the examples. - devtool: process.env.NODE_ENV === 'development' ? 'source-map' : undefined, - entry: { - 'host.core': { - import: './packages/amazon-sumerian-hosts-core/src/core/index.js', - filename: './packages/amazon-sumerian-hosts-core/dist/[name].js', - }, - 'host.babylon': { - import: - './packages/amazon-sumerian-hosts-babylon/src/Babylon.js/index.js', - filename: './packages/amazon-sumerian-hosts-babylon/dist/[name].js', - }, - 'host.three': { - import: './packages/amazon-sumerian-hosts-three/src/three.js/index.js', - filename: './packages/amazon-sumerian-hosts-three/dist/[name].js', - }, - ...devServerOnlyEntryPoints, - }, - output: { - filename: '[name].js', - path: path.resolve(__dirname), - library: { - name: 'HOST', - type: 'umd', - umdNamedDefine: true, - }, - globalObject: - '(typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : this)', - hotUpdateChunkFilename: '.hot-reload/[id].[fullhash].hot-update.js', - hotUpdateMainFilename: '.hot-reload/[runtime].[fullhash].hot-update.json', - }, - plugins: [ - new webpack.BannerPlugin({ - banner: `Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\nSPDX-License-Identifier: MIT-0`, - entryOnly: true, - }), - ], - devServer: { - devMiddleware: { - // HTML files aren't fully modeled in webpack and may refer to on-dsk files - // So let's make sure these get written out when watching - writeToDisk: true, - }, - open: webpackOpenUrls, - liveReload: true, - hot: true, - static: { - directory: path.join(__dirname), - watch: true, - }, - setupMiddlewares: (middlewares, devServer) => { - // Let's create a fake file to serve up config to be used by the tests - // At some point we may move all the tests to be Webpack entry points and this could be easier - // But this makes things straight forward to use from our raw HTML files - devServer.app.get('/devConfig.json', (_, res) => { - res.json({cognitoIdentityPoolId}); - }); - return middlewares; - }, - }, - // We need to override some of the defaults for the minimization step -- - // There are issues with mangling otherwise, as logic relies on class names being preserved - optimization: { - minimize: true, - minimizer: [ - new TerserPlugin({ - terserOptions: { - keep_classnames: true, - }, - }), - ], - }, - resolve: { - modules: ['node_modules'], - // don't import @babylonjs/core from the submodule's dependencies, - // but from the project dependencies - alias: { - '@babylonjs/core': path.resolve('./node_modules/@babylonjs/core'), - }, - }, - externals: [...prodOnlyExternals], - target: 'browserslist', -}; diff --git a/webpack.test.js b/webpack.test.js deleted file mode 100644 index f933f08..0000000 --- a/webpack.test.js +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: MIT-0 - -// This file extends the base webpack with some stuff so Karma can run the tests -const webpack = require('webpack'); -const baseConfig = require('./webpack.config.js'); - -// Removing the output will stop webpack from outputing chunks for the integration test code -delete baseConfig.output; - -// We need external dependencies to be packaged with the tests so that they may run -delete baseConfig.externals; - -module.exports = { - ...baseConfig, - plugins: [ - ...baseConfig.plugins, - // three is a peerDependency and is expected to be loaded on the page - // We emulate that with ProvidePlugin like this - new webpack.ProvidePlugin({ - THREE: 'three', - }), - ], -}; From 12447a2208d89525037e31e8def95de87304d359 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 4 Oct 2023 21:32:17 -0700 Subject: [PATCH 05/17] install missing dependency for npm start script --- package-lock.json | 1730 ++++++++++++++++++++++++++++++++++++++++++++- package.json | 3 +- 2 files changed, 1694 insertions(+), 39 deletions(-) diff --git a/package-lock.json b/package-lock.json index a4fdf46..60b1148 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,6 +26,7 @@ "eslint-plugin-node": "^11.0.0", "eslint-plugin-prettier": "^3.1.2", "file-loader": "^6.2.0", + "five-server": "^0.3.1", "jsdoc": "^3.6.10", "karma": "^6.3.12", "karma-chrome-launcher": "^3.1.0", @@ -36,7 +37,6 @@ "karma-webpack": "^5.0.0", "prettier": "^1.19.1", "regenerator-runtime": "^0.13.5", - "terser-webpack-plugin": "5.3.1", "typescript": "^4.6.3", "webpack": "5.76.0", "webpack-cli": "4.10.0", @@ -56,6 +56,184 @@ "resolved": "packages/amazon-sumerian-hosts-three", "link": true }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/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==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/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==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/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==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/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==", + "dev": true + }, + "node_modules/@babel/code-frame/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==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/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==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/@babel/highlight/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==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/parser": { "version": "7.22.5", "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", @@ -168,6 +346,18 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@html-validate/stylish": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-4.2.0.tgz", + "integrity": "sha512-Nl8HCv0hGRSLQ+n1OD4Hk3a+Urwk9HH0vQkAzzCarT4KlA7bRl+6xEiS5PZVwOmjtC7XiH/oNe3as9Fxcr2A1w==", + "dev": true, + "dependencies": { + "kleur": "^4.0.0" + }, + "engines": { + "node": ">= 16" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.10", "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", @@ -198,6 +388,96 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", @@ -292,6 +572,32 @@ "node": ">= 8" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@sidvind/better-ajv-errors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sidvind/better-ajv-errors/-/better-ajv-errors-2.1.0.tgz", + "integrity": "sha512-JuIb009FhHuL9priFBho2kv7QmZOydj0LgYvj+h1t0mMCmhM/YmQNRlJR5wVtBZya6wrVFK5Hi5TIbv5BKEx7w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.0", + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 14.0.0" + }, + "peerDependencies": { + "ajv": "4.11.8 - 8" + } + }, "node_modules/@socket.io/component-emitter": { "version": "3.1.0", "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", @@ -634,6 +940,12 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, + "node_modules/@yandeu/open-cjs": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/@yandeu/open-cjs/-/open-cjs-0.0.0.tgz", + "integrity": "sha512-7wPRcB/L0ElxpKjnikF/9fa6FAzkTLFLVUXvuBiDXanifZbD9eWgJE7YW2qwWB1u+lSkUnfUc213cia6Uy9avA==", + "dev": true + }, "node_modules/accepts": { "version": "1.3.8", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", @@ -673,6 +985,15 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/aggregate-error": { "version": "3.1.0", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", @@ -1184,6 +1505,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "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==", + "dev": true + }, "node_modules/brace-expansion": { "version": "1.1.11", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", @@ -1806,6 +2133,34 @@ "node": "*" } }, + "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==", + "dev": true, + "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-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/custom-event": { "version": "1.0.1", "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", @@ -1875,6 +2230,15 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/default-gateway": { "version": "6.0.3", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", @@ -2040,6 +2404,20 @@ "void-elements": "^2.0.0" } }, + "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==", + "dev": true, + "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/domain-browser": { "version": "1.2.0", "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", @@ -2049,6 +2427,53 @@ "npm": ">=1.2" } }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "node_modules/ee-first": { "version": "1.1.1", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", @@ -2081,8 +2506,7 @@ "node_modules/emoji-regex": { "version": "9.2.2", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "peer": true + "dev": true }, "node_modules/emojis-list": { "version": "3.0.0", @@ -3015,6 +3439,176 @@ "node": ">= 0.8" } }, + "node_modules/express6": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/express6/-/express6-0.1.2.tgz", + "integrity": "sha512-YKVacWEoZdPT6Nx3NiDCqmJu8JlH2gQFx0ZNKxY+30jVg/RPuDDahyYWj7jjcBC+dHflqY4UZjnGuGwhOQ5uTg==", + "dev": true, + "dependencies": { + "accepts": "^1.3.7", + "array-flatten": "^3.0.0", + "content-disposition": "^0.5.3", + "content-type": "^1.0.4", + "cookie": "^0.4.0", + "cookie-signature": "^1.0.6", + "debug": "^4.3.2", + "encodeurl": "^1.0.2", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^1.1.2", + "fresh": "^0.5.2", + "merge-descriptors": "^1.0.1", + "methods": "^1.1.2", + "on-finished": "^2.3.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^0.1.7", + "proxy-addr": "^2.0.5", + "qs": "^6.7.0", + "range-parser": "^1.2.1", + "send": "^0.17.1", + "serve-static": "^1.14.1", + "statuses": "^2.0.1", + "type-is": "^1.6.18", + "utils-merge": "^1.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": "^14.15 || >=16" + } + }, + "node_modules/express6/node_modules/array-flatten": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-3.0.0.tgz", + "integrity": "sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA==", + "dev": true + }, + "node_modules/express6/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express6/node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==", + "dev": true + }, + "node_modules/express6/node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express6/node_modules/http-errors/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express6/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/express6/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/express6/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express6/node_modules/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "1.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/express6/node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express6/node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express6/node_modules/send/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express6/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/extend": { "version": "3.0.2", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", @@ -3195,6 +3789,35 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/five-server": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/five-server/-/five-server-0.3.1.tgz", + "integrity": "sha512-JRMZzN5OSpQpZf1GazvNuF5ewVbuMiErBP2heXbYSZg4mwn3Ryp5lY6xu5aoJIM+H8D6qLmH1ZDG6nOFQztdKA==", + "dev": true, + "dependencies": { + "@yandeu/open-cjs": "^0.0.0", + "chokidar": "^3.5.1", + "cors": "^2.8.5", + "debug": "^4.3.1", + "express6": "^0.1.2", + "html-validate": "^7.1.1", + "mime-types": "~2.1.24", + "node-html-parser": "~5.4.1", + "parseurl": "~1.3.3", + "selfsigned": "^2.0.0", + "ws": "^8.2.0" + }, + "bin": { + "five-server": "lib/bin.js", + "live-server": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/yandeu" + } + }, "node_modules/flat-cache": { "version": "3.0.4", "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", @@ -3238,6 +3861,34 @@ "is-callable": "^1.1.3" } }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/forwarded": { "version": "0.2.0", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", @@ -3582,35 +4233,170 @@ "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.3.5", + "integrity": "sha512-72TJlcMkYsEJASa/3HnX7VT59htM7iSHbH59NSZbtc+22Ap0Txnlx91sfeB+/A7wNZg7UxtZdhAW4y+/jimrdg==", + "dev": true + }, + "node_modules/html-validate": { + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/html-validate/-/html-validate-7.18.1.tgz", + "integrity": "sha512-K5jb0h/xAoeR8sJqyR0n/QaKL7rdT88sPCtN+Pvtyn5JUU+nidQe2gBB09WRzPTcQtPXBj4QxBUH5IA2tt8JQg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.0", + "@html-validate/stylish": "^4.0.1", + "@sidvind/better-ajv-errors": "^2.0.0", + "acorn-walk": "^8.0.0", + "ajv": "^8.0.0", + "deepmerge": "^4.2.0", + "espree": "^9.0.0", + "glob": "^10.0.0", + "ignore": "^5.0.0", + "kleur": "^4.1.0", + "minimist": "^1.2.0", + "prompts": "^2.0.0", + "semver": "^7.0.0" + }, + "bin": { + "html-validate": "bin/html-validate.js" + }, + "engines": { + "node": ">= 14.0" + }, + "peerDependencies": { + "jest": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3", + "jest-diff": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3", + "jest-snapshot": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3" + }, + "peerDependenciesMeta": { + "jest": { + "optional": true + }, + "jest-diff": { + "optional": true + }, + "jest-snapshot": { + "optional": true + } + } + }, + "node_modules/html-validate/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/html-validate/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "node_modules/html-validate/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/hpack.js": { - "version": "2.1.6", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "node_modules/html-validate/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/html-validate/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/html-entities": { - "version": "2.3.5", - "integrity": "sha512-72TJlcMkYsEJASa/3HnX7VT59htM7iSHbH59NSZbtc+22Ap0Txnlx91sfeB+/A7wNZg7UxtZdhAW4y+/jimrdg==", - "dev": true + "node_modules/html-validate/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, "node_modules/http-deceiver": { "version": "1.2.7", @@ -4225,6 +5011,24 @@ "node": ">=0.10.0" } }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jasmine-core": { "version": "3.99.1", "integrity": "sha512-Hu1dmuoGcZ7AfyynN3LsfruwMbxMALMka+YtZeGoLuDEySVmVAPaonkNoBRIw/ectu8b9tVQCJNgp4a4knp+tg==", @@ -4267,8 +5071,7 @@ "node_modules/js-tokens": { "version": "4.0.0", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "peer": true + "dev": true }, "node_modules/js-yaml": { "version": "4.1.0", @@ -4521,6 +5324,15 @@ "node": ">=14.14.0" } }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/language-subtag-registry": { "version": "0.3.22", "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", @@ -4840,6 +5652,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/mkdirp": { "version": "1.0.4", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", @@ -4899,6 +5720,16 @@ "node": ">= 6.13.0" } }, + "node_modules/node-html-parser": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-5.4.2.tgz", + "integrity": "sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==", + "dev": true, + "dependencies": { + "css-select": "^4.2.1", + "he": "1.2.0" + } + }, "node_modules/node-libs-browser": { "version": "2.2.1", "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", @@ -4953,6 +5784,18 @@ "node": ">=8" } }, + "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==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, "node_modules/object-assign": { "version": "4.1.1", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", @@ -5283,6 +6126,31 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, "node_modules/path-to-regexp": { "version": "0.1.7", "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", @@ -5461,6 +6329,28 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/prop-types": { "version": "15.8.1", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", @@ -6138,6 +7028,12 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, "node_modules/slash": { "version": "3.0.0", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", @@ -6325,6 +7221,27 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", @@ -6402,6 +7319,19 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "3.0.0", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", @@ -7308,6 +8238,24 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", @@ -7588,6 +8536,149 @@ "@amazon-sumerian-hosts/core": "^2.0.0" } }, + "@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "requires": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true + }, + "@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "@babel/parser": { "version": "7.22.5", "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", @@ -7666,6 +8757,15 @@ "integrity": "sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==", "dev": true }, + "@html-validate/stylish": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-4.2.0.tgz", + "integrity": "sha512-Nl8HCv0hGRSLQ+n1OD4Hk3a+Urwk9HH0vQkAzzCarT4KlA7bRl+6xEiS5PZVwOmjtC7XiH/oNe3as9Fxcr2A1w==", + "dev": true, + "requires": { + "kleur": "^4.0.0" + } + }, "@humanwhocodes/config-array": { "version": "0.11.10", "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", @@ -7676,16 +8776,75 @@ "minimatch": "^3.0.5" } }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, "@jridgewell/gen-mapping": { "version": "0.3.3", "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", @@ -7764,6 +8923,23 @@ "fastq": "^1.6.0" } }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, + "@sidvind/better-ajv-errors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sidvind/better-ajv-errors/-/better-ajv-errors-2.1.0.tgz", + "integrity": "sha512-JuIb009FhHuL9priFBho2kv7QmZOydj0LgYvj+h1t0mMCmhM/YmQNRlJR5wVtBZya6wrVFK5Hi5TIbv5BKEx7w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "chalk": "^4.1.0" + } + }, "@socket.io/component-emitter": { "version": "3.1.0", "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", @@ -8106,6 +9282,12 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, + "@yandeu/open-cjs": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/@yandeu/open-cjs/-/open-cjs-0.0.0.tgz", + "integrity": "sha512-7wPRcB/L0ElxpKjnikF/9fa6FAzkTLFLVUXvuBiDXanifZbD9eWgJE7YW2qwWB1u+lSkUnfUc213cia6Uy9avA==", + "dev": true + }, "accepts": { "version": "1.3.8", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", @@ -8132,6 +9314,12 @@ "dev": true, "requires": {} }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, "aggregate-error": { "version": "3.1.0", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", @@ -8546,6 +9734,12 @@ } } }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, "brace-expansion": { "version": "1.1.11", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", @@ -9046,6 +10240,25 @@ "randomfill": "^1.0.3" } }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.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==", + "dev": true + }, "custom-event": { "version": "1.0.1", "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", @@ -9101,6 +10314,12 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true + }, "default-gateway": { "version": "6.0.3", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", @@ -9314,11 +10533,54 @@ "void-elements": "^2.0.0" } }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, "domain-browser": { "version": "1.2.0", "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "ee-first": { "version": "1.1.1", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", @@ -9353,8 +10615,7 @@ "emoji-regex": { "version": "9.2.2", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "peer": true + "dev": true }, "emojis-list": { "version": "3.0.0", @@ -10062,6 +11323,154 @@ } } }, + "express6": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/express6/-/express6-0.1.2.tgz", + "integrity": "sha512-YKVacWEoZdPT6Nx3NiDCqmJu8JlH2gQFx0ZNKxY+30jVg/RPuDDahyYWj7jjcBC+dHflqY4UZjnGuGwhOQ5uTg==", + "dev": true, + "requires": { + "accepts": "^1.3.7", + "array-flatten": "^3.0.0", + "content-disposition": "^0.5.3", + "content-type": "^1.0.4", + "cookie": "^0.4.0", + "cookie-signature": "^1.0.6", + "debug": "^4.3.2", + "encodeurl": "^1.0.2", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^1.1.2", + "fresh": "^0.5.2", + "merge-descriptors": "^1.0.1", + "methods": "^1.1.2", + "on-finished": "^2.3.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^0.1.7", + "proxy-addr": "^2.0.5", + "qs": "^6.7.0", + "range-parser": "^1.2.1", + "send": "^0.17.1", + "serve-static": "^1.14.1", + "statuses": "^2.0.1", + "type-is": "^1.6.18", + "utils-merge": "^1.0.1", + "vary": "^1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-3.0.0.tgz", + "integrity": "sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA==", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==", + "dev": true + }, + "http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "dependencies": { + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "1.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, "extend": { "version": "3.0.2", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", @@ -10206,6 +11615,25 @@ "path-exists": "^4.0.0" } }, + "five-server": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/five-server/-/five-server-0.3.1.tgz", + "integrity": "sha512-JRMZzN5OSpQpZf1GazvNuF5ewVbuMiErBP2heXbYSZg4mwn3Ryp5lY6xu5aoJIM+H8D6qLmH1ZDG6nOFQztdKA==", + "dev": true, + "requires": { + "@yandeu/open-cjs": "^0.0.0", + "chokidar": "^3.5.1", + "cors": "^2.8.5", + "debug": "^4.3.1", + "express6": "^0.1.2", + "html-validate": "^7.1.1", + "mime-types": "~2.1.24", + "node-html-parser": "~5.4.1", + "parseurl": "~1.3.3", + "selfsigned": "^2.0.0", + "ws": "^8.2.0" + } + }, "flat-cache": { "version": "3.0.4", "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", @@ -10232,6 +11660,24 @@ "is-callable": "^1.1.3" } }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + } + } + }, "forwarded": { "version": "0.2.0", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", @@ -10470,6 +11916,12 @@ "minimalistic-assert": "^1.0.1" } }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, "hmac-drbg": { "version": "1.0.1", "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", @@ -10496,6 +11948,87 @@ "integrity": "sha512-72TJlcMkYsEJASa/3HnX7VT59htM7iSHbH59NSZbtc+22Ap0Txnlx91sfeB+/A7wNZg7UxtZdhAW4y+/jimrdg==", "dev": true }, + "html-validate": { + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/html-validate/-/html-validate-7.18.1.tgz", + "integrity": "sha512-K5jb0h/xAoeR8sJqyR0n/QaKL7rdT88sPCtN+Pvtyn5JUU+nidQe2gBB09WRzPTcQtPXBj4QxBUH5IA2tt8JQg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.0", + "@html-validate/stylish": "^4.0.1", + "@sidvind/better-ajv-errors": "^2.0.0", + "acorn-walk": "^8.0.0", + "ajv": "^8.0.0", + "deepmerge": "^4.2.0", + "espree": "^9.0.0", + "glob": "^10.0.0", + "ignore": "^5.0.0", + "kleur": "^4.1.0", + "minimist": "^1.2.0", + "prompts": "^2.0.0", + "semver": "^7.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, "http-deceiver": { "version": "1.2.7", "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", @@ -10888,6 +12421,16 @@ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, + "jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, "jasmine-core": { "version": "3.99.1", "integrity": "sha512-Hu1dmuoGcZ7AfyynN3LsfruwMbxMALMka+YtZeGoLuDEySVmVAPaonkNoBRIw/ectu8b9tVQCJNgp4a4knp+tg==", @@ -10920,8 +12463,7 @@ "js-tokens": { "version": "4.0.0", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "peer": true + "dev": true }, "js-yaml": { "version": "4.1.0", @@ -11128,6 +12670,12 @@ "integrity": "sha512-1zGZ9MF9H22UnkpVeuaGKOjfA2t6WrfdrJmGjy16ykcjnKQDmHVX+KI477rpbGevz/5FD4MC3xf1oxylBgcaQw==", "dev": true }, + "kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true + }, "language-subtag-registry": { "version": "0.3.22", "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", @@ -11374,6 +12922,12 @@ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true }, + "minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true + }, "mkdirp": { "version": "1.0.4", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", @@ -11418,6 +12972,16 @@ "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "dev": true }, + "node-html-parser": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-5.4.2.tgz", + "integrity": "sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==", + "dev": true, + "requires": { + "css-select": "^4.2.1", + "he": "1.2.0" + } + }, "node-libs-browser": { "version": "2.2.1", "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", @@ -11466,6 +13030,15 @@ "path-key": "^3.0.0" } }, + "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==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, "object-assign": { "version": "4.1.1", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", @@ -11697,6 +13270,24 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "requires": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true + } + } + }, "path-to-regexp": { "version": "0.1.7", "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", @@ -11828,6 +13419,24 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "dependencies": { + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + } + } + }, "prop-types": { "version": "15.8.1", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", @@ -12342,6 +13951,12 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, "slash": { "version": "3.0.0", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", @@ -12508,6 +14123,25 @@ } } }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + } + } + }, "string.prototype.matchall": { "version": "4.0.8", "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", @@ -12562,6 +14196,15 @@ "ansi-regex": "^5.0.1" } }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-bom": { "version": "3.0.0", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", @@ -13170,6 +14813,17 @@ "strip-ansi": "^6.0.0" } }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, "wrappy": { "version": "1.0.2", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", diff --git a/package.json b/package.json index 83109c7..0ba6485 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "build-test": "npm run build && npm run test", "release": "npm run build", "docs": "jsdoc -c jsdoc.conf.json", - "start": "live-server .", + "start": "five-server .", "start-core": "... todo open browser to core folder ...", "start-three": "... todo open browser to three folder ...", "start-babylon": "... todo open browser to babylon folder ..." @@ -43,6 +43,7 @@ "eslint-plugin-node": "^11.0.0", "eslint-plugin-prettier": "^3.1.2", "file-loader": "^6.2.0", + "five-server": "^0.3.1", "jsdoc": "^3.6.10", "karma": "^6.3.12", "karma-chrome-launcher": "^3.1.0", From ff1883688aa87475a8a0ae70cd741dce47990189 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 4 Oct 2023 21:38:03 -0700 Subject: [PATCH 06/17] relax the three.js peer dependency version, three.js versioning is a bit different than other libs, and we should allow people to try newer versions, while if something breaks we can claim that it at least works with 0.127.0 --- packages/amazon-sumerian-hosts-three/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/amazon-sumerian-hosts-three/package.json b/packages/amazon-sumerian-hosts-three/package.json index e5715c7..33e4028 100644 --- a/packages/amazon-sumerian-hosts-three/package.json +++ b/packages/amazon-sumerian-hosts-three/package.json @@ -23,6 +23,6 @@ "@amazon-sumerian-hosts/core": "^2.0.0" }, "peerDependencies": { - "three": "=0.127.0" + "three": ">=0.127.0" } } From 747003f1fdaa6cfbebb0e0e6bf7ba94af631d77f Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 4 Oct 2023 21:45:17 -0700 Subject: [PATCH 07/17] build **and** test during release, as a safety precaution --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0ba6485..bbb3d8b 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "test": "node ./node_modules/karma/bin/karma start karma.conf.js", "build": "npm run format && npm run lint:fix && npm run compile-ts", "build-test": "npm run build && npm run test", - "release": "npm run build", + "release": "npm run build-test", "docs": "jsdoc -c jsdoc.conf.json", "start": "five-server .", "start-core": "... todo open browser to core folder ...", From 9e0708e83621595ec1b7a7e727623728fc3fc860 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 4 Oct 2023 22:31:04 -0700 Subject: [PATCH 08/17] add a FIXME comment for prettier conflict with eslint --- karma.conf.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/karma.conf.js b/karma.conf.js index 6e9931f..07da398 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,12 +1,16 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 +// FIXME: eslint prettier config currently clashes with prettier formatting +/* eslint-disable indent */ const TEST_BROWSERS = process.env.TEST_BROWSERS !== undefined ? process.env.TEST_BROWSERS.split(',') .map(s => s.trim()) .filter(s => s !== '') : ['Chrome']; +/* eslint-enable indent */ + console.log(`TEST_BROWSERS=${TEST_BROWSERS.join(',')}`); module.exports = function(config) { From 04ff31093eb3c078611724078f7c9fd7ce9232c0 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 4 Oct 2023 22:31:16 -0700 Subject: [PATCH 09/17] update package-lock --- package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 60b1148..8debec9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8390,7 +8390,7 @@ "@amazon-sumerian-hosts/core": "^2.0.0" }, "peerDependencies": { - "three": "=0.127.0" + "three": ">=0.127.0" } }, "packages/demos-babylon": { From 934a8ef43284d128f21f47c4caa0601dbdc5393c Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 4 Oct 2023 22:33:00 -0700 Subject: [PATCH 10/17] update eslintrc to no longer list globals that we now import with ES Module syntax --- .eslintrc.json | 169 ++++++++++++++++++++++++------------------------- 1 file changed, 84 insertions(+), 85 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 88abc1c..c08dda7 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,86 +1,85 @@ -{ - "extends": [ - "airbnb", - "prettier", - "plugin:jasmine/recommended", - "plugin:compat/recommended" - ], - "plugins": [ - "prettier", - "jasmine" - ], - "ignorePatterns": [ - "dist/", - "docs_template/", - "docs/" - ], - "parserOptions": { - "ecmaVersion": 2020 - }, - "globals": { - "atob": true, - "btoa": true, - "document": true, - "navigator": true, - "window": true, - "XMLHttpRequest": true, - "AWS": true, - "THREE": true, - "BABYLON": true, - "expectAsync": true - }, - "rules": { - // Specific rule overrides can go here. - "indent": [ - "error", - 2, - { - "SwitchCase": 1 - } - ], - "no-var": "warn", - "no-tabs": "warn", - "func-names": "off", - "object-curly-spacing": "off", - "no-param-reassign": "off", - "no-mixed-operators": "off", - "no-bitwise": "off", - "max-len": "off", - "import/no-extraneous-dependencies": "off", - // Turning off import resolution checks because they cause linting to fail - // if linting is performend before the sub-packages in this monorepo have - // been built. We'll rely instead on Webpack to catch any import resolution - // problems. - "import/no-unresolved": "off", - // Turn off default requirement for extensionless import specifiers, - // because that conflicts with vanilla ES Module compatibility. - "import/extensions": ["error", "always"], // TODO - "no-shadow": "off", - "no-plusplus": "off", - "no-underscore-dangle": [ - "warn", - { - "allowAfterThis": true, - "allowAfterSuper": true - } - ], - "spaced-comment": "off", - "arrow-parens": "off", - "no-trailing-spaces": "warn", - "no-console": "off", - "comma-dangle": "off", - "no-else-return": "off", - "no-unused-vars": "warn", - "class-methods-use-this": "off", - "prefer-const": "warn", - "consistent-return": "off", - "arrow-body-style": "off", - "no-use-before-define": "off", - "default-param-last": "off" - }, - "env": { - "browser": true, - "node": true, - "jasmine": true - } +{ + "extends": [ + "airbnb", + "prettier", + "plugin:jasmine/recommended", + "plugin:compat/recommended" + ], + "plugins": [ + "prettier", + "jasmine" + ], + "ignorePatterns": [ + "dist/", + "docs_template/", + "docs/" + ], + "parserOptions": { + "ecmaVersion": 2020 + }, + "globals": { + "atob": true, + "btoa": true, + "document": true, + "navigator": true, + "window": true, + "XMLHttpRequest": true, + "AWS": true, + "globalThis": true, + "expectAsync": true + }, + "rules": { + // Specific rule overrides can go here. + "indent": [ + "error", + 2, + { + "SwitchCase": 1 + } + ], + "no-var": "warn", + "no-tabs": "warn", + "func-names": "off", + "object-curly-spacing": "off", + "no-param-reassign": "off", + "no-mixed-operators": "off", + "no-bitwise": "off", + "max-len": "off", + "import/no-extraneous-dependencies": "off", + // Turning off import resolution checks because they cause linting to fail + // if linting is performend before the sub-packages in this monorepo have + // been built. We'll rely instead on Webpack to catch any import resolution + // problems. + "import/no-unresolved": "off", + // Turn off default requirement for extensionless import specifiers, + // because that conflicts with vanilla ES Module compatibility. + "import/extensions": ["error", "always"], // TODO + "no-shadow": "off", + "no-plusplus": "off", + "no-underscore-dangle": [ + "warn", + { + "allowAfterThis": true, + "allowAfterSuper": true + } + ], + "spaced-comment": "off", + "arrow-parens": "off", + "no-trailing-spaces": "warn", + "no-console": "off", + "comma-dangle": "off", + "no-else-return": "off", + "no-unused-vars": "warn", + "class-methods-use-this": "off", + "prefer-const": "warn", + "consistent-return": "off", + "arrow-body-style": "off", + "no-use-before-define": "off", + "default-param-last": "off" + }, + "env": { + "browser": true, + "node": true, + "jasmine": true + } } \ No newline at end of file From ee0b16dcce9c9e7d6af4e4625fa02f38ac3e69a3 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 4 Oct 2023 22:40:16 -0700 Subject: [PATCH 11/17] remove the indent rule from eslintrc, all formatting is handled by prettier, use eslint only for non-formatting rules --- .eslintrc.json | 7 ------- karma.conf.js | 4 ---- 2 files changed, 11 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index c08dda7..5e0b0a7 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -30,13 +30,6 @@ }, "rules": { // Specific rule overrides can go here. - "indent": [ - "error", - 2, - { - "SwitchCase": 1 - } - ], "no-var": "warn", "no-tabs": "warn", "func-names": "off", diff --git a/karma.conf.js b/karma.conf.js index 07da398..6e9931f 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,16 +1,12 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 -// FIXME: eslint prettier config currently clashes with prettier formatting -/* eslint-disable indent */ const TEST_BROWSERS = process.env.TEST_BROWSERS !== undefined ? process.env.TEST_BROWSERS.split(',') .map(s => s.trim()) .filter(s => s !== '') : ['Chrome']; -/* eslint-enable indent */ - console.log(`TEST_BROWSERS=${TEST_BROWSERS.join(',')}`); module.exports = function(config) { From e088aeb8d53d83ed08807884c87acdc6b3f8cb12 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 4 Oct 2023 22:46:48 -0700 Subject: [PATCH 12/17] remove credentials --- demo-credentials.js | 8 -------- demo-credentials.module.js | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) delete mode 100644 demo-credentials.js diff --git a/demo-credentials.js b/demo-credentials.js deleted file mode 100644 index 3540afb..0000000 --- a/demo-credentials.js +++ /dev/null @@ -1,8 +0,0 @@ -// TODO: Update the value below to match a Cognito Identity Pool created in your -// AWS account. The unauthenticated IAM role for the pool (usually ending in the -// suffix "Unauth_Role") must have the following managed permissions policies -// assigned to it: -// - AmazonPollyReadOnlyAccess -// - AmazonLexRunBotsOnly -const cognitoIdentityPoolId = 'us-east-1:1bd8cf95-4a03-4ef4-9249-240de72ef271'; -module.exports = cognitoIdentityPoolId; diff --git a/demo-credentials.module.js b/demo-credentials.module.js index 7262f80..63fa2ee 100644 --- a/demo-credentials.module.js +++ b/demo-credentials.module.js @@ -5,4 +5,4 @@ // - AmazonPollyReadOnlyAccess // - AmazonLexRunBotsOnly // eslint-disable-next-line -export const cognitoIdentityPoolId = 'us-east-1:1bd8cf95-4a03-4ef4-9249-240de72ef271'; +export const cognitoIdentityPoolId = 'us-west-2:xxxx-xxxx-xxxx-xxxx'; From a92d9347786da3ad3aca41b59e69069085758820 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 4 Oct 2023 22:54:38 -0700 Subject: [PATCH 13/17] rename demo-credentials.module.js back to demo-credentials.js --- .gitignore | 2 -- demo-credentials.module.js => demo-credentials.js | 0 .../test/integration_test/Babylon.js/babylon.texttospeech.js | 2 +- .../test/integration_test/core/core.lex.html | 2 +- .../test/integration_test/core/core.texttospeech.html | 2 +- packages/amazon-sumerian-hosts-three/examples/three.html | 2 +- .../test/integration_test/three.js/three.texttospeech.html | 2 +- packages/demos-babylon/src/chatbotDemo.js | 2 +- packages/demos-babylon/src/customCharacterDemo.js | 2 +- packages/demos-babylon/src/gesturesDemo.js | 2 +- packages/demos-babylon/src/helloWorldDemo.js | 2 +- 11 files changed, 9 insertions(+), 11 deletions(-) rename demo-credentials.module.js => demo-credentials.js (100%) diff --git a/.gitignore b/.gitignore index 047e6c5..8ba3df3 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,4 @@ npm-debug.log build build/ docs/ -demo-credentials.js **/dist/ -.hot-reload/ diff --git a/demo-credentials.module.js b/demo-credentials.js similarity index 100% rename from demo-credentials.module.js rename to demo-credentials.js diff --git a/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.texttospeech.js b/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.texttospeech.js index 161e797..bcc2e73 100644 --- a/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.texttospeech.js +++ b/packages/amazon-sumerian-hosts-babylon/test/integration_test/Babylon.js/babylon.texttospeech.js @@ -2,7 +2,7 @@ import * as BABYLON from '@babylonjs/core/index.js'; import {HostObject, aws} from '@amazon-sumerian-hosts/babylon'; // eslint-disable-next-line -import {cognitoIdentityPoolId} from '../../../../../demo-credentials.module.js'; +import {cognitoIdentityPoolId} from '../../../../../demo-credentials.js'; async function main() { // Parse the region out of the cognito Id diff --git a/packages/amazon-sumerian-hosts-core/test/integration_test/core/core.lex.html b/packages/amazon-sumerian-hosts-core/test/integration_test/core/core.lex.html index 6708f10..03dc5ad 100644 --- a/packages/amazon-sumerian-hosts-core/test/integration_test/core/core.lex.html +++ b/packages/amazon-sumerian-hosts-core/test/integration_test/core/core.lex.html @@ -25,7 +25,7 @@

Lex Response:

diff --git a/packages/demos-babylon/src/chatbotDemo.js b/packages/demos-babylon/src/chatbotDemo.js index 75c1912..1205b34 100644 --- a/packages/demos-babylon/src/chatbotDemo.js +++ b/packages/demos-babylon/src/chatbotDemo.js @@ -1,3 +1,4 @@ +import AWS from 'aws-sdk'; import {HostObject, aws as AwsFeatures} from '@amazon-sumerian-hosts/babylon'; import {Scene} from '@babylonjs/core/scene.js'; import DemoUtils from './common/demo-utils.js'; diff --git a/packages/demos-babylon/src/customCharacterDemo.js b/packages/demos-babylon/src/customCharacterDemo.js index 9934df8..bd4f76d 100644 --- a/packages/demos-babylon/src/customCharacterDemo.js +++ b/packages/demos-babylon/src/customCharacterDemo.js @@ -1,3 +1,4 @@ +import AWS from 'aws-sdk'; import {HostObject} from '@amazon-sumerian-hosts/babylon'; import {Scene} from '@babylonjs/core/scene.js'; import {Vector3} from '@babylonjs/core/Maths/math.vector.js'; diff --git a/packages/demos-babylon/src/gesturesDemo.js b/packages/demos-babylon/src/gesturesDemo.js index 6116b12..def74c9 100644 --- a/packages/demos-babylon/src/gesturesDemo.js +++ b/packages/demos-babylon/src/gesturesDemo.js @@ -1,3 +1,4 @@ +import AWS from 'aws-sdk'; import {HostObject} from '@amazon-sumerian-hosts/babylon'; import {Scene} from '@babylonjs/core/scene.js'; import DemoUtils from './common/demo-utils.js'; diff --git a/packages/demos-babylon/src/helloWorldDemo.js b/packages/demos-babylon/src/helloWorldDemo.js index e75c4aa..79e8247 100644 --- a/packages/demos-babylon/src/helloWorldDemo.js +++ b/packages/demos-babylon/src/helloWorldDemo.js @@ -1,3 +1,4 @@ +import AWS from 'aws-sdk'; import {HostObject} from '@amazon-sumerian-hosts/babylon'; import {Scene} from '@babylonjs/core/scene.js'; import DemoUtils from './common/demo-utils.js'; From f5b9a525d1dc3076f68afb4eea2b5bcd594e7fd4 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 4 Oct 2023 23:55:29 -0700 Subject: [PATCH 15/17] restore the start scripts, similar to what the webpack server was doing --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index bbb3d8b..f854d4b 100644 --- a/package.json +++ b/package.json @@ -27,9 +27,9 @@ "release": "npm run build-test", "docs": "jsdoc -c jsdoc.conf.json", "start": "five-server .", - "start-core": "... todo open browser to core folder ...", - "start-three": "... todo open browser to three folder ...", - "start-babylon": "... todo open browser to babylon folder ..." + "start-core": "five-server . --open=./packages/amazon-sumerian-hosts-core/test/integration_test/core", + "start-three": "five-server . --open=./packages/amazon-sumerian-hosts-three/examples/", + "start-babylon": "five-server . --open=./packages/demos-babylon/src/" }, "devDependencies": { "cross-env": "^7.0.3", From f41abf0f3d4d6203213990e5e0c27ec9a76a843d Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 4 Oct 2023 23:59:08 -0700 Subject: [PATCH 16/17] update packages to type:module, simplified with only `main` fields (no need for `exports` unless multiple paths need configuring, or CommonJS support is needed, but we're no longer explicitly supporting CommonJS modules, and CommonJS users can use the `import()` function to import the lib, and they can even use the `deasync` package if they really really want the import to be "synchronous", so there's really no need to hold onto the past and we can make moving forward as simple and standards-based as possible) --- packages/amazon-sumerian-hosts-babylon/package.json | 5 +---- packages/amazon-sumerian-hosts-core/package.json | 5 +---- packages/amazon-sumerian-hosts-three/package.json | 5 +---- 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/packages/amazon-sumerian-hosts-babylon/package.json b/packages/amazon-sumerian-hosts-babylon/package.json index a1de090..5197e89 100644 --- a/packages/amazon-sumerian-hosts-babylon/package.json +++ b/packages/amazon-sumerian-hosts-babylon/package.json @@ -3,6 +3,7 @@ "version": "2.0.6", "description": "", "license": "MIT", + "type": "module", "author": { "name": "Amazon Web Services", "url": "https://aws.amazon.com", @@ -13,10 +14,6 @@ "url": "https://github.com/aws-samples/amazon-sumerian-hosts.git" }, "main": "./src/Babylon.js/index.js", - "exports": { - "import": "./src/Babylon.js/index.js", - "require": "./dist/host.babylon.js" - }, "types": "./dist/src/Babylon.js/index.d.ts", "scripts": { }, diff --git a/packages/amazon-sumerian-hosts-core/package.json b/packages/amazon-sumerian-hosts-core/package.json index a532d8b..097296f 100644 --- a/packages/amazon-sumerian-hosts-core/package.json +++ b/packages/amazon-sumerian-hosts-core/package.json @@ -3,6 +3,7 @@ "version": "2.0.6", "description": "", "license": "MIT", + "type": "module", "author": { "name": "Amazon Web Services", "url": "https://aws.amazon.com", @@ -13,10 +14,6 @@ "url": "https://github.com/aws-samples/amazon-sumerian-hosts.git" }, "main": "./src/core/index.js", - "exports": { - "import": "./src/core/index.js", - "require": "./dist/host.core.js" - }, "scripts": { "lint": "eslint .", "docs": "jsdoc -c jsdoc.conf.json" diff --git a/packages/amazon-sumerian-hosts-three/package.json b/packages/amazon-sumerian-hosts-three/package.json index 33e4028..fc78e06 100644 --- a/packages/amazon-sumerian-hosts-three/package.json +++ b/packages/amazon-sumerian-hosts-three/package.json @@ -3,6 +3,7 @@ "version": "2.0.6", "description": "", "license": "MIT", + "type": "module", "author": { "name": "Amazon Web Services", "url": "https://aws.amazon.com", @@ -13,10 +14,6 @@ "url": "https://github.com/aws-samples/amazon-sumerian-hosts.git" }, "main": "./src/three.js/index.js", - "exports": { - "import": "./src/three.js/index.js", - "require": "./dist/host.three.js" - }, "scripts": { }, "dependencies": { From f2f7abaf0901db8d77104712aa6a0f7787f9141c Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 11 Oct 2023 16:51:36 -0700 Subject: [PATCH 17/17] add scripts for specifically running integration tests, remove one last CDN link to aws-sdk and use the local version, and update docs as needed for the new ESM format without a required build --- CONTRIBUTING.md | 15 ++- README.md | 20 +++- package.json | 4 +- .../amazon-sumerian-hosts-babylon/README.md | 104 ++++++++++++------ .../test/integration_test/README.md | 2 +- packages/amazon-sumerian-hosts-core/README.md | 8 +- .../test/integration_test/README.md | 2 +- .../core/core.texttospeech.html | 10 +- .../amazon-sumerian-hosts-three/README.md | 90 +++++++++++---- .../test/integration_test/README.md | 4 +- packages/demos-babylon/README.md | 2 +- 11 files changed, 186 insertions(+), 75 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 11881d6..f8754e6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -66,11 +66,14 @@ npm install ### Building -To build all packages in the repository, run: +The Host libraries work without a build. Only the Babylon Hosts library has a build step for generating type definition files, which is totally optional for use in TypeScript projects. + +To run the build (which runs only the Babylon Host lib's type declaration build step), run: ``` npm run build ``` -Distributable build artifacts will be generated into a `dist/` directory within each package folder. + +Distributable build artifacts (type declaration files) will be generated into a `dist/` directory inside the Babylon Host lib. ### Testing @@ -82,12 +85,14 @@ Example applications for Babylon.js can be found in the `packages/demos-babylon/ #### Unit Tests -If you've already built the packages, you can execute the unit tests for all packages using the command: +You can execute the unit tests for all packages using the command: ``` -npm run test +npm test ``` -Alternately, you can both build and run the unit tests with a single command: +Running the build is not necessary for running tests, as all source files as JavaScript modules that work as-is without transformation. + +You can run both the Babylon build and the unit tests with a single command to ensure both work at the same time: ``` npm run build-test ``` diff --git a/README.md b/README.md index 19ac412..3e75ecf 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,10 @@ Amazon Sumerian Hosts (Hosts) is an experimental open source project that aims to make it easy to create interactive animated 3D characters for Babylon.js, three.js, and other web 3D frameworks. It leverages AWS services including [Amazon Polly](https://aws.amazon.com/polly/) (text-to-speech) and [Amazon Lex](https://aws.amazon.com/lex/) (chatbot). + > **Compatibility** > -> ⚠️ Hosts is currently compatible with **BabylonJS v4** (4.2.1+). There are know issues if you try to use Hosts with BabylonJS v5. If you would like to see support for BabylonJS v5 added, comment on [this enhancement request issue](https://github.com/aws-samples/amazon-sumerian-hosts/issues/155). +> ⚠️ Hosts is currently compatible with **BabylonJS v4** (4.2.1+). There are known issues if you try to use Hosts with BabylonJS v5. If you would like to see support for BabylonJS v5 added, comment on [this enhancement request issue](https://github.com/aws-samples/amazon-sumerian-hosts/issues/155). > > ✏️ Hosts have been tested with **Three.js v0.127.0**. @@ -34,7 +35,7 @@ The easiest way to get started using the hosts is by using plugins we provide fo Visit the [aws-tools-for-babylonjs-editor](https://github.com/aws-samples/aws-tools-for-babylonjs-editor/blob/main/README.md) repository for more details. -#### Using pre-built NPM modules +#### Using NPM modules If you are creating applications outside of the Babylon.JS Editor, you can easily install the relevant Hosts module using NPM. @@ -56,7 +57,20 @@ For full detail on the classes and methods available, see the [API Documentation #### Building from source -Building from source is considered an advanced option. It is not recommended unless you need to heavily customize the core Hosts functionality. Instructions on how to build from source can be found in the [CONTRIBUTING](CONTRIBUTING.md) document. +Both the core Host lib and the Three.js Host lib do not have a build. You can +customize them by simply editing the .js files in your own fork, and simply +running a static server to run the apps. + +The Babylon Host lib has a TypeScript build step *only* for creating output +type definitions from its .js files, and is otherwise not required for running +the Babylon demos: simply edit the JavaScript files, and start the static +server to run the demos. + +If you need to build the type definitions for consumption in a TypeScript +project, then run `npm run build` at the root of the repo (after first running +`npm install` if you haven't already). + +Find more details in [CONTRIBUTING](CONTRIBUTING.md). ## Demos diff --git a/package.json b/package.json index f854d4b..e7dafc2 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,9 @@ "start": "five-server .", "start-core": "five-server . --open=./packages/amazon-sumerian-hosts-core/test/integration_test/core", "start-three": "five-server . --open=./packages/amazon-sumerian-hosts-three/examples/", - "start-babylon": "five-server . --open=./packages/demos-babylon/src/" + "start-three-tests": "five-server . --open=./packages/amazon-sumerian-hosts-three/test/integration_test/three.js/", + "start-babylon": "five-server . --open=./packages/demos-babylon/src/", + "start-babylon-tests": "five-server . --open=./packages/demos-babylon/src/" }, "devDependencies": { "cross-env": "^7.0.3", diff --git a/packages/amazon-sumerian-hosts-babylon/README.md b/packages/amazon-sumerian-hosts-babylon/README.md index 9d14cf9..125a840 100644 --- a/packages/amazon-sumerian-hosts-babylon/README.md +++ b/packages/amazon-sumerian-hosts-babylon/README.md @@ -22,49 +22,77 @@ More details can be found in [demos-babylon](https://github.com/aws-samples/amaz Before you use Hosts in your applications, you will need to set up a few thing in your AWS account. For step-by-step instructions on setting up this required infrastructure, see [AWS-Infrastructure-Setup.md](https://github.com/aws-samples/amazon-sumerian-hosts/tree/mainline2.0/AWS-Infrastructure-Setup.md) in the root of this repository. -### Configurating the AWS SDK +## Configurating the Babylon HOST app -## Configuring Webpack - -We recommend using a module bundler such as [Webpack](https://webpack.js.org/) to package and distribute your code. As BabylonJS relies on static singletons for certain features, it may be necessary to configure Webpack so that all modules and submodules use the same instance of BabylonJS. Add the following to `module.exports.resolve`: - -``` -resolve: { - ... - modules: ['node_modules'], - alias: { - // configure all modules to point at the same instance of BabylonJS - '@babylonjs/core': path.resolve('./node_modules/@babylonjs/core') - } -}, +### Step 1. Adding Script Dependencies -``` +Here we will take a look at the scripts necessary for the example code to function: -### Step 1. Adding Script Dependencies +> [!Note] Before you continue, make sure you've ran `npm install` at the root of +the repo so that dependencies are installed locally. -One way to configure AWS SDK is to include dependency script: - ```html - - + + ``` - The hosts will need to connect to Amazon Polly to convert text into audio assets. https://sdk.amazonaws.com/js/aws-sdk-2.645.0.min.js is a minified build of the AWS SDK for Javascript. For the latest version, see the [AWS SDK for JavaScript API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/). - -And then configure the AWS SDK with our region and credentials: + This file has to be included first, so that it is available by the time the + rest of our code runs. -- ```javascript - // Initialize AWS and create Polly service objects - AWS.config.region = 'us-west-2'; - AWS.config.credentials = new AWS.CognitoIdentityCredentials({ - IdentityPoolId: '', - }); +- ```html + + ``` - Replace `` with the id you created in the [Prerequisites](#Prerequisites) section. Make sure to set the region to the one you created your Cognito Identity Pool in. Using CognitoIdentityCredentials is just one example of how you can authenticate your host to access Polly. See the [AWS SDK documentation](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html) to see other credentials classes you can use. + The `importmap` script defines where dependencies are to be found, so + that code that has `import` statements will receive the expected libraries. For + example, the `imports.three` entry in the following import map (which is in JSON + format) defines where the `three` library will be fetched from when an import + statement like `import * as THREE from 'three'` is encountered in JavaScript. + For more info on import maps, see [Mozilla's import map + docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type/importmap) + which also has links to broader concepts like JavaScript modules in general, and + the [import map spec repository on GitHub](https://github.com/WICG/import-maps) + which has the original ideation and links to resources for managing import maps. + + The hosts will need to connect to Amazon Polly to convert text into audio + assets. Here we map imports to `aws-sdk` to an `aws-sdk-global.js` file that + exports the global `AWS` variable so that we can `import` it in our JavaScript + code instead of relying on the global variable everywhere that we need to use + it. For the latest version of the SDK, see the [AWS SDK for JavaScript API + Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/). + + > [!Note] The version after the `@` for the `three` URL should be the same as + found in the [package.json](package.json) to guarantee that it works. Feel + free to try newer versions of Three.js to see if they work, and if not then + restore the known working version. If you get it working with newer Three.js + (sometimes there are small tweaks needed from breaking changes in Three.js), + please submit a pull request to get it updated. + +## Configure the AWS SDK with our region and credentials: + +```javascript +// Initialize AWS and create Polly service objects +AWS.config.region = 'us-west-2'; +AWS.config.credentials = new AWS.CognitoIdentityCredentials({ + IdentityPoolId: cognitoIdentityPoolId, +}); +``` + +> [!Note] +> Here the `cognitoIdentityPoolId` variable will contain the id you created and placed inside of `demo-credentials.js` in the [Prerequisites](#Prerequisites) section. Make sure to set the region to the one you created your Cognito Identity Pool in. Using CognitoIdentityCredentials is just one example of how you can authenticate your host to access Polly. See the [AWS SDK documentation](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html) to see other credentials classes you can use. ### Instantiating the Host @@ -172,6 +200,14 @@ Then, you can setup a simple button used for recording microphone input purpose LexFeature also supports text input as well as a list of other events for tracking recording state for instance. See [LexFeature](https://aws-samples.github.io/amazon-sumerian-hosts/core_LexFeature.html) for more details. ### Next Steps + Now that you've demonstrated your hosts running locally, consider publishing them to the web via one of these related tutorials: -- [Publishing a Web Application Using AWS Amplify](https://docs.sumerian.amazonaws.com/tutorials/create/solutions/gltf-viewer-amplify-public/) -- [Privately Publish a Web Application Using AWS Amplify](https://docs.sumerian.amazonaws.com/tutorials/create/solutions/gltf-viewer-amplify-private/) + +- [Hosting a static site on AWS Amplify](https://aws.amazon.com/getting-started/hands-on/host-static-website/) +- [Creating a static GitHub Pages site](https://docs.github.com/en/pages/getting-started-with-github-pages/creating-a-github-pages-site) +- [Publishing a static site on Vercel from git](https://vercel.com/docs/deployments/git) + +If you're more advanced, you probably want to set up a server that contains your +AWS key privately, so that it is not served publicy in via a static website. +You'd want to require user authentication, and proxy request through your server +so that the client-side code does not contain the key. \ No newline at end of file diff --git a/packages/amazon-sumerian-hosts-babylon/test/integration_test/README.md b/packages/amazon-sumerian-hosts-babylon/test/integration_test/README.md index 701f8b9..7111752 100644 --- a/packages/amazon-sumerian-hosts-babylon/test/integration_test/README.md +++ b/packages/amazon-sumerian-hosts-babylon/test/integration_test/README.md @@ -16,6 +16,6 @@ npm install ## Running the Tests -Run `npm run start-babylon` from the repository root. This will start a local web server and open two tabs in your browser. One will provide a list of demos (from the `packages/demos-babylon` package.) The other will be the list of available integration tests. From this tab you can access and exercise each test. +Run `npm run start-babylon-tests` from the repository root. The tab will provide a list of available integration tests. From this tab you can access and exercise each test. When you're finished runnin the tests, you can quit the local dev server by pressing CTRL-C in the same terminal in which you started the server. \ No newline at end of file diff --git a/packages/amazon-sumerian-hosts-core/README.md b/packages/amazon-sumerian-hosts-core/README.md index bee3af7..18d342d 100644 --- a/packages/amazon-sumerian-hosts-core/README.md +++ b/packages/amazon-sumerian-hosts-core/README.md @@ -4,7 +4,13 @@ For a general introduction to Amazon Sumerian Hosts and examples of how to integ Amazon Sumerian Hosts is an experimental open source project that aims to make it easy to create interactive animated 3D characters that can be rendered on the Web and leverage AWS Services such as [Amazon Polly](https://aws.amazon.com/polly/). The core API provides an abstraction layer so that these can be extended to support the Web rendering engine of your choice. -Refer to the [API Documentation](https://aws-samples.github.io/amazon-sumerian-hosts/) for more detailed information on the classes and methods available. Amazon Sumerian Hosts is a published [npm](https://www.npmjs.com/) package, so alternatively you can install in an existing Node.js project by running `npm install --save-dev @amazon-sumerian-hosts/core`. If you'd like to pull the GitHub repository and create your own build, see [Building the Repository](https://github.com/aws-samples/amazon-sumerian-hosts/blob/mainline2.0/README.md#building-the-repository) for prerequisites and instructions on how to do that. +Refer to the [API Documentation](https://aws-samples.github.io/amazon-sumerian-hosts/) for more detailed information on the classes and methods available. Amazon Sumerian Hosts is a published [npm](https://www.npmjs.com/) package, so alternatively you can install in an existing Node.js project by running `npm install --save-dev @amazon-sumerian-hosts/core`. + +If you'd like to pull the GitHub repository and customize the hosts, a build is +not required unless you want to generate type defintions for use in TypeScript, +and the demos simply run on their own without a build step. See [Building from +source](https://github.com/aws-samples/amazon-sumerian-hosts/blob/mainline2.0/README.md#building-from-source) +for prerequisites and instructions on how to do that. ## License diff --git a/packages/amazon-sumerian-hosts-core/test/integration_test/README.md b/packages/amazon-sumerian-hosts-core/test/integration_test/README.md index d429150..fa115c0 100644 --- a/packages/amazon-sumerian-hosts-core/test/integration_test/README.md +++ b/packages/amazon-sumerian-hosts-core/test/integration_test/README.md @@ -18,7 +18,7 @@ npm install Run `npm run start-core` from the repository root. This will start a local web server and open a web browser tab containing a list of available integration tests. From this tab you can access and exercise each test. -When you're finished runnin the tests, you can quit the local dev server by pressing CTRL-C in the same terminal in which you started the server. +When you're finished running the tests, you can quit the local dev server by pressing CTRL-C in the same terminal in which you started the server. diff --git a/packages/amazon-sumerian-hosts-core/test/integration_test/core/core.texttospeech.html b/packages/amazon-sumerian-hosts-core/test/integration_test/core/core.texttospeech.html index c6c186a..cdd3974 100644 --- a/packages/amazon-sumerian-hosts-core/test/integration_test/core/core.texttospeech.html +++ b/packages/amazon-sumerian-hosts-core/test/integration_test/core/core.texttospeech.html @@ -8,20 +8,24 @@ Core Host Test + + + - - ``` +> [!Note] Before you continue, make sure you've ran `npm install` at the root of +the repo so that dependencies are installed locally. - The hosts will need to connect to Amazon Polly to convert text into audio assets. `https://sdk.amazonaws.com/js/aws-sdk-2.645.0.min.js` is a minified build of the AWS SDK for Javascript. For the latest version, see the [AWS SDK for JavaScript API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/). - ```html - - + + ``` - * Note the version after the `@` should be the same as found in the [packages.json](package.json) - This will be the core three.js build, and is required to setup a new three.js scene. Make sure to always include this file early as it is a dependency for the GLTFLoader and OrbitControls scripts. + This file has to be included first, so that it is available by the time the + rest of our code runs. - ```html - - + + ``` - host.three.js is the build file of the Amazon Sumerian Hosts repository that is specific to the three.js rendering engine. It must be included after the three.min.js build file. This will make a module called `HOST` available to any scripts included after this. + + The `importmap` script defines where dependencies are to be found, so + that code that has `import` statements will receive the expected libraries. For + example, the `imports.three` entry in the following import map (which is in JSON + format) defines where the `three` library will be fetched from when an import + statement like `import * as THREE from 'three'` is encountered in JavaScript. + For more info on import maps, see [Mozilla's import map + docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type/importmap) + which also has links to broader concepts like JavaScript modules in general, and + the [import map spec repository on GitHub](https://github.com/WICG/import-maps) + which has the original ideation and links to resources for managing import maps. + + The hosts will need to connect to Amazon Polly to convert text into audio + assets. Here we map imports to `aws-sdk` to an `aws-sdk-global.js` file that + exports the global `AWS` variable so that we can `import` it in our JavaScript + code instead of relying on the global variable everywhere that we need to use + it. For the latest version of the SDK, see the [AWS SDK for JavaScript API + Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/). + + > [!Note] The version after the `@` for the `three` URL should be the same as + found in the [package.json](package.json) to guarantee that it works. Feel + free to try newer versions of Three.js to see if they work, and if not then + restore the known working version. If you get it working with newer Three.js + (sometimes there are small tweaks needed from breaking changes in Three.js), + please submit a pull request to get it updated. Now we'll move on to the body of the html file. @@ -172,7 +201,21 @@ Our hosts will need some text input so we can tell them what to say, as well as Now we will move onto the contents of the example [script](https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement) tag. -### Step 4. Initialize global variables +### Step 4.1. Import dependencies + +This imports all of the dependencies we need into our script tag. It knows where +to get the dependencies based on the importmap we described above. + +```js + import * as THREE from 'three'; + import {OrbitControls} from 'three/examples/jsm/controls/OrbitControls.js'; + import {GLTFLoader} from 'three/examples/jsm/loaders/GLTFLoader.js'; + import * as HOST from '@amazon-sumerian-hosts/three'; + import {cognitoIdentityPoolId} from '../../../demo-credentials.js'; + import AWS from 'aws-sdk'; +``` + +### Step 4.2. Initialize variables three.js requires the user to manage the render loop. We'll define an array that will be used to collect functions that need to be executed during the render loop. In addition, we'll need a way to connect our UX elements to our host objects after they've been created, so we'll keep track of those here. Take note of the names, these match up with the names of the tab UX we created earlier. This is how we'll determine which host will respond when interacting with the UX elements. Next we'll take a look inside the function called `main`. This is where we'll set up our hosts and connect them to the UX. @@ -184,23 +227,24 @@ const speakers = new Map([ ]); ``` -### [Step 5. Configuring the AWS SDK](#step5) +### Step 5. Configuring the AWS SDK -Our host will be using the [TextToSpeechFeature](https://aws-samples.github.io/amazon-sumerian-hosts/three.js_TextToSpeechFeature.html), so before we can make the host speak we need to configure the AWS SDK with our region and credentials. +Our host will be using the [TextToSpeechFeature](https://aws-samples.github.io/amazon-sumerian-hosts/threejs_TextToSpeechFeature.html), so before we can make the host speak we need to configure the AWS SDK with our region and credentials. ```javascript // Initialize AWS and create Polly service objects AWS.config.region = 'us-west-2'; AWS.config.credentials = new AWS.CognitoIdentityCredentials({ - IdentityPoolId: '', + IdentityPoolId: cognitoIdentityPoolId, }); ``` -Replace `` with the id you created in the [Prerequisites](#Prerequisites) section. Make sure to set the region to the one you created your Cognito Identity Pool in. Using CognitoIdentityCredentials is just one example of how you can authenticate your host to access Polly. See the [AWS SDK documentation](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html) to see other credentials classes you can use. +> [!Note] +> Here the `cognitoIdentityPoolId` variable will contain the id you created and placed inside of `demo-credentials.js` in the [Prerequisites](#Prerequisites) section. Make sure to set the region to the one you created your Cognito Identity Pool in. Using CognitoIdentityCredentials is just one example of how you can authenticate your host to access Polly. See the [AWS SDK documentation](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html) to see other credentials classes you can use. ### Step 6. Initializing the Host TextToSpeechFeature -The [TextToSpeechFeature](https://aws-samples.github.io/amazon-sumerian-hosts/three.js_TextToSpeechFeature.html) is the host feature that communicates with Amazon Polly to generate speech audio and speechmarks and plays them back at runtime. Before this feature can be used, it must be initialized with Polly and PollyPresigner instances, as well as the version of the AWS SDK being used. +The [TextToSpeechFeature](https://aws-samples.github.io/amazon-sumerian-hosts/threejs_TextToSpeechFeature.html) is the host feature that communicates with Amazon Polly to generate speech audio and speechmarks and plays them back at runtime. Before this feature can be used, it must be initialized with Polly and PollyPresigner instances, as well as the version of the AWS SDK being used. ```javascript const polly = new AWS.Polly(); @@ -208,7 +252,7 @@ const presigner = new AWS.Polly.Presigner(); const speechInit = HOST.aws.TextToSpeechFeature.initializeService( polly, presigner, - window.AWS.VERSION + AWS.VERSION ); ``` @@ -424,7 +468,7 @@ const host2 = createHost( ); ``` -Here we pass all of our assets and variables to the `createHost` function. This function is where we'll create the [HostObject](https://aws-samples.github.io/amazon-sumerian-hosts/three.js_HostObject.html) and add features to it. Next we'll inspect what makes up the `createHost` function. +Here we pass all of our assets and variables to the `createHost` function. This function is where we'll create the [HostObject](https://aws-samples.github.io/amazon-sumerian-hosts/threejs_HostObject.html) and add features to it. Next we'll inspect what makes up the `createHost` function. - ```javascript // Add the host to the render loop diff --git a/packages/amazon-sumerian-hosts-three/test/integration_test/README.md b/packages/amazon-sumerian-hosts-three/test/integration_test/README.md index abb46a5..60a3738 100644 --- a/packages/amazon-sumerian-hosts-three/test/integration_test/README.md +++ b/packages/amazon-sumerian-hosts-three/test/integration_test/README.md @@ -8,7 +8,7 @@ In order for the integration tests to be runnable you will need to set up a few ## Running the Tests -Run `npm run start-three` from the repository root. This will start a local web server and open two tabs in your browser. One will contain a demo (from `packages/amazon-sumerian-hosts-three/examples`.) The other will be the list of available integration tests. From this tab you can access and exercise each test. +Run `npm run start-three-tests` from the repository root. This will start a local web server and open a tab in your browser. The tab will contain a list of available integration tests. From this tab you can access and exercise each test. -When you're finished runnin the tests, you can quit the local dev server by pressing CTRL-C in the same terminal in which you started the server. +When you're finished running the tests, you can quit the local dev server by pressing CTRL-C in the same terminal in which you started the server. diff --git a/packages/demos-babylon/README.md b/packages/demos-babylon/README.md index dbec779..9623d17 100644 --- a/packages/demos-babylon/README.md +++ b/packages/demos-babylon/README.md @@ -24,7 +24,7 @@ Start the demo server by running... npm run start-babylon ``` -This starts a local web server and launches two new browser tabs. The tab that will have focus will be titled **"BabylonJS Sumerian Host Demos"**. Click on any demo to give it a try. (The other tab that opens contains integration test files. You can ignore that tab.) +This starts a local web server and launches a browser tab. The tab will be titled **"BabylonJS Sumerian Host Demos"**. Click on any demo to give it a try. When you're finished with the demos, you can quit the local dev server by pressing CTRL-C in the same terminal in which you started the server.