forked from mirrors/gecko-dev
		
	Bug 1887998 - Have mozperftest and raptor use the same browsertime. r=perftest-reviewers,sparky
Currently, the browsertime used by mozperftest is outdated and maintained separately from the browsertime used in raptor tests. This patch upgrades the browsertime used in mozperftest by now sharing the same browsertime that is used with raptors (in `src/tools/browsertime`). Going forward we now only have to maintain one browsertime version. This introduces the potential of more infra changes (because previously when upgrading raptor's browsertime we only checked raptor tests, but now we will have to verify mozperftest) but this should be worth it to stay up to date. Differential Revision: https://phabricator.services.mozilla.com/D208944
This commit is contained in:
		
							parent
							
								
									1ccd64df3d
								
							
						
					
					
						commit
						644e33da0a
					
				
					 10 changed files with 56 additions and 2002 deletions
				
			
		
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -1,12 +0,0 @@ | ||||||
| { |  | ||||||
|   "name": "mozilla-central-tools-browsertime", |  | ||||||
|   "description": "This package file is for node modules used in mozilla-central/tools/browsertime", |  | ||||||
|   "repository": {}, |  | ||||||
|   "license": "MPL-2.0", |  | ||||||
|   "dependencies": {}, |  | ||||||
|   "devDependencies": { |  | ||||||
|     "browsertime": "https://github.com/sitespeedio/browsertime/tarball/eae18165d9d82b9a5ad38b0bd1507a2d86a70988" |  | ||||||
|   }, |  | ||||||
|   "notes(private)": "We don't want to publish to npm, so this is marked as private", |  | ||||||
|   "private": true |  | ||||||
| } |  | ||||||
|  | @ -14,8 +14,6 @@ from mozperftest.test.browsertime.visualtools import get_dependencies, xvfb | ||||||
| from mozperftest.test.noderunner import NodeRunner | from mozperftest.test.noderunner import NodeRunner | ||||||
| from mozperftest.utils import ON_TRY, get_output_dir, install_package | from mozperftest.utils import ON_TRY, get_output_dir, install_package | ||||||
| 
 | 
 | ||||||
| BROWSERTIME_SRC_ROOT = Path(__file__).parent |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| def matches(args, *flags): | def matches(args, *flags): | ||||||
|     """Returns True if any argument matches any of the given flags |     """Returns True if any argument matches any of the given flags | ||||||
|  | @ -115,6 +113,17 @@ class BrowsertimeRunner(NodeRunner): | ||||||
|         # The convention is $MOZBUILD_STATE_PATH/cache/$FEATURE. |         # The convention is $MOZBUILD_STATE_PATH/cache/$FEATURE. | ||||||
|         return Path(self._mach_context.state_dir, "cache", "browsertime") |         return Path(self._mach_context.state_dir, "cache", "browsertime") | ||||||
| 
 | 
 | ||||||
|  |     @property | ||||||
|  |     def browsertime_src_root(self): | ||||||
|  |         """Root location of browsertime source code and config""" | ||||||
|  | 
 | ||||||
|  |         if ON_TRY: | ||||||
|  |             moz_fetches_dir = os.environ.get("MOZ_FETCHES_DIR") | ||||||
|  |             res = Path(moz_fetches_dir, "browsertime") | ||||||
|  |         else: | ||||||
|  |             res = Path(self.topsrcdir, "tools", "browsertime") | ||||||
|  |         return res | ||||||
|  | 
 | ||||||
|     @property |     @property | ||||||
|     def state_path(self): |     def state_path(self): | ||||||
|         """Unpacked artifacts will be kept here.""" |         """Unpacked artifacts will be kept here.""" | ||||||
|  | @ -135,7 +144,11 @@ class BrowsertimeRunner(NodeRunner): | ||||||
|     def visualmetrics_py(self): |     def visualmetrics_py(self): | ||||||
|         root = os.environ.get("BROWSERTIME", self.state_path) |         root = os.environ.get("BROWSERTIME", self.state_path) | ||||||
|         path = Path( |         path = Path( | ||||||
|             root, "node_modules", "browsertime", "browsertime", "visualmetrics.py" |             root, | ||||||
|  |             "node_modules", | ||||||
|  |             "browsertime", | ||||||
|  |             "visualmetrics", | ||||||
|  |             "visualmetrics-portable.py", | ||||||
|         ) |         ) | ||||||
|         if path.exists(): |         if path.exists(): | ||||||
|             os.environ["VISUALMETRICS_PY"] = str(path) |             os.environ["VISUALMETRICS_PY"] = str(path) | ||||||
|  | @ -171,7 +184,7 @@ class BrowsertimeRunner(NodeRunner): | ||||||
|             return True |             return True | ||||||
| 
 | 
 | ||||||
|         # Browsertime exists, check if it's outdated |         # Browsertime exists, check if it's outdated | ||||||
|         with Path(BROWSERTIME_SRC_ROOT, "package.json").open() as new: |         with Path(self.browsertime_src_root, "package.json").open() as new: | ||||||
|             new_pkg = json.load(new) |             new_pkg = json.load(new) | ||||||
| 
 | 
 | ||||||
|         return not self._get_browsertime_resolved().endswith( |         return not self._get_browsertime_resolved().endswith( | ||||||
|  | @ -205,11 +218,10 @@ class BrowsertimeRunner(NodeRunner): | ||||||
| 
 | 
 | ||||||
|         # preparing ~/.mozbuild/browsertime |         # preparing ~/.mozbuild/browsertime | ||||||
|         for file in ("package.json", "package-lock.json"): |         for file in ("package.json", "package-lock.json"): | ||||||
|             src = BROWSERTIME_SRC_ROOT / file |             src = self.browsertime_src_root / file | ||||||
|             target = self.state_path / file |             target = self.state_path / file | ||||||
|             # Overwrite the existing files |             # Overwrite the existing files | ||||||
|             shutil.copyfile(str(src), str(target)) |             shutil.copyfile(str(src), str(target)) | ||||||
| 
 |  | ||||||
|         package_json_path = self.state_path / "package.json" |         package_json_path = self.state_path / "package.json" | ||||||
| 
 | 
 | ||||||
|         if install_url is not None: |         if install_url is not None: | ||||||
|  | @ -452,6 +464,7 @@ class BrowsertimeRunner(NodeRunner): | ||||||
|                     pass |                     pass | ||||||
| 
 | 
 | ||||||
|         extra = self.extra_default_args(args=args) |         extra = self.extra_default_args(args=args) | ||||||
|  | 
 | ||||||
|         command = [str(self.browsertime_js)] + extra + args |         command = [str(self.browsertime_js)] + extra + args | ||||||
|         self.info("Running browsertime with this command %s" % " ".join(command)) |         self.info("Running browsertime with this command %s" % " ".join(command)) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -8,6 +8,7 @@ job-defaults: | ||||||
|         toolchain: |         toolchain: | ||||||
|             - linux64-node |             - linux64-node | ||||||
|             - linux64-geckodriver |             - linux64-geckodriver | ||||||
|  |             - browsertime | ||||||
| 
 | 
 | ||||||
|     worker: |     worker: | ||||||
|         env: |         env: | ||||||
|  |  | ||||||
|  | @ -8,6 +8,7 @@ job-defaults: | ||||||
|         toolchain: |         toolchain: | ||||||
|             - linux64-node |             - linux64-node | ||||||
|             - linux64-geckodriver |             - linux64-geckodriver | ||||||
|  |             - browsertime | ||||||
|         build: |         build: | ||||||
|             - artifact: target.mozinfo.json |             - artifact: target.mozinfo.json | ||||||
|             - artifact: target.common.tests.tar.gz |             - artifact: target.common.tests.tar.gz | ||||||
|  |  | ||||||
|  | @ -17,6 +17,7 @@ job-defaults: | ||||||
|         toolchain: |         toolchain: | ||||||
|             - macosx64-geckodriver |             - macosx64-geckodriver | ||||||
|             - macosx64-node |             - macosx64-node | ||||||
|  |             - browsertime | ||||||
|     platform: macosx1015-64-shippable-qr/opt |     platform: macosx1015-64-shippable-qr/opt | ||||||
|     require-build: |     require-build: | ||||||
|         macosx1015-64-shippable-qr/opt: build-macosx64-shippable/opt |         macosx1015-64-shippable-qr/opt: build-macosx64-shippable/opt | ||||||
|  |  | ||||||
|  | @ -14,6 +14,7 @@ job-defaults: | ||||||
|         toolchain: |         toolchain: | ||||||
|             - win64-node |             - win64-node | ||||||
|             - win64-geckodriver |             - win64-geckodriver | ||||||
|  |             - browsertime | ||||||
|     platform: windows10-64-shippable/opt |     platform: windows10-64-shippable/opt | ||||||
|     require-build: |     require-build: | ||||||
|         windows10-64-shippable/opt: build-win64-shippable/opt |         windows10-64-shippable/opt: build-win64-shippable/opt | ||||||
|  |  | ||||||
|  | @ -417,10 +417,13 @@ mozperftest: | ||||||
|             by-platform: |             by-platform: | ||||||
|                 linux1804-64/opt: |                 linux1804-64/opt: | ||||||
|                     - linux64-node |                     - linux64-node | ||||||
|  |                     - browsertime | ||||||
|                 macosx1015-64/opt: |                 macosx1015-64/opt: | ||||||
|                     - macosx64-node |                     - macosx64-node | ||||||
|  |                     - browsertime | ||||||
|                 windows11-64/opt: |                 windows11-64/opt: | ||||||
|                     - win64-node |                     - win64-node | ||||||
|  |                     - browsertime | ||||||
|     when: |     when: | ||||||
|         files-changed: |         files-changed: | ||||||
|             - 'testing/performance/**' |             - 'testing/performance/**' | ||||||
|  |  | ||||||
							
								
								
									
										137
									
								
								tools/browsertime/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										137
									
								
								tools/browsertime/package-lock.json
									
									
									
										generated
									
									
									
								
							|  | @ -10,7 +10,8 @@ | ||||||
|         "package.json": "^2.0.1" |         "package.json": "^2.0.1" | ||||||
|       }, |       }, | ||||||
|       "devDependencies": { |       "devDependencies": { | ||||||
|         "browsertime": "https://github.com/sitespeedio/browsertime/tarball/de9cbe379e64562cb5ccdcb4e4c5a9b6390547b6" |         "browsertime": "https://github.com/sitespeedio/browsertime/tarball/de9cbe379e64562cb5ccdcb4e4c5a9b6390547b6", | ||||||
|  |         "jimp": "0.22.12" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/@cypress/xvfb": { |     "node_modules/@cypress/xvfb": { | ||||||
|  | @ -90,7 +91,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.22.12.tgz", | ||||||
|       "integrity": "sha512-aeI64HD0npropd+AR76MCcvvRaa+Qck6loCOS03CkkxGHN5/r336qTM5HPUdHKMDOGzqknuVPA8+kK1t03z12g==", |       "integrity": "sha512-aeI64HD0npropd+AR76MCcvvRaa+Qck6loCOS03CkkxGHN5/r336qTM5HPUdHKMDOGzqknuVPA8+kK1t03z12g==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12", |         "@jimp/utils": "^0.22.12", | ||||||
|         "bmp-js": "^0.1.0" |         "bmp-js": "^0.1.0" | ||||||
|  | @ -104,7 +104,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.22.12.tgz", | ||||||
|       "integrity": "sha512-l0RR0dOPyzMKfjUW1uebzueFEDtCOj9fN6pyTYWWOM/VS4BciXQ1VVrJs8pO3kycGYZxncRKhCoygbNr8eEZQA==", |       "integrity": "sha512-l0RR0dOPyzMKfjUW1uebzueFEDtCOj9fN6pyTYWWOM/VS4BciXQ1VVrJs8pO3kycGYZxncRKhCoygbNr8eEZQA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12", |         "@jimp/utils": "^0.22.12", | ||||||
|         "any-base": "^1.1.0", |         "any-base": "^1.1.0", | ||||||
|  | @ -121,7 +120,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.22.12.tgz", | ||||||
|       "integrity": "sha512-xcmww1O/JFP2MrlGUMd3Q78S3Qu6W3mYTXYuIqFq33EorgYHV/HqymHfXy9GjiCJ7OI+7lWx6nYFOzU7M4rd1Q==", |       "integrity": "sha512-xcmww1O/JFP2MrlGUMd3Q78S3Qu6W3mYTXYuIqFq33EorgYHV/HqymHfXy9GjiCJ7OI+7lWx6nYFOzU7M4rd1Q==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/core": "^0.22.12" |         "@jimp/core": "^0.22.12" | ||||||
|       } |       } | ||||||
|  | @ -131,7 +129,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.22.12.tgz", | ||||||
|       "integrity": "sha512-y6BFTJgch9mbor2H234VSjd9iwAhaNf/t3US5qpYIs0TSbAvM02Fbc28IaDETj9+4YB4676sz4RcN/zwhfu1pg==", |       "integrity": "sha512-y6BFTJgch9mbor2H234VSjd9iwAhaNf/t3US5qpYIs0TSbAvM02Fbc28IaDETj9+4YB4676sz4RcN/zwhfu1pg==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12", |         "@jimp/utils": "^0.22.12", | ||||||
|         "gifwrap": "^0.10.1", |         "gifwrap": "^0.10.1", | ||||||
|  | @ -146,7 +143,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.22.12.tgz", | ||||||
|       "integrity": "sha512-Rq26XC/uQWaQKyb/5lksCTCxXhtY01NJeBN+dQv5yNYedN0i7iYu+fXEoRsfaJ8xZzjoANH8sns7rVP4GE7d/Q==", |       "integrity": "sha512-Rq26XC/uQWaQKyb/5lksCTCxXhtY01NJeBN+dQv5yNYedN0i7iYu+fXEoRsfaJ8xZzjoANH8sns7rVP4GE7d/Q==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12", |         "@jimp/utils": "^0.22.12", | ||||||
|         "jpeg-js": "^0.4.4" |         "jpeg-js": "^0.4.4" | ||||||
|  | @ -160,7 +156,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.22.12.tgz", | ||||||
|       "integrity": "sha512-xslz2ZoFZOPLY8EZ4dC29m168BtDx95D6K80TzgUi8gqT7LY6CsajWO0FAxDwHz6h0eomHMfyGX0stspBrTKnQ==", |       "integrity": "sha512-xslz2ZoFZOPLY8EZ4dC29m168BtDx95D6K80TzgUi8gqT7LY6CsajWO0FAxDwHz6h0eomHMfyGX0stspBrTKnQ==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -173,7 +168,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.22.12.tgz", | ||||||
|       "integrity": "sha512-S0vJADTuh1Q9F+cXAwFPlrKWzDj2F9t/9JAbUvaaDuivpyWuImEKXVz5PUZw2NbpuSHjwssbTpOZ8F13iJX4uw==", |       "integrity": "sha512-S0vJADTuh1Q9F+cXAwFPlrKWzDj2F9t/9JAbUvaaDuivpyWuImEKXVz5PUZw2NbpuSHjwssbTpOZ8F13iJX4uw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -186,7 +180,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.22.12.tgz", | ||||||
|       "integrity": "sha512-SWVXx1yiuj5jZtMijqUfvVOJBwOifFn0918ou4ftoHgegc5aHWW5dZbYPjvC9fLpvz7oSlptNl2Sxr1zwofjTg==", |       "integrity": "sha512-SWVXx1yiuj5jZtMijqUfvVOJBwOifFn0918ou4ftoHgegc5aHWW5dZbYPjvC9fLpvz7oSlptNl2Sxr1zwofjTg==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -199,7 +192,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.22.12.tgz", | ||||||
|       "integrity": "sha512-xImhTE5BpS8xa+mAN6j4sMRWaUgUDLoaGHhJhpC+r7SKKErYDR0WQV4yCE4gP+N0gozD0F3Ka1LUSaMXrn7ZIA==", |       "integrity": "sha512-xImhTE5BpS8xa+mAN6j4sMRWaUgUDLoaGHhJhpC+r7SKKErYDR0WQV4yCE4gP+N0gozD0F3Ka1LUSaMXrn7ZIA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12", |         "@jimp/utils": "^0.22.12", | ||||||
|         "tinycolor2": "^1.6.0" |         "tinycolor2": "^1.6.0" | ||||||
|  | @ -213,7 +205,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.22.12.tgz", | ||||||
|       "integrity": "sha512-Eo3DmfixJw3N79lWk8q/0SDYbqmKt1xSTJ69yy8XLYQj9svoBbyRpSnHR+n9hOw5pKXytHwUW6nU4u1wegHNoQ==", |       "integrity": "sha512-Eo3DmfixJw3N79lWk8q/0SDYbqmKt1xSTJ69yy8XLYQj9svoBbyRpSnHR+n9hOw5pKXytHwUW6nU4u1wegHNoQ==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -229,7 +220,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.22.12.tgz", | ||||||
|       "integrity": "sha512-z0w/1xH/v/knZkpTNx+E8a7fnasQ2wHG5ze6y5oL2dhH1UufNua8gLQXlv8/W56+4nJ1brhSd233HBJCo01BXA==", |       "integrity": "sha512-z0w/1xH/v/knZkpTNx+E8a7fnasQ2wHG5ze6y5oL2dhH1UufNua8gLQXlv8/W56+4nJ1brhSd233HBJCo01BXA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -245,7 +235,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.22.12.tgz", | ||||||
|       "integrity": "sha512-FNuUN0OVzRCozx8XSgP9MyLGMxNHHJMFt+LJuFjn1mu3k0VQxrzqbN06yIl46TVejhyAhcq5gLzqmSCHvlcBVw==", |       "integrity": "sha512-FNuUN0OVzRCozx8XSgP9MyLGMxNHHJMFt+LJuFjn1mu3k0VQxrzqbN06yIl46TVejhyAhcq5gLzqmSCHvlcBVw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -258,7 +247,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.22.12.tgz", | ||||||
|       "integrity": "sha512-qpRM8JRicxfK6aPPqKZA6+GzBwUIitiHaZw0QrJ64Ygd3+AsTc7BXr+37k2x7QcyCvmKXY4haUrSIsBug4S3CA==", |       "integrity": "sha512-qpRM8JRicxfK6aPPqKZA6+GzBwUIitiHaZw0QrJ64Ygd3+AsTc7BXr+37k2x7QcyCvmKXY4haUrSIsBug4S3CA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -271,7 +259,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.22.12.tgz", | ||||||
|       "integrity": "sha512-jYgGdSdSKl1UUEanX8A85v4+QUm+PE8vHFwlamaKk89s+PXQe7eVE3eNeSZX4inCq63EHL7cX580dMqkoC3ZLw==", |       "integrity": "sha512-jYgGdSdSKl1UUEanX8A85v4+QUm+PE8vHFwlamaKk89s+PXQe7eVE3eNeSZX4inCq63EHL7cX580dMqkoC3ZLw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -284,7 +271,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.22.12.tgz", | ||||||
|       "integrity": "sha512-LGuUTsFg+fOp6KBKrmLkX4LfyCy8IIsROwoUvsUPKzutSqMJnsm3JGDW2eOmWIS/jJpPaeaishjlxvczjgII+Q==", |       "integrity": "sha512-LGuUTsFg+fOp6KBKrmLkX4LfyCy8IIsROwoUvsUPKzutSqMJnsm3JGDW2eOmWIS/jJpPaeaishjlxvczjgII+Q==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -297,7 +283,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.22.12.tgz", | ||||||
|       "integrity": "sha512-m251Rop7GN8W0Yo/rF9LWk6kNclngyjIJs/VXHToGQ6EGveOSTSQaX2Isi9f9lCDLxt+inBIb7nlaLLxnvHX8Q==", |       "integrity": "sha512-m251Rop7GN8W0Yo/rF9LWk6kNclngyjIJs/VXHToGQ6EGveOSTSQaX2Isi9f9lCDLxt+inBIb7nlaLLxnvHX8Q==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -311,7 +296,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.22.12.tgz", | ||||||
|       "integrity": "sha512-sBfbzoOmJ6FczfG2PquiK84NtVGeScw97JsCC3rpQv1PHVWyW+uqWFF53+n3c8Y0P2HWlUjflEla2h/vWShvhg==", |       "integrity": "sha512-sBfbzoOmJ6FczfG2PquiK84NtVGeScw97JsCC3rpQv1PHVWyW+uqWFF53+n3c8Y0P2HWlUjflEla2h/vWShvhg==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -324,7 +308,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.22.12.tgz", | ||||||
|       "integrity": "sha512-N+6rwxdB+7OCR6PYijaA/iizXXodpxOGvT/smd/lxeXsZ/empHmFFFJ/FaXcYh19Tm04dGDaXcNF/dN5nm6+xQ==", |       "integrity": "sha512-N+6rwxdB+7OCR6PYijaA/iizXXodpxOGvT/smd/lxeXsZ/empHmFFFJ/FaXcYh19Tm04dGDaXcNF/dN5nm6+xQ==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -337,7 +320,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.22.12.tgz", | ||||||
|       "integrity": "sha512-4AWZg+DomtpUA099jRV8IEZUfn1wLv6+nem4NRJC7L/82vxzLCgXKTxvNvBcNmJjT9yS1LAAmiJGdWKXG63/NA==", |       "integrity": "sha512-4AWZg+DomtpUA099jRV8IEZUfn1wLv6+nem4NRJC7L/82vxzLCgXKTxvNvBcNmJjT9yS1LAAmiJGdWKXG63/NA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -350,7 +332,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.22.12.tgz", | ||||||
|       "integrity": "sha512-0So0rexQivnWgnhacX4cfkM2223YdExnJTTy6d06WbkfZk5alHUx8MM3yEzwoCN0ErO7oyqEWRnEkGC+As1FtA==", |       "integrity": "sha512-0So0rexQivnWgnhacX4cfkM2223YdExnJTTy6d06WbkfZk5alHUx8MM3yEzwoCN0ErO7oyqEWRnEkGC+As1FtA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -363,7 +344,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.22.12.tgz", | ||||||
|       "integrity": "sha512-c7TnhHlxm87DJeSnwr/XOLjJU/whoiKYY7r21SbuJ5nuH+7a78EW1teOaj5gEr2wYEd7QtkFqGlmyGXY/YclyQ==", |       "integrity": "sha512-c7TnhHlxm87DJeSnwr/XOLjJU/whoiKYY7r21SbuJ5nuH+7a78EW1teOaj5gEr2wYEd7QtkFqGlmyGXY/YclyQ==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12", |         "@jimp/utils": "^0.22.12", | ||||||
|         "load-bmfont": "^1.4.1" |         "load-bmfont": "^1.4.1" | ||||||
|  | @ -378,7 +358,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.22.12.tgz", | ||||||
|       "integrity": "sha512-3NyTPlPbTnGKDIbaBgQ3HbE6wXbAlFfxHVERmrbqAi8R3r6fQPxpCauA8UVDnieg5eo04D0T8nnnNIX//i/sXg==", |       "integrity": "sha512-3NyTPlPbTnGKDIbaBgQ3HbE6wXbAlFfxHVERmrbqAi8R3r6fQPxpCauA8UVDnieg5eo04D0T8nnnNIX//i/sXg==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -391,7 +370,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.22.12.tgz", | ||||||
|       "integrity": "sha512-9YNEt7BPAFfTls2FGfKBVgwwLUuKqy+E8bDGGEsOqHtbuhbshVGxN2WMZaD4gh5IDWvR+emmmPPWGgaYNYt1gA==", |       "integrity": "sha512-9YNEt7BPAFfTls2FGfKBVgwwLUuKqy+E8bDGGEsOqHtbuhbshVGxN2WMZaD4gh5IDWvR+emmmPPWGgaYNYt1gA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -407,7 +385,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.22.12.tgz", | ||||||
|       "integrity": "sha512-dghs92qM6MhHj0HrV2qAwKPMklQtjNpoYgAB94ysYpsXslhRTiPisueSIELRwZGEr0J0VUxpUY7HgJwlSIgGZw==", |       "integrity": "sha512-dghs92qM6MhHj0HrV2qAwKPMklQtjNpoYgAB94ysYpsXslhRTiPisueSIELRwZGEr0J0VUxpUY7HgJwlSIgGZw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -421,7 +398,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.22.12.tgz", | ||||||
|       "integrity": "sha512-FX8mTJuCt7/3zXVoeD/qHlm4YH2bVqBuWQHXSuBK054e7wFRnRnbSLPUqAwSeYP3lWqpuQzJtgiiBxV3+WWwTg==", |       "integrity": "sha512-FX8mTJuCt7/3zXVoeD/qHlm4YH2bVqBuWQHXSuBK054e7wFRnRnbSLPUqAwSeYP3lWqpuQzJtgiiBxV3+WWwTg==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -436,7 +412,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.22.12.tgz", | ||||||
|       "integrity": "sha512-4x5GrQr1a/9L0paBC/MZZJjjgjxLYrqSmWd+e+QfAEPvmRxdRoQ5uKEuNgXnm9/weHQBTnQBQsOY2iFja+XGAw==", |       "integrity": "sha512-4x5GrQr1a/9L0paBC/MZZJjjgjxLYrqSmWd+e+QfAEPvmRxdRoQ5uKEuNgXnm9/weHQBTnQBQsOY2iFja+XGAw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12" |         "@jimp/utils": "^0.22.12" | ||||||
|       }, |       }, | ||||||
|  | @ -451,7 +426,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.22.12.tgz", | ||||||
|       "integrity": "sha512-yBJ8vQrDkBbTgQZLty9k4+KtUQdRjsIDJSPjuI21YdVeqZxYywifHl4/XWILoTZsjTUASQcGoH0TuC0N7xm3ww==", |       "integrity": "sha512-yBJ8vQrDkBbTgQZLty9k4+KtUQdRjsIDJSPjuI21YdVeqZxYywifHl4/XWILoTZsjTUASQcGoH0TuC0N7xm3ww==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/plugin-blit": "^0.22.12", |         "@jimp/plugin-blit": "^0.22.12", | ||||||
|         "@jimp/plugin-blur": "^0.22.12", |         "@jimp/plugin-blur": "^0.22.12", | ||||||
|  | @ -485,7 +459,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.22.12.tgz", | ||||||
|       "integrity": "sha512-Mrp6dr3UTn+aLK8ty/dSKELz+Otdz1v4aAXzV5q53UDD2rbB5joKVJ/ChY310B+eRzNxIovbUF1KVrUsYdE8Hg==", |       "integrity": "sha512-Mrp6dr3UTn+aLK8ty/dSKELz+Otdz1v4aAXzV5q53UDD2rbB5joKVJ/ChY310B+eRzNxIovbUF1KVrUsYdE8Hg==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/utils": "^0.22.12", |         "@jimp/utils": "^0.22.12", | ||||||
|         "pngjs": "^6.0.0" |         "pngjs": "^6.0.0" | ||||||
|  | @ -499,7 +472,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.22.12.tgz", | ||||||
|       "integrity": "sha512-E1LtMh4RyJsoCAfAkBRVSYyZDTtLq9p9LUiiYP0vPtXyxX4BiYBUYihTLSBlCQg5nF2e4OpQg7SPrLdJ66u7jg==", |       "integrity": "sha512-E1LtMh4RyJsoCAfAkBRVSYyZDTtLq9p9LUiiYP0vPtXyxX4BiYBUYihTLSBlCQg5nF2e4OpQg7SPrLdJ66u7jg==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "utif2": "^4.0.1" |         "utif2": "^4.0.1" | ||||||
|       }, |       }, | ||||||
|  | @ -512,7 +484,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.22.12.tgz", | ||||||
|       "integrity": "sha512-wwKYzRdElE1MBXFREvCto5s699izFHNVvALUv79GXNbsOVqlwlOxlWJ8DuyOGIXoLP4JW/m30YyuTtfUJgMRMA==", |       "integrity": "sha512-wwKYzRdElE1MBXFREvCto5s699izFHNVvALUv79GXNbsOVqlwlOxlWJ8DuyOGIXoLP4JW/m30YyuTtfUJgMRMA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/bmp": "^0.22.12", |         "@jimp/bmp": "^0.22.12", | ||||||
|         "@jimp/gif": "^0.22.12", |         "@jimp/gif": "^0.22.12", | ||||||
|  | @ -530,7 +501,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.22.12.tgz", | ||||||
|       "integrity": "sha512-yJ5cWUknGnilBq97ZXOyOS0HhsHOyAyjHwYfHxGbSyMTohgQI6sVyE8KPgDwH8HHW/nMKXk8TrSwAE71zt716Q==", |       "integrity": "sha512-yJ5cWUknGnilBq97ZXOyOS0HhsHOyAyjHwYfHxGbSyMTohgQI6sVyE8KPgDwH8HHW/nMKXk8TrSwAE71zt716Q==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "regenerator-runtime": "^0.13.3" |         "regenerator-runtime": "^0.13.3" | ||||||
|       } |       } | ||||||
|  | @ -647,15 +617,13 @@ | ||||||
|       "version": "0.3.0", |       "version": "0.3.0", | ||||||
|       "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", |       "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", | ||||||
|       "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", |       "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/@types/node": { |     "node_modules/@types/node": { | ||||||
|       "version": "16.9.1", |       "version": "16.9.1", | ||||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", |       "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", | ||||||
|       "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==", |       "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/abs": { |     "node_modules/abs": { | ||||||
|       "version": "1.3.14", |       "version": "1.3.14", | ||||||
|  | @ -687,8 +655,7 @@ | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", |       "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", | ||||||
|       "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==", |       "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/async": { |     "node_modules/async": { | ||||||
|       "version": "1.5.2", |       "version": "1.5.2", | ||||||
|  | @ -714,8 +681,7 @@ | ||||||
|           "type": "consulting", |           "type": "consulting", | ||||||
|           "url": "https://feross.org/support" |           "url": "https://feross.org/support" | ||||||
|         } |         } | ||||||
|       ], |       ] | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/bluebird": { |     "node_modules/bluebird": { | ||||||
|       "version": "3.7.2", |       "version": "3.7.2", | ||||||
|  | @ -727,8 +693,7 @@ | ||||||
|       "version": "0.1.0", |       "version": "0.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", |       "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", | ||||||
|       "integrity": "sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==", |       "integrity": "sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/browsertime": { |     "node_modules/browsertime": { | ||||||
|       "version": "21.6.1", |       "version": "21.6.1", | ||||||
|  | @ -805,7 +770,6 @@ | ||||||
|           "url": "https://feross.org/support" |           "url": "https://feross.org/support" | ||||||
|         } |         } | ||||||
|       ], |       ], | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "base64-js": "^1.3.1", |         "base64-js": "^1.3.1", | ||||||
|         "ieee754": "^1.1.13" |         "ieee754": "^1.1.13" | ||||||
|  | @ -816,7 +780,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", |       "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", | ||||||
|       "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==", |       "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "engines": { |       "engines": { | ||||||
|         "node": ">=0.4.0" |         "node": ">=0.4.0" | ||||||
|       } |       } | ||||||
|  | @ -1053,8 +1016,7 @@ | ||||||
|       "version": "0.1.2", |       "version": "0.1.2", | ||||||
|       "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", |       "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", | ||||||
|       "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", |       "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/duplexer2": { |     "node_modules/duplexer2": { | ||||||
|       "version": "0.1.4", |       "version": "0.1.4", | ||||||
|  | @ -1140,8 +1102,7 @@ | ||||||
|       "version": "0.1.12", |       "version": "0.1.12", | ||||||
|       "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", |       "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", | ||||||
|       "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==", |       "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/fast-stats": { |     "node_modules/fast-stats": { | ||||||
|       "version": "0.0.6", |       "version": "0.0.6", | ||||||
|  | @ -1163,7 +1124,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz", |       "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz", | ||||||
|       "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==", |       "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "readable-web-to-node-stream": "^3.0.0", |         "readable-web-to-node-stream": "^3.0.0", | ||||||
|         "strtok3": "^6.2.4", |         "strtok3": "^6.2.4", | ||||||
|  | @ -1271,7 +1231,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.10.1.tgz", |       "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.10.1.tgz", | ||||||
|       "integrity": "sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw==", |       "integrity": "sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "image-q": "^4.0.0", |         "image-q": "^4.0.0", | ||||||
|         "omggif": "^1.0.10" |         "omggif": "^1.0.10" | ||||||
|  | @ -1323,7 +1282,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", |       "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", | ||||||
|       "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", |       "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "min-document": "^2.19.0", |         "min-document": "^2.19.0", | ||||||
|         "process": "^0.11.10" |         "process": "^0.11.10" | ||||||
|  | @ -1441,15 +1399,13 @@ | ||||||
|           "type": "consulting", |           "type": "consulting", | ||||||
|           "url": "https://feross.org/support" |           "url": "https://feross.org/support" | ||||||
|         } |         } | ||||||
|       ], |       ] | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/image-q": { |     "node_modules/image-q": { | ||||||
|       "version": "4.0.0", |       "version": "4.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/image-q/-/image-q-4.0.0.tgz", |       "resolved": "https://registry.npmjs.org/image-q/-/image-q-4.0.0.tgz", | ||||||
|       "integrity": "sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==", |       "integrity": "sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@types/node": "16.9.1" |         "@types/node": "16.9.1" | ||||||
|       } |       } | ||||||
|  | @ -1516,8 +1472,7 @@ | ||||||
|       "version": "1.0.2", |       "version": "1.0.2", | ||||||
|       "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", |       "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", | ||||||
|       "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", |       "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/is-plain-obj": { |     "node_modules/is-plain-obj": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|  | @ -1579,7 +1534,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", |       "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", | ||||||
|       "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", |       "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "node-fetch": "^2.6.1", |         "node-fetch": "^2.6.1", | ||||||
|         "whatwg-fetch": "^3.4.1" |         "whatwg-fetch": "^3.4.1" | ||||||
|  | @ -1595,7 +1549,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.22.12.tgz", |       "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.22.12.tgz", | ||||||
|       "integrity": "sha512-R5jZaYDnfkxKJy1dwLpj/7cvyjxiclxU3F4TrI/J4j2rS0niq6YDUMoPn5hs8GDpO+OZGo7Ky057CRtWesyhfg==", |       "integrity": "sha512-R5jZaYDnfkxKJy1dwLpj/7cvyjxiclxU3F4TrI/J4j2rS0niq6YDUMoPn5hs8GDpO+OZGo7Ky057CRtWesyhfg==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@jimp/custom": "^0.22.12", |         "@jimp/custom": "^0.22.12", | ||||||
|         "@jimp/plugins": "^0.22.12", |         "@jimp/plugins": "^0.22.12", | ||||||
|  | @ -1607,8 +1560,7 @@ | ||||||
|       "version": "0.4.4", |       "version": "0.4.4", | ||||||
|       "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", |       "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", | ||||||
|       "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==", |       "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/jszip": { |     "node_modules/jszip": { | ||||||
|       "version": "3.10.1", |       "version": "3.10.1", | ||||||
|  | @ -1644,7 +1596,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", |       "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", | ||||||
|       "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", |       "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "buffer-equal": "0.0.1", |         "buffer-equal": "0.0.1", | ||||||
|         "mime": "^1.3.4", |         "mime": "^1.3.4", | ||||||
|  | @ -1732,7 +1683,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", |       "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", | ||||||
|       "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", |       "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "bin": { |       "bin": { | ||||||
|         "mime": "cli.js" |         "mime": "cli.js" | ||||||
|       }, |       }, | ||||||
|  | @ -1757,7 +1707,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", |       "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", | ||||||
|       "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", |       "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "dom-walk": "^0.1.0" |         "dom-walk": "^0.1.0" | ||||||
|       } |       } | ||||||
|  | @ -1836,7 +1785,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", |       "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", | ||||||
|       "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", |       "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "whatwg-url": "^5.0.0" |         "whatwg-url": "^5.0.0" | ||||||
|       }, |       }, | ||||||
|  | @ -1954,8 +1902,7 @@ | ||||||
|       "version": "1.0.10", |       "version": "1.0.10", | ||||||
|       "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz", |       "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz", | ||||||
|       "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==", |       "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/one-by-one": { |     "node_modules/one-by-one": { | ||||||
|       "version": "3.2.8", |       "version": "3.2.8", | ||||||
|  | @ -2062,22 +2009,19 @@ | ||||||
|       "version": "1.0.6", |       "version": "1.0.6", | ||||||
|       "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", |       "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", | ||||||
|       "integrity": "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==", |       "integrity": "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/parse-bmfont-binary": { |     "node_modules/parse-bmfont-binary": { | ||||||
|       "version": "1.0.6", |       "version": "1.0.6", | ||||||
|       "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", |       "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", | ||||||
|       "integrity": "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==", |       "integrity": "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/parse-bmfont-xml": { |     "node_modules/parse-bmfont-xml": { | ||||||
|       "version": "1.1.6", |       "version": "1.1.6", | ||||||
|       "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.6.tgz", |       "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.6.tgz", | ||||||
|       "integrity": "sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==", |       "integrity": "sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "xml-parse-from-string": "^1.0.0", |         "xml-parse-from-string": "^1.0.0", | ||||||
|         "xml2js": "^0.5.0" |         "xml2js": "^0.5.0" | ||||||
|  | @ -2087,8 +2031,7 @@ | ||||||
|       "version": "2.0.5", |       "version": "2.0.5", | ||||||
|       "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", |       "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", | ||||||
|       "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", |       "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/parse-json": { |     "node_modules/parse-json": { | ||||||
|       "version": "2.2.0", |       "version": "2.2.0", | ||||||
|  | @ -2143,7 +2086,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", |       "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", | ||||||
|       "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==", |       "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "engines": { |       "engines": { | ||||||
|         "node": ">=8" |         "node": ">=8" | ||||||
|       }, |       }, | ||||||
|  | @ -2157,8 +2099,7 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", |       "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", | ||||||
|       "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==", |       "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==", | ||||||
|       "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", |       "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/pinkie": { |     "node_modules/pinkie": { | ||||||
|       "version": "2.0.4", |       "version": "2.0.4", | ||||||
|  | @ -2184,7 +2125,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", |       "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", | ||||||
|       "integrity": "sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==", |       "integrity": "sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "pngjs": "^3.0.0" |         "pngjs": "^3.0.0" | ||||||
|       }, |       }, | ||||||
|  | @ -2197,7 +2137,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", |       "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", | ||||||
|       "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", |       "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "engines": { |       "engines": { | ||||||
|         "node": ">=4.0.0" |         "node": ">=4.0.0" | ||||||
|       } |       } | ||||||
|  | @ -2207,7 +2146,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", |       "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", | ||||||
|       "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", |       "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "engines": { |       "engines": { | ||||||
|         "node": ">=12.13.0" |         "node": ">=12.13.0" | ||||||
|       } |       } | ||||||
|  | @ -2225,7 +2163,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", |       "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", | ||||||
|       "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", |       "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "engines": { |       "engines": { | ||||||
|         "node": ">= 0.6.0" |         "node": ">= 0.6.0" | ||||||
|       } |       } | ||||||
|  | @ -2323,7 +2260,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", |       "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", | ||||||
|       "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", |       "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "readable-stream": "^3.6.0" |         "readable-stream": "^3.6.0" | ||||||
|       }, |       }, | ||||||
|  | @ -2340,7 +2276,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", |       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", | ||||||
|       "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", |       "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "inherits": "^2.0.3", |         "inherits": "^2.0.3", | ||||||
|         "string_decoder": "^1.1.1", |         "string_decoder": "^1.1.1", | ||||||
|  | @ -2354,8 +2289,7 @@ | ||||||
|       "version": "0.13.11", |       "version": "0.13.11", | ||||||
|       "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", |       "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", | ||||||
|       "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", |       "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/registry-auth-token": { |     "node_modules/registry-auth-token": { | ||||||
|       "version": "3.4.0", |       "version": "3.4.0", | ||||||
|  | @ -2417,8 +2351,7 @@ | ||||||
|       "version": "1.3.0", |       "version": "1.3.0", | ||||||
|       "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", |       "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", | ||||||
|       "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", |       "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/selenium-webdriver": { |     "node_modules/selenium-webdriver": { | ||||||
|       "version": "4.18.1", |       "version": "4.18.1", | ||||||
|  | @ -2444,9 +2377,9 @@ | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/selenium-webdriver/node_modules/ws": { |     "node_modules/selenium-webdriver/node_modules/ws": { | ||||||
|       "version": "8.16.0", |       "version": "8.17.0", | ||||||
|       "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", |       "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz", | ||||||
|       "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", |       "integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "engines": { |       "engines": { | ||||||
|         "node": ">=10.0.0" |         "node": ">=10.0.0" | ||||||
|  | @ -2654,7 +2587,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz", |       "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz", | ||||||
|       "integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==", |       "integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@tokenizer/token": "^0.3.0", |         "@tokenizer/token": "^0.3.0", | ||||||
|         "peek-readable": "^4.1.0" |         "peek-readable": "^4.1.0" | ||||||
|  | @ -2728,15 +2660,13 @@ | ||||||
|       "version": "1.7.1", |       "version": "1.7.1", | ||||||
|       "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", |       "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", | ||||||
|       "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==", |       "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/tinycolor2": { |     "node_modules/tinycolor2": { | ||||||
|       "version": "1.6.0", |       "version": "1.6.0", | ||||||
|       "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", |       "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", | ||||||
|       "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", |       "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/tmp": { |     "node_modules/tmp": { | ||||||
|       "version": "0.0.28", |       "version": "0.0.28", | ||||||
|  | @ -2754,7 +2684,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz", |       "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz", | ||||||
|       "integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==", |       "integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@tokenizer/token": "^0.3.0", |         "@tokenizer/token": "^0.3.0", | ||||||
|         "ieee754": "^1.2.1" |         "ieee754": "^1.2.1" | ||||||
|  | @ -2786,8 +2715,7 @@ | ||||||
|       "version": "0.0.3", |       "version": "0.0.3", | ||||||
|       "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", |       "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", | ||||||
|       "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", |       "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/typpy": { |     "node_modules/typpy": { | ||||||
|       "version": "2.3.13", |       "version": "2.3.13", | ||||||
|  | @ -2867,7 +2795,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/utif2/-/utif2-4.1.0.tgz", |       "resolved": "https://registry.npmjs.org/utif2/-/utif2-4.1.0.tgz", | ||||||
|       "integrity": "sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w==", |       "integrity": "sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "pako": "^1.0.11" |         "pako": "^1.0.11" | ||||||
|       } |       } | ||||||
|  | @ -2904,22 +2831,19 @@ | ||||||
|       "version": "3.0.1", |       "version": "3.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", |       "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", | ||||||
|       "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", |       "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/whatwg-fetch": { |     "node_modules/whatwg-fetch": { | ||||||
|       "version": "3.6.20", |       "version": "3.6.20", | ||||||
|       "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", |       "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", | ||||||
|       "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", |       "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/whatwg-url": { |     "node_modules/whatwg-url": { | ||||||
|       "version": "5.0.0", |       "version": "5.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", |       "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", | ||||||
|       "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", |       "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "tr46": "~0.0.3", |         "tr46": "~0.0.3", | ||||||
|         "webidl-conversions": "^3.0.0" |         "webidl-conversions": "^3.0.0" | ||||||
|  | @ -3019,7 +2943,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", |       "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", | ||||||
|       "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", |       "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "global": "~4.4.0", |         "global": "~4.4.0", | ||||||
|         "is-function": "^1.0.1", |         "is-function": "^1.0.1", | ||||||
|  | @ -3031,15 +2954,13 @@ | ||||||
|       "version": "1.0.1", |       "version": "1.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", |       "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", | ||||||
|       "integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==", |       "integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==", | ||||||
|       "dev": true, |       "dev": true | ||||||
|       "optional": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/xml2js": { |     "node_modules/xml2js": { | ||||||
|       "version": "0.5.0", |       "version": "0.5.0", | ||||||
|       "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", |       "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", | ||||||
|       "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", |       "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "sax": ">=0.6.0", |         "sax": ">=0.6.0", | ||||||
|         "xmlbuilder": "~11.0.0" |         "xmlbuilder": "~11.0.0" | ||||||
|  | @ -3053,7 +2974,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", |       "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", | ||||||
|       "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", |       "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "engines": { |       "engines": { | ||||||
|         "node": ">=4.0" |         "node": ">=4.0" | ||||||
|       } |       } | ||||||
|  | @ -3063,7 +2983,6 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", |       "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", | ||||||
|       "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", |       "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true, |  | ||||||
|       "engines": { |       "engines": { | ||||||
|         "node": ">=0.4" |         "node": ">=0.4" | ||||||
|       } |       } | ||||||
|  |  | ||||||
|  | @ -7,7 +7,8 @@ | ||||||
|     "package.json": "^2.0.1" |     "package.json": "^2.0.1" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "browsertime": "https://github.com/sitespeedio/browsertime/tarball/de9cbe379e64562cb5ccdcb4e4c5a9b6390547b6" |     "browsertime": "https://github.com/sitespeedio/browsertime/tarball/de9cbe379e64562cb5ccdcb4e4c5a9b6390547b6", | ||||||
|  |     "jimp": "0.22.12" | ||||||
|   }, |   }, | ||||||
|   "notes(private)": "We don't want to publish to npm, so this is marked as private", |   "notes(private)": "We don't want to publish to npm, so this is marked as private", | ||||||
|   "private": true |   "private": true | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 KS
						KS