Compare commits
	
		
			7 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | ee0669bd1c | ||
|  | dc323e67f1 | ||
|  | e2f20e631a | ||
|  | b2eb13baee | ||
|  | 7884fcad6b | ||
|  | f67ee5d622 | ||
|  | f25a3a9f25 | 
							
								
								
									
										40
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										40
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							| @ -142,7 +142,7 @@ jobs: | ||||
|       options: --dns 127.0.0.1 | ||||
|     services: | ||||
|       squid-proxy: | ||||
|         image: datadog/squid:latest | ||||
|         image: ubuntu/squid:latest | ||||
|         ports: | ||||
|           - 3128:3128 | ||||
|     env: | ||||
| @ -205,3 +205,41 @@ jobs: | ||||
|           path: basic | ||||
|       - name: Verify basic | ||||
|         run: __test__/verify-basic.sh --archive | ||||
|      | ||||
|   test-git-container: | ||||
|     runs-on: ubuntu-latest | ||||
|     container: bitnami/git:latest | ||||
|     steps: | ||||
|       # Clone this repo | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           path: v3 | ||||
| 
 | ||||
|       # Basic checkout using git | ||||
|       - name: Checkout basic | ||||
|         uses: ./v3 | ||||
|         with: | ||||
|           ref: test-data/v2/basic | ||||
|       - name: Verify basic | ||||
|         run: | | ||||
|           if [ ! -f "./basic-file.txt" ]; then | ||||
|               echo "Expected basic file does not exist" | ||||
|               exit 1 | ||||
|           fi | ||||
| 
 | ||||
|           # Verify .git folder | ||||
|           if [ ! -d "./.git" ]; then | ||||
|             echo "Expected ./.git folder to exist" | ||||
|             exit 1 | ||||
|           fi | ||||
| 
 | ||||
|           # Verify auth token | ||||
|           git config --global --add safe.directory "*" | ||||
|           git fetch --no-tags --depth=1 origin +refs/heads/main:refs/remotes/origin/main | ||||
| 
 | ||||
|       # needed to make checkout post cleanup succeed | ||||
|       - name: Fix Checkout v3 | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           path: v3 | ||||
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/@actions/core.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/@actions/core.dep.yml
									
									
									
										generated
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/@actions/http-client-2.0.1.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/@actions/http-client-2.0.1.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/@actions/io.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/@actions/io.dep.yml
									
									
									
										generated
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/node-fetch.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/node-fetch.dep.yml
									
									
									
										generated
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/qs.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/qs.dep.yml
									
									
									
										generated
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/uuid-8.3.2.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/uuid-8.3.2.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -1,5 +1,14 @@ | ||||
| # Changelog | ||||
| 
 | ||||
| ## v2.5.0 | ||||
| - [Bump @actions/core to v1.10.0](https://github.com/actions/checkout/pull/962) | ||||
| 
 | ||||
| ## v2.4.2 | ||||
| - [Add input `set-safe-directory`](https://github.com/actions/checkout/pull/776) | ||||
| 
 | ||||
| ## v2.4.1 | ||||
| - [Set the safe directory option on git to prevent git commands failing when running in containers](https://github.com/actions/checkout/pull/762) | ||||
| 
 | ||||
| ## v2.3.1 | ||||
| 
 | ||||
| - [Fix default branch resolution for .wiki and when using SSH](https://github.com/actions/checkout/pull/284) | ||||
|  | ||||
| @ -105,6 +105,11 @@ Refer [here](https://github.com/actions/checkout/blob/v1/README.md) for previous | ||||
|     # | ||||
|     # Default: false | ||||
|     submodules: '' | ||||
| 
 | ||||
|     # Add repository path as safe.directory for Git global config by running `git | ||||
|     # config --global --add safe.directory <path>` | ||||
|     # Default: true | ||||
|     set-safe-directory: '' | ||||
| ``` | ||||
| <!-- end usage --> | ||||
| 
 | ||||
|  | ||||
| @ -643,10 +643,11 @@ describe('git-auth-helper tests', () => { | ||||
|     expect(gitConfigContent.indexOf('http.')).toBeLessThan(0) | ||||
|   }) | ||||
| 
 | ||||
|   const removeGlobalAuth_removesOverride = 'removeGlobalAuth removes override' | ||||
|   it(removeGlobalAuth_removesOverride, async () => { | ||||
|   const removeGlobalConfig_removesOverride = | ||||
|     'removeGlobalConfig removes override' | ||||
|   it(removeGlobalConfig_removesOverride, async () => { | ||||
|     // Arrange
 | ||||
|     await setup(removeGlobalAuth_removesOverride) | ||||
|     await setup(removeGlobalConfig_removesOverride) | ||||
|     const authHelper = gitAuthHelper.createAuthHelper(git, settings) | ||||
|     await authHelper.configureAuth() | ||||
|     await authHelper.configureGlobalAuth() | ||||
| @ -655,7 +656,7 @@ describe('git-auth-helper tests', () => { | ||||
|     await fs.promises.stat(path.join(git.env['HOME'], '.gitconfig')) | ||||
| 
 | ||||
|     // Act
 | ||||
|     await authHelper.removeGlobalAuth() | ||||
|     await authHelper.removeGlobalConfig() | ||||
| 
 | ||||
|     // Assert
 | ||||
|     expect(git.env['HOME']).toBeUndefined() | ||||
| @ -776,7 +777,8 @@ async function setup(testName: string): Promise<void> { | ||||
|     sshKey: sshPath ? 'some ssh private key' : '', | ||||
|     sshKnownHosts: '', | ||||
|     sshStrict: true, | ||||
|     workflowOrganizationId: 123456 | ||||
|     workflowOrganizationId: 123456, | ||||
|     setSafeDirectory: true | ||||
|   } | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -85,6 +85,7 @@ describe('input-helper tests', () => { | ||||
|     expect(settings.repositoryName).toBe('some-repo') | ||||
|     expect(settings.repositoryOwner).toBe('some-owner') | ||||
|     expect(settings.repositoryPath).toBe(gitHubWorkspace) | ||||
|     expect(settings.setSafeDirectory).toBe(true) | ||||
|   }) | ||||
| 
 | ||||
|   it('qualifies ref', async () => { | ||||
|  | ||||
| @ -68,6 +68,9 @@ inputs: | ||||
|       When the `ssh-key` input is not provided, SSH URLs beginning with `git@github.com:` are | ||||
|       converted to HTTPS. | ||||
|     default: false | ||||
|   set-safe-directory: | ||||
|     description: Add repository path as safe.directory for Git global config by running `git config --global --add safe.directory <path>` | ||||
|     default: true | ||||
| runs: | ||||
|   using: node12 | ||||
|   main: dist/index.js | ||||
|  | ||||
							
								
								
									
										3216
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3216
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| @ -98,6 +98,25 @@ module.exports = Octokit; | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
| @ -108,11 +127,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| const childProcess = __webpack_require__(129); | ||||
| const path = __webpack_require__(622); | ||||
| exports.findInPath = exports.which = exports.mkdirP = exports.rmRF = exports.mv = exports.cp = void 0; | ||||
| const assert_1 = __webpack_require__(357); | ||||
| const childProcess = __importStar(__webpack_require__(129)); | ||||
| const path = __importStar(__webpack_require__(622)); | ||||
| const util_1 = __webpack_require__(669); | ||||
| const ioUtil = __webpack_require__(672); | ||||
| const ioUtil = __importStar(__webpack_require__(672)); | ||||
| const exec = util_1.promisify(childProcess.exec); | ||||
| const execFile = util_1.promisify(childProcess.execFile); | ||||
| /** | ||||
|  * Copies a file or folder. | ||||
|  * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js
 | ||||
| @ -123,14 +145,14 @@ const exec = util_1.promisify(childProcess.exec); | ||||
|  */ | ||||
| function cp(source, dest, options = {}) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         const { force, recursive } = readCopyOptions(options); | ||||
|         const { force, recursive, copySourceDirectory } = readCopyOptions(options); | ||||
|         const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null; | ||||
|         // Dest is an existing file, but not forcing
 | ||||
|         if (destStat && destStat.isFile() && !force) { | ||||
|             return; | ||||
|         } | ||||
|         // If dest is an existing directory, should copy inside.
 | ||||
|         const newDest = destStat && destStat.isDirectory() | ||||
|         const newDest = destStat && destStat.isDirectory() && copySourceDirectory | ||||
|             ? path.join(dest, path.basename(source)) | ||||
|             : dest; | ||||
|         if (!(yield ioUtil.exists(source))) { | ||||
| @ -195,12 +217,22 @@ function rmRF(inputPath) { | ||||
|         if (ioUtil.IS_WINDOWS) { | ||||
|             // Node doesn't provide a delete operation, only an unlink function. This means that if the file is being used by another
 | ||||
|             // program (e.g. antivirus), it won't be deleted. To address this, we shell out the work to rd/del.
 | ||||
|             // Check for invalid characters
 | ||||
|             // https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file
 | ||||
|             if (/[*"<>|]/.test(inputPath)) { | ||||
|                 throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows'); | ||||
|             } | ||||
|             try { | ||||
|                 const cmdPath = ioUtil.getCmdPath(); | ||||
|                 if (yield ioUtil.isDirectory(inputPath, true)) { | ||||
|                     yield exec(`rd /s /q "${inputPath}"`); | ||||
|                     yield exec(`${cmdPath} /s /c "rd /s /q "%inputPath%""`, { | ||||
|                         env: { inputPath } | ||||
|                     }); | ||||
|                 } | ||||
|                 else { | ||||
|                     yield exec(`del /f /a "${inputPath}"`); | ||||
|                     yield exec(`${cmdPath} /s /c "del /f /a "%inputPath%""`, { | ||||
|                         env: { inputPath } | ||||
|                     }); | ||||
|                 } | ||||
|             } | ||||
|             catch (err) { | ||||
| @ -233,7 +265,7 @@ function rmRF(inputPath) { | ||||
|                 return; | ||||
|             } | ||||
|             if (isDir) { | ||||
|                 yield exec(`rm -rf "${inputPath}"`); | ||||
|                 yield execFile(`rm`, [`-rf`, `${inputPath}`]); | ||||
|             } | ||||
|             else { | ||||
|                 yield ioUtil.unlink(inputPath); | ||||
| @ -251,7 +283,8 @@ exports.rmRF = rmRF; | ||||
|  */ | ||||
| function mkdirP(fsPath) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         yield ioUtil.mkdirP(fsPath); | ||||
|         assert_1.ok(fsPath, 'a path argument must be provided'); | ||||
|         yield ioUtil.mkdir(fsPath, { recursive: true }); | ||||
|     }); | ||||
| } | ||||
| exports.mkdirP = mkdirP; | ||||
| @ -279,12 +312,30 @@ function which(tool, check) { | ||||
|                     throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`); | ||||
|                 } | ||||
|             } | ||||
|             return result; | ||||
|         } | ||||
|         const matches = yield findInPath(tool); | ||||
|         if (matches && matches.length > 0) { | ||||
|             return matches[0]; | ||||
|         } | ||||
|         return ''; | ||||
|     }); | ||||
| } | ||||
| exports.which = which; | ||||
| /** | ||||
|  * Returns a list of all occurrences of the given tool on the system path. | ||||
|  * | ||||
|  * @returns   Promise<string[]>  the paths of the tool | ||||
|  */ | ||||
| function findInPath(tool) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         if (!tool) { | ||||
|             throw new Error("parameter 'tool' is required"); | ||||
|         } | ||||
|         try { | ||||
|         // build the list of extensions to try
 | ||||
|         const extensions = []; | ||||
|             if (ioUtil.IS_WINDOWS && process.env.PATHEXT) { | ||||
|                 for (const extension of process.env.PATHEXT.split(path.delimiter)) { | ||||
|         if (ioUtil.IS_WINDOWS && process.env['PATHEXT']) { | ||||
|             for (const extension of process.env['PATHEXT'].split(path.delimiter)) { | ||||
|                 if (extension) { | ||||
|                     extensions.push(extension); | ||||
|                 } | ||||
| @ -294,13 +345,13 @@ function which(tool, check) { | ||||
|         if (ioUtil.isRooted(tool)) { | ||||
|             const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions); | ||||
|             if (filePath) { | ||||
|                     return filePath; | ||||
|                 return [filePath]; | ||||
|             } | ||||
|                 return ''; | ||||
|             return []; | ||||
|         } | ||||
|         // if any path separators, return empty
 | ||||
|             if (tool.includes('/') || (ioUtil.IS_WINDOWS && tool.includes('\\'))) { | ||||
|                 return ''; | ||||
|         if (tool.includes(path.sep)) { | ||||
|             return []; | ||||
|         } | ||||
|         // build the list of directories
 | ||||
|         //
 | ||||
| @ -316,25 +367,25 @@ function which(tool, check) { | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|             // return the first match
 | ||||
|         // find all matches
 | ||||
|         const matches = []; | ||||
|         for (const directory of directories) { | ||||
|                 const filePath = yield ioUtil.tryGetExecutablePath(directory + path.sep + tool, extensions); | ||||
|             const filePath = yield ioUtil.tryGetExecutablePath(path.join(directory, tool), extensions); | ||||
|             if (filePath) { | ||||
|                     return filePath; | ||||
|                 matches.push(filePath); | ||||
|             } | ||||
|         } | ||||
|             return ''; | ||||
|         } | ||||
|         catch (err) { | ||||
|             throw new Error(`which failed with message ${err.message}`); | ||||
|         } | ||||
|         return matches; | ||||
|     }); | ||||
| } | ||||
| exports.which = which; | ||||
| exports.findInPath = findInPath; | ||||
| function readCopyOptions(options) { | ||||
|     const force = options.force == null ? true : options.force; | ||||
|     const recursive = Boolean(options.recursive); | ||||
|     return { force, recursive }; | ||||
|     const copySourceDirectory = options.copySourceDirectory == null | ||||
|         ? true | ||||
|         : Boolean(options.copySourceDirectory); | ||||
|     return { force, recursive, copySourceDirectory }; | ||||
| } | ||||
| function cpDirRecursive(sourceDir, destDir, currentDepth, force) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
| @ -543,6 +594,21 @@ var eos = function(stream, opts, callback) { | ||||
| module.exports = eos; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 4: | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| var _default = '00000000-0000-0000-0000-000000000000'; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 9: | ||||
| @ -1295,6 +1361,92 @@ module.exports._parse = parse; | ||||
| module.exports._enoent = enoent; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 25: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| Object.defineProperty(exports, "v1", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _v.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "v3", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _v2.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "v4", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _v3.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "v5", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _v4.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "NIL", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _nil.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "version", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _version.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "validate", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _validate.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "stringify", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _stringify.default; | ||||
|   } | ||||
| }); | ||||
| Object.defineProperty(exports, "parse", { | ||||
|   enumerable: true, | ||||
|   get: function () { | ||||
|     return _parse.default; | ||||
|   } | ||||
| }); | ||||
| 
 | ||||
| var _v = _interopRequireDefault(__webpack_require__(810)); | ||||
| 
 | ||||
| var _v2 = _interopRequireDefault(__webpack_require__(572)); | ||||
| 
 | ||||
| var _v3 = _interopRequireDefault(__webpack_require__(293)); | ||||
| 
 | ||||
| var _v4 = _interopRequireDefault(__webpack_require__(638)); | ||||
| 
 | ||||
| var _nil = _interopRequireDefault(__webpack_require__(4)); | ||||
| 
 | ||||
| var _version = _interopRequireDefault(__webpack_require__(135)); | ||||
| 
 | ||||
| var _validate = _interopRequireDefault(__webpack_require__(634)); | ||||
| 
 | ||||
| var _stringify = _interopRequireDefault(__webpack_require__(960)); | ||||
| 
 | ||||
| var _parse = _interopRequireDefault(__webpack_require__(204)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 26: | ||||
| @ -1784,13 +1936,6 @@ function getLastPage (octokit, link, headers) { | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 34: | ||||
| /***/ (function(module) { | ||||
| 
 | ||||
| module.exports = require("https"); | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 39: | ||||
| @ -1889,6 +2034,63 @@ const windowsRelease = release => { | ||||
| module.exports = windowsRelease; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 68: | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, '__esModule', { value: true }); | ||||
| 
 | ||||
| async function auth(token) { | ||||
|   const tokenType = token.split(/\./).length === 3 ? "app" : /^v\d+\./.test(token) ? "installation" : "oauth"; | ||||
|   return { | ||||
|     type: "token", | ||||
|     token: token, | ||||
|     tokenType | ||||
|   }; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Prefix token for usage in the Authorization header | ||||
|  * | ||||
|  * @param token OAuth token or JSON Web Token | ||||
|  */ | ||||
| function withAuthorizationPrefix(token) { | ||||
|   if (token.split(/\./).length === 3) { | ||||
|     return `bearer ${token}`; | ||||
|   } | ||||
| 
 | ||||
|   return `token ${token}`; | ||||
| } | ||||
| 
 | ||||
| async function hook(token, request, route, parameters) { | ||||
|   const endpoint = request.endpoint.merge(route, parameters); | ||||
|   endpoint.headers.authorization = withAuthorizationPrefix(token); | ||||
|   return request(endpoint); | ||||
| } | ||||
| 
 | ||||
| const createTokenAuth = function createTokenAuth(token) { | ||||
|   if (!token) { | ||||
|     throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); | ||||
|   } | ||||
| 
 | ||||
|   if (typeof token !== "string") { | ||||
|     throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); | ||||
|   } | ||||
| 
 | ||||
|   token = token.replace(/^(token|bearer) +/i, ""); | ||||
|   return Object.assign(auth.bind(null, token), { | ||||
|     hook: hook.bind(null, token) | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| exports.createTokenAuth = createTokenAuth; | ||||
| //# sourceMappingURL=index.js.map
 | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 70: | ||||
| @ -1970,6 +2172,7 @@ exports.getServerUrl = getServerUrl; | ||||
| // We use any as a valid input type
 | ||||
| /* eslint-disable @typescript-eslint/no-explicit-any */ | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.toCommandProperties = exports.toCommandValue = void 0; | ||||
| /** | ||||
|  * Sanitizes an input into a string so it can be passed into issueCommand safely | ||||
|  * @param input input to sanitize into a string | ||||
| @ -1984,6 +2187,26 @@ function toCommandValue(input) { | ||||
|     return JSON.stringify(input); | ||||
| } | ||||
| exports.toCommandValue = toCommandValue; | ||||
| /** | ||||
|  * | ||||
|  * @param annotationProperties | ||||
|  * @returns The command properties to send with the actual annotation command | ||||
|  * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646
 | ||||
|  */ | ||||
| function toCommandProperties(annotationProperties) { | ||||
|     if (!Object.keys(annotationProperties).length) { | ||||
|         return {}; | ||||
|     } | ||||
|     return { | ||||
|         title: annotationProperties.title, | ||||
|         file: annotationProperties.file, | ||||
|         line: annotationProperties.startLine, | ||||
|         endLine: annotationProperties.endLine, | ||||
|         col: annotationProperties.startColumn, | ||||
|         endColumn: annotationProperties.endColumn | ||||
|     }; | ||||
| } | ||||
| exports.toCommandProperties = toCommandProperties; | ||||
| //# sourceMappingURL=utils.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| @ -1995,26 +2218,108 @@ module.exports = require("os"); | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 95: | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.checkBypass = exports.getProxyUrl = void 0; | ||||
| function getProxyUrl(reqUrl) { | ||||
|     const usingSsl = reqUrl.protocol === 'https:'; | ||||
|     if (checkBypass(reqUrl)) { | ||||
|         return undefined; | ||||
|     } | ||||
|     const proxyVar = (() => { | ||||
|         if (usingSsl) { | ||||
|             return process.env['https_proxy'] || process.env['HTTPS_PROXY']; | ||||
|         } | ||||
|         else { | ||||
|             return process.env['http_proxy'] || process.env['HTTP_PROXY']; | ||||
|         } | ||||
|     })(); | ||||
|     if (proxyVar) { | ||||
|         return new URL(proxyVar); | ||||
|     } | ||||
|     else { | ||||
|         return undefined; | ||||
|     } | ||||
| } | ||||
| exports.getProxyUrl = getProxyUrl; | ||||
| function checkBypass(reqUrl) { | ||||
|     if (!reqUrl.hostname) { | ||||
|         return false; | ||||
|     } | ||||
|     const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; | ||||
|     if (!noProxy) { | ||||
|         return false; | ||||
|     } | ||||
|     // Determine the request port
 | ||||
|     let reqPort; | ||||
|     if (reqUrl.port) { | ||||
|         reqPort = Number(reqUrl.port); | ||||
|     } | ||||
|     else if (reqUrl.protocol === 'http:') { | ||||
|         reqPort = 80; | ||||
|     } | ||||
|     else if (reqUrl.protocol === 'https:') { | ||||
|         reqPort = 443; | ||||
|     } | ||||
|     // Format the request hostname and hostname with port
 | ||||
|     const upperReqHosts = [reqUrl.hostname.toUpperCase()]; | ||||
|     if (typeof reqPort === 'number') { | ||||
|         upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); | ||||
|     } | ||||
|     // Compare request host against noproxy
 | ||||
|     for (const upperNoProxyItem of noProxy | ||||
|         .split(',') | ||||
|         .map(x => x.trim().toUpperCase()) | ||||
|         .filter(x => x)) { | ||||
|         if (upperReqHosts.some(x => x === upperNoProxyItem)) { | ||||
|             return true; | ||||
|         } | ||||
|     } | ||||
|     return false; | ||||
| } | ||||
| exports.checkBypass = checkBypass; | ||||
| //# sourceMappingURL=proxy.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 102: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| // For internal use, subject to change.
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; | ||||
|     result["default"] = mod; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; | ||||
| // We use any as a valid input type
 | ||||
| /* eslint-disable @typescript-eslint/no-explicit-any */ | ||||
| const fs = __importStar(__webpack_require__(747)); | ||||
| const os = __importStar(__webpack_require__(87)); | ||||
| const uuid_1 = __webpack_require__(25); | ||||
| const utils_1 = __webpack_require__(82); | ||||
| function issueCommand(command, message) { | ||||
| function issueFileCommand(command, message) { | ||||
|     const filePath = process.env[`GITHUB_${command}`]; | ||||
|     if (!filePath) { | ||||
|         throw new Error(`Unable to find environment variable for file command ${command}`); | ||||
| @ -2026,7 +2331,22 @@ function issueCommand(command, message) { | ||||
|         encoding: 'utf8' | ||||
|     }); | ||||
| } | ||||
| exports.issueCommand = issueCommand; | ||||
| exports.issueFileCommand = issueFileCommand; | ||||
| function prepareKeyValueMessage(key, value) { | ||||
|     const delimiter = `ghadelimiter_${uuid_1.v4()}`; | ||||
|     const convertedValue = utils_1.toCommandValue(value); | ||||
|     // These should realistically never happen, but just in case someone finds a
 | ||||
|     // way to exploit uuid generation let's not allow keys or values that contain
 | ||||
|     // the delimiter.
 | ||||
|     if (key.includes(delimiter)) { | ||||
|         throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); | ||||
|     } | ||||
|     if (convertedValue.includes(delimiter)) { | ||||
|         throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); | ||||
|     } | ||||
|     return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; | ||||
| } | ||||
| exports.prepareKeyValueMessage = prepareKeyValueMessage; | ||||
| //# sourceMappingURL=file-command.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| @ -2981,6 +3301,119 @@ module.exports = require("child_process"); | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 135: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _validate = _interopRequireDefault(__webpack_require__(634)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function version(uuid) { | ||||
|   if (!(0, _validate.default)(uuid)) { | ||||
|     throw TypeError('Invalid UUID'); | ||||
|   } | ||||
| 
 | ||||
|   return parseInt(uuid.substr(14, 1), 16); | ||||
| } | ||||
| 
 | ||||
| var _default = version; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 136: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = _default; | ||||
| exports.URL = exports.DNS = void 0; | ||||
| 
 | ||||
| var _stringify = _interopRequireDefault(__webpack_require__(960)); | ||||
| 
 | ||||
| var _parse = _interopRequireDefault(__webpack_require__(204)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function stringToBytes(str) { | ||||
|   str = unescape(encodeURIComponent(str)); // UTF8 escape
 | ||||
| 
 | ||||
|   const bytes = []; | ||||
| 
 | ||||
|   for (let i = 0; i < str.length; ++i) { | ||||
|     bytes.push(str.charCodeAt(i)); | ||||
|   } | ||||
| 
 | ||||
|   return bytes; | ||||
| } | ||||
| 
 | ||||
| const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; | ||||
| exports.DNS = DNS; | ||||
| const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; | ||||
| exports.URL = URL; | ||||
| 
 | ||||
| function _default(name, version, hashfunc) { | ||||
|   function generateUUID(value, namespace, buf, offset) { | ||||
|     if (typeof value === 'string') { | ||||
|       value = stringToBytes(value); | ||||
|     } | ||||
| 
 | ||||
|     if (typeof namespace === 'string') { | ||||
|       namespace = (0, _parse.default)(namespace); | ||||
|     } | ||||
| 
 | ||||
|     if (namespace.length !== 16) { | ||||
|       throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); | ||||
|     } // Compute hash of namespace and value, Per 4.3
 | ||||
|     // Future: Use spread syntax when supported on all platforms, e.g. `bytes =
 | ||||
|     // hashfunc([...namespace, ... value])`
 | ||||
| 
 | ||||
| 
 | ||||
|     let bytes = new Uint8Array(16 + value.length); | ||||
|     bytes.set(namespace); | ||||
|     bytes.set(value, namespace.length); | ||||
|     bytes = hashfunc(bytes); | ||||
|     bytes[6] = bytes[6] & 0x0f | version; | ||||
|     bytes[8] = bytes[8] & 0x3f | 0x80; | ||||
| 
 | ||||
|     if (buf) { | ||||
|       offset = offset || 0; | ||||
| 
 | ||||
|       for (let i = 0; i < 16; ++i) { | ||||
|         buf[offset + i] = bytes[i]; | ||||
|       } | ||||
| 
 | ||||
|       return buf; | ||||
|     } | ||||
| 
 | ||||
|     return (0, _stringify.default)(bytes); | ||||
|   } // Function#name is not settable on some platforms (#270)
 | ||||
| 
 | ||||
| 
 | ||||
|   try { | ||||
|     generateUUID.name = name; // eslint-disable-next-line no-empty
 | ||||
|   } catch (err) {} // For CommonJS default export support
 | ||||
| 
 | ||||
| 
 | ||||
|   generateUUID.DNS = DNS; | ||||
|   generateUUID.URL = URL; | ||||
|   return generateUUID; | ||||
| } | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 139: | ||||
| /***/ (function(module, __unusedexports, __webpack_require__) { | ||||
| 
 | ||||
| @ -3005,7 +3438,7 @@ module.exports = function nodeRNG() { | ||||
| var net = __webpack_require__(631); | ||||
| var tls = __webpack_require__(16); | ||||
| var http = __webpack_require__(605); | ||||
| var https = __webpack_require__(34); | ||||
| var https = __webpack_require__(211); | ||||
| var events = __webpack_require__(614); | ||||
| var assert = __webpack_require__(357); | ||||
| var util = __webpack_require__(669); | ||||
| @ -3592,49 +4025,60 @@ var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     return result; | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.setSshKnownHostsPath = exports.setSshKeyPath = exports.setRepositoryPath = exports.SshKnownHostsPath = exports.SshKeyPath = exports.RepositoryPath = exports.IsPost = void 0; | ||||
| const coreCommand = __importStar(__webpack_require__(431)); | ||||
| exports.setSafeDirectory = exports.setSshKnownHostsPath = exports.setSshKeyPath = exports.setRepositoryPath = exports.SshKnownHostsPath = exports.SshKeyPath = exports.PostSetSafeDirectory = exports.RepositoryPath = exports.IsPost = void 0; | ||||
| const core = __importStar(__webpack_require__(470)); | ||||
| /** | ||||
|  * Indicates whether the POST action is running | ||||
|  */ | ||||
| exports.IsPost = !!process.env['STATE_isPost']; | ||||
| exports.IsPost = !!core.getState('isPost'); | ||||
| /** | ||||
|  * The repository path for the POST action. The value is empty during the MAIN action. | ||||
|  */ | ||||
| exports.RepositoryPath = process.env['STATE_repositoryPath'] || ''; | ||||
| exports.RepositoryPath = core.getState('repositoryPath'); | ||||
| /** | ||||
|  * The set-safe-directory for the POST action. The value is set if input: 'safe-directory' is set during the MAIN action. | ||||
|  */ | ||||
| exports.PostSetSafeDirectory = core.getState('setSafeDirectory') === 'true'; | ||||
| /** | ||||
|  * The SSH key path for the POST action. The value is empty during the MAIN action. | ||||
|  */ | ||||
| exports.SshKeyPath = process.env['STATE_sshKeyPath'] || ''; | ||||
| exports.SshKeyPath = core.getState('sshKeyPath'); | ||||
| /** | ||||
|  * The SSH known hosts path for the POST action. The value is empty during the MAIN action. | ||||
|  */ | ||||
| exports.SshKnownHostsPath = process.env['STATE_sshKnownHostsPath'] || ''; | ||||
| exports.SshKnownHostsPath = core.getState('sshKnownHostsPath'); | ||||
| /** | ||||
|  * Save the repository path so the POST action can retrieve the value. | ||||
|  */ | ||||
| function setRepositoryPath(repositoryPath) { | ||||
|     coreCommand.issueCommand('save-state', { name: 'repositoryPath' }, repositoryPath); | ||||
|     core.saveState('repositoryPath', repositoryPath); | ||||
| } | ||||
| exports.setRepositoryPath = setRepositoryPath; | ||||
| /** | ||||
|  * Save the SSH key path so the POST action can retrieve the value. | ||||
|  */ | ||||
| function setSshKeyPath(sshKeyPath) { | ||||
|     coreCommand.issueCommand('save-state', { name: 'sshKeyPath' }, sshKeyPath); | ||||
|     core.saveState('sshKeyPath', sshKeyPath); | ||||
| } | ||||
| exports.setSshKeyPath = setSshKeyPath; | ||||
| /** | ||||
|  * Save the SSH known hosts path so the POST action can retrieve the value. | ||||
|  */ | ||||
| function setSshKnownHostsPath(sshKnownHostsPath) { | ||||
|     coreCommand.issueCommand('save-state', { name: 'sshKnownHostsPath' }, sshKnownHostsPath); | ||||
|     core.saveState('sshKnownHostsPath', sshKnownHostsPath); | ||||
| } | ||||
| exports.setSshKnownHostsPath = setSshKnownHostsPath; | ||||
| /** | ||||
|  * Save the sef-safe-directory input so the POST action can retrieve the value. | ||||
|  */ | ||||
| function setSafeDirectory() { | ||||
|     core.saveState('setSafeDirectory', 'true'); | ||||
| } | ||||
| exports.setSafeDirectory = setSafeDirectory; | ||||
| // Publish a variable so that when the POST action runs, it can determine it should run the cleanup logic.
 | ||||
| // This is necessary since we don't have a separate entry point.
 | ||||
| if (!exports.IsPost) { | ||||
|     coreCommand.issueCommand('save-state', { name: 'isPost' }, 'true'); | ||||
|     core.saveState('isPost', 'true'); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| @ -3711,7 +4155,7 @@ module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty); | ||||
| var net = __webpack_require__(631); | ||||
| var tls = __webpack_require__(16); | ||||
| var http = __webpack_require__(605); | ||||
| var https = __webpack_require__(34); | ||||
| var https = __webpack_require__(211); | ||||
| var events = __webpack_require__(614); | ||||
| var assert = __webpack_require__(357); | ||||
| var util = __webpack_require__(669); | ||||
| @ -3979,7 +4423,7 @@ exports.debug = debug; // for test | ||||
| 
 | ||||
| module.exports = authenticationPlugin; | ||||
| 
 | ||||
| const { createTokenAuth } = __webpack_require__(813); | ||||
| const { createTokenAuth } = __webpack_require__(68); | ||||
| const { Deprecation } = __webpack_require__(692); | ||||
| const once = __webpack_require__(969); | ||||
| 
 | ||||
| @ -4141,7 +4585,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| const core = __importStar(__webpack_require__(470)); | ||||
| const coreCommand = __importStar(__webpack_require__(431)); | ||||
| const gitSourceProvider = __importStar(__webpack_require__(293)); | ||||
| const gitSourceProvider = __importStar(__webpack_require__(853)); | ||||
| const inputHelper = __importStar(__webpack_require__(821)); | ||||
| const path = __importStar(__webpack_require__(622)); | ||||
| const stateHelper = __importStar(__webpack_require__(153)); | ||||
| @ -4189,33 +4633,62 @@ else { | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 211: | ||||
| /***/ 204: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, '__esModule', { value: true }); | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } | ||||
| var _validate = _interopRequireDefault(__webpack_require__(634)); | ||||
| 
 | ||||
| var osName = _interopDefault(__webpack_require__(2)); | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function getUserAgent() { | ||||
|   try { | ||||
|     return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; | ||||
|   } catch (error) { | ||||
|     if (/wmic os get Caption/.test(error.message)) { | ||||
|       return "Windows <version undetectable>"; | ||||
| function parse(uuid) { | ||||
|   if (!(0, _validate.default)(uuid)) { | ||||
|     throw TypeError('Invalid UUID'); | ||||
|   } | ||||
| 
 | ||||
|     return "<environment undetectable>"; | ||||
|   } | ||||
|   let v; | ||||
|   const arr = new Uint8Array(16); // Parse ########-....-....-....-............
 | ||||
| 
 | ||||
|   arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; | ||||
|   arr[1] = v >>> 16 & 0xff; | ||||
|   arr[2] = v >>> 8 & 0xff; | ||||
|   arr[3] = v & 0xff; // Parse ........-####-....-....-............
 | ||||
| 
 | ||||
|   arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; | ||||
|   arr[5] = v & 0xff; // Parse ........-....-####-....-............
 | ||||
| 
 | ||||
|   arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; | ||||
|   arr[7] = v & 0xff; // Parse ........-....-....-####-............
 | ||||
| 
 | ||||
|   arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; | ||||
|   arr[9] = v & 0xff; // Parse ........-....-....-....-############
 | ||||
|   // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes)
 | ||||
| 
 | ||||
|   arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; | ||||
|   arr[11] = v / 0x100000000 & 0xff; | ||||
|   arr[12] = v >>> 24 & 0xff; | ||||
|   arr[13] = v >>> 16 & 0xff; | ||||
|   arr[14] = v >>> 8 & 0xff; | ||||
|   arr[15] = v & 0xff; | ||||
|   return arr; | ||||
| } | ||||
| 
 | ||||
| exports.getUserAgent = getUserAgent; | ||||
| //# sourceMappingURL=index.js.map
 | ||||
| var _default = parse; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 211: | ||||
| /***/ (function(module) { | ||||
| 
 | ||||
| module.exports = require("https"); | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| @ -6572,9 +7045,13 @@ class GitAuthHelper { | ||||
|             yield this.configureToken(); | ||||
|         }); | ||||
|     } | ||||
|     configureGlobalAuth() { | ||||
|         var _a; | ||||
|     configureTempGlobalConfig() { | ||||
|         var _a, _b; | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             // Already setup global config
 | ||||
|             if (((_a = this.temporaryHomePath) === null || _a === void 0 ? void 0 : _a.length) > 0) { | ||||
|                 return path.join(this.temporaryHomePath, '.gitconfig'); | ||||
|             } | ||||
|             // Create a temp home directory
 | ||||
|             const runnerTemp = process.env['RUNNER_TEMP'] || ''; | ||||
|             assert.ok(runnerTemp, 'RUNNER_TEMP is not defined'); | ||||
| @ -6590,7 +7067,7 @@ class GitAuthHelper { | ||||
|                 configExists = true; | ||||
|             } | ||||
|             catch (err) { | ||||
|                 if (((_a = err) === null || _a === void 0 ? void 0 : _a.code) !== 'ENOENT') { | ||||
|                 if (((_b = err) === null || _b === void 0 ? void 0 : _b.code) !== 'ENOENT') { | ||||
|                     throw err; | ||||
|                 } | ||||
|             } | ||||
| @ -6601,10 +7078,17 @@ class GitAuthHelper { | ||||
|             else { | ||||
|                 yield fs.promises.writeFile(newGitConfigPath, ''); | ||||
|             } | ||||
|             try { | ||||
|             // Override HOME
 | ||||
|             core.info(`Temporarily overriding HOME='${this.temporaryHomePath}' before making global git config changes`); | ||||
|             this.git.setEnvironmentVariable('HOME', this.temporaryHomePath); | ||||
|             return newGitConfigPath; | ||||
|         }); | ||||
|     } | ||||
|     configureGlobalAuth() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             // 'configureTempGlobalConfig' noops if already set, just returns the path
 | ||||
|             const newGitConfigPath = yield this.configureTempGlobalConfig(); | ||||
|             try { | ||||
|                 // Configure the token
 | ||||
|                 yield this.configureToken(newGitConfigPath, true); | ||||
|                 // Configure HTTPS instead of SSH
 | ||||
| @ -6631,7 +7115,9 @@ class GitAuthHelper { | ||||
|                 // Configure a placeholder value. This approach avoids the credential being captured
 | ||||
|                 // by process creation audit events, which are commonly logged. For more information,
 | ||||
|                 // refer to https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/command-line-process-auditing
 | ||||
|                 const output = yield this.git.submoduleForeach(`git config --local '${this.tokenConfigKey}' '${this.tokenPlaceholderConfigValue}' && git config --local --show-origin --name-only --get-regexp remote.origin.url`, this.settings.nestedSubmodules); | ||||
|                 const output = yield this.git.submoduleForeach( | ||||
|                 // wrap the pipeline in quotes to make sure it's handled properly by submoduleForeach, rather than just the first part of the pipeline
 | ||||
|                 `sh -c "git config --local '${this.tokenConfigKey}' '${this.tokenPlaceholderConfigValue}' && git config --local --show-origin --name-only --get-regexp remote.origin.url"`, this.settings.nestedSubmodules); | ||||
|                 // Replace the placeholder
 | ||||
|                 const configPaths = output.match(/(?<=(^|\n)file:)[^\t]+(?=\tremote\.origin\.url)/g) || []; | ||||
|                 for (const configPath of configPaths) { | ||||
| @ -6657,11 +7143,14 @@ class GitAuthHelper { | ||||
|             yield this.removeToken(); | ||||
|         }); | ||||
|     } | ||||
|     removeGlobalAuth() { | ||||
|     removeGlobalConfig() { | ||||
|         var _a; | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             if (((_a = this.temporaryHomePath) === null || _a === void 0 ? void 0 : _a.length) > 0) { | ||||
|                 core.debug(`Unsetting HOME override`); | ||||
|                 this.git.removeEnvironmentVariable('HOME'); | ||||
|                 yield io.rmRF(this.temporaryHomePath); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
|     configureSsh() { | ||||
| @ -6702,7 +7191,7 @@ class GitAuthHelper { | ||||
|             if (this.settings.sshKnownHosts) { | ||||
|                 knownHosts += `# Begin from input known hosts\n${this.settings.sshKnownHosts}\n# end from input known hosts\n`; | ||||
|             } | ||||
|             knownHosts += `# Begin implicitly added github.com\ngithub.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==\n# End implicitly added github.com\n`; | ||||
|             knownHosts += `# Begin implicitly added github.com\ngithub.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=\n# End implicitly added github.com\n`; | ||||
|             this.sshKnownHostsPath = path.join(runnerTemp, `${uniqueId}_known_hosts`); | ||||
|             stateHelper.setSshKnownHostsPath(this.sshKnownHostsPath); | ||||
|             yield fs.promises.writeFile(this.sshKnownHostsPath, knownHosts); | ||||
| @ -6795,7 +7284,9 @@ class GitAuthHelper { | ||||
|                 } | ||||
|             } | ||||
|             const pattern = regexpHelper.escape(configKey); | ||||
|             yield this.git.submoduleForeach(`git config --local --name-only --get-regexp '${pattern}' && git config --local --unset-all '${configKey}' || :`, true); | ||||
|             yield this.git.submoduleForeach( | ||||
|             // wrap the pipeline in quotes to make sure it's handled properly by submoduleForeach, rather than just the first part of the pipeline
 | ||||
|             `sh -c "git config --local --name-only --get-regexp '${pattern}' && git config --local --unset-all '${configKey}' || :"`, true); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| @ -7266,233 +7757,42 @@ class GitOutput { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.cleanup = exports.getSource = void 0; | ||||
| const core = __importStar(__webpack_require__(470)); | ||||
| const fsHelper = __importStar(__webpack_require__(618)); | ||||
| const gitAuthHelper = __importStar(__webpack_require__(287)); | ||||
| const gitCommandManager = __importStar(__webpack_require__(289)); | ||||
| const gitDirectoryHelper = __importStar(__webpack_require__(438)); | ||||
| const githubApiHelper = __importStar(__webpack_require__(464)); | ||||
| const io = __importStar(__webpack_require__(1)); | ||||
| const path = __importStar(__webpack_require__(622)); | ||||
| const refHelper = __importStar(__webpack_require__(227)); | ||||
| const stateHelper = __importStar(__webpack_require__(153)); | ||||
| const urlHelper = __importStar(__webpack_require__(81)); | ||||
| function getSource(settings) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         // Repository URL
 | ||||
|         core.info(`Syncing repository: ${settings.repositoryOwner}/${settings.repositoryName}`); | ||||
|         const repositoryUrl = urlHelper.getFetchUrl(settings); | ||||
|         // Remove conflicting file path
 | ||||
|         if (fsHelper.fileExistsSync(settings.repositoryPath)) { | ||||
|             yield io.rmRF(settings.repositoryPath); | ||||
|         } | ||||
|         // Create directory
 | ||||
|         let isExisting = true; | ||||
|         if (!fsHelper.directoryExistsSync(settings.repositoryPath)) { | ||||
|             isExisting = false; | ||||
|             yield io.mkdirP(settings.repositoryPath); | ||||
|         } | ||||
|         // Git command manager
 | ||||
|         core.startGroup('Getting Git version info'); | ||||
|         const git = yield getGitCommandManager(settings); | ||||
|         core.endGroup(); | ||||
|         // Prepare existing directory, otherwise recreate
 | ||||
|         if (isExisting) { | ||||
|             yield gitDirectoryHelper.prepareExistingDirectory(git, settings.repositoryPath, repositoryUrl, settings.clean, settings.ref); | ||||
|         } | ||||
|         if (!git) { | ||||
|             // Downloading using REST API
 | ||||
|             core.info(`The repository will be downloaded using the GitHub REST API`); | ||||
|             core.info(`To create a local Git repository instead, add Git ${gitCommandManager.MinimumGitVersion} or higher to the PATH`); | ||||
|             if (settings.submodules) { | ||||
|                 throw new Error(`Input 'submodules' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git ${gitCommandManager.MinimumGitVersion} or higher to the PATH.`); | ||||
|             } | ||||
|             else if (settings.sshKey) { | ||||
|                 throw new Error(`Input 'ssh-key' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git ${gitCommandManager.MinimumGitVersion} or higher to the PATH.`); | ||||
|             } | ||||
|             yield githubApiHelper.downloadRepository(settings.authToken, settings.repositoryOwner, settings.repositoryName, settings.ref, settings.commit, settings.repositoryPath); | ||||
|             return; | ||||
|         } | ||||
|         // Save state for POST action
 | ||||
|         stateHelper.setRepositoryPath(settings.repositoryPath); | ||||
|         // Initialize the repository
 | ||||
|         if (!fsHelper.directoryExistsSync(path.join(settings.repositoryPath, '.git'))) { | ||||
|             core.startGroup('Initializing the repository'); | ||||
|             yield git.init(); | ||||
|             yield git.remoteAdd('origin', repositoryUrl); | ||||
|             core.endGroup(); | ||||
|         } | ||||
|         // Disable automatic garbage collection
 | ||||
|         core.startGroup('Disabling automatic garbage collection'); | ||||
|         if (!(yield git.tryDisableAutomaticGarbageCollection())) { | ||||
|             core.warning(`Unable to turn off git automatic garbage collection. The git fetch operation may trigger garbage collection and cause a delay.`); | ||||
|         } | ||||
|         core.endGroup(); | ||||
|         const authHelper = gitAuthHelper.createAuthHelper(git, settings); | ||||
|         try { | ||||
|             // Configure auth
 | ||||
|             core.startGroup('Setting up auth'); | ||||
|             yield authHelper.configureAuth(); | ||||
|             core.endGroup(); | ||||
|             // Determine the default branch
 | ||||
|             if (!settings.ref && !settings.commit) { | ||||
|                 core.startGroup('Determining the default branch'); | ||||
|                 if (settings.sshKey) { | ||||
|                     settings.ref = yield git.getDefaultBranch(repositoryUrl); | ||||
|                 } | ||||
|                 else { | ||||
|                     settings.ref = yield githubApiHelper.getDefaultBranch(settings.authToken, settings.repositoryOwner, settings.repositoryName); | ||||
|                 } | ||||
|                 core.endGroup(); | ||||
|             } | ||||
|             // LFS install
 | ||||
|             if (settings.lfs) { | ||||
|                 yield git.lfsInstall(); | ||||
|             } | ||||
|             // Fetch
 | ||||
|             core.startGroup('Fetching the repository'); | ||||
|             if (settings.fetchDepth <= 0) { | ||||
|                 // Fetch all branches and tags
 | ||||
|                 let refSpec = refHelper.getRefSpecForAllHistory(settings.ref, settings.commit); | ||||
|                 yield git.fetch(refSpec); | ||||
|                 // When all history is fetched, the ref we're interested in may have moved to a different
 | ||||
|                 // commit (push or force push). If so, fetch again with a targeted refspec.
 | ||||
|                 if (!(yield refHelper.testRef(git, settings.ref, settings.commit))) { | ||||
|                     refSpec = refHelper.getRefSpec(settings.ref, settings.commit); | ||||
|                     yield git.fetch(refSpec); | ||||
|                 } | ||||
|             } | ||||
|             else { | ||||
|                 const refSpec = refHelper.getRefSpec(settings.ref, settings.commit); | ||||
|                 yield git.fetch(refSpec, settings.fetchDepth); | ||||
|             } | ||||
|             core.endGroup(); | ||||
|             // Checkout info
 | ||||
|             core.startGroup('Determining the checkout info'); | ||||
|             const checkoutInfo = yield refHelper.getCheckoutInfo(git, settings.ref, settings.commit); | ||||
|             core.endGroup(); | ||||
|             // LFS fetch
 | ||||
|             // Explicit lfs-fetch to avoid slow checkout (fetches one lfs object at a time).
 | ||||
|             // Explicit lfs fetch will fetch lfs objects in parallel.
 | ||||
|             if (settings.lfs) { | ||||
|                 core.startGroup('Fetching LFS objects'); | ||||
|                 yield git.lfsFetch(checkoutInfo.startPoint || checkoutInfo.ref); | ||||
|                 core.endGroup(); | ||||
|             } | ||||
|             // Checkout
 | ||||
|             core.startGroup('Checking out the ref'); | ||||
|             yield git.checkout(checkoutInfo.ref, checkoutInfo.startPoint); | ||||
|             core.endGroup(); | ||||
|             // Submodules
 | ||||
|             if (settings.submodules) { | ||||
|                 try { | ||||
|                     // Temporarily override global config
 | ||||
|                     core.startGroup('Setting up auth for fetching submodules'); | ||||
|                     yield authHelper.configureGlobalAuth(); | ||||
|                     core.endGroup(); | ||||
|                     // Checkout submodules
 | ||||
|                     core.startGroup('Fetching submodules'); | ||||
|                     yield git.submoduleSync(settings.nestedSubmodules); | ||||
|                     yield git.submoduleUpdate(settings.fetchDepth, settings.nestedSubmodules); | ||||
|                     yield git.submoduleForeach('git config --local gc.auto 0', settings.nestedSubmodules); | ||||
|                     core.endGroup(); | ||||
|                     // Persist credentials
 | ||||
|                     if (settings.persistCredentials) { | ||||
|                         core.startGroup('Persisting credentials for submodules'); | ||||
|                         yield authHelper.configureSubmoduleAuth(); | ||||
|                         core.endGroup(); | ||||
|                     } | ||||
|                 } | ||||
|                 finally { | ||||
|                     // Remove temporary global config override
 | ||||
|                     yield authHelper.removeGlobalAuth(); | ||||
|                 } | ||||
|             } | ||||
|             // Get commit information
 | ||||
|             const commitInfo = yield git.log1(); | ||||
|             // Log commit sha
 | ||||
|             yield git.log1("--format='%H'"); | ||||
|             // Check for incorrect pull request merge commit
 | ||||
|             yield refHelper.checkCommitInfo(settings.authToken, commitInfo, settings.repositoryOwner, settings.repositoryName, settings.ref, settings.commit); | ||||
|         } | ||||
|         finally { | ||||
|             // Remove auth
 | ||||
|             if (!settings.persistCredentials) { | ||||
|                 core.startGroup('Removing auth'); | ||||
|                 yield authHelper.removeAuth(); | ||||
|                 core.endGroup(); | ||||
|             } | ||||
|         } | ||||
|     }); | ||||
| } | ||||
| exports.getSource = getSource; | ||||
| function cleanup(repositoryPath) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         // Repo exists?
 | ||||
|         if (!repositoryPath || | ||||
|             !fsHelper.fileExistsSync(path.join(repositoryPath, '.git', 'config'))) { | ||||
|             return; | ||||
|         } | ||||
|         let git; | ||||
|         try { | ||||
|             git = yield gitCommandManager.createCommandManager(repositoryPath, false); | ||||
|         } | ||||
|         catch (_a) { | ||||
|             return; | ||||
|         } | ||||
|         // Remove auth
 | ||||
|         const authHelper = gitAuthHelper.createAuthHelper(git); | ||||
|         yield authHelper.removeAuth(); | ||||
|     }); | ||||
| } | ||||
| exports.cleanup = cleanup; | ||||
| function getGitCommandManager(settings) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         core.info(`Working directory is '${settings.repositoryPath}'`); | ||||
|         try { | ||||
|             return yield gitCommandManager.createCommandManager(settings.repositoryPath, settings.lfs); | ||||
|         } | ||||
|         catch (err) { | ||||
|             // Git is required for LFS
 | ||||
|             if (settings.lfs) { | ||||
|                 throw err; | ||||
|             } | ||||
|             // Otherwise fallback to REST API
 | ||||
|             return undefined; | ||||
|         } | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _rng = _interopRequireDefault(__webpack_require__(506)); | ||||
| 
 | ||||
| var _stringify = _interopRequireDefault(__webpack_require__(960)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function v4(options, buf, offset) { | ||||
|   options = options || {}; | ||||
| 
 | ||||
|   const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
 | ||||
| 
 | ||||
| 
 | ||||
|   rnds[6] = rnds[6] & 0x0f | 0x40; | ||||
|   rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
 | ||||
| 
 | ||||
|   if (buf) { | ||||
|     offset = offset || 0; | ||||
| 
 | ||||
|     for (let i = 0; i < 16; ++i) { | ||||
|       buf[offset + i] = rnds[i]; | ||||
|     } | ||||
| 
 | ||||
|     return buf; | ||||
|   } | ||||
| 
 | ||||
|   return (0, _stringify.default)(rnds); | ||||
| } | ||||
| 
 | ||||
| var _default = v4; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| @ -7791,6 +8091,36 @@ isStream.transform = function (stream) { | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 329: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _crypto = _interopRequireDefault(__webpack_require__(417)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function sha1(bytes) { | ||||
|   if (Array.isArray(bytes)) { | ||||
|     bytes = Buffer.from(bytes); | ||||
|   } else if (typeof bytes === 'string') { | ||||
|     bytes = Buffer.from(bytes, 'utf8'); | ||||
|   } | ||||
| 
 | ||||
|   return _crypto.default.createHash('sha1').update(bytes).digest(); | ||||
| } | ||||
| 
 | ||||
| var _default = sha1; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 330: | ||||
| @ -8114,37 +8444,90 @@ module.exports = require("assert"); | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 363: | ||||
| /***/ (function(module) { | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| module.exports = register | ||||
| "use strict"; | ||||
| 
 | ||||
| function register (state, name, method, options) { | ||||
|   if (typeof method !== 'function') { | ||||
|     throw new Error('method for before hook must be a function') | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; | ||||
| class BasicCredentialHandler { | ||||
|     constructor(username, password) { | ||||
|         this.username = username; | ||||
|         this.password = password; | ||||
|     } | ||||
| 
 | ||||
|   if (!options) { | ||||
|     options = {} | ||||
|     prepareRequest(options) { | ||||
|         if (!options.headers) { | ||||
|             throw Error('The request has no headers'); | ||||
|         } | ||||
| 
 | ||||
|   if (Array.isArray(name)) { | ||||
|     return name.reverse().reduce(function (callback, name) { | ||||
|       return register.bind(null, state, name, callback, options) | ||||
|     }, method)() | ||||
|         options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; | ||||
|     } | ||||
| 
 | ||||
|   return Promise.resolve() | ||||
|     .then(function () { | ||||
|       if (!state.registry[name]) { | ||||
|         return method(options) | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication() { | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
|       return (state.registry[name]).reduce(function (method, registered) { | ||||
|         return registered.hook.bind(null, method, options) | ||||
|       }, method)() | ||||
|     }) | ||||
|     handleAuthentication() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             throw new Error('not implemented'); | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| exports.BasicCredentialHandler = BasicCredentialHandler; | ||||
| class BearerCredentialHandler { | ||||
|     constructor(token) { | ||||
|         this.token = token; | ||||
|     } | ||||
|     // currently implements pre-authorization
 | ||||
|     // TODO: support preAuth = false where it hooks on 401
 | ||||
|     prepareRequest(options) { | ||||
|         if (!options.headers) { | ||||
|             throw Error('The request has no headers'); | ||||
|         } | ||||
|         options.headers['Authorization'] = `Bearer ${this.token}`; | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication() { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             throw new Error('not implemented'); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.BearerCredentialHandler = BearerCredentialHandler; | ||||
| class PersonalAccessTokenCredentialHandler { | ||||
|     constructor(token) { | ||||
|         this.token = token; | ||||
|     } | ||||
|     // currently implements pre-authorization
 | ||||
|     // TODO: support preAuth = false where it hooks on 401
 | ||||
|     prepareRequest(options) { | ||||
|         if (!options.headers) { | ||||
|             throw Error('The request has no headers'); | ||||
|         } | ||||
|         options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; | ||||
|     } | ||||
|     // This handler cannot handle 401
 | ||||
|     canHandleAuthentication() { | ||||
|         return false; | ||||
|     } | ||||
|     handleAuthentication() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             throw new Error('not implemented'); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; | ||||
| //# sourceMappingURL=auth.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| @ -8621,6 +9004,36 @@ function readShebang(command) { | ||||
| module.exports = readShebang; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 392: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, '__esModule', { value: true }); | ||||
| 
 | ||||
| function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } | ||||
| 
 | ||||
| var osName = _interopDefault(__webpack_require__(2)); | ||||
| 
 | ||||
| function getUserAgent() { | ||||
|   try { | ||||
|     return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; | ||||
|   } catch (error) { | ||||
|     if (/wmic os get Caption/.test(error.message)) { | ||||
|       return "Windows <version undetectable>"; | ||||
|     } | ||||
| 
 | ||||
|     return "<environment undetectable>"; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| exports.getUserAgent = getUserAgent; | ||||
| //# sourceMappingURL=index.js.map
 | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 402: | ||||
| @ -8660,9 +9073,10 @@ function Octokit(plugins, options) { | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 413: | ||||
| /***/ (function(module) { | ||||
| /***/ (function(module, __unusedexports, __webpack_require__) { | ||||
| 
 | ||||
| module.exports = __webpack_require__(141); | ||||
| 
 | ||||
| module.exports = require("stream"); | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| @ -8739,14 +9153,27 @@ function octokitValidate(octokit) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; | ||||
|     result["default"] = mod; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.issue = exports.issueCommand = void 0; | ||||
| const os = __importStar(__webpack_require__(87)); | ||||
| const utils_1 = __webpack_require__(82); | ||||
| /** | ||||
| @ -9057,11 +9484,11 @@ Object.defineProperty(exports, '__esModule', { value: true }); | ||||
| 
 | ||||
| function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } | ||||
| 
 | ||||
| var Stream = _interopDefault(__webpack_require__(413)); | ||||
| var Stream = _interopDefault(__webpack_require__(794)); | ||||
| var http = _interopDefault(__webpack_require__(605)); | ||||
| var Url = _interopDefault(__webpack_require__(835)); | ||||
| var whatwgUrl = _interopDefault(__webpack_require__(70)); | ||||
| var https = _interopDefault(__webpack_require__(34)); | ||||
| var https = _interopDefault(__webpack_require__(211)); | ||||
| var zlib = _interopDefault(__webpack_require__(761)); | ||||
| 
 | ||||
| // Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js
 | ||||
| @ -10195,7 +10622,7 @@ Object.defineProperty(Response.prototype, Symbol.toStringTag, { | ||||
| }); | ||||
| 
 | ||||
| const INTERNALS$2 = Symbol('Request internals'); | ||||
| const URL = whatwgUrl.URL; | ||||
| const URL = Url.URL || whatwgUrl.URL; | ||||
| 
 | ||||
| // fix an issue where "format", "parse" aren't a named export for node <10
 | ||||
| const parse_url = Url.parse; | ||||
| @ -10458,9 +10885,17 @@ AbortError.prototype = Object.create(Error.prototype); | ||||
| AbortError.prototype.constructor = AbortError; | ||||
| AbortError.prototype.name = 'AbortError'; | ||||
| 
 | ||||
| const URL$1 = Url.URL || whatwgUrl.URL; | ||||
| 
 | ||||
| // fix an issue where "PassThrough", "resolve" aren't a named export for node <10
 | ||||
| const PassThrough$1 = Stream.PassThrough; | ||||
| const resolve_url = Url.resolve; | ||||
| 
 | ||||
| const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { | ||||
| 	const orig = new URL$1(original).hostname; | ||||
| 	const dest = new URL$1(destination).hostname; | ||||
| 
 | ||||
| 	return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); | ||||
| }; | ||||
| 
 | ||||
| /** | ||||
|  * Fetch function | ||||
| @ -10548,7 +10983,19 @@ function fetch(url, opts) { | ||||
| 				const location = headers.get('Location'); | ||||
| 
 | ||||
| 				// HTTP fetch step 5.3
 | ||||
| 				const locationURL = location === null ? null : resolve_url(request.url, location); | ||||
| 				let locationURL = null; | ||||
| 				try { | ||||
| 					locationURL = location === null ? null : new URL$1(location, request.url).toString(); | ||||
| 				} catch (err) { | ||||
| 					// error here can only be invalid URL in Location: header
 | ||||
| 					// do not throw when options.redirect == manual
 | ||||
| 					// let the user extract the errorneous redirect URL
 | ||||
| 					if (request.redirect !== 'manual') { | ||||
| 						reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); | ||||
| 						finalize(); | ||||
| 						return; | ||||
| 					} | ||||
| 				} | ||||
| 
 | ||||
| 				// HTTP fetch step 5.5
 | ||||
| 				switch (request.redirect) { | ||||
| @ -10596,6 +11043,12 @@ function fetch(url, opts) { | ||||
| 							size: request.size | ||||
| 						}; | ||||
| 
 | ||||
| 						if (!isDomainOrSubdomain(request.url, locationURL)) { | ||||
| 							for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { | ||||
| 								requestOpts.headers.delete(name); | ||||
| 							} | ||||
| 						} | ||||
| 
 | ||||
| 						// HTTP-redirect fetch step 9
 | ||||
| 						if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { | ||||
| 							reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); | ||||
| @ -11119,6 +11572,25 @@ exports.GitHub = GitHub; | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
| @ -11128,19 +11600,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; | ||||
|     result["default"] = mod; | ||||
|     return result; | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; | ||||
| const command_1 = __webpack_require__(431); | ||||
| const file_command_1 = __webpack_require__(102); | ||||
| const utils_1 = __webpack_require__(82); | ||||
| const os = __importStar(__webpack_require__(87)); | ||||
| const path = __importStar(__webpack_require__(622)); | ||||
| const oidc_utils_1 = __webpack_require__(742); | ||||
| /** | ||||
|  * The code to exit an action | ||||
|  */ | ||||
| @ -11169,14 +11636,10 @@ function exportVariable(name, val) { | ||||
|     process.env[name] = convertedVal; | ||||
|     const filePath = process.env['GITHUB_ENV'] || ''; | ||||
|     if (filePath) { | ||||
|         const delimiter = '_GitHubActionsFileCommandDelimeter_'; | ||||
|         const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`; | ||||
|         file_command_1.issueCommand('ENV', commandValue); | ||||
|         return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val)); | ||||
|     } | ||||
|     else { | ||||
|     command_1.issueCommand('set-env', { name }, convertedVal); | ||||
| } | ||||
| } | ||||
| exports.exportVariable = exportVariable; | ||||
| /** | ||||
|  * Registers a secret which will get masked from logs | ||||
| @ -11193,7 +11656,7 @@ exports.setSecret = setSecret; | ||||
| function addPath(inputPath) { | ||||
|     const filePath = process.env['GITHUB_PATH'] || ''; | ||||
|     if (filePath) { | ||||
|         file_command_1.issueCommand('PATH', inputPath); | ||||
|         file_command_1.issueFileCommand('PATH', inputPath); | ||||
|     } | ||||
|     else { | ||||
|         command_1.issueCommand('add-path', {}, inputPath); | ||||
| @ -11202,7 +11665,9 @@ function addPath(inputPath) { | ||||
| } | ||||
| exports.addPath = addPath; | ||||
| /** | ||||
|  * Gets the value of an input.  The value is also trimmed. | ||||
|  * Gets the value of an input. | ||||
|  * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. | ||||
|  * Returns an empty string if the value is not defined. | ||||
|  * | ||||
|  * @param     name     name of the input to get | ||||
|  * @param     options  optional. See InputOptions. | ||||
| @ -11213,9 +11678,52 @@ function getInput(name, options) { | ||||
|     if (options && options.required && !val) { | ||||
|         throw new Error(`Input required and not supplied: ${name}`); | ||||
|     } | ||||
|     if (options && options.trimWhitespace === false) { | ||||
|         return val; | ||||
|     } | ||||
|     return val.trim(); | ||||
| } | ||||
| exports.getInput = getInput; | ||||
| /** | ||||
|  * Gets the values of an multiline input.  Each value is also trimmed. | ||||
|  * | ||||
|  * @param     name     name of the input to get | ||||
|  * @param     options  optional. See InputOptions. | ||||
|  * @returns   string[] | ||||
|  * | ||||
|  */ | ||||
| function getMultilineInput(name, options) { | ||||
|     const inputs = getInput(name, options) | ||||
|         .split('\n') | ||||
|         .filter(x => x !== ''); | ||||
|     if (options && options.trimWhitespace === false) { | ||||
|         return inputs; | ||||
|     } | ||||
|     return inputs.map(input => input.trim()); | ||||
| } | ||||
| exports.getMultilineInput = getMultilineInput; | ||||
| /** | ||||
|  * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. | ||||
|  * Support boolean input list: `true | True | TRUE | false | False | FALSE` . | ||||
|  * The return value is also in boolean type. | ||||
|  * ref: https://yaml.org/spec/1.2/spec.html#id2804923
 | ||||
|  * | ||||
|  * @param     name     name of the input to get | ||||
|  * @param     options  optional. See InputOptions. | ||||
|  * @returns   boolean | ||||
|  */ | ||||
| function getBooleanInput(name, options) { | ||||
|     const trueValue = ['true', 'True', 'TRUE']; | ||||
|     const falseValue = ['false', 'False', 'FALSE']; | ||||
|     const val = getInput(name, options); | ||||
|     if (trueValue.includes(val)) | ||||
|         return true; | ||||
|     if (falseValue.includes(val)) | ||||
|         return false; | ||||
|     throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` + | ||||
|         `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); | ||||
| } | ||||
| exports.getBooleanInput = getBooleanInput; | ||||
| /** | ||||
|  * Sets the value of an output. | ||||
|  * | ||||
| @ -11224,7 +11732,12 @@ exports.getInput = getInput; | ||||
|  */ | ||||
| // eslint-disable-next-line @typescript-eslint/no-explicit-any
 | ||||
| function setOutput(name, value) { | ||||
|     command_1.issueCommand('set-output', { name }, value); | ||||
|     const filePath = process.env['GITHUB_OUTPUT'] || ''; | ||||
|     if (filePath) { | ||||
|         return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value)); | ||||
|     } | ||||
|     process.stdout.write(os.EOL); | ||||
|     command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value)); | ||||
| } | ||||
| exports.setOutput = setOutput; | ||||
| /** | ||||
| @ -11270,19 +11783,30 @@ exports.debug = debug; | ||||
| /** | ||||
|  * Adds an error issue | ||||
|  * @param message error issue message. Errors will be converted to string via toString() | ||||
|  * @param properties optional properties to add to the annotation. | ||||
|  */ | ||||
| function error(message) { | ||||
|     command_1.issue('error', message instanceof Error ? message.toString() : message); | ||||
| function error(message, properties = {}) { | ||||
|     command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); | ||||
| } | ||||
| exports.error = error; | ||||
| /** | ||||
|  * Adds an warning issue | ||||
|  * Adds a warning issue | ||||
|  * @param message warning issue message. Errors will be converted to string via toString() | ||||
|  * @param properties optional properties to add to the annotation. | ||||
|  */ | ||||
| function warning(message) { | ||||
|     command_1.issue('warning', message instanceof Error ? message.toString() : message); | ||||
| function warning(message, properties = {}) { | ||||
|     command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); | ||||
| } | ||||
| exports.warning = warning; | ||||
| /** | ||||
|  * Adds a notice issue | ||||
|  * @param message notice issue message. Errors will be converted to string via toString() | ||||
|  * @param properties optional properties to add to the annotation. | ||||
|  */ | ||||
| function notice(message, properties = {}) { | ||||
|     command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); | ||||
| } | ||||
| exports.notice = notice; | ||||
| /** | ||||
|  * Writes info to log with console.log. | ||||
|  * @param message info message | ||||
| @ -11342,7 +11866,11 @@ exports.group = group; | ||||
|  */ | ||||
| // eslint-disable-next-line @typescript-eslint/no-explicit-any
 | ||||
| function saveState(name, value) { | ||||
|     command_1.issueCommand('save-state', { name }, value); | ||||
|     const filePath = process.env['GITHUB_STATE'] || ''; | ||||
|     if (filePath) { | ||||
|         return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value)); | ||||
|     } | ||||
|     command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value)); | ||||
| } | ||||
| exports.saveState = saveState; | ||||
| /** | ||||
| @ -11355,6 +11883,29 @@ function getState(name) { | ||||
|     return process.env[`STATE_${name}`] || ''; | ||||
| } | ||||
| exports.getState = getState; | ||||
| function getIDToken(aud) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         return yield oidc_utils_1.OidcClient.getIDToken(aud); | ||||
|     }); | ||||
| } | ||||
| exports.getIDToken = getIDToken; | ||||
| /** | ||||
|  * Summary exports | ||||
|  */ | ||||
| var summary_1 = __webpack_require__(665); | ||||
| Object.defineProperty(exports, "summary", { enumerable: true, get: function () { return summary_1.summary; } }); | ||||
| /** | ||||
|  * @deprecated use core.summary | ||||
|  */ | ||||
| var summary_2 = __webpack_require__(665); | ||||
| Object.defineProperty(exports, "markdownSummary", { enumerable: true, get: function () { return summary_2.markdownSummary; } }); | ||||
| /** | ||||
|  * Path exports | ||||
|  */ | ||||
| var path_utils_1 = __webpack_require__(573); | ||||
| Object.defineProperty(exports, "toPosixPath", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } }); | ||||
| Object.defineProperty(exports, "toWin32Path", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } }); | ||||
| Object.defineProperty(exports, "toPlatformPath", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } }); | ||||
| //# sourceMappingURL=core.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| @ -11532,6 +12083,72 @@ exports.RequestError = RequestError; | ||||
| //# sourceMappingURL=index.js.map
 | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 501: | ||||
| /***/ (function(module) { | ||||
| 
 | ||||
| module.exports = register | ||||
| 
 | ||||
| function register (state, name, method, options) { | ||||
|   if (typeof method !== 'function') { | ||||
|     throw new Error('method for before hook must be a function') | ||||
|   } | ||||
| 
 | ||||
|   if (!options) { | ||||
|     options = {} | ||||
|   } | ||||
| 
 | ||||
|   if (Array.isArray(name)) { | ||||
|     return name.reverse().reduce(function (callback, name) { | ||||
|       return register.bind(null, state, name, callback, options) | ||||
|     }, method)() | ||||
|   } | ||||
| 
 | ||||
|   return Promise.resolve() | ||||
|     .then(function () { | ||||
|       if (!state.registry[name]) { | ||||
|         return method(options) | ||||
|       } | ||||
| 
 | ||||
|       return (state.registry[name]).reduce(function (method, registered) { | ||||
|         return registered.hook.bind(null, method, options) | ||||
|       }, method)() | ||||
|     }) | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 506: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = rng; | ||||
| 
 | ||||
| var _crypto = _interopRequireDefault(__webpack_require__(417)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate
 | ||||
| 
 | ||||
| let poolPtr = rnds8Pool.length; | ||||
| 
 | ||||
| function rng() { | ||||
|   if (poolPtr > rnds8Pool.length - 16) { | ||||
|     _crypto.default.randomFillSync(rnds8Pool); | ||||
| 
 | ||||
|     poolPtr = 0; | ||||
|   } | ||||
| 
 | ||||
|   return rnds8Pool.slice(poolPtr, poolPtr += 16); | ||||
| } | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 510: | ||||
| @ -11590,7 +12207,7 @@ function addHook (state, kind, name, hook) { | ||||
| /***/ 523: | ||||
| /***/ (function(module, __unusedexports, __webpack_require__) { | ||||
| 
 | ||||
| var register = __webpack_require__(363) | ||||
| var register = __webpack_require__(501) | ||||
| var addHook = __webpack_require__(510) | ||||
| var removeHook = __webpack_require__(763) | ||||
| 
 | ||||
| @ -11649,6 +12266,21 @@ module.exports.Singular = Hook.Singular | ||||
| module.exports.Collection = Hook.Collection | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 525: | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 528: | ||||
| @ -12147,7 +12779,7 @@ function hasFirstPage (link) { | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| const url = __webpack_require__(835); | ||||
| const http = __webpack_require__(605); | ||||
| const https = __webpack_require__(34); | ||||
| const https = __webpack_require__(211); | ||||
| const pm = __webpack_require__(950); | ||||
| let tunnel; | ||||
| var HttpCodes; | ||||
| @ -12963,6 +13595,94 @@ function parse(command, args, options) { | ||||
| module.exports = parse; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 572: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _v = _interopRequireDefault(__webpack_require__(136)); | ||||
| 
 | ||||
| var _md = _interopRequireDefault(__webpack_require__(659)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| const v3 = (0, _v.default)('v3', 0x30, _md.default); | ||||
| var _default = v3; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 573: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; | ||||
| const path = __importStar(__webpack_require__(622)); | ||||
| /** | ||||
|  * toPosixPath converts the given path to the posix form. On Windows, \\ will be | ||||
|  * replaced with /. | ||||
|  * | ||||
|  * @param pth. Path to transform. | ||||
|  * @return string Posix path. | ||||
|  */ | ||||
| function toPosixPath(pth) { | ||||
|     return pth.replace(/[\\]/g, '/'); | ||||
| } | ||||
| exports.toPosixPath = toPosixPath; | ||||
| /** | ||||
|  * toWin32Path converts the given path to the win32 form. On Linux, / will be | ||||
|  * replaced with \\. | ||||
|  * | ||||
|  * @param pth. Path to transform. | ||||
|  * @return string Win32 path. | ||||
|  */ | ||||
| function toWin32Path(pth) { | ||||
|     return pth.replace(/[/]/g, '\\'); | ||||
| } | ||||
| exports.toWin32Path = toWin32Path; | ||||
| /** | ||||
|  * toPlatformPath converts the given path to a platform-specific path. It does | ||||
|  * this by replacing instances of / and \ with the platform-specific path | ||||
|  * separator. | ||||
|  * | ||||
|  * @param pth The path to platformize. | ||||
|  * @return string The platform-specific path. | ||||
|  */ | ||||
| function toPlatformPath(pth) { | ||||
|     return pth.replace(/[/\\]/g, path.sep); | ||||
| } | ||||
| exports.toPlatformPath = toPlatformPath; | ||||
| //# sourceMappingURL=path-utils.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 577: | ||||
| @ -13170,6 +13890,7 @@ var encode = function encode(str, defaultEncoder, charset, kind, format) { | ||||
| 
 | ||||
|         i += 1; | ||||
|         c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF)); | ||||
|         /* eslint operator-linebreak: [2, "before"] */ | ||||
|         out += hexTable[0xF0 | (c >> 18)] | ||||
|             + hexTable[0x80 | ((c >> 12) & 0x3F)] | ||||
|             + hexTable[0x80 | ((c >> 6) & 0x3F)] | ||||
| @ -13532,6 +14253,53 @@ module.exports = require("net"); | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 634: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _regex = _interopRequireDefault(__webpack_require__(525)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function validate(uuid) { | ||||
|   return typeof uuid === 'string' && _regex.default.test(uuid); | ||||
| } | ||||
| 
 | ||||
| var _default = validate; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 638: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _v = _interopRequireDefault(__webpack_require__(136)); | ||||
| 
 | ||||
| var _sha = _interopRequireDefault(__webpack_require__(329)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| const v5 = (0, _v.default)('v5', 0x50, _sha.default); | ||||
| var _default = v5; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 642: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| @ -15292,18 +16060,357 @@ function coerce (version, options) { | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 669: | ||||
| /***/ (function(module) { | ||||
| /***/ 659: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| module.exports = require("util"); | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _crypto = _interopRequireDefault(__webpack_require__(417)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| function md5(bytes) { | ||||
|   if (Array.isArray(bytes)) { | ||||
|     bytes = Buffer.from(bytes); | ||||
|   } else if (typeof bytes === 'string') { | ||||
|     bytes = Buffer.from(bytes, 'utf8'); | ||||
|   } | ||||
| 
 | ||||
|   return _crypto.default.createHash('md5').update(bytes).digest(); | ||||
| } | ||||
| 
 | ||||
| var _default = md5; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 672: | ||||
| /***/ 665: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; | ||||
| const os_1 = __webpack_require__(87); | ||||
| const fs_1 = __webpack_require__(747); | ||||
| const { access, appendFile, writeFile } = fs_1.promises; | ||||
| exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; | ||||
| exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; | ||||
| class Summary { | ||||
|     constructor() { | ||||
|         this._buffer = ''; | ||||
|     } | ||||
|     /** | ||||
|      * Finds the summary file path from the environment, rejects if env var is not found or file does not exist | ||||
|      * Also checks r/w permissions. | ||||
|      * | ||||
|      * @returns step summary file path | ||||
|      */ | ||||
|     filePath() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             if (this._filePath) { | ||||
|                 return this._filePath; | ||||
|             } | ||||
|             const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; | ||||
|             if (!pathFromEnv) { | ||||
|                 throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); | ||||
|             } | ||||
|             try { | ||||
|                 yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); | ||||
|             } | ||||
|             catch (_a) { | ||||
|                 throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); | ||||
|             } | ||||
|             this._filePath = pathFromEnv; | ||||
|             return this._filePath; | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Wraps content in an HTML tag, adding any HTML attributes | ||||
|      * | ||||
|      * @param {string} tag HTML tag to wrap | ||||
|      * @param {string | null} content content within the tag | ||||
|      * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add | ||||
|      * | ||||
|      * @returns {string} content wrapped in HTML element | ||||
|      */ | ||||
|     wrap(tag, content, attrs = {}) { | ||||
|         const htmlAttrs = Object.entries(attrs) | ||||
|             .map(([key, value]) => ` ${key}="${value}"`) | ||||
|             .join(''); | ||||
|         if (!content) { | ||||
|             return `<${tag}${htmlAttrs}>`; | ||||
|         } | ||||
|         return `<${tag}${htmlAttrs}>${content}</${tag}>`; | ||||
|     } | ||||
|     /** | ||||
|      * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. | ||||
|      * | ||||
|      * @param {SummaryWriteOptions} [options] (optional) options for write operation | ||||
|      * | ||||
|      * @returns {Promise<Summary>} summary instance | ||||
|      */ | ||||
|     write(options) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); | ||||
|             const filePath = yield this.filePath(); | ||||
|             const writeFunc = overwrite ? writeFile : appendFile; | ||||
|             yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); | ||||
|             return this.emptyBuffer(); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Clears the summary buffer and wipes the summary file | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     clear() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.emptyBuffer().write({ overwrite: true }); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Returns the current summary buffer as a string | ||||
|      * | ||||
|      * @returns {string} string of summary buffer | ||||
|      */ | ||||
|     stringify() { | ||||
|         return this._buffer; | ||||
|     } | ||||
|     /** | ||||
|      * If the summary buffer is empty | ||||
|      * | ||||
|      * @returns {boolen} true if the buffer is empty | ||||
|      */ | ||||
|     isEmptyBuffer() { | ||||
|         return this._buffer.length === 0; | ||||
|     } | ||||
|     /** | ||||
|      * Resets the summary buffer without writing to summary file | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     emptyBuffer() { | ||||
|         this._buffer = ''; | ||||
|         return this; | ||||
|     } | ||||
|     /** | ||||
|      * Adds raw text to the summary buffer | ||||
|      * | ||||
|      * @param {string} text content to add | ||||
|      * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addRaw(text, addEOL = false) { | ||||
|         this._buffer += text; | ||||
|         return addEOL ? this.addEOL() : this; | ||||
|     } | ||||
|     /** | ||||
|      * Adds the operating system-specific end-of-line marker to the buffer | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addEOL() { | ||||
|         return this.addRaw(os_1.EOL); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML codeblock to the summary buffer | ||||
|      * | ||||
|      * @param {string} code content to render within fenced code block | ||||
|      * @param {string} lang (optional) language to syntax highlight code | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addCodeBlock(code, lang) { | ||||
|         const attrs = Object.assign({}, (lang && { lang })); | ||||
|         const element = this.wrap('pre', this.wrap('code', code), attrs); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML list to the summary buffer | ||||
|      * | ||||
|      * @param {string[]} items list of items to render | ||||
|      * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addList(items, ordered = false) { | ||||
|         const tag = ordered ? 'ol' : 'ul'; | ||||
|         const listItems = items.map(item => this.wrap('li', item)).join(''); | ||||
|         const element = this.wrap(tag, listItems); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML table to the summary buffer | ||||
|      * | ||||
|      * @param {SummaryTableCell[]} rows table rows | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addTable(rows) { | ||||
|         const tableBody = rows | ||||
|             .map(row => { | ||||
|             const cells = row | ||||
|                 .map(cell => { | ||||
|                 if (typeof cell === 'string') { | ||||
|                     return this.wrap('td', cell); | ||||
|                 } | ||||
|                 const { header, data, colspan, rowspan } = cell; | ||||
|                 const tag = header ? 'th' : 'td'; | ||||
|                 const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })); | ||||
|                 return this.wrap(tag, data, attrs); | ||||
|             }) | ||||
|                 .join(''); | ||||
|             return this.wrap('tr', cells); | ||||
|         }) | ||||
|             .join(''); | ||||
|         const element = this.wrap('table', tableBody); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds a collapsable HTML details element to the summary buffer | ||||
|      * | ||||
|      * @param {string} label text for the closed state | ||||
|      * @param {string} content collapsable content | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addDetails(label, content) { | ||||
|         const element = this.wrap('details', this.wrap('summary', label) + content); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML image tag to the summary buffer | ||||
|      * | ||||
|      * @param {string} src path to the image you to embed | ||||
|      * @param {string} alt text description of the image | ||||
|      * @param {SummaryImageOptions} options (optional) addition image attributes | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addImage(src, alt, options) { | ||||
|         const { width, height } = options || {}; | ||||
|         const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height })); | ||||
|         const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML section heading element | ||||
|      * | ||||
|      * @param {string} text heading text | ||||
|      * @param {number | string} [level=1] (optional) the heading level, default: 1 | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addHeading(text, level) { | ||||
|         const tag = `h${level}`; | ||||
|         const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) | ||||
|             ? tag | ||||
|             : 'h1'; | ||||
|         const element = this.wrap(allowedTag, text); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML thematic break (<hr>) to the summary buffer | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addSeparator() { | ||||
|         const element = this.wrap('hr', null); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML line break (<br>) to the summary buffer | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addBreak() { | ||||
|         const element = this.wrap('br', null); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML blockquote to the summary buffer | ||||
|      * | ||||
|      * @param {string} text quote text | ||||
|      * @param {string} cite (optional) citation url | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addQuote(text, cite) { | ||||
|         const attrs = Object.assign({}, (cite && { cite })); | ||||
|         const element = this.wrap('blockquote', text, attrs); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
|     /** | ||||
|      * Adds an HTML anchor tag to the summary buffer | ||||
|      * | ||||
|      * @param {string} text link text/content | ||||
|      * @param {string} href hyperlink | ||||
|      * | ||||
|      * @returns {Summary} summary instance | ||||
|      */ | ||||
|     addLink(text, href) { | ||||
|         const element = this.wrap('a', text, { href }); | ||||
|         return this.addRaw(element).addEOL(); | ||||
|     } | ||||
| } | ||||
| const _summary = new Summary(); | ||||
| /** | ||||
|  * @deprecated use `core.summary` | ||||
|  */ | ||||
| exports.markdownSummary = _summary; | ||||
| exports.summary = _summary; | ||||
| //# sourceMappingURL=summary.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 669: | ||||
| /***/ (function(module) { | ||||
| 
 | ||||
| module.exports = require("util"); | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 672: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
| @ -15315,9 +16422,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | ||||
| }; | ||||
| var _a; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| const assert_1 = __webpack_require__(357); | ||||
| const fs = __webpack_require__(747); | ||||
| const path = __webpack_require__(622); | ||||
| exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rename = exports.readlink = exports.readdir = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0; | ||||
| const fs = __importStar(__webpack_require__(747)); | ||||
| const path = __importStar(__webpack_require__(622)); | ||||
| _a = fs.promises, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink; | ||||
| exports.IS_WINDOWS = process.platform === 'win32'; | ||||
| function exists(fsPath) { | ||||
| @ -15358,49 +16465,6 @@ function isRooted(p) { | ||||
|     return p.startsWith('/'); | ||||
| } | ||||
| exports.isRooted = isRooted; | ||||
| /** | ||||
|  * Recursively create a directory at `fsPath`. | ||||
|  * | ||||
|  * This implementation is optimistic, meaning it attempts to create the full | ||||
|  * path first, and backs up the path stack from there. | ||||
|  * | ||||
|  * @param fsPath The path to create | ||||
|  * @param maxDepth The maximum recursion depth | ||||
|  * @param depth The current recursion depth | ||||
|  */ | ||||
| function mkdirP(fsPath, maxDepth = 1000, depth = 1) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         assert_1.ok(fsPath, 'a path argument must be provided'); | ||||
|         fsPath = path.resolve(fsPath); | ||||
|         if (depth >= maxDepth) | ||||
|             return exports.mkdir(fsPath); | ||||
|         try { | ||||
|             yield exports.mkdir(fsPath); | ||||
|             return; | ||||
|         } | ||||
|         catch (err) { | ||||
|             switch (err.code) { | ||||
|                 case 'ENOENT': { | ||||
|                     yield mkdirP(path.dirname(fsPath), maxDepth, depth + 1); | ||||
|                     yield exports.mkdir(fsPath); | ||||
|                     return; | ||||
|                 } | ||||
|                 default: { | ||||
|                     let stats; | ||||
|                     try { | ||||
|                         stats = yield exports.stat(fsPath); | ||||
|                     } | ||||
|                     catch (err2) { | ||||
|                         throw err; | ||||
|                     } | ||||
|                     if (!stats.isDirectory()) | ||||
|                         throw err; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     }); | ||||
| } | ||||
| exports.mkdirP = mkdirP; | ||||
| /** | ||||
|  * Best effort attempt to determine whether a file exists and is executable. | ||||
|  * @param filePath    file path to check | ||||
| @ -15497,6 +16561,12 @@ function isUnixExecutable(stats) { | ||||
|         ((stats.mode & 8) > 0 && stats.gid === process.getgid()) || | ||||
|         ((stats.mode & 64) > 0 && stats.uid === process.getuid())); | ||||
| } | ||||
| // Get the path of cmd.exe in windows
 | ||||
| function getCmdPath() { | ||||
|     var _a; | ||||
|     return (_a = process.env['COMSPEC']) !== null && _a !== void 0 ? _a : `cmd.exe`; | ||||
| } | ||||
| exports.getCmdPath = getCmdPath; | ||||
| //# sourceMappingURL=io-util.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| @ -16003,66 +17073,86 @@ module.exports = Function.prototype.bind || implementation; | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 742: | ||||
| /***/ (function(module, __unusedexports, __webpack_require__) { | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| var fs = __webpack_require__(747) | ||||
| var core | ||||
| if (process.platform === 'win32' || global.TESTING_WINDOWS) { | ||||
|   core = __webpack_require__(818) | ||||
| } else { | ||||
|   core = __webpack_require__(197) | ||||
| } | ||||
| "use strict"; | ||||
| 
 | ||||
| module.exports = isexe | ||||
| isexe.sync = sync | ||||
| 
 | ||||
| function isexe (path, options, cb) { | ||||
|   if (typeof options === 'function') { | ||||
|     cb = options | ||||
|     options = {} | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.OidcClient = void 0; | ||||
| const http_client_1 = __webpack_require__(993); | ||||
| const auth_1 = __webpack_require__(363); | ||||
| const core_1 = __webpack_require__(470); | ||||
| class OidcClient { | ||||
|     static createHttpClient(allowRetry = true, maxRetry = 10) { | ||||
|         const requestOptions = { | ||||
|             allowRetries: allowRetry, | ||||
|             maxRetries: maxRetry | ||||
|         }; | ||||
|         return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions); | ||||
|     } | ||||
| 
 | ||||
|   if (!cb) { | ||||
|     if (typeof Promise !== 'function') { | ||||
|       throw new TypeError('callback not provided') | ||||
|     static getRequestToken() { | ||||
|         const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; | ||||
|         if (!token) { | ||||
|             throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); | ||||
|         } | ||||
| 
 | ||||
|     return new Promise(function (resolve, reject) { | ||||
|       isexe(path, options || {}, function (er, is) { | ||||
|         if (er) { | ||||
|           reject(er) | ||||
|         } else { | ||||
|           resolve(is) | ||||
|         return token; | ||||
|     } | ||||
|       }) | ||||
|     }) | ||||
|     static getIDTokenUrl() { | ||||
|         const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; | ||||
|         if (!runtimeUrl) { | ||||
|             throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); | ||||
|         } | ||||
| 
 | ||||
|   core(path, options || {}, function (er, is) { | ||||
|     // ignore EACCES because that just means we aren't allowed to run it
 | ||||
|     if (er) { | ||||
|       if (er.code === 'EACCES' || options && options.ignoreErrors) { | ||||
|         er = null | ||||
|         is = false | ||||
|         return runtimeUrl; | ||||
|     } | ||||
|     static getCall(id_token_url) { | ||||
|         var _a; | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const httpclient = OidcClient.createHttpClient(); | ||||
|             const res = yield httpclient | ||||
|                 .getJson(id_token_url) | ||||
|                 .catch(error => { | ||||
|                 throw new Error(`Failed to get ID Token. \n 
 | ||||
|         Error Code : ${error.statusCode}\n  | ||||
|         Error Message: ${error.result.message}`);
 | ||||
|             }); | ||||
|             const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; | ||||
|             if (!id_token) { | ||||
|                 throw new Error('Response json body do not have ID Token field'); | ||||
|             } | ||||
|     cb(er, is) | ||||
|   }) | ||||
|             return id_token; | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
| function sync (path, options) { | ||||
|   // my kingdom for a filtered catch
 | ||||
|     static getIDToken(audience) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             try { | ||||
|     return core.sync(path, options || {}) | ||||
|   } catch (er) { | ||||
|     if (options && options.ignoreErrors || er.code === 'EACCES') { | ||||
|       return false | ||||
|     } else { | ||||
|       throw er | ||||
|                 // New ID Token is requested from action service
 | ||||
|                 let id_token_url = OidcClient.getIDTokenUrl(); | ||||
|                 if (audience) { | ||||
|                     const encodedAudience = encodeURIComponent(audience); | ||||
|                     id_token_url = `${id_token_url}&audience=${encodedAudience}`; | ||||
|                 } | ||||
|                 core_1.debug(`ID token url is ${id_token_url}`); | ||||
|                 const id_token = yield OidcClient.getCall(id_token_url); | ||||
|                 core_1.setSecret(id_token); | ||||
|                 return id_token; | ||||
|             } | ||||
|             catch (error) { | ||||
|                 throw new Error(`Error message: ${error.message}`); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| } | ||||
| 
 | ||||
| exports.OidcClient = OidcClient; | ||||
| //# sourceMappingURL=oidc-utils.js.map
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| @ -16139,7 +17229,7 @@ Object.defineProperty(exports, '__esModule', { value: true }); | ||||
| function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } | ||||
| 
 | ||||
| var endpoint = __webpack_require__(385); | ||||
| var universalUserAgent = __webpack_require__(211); | ||||
| var universalUserAgent = __webpack_require__(392); | ||||
| var isPlainObject = _interopDefault(__webpack_require__(696)); | ||||
| var nodeFetch = _interopDefault(__webpack_require__(454)); | ||||
| var requestError = __webpack_require__(463); | ||||
| @ -16426,7 +17516,7 @@ var parseObject = function (chain, val, options, valuesParsed) { | ||||
|             ) { | ||||
|                 obj = []; | ||||
|                 obj[index] = leaf; | ||||
|             } else { | ||||
|             } else if (cleanRoot !== '__proto__') { | ||||
|                 obj[cleanRoot] = leaf; | ||||
|             } | ||||
|         } | ||||
| @ -16825,6 +17915,13 @@ module.exports = { | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 794: | ||||
| /***/ (function(module) { | ||||
| 
 | ||||
| module.exports = require("stream"); | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 796: | ||||
| @ -16857,59 +17954,180 @@ exports.getUserAgent = getUserAgent; | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 813: | ||||
| /***/ (function(__unusedmodule, exports) { | ||||
| /***/ 810: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, '__esModule', { value: true }); | ||||
| 
 | ||||
| async function auth(token) { | ||||
|   const tokenType = token.split(/\./).length === 3 ? "app" : /^v\d+\./.test(token) ? "installation" : "oauth"; | ||||
|   return { | ||||
|     type: "token", | ||||
|     token: token, | ||||
|     tokenType | ||||
|   }; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Prefix token for usage in the Authorization header | ||||
|  * | ||||
|  * @param token OAuth token or JSON Web Token | ||||
|  */ | ||||
| function withAuthorizationPrefix(token) { | ||||
|   if (token.split(/\./).length === 3) { | ||||
|     return `bearer ${token}`; | ||||
|   } | ||||
| 
 | ||||
|   return `token ${token}`; | ||||
| } | ||||
| 
 | ||||
| async function hook(token, request, route, parameters) { | ||||
|   const endpoint = request.endpoint.merge(route, parameters); | ||||
|   endpoint.headers.authorization = withAuthorizationPrefix(token); | ||||
|   return request(endpoint); | ||||
| } | ||||
| 
 | ||||
| const createTokenAuth = function createTokenAuth(token) { | ||||
|   if (!token) { | ||||
|     throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); | ||||
|   } | ||||
| 
 | ||||
|   if (typeof token !== "string") { | ||||
|     throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); | ||||
|   } | ||||
| 
 | ||||
|   token = token.replace(/^(token|bearer) +/i, ""); | ||||
|   return Object.assign(auth.bind(null, token), { | ||||
|     hook: hook.bind(null, token) | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| }; | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| exports.createTokenAuth = createTokenAuth; | ||||
| //# sourceMappingURL=index.js.map
 | ||||
| var _rng = _interopRequireDefault(__webpack_require__(506)); | ||||
| 
 | ||||
| var _stringify = _interopRequireDefault(__webpack_require__(960)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| // **`v1()` - Generate time-based UUID**
 | ||||
| //
 | ||||
| // Inspired by https://github.com/LiosK/UUID.js
 | ||||
| // and http://docs.python.org/library/uuid.html
 | ||||
| let _nodeId; | ||||
| 
 | ||||
| let _clockseq; // Previous uuid creation time
 | ||||
| 
 | ||||
| 
 | ||||
| let _lastMSecs = 0; | ||||
| let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details
 | ||||
| 
 | ||||
| function v1(options, buf, offset) { | ||||
|   let i = buf && offset || 0; | ||||
|   const b = buf || new Array(16); | ||||
|   options = options || {}; | ||||
|   let node = options.node || _nodeId; | ||||
|   let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not
 | ||||
|   // specified.  We do this lazily to minimize issues related to insufficient
 | ||||
|   // system entropy.  See #189
 | ||||
| 
 | ||||
|   if (node == null || clockseq == null) { | ||||
|     const seedBytes = options.random || (options.rng || _rng.default)(); | ||||
| 
 | ||||
|     if (node == null) { | ||||
|       // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)
 | ||||
|       node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; | ||||
|     } | ||||
| 
 | ||||
|     if (clockseq == null) { | ||||
|       // Per 4.2.2, randomize (14 bit) clockseq
 | ||||
|       clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; | ||||
|     } | ||||
|   } // UUID timestamps are 100 nano-second units since the Gregorian epoch,
 | ||||
|   // (1582-10-15 00:00).  JSNumbers aren't precise enough for this, so
 | ||||
|   // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'
 | ||||
|   // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
 | ||||
| 
 | ||||
| 
 | ||||
|   let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock
 | ||||
|   // cycle to simulate higher resolution clock
 | ||||
| 
 | ||||
|   let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)
 | ||||
| 
 | ||||
|   const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression
 | ||||
| 
 | ||||
|   if (dt < 0 && options.clockseq === undefined) { | ||||
|     clockseq = clockseq + 1 & 0x3fff; | ||||
|   } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
 | ||||
|   // time interval
 | ||||
| 
 | ||||
| 
 | ||||
|   if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { | ||||
|     nsecs = 0; | ||||
|   } // Per 4.2.1.2 Throw error if too many uuids are requested
 | ||||
| 
 | ||||
| 
 | ||||
|   if (nsecs >= 10000) { | ||||
|     throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); | ||||
|   } | ||||
| 
 | ||||
|   _lastMSecs = msecs; | ||||
|   _lastNSecs = nsecs; | ||||
|   _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch
 | ||||
| 
 | ||||
|   msecs += 12219292800000; // `time_low`
 | ||||
| 
 | ||||
|   const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; | ||||
|   b[i++] = tl >>> 24 & 0xff; | ||||
|   b[i++] = tl >>> 16 & 0xff; | ||||
|   b[i++] = tl >>> 8 & 0xff; | ||||
|   b[i++] = tl & 0xff; // `time_mid`
 | ||||
| 
 | ||||
|   const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; | ||||
|   b[i++] = tmh >>> 8 & 0xff; | ||||
|   b[i++] = tmh & 0xff; // `time_high_and_version`
 | ||||
| 
 | ||||
|   b[i++] = tmh >>> 24 & 0xf | 0x10; // include version
 | ||||
| 
 | ||||
|   b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
 | ||||
| 
 | ||||
|   b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`
 | ||||
| 
 | ||||
|   b[i++] = clockseq & 0xff; // `node`
 | ||||
| 
 | ||||
|   for (let n = 0; n < 6; ++n) { | ||||
|     b[i + n] = node[n]; | ||||
|   } | ||||
| 
 | ||||
|   return buf || (0, _stringify.default)(b); | ||||
| } | ||||
| 
 | ||||
| var _default = v1; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 813: | ||||
| /***/ (function(module, __unusedexports, __webpack_require__) { | ||||
| 
 | ||||
| var fs = __webpack_require__(747) | ||||
| var core | ||||
| if (process.platform === 'win32' || global.TESTING_WINDOWS) { | ||||
|   core = __webpack_require__(818) | ||||
| } else { | ||||
|   core = __webpack_require__(197) | ||||
| } | ||||
| 
 | ||||
| module.exports = isexe | ||||
| isexe.sync = sync | ||||
| 
 | ||||
| function isexe (path, options, cb) { | ||||
|   if (typeof options === 'function') { | ||||
|     cb = options | ||||
|     options = {} | ||||
|   } | ||||
| 
 | ||||
|   if (!cb) { | ||||
|     if (typeof Promise !== 'function') { | ||||
|       throw new TypeError('callback not provided') | ||||
|     } | ||||
| 
 | ||||
|     return new Promise(function (resolve, reject) { | ||||
|       isexe(path, options || {}, function (er, is) { | ||||
|         if (er) { | ||||
|           reject(er) | ||||
|         } else { | ||||
|           resolve(is) | ||||
|         } | ||||
|       }) | ||||
|     }) | ||||
|   } | ||||
| 
 | ||||
|   core(path, options || {}, function (er, is) { | ||||
|     // ignore EACCES because that just means we aren't allowed to run it
 | ||||
|     if (er) { | ||||
|       if (er.code === 'EACCES' || options && options.ignoreErrors) { | ||||
|         er = null | ||||
|         is = false | ||||
|       } | ||||
|     } | ||||
|     cb(er, is) | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| function sync (path, options) { | ||||
|   // my kingdom for a filtered catch
 | ||||
|   try { | ||||
|     return core.sync(path, options || {}) | ||||
|   } catch (er) { | ||||
|     if (options && options.ignoreErrors || er.code === 'EACCES') { | ||||
|       return false | ||||
|     } else { | ||||
|       throw er | ||||
|     } | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| @ -16926,7 +18144,7 @@ var isWindows = process.platform === 'win32' || | ||||
| 
 | ||||
| var path = __webpack_require__(622) | ||||
| var COLON = isWindows ? ';' : ':' | ||||
| var isexe = __webpack_require__(742) | ||||
| var isexe = __webpack_require__(813) | ||||
| 
 | ||||
| function getNotFoundError (cmd) { | ||||
|   var er = new Error('not found: ' + cmd) | ||||
| @ -17244,6 +18462,9 @@ function getInputs() { | ||||
|             (core.getInput('persist-credentials') || 'false').toUpperCase() === 'TRUE'; | ||||
|         // Workflow organization ID
 | ||||
|         result.workflowOrganizationId = yield workflowContextHelper.getOrganizationId(); | ||||
|         // Set safe.directory in git global config.
 | ||||
|         result.setSafeDirectory = | ||||
|             (core.getInput('set-safe-directory') || 'true').toUpperCase() === 'TRUE'; | ||||
|         return result; | ||||
|     }); | ||||
| } | ||||
| @ -30516,6 +31737,273 @@ function paginationMethodsPlugin (octokit) { | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 853: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.cleanup = exports.getSource = void 0; | ||||
| const core = __importStar(__webpack_require__(470)); | ||||
| const fsHelper = __importStar(__webpack_require__(618)); | ||||
| const gitAuthHelper = __importStar(__webpack_require__(287)); | ||||
| const gitCommandManager = __importStar(__webpack_require__(289)); | ||||
| const gitDirectoryHelper = __importStar(__webpack_require__(438)); | ||||
| const githubApiHelper = __importStar(__webpack_require__(464)); | ||||
| const io = __importStar(__webpack_require__(1)); | ||||
| const path = __importStar(__webpack_require__(622)); | ||||
| const refHelper = __importStar(__webpack_require__(227)); | ||||
| const stateHelper = __importStar(__webpack_require__(153)); | ||||
| const urlHelper = __importStar(__webpack_require__(81)); | ||||
| function getSource(settings) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         // Repository URL
 | ||||
|         core.info(`Syncing repository: ${settings.repositoryOwner}/${settings.repositoryName}`); | ||||
|         const repositoryUrl = urlHelper.getFetchUrl(settings); | ||||
|         // Remove conflicting file path
 | ||||
|         if (fsHelper.fileExistsSync(settings.repositoryPath)) { | ||||
|             yield io.rmRF(settings.repositoryPath); | ||||
|         } | ||||
|         // Create directory
 | ||||
|         let isExisting = true; | ||||
|         if (!fsHelper.directoryExistsSync(settings.repositoryPath)) { | ||||
|             isExisting = false; | ||||
|             yield io.mkdirP(settings.repositoryPath); | ||||
|         } | ||||
|         // Git command manager
 | ||||
|         core.startGroup('Getting Git version info'); | ||||
|         const git = yield getGitCommandManager(settings); | ||||
|         core.endGroup(); | ||||
|         let authHelper = null; | ||||
|         try { | ||||
|             if (git) { | ||||
|                 authHelper = gitAuthHelper.createAuthHelper(git, settings); | ||||
|                 if (settings.setSafeDirectory) { | ||||
|                     // Setup the repository path as a safe directory, so if we pass this into a container job with a different user it doesn't fail
 | ||||
|                     // Otherwise all git commands we run in a container fail
 | ||||
|                     yield authHelper.configureTempGlobalConfig(); | ||||
|                     core.info(`Adding repository directory to the temporary git global config as a safe directory`); | ||||
|                     yield git | ||||
|                         .config('safe.directory', settings.repositoryPath, true, true) | ||||
|                         .catch(error => { | ||||
|                         core.info(`Failed to initialize safe directory with error: ${error}`); | ||||
|                     }); | ||||
|                     stateHelper.setSafeDirectory(); | ||||
|                 } | ||||
|             } | ||||
|             // Prepare existing directory, otherwise recreate
 | ||||
|             if (isExisting) { | ||||
|                 yield gitDirectoryHelper.prepareExistingDirectory(git, settings.repositoryPath, repositoryUrl, settings.clean, settings.ref); | ||||
|             } | ||||
|             if (!git) { | ||||
|                 // Downloading using REST API
 | ||||
|                 core.info(`The repository will be downloaded using the GitHub REST API`); | ||||
|                 core.info(`To create a local Git repository instead, add Git ${gitCommandManager.MinimumGitVersion} or higher to the PATH`); | ||||
|                 if (settings.submodules) { | ||||
|                     throw new Error(`Input 'submodules' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git ${gitCommandManager.MinimumGitVersion} or higher to the PATH.`); | ||||
|                 } | ||||
|                 else if (settings.sshKey) { | ||||
|                     throw new Error(`Input 'ssh-key' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git ${gitCommandManager.MinimumGitVersion} or higher to the PATH.`); | ||||
|                 } | ||||
|                 yield githubApiHelper.downloadRepository(settings.authToken, settings.repositoryOwner, settings.repositoryName, settings.ref, settings.commit, settings.repositoryPath); | ||||
|                 return; | ||||
|             } | ||||
|             // Save state for POST action
 | ||||
|             stateHelper.setRepositoryPath(settings.repositoryPath); | ||||
|             // Initialize the repository
 | ||||
|             if (!fsHelper.directoryExistsSync(path.join(settings.repositoryPath, '.git'))) { | ||||
|                 core.startGroup('Initializing the repository'); | ||||
|                 yield git.init(); | ||||
|                 yield git.remoteAdd('origin', repositoryUrl); | ||||
|                 core.endGroup(); | ||||
|             } | ||||
|             // Disable automatic garbage collection
 | ||||
|             core.startGroup('Disabling automatic garbage collection'); | ||||
|             if (!(yield git.tryDisableAutomaticGarbageCollection())) { | ||||
|                 core.warning(`Unable to turn off git automatic garbage collection. The git fetch operation may trigger garbage collection and cause a delay.`); | ||||
|             } | ||||
|             core.endGroup(); | ||||
|             // If we didn't initialize it above, do it now
 | ||||
|             if (!authHelper) { | ||||
|                 authHelper = gitAuthHelper.createAuthHelper(git, settings); | ||||
|             } | ||||
|             // Configure auth
 | ||||
|             core.startGroup('Setting up auth'); | ||||
|             yield authHelper.configureAuth(); | ||||
|             core.endGroup(); | ||||
|             // Determine the default branch
 | ||||
|             if (!settings.ref && !settings.commit) { | ||||
|                 core.startGroup('Determining the default branch'); | ||||
|                 if (settings.sshKey) { | ||||
|                     settings.ref = yield git.getDefaultBranch(repositoryUrl); | ||||
|                 } | ||||
|                 else { | ||||
|                     settings.ref = yield githubApiHelper.getDefaultBranch(settings.authToken, settings.repositoryOwner, settings.repositoryName); | ||||
|                 } | ||||
|                 core.endGroup(); | ||||
|             } | ||||
|             // LFS install
 | ||||
|             if (settings.lfs) { | ||||
|                 yield git.lfsInstall(); | ||||
|             } | ||||
|             // Fetch
 | ||||
|             core.startGroup('Fetching the repository'); | ||||
|             if (settings.fetchDepth <= 0) { | ||||
|                 // Fetch all branches and tags
 | ||||
|                 let refSpec = refHelper.getRefSpecForAllHistory(settings.ref, settings.commit); | ||||
|                 yield git.fetch(refSpec); | ||||
|                 // When all history is fetched, the ref we're interested in may have moved to a different
 | ||||
|                 // commit (push or force push). If so, fetch again with a targeted refspec.
 | ||||
|                 if (!(yield refHelper.testRef(git, settings.ref, settings.commit))) { | ||||
|                     refSpec = refHelper.getRefSpec(settings.ref, settings.commit); | ||||
|                     yield git.fetch(refSpec); | ||||
|                 } | ||||
|             } | ||||
|             else { | ||||
|                 const refSpec = refHelper.getRefSpec(settings.ref, settings.commit); | ||||
|                 yield git.fetch(refSpec, settings.fetchDepth); | ||||
|             } | ||||
|             core.endGroup(); | ||||
|             // Checkout info
 | ||||
|             core.startGroup('Determining the checkout info'); | ||||
|             const checkoutInfo = yield refHelper.getCheckoutInfo(git, settings.ref, settings.commit); | ||||
|             core.endGroup(); | ||||
|             // LFS fetch
 | ||||
|             // Explicit lfs-fetch to avoid slow checkout (fetches one lfs object at a time).
 | ||||
|             // Explicit lfs fetch will fetch lfs objects in parallel.
 | ||||
|             if (settings.lfs) { | ||||
|                 core.startGroup('Fetching LFS objects'); | ||||
|                 yield git.lfsFetch(checkoutInfo.startPoint || checkoutInfo.ref); | ||||
|                 core.endGroup(); | ||||
|             } | ||||
|             // Checkout
 | ||||
|             core.startGroup('Checking out the ref'); | ||||
|             yield git.checkout(checkoutInfo.ref, checkoutInfo.startPoint); | ||||
|             core.endGroup(); | ||||
|             // Submodules
 | ||||
|             if (settings.submodules) { | ||||
|                 // Temporarily override global config
 | ||||
|                 core.startGroup('Setting up auth for fetching submodules'); | ||||
|                 yield authHelper.configureGlobalAuth(); | ||||
|                 core.endGroup(); | ||||
|                 // Checkout submodules
 | ||||
|                 core.startGroup('Fetching submodules'); | ||||
|                 yield git.submoduleSync(settings.nestedSubmodules); | ||||
|                 yield git.submoduleUpdate(settings.fetchDepth, settings.nestedSubmodules); | ||||
|                 yield git.submoduleForeach('git config --local gc.auto 0', settings.nestedSubmodules); | ||||
|                 core.endGroup(); | ||||
|                 // Persist credentials
 | ||||
|                 if (settings.persistCredentials) { | ||||
|                     core.startGroup('Persisting credentials for submodules'); | ||||
|                     yield authHelper.configureSubmoduleAuth(); | ||||
|                     core.endGroup(); | ||||
|                 } | ||||
|             } | ||||
|             // Get commit information
 | ||||
|             const commitInfo = yield git.log1(); | ||||
|             // Log commit sha
 | ||||
|             yield git.log1("--format='%H'"); | ||||
|             // Check for incorrect pull request merge commit
 | ||||
|             yield refHelper.checkCommitInfo(settings.authToken, commitInfo, settings.repositoryOwner, settings.repositoryName, settings.ref, settings.commit); | ||||
|         } | ||||
|         finally { | ||||
|             // Remove auth
 | ||||
|             if (authHelper) { | ||||
|                 if (!settings.persistCredentials) { | ||||
|                     core.startGroup('Removing auth'); | ||||
|                     yield authHelper.removeAuth(); | ||||
|                     core.endGroup(); | ||||
|                 } | ||||
|                 authHelper.removeGlobalConfig(); | ||||
|             } | ||||
|         } | ||||
|     }); | ||||
| } | ||||
| exports.getSource = getSource; | ||||
| function cleanup(repositoryPath) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         // Repo exists?
 | ||||
|         if (!repositoryPath || | ||||
|             !fsHelper.fileExistsSync(path.join(repositoryPath, '.git', 'config'))) { | ||||
|             return; | ||||
|         } | ||||
|         let git; | ||||
|         try { | ||||
|             git = yield gitCommandManager.createCommandManager(repositoryPath, false); | ||||
|         } | ||||
|         catch (_a) { | ||||
|             return; | ||||
|         } | ||||
|         // Remove auth
 | ||||
|         const authHelper = gitAuthHelper.createAuthHelper(git); | ||||
|         try { | ||||
|             if (stateHelper.PostSetSafeDirectory) { | ||||
|                 // Setup the repository path as a safe directory, so if we pass this into a container job with a different user it doesn't fail
 | ||||
|                 // Otherwise all git commands we run in a container fail
 | ||||
|                 yield authHelper.configureTempGlobalConfig(); | ||||
|                 core.info(`Adding repository directory to the temporary git global config as a safe directory`); | ||||
|                 yield git | ||||
|                     .config('safe.directory', repositoryPath, true, true) | ||||
|                     .catch(error => { | ||||
|                     core.info(`Failed to initialize safe directory with error: ${error}`); | ||||
|                 }); | ||||
|             } | ||||
|             yield authHelper.removeAuth(); | ||||
|         } | ||||
|         finally { | ||||
|             yield authHelper.removeGlobalConfig(); | ||||
|         } | ||||
|     }); | ||||
| } | ||||
| exports.cleanup = cleanup; | ||||
| function getGitCommandManager(settings) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         core.info(`Working directory is '${settings.repositoryPath}'`); | ||||
|         try { | ||||
|             return yield gitCommandManager.createCommandManager(settings.repositoryPath, settings.lfs); | ||||
|         } | ||||
|         catch (err) { | ||||
|             // Git is required for LFS
 | ||||
|             if (settings.lfs) { | ||||
|                 throw err; | ||||
|             } | ||||
|             // Otherwise fallback to REST API
 | ||||
|             return undefined; | ||||
|         } | ||||
|     }); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 854: | ||||
| @ -31470,14 +32958,6 @@ function registerPlugin(plugins, pluginFunction) { | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 856: | ||||
| /***/ (function(module, __unusedexports, __webpack_require__) { | ||||
| 
 | ||||
| module.exports = __webpack_require__(141); | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 863: | ||||
| @ -31585,7 +33065,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| const url = __webpack_require__(835); | ||||
| const http = __webpack_require__(605); | ||||
| const https = __webpack_require__(34); | ||||
| const https = __webpack_require__(211); | ||||
| const util = __webpack_require__(729); | ||||
| let fs; | ||||
| let tunnel; | ||||
| @ -31980,7 +33460,7 @@ class HttpClient { | ||||
|         if (useProxy) { | ||||
|             // If using proxy, need tunnel
 | ||||
|             if (!tunnel) { | ||||
|                 tunnel = __webpack_require__(856); | ||||
|                 tunnel = __webpack_require__(413); | ||||
|             } | ||||
|             const agentOptions = { | ||||
|                 maxSockets: maxSockets, | ||||
| @ -33165,6 +34645,7 @@ var arrayPrefixGenerators = { | ||||
| }; | ||||
| 
 | ||||
| var isArray = Array.isArray; | ||||
| var split = String.prototype.split; | ||||
| var push = Array.prototype.push; | ||||
| var pushToArray = function (arr, valueOrArray) { | ||||
|     push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]); | ||||
| @ -33201,10 +34682,13 @@ var isNonNullishPrimitive = function isNonNullishPrimitive(v) { | ||||
|         || typeof v === 'bigint'; | ||||
| }; | ||||
| 
 | ||||
| var sentinel = {}; | ||||
| 
 | ||||
| var stringify = function stringify( | ||||
|     object, | ||||
|     prefix, | ||||
|     generateArrayPrefix, | ||||
|     commaRoundTrip, | ||||
|     strictNullHandling, | ||||
|     skipNulls, | ||||
|     encoder, | ||||
| @ -33220,8 +34704,23 @@ var stringify = function stringify( | ||||
| ) { | ||||
|     var obj = object; | ||||
| 
 | ||||
|     if (sideChannel.has(object)) { | ||||
|     var tmpSc = sideChannel; | ||||
|     var step = 0; | ||||
|     var findFlag = false; | ||||
|     while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) { | ||||
|         // Where object last appeared in the ref tree
 | ||||
|         var pos = tmpSc.get(object); | ||||
|         step += 1; | ||||
|         if (typeof pos !== 'undefined') { | ||||
|             if (pos === step) { | ||||
|                 throw new RangeError('Cyclic object value'); | ||||
|             } else { | ||||
|                 findFlag = true; // Break while
 | ||||
|             } | ||||
|         } | ||||
|         if (typeof tmpSc.get(sentinel) === 'undefined') { | ||||
|             step = 0; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     if (typeof filter === 'function') { | ||||
| @ -33248,6 +34747,14 @@ var stringify = function stringify( | ||||
|     if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) { | ||||
|         if (encoder) { | ||||
|             var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format); | ||||
|             if (generateArrayPrefix === 'comma' && encodeValuesOnly) { | ||||
|                 var valuesArray = split.call(String(obj), ','); | ||||
|                 var valuesJoined = ''; | ||||
|                 for (var i = 0; i < valuesArray.length; ++i) { | ||||
|                     valuesJoined += (i === 0 ? '' : ',') + formatter(encoder(valuesArray[i], defaults.encoder, charset, 'value', format)); | ||||
|                 } | ||||
|                 return [formatter(keyValue) + (commaRoundTrip && isArray(obj) && valuesArray.length === 1 ? '[]' : '') + '=' + valuesJoined]; | ||||
|             } | ||||
|             return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))]; | ||||
|         } | ||||
|         return [formatter(prefix) + '=' + formatter(String(obj))]; | ||||
| @ -33262,7 +34769,7 @@ var stringify = function stringify( | ||||
|     var objKeys; | ||||
|     if (generateArrayPrefix === 'comma' && isArray(obj)) { | ||||
|         // we need to join elements in
 | ||||
|         objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : undefined }]; | ||||
|         objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }]; | ||||
|     } else if (isArray(filter)) { | ||||
|         objKeys = filter; | ||||
|     } else { | ||||
| @ -33270,24 +34777,28 @@ var stringify = function stringify( | ||||
|         objKeys = sort ? keys.sort(sort) : keys; | ||||
|     } | ||||
| 
 | ||||
|     for (var i = 0; i < objKeys.length; ++i) { | ||||
|         var key = objKeys[i]; | ||||
|         var value = typeof key === 'object' && key.value !== undefined ? key.value : obj[key]; | ||||
|     var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix; | ||||
| 
 | ||||
|     for (var j = 0; j < objKeys.length; ++j) { | ||||
|         var key = objKeys[j]; | ||||
|         var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key]; | ||||
| 
 | ||||
|         if (skipNulls && value === null) { | ||||
|             continue; | ||||
|         } | ||||
| 
 | ||||
|         var keyPrefix = isArray(obj) | ||||
|             ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix | ||||
|             : prefix + (allowDots ? '.' + key : '[' + key + ']'); | ||||
|             ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix | ||||
|             : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']'); | ||||
| 
 | ||||
|         sideChannel.set(object, true); | ||||
|         sideChannel.set(object, step); | ||||
|         var valueSideChannel = getSideChannel(); | ||||
|         valueSideChannel.set(sentinel, sideChannel); | ||||
|         pushToArray(values, stringify( | ||||
|             value, | ||||
|             keyPrefix, | ||||
|             generateArrayPrefix, | ||||
|             commaRoundTrip, | ||||
|             strictNullHandling, | ||||
|             skipNulls, | ||||
|             encoder, | ||||
| @ -33311,7 +34822,7 @@ var normalizeStringifyOptions = function normalizeStringifyOptions(opts) { | ||||
|         return defaults; | ||||
|     } | ||||
| 
 | ||||
|     if (opts.encoder !== null && opts.encoder !== undefined && typeof opts.encoder !== 'function') { | ||||
|     if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') { | ||||
|         throw new TypeError('Encoder has to be a function.'); | ||||
|     } | ||||
| 
 | ||||
| @ -33384,6 +34895,10 @@ module.exports = function (object, opts) { | ||||
|     } | ||||
| 
 | ||||
|     var generateArrayPrefix = arrayPrefixGenerators[arrayFormat]; | ||||
|     if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') { | ||||
|         throw new TypeError('`commaRoundTrip` must be a boolean, or absent'); | ||||
|     } | ||||
|     var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip; | ||||
| 
 | ||||
|     if (!objKeys) { | ||||
|         objKeys = Object.keys(obj); | ||||
| @ -33404,6 +34919,7 @@ module.exports = function (object, opts) { | ||||
|             obj[key], | ||||
|             key, | ||||
|             generateArrayPrefix, | ||||
|             commaRoundTrip, | ||||
|             options.strictNullHandling, | ||||
|             options.skipNulls, | ||||
|             options.encode ? options.encoder : null, | ||||
| @ -35758,6 +37274,52 @@ module.exports.sync = (cmd, args, opts) => { | ||||
| module.exports.shellSync = (cmd, opts) => handleShell(module.exports.sync, cmd, opts); | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 960: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|   value: true | ||||
| }); | ||||
| exports.default = void 0; | ||||
| 
 | ||||
| var _validate = _interopRequireDefault(__webpack_require__(634)); | ||||
| 
 | ||||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||||
| 
 | ||||
| /** | ||||
|  * Convert array of 16 byte values to UUID string format of the form: | ||||
|  * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX | ||||
|  */ | ||||
| const byteToHex = []; | ||||
| 
 | ||||
| for (let i = 0; i < 256; ++i) { | ||||
|   byteToHex.push((i + 0x100).toString(16).substr(1)); | ||||
| } | ||||
| 
 | ||||
| function stringify(arr, offset = 0) { | ||||
|   // Note: Be careful editing this code!  It's been tuned for performance
 | ||||
|   // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
 | ||||
|   const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID.  If this throws, it's likely due to one
 | ||||
|   // of the following:
 | ||||
|   // - One or more input array values don't map to a hex octet (leading to
 | ||||
|   // "undefined" in the uuid)
 | ||||
|   // - Invalid input values for the RFC `version` or `variant` fields
 | ||||
| 
 | ||||
|   if (!(0, _validate.default)(uuid)) { | ||||
|     throw TypeError('Stringified UUID is invalid'); | ||||
|   } | ||||
| 
 | ||||
|   return uuid; | ||||
| } | ||||
| 
 | ||||
| var _default = stringify; | ||||
| exports.default = _default; | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 966: | ||||
| @ -35765,7 +37327,7 @@ module.exports.shellSync = (cmd, opts) => handleShell(module.exports.sync, cmd, | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| const {PassThrough} = __webpack_require__(413); | ||||
| const {PassThrough} = __webpack_require__(794); | ||||
| 
 | ||||
| module.exports = options => { | ||||
| 	options = Object.assign({}, options); | ||||
| @ -36179,6 +37741,618 @@ function authenticationRequestError(state, error, options) { | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 993: | ||||
| /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| /* eslint-disable @typescript-eslint/no-explicit-any */ | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; | ||||
| const http = __importStar(__webpack_require__(605)); | ||||
| const https = __importStar(__webpack_require__(211)); | ||||
| const pm = __importStar(__webpack_require__(95)); | ||||
| const tunnel = __importStar(__webpack_require__(413)); | ||||
| var HttpCodes; | ||||
| (function (HttpCodes) { | ||||
|     HttpCodes[HttpCodes["OK"] = 200] = "OK"; | ||||
|     HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; | ||||
|     HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; | ||||
|     HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; | ||||
|     HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; | ||||
|     HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; | ||||
|     HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; | ||||
|     HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; | ||||
|     HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; | ||||
|     HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; | ||||
|     HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; | ||||
|     HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; | ||||
|     HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; | ||||
|     HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; | ||||
|     HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; | ||||
|     HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; | ||||
|     HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; | ||||
|     HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; | ||||
|     HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; | ||||
|     HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; | ||||
|     HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; | ||||
|     HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; | ||||
|     HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; | ||||
|     HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; | ||||
|     HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; | ||||
|     HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; | ||||
|     HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; | ||||
| })(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); | ||||
| var Headers; | ||||
| (function (Headers) { | ||||
|     Headers["Accept"] = "accept"; | ||||
|     Headers["ContentType"] = "content-type"; | ||||
| })(Headers = exports.Headers || (exports.Headers = {})); | ||||
| var MediaTypes; | ||||
| (function (MediaTypes) { | ||||
|     MediaTypes["ApplicationJson"] = "application/json"; | ||||
| })(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); | ||||
| /** | ||||
|  * Returns the proxy URL, depending upon the supplied url and proxy environment variables. | ||||
|  * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 | ||||
|  */ | ||||
| function getProxyUrl(serverUrl) { | ||||
|     const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); | ||||
|     return proxyUrl ? proxyUrl.href : ''; | ||||
| } | ||||
| exports.getProxyUrl = getProxyUrl; | ||||
| const HttpRedirectCodes = [ | ||||
|     HttpCodes.MovedPermanently, | ||||
|     HttpCodes.ResourceMoved, | ||||
|     HttpCodes.SeeOther, | ||||
|     HttpCodes.TemporaryRedirect, | ||||
|     HttpCodes.PermanentRedirect | ||||
| ]; | ||||
| const HttpResponseRetryCodes = [ | ||||
|     HttpCodes.BadGateway, | ||||
|     HttpCodes.ServiceUnavailable, | ||||
|     HttpCodes.GatewayTimeout | ||||
| ]; | ||||
| const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; | ||||
| const ExponentialBackoffCeiling = 10; | ||||
| const ExponentialBackoffTimeSlice = 5; | ||||
| class HttpClientError extends Error { | ||||
|     constructor(message, statusCode) { | ||||
|         super(message); | ||||
|         this.name = 'HttpClientError'; | ||||
|         this.statusCode = statusCode; | ||||
|         Object.setPrototypeOf(this, HttpClientError.prototype); | ||||
|     } | ||||
| } | ||||
| exports.HttpClientError = HttpClientError; | ||||
| class HttpClientResponse { | ||||
|     constructor(message) { | ||||
|         this.message = message; | ||||
|     } | ||||
|     readBody() { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { | ||||
|                 let output = Buffer.alloc(0); | ||||
|                 this.message.on('data', (chunk) => { | ||||
|                     output = Buffer.concat([output, chunk]); | ||||
|                 }); | ||||
|                 this.message.on('end', () => { | ||||
|                     resolve(output.toString()); | ||||
|                 }); | ||||
|             })); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.HttpClientResponse = HttpClientResponse; | ||||
| function isHttps(requestUrl) { | ||||
|     const parsedUrl = new URL(requestUrl); | ||||
|     return parsedUrl.protocol === 'https:'; | ||||
| } | ||||
| exports.isHttps = isHttps; | ||||
| class HttpClient { | ||||
|     constructor(userAgent, handlers, requestOptions) { | ||||
|         this._ignoreSslError = false; | ||||
|         this._allowRedirects = true; | ||||
|         this._allowRedirectDowngrade = false; | ||||
|         this._maxRedirects = 50; | ||||
|         this._allowRetries = false; | ||||
|         this._maxRetries = 1; | ||||
|         this._keepAlive = false; | ||||
|         this._disposed = false; | ||||
|         this.userAgent = userAgent; | ||||
|         this.handlers = handlers || []; | ||||
|         this.requestOptions = requestOptions; | ||||
|         if (requestOptions) { | ||||
|             if (requestOptions.ignoreSslError != null) { | ||||
|                 this._ignoreSslError = requestOptions.ignoreSslError; | ||||
|             } | ||||
|             this._socketTimeout = requestOptions.socketTimeout; | ||||
|             if (requestOptions.allowRedirects != null) { | ||||
|                 this._allowRedirects = requestOptions.allowRedirects; | ||||
|             } | ||||
|             if (requestOptions.allowRedirectDowngrade != null) { | ||||
|                 this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; | ||||
|             } | ||||
|             if (requestOptions.maxRedirects != null) { | ||||
|                 this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); | ||||
|             } | ||||
|             if (requestOptions.keepAlive != null) { | ||||
|                 this._keepAlive = requestOptions.keepAlive; | ||||
|             } | ||||
|             if (requestOptions.allowRetries != null) { | ||||
|                 this._allowRetries = requestOptions.allowRetries; | ||||
|             } | ||||
|             if (requestOptions.maxRetries != null) { | ||||
|                 this._maxRetries = requestOptions.maxRetries; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     options(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     get(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('GET', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     del(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('DELETE', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     post(requestUrl, data, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('POST', requestUrl, data, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     patch(requestUrl, data, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('PATCH', requestUrl, data, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     put(requestUrl, data, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('PUT', requestUrl, data, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     head(requestUrl, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request('HEAD', requestUrl, null, additionalHeaders || {}); | ||||
|         }); | ||||
|     } | ||||
|     sendStream(verb, requestUrl, stream, additionalHeaders) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return this.request(verb, requestUrl, stream, additionalHeaders); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Gets a typed object from an endpoint | ||||
|      * Be aware that not found returns a null.  Other errors (4xx, 5xx) reject the promise | ||||
|      */ | ||||
|     getJson(requestUrl, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.get(requestUrl, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     postJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const data = JSON.stringify(obj, null, 2); | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.post(requestUrl, data, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     putJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const data = JSON.stringify(obj, null, 2); | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.put(requestUrl, data, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     patchJson(requestUrl, obj, additionalHeaders = {}) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const data = JSON.stringify(obj, null, 2); | ||||
|             additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); | ||||
|             additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); | ||||
|             const res = yield this.patch(requestUrl, data, additionalHeaders); | ||||
|             return this._processResponse(res, this.requestOptions); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Makes a raw http request. | ||||
|      * All other methods such as get, post, patch, and request ultimately call this. | ||||
|      * Prefer get, del, post and patch | ||||
|      */ | ||||
|     request(verb, requestUrl, data, headers) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             if (this._disposed) { | ||||
|                 throw new Error('Client has already been disposed.'); | ||||
|             } | ||||
|             const parsedUrl = new URL(requestUrl); | ||||
|             let info = this._prepareRequest(verb, parsedUrl, headers); | ||||
|             // Only perform retries on reads since writes may not be idempotent.
 | ||||
|             const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) | ||||
|                 ? this._maxRetries + 1 | ||||
|                 : 1; | ||||
|             let numTries = 0; | ||||
|             let response; | ||||
|             do { | ||||
|                 response = yield this.requestRaw(info, data); | ||||
|                 // Check if it's an authentication challenge
 | ||||
|                 if (response && | ||||
|                     response.message && | ||||
|                     response.message.statusCode === HttpCodes.Unauthorized) { | ||||
|                     let authenticationHandler; | ||||
|                     for (const handler of this.handlers) { | ||||
|                         if (handler.canHandleAuthentication(response)) { | ||||
|                             authenticationHandler = handler; | ||||
|                             break; | ||||
|                         } | ||||
|                     } | ||||
|                     if (authenticationHandler) { | ||||
|                         return authenticationHandler.handleAuthentication(this, info, data); | ||||
|                     } | ||||
|                     else { | ||||
|                         // We have received an unauthorized response but have no handlers to handle it.
 | ||||
|                         // Let the response return to the caller.
 | ||||
|                         return response; | ||||
|                     } | ||||
|                 } | ||||
|                 let redirectsRemaining = this._maxRedirects; | ||||
|                 while (response.message.statusCode && | ||||
|                     HttpRedirectCodes.includes(response.message.statusCode) && | ||||
|                     this._allowRedirects && | ||||
|                     redirectsRemaining > 0) { | ||||
|                     const redirectUrl = response.message.headers['location']; | ||||
|                     if (!redirectUrl) { | ||||
|                         // if there's no location to redirect to, we won't
 | ||||
|                         break; | ||||
|                     } | ||||
|                     const parsedRedirectUrl = new URL(redirectUrl); | ||||
|                     if (parsedUrl.protocol === 'https:' && | ||||
|                         parsedUrl.protocol !== parsedRedirectUrl.protocol && | ||||
|                         !this._allowRedirectDowngrade) { | ||||
|                         throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); | ||||
|                     } | ||||
|                     // we need to finish reading the response before reassigning response
 | ||||
|                     // which will leak the open socket.
 | ||||
|                     yield response.readBody(); | ||||
|                     // strip authorization header if redirected to a different hostname
 | ||||
|                     if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { | ||||
|                         for (const header in headers) { | ||||
|                             // header names are case insensitive
 | ||||
|                             if (header.toLowerCase() === 'authorization') { | ||||
|                                 delete headers[header]; | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                     // let's make the request with the new redirectUrl
 | ||||
|                     info = this._prepareRequest(verb, parsedRedirectUrl, headers); | ||||
|                     response = yield this.requestRaw(info, data); | ||||
|                     redirectsRemaining--; | ||||
|                 } | ||||
|                 if (!response.message.statusCode || | ||||
|                     !HttpResponseRetryCodes.includes(response.message.statusCode)) { | ||||
|                     // If not a retry code, return immediately instead of retrying
 | ||||
|                     return response; | ||||
|                 } | ||||
|                 numTries += 1; | ||||
|                 if (numTries < maxTries) { | ||||
|                     yield response.readBody(); | ||||
|                     yield this._performExponentialBackoff(numTries); | ||||
|                 } | ||||
|             } while (numTries < maxTries); | ||||
|             return response; | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Needs to be called if keepAlive is set to true in request options. | ||||
|      */ | ||||
|     dispose() { | ||||
|         if (this._agent) { | ||||
|             this._agent.destroy(); | ||||
|         } | ||||
|         this._disposed = true; | ||||
|     } | ||||
|     /** | ||||
|      * Raw request. | ||||
|      * @param info | ||||
|      * @param data | ||||
|      */ | ||||
|     requestRaw(info, data) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return new Promise((resolve, reject) => { | ||||
|                 function callbackForResult(err, res) { | ||||
|                     if (err) { | ||||
|                         reject(err); | ||||
|                     } | ||||
|                     else if (!res) { | ||||
|                         // If `err` is not passed, then `res` must be passed.
 | ||||
|                         reject(new Error('Unknown error')); | ||||
|                     } | ||||
|                     else { | ||||
|                         resolve(res); | ||||
|                     } | ||||
|                 } | ||||
|                 this.requestRawWithCallback(info, data, callbackForResult); | ||||
|             }); | ||||
|         }); | ||||
|     } | ||||
|     /** | ||||
|      * Raw request with callback. | ||||
|      * @param info | ||||
|      * @param data | ||||
|      * @param onResult | ||||
|      */ | ||||
|     requestRawWithCallback(info, data, onResult) { | ||||
|         if (typeof data === 'string') { | ||||
|             if (!info.options.headers) { | ||||
|                 info.options.headers = {}; | ||||
|             } | ||||
|             info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); | ||||
|         } | ||||
|         let callbackCalled = false; | ||||
|         function handleResult(err, res) { | ||||
|             if (!callbackCalled) { | ||||
|                 callbackCalled = true; | ||||
|                 onResult(err, res); | ||||
|             } | ||||
|         } | ||||
|         const req = info.httpModule.request(info.options, (msg) => { | ||||
|             const res = new HttpClientResponse(msg); | ||||
|             handleResult(undefined, res); | ||||
|         }); | ||||
|         let socket; | ||||
|         req.on('socket', sock => { | ||||
|             socket = sock; | ||||
|         }); | ||||
|         // If we ever get disconnected, we want the socket to timeout eventually
 | ||||
|         req.setTimeout(this._socketTimeout || 3 * 60000, () => { | ||||
|             if (socket) { | ||||
|                 socket.end(); | ||||
|             } | ||||
|             handleResult(new Error(`Request timeout: ${info.options.path}`)); | ||||
|         }); | ||||
|         req.on('error', function (err) { | ||||
|             // err has statusCode property
 | ||||
|             // res should have headers
 | ||||
|             handleResult(err); | ||||
|         }); | ||||
|         if (data && typeof data === 'string') { | ||||
|             req.write(data, 'utf8'); | ||||
|         } | ||||
|         if (data && typeof data !== 'string') { | ||||
|             data.on('close', function () { | ||||
|                 req.end(); | ||||
|             }); | ||||
|             data.pipe(req); | ||||
|         } | ||||
|         else { | ||||
|             req.end(); | ||||
|         } | ||||
|     } | ||||
|     /** | ||||
|      * Gets an http agent. This function is useful when you need an http agent that handles | ||||
|      * routing through a proxy server - depending upon the url and proxy environment variables. | ||||
|      * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 | ||||
|      */ | ||||
|     getAgent(serverUrl) { | ||||
|         const parsedUrl = new URL(serverUrl); | ||||
|         return this._getAgent(parsedUrl); | ||||
|     } | ||||
|     _prepareRequest(method, requestUrl, headers) { | ||||
|         const info = {}; | ||||
|         info.parsedUrl = requestUrl; | ||||
|         const usingSsl = info.parsedUrl.protocol === 'https:'; | ||||
|         info.httpModule = usingSsl ? https : http; | ||||
|         const defaultPort = usingSsl ? 443 : 80; | ||||
|         info.options = {}; | ||||
|         info.options.host = info.parsedUrl.hostname; | ||||
|         info.options.port = info.parsedUrl.port | ||||
|             ? parseInt(info.parsedUrl.port) | ||||
|             : defaultPort; | ||||
|         info.options.path = | ||||
|             (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); | ||||
|         info.options.method = method; | ||||
|         info.options.headers = this._mergeHeaders(headers); | ||||
|         if (this.userAgent != null) { | ||||
|             info.options.headers['user-agent'] = this.userAgent; | ||||
|         } | ||||
|         info.options.agent = this._getAgent(info.parsedUrl); | ||||
|         // gives handlers an opportunity to participate
 | ||||
|         if (this.handlers) { | ||||
|             for (const handler of this.handlers) { | ||||
|                 handler.prepareRequest(info.options); | ||||
|             } | ||||
|         } | ||||
|         return info; | ||||
|     } | ||||
|     _mergeHeaders(headers) { | ||||
|         if (this.requestOptions && this.requestOptions.headers) { | ||||
|             return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); | ||||
|         } | ||||
|         return lowercaseKeys(headers || {}); | ||||
|     } | ||||
|     _getExistingOrDefaultHeader(additionalHeaders, header, _default) { | ||||
|         let clientHeader; | ||||
|         if (this.requestOptions && this.requestOptions.headers) { | ||||
|             clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; | ||||
|         } | ||||
|         return additionalHeaders[header] || clientHeader || _default; | ||||
|     } | ||||
|     _getAgent(parsedUrl) { | ||||
|         let agent; | ||||
|         const proxyUrl = pm.getProxyUrl(parsedUrl); | ||||
|         const useProxy = proxyUrl && proxyUrl.hostname; | ||||
|         if (this._keepAlive && useProxy) { | ||||
|             agent = this._proxyAgent; | ||||
|         } | ||||
|         if (this._keepAlive && !useProxy) { | ||||
|             agent = this._agent; | ||||
|         } | ||||
|         // if agent is already assigned use that agent.
 | ||||
|         if (agent) { | ||||
|             return agent; | ||||
|         } | ||||
|         const usingSsl = parsedUrl.protocol === 'https:'; | ||||
|         let maxSockets = 100; | ||||
|         if (this.requestOptions) { | ||||
|             maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; | ||||
|         } | ||||
|         // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.
 | ||||
|         if (proxyUrl && proxyUrl.hostname) { | ||||
|             const agentOptions = { | ||||
|                 maxSockets, | ||||
|                 keepAlive: this._keepAlive, | ||||
|                 proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { | ||||
|                     proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` | ||||
|                 })), { host: proxyUrl.hostname, port: proxyUrl.port }) | ||||
|             }; | ||||
|             let tunnelAgent; | ||||
|             const overHttps = proxyUrl.protocol === 'https:'; | ||||
|             if (usingSsl) { | ||||
|                 tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; | ||||
|             } | ||||
|             else { | ||||
|                 tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; | ||||
|             } | ||||
|             agent = tunnelAgent(agentOptions); | ||||
|             this._proxyAgent = agent; | ||||
|         } | ||||
|         // if reusing agent across request and tunneling agent isn't assigned create a new agent
 | ||||
|         if (this._keepAlive && !agent) { | ||||
|             const options = { keepAlive: this._keepAlive, maxSockets }; | ||||
|             agent = usingSsl ? new https.Agent(options) : new http.Agent(options); | ||||
|             this._agent = agent; | ||||
|         } | ||||
|         // if not using private agent and tunnel agent isn't setup then use global agent
 | ||||
|         if (!agent) { | ||||
|             agent = usingSsl ? https.globalAgent : http.globalAgent; | ||||
|         } | ||||
|         if (usingSsl && this._ignoreSslError) { | ||||
|             // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process
 | ||||
|             // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options
 | ||||
|             // we have to cast it to any and change it directly
 | ||||
|             agent.options = Object.assign(agent.options || {}, { | ||||
|                 rejectUnauthorized: false | ||||
|             }); | ||||
|         } | ||||
|         return agent; | ||||
|     } | ||||
|     _performExponentialBackoff(retryNumber) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); | ||||
|             const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); | ||||
|             return new Promise(resolve => setTimeout(() => resolve(), ms)); | ||||
|         }); | ||||
|     } | ||||
|     _processResponse(res, options) { | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { | ||||
|                 const statusCode = res.message.statusCode || 0; | ||||
|                 const response = { | ||||
|                     statusCode, | ||||
|                     result: null, | ||||
|                     headers: {} | ||||
|                 }; | ||||
|                 // not found leads to null obj returned
 | ||||
|                 if (statusCode === HttpCodes.NotFound) { | ||||
|                     resolve(response); | ||||
|                 } | ||||
|                 // get the result from the body
 | ||||
|                 function dateTimeDeserializer(key, value) { | ||||
|                     if (typeof value === 'string') { | ||||
|                         const a = new Date(value); | ||||
|                         if (!isNaN(a.valueOf())) { | ||||
|                             return a; | ||||
|                         } | ||||
|                     } | ||||
|                     return value; | ||||
|                 } | ||||
|                 let obj; | ||||
|                 let contents; | ||||
|                 try { | ||||
|                     contents = yield res.readBody(); | ||||
|                     if (contents && contents.length > 0) { | ||||
|                         if (options && options.deserializeDates) { | ||||
|                             obj = JSON.parse(contents, dateTimeDeserializer); | ||||
|                         } | ||||
|                         else { | ||||
|                             obj = JSON.parse(contents); | ||||
|                         } | ||||
|                         response.result = obj; | ||||
|                     } | ||||
|                     response.headers = res.message.headers; | ||||
|                 } | ||||
|                 catch (err) { | ||||
|                     // Invalid resource (contents not json);  leaving result obj null
 | ||||
|                 } | ||||
|                 // note that 3xx redirects are handled by the http layer.
 | ||||
|                 if (statusCode > 299) { | ||||
|                     let msg; | ||||
|                     // if exception/error in body, attempt to get better error
 | ||||
|                     if (obj && obj.message) { | ||||
|                         msg = obj.message; | ||||
|                     } | ||||
|                     else if (contents && contents.length > 0) { | ||||
|                         // it may be the case that the exception is in the body message as string
 | ||||
|                         msg = contents; | ||||
|                     } | ||||
|                     else { | ||||
|                         msg = `Failed request: (${statusCode})`; | ||||
|                     } | ||||
|                     const err = new HttpClientError(msg, statusCode); | ||||
|                     err.result = response.result; | ||||
|                     reject(err); | ||||
|                 } | ||||
|                 else { | ||||
|                     resolve(response); | ||||
|                 } | ||||
|             })); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| exports.HttpClient = HttpClient; | ||||
| const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); | ||||
| //# sourceMappingURL=index.js.map
 | ||||
| 
 | ||||
| /***/ }) | ||||
| 
 | ||||
| /******/ }); | ||||
							
								
								
									
										4153
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4153
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -1,13 +1,32 @@ | ||||
| { | ||||
|   "name": "checkout", | ||||
|   "version": "2.0.2", | ||||
|   "version": "2.6.0", | ||||
|   "lockfileVersion": 1, | ||||
|   "requires": true, | ||||
|   "dependencies": { | ||||
|     "@actions/core": { | ||||
|       "version": "1.2.6", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.6.tgz", | ||||
|       "integrity": "sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA==" | ||||
|       "version": "1.10.0", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", | ||||
|       "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", | ||||
|       "requires": { | ||||
|         "@actions/http-client": "^2.0.1", | ||||
|         "uuid": "^8.3.2" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@actions/http-client": { | ||||
|           "version": "2.0.1", | ||||
|           "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", | ||||
|           "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", | ||||
|           "requires": { | ||||
|             "tunnel": "^0.0.6" | ||||
|           } | ||||
|         }, | ||||
|         "uuid": { | ||||
|           "version": "8.3.2", | ||||
|           "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", | ||||
|           "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@actions/exec": { | ||||
|       "version": "1.0.1", | ||||
| @ -40,9 +59,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "@actions/io": { | ||||
|       "version": "1.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.0.1.tgz", | ||||
|       "integrity": "sha512-rhq+tfZukbtaus7xyUtwKfuiCRXd1hWSfmJNEpFgBQJ4woqPEpsBw04awicjwz9tyG2/MVhAEMfVn664Cri5zA==" | ||||
|       "version": "1.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.2.tgz", | ||||
|       "integrity": "sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw==" | ||||
|     }, | ||||
|     "@actions/tool-cache": { | ||||
|       "version": "1.1.2", | ||||
| @ -64,152 +83,51 @@ | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@babel/code-frame": { | ||||
|       "version": "7.5.5", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", | ||||
|       "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", | ||||
|     "@ampproject/remapping": { | ||||
|       "version": "2.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", | ||||
|       "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/highlight": "^7.0.0" | ||||
|         "@jridgewell/gen-mapping": "^0.1.0", | ||||
|         "@jridgewell/trace-mapping": "^0.3.9" | ||||
|       } | ||||
|     }, | ||||
|     "@babel/code-frame": { | ||||
|       "version": "7.18.6", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", | ||||
|       "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/highlight": "^7.18.6" | ||||
|       } | ||||
|     }, | ||||
|     "@babel/compat-data": { | ||||
|       "version": "7.15.0", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", | ||||
|       "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", | ||||
|       "version": "7.20.5", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", | ||||
|       "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@babel/core": { | ||||
|       "version": "7.7.4", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.4.tgz", | ||||
|       "integrity": "sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ==", | ||||
|       "version": "7.20.5", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", | ||||
|       "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/code-frame": "^7.5.5", | ||||
|         "@babel/generator": "^7.7.4", | ||||
|         "@babel/helpers": "^7.7.4", | ||||
|         "@babel/parser": "^7.7.4", | ||||
|         "@babel/template": "^7.7.4", | ||||
|         "@babel/traverse": "^7.7.4", | ||||
|         "@babel/types": "^7.7.4", | ||||
|         "@ampproject/remapping": "^2.1.0", | ||||
|         "@babel/code-frame": "^7.18.6", | ||||
|         "@babel/generator": "^7.20.5", | ||||
|         "@babel/helper-compilation-targets": "^7.20.0", | ||||
|         "@babel/helper-module-transforms": "^7.20.2", | ||||
|         "@babel/helpers": "^7.20.5", | ||||
|         "@babel/parser": "^7.20.5", | ||||
|         "@babel/template": "^7.18.10", | ||||
|         "@babel/traverse": "^7.20.5", | ||||
|         "@babel/types": "^7.20.5", | ||||
|         "convert-source-map": "^1.7.0", | ||||
|         "debug": "^4.1.0", | ||||
|         "json5": "^2.1.0", | ||||
|         "lodash": "^4.17.13", | ||||
|         "resolve": "^1.3.2", | ||||
|         "semver": "^5.4.1", | ||||
|         "source-map": "^0.5.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/generator": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", | ||||
|           "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.7.4", | ||||
|             "jsesc": "^2.5.1", | ||||
|             "lodash": "^4.17.13", | ||||
|             "source-map": "^0.5.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-function-name": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", | ||||
|           "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-get-function-arity": "^7.7.4", | ||||
|             "@babel/template": "^7.7.4", | ||||
|             "@babel/types": "^7.7.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-get-function-arity": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", | ||||
|           "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.7.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-split-export-declaration": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", | ||||
|           "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.7.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/parser": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", | ||||
|           "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "@babel/template": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", | ||||
|           "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.0.0", | ||||
|             "@babel/parser": "^7.7.4", | ||||
|             "@babel/types": "^7.7.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/traverse": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", | ||||
|           "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.5.5", | ||||
|             "@babel/generator": "^7.7.4", | ||||
|             "@babel/helper-function-name": "^7.7.4", | ||||
|             "@babel/helper-split-export-declaration": "^7.7.4", | ||||
|             "@babel/parser": "^7.7.4", | ||||
|             "@babel/types": "^7.7.4", | ||||
|             "debug": "^4.1.0", | ||||
|             "globals": "^11.1.0", | ||||
|             "lodash": "^4.17.13" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/types": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", | ||||
|           "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "esutils": "^2.0.2", | ||||
|             "lodash": "^4.17.13", | ||||
|             "to-fast-properties": "^2.0.0" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@babel/generator": { | ||||
|       "version": "7.7.2", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.2.tgz", | ||||
|       "integrity": "sha512-WthSArvAjYLz4TcbKOi88me+KmDJdKSlfwwN8CnUYn9jBkzhq0ZEPuBfkAWIvjJ3AdEV1Cf/+eSQTnp3IDJKlQ==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/types": "^7.7.2", | ||||
|         "jsesc": "^2.5.1", | ||||
|         "lodash": "^4.17.13", | ||||
|         "source-map": "^0.5.0" | ||||
|       } | ||||
|     }, | ||||
|     "@babel/helper-compilation-targets": { | ||||
|       "version": "7.15.4", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", | ||||
|       "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/compat-data": "^7.15.0", | ||||
|         "@babel/helper-validator-option": "^7.14.5", | ||||
|         "browserslist": "^4.16.6", | ||||
|         "gensync": "^1.0.0-beta.2", | ||||
|         "json5": "^2.2.1", | ||||
|         "semver": "^6.3.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
| @ -221,230 +139,98 @@ | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@babel/helper-function-name": { | ||||
|       "version": "7.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.0.tgz", | ||||
|       "integrity": "sha512-tDsJgMUAP00Ugv8O2aGEua5I2apkaQO7lBGUq1ocwN3G23JE5Dcq0uh3GvFTChPa4b40AWiAsLvCZOA2rdnQ7Q==", | ||||
|     "@babel/generator": { | ||||
|       "version": "7.20.5", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", | ||||
|       "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/helper-get-function-arity": "^7.7.0", | ||||
|         "@babel/template": "^7.7.0", | ||||
|         "@babel/types": "^7.7.0" | ||||
|         "@babel/types": "^7.20.5", | ||||
|         "@jridgewell/gen-mapping": "^0.3.2", | ||||
|         "jsesc": "^2.5.1" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@jridgewell/gen-mapping": { | ||||
|           "version": "0.3.2", | ||||
|           "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", | ||||
|           "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@jridgewell/set-array": "^1.0.1", | ||||
|             "@jridgewell/sourcemap-codec": "^1.4.10", | ||||
|             "@jridgewell/trace-mapping": "^0.3.9" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@babel/helper-get-function-arity": { | ||||
|       "version": "7.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.0.tgz", | ||||
|       "integrity": "sha512-tLdojOTz4vWcEnHWHCuPN5P85JLZWbm5Fx5ZsMEMPhF3Uoe3O7awrbM2nQ04bDOUToH/2tH/ezKEOR8zEYzqyw==", | ||||
|     "@babel/helper-compilation-targets": { | ||||
|       "version": "7.20.0", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", | ||||
|       "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/types": "^7.7.0" | ||||
|         "@babel/compat-data": "^7.20.0", | ||||
|         "@babel/helper-validator-option": "^7.18.6", | ||||
|         "browserslist": "^4.21.3", | ||||
|         "semver": "^6.3.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "semver": { | ||||
|           "version": "6.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", | ||||
|           "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", | ||||
|           "dev": true | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@babel/helper-environment-visitor": { | ||||
|       "version": "7.18.9", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", | ||||
|       "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@babel/helper-function-name": { | ||||
|       "version": "7.19.0", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", | ||||
|       "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/template": "^7.18.10", | ||||
|         "@babel/types": "^7.19.0" | ||||
|       } | ||||
|     }, | ||||
|     "@babel/helper-hoist-variables": { | ||||
|       "version": "7.15.4", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", | ||||
|       "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", | ||||
|       "version": "7.18.6", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", | ||||
|       "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/types": "^7.15.4" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/types": { | ||||
|           "version": "7.15.6", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|           "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.9", | ||||
|             "to-fast-properties": "^2.0.0" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@babel/helper-member-expression-to-functions": { | ||||
|       "version": "7.15.4", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", | ||||
|       "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/types": "^7.15.4" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/types": { | ||||
|           "version": "7.15.6", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|           "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.9", | ||||
|             "to-fast-properties": "^2.0.0" | ||||
|           } | ||||
|         } | ||||
|         "@babel/types": "^7.18.6" | ||||
|       } | ||||
|     }, | ||||
|     "@babel/helper-module-imports": { | ||||
|       "version": "7.15.4", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", | ||||
|       "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", | ||||
|       "version": "7.18.6", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", | ||||
|       "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/types": "^7.15.4" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/types": { | ||||
|           "version": "7.15.6", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|           "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.9", | ||||
|             "to-fast-properties": "^2.0.0" | ||||
|           } | ||||
|         } | ||||
|         "@babel/types": "^7.18.6" | ||||
|       } | ||||
|     }, | ||||
|     "@babel/helper-module-transforms": { | ||||
|       "version": "7.15.8", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", | ||||
|       "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", | ||||
|       "version": "7.20.2", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", | ||||
|       "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/helper-module-imports": "^7.15.4", | ||||
|         "@babel/helper-replace-supers": "^7.15.4", | ||||
|         "@babel/helper-simple-access": "^7.15.4", | ||||
|         "@babel/helper-split-export-declaration": "^7.15.4", | ||||
|         "@babel/helper-validator-identifier": "^7.15.7", | ||||
|         "@babel/template": "^7.15.4", | ||||
|         "@babel/traverse": "^7.15.4", | ||||
|         "@babel/types": "^7.15.6" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/generator": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", | ||||
|           "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.6", | ||||
|             "jsesc": "^2.5.1", | ||||
|             "source-map": "^0.5.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-function-name": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", | ||||
|           "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-get-function-arity": "^7.15.4", | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-get-function-arity": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", | ||||
|           "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-split-export-declaration": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", | ||||
|           "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/parser": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|           "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "@babel/template": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", | ||||
|           "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/traverse": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", | ||||
|           "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/generator": "^7.15.4", | ||||
|             "@babel/helper-function-name": "^7.15.4", | ||||
|             "@babel/helper-hoist-variables": "^7.15.4", | ||||
|             "@babel/helper-split-export-declaration": "^7.15.4", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4", | ||||
|             "debug": "^4.1.0", | ||||
|             "globals": "^11.1.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/types": { | ||||
|           "version": "7.15.6", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|           "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.9", | ||||
|             "to-fast-properties": "^2.0.0" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@babel/helper-optimise-call-expression": { | ||||
|       "version": "7.15.4", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", | ||||
|       "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/types": "^7.15.4" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/types": { | ||||
|           "version": "7.15.6", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|           "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.9", | ||||
|             "to-fast-properties": "^2.0.0" | ||||
|           } | ||||
|         } | ||||
|         "@babel/helper-environment-visitor": "^7.18.9", | ||||
|         "@babel/helper-module-imports": "^7.18.6", | ||||
|         "@babel/helper-simple-access": "^7.20.2", | ||||
|         "@babel/helper-split-export-declaration": "^7.18.6", | ||||
|         "@babel/helper-validator-identifier": "^7.19.1", | ||||
|         "@babel/template": "^7.18.10", | ||||
|         "@babel/traverse": "^7.20.1", | ||||
|         "@babel/types": "^7.20.2" | ||||
|       } | ||||
|     }, | ||||
|     "@babel/helper-plugin-utils": { | ||||
| @ -453,280 +239,68 @@ | ||||
|       "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@babel/helper-replace-supers": { | ||||
|       "version": "7.15.4", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", | ||||
|       "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", | ||||
|     "@babel/helper-simple-access": { | ||||
|       "version": "7.20.2", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", | ||||
|       "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/helper-member-expression-to-functions": "^7.15.4", | ||||
|         "@babel/helper-optimise-call-expression": "^7.15.4", | ||||
|         "@babel/traverse": "^7.15.4", | ||||
|         "@babel/types": "^7.15.4" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/generator": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", | ||||
|           "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.6", | ||||
|             "jsesc": "^2.5.1", | ||||
|             "source-map": "^0.5.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-function-name": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", | ||||
|           "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-get-function-arity": "^7.15.4", | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-get-function-arity": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", | ||||
|           "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|         "@babel/types": "^7.20.2" | ||||
|       } | ||||
|     }, | ||||
|     "@babel/helper-split-export-declaration": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", | ||||
|           "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", | ||||
|       "version": "7.18.6", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", | ||||
|       "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|         "@babel/types": "^7.18.6" | ||||
|       } | ||||
|     }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/parser": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|           "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|     "@babel/helper-string-parser": { | ||||
|       "version": "7.19.4", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", | ||||
|       "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|         "@babel/template": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", | ||||
|           "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/traverse": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", | ||||
|           "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/generator": "^7.15.4", | ||||
|             "@babel/helper-function-name": "^7.15.4", | ||||
|             "@babel/helper-hoist-variables": "^7.15.4", | ||||
|             "@babel/helper-split-export-declaration": "^7.15.4", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4", | ||||
|             "debug": "^4.1.0", | ||||
|             "globals": "^11.1.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/types": { | ||||
|           "version": "7.15.6", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|           "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.9", | ||||
|             "to-fast-properties": "^2.0.0" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@babel/helper-simple-access": { | ||||
|       "version": "7.15.4", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", | ||||
|       "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/types": "^7.15.4" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/types": { | ||||
|           "version": "7.15.6", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|           "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.9", | ||||
|             "to-fast-properties": "^2.0.0" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@babel/helper-split-export-declaration": { | ||||
|       "version": "7.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.0.tgz", | ||||
|       "integrity": "sha512-HgYSI8rH08neWlAH3CcdkFg9qX9YsZysZI5GD8LjhQib/mM0jGOZOVkoUiiV2Hu978fRtjtsGsW6w0pKHUWtqA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/types": "^7.7.0" | ||||
|       } | ||||
|     }, | ||||
|     "@babel/helper-validator-identifier": { | ||||
|       "version": "7.15.7", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", | ||||
|       "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", | ||||
|       "version": "7.19.1", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", | ||||
|       "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@babel/helper-validator-option": { | ||||
|       "version": "7.14.5", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", | ||||
|       "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", | ||||
|       "version": "7.18.6", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", | ||||
|       "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@babel/helpers": { | ||||
|       "version": "7.7.4", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz", | ||||
|       "integrity": "sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==", | ||||
|       "version": "7.20.6", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", | ||||
|       "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/template": "^7.7.4", | ||||
|         "@babel/traverse": "^7.7.4", | ||||
|         "@babel/types": "^7.7.4" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/generator": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", | ||||
|           "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.7.4", | ||||
|             "jsesc": "^2.5.1", | ||||
|             "lodash": "^4.17.13", | ||||
|             "source-map": "^0.5.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-function-name": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", | ||||
|           "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-get-function-arity": "^7.7.4", | ||||
|             "@babel/template": "^7.7.4", | ||||
|             "@babel/types": "^7.7.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-get-function-arity": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", | ||||
|           "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.7.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-split-export-declaration": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", | ||||
|           "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.7.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/parser": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", | ||||
|           "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "@babel/template": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", | ||||
|           "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.0.0", | ||||
|             "@babel/parser": "^7.7.4", | ||||
|             "@babel/types": "^7.7.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/traverse": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", | ||||
|           "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.5.5", | ||||
|             "@babel/generator": "^7.7.4", | ||||
|             "@babel/helper-function-name": "^7.7.4", | ||||
|             "@babel/helper-split-export-declaration": "^7.7.4", | ||||
|             "@babel/parser": "^7.7.4", | ||||
|             "@babel/types": "^7.7.4", | ||||
|             "debug": "^4.1.0", | ||||
|             "globals": "^11.1.0", | ||||
|             "lodash": "^4.17.13" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/types": { | ||||
|           "version": "7.7.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", | ||||
|           "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "esutils": "^2.0.2", | ||||
|             "lodash": "^4.17.13", | ||||
|             "to-fast-properties": "^2.0.0" | ||||
|           } | ||||
|         } | ||||
|         "@babel/template": "^7.18.10", | ||||
|         "@babel/traverse": "^7.20.5", | ||||
|         "@babel/types": "^7.20.5" | ||||
|       } | ||||
|     }, | ||||
|     "@babel/highlight": { | ||||
|       "version": "7.5.0", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", | ||||
|       "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", | ||||
|       "version": "7.18.6", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", | ||||
|       "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/helper-validator-identifier": "^7.18.6", | ||||
|         "chalk": "^2.0.0", | ||||
|         "esutils": "^2.0.2", | ||||
|         "js-tokens": "^4.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "@babel/parser": { | ||||
|       "version": "7.7.3", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.3.tgz", | ||||
|       "integrity": "sha512-bqv+iCo9i+uLVbI0ILzKkvMorqxouI+GbV13ivcARXn9NNEabi2IEz912IgNpT/60BNXac5dgcfjb94NjsF33A==", | ||||
|       "version": "7.20.5", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", | ||||
|       "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@babel/plugin-syntax-async-generators": { | ||||
| @ -951,41 +525,42 @@ | ||||
|       } | ||||
|     }, | ||||
|     "@babel/template": { | ||||
|       "version": "7.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.0.tgz", | ||||
|       "integrity": "sha512-OKcwSYOW1mhWbnTBgQY5lvg1Fxg+VyfQGjcBduZFljfc044J5iDlnDSfhQ867O17XHiSCxYHUxHg2b7ryitbUQ==", | ||||
|       "version": "7.18.10", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", | ||||
|       "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/code-frame": "^7.0.0", | ||||
|         "@babel/parser": "^7.7.0", | ||||
|         "@babel/types": "^7.7.0" | ||||
|         "@babel/code-frame": "^7.18.6", | ||||
|         "@babel/parser": "^7.18.10", | ||||
|         "@babel/types": "^7.18.10" | ||||
|       } | ||||
|     }, | ||||
|     "@babel/traverse": { | ||||
|       "version": "7.7.2", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.2.tgz", | ||||
|       "integrity": "sha512-TM01cXib2+rgIZrGJOLaHV/iZUAxf4A0dt5auY6KNZ+cm6aschuJGqKJM3ROTt3raPUdIDk9siAufIFEleRwtw==", | ||||
|       "version": "7.20.5", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", | ||||
|       "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/code-frame": "^7.5.5", | ||||
|         "@babel/generator": "^7.7.2", | ||||
|         "@babel/helper-function-name": "^7.7.0", | ||||
|         "@babel/helper-split-export-declaration": "^7.7.0", | ||||
|         "@babel/parser": "^7.7.2", | ||||
|         "@babel/types": "^7.7.2", | ||||
|         "@babel/code-frame": "^7.18.6", | ||||
|         "@babel/generator": "^7.20.5", | ||||
|         "@babel/helper-environment-visitor": "^7.18.9", | ||||
|         "@babel/helper-function-name": "^7.19.0", | ||||
|         "@babel/helper-hoist-variables": "^7.18.6", | ||||
|         "@babel/helper-split-export-declaration": "^7.18.6", | ||||
|         "@babel/parser": "^7.20.5", | ||||
|         "@babel/types": "^7.20.5", | ||||
|         "debug": "^4.1.0", | ||||
|         "globals": "^11.1.0", | ||||
|         "lodash": "^4.17.13" | ||||
|         "globals": "^11.1.0" | ||||
|       } | ||||
|     }, | ||||
|     "@babel/types": { | ||||
|       "version": "7.7.2", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.2.tgz", | ||||
|       "integrity": "sha512-YTf6PXoh3+eZgRCBzzP25Bugd2ngmpQVrk7kXX0i5N9BO7TFBtIgZYs7WtxtOGs8e6A4ZI7ECkbBCEHeXocvOA==", | ||||
|       "version": "7.20.5", | ||||
|       "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", | ||||
|       "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "esutils": "^2.0.2", | ||||
|         "lodash": "^4.17.13", | ||||
|         "@babel/helper-string-parser": "^7.19.4", | ||||
|         "@babel/helper-validator-identifier": "^7.19.1", | ||||
|         "to-fast-properties": "^2.0.0" | ||||
|       } | ||||
|     }, | ||||
| @ -1254,181 +829,6 @@ | ||||
|         "strip-ansi": "^6.0.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/generator": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", | ||||
|           "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.6", | ||||
|             "jsesc": "^2.5.1", | ||||
|             "source-map": "^0.5.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-function-name": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", | ||||
|           "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-get-function-arity": "^7.15.4", | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-get-function-arity": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", | ||||
|           "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-split-export-declaration": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", | ||||
|           "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helpers": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", | ||||
|           "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/traverse": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "ansi-styles": { | ||||
|               "version": "3.2.1", | ||||
|               "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||
|               "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||||
|               "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "has-flag": { | ||||
|               "version": "3.0.0", | ||||
|               "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|               "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "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.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|           "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "@babel/template": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", | ||||
|           "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/traverse": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", | ||||
|           "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/generator": "^7.15.4", | ||||
|             "@babel/helper-function-name": "^7.15.4", | ||||
|             "@babel/helper-hoist-variables": "^7.15.4", | ||||
|             "@babel/helper-split-export-declaration": "^7.15.4", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4", | ||||
|             "debug": "^4.1.0", | ||||
|             "globals": "^11.1.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/types": { | ||||
|           "version": "7.15.6", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|           "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.9", | ||||
|             "to-fast-properties": "^2.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "@jest/console": { | ||||
|           "version": "27.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.3.0.tgz", | ||||
| @ -1690,37 +1090,6 @@ | ||||
|             "@istanbuljs/schema": "^0.1.2", | ||||
|             "istanbul-lib-coverage": "^3.0.0", | ||||
|             "semver": "^6.3.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/core": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", | ||||
|               "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/code-frame": "^7.15.8", | ||||
|                 "@babel/generator": "^7.15.8", | ||||
|                 "@babel/helper-compilation-targets": "^7.15.4", | ||||
|                 "@babel/helper-module-transforms": "^7.15.8", | ||||
|                 "@babel/helpers": "^7.15.4", | ||||
|                 "@babel/parser": "^7.15.8", | ||||
|                 "@babel/template": "^7.15.4", | ||||
|                 "@babel/traverse": "^7.15.4", | ||||
|                 "@babel/types": "^7.15.6", | ||||
|                 "convert-source-map": "^1.7.0", | ||||
|                 "debug": "^4.1.0", | ||||
|                 "gensync": "^1.0.0-beta.2", | ||||
|                 "json5": "^2.1.2", | ||||
|                 "semver": "^6.3.0", | ||||
|                 "source-map": "^0.5.0" | ||||
|               } | ||||
|             }, | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "jest-diff": { | ||||
| @ -1910,15 +1279,6 @@ | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "json5": { | ||||
|           "version": "2.2.0", | ||||
|           "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", | ||||
|           "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "minimist": "^1.2.5" | ||||
|           } | ||||
|         }, | ||||
|         "micromatch": { | ||||
|           "version": "4.0.4", | ||||
|           "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", | ||||
| @ -1929,12 +1289,6 @@ | ||||
|             "picomatch": "^2.2.3" | ||||
|           } | ||||
|         }, | ||||
|         "minimist": { | ||||
|           "version": "1.2.5", | ||||
|           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", | ||||
|           "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "normalize-path": { | ||||
|           "version": "3.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", | ||||
| @ -2274,78 +1628,6 @@ | ||||
|         "expect": "^27.3.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "ansi-styles": { | ||||
|               "version": "3.2.1", | ||||
|               "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||
|               "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||||
|               "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "has-flag": { | ||||
|               "version": "3.0.0", | ||||
|               "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|               "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "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" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@jest/environment": { | ||||
|           "version": "27.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.3.0.tgz", | ||||
| @ -2717,181 +1999,6 @@ | ||||
|         "v8-to-istanbul": "^8.1.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/generator": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", | ||||
|           "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.6", | ||||
|             "jsesc": "^2.5.1", | ||||
|             "source-map": "^0.5.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-function-name": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", | ||||
|           "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-get-function-arity": "^7.15.4", | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-get-function-arity": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", | ||||
|           "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-split-export-declaration": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", | ||||
|           "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helpers": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", | ||||
|           "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/traverse": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "ansi-styles": { | ||||
|               "version": "3.2.1", | ||||
|               "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||
|               "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||||
|               "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "has-flag": { | ||||
|               "version": "3.0.0", | ||||
|               "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|               "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "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.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|           "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "@babel/template": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", | ||||
|           "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/traverse": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", | ||||
|           "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/generator": "^7.15.4", | ||||
|             "@babel/helper-function-name": "^7.15.4", | ||||
|             "@babel/helper-hoist-variables": "^7.15.4", | ||||
|             "@babel/helper-split-export-declaration": "^7.15.4", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4", | ||||
|             "debug": "^4.1.0", | ||||
|             "globals": "^11.1.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/types": { | ||||
|           "version": "7.15.6", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|           "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.9", | ||||
|             "to-fast-properties": "^2.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "@jest/console": { | ||||
|           "version": "27.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.3.0.tgz", | ||||
| @ -3016,29 +2123,6 @@ | ||||
|             "test-exclude": "^6.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/core": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", | ||||
|               "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/code-frame": "^7.15.8", | ||||
|                 "@babel/generator": "^7.15.8", | ||||
|                 "@babel/helper-compilation-targets": "^7.15.4", | ||||
|                 "@babel/helper-module-transforms": "^7.15.8", | ||||
|                 "@babel/helpers": "^7.15.4", | ||||
|                 "@babel/parser": "^7.15.8", | ||||
|                 "@babel/template": "^7.15.4", | ||||
|                 "@babel/traverse": "^7.15.4", | ||||
|                 "@babel/types": "^7.15.6", | ||||
|                 "convert-source-map": "^1.7.0", | ||||
|                 "debug": "^4.1.0", | ||||
|                 "gensync": "^1.0.0-beta.2", | ||||
|                 "json5": "^2.1.2", | ||||
|                 "semver": "^6.3.0", | ||||
|                 "source-map": "^0.5.0" | ||||
|               } | ||||
|             }, | ||||
|             "istanbul-lib-instrument": { | ||||
|               "version": "5.0.4", | ||||
|               "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.0.4.tgz", | ||||
| @ -3051,12 +2135,6 @@ | ||||
|                 "istanbul-lib-coverage": "^3.0.0", | ||||
|                 "semver": "^6.3.0" | ||||
|               } | ||||
|             }, | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
| @ -3159,37 +2237,6 @@ | ||||
|             "@istanbuljs/schema": "^0.1.2", | ||||
|             "istanbul-lib-coverage": "^3.0.0", | ||||
|             "semver": "^6.3.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/core": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", | ||||
|               "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/code-frame": "^7.15.8", | ||||
|                 "@babel/generator": "^7.15.8", | ||||
|                 "@babel/helper-compilation-targets": "^7.15.4", | ||||
|                 "@babel/helper-module-transforms": "^7.15.8", | ||||
|                 "@babel/helpers": "^7.15.4", | ||||
|                 "@babel/parser": "^7.15.8", | ||||
|                 "@babel/template": "^7.15.4", | ||||
|                 "@babel/traverse": "^7.15.4", | ||||
|                 "@babel/types": "^7.15.6", | ||||
|                 "convert-source-map": "^1.7.0", | ||||
|                 "debug": "^4.1.0", | ||||
|                 "gensync": "^1.0.0-beta.2", | ||||
|                 "json5": "^2.1.2", | ||||
|                 "semver": "^6.3.0", | ||||
|                 "source-map": "^0.5.0" | ||||
|               } | ||||
|             }, | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "jest-haste-map": { | ||||
| @ -3306,15 +2353,6 @@ | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "json5": { | ||||
|           "version": "2.2.0", | ||||
|           "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", | ||||
|           "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "minimist": "^1.2.5" | ||||
|           } | ||||
|         }, | ||||
|         "micromatch": { | ||||
|           "version": "4.0.4", | ||||
|           "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", | ||||
| @ -3325,12 +2363,6 @@ | ||||
|             "picomatch": "^2.2.3" | ||||
|           } | ||||
|         }, | ||||
|         "minimist": { | ||||
|           "version": "1.2.5", | ||||
|           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", | ||||
|           "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "normalize-path": { | ||||
|           "version": "3.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", | ||||
| @ -3557,78 +2589,6 @@ | ||||
|         "jest-runtime": "^27.3.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "ansi-styles": { | ||||
|               "version": "3.2.1", | ||||
|               "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||
|               "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||||
|               "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "has-flag": { | ||||
|               "version": "3.0.0", | ||||
|               "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|               "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "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" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@jest/console": { | ||||
|           "version": "27.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.3.0.tgz", | ||||
| @ -4156,6 +3116,44 @@ | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@jridgewell/gen-mapping": { | ||||
|       "version": "0.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", | ||||
|       "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@jridgewell/set-array": "^1.0.0", | ||||
|         "@jridgewell/sourcemap-codec": "^1.4.10" | ||||
|       } | ||||
|     }, | ||||
|     "@jridgewell/resolve-uri": { | ||||
|       "version": "3.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", | ||||
|       "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@jridgewell/set-array": { | ||||
|       "version": "1.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", | ||||
|       "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@jridgewell/sourcemap-codec": { | ||||
|       "version": "1.4.14", | ||||
|       "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", | ||||
|       "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@jridgewell/trace-mapping": { | ||||
|       "version": "0.3.17", | ||||
|       "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", | ||||
|       "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@jridgewell/resolve-uri": "3.1.0", | ||||
|         "@jridgewell/sourcemap-codec": "1.4.14" | ||||
|       } | ||||
|     }, | ||||
|     "@nodelib/fs.scandir": { | ||||
|       "version": "2.1.5", | ||||
|       "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", | ||||
| @ -4428,6 +3426,12 @@ | ||||
|         "pretty-format": "^27.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "@types/json-schema": { | ||||
|       "version": "7.0.11", | ||||
|       "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", | ||||
|       "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@types/json5": { | ||||
|       "version": "0.0.29", | ||||
|       "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", | ||||
| @ -4445,6 +3449,12 @@ | ||||
|       "integrity": "sha512-Fo79ojj3vdEZOHg3wR9ksAMRz4P3S5fDB5e/YWZiFnyFQI1WY2Vftu9XoXVVtJfxB7Bpce/QTqWSSntkz2Znrw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@types/semver": { | ||||
|       "version": "7.3.13", | ||||
|       "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", | ||||
|       "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@types/stack-utils": { | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", | ||||
| @ -4476,27 +3486,65 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@typescript-eslint/eslint-plugin": { | ||||
|       "version": "4.33.0", | ||||
|       "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", | ||||
|       "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==", | ||||
|       "version": "5.46.1", | ||||
|       "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.1.tgz", | ||||
|       "integrity": "sha512-YpzNv3aayRBwjs4J3oz65eVLXc9xx0PDbIRisHj+dYhvBn02MjYOD96P8YGiWEIFBrojaUjxvkaUpakD82phsA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@typescript-eslint/experimental-utils": "4.33.0", | ||||
|         "@typescript-eslint/scope-manager": "4.33.0", | ||||
|         "debug": "^4.3.1", | ||||
|         "functional-red-black-tree": "^1.0.1", | ||||
|         "ignore": "^5.1.8", | ||||
|         "regexpp": "^3.1.0", | ||||
|         "semver": "^7.3.5", | ||||
|         "@typescript-eslint/scope-manager": "5.46.1", | ||||
|         "@typescript-eslint/type-utils": "5.46.1", | ||||
|         "@typescript-eslint/utils": "5.46.1", | ||||
|         "debug": "^4.3.4", | ||||
|         "ignore": "^5.2.0", | ||||
|         "natural-compare-lite": "^1.4.0", | ||||
|         "regexpp": "^3.2.0", | ||||
|         "semver": "^7.3.7", | ||||
|         "tsutils": "^3.21.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@types/json-schema": { | ||||
|           "version": "7.0.9", | ||||
|           "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", | ||||
|           "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", | ||||
|         "@typescript-eslint/scope-manager": { | ||||
|           "version": "5.46.1", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.46.1.tgz", | ||||
|           "integrity": "sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@typescript-eslint/types": "5.46.1", | ||||
|             "@typescript-eslint/visitor-keys": "5.46.1" | ||||
|           } | ||||
|         }, | ||||
|         "@typescript-eslint/types": { | ||||
|           "version": "5.46.1", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.46.1.tgz", | ||||
|           "integrity": "sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "@typescript-eslint/visitor-keys": { | ||||
|           "version": "5.46.1", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.1.tgz", | ||||
|           "integrity": "sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@typescript-eslint/types": "5.46.1", | ||||
|             "eslint-visitor-keys": "^3.3.0" | ||||
|           } | ||||
|         }, | ||||
|         "ignore": { | ||||
|           "version": "5.2.1", | ||||
|           "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", | ||||
|           "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "semver": { | ||||
|           "version": "7.3.8", | ||||
|           "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", | ||||
|           "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "lru-cache": "^6.0.0" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@typescript-eslint/experimental-utils": { | ||||
|       "version": "4.33.0", | ||||
|       "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", | ||||
| @ -4509,8 +3557,8 @@ | ||||
|         "@typescript-eslint/typescript-estree": "4.33.0", | ||||
|         "eslint-scope": "^5.1.1", | ||||
|         "eslint-utils": "^3.0.0" | ||||
|           } | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@typescript-eslint/typescript-estree": { | ||||
|           "version": "4.33.0", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", | ||||
| @ -4526,113 +3574,53 @@ | ||||
|             "tsutils": "^3.21.0" | ||||
|           } | ||||
|         }, | ||||
|         "debug": { | ||||
|           "version": "4.3.2", | ||||
|           "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", | ||||
|           "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "ms": "2.1.2" | ||||
|           } | ||||
|         }, | ||||
|         "eslint-scope": { | ||||
|           "version": "5.1.1", | ||||
|           "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", | ||||
|           "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "esrecurse": "^4.3.0", | ||||
|             "estraverse": "^4.1.1" | ||||
|           } | ||||
|         }, | ||||
|         "esrecurse": { | ||||
|           "version": "4.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", | ||||
|           "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "estraverse": "^5.2.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "estraverse": { | ||||
|               "version": "5.2.0", | ||||
|               "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", | ||||
|               "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "ignore": { | ||||
|           "version": "5.1.8", | ||||
|           "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", | ||||
|           "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "semver": { | ||||
|           "version": "7.3.5", | ||||
|           "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", | ||||
|           "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", | ||||
|           "version": "7.3.8", | ||||
|           "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", | ||||
|           "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "lru-cache": "^6.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "tsutils": { | ||||
|           "version": "3.21.0", | ||||
|           "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", | ||||
|           "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "tslib": "^1.8.1" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@typescript-eslint/parser": { | ||||
|       "version": "5.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.1.0.tgz", | ||||
|       "integrity": "sha512-vx1P+mhCtYw3+bRHmbalq/VKP2Y3gnzNgxGxfEWc6OFpuEL7iQdAeq11Ke3Rhy8NjgB+AHsIWEwni3e+Y7djKA==", | ||||
|       "version": "5.46.1", | ||||
|       "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.46.1.tgz", | ||||
|       "integrity": "sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@typescript-eslint/scope-manager": "5.1.0", | ||||
|         "@typescript-eslint/types": "5.1.0", | ||||
|         "@typescript-eslint/typescript-estree": "5.1.0", | ||||
|         "debug": "^4.3.2" | ||||
|         "@typescript-eslint/scope-manager": "5.46.1", | ||||
|         "@typescript-eslint/types": "5.46.1", | ||||
|         "@typescript-eslint/typescript-estree": "5.46.1", | ||||
|         "debug": "^4.3.4" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@typescript-eslint/scope-manager": { | ||||
|           "version": "5.1.0", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.1.0.tgz", | ||||
|           "integrity": "sha512-yYlyVjvn5lvwCL37i4hPsa1s0ORsjkauhTqbb8MnpvUs7xykmcjGqwlNZ2Q5QpoqkJ1odlM2bqHqJwa28qV6Tw==", | ||||
|           "version": "5.46.1", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.46.1.tgz", | ||||
|           "integrity": "sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@typescript-eslint/types": "5.1.0", | ||||
|             "@typescript-eslint/visitor-keys": "5.1.0" | ||||
|             "@typescript-eslint/types": "5.46.1", | ||||
|             "@typescript-eslint/visitor-keys": "5.46.1" | ||||
|           } | ||||
|         }, | ||||
|         "@typescript-eslint/types": { | ||||
|           "version": "5.1.0", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.1.0.tgz", | ||||
|           "integrity": "sha512-sEwNINVxcB4ZgC6Fe6rUyMlvsB2jvVdgxjZEjQUQVlaSPMNamDOwO6/TB98kFt4sYYfNhdhTPBEQqNQZjMMswA==", | ||||
|           "version": "5.46.1", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.46.1.tgz", | ||||
|           "integrity": "sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "@typescript-eslint/visitor-keys": { | ||||
|           "version": "5.1.0", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.1.0.tgz", | ||||
|           "integrity": "sha512-uqNXepKBg81JVwjuqAxYrXa1Ql/YDzM+8g/pS+TCPxba0wZttl8m5DkrasbfnmJGHs4lQ2jTbcZ5azGhI7kK+w==", | ||||
|           "version": "5.46.1", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.1.tgz", | ||||
|           "integrity": "sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@typescript-eslint/types": "5.1.0", | ||||
|             "eslint-visitor-keys": "^3.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "debug": { | ||||
|           "version": "4.3.2", | ||||
|           "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", | ||||
|           "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "ms": "2.1.2" | ||||
|             "@typescript-eslint/types": "5.46.1", | ||||
|             "eslint-visitor-keys": "^3.3.0" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
| @ -4647,6 +3635,18 @@ | ||||
|         "@typescript-eslint/visitor-keys": "4.33.0" | ||||
|       } | ||||
|     }, | ||||
|     "@typescript-eslint/type-utils": { | ||||
|       "version": "5.46.1", | ||||
|       "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.46.1.tgz", | ||||
|       "integrity": "sha512-V/zMyfI+jDmL1ADxfDxjZ0EMbtiVqj8LUGPAGyBkXXStWmCUErMpW873zEHsyguWCuq2iN4BrlWUkmuVj84yng==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@typescript-eslint/typescript-estree": "5.46.1", | ||||
|         "@typescript-eslint/utils": "5.46.1", | ||||
|         "debug": "^4.3.4", | ||||
|         "tsutils": "^3.21.0" | ||||
|       } | ||||
|     }, | ||||
|     "@typescript-eslint/types": { | ||||
|       "version": "4.33.0", | ||||
|       "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", | ||||
| @ -4654,58 +3654,93 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@typescript-eslint/typescript-estree": { | ||||
|       "version": "5.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.1.0.tgz", | ||||
|       "integrity": "sha512-SSz+l9YrIIsW4s0ZqaEfnjl156XQ4VRmJsbA0ZE1XkXrD3cRpzuZSVCyqeCMR3EBjF27IisWakbBDGhGNIOvfQ==", | ||||
|       "version": "5.46.1", | ||||
|       "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.1.tgz", | ||||
|       "integrity": "sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@typescript-eslint/types": "5.1.0", | ||||
|         "@typescript-eslint/visitor-keys": "5.1.0", | ||||
|         "debug": "^4.3.2", | ||||
|         "globby": "^11.0.4", | ||||
|         "@typescript-eslint/types": "5.46.1", | ||||
|         "@typescript-eslint/visitor-keys": "5.46.1", | ||||
|         "debug": "^4.3.4", | ||||
|         "globby": "^11.1.0", | ||||
|         "is-glob": "^4.0.3", | ||||
|         "semver": "^7.3.5", | ||||
|         "semver": "^7.3.7", | ||||
|         "tsutils": "^3.21.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@typescript-eslint/types": { | ||||
|           "version": "5.1.0", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.1.0.tgz", | ||||
|           "integrity": "sha512-sEwNINVxcB4ZgC6Fe6rUyMlvsB2jvVdgxjZEjQUQVlaSPMNamDOwO6/TB98kFt4sYYfNhdhTPBEQqNQZjMMswA==", | ||||
|           "version": "5.46.1", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.46.1.tgz", | ||||
|           "integrity": "sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "@typescript-eslint/visitor-keys": { | ||||
|           "version": "5.1.0", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.1.0.tgz", | ||||
|           "integrity": "sha512-uqNXepKBg81JVwjuqAxYrXa1Ql/YDzM+8g/pS+TCPxba0wZttl8m5DkrasbfnmJGHs4lQ2jTbcZ5azGhI7kK+w==", | ||||
|           "version": "5.46.1", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.1.tgz", | ||||
|           "integrity": "sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@typescript-eslint/types": "5.1.0", | ||||
|             "eslint-visitor-keys": "^3.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "debug": { | ||||
|           "version": "4.3.2", | ||||
|           "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", | ||||
|           "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "ms": "2.1.2" | ||||
|           } | ||||
|         }, | ||||
|         "is-glob": { | ||||
|           "version": "4.0.3", | ||||
|           "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", | ||||
|           "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "is-extglob": "^2.1.1" | ||||
|             "@typescript-eslint/types": "5.46.1", | ||||
|             "eslint-visitor-keys": "^3.3.0" | ||||
|           } | ||||
|         }, | ||||
|         "semver": { | ||||
|           "version": "7.3.5", | ||||
|           "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", | ||||
|           "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", | ||||
|           "version": "7.3.8", | ||||
|           "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", | ||||
|           "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "lru-cache": "^6.0.0" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@typescript-eslint/utils": { | ||||
|       "version": "5.46.1", | ||||
|       "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.46.1.tgz", | ||||
|       "integrity": "sha512-RBdBAGv3oEpFojaCYT4Ghn4775pdjvwfDOfQ2P6qzNVgQOVrnSPe5/Pb88kv7xzYQjoio0eKHKB9GJ16ieSxvA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@types/json-schema": "^7.0.9", | ||||
|         "@types/semver": "^7.3.12", | ||||
|         "@typescript-eslint/scope-manager": "5.46.1", | ||||
|         "@typescript-eslint/types": "5.46.1", | ||||
|         "@typescript-eslint/typescript-estree": "5.46.1", | ||||
|         "eslint-scope": "^5.1.1", | ||||
|         "eslint-utils": "^3.0.0", | ||||
|         "semver": "^7.3.7" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@typescript-eslint/scope-manager": { | ||||
|           "version": "5.46.1", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.46.1.tgz", | ||||
|           "integrity": "sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@typescript-eslint/types": "5.46.1", | ||||
|             "@typescript-eslint/visitor-keys": "5.46.1" | ||||
|           } | ||||
|         }, | ||||
|         "@typescript-eslint/types": { | ||||
|           "version": "5.46.1", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.46.1.tgz", | ||||
|           "integrity": "sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "@typescript-eslint/visitor-keys": { | ||||
|           "version": "5.46.1", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.1.tgz", | ||||
|           "integrity": "sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@typescript-eslint/types": "5.46.1", | ||||
|             "eslint-visitor-keys": "^3.3.0" | ||||
|           } | ||||
|         }, | ||||
|         "semver": { | ||||
|           "version": "7.3.8", | ||||
|           "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", | ||||
|           "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "lru-cache": "^6.0.0" | ||||
| @ -4903,181 +3938,6 @@ | ||||
|         "slash": "^3.0.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/generator": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", | ||||
|           "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.6", | ||||
|             "jsesc": "^2.5.1", | ||||
|             "source-map": "^0.5.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-function-name": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", | ||||
|           "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-get-function-arity": "^7.15.4", | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-get-function-arity": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", | ||||
|           "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-split-export-declaration": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", | ||||
|           "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helpers": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", | ||||
|           "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/traverse": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "ansi-styles": { | ||||
|               "version": "3.2.1", | ||||
|               "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||
|               "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||||
|               "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "has-flag": { | ||||
|               "version": "3.0.0", | ||||
|               "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|               "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "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.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|           "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "@babel/template": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", | ||||
|           "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/traverse": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", | ||||
|           "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/generator": "^7.15.4", | ||||
|             "@babel/helper-function-name": "^7.15.4", | ||||
|             "@babel/helper-hoist-variables": "^7.15.4", | ||||
|             "@babel/helper-split-export-declaration": "^7.15.4", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4", | ||||
|             "debug": "^4.1.0", | ||||
|             "globals": "^11.1.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/types": { | ||||
|           "version": "7.15.6", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|           "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.9", | ||||
|             "to-fast-properties": "^2.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "@jest/transform": { | ||||
|           "version": "27.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.3.0.tgz", | ||||
| @ -5264,37 +4124,6 @@ | ||||
|             "@istanbuljs/schema": "^0.1.2", | ||||
|             "istanbul-lib-coverage": "^3.0.0", | ||||
|             "semver": "^6.3.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/core": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", | ||||
|               "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/code-frame": "^7.15.8", | ||||
|                 "@babel/generator": "^7.15.8", | ||||
|                 "@babel/helper-compilation-targets": "^7.15.4", | ||||
|                 "@babel/helper-module-transforms": "^7.15.8", | ||||
|                 "@babel/helpers": "^7.15.4", | ||||
|                 "@babel/parser": "^7.15.8", | ||||
|                 "@babel/template": "^7.15.4", | ||||
|                 "@babel/traverse": "^7.15.4", | ||||
|                 "@babel/types": "^7.15.6", | ||||
|                 "convert-source-map": "^1.7.0", | ||||
|                 "debug": "^4.1.0", | ||||
|                 "gensync": "^1.0.0-beta.2", | ||||
|                 "json5": "^2.1.2", | ||||
|                 "semver": "^6.3.0", | ||||
|                 "source-map": "^0.5.0" | ||||
|               } | ||||
|             }, | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "jest-haste-map": { | ||||
| @ -5370,15 +4199,6 @@ | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "json5": { | ||||
|           "version": "2.2.0", | ||||
|           "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", | ||||
|           "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "minimist": "^1.2.5" | ||||
|           } | ||||
|         }, | ||||
|         "micromatch": { | ||||
|           "version": "4.0.4", | ||||
|           "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", | ||||
| @ -5389,12 +4209,6 @@ | ||||
|             "picomatch": "^2.2.3" | ||||
|           } | ||||
|         }, | ||||
|         "minimist": { | ||||
|           "version": "1.2.5", | ||||
|           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", | ||||
|           "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "normalize-path": { | ||||
|           "version": "3.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", | ||||
| @ -5554,16 +4368,15 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "browserslist": { | ||||
|       "version": "4.17.4", | ||||
|       "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.4.tgz", | ||||
|       "integrity": "sha512-Zg7RpbZpIJRW3am9Lyckue7PLytvVxxhJj1CaJVlCWENsGEAOlnlt8X0ZxGRPp7Bt9o8tIRM5SEXy4BCPMJjLQ==", | ||||
|       "version": "4.21.4", | ||||
|       "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", | ||||
|       "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "caniuse-lite": "^1.0.30001265", | ||||
|         "electron-to-chromium": "^1.3.867", | ||||
|         "escalade": "^3.1.1", | ||||
|         "node-releases": "^2.0.0", | ||||
|         "picocolors": "^1.0.0" | ||||
|         "caniuse-lite": "^1.0.30001400", | ||||
|         "electron-to-chromium": "^1.4.251", | ||||
|         "node-releases": "^2.0.6", | ||||
|         "update-browserslist-db": "^1.0.9" | ||||
|       } | ||||
|     }, | ||||
|     "bs-logger": { | ||||
| @ -5617,9 +4430,9 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "caniuse-lite": { | ||||
|       "version": "1.0.30001269", | ||||
|       "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001269.tgz", | ||||
|       "integrity": "sha512-UOy8okEVs48MyHYgV+RdW1Oiudl1H6KolybD6ZquD0VcrPSgj25omXO1S7rDydjpqaISCwA8Pyx+jUQKZwWO5w==", | ||||
|       "version": "1.0.30001439", | ||||
|       "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz", | ||||
|       "integrity": "sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "chalk": { | ||||
| @ -5726,7 +4539,7 @@ | ||||
|     "color-name": { | ||||
|       "version": "1.1.3", | ||||
|       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", | ||||
|       "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||
|       "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "combined-stream": { | ||||
| @ -5800,12 +4613,12 @@ | ||||
|       } | ||||
|     }, | ||||
|     "debug": { | ||||
|       "version": "4.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", | ||||
|       "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", | ||||
|       "version": "4.3.4", | ||||
|       "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | ||||
|       "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "ms": "^2.1.1" | ||||
|         "ms": "2.1.2" | ||||
|       } | ||||
|     }, | ||||
|     "decimal.js": { | ||||
| @ -5900,9 +4713,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "electron-to-chromium": { | ||||
|       "version": "1.3.871", | ||||
|       "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.871.tgz", | ||||
|       "integrity": "sha512-qcLvDUPf8DSIMWarHT2ptgcqrYg62n3vPA7vhrOF24d8UNzbUBaHu2CySiENR3nEDzYgaN60071t0F6KLYMQ7Q==", | ||||
|       "version": "1.4.284", | ||||
|       "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", | ||||
|       "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "emittery": { | ||||
| @ -6070,36 +4883,6 @@ | ||||
|             "@babel/highlight": "^7.10.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "chalk": { | ||||
|               "version": "2.4.2", | ||||
|               "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", | ||||
|               "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "ansi-styles": "^3.2.1", | ||||
|                 "escape-string-regexp": "^1.0.5", | ||||
|                 "supports-color": "^5.3.0" | ||||
|               } | ||||
|             }, | ||||
|             "escape-string-regexp": { | ||||
|               "version": "1.0.5", | ||||
|               "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", | ||||
|               "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "chalk": { | ||||
|           "version": "4.1.2", | ||||
|           "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", | ||||
| @ -6395,6 +5178,22 @@ | ||||
|         "svg-element-attributes": "^1.3.1" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@typescript-eslint/eslint-plugin": { | ||||
|           "version": "4.33.0", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", | ||||
|           "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@typescript-eslint/experimental-utils": "4.33.0", | ||||
|             "@typescript-eslint/scope-manager": "4.33.0", | ||||
|             "debug": "^4.3.1", | ||||
|             "functional-red-black-tree": "^1.0.1", | ||||
|             "ignore": "^5.1.8", | ||||
|             "regexpp": "^3.1.0", | ||||
|             "semver": "^7.3.5", | ||||
|             "tsutils": "^3.21.0" | ||||
|           } | ||||
|         }, | ||||
|         "@typescript-eslint/parser": { | ||||
|           "version": "4.33.0", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", | ||||
| @ -6422,14 +5221,11 @@ | ||||
|             "tsutils": "^3.21.0" | ||||
|           } | ||||
|         }, | ||||
|         "debug": { | ||||
|           "version": "4.3.2", | ||||
|           "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", | ||||
|           "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "ms": "2.1.2" | ||||
|           } | ||||
|         "ignore": { | ||||
|           "version": "5.2.1", | ||||
|           "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", | ||||
|           "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "prettier": { | ||||
|           "version": "2.4.1", | ||||
| @ -6502,15 +5298,6 @@ | ||||
|             "esutils": "^2.0.2" | ||||
|           } | ||||
|         }, | ||||
|         "is-glob": { | ||||
|           "version": "4.0.3", | ||||
|           "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", | ||||
|           "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "is-extglob": "^2.1.1" | ||||
|           } | ||||
|         }, | ||||
|         "ms": { | ||||
|           "version": "2.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||||
| @ -6530,20 +5317,14 @@ | ||||
|       } | ||||
|     }, | ||||
|     "eslint-plugin-jest": { | ||||
|       "version": "25.2.2", | ||||
|       "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.2.2.tgz", | ||||
|       "integrity": "sha512-frn5yhOF60U4kcqozO3zKTNZQUk+mfx037XOy2iiYL8FhorEkuCuL3/flzKcY1ECDP2WYT9ydmvlO3fRW9o4mg==", | ||||
|       "version": "25.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", | ||||
|       "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@typescript-eslint/experimental-utils": "^5.0.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@types/json-schema": { | ||||
|           "version": "7.0.9", | ||||
|           "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", | ||||
|           "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "@typescript-eslint/experimental-utils": { | ||||
|           "version": "5.1.0", | ||||
|           "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.1.0.tgz", | ||||
| @ -6599,57 +5380,6 @@ | ||||
|             "eslint-visitor-keys": "^3.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "debug": { | ||||
|           "version": "4.3.2", | ||||
|           "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", | ||||
|           "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "ms": "2.1.2" | ||||
|           } | ||||
|         }, | ||||
|         "eslint-scope": { | ||||
|           "version": "5.1.1", | ||||
|           "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", | ||||
|           "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "esrecurse": "^4.3.0", | ||||
|             "estraverse": "^4.1.1" | ||||
|           } | ||||
|         }, | ||||
|         "eslint-visitor-keys": { | ||||
|           "version": "3.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.0.0.tgz", | ||||
|           "integrity": "sha512-mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "esrecurse": { | ||||
|           "version": "4.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", | ||||
|           "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "estraverse": "^5.2.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "estraverse": { | ||||
|               "version": "5.2.0", | ||||
|               "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", | ||||
|               "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "is-glob": { | ||||
|           "version": "4.0.3", | ||||
|           "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", | ||||
|           "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "is-extglob": "^2.1.1" | ||||
|           } | ||||
|         }, | ||||
|         "semver": { | ||||
|           "version": "7.3.5", | ||||
|           "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", | ||||
| @ -6658,15 +5388,6 @@ | ||||
|           "requires": { | ||||
|             "lru-cache": "^6.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "tsutils": { | ||||
|           "version": "3.21.0", | ||||
|           "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", | ||||
|           "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "tslib": "^1.8.1" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
| @ -6719,9 +5440,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "eslint-visitor-keys": { | ||||
|       "version": "3.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.0.0.tgz", | ||||
|       "integrity": "sha512-mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q==", | ||||
|       "version": "3.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", | ||||
|       "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "espree": { | ||||
| @ -6938,9 +5659,9 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "fast-glob": { | ||||
|       "version": "3.2.7", | ||||
|       "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", | ||||
|       "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", | ||||
|       "version": "3.2.12", | ||||
|       "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", | ||||
|       "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@nodelib/fs.stat": "^2.0.2", | ||||
| @ -6948,17 +5669,6 @@ | ||||
|         "glob-parent": "^5.1.2", | ||||
|         "merge2": "^1.3.0", | ||||
|         "micromatch": "^4.0.4" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "glob-parent": { | ||||
|           "version": "5.1.2", | ||||
|           "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", | ||||
|           "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "is-glob": "^4.0.1" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "fast-json-stable-stringify": { | ||||
| @ -6974,9 +5684,9 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "fastq": { | ||||
|       "version": "1.13.0", | ||||
|       "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", | ||||
|       "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", | ||||
|       "version": "1.14.0", | ||||
|       "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", | ||||
|       "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "reusify": "^1.0.4" | ||||
| @ -7145,23 +5855,23 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "globby": { | ||||
|       "version": "11.0.4", | ||||
|       "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", | ||||
|       "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", | ||||
|       "version": "11.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", | ||||
|       "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "array-union": "^2.1.0", | ||||
|         "dir-glob": "^3.0.1", | ||||
|         "fast-glob": "^3.1.1", | ||||
|         "ignore": "^5.1.4", | ||||
|         "merge2": "^1.3.0", | ||||
|         "fast-glob": "^3.2.9", | ||||
|         "ignore": "^5.2.0", | ||||
|         "merge2": "^1.4.1", | ||||
|         "slash": "^3.0.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "ignore": { | ||||
|           "version": "5.1.8", | ||||
|           "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", | ||||
|           "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", | ||||
|           "version": "5.2.1", | ||||
|           "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", | ||||
|           "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", | ||||
|           "dev": true | ||||
|         } | ||||
|       } | ||||
| @ -7183,7 +5893,7 @@ | ||||
|     "has-flag": { | ||||
|       "version": "3.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|       "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||
|       "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "has-symbols": { | ||||
| @ -7441,9 +6151,9 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "is-glob": { | ||||
|       "version": "4.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", | ||||
|       "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", | ||||
|       "version": "4.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", | ||||
|       "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "is-extglob": "^2.1.1" | ||||
| @ -7567,159 +6277,6 @@ | ||||
|         "semver": "^6.3.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/core": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", | ||||
|           "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.15.8", | ||||
|             "@babel/generator": "^7.15.8", | ||||
|             "@babel/helper-compilation-targets": "^7.15.4", | ||||
|             "@babel/helper-module-transforms": "^7.15.8", | ||||
|             "@babel/helpers": "^7.15.4", | ||||
|             "@babel/parser": "^7.15.8", | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/traverse": "^7.15.4", | ||||
|             "@babel/types": "^7.15.6", | ||||
|             "convert-source-map": "^1.7.0", | ||||
|             "debug": "^4.1.0", | ||||
|             "gensync": "^1.0.0-beta.2", | ||||
|             "json5": "^2.1.2", | ||||
|             "semver": "^6.3.0", | ||||
|             "source-map": "^0.5.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/generator": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", | ||||
|           "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.6", | ||||
|             "jsesc": "^2.5.1", | ||||
|             "source-map": "^0.5.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-function-name": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", | ||||
|           "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-get-function-arity": "^7.15.4", | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-get-function-arity": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", | ||||
|           "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-split-export-declaration": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", | ||||
|           "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helpers": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", | ||||
|           "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/traverse": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/parser": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|           "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "@babel/template": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", | ||||
|           "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/traverse": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", | ||||
|           "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/generator": "^7.15.4", | ||||
|             "@babel/helper-function-name": "^7.15.4", | ||||
|             "@babel/helper-hoist-variables": "^7.15.4", | ||||
|             "@babel/helper-split-export-declaration": "^7.15.4", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4", | ||||
|             "debug": "^4.1.0", | ||||
|             "globals": "^11.1.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/types": { | ||||
|           "version": "7.15.6", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|           "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.9", | ||||
|             "to-fast-properties": "^2.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "json5": { | ||||
|           "version": "2.2.0", | ||||
|           "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", | ||||
|           "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "minimist": "^1.2.5" | ||||
|           } | ||||
|         }, | ||||
|         "minimist": { | ||||
|           "version": "1.2.5", | ||||
|           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", | ||||
|           "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "semver": { | ||||
|           "version": "6.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", | ||||
| @ -7808,78 +6365,6 @@ | ||||
|         "jest-cli": "^27.3.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "ansi-styles": { | ||||
|               "version": "3.2.1", | ||||
|               "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||
|               "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||||
|               "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "has-flag": { | ||||
|               "version": "3.0.0", | ||||
|               "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|               "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "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" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@jest/console": { | ||||
|           "version": "27.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.3.0.tgz", | ||||
| @ -8533,235 +7018,6 @@ | ||||
|         "pretty-format": "^27.3.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-function-name": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", | ||||
|           "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-get-function-arity": "^7.15.4", | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-get-function-arity": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", | ||||
|           "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-split-export-declaration": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", | ||||
|           "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helpers": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", | ||||
|           "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/traverse": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/generator": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", | ||||
|               "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/types": "^7.15.6", | ||||
|                 "jsesc": "^2.5.1", | ||||
|                 "source-map": "^0.5.0" | ||||
|               } | ||||
|             }, | ||||
|             "@babel/parser": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|               "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "@babel/traverse": { | ||||
|               "version": "7.15.4", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", | ||||
|               "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/code-frame": "^7.14.5", | ||||
|                 "@babel/generator": "^7.15.4", | ||||
|                 "@babel/helper-function-name": "^7.15.4", | ||||
|                 "@babel/helper-hoist-variables": "^7.15.4", | ||||
|                 "@babel/helper-split-export-declaration": "^7.15.4", | ||||
|                 "@babel/parser": "^7.15.4", | ||||
|                 "@babel/types": "^7.15.4", | ||||
|                 "debug": "^4.1.0", | ||||
|                 "globals": "^11.1.0" | ||||
|               } | ||||
|             }, | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             }, | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "ansi-styles": { | ||||
|               "version": "3.2.1", | ||||
|               "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||
|               "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||||
|               "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "has-flag": { | ||||
|               "version": "3.0.0", | ||||
|               "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|               "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "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/template": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", | ||||
|           "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/parser": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|               "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@jest/console": { | ||||
|           "version": "27.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.3.0.tgz", | ||||
| @ -9042,84 +7298,11 @@ | ||||
|             "semver": "^6.3.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/core": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", | ||||
|               "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/code-frame": "^7.15.8", | ||||
|                 "@babel/generator": "^7.15.8", | ||||
|                 "@babel/helper-compilation-targets": "^7.15.4", | ||||
|                 "@babel/helper-module-transforms": "^7.15.8", | ||||
|                 "@babel/helpers": "^7.15.4", | ||||
|                 "@babel/parser": "^7.15.8", | ||||
|                 "@babel/template": "^7.15.4", | ||||
|                 "@babel/traverse": "^7.15.4", | ||||
|                 "@babel/types": "^7.15.6", | ||||
|                 "convert-source-map": "^1.7.0", | ||||
|                 "debug": "^4.1.0", | ||||
|                 "gensync": "^1.0.0-beta.2", | ||||
|                 "json5": "^2.1.2", | ||||
|                 "semver": "^6.3.0", | ||||
|                 "source-map": "^0.5.0" | ||||
|               } | ||||
|             }, | ||||
|             "@babel/generator": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", | ||||
|               "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/types": "^7.15.6", | ||||
|                 "jsesc": "^2.5.1", | ||||
|                 "source-map": "^0.5.0" | ||||
|               } | ||||
|             }, | ||||
|             "@babel/parser": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|               "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "@babel/traverse": { | ||||
|               "version": "7.15.4", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", | ||||
|               "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/code-frame": "^7.14.5", | ||||
|                 "@babel/generator": "^7.15.4", | ||||
|                 "@babel/helper-function-name": "^7.15.4", | ||||
|                 "@babel/helper-hoist-variables": "^7.15.4", | ||||
|                 "@babel/helper-split-export-declaration": "^7.15.4", | ||||
|                 "@babel/parser": "^7.15.4", | ||||
|                 "@babel/types": "^7.15.4", | ||||
|                 "debug": "^4.1.0", | ||||
|                 "globals": "^11.1.0" | ||||
|               } | ||||
|             }, | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             }, | ||||
|             "semver": { | ||||
|               "version": "6.3.0", | ||||
|               "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", | ||||
|               "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
| @ -9349,15 +7532,6 @@ | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "json5": { | ||||
|           "version": "2.2.0", | ||||
|           "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", | ||||
|           "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "minimist": "^1.2.5" | ||||
|           } | ||||
|         }, | ||||
|         "micromatch": { | ||||
|           "version": "4.0.4", | ||||
|           "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", | ||||
| @ -9368,12 +7542,6 @@ | ||||
|             "picomatch": "^2.2.3" | ||||
|           } | ||||
|         }, | ||||
|         "minimist": { | ||||
|           "version": "1.2.5", | ||||
|           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", | ||||
|           "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "normalize-path": { | ||||
|           "version": "3.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", | ||||
| @ -9723,78 +7891,6 @@ | ||||
|         "jsdom": "^16.6.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "ansi-styles": { | ||||
|               "version": "3.2.1", | ||||
|               "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||
|               "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||||
|               "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "has-flag": { | ||||
|               "version": "3.0.0", | ||||
|               "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|               "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "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" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@jest/environment": { | ||||
|           "version": "27.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.3.0.tgz", | ||||
| @ -10083,78 +8179,6 @@ | ||||
|         "jest-util": "^27.3.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "ansi-styles": { | ||||
|               "version": "3.2.1", | ||||
|               "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||
|               "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||||
|               "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "has-flag": { | ||||
|               "version": "3.0.0", | ||||
|               "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|               "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "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" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@jest/environment": { | ||||
|           "version": "27.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.3.0.tgz", | ||||
| @ -10570,235 +8594,6 @@ | ||||
|         "throat": "^6.0.1" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-function-name": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", | ||||
|           "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-get-function-arity": "^7.15.4", | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-get-function-arity": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", | ||||
|           "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-split-export-declaration": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", | ||||
|           "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helpers": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", | ||||
|           "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/traverse": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/generator": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", | ||||
|               "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/types": "^7.15.6", | ||||
|                 "jsesc": "^2.5.1", | ||||
|                 "source-map": "^0.5.0" | ||||
|               } | ||||
|             }, | ||||
|             "@babel/parser": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|               "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "@babel/traverse": { | ||||
|               "version": "7.15.4", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", | ||||
|               "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/code-frame": "^7.14.5", | ||||
|                 "@babel/generator": "^7.15.4", | ||||
|                 "@babel/helper-function-name": "^7.15.4", | ||||
|                 "@babel/helper-hoist-variables": "^7.15.4", | ||||
|                 "@babel/helper-split-export-declaration": "^7.15.4", | ||||
|                 "@babel/parser": "^7.15.4", | ||||
|                 "@babel/types": "^7.15.4", | ||||
|                 "debug": "^4.1.0", | ||||
|                 "globals": "^11.1.0" | ||||
|               } | ||||
|             }, | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             }, | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "ansi-styles": { | ||||
|               "version": "3.2.1", | ||||
|               "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||
|               "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||||
|               "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "has-flag": { | ||||
|               "version": "3.0.0", | ||||
|               "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|               "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "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/template": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", | ||||
|           "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/parser": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|               "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@jest/console": { | ||||
|           "version": "27.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.3.0.tgz", | ||||
| @ -11090,84 +8885,11 @@ | ||||
|             "semver": "^6.3.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/core": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", | ||||
|               "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/code-frame": "^7.15.8", | ||||
|                 "@babel/generator": "^7.15.8", | ||||
|                 "@babel/helper-compilation-targets": "^7.15.4", | ||||
|                 "@babel/helper-module-transforms": "^7.15.8", | ||||
|                 "@babel/helpers": "^7.15.4", | ||||
|                 "@babel/parser": "^7.15.8", | ||||
|                 "@babel/template": "^7.15.4", | ||||
|                 "@babel/traverse": "^7.15.4", | ||||
|                 "@babel/types": "^7.15.6", | ||||
|                 "convert-source-map": "^1.7.0", | ||||
|                 "debug": "^4.1.0", | ||||
|                 "gensync": "^1.0.0-beta.2", | ||||
|                 "json5": "^2.1.2", | ||||
|                 "semver": "^6.3.0", | ||||
|                 "source-map": "^0.5.0" | ||||
|               } | ||||
|             }, | ||||
|             "@babel/generator": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", | ||||
|               "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/types": "^7.15.6", | ||||
|                 "jsesc": "^2.5.1", | ||||
|                 "source-map": "^0.5.0" | ||||
|               } | ||||
|             }, | ||||
|             "@babel/parser": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|               "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "@babel/traverse": { | ||||
|               "version": "7.15.4", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", | ||||
|               "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/code-frame": "^7.14.5", | ||||
|                 "@babel/generator": "^7.15.4", | ||||
|                 "@babel/helper-function-name": "^7.15.4", | ||||
|                 "@babel/helper-hoist-variables": "^7.15.4", | ||||
|                 "@babel/helper-split-export-declaration": "^7.15.4", | ||||
|                 "@babel/parser": "^7.15.4", | ||||
|                 "@babel/types": "^7.15.4", | ||||
|                 "debug": "^4.1.0", | ||||
|                 "globals": "^11.1.0" | ||||
|               } | ||||
|             }, | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             }, | ||||
|             "semver": { | ||||
|               "version": "6.3.0", | ||||
|               "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", | ||||
|               "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
| @ -11370,15 +9092,6 @@ | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "json5": { | ||||
|           "version": "2.2.0", | ||||
|           "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", | ||||
|           "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "minimist": "^1.2.5" | ||||
|           } | ||||
|         }, | ||||
|         "micromatch": { | ||||
|           "version": "4.0.4", | ||||
|           "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", | ||||
| @ -11389,12 +9102,6 @@ | ||||
|             "picomatch": "^2.2.3" | ||||
|           } | ||||
|         }, | ||||
|         "minimist": { | ||||
|           "version": "1.2.5", | ||||
|           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", | ||||
|           "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "normalize-path": { | ||||
|           "version": "3.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", | ||||
| @ -11821,39 +9528,6 @@ | ||||
|         "stack-utils": "^2.0.3" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "chalk": { | ||||
|               "version": "2.4.2", | ||||
|               "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", | ||||
|               "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "ansi-styles": "^3.2.1", | ||||
|                 "escape-string-regexp": "^1.0.5", | ||||
|                 "supports-color": "^5.3.0" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@jest/types": { | ||||
|           "version": "27.2.5", | ||||
|           "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.2.5.tgz", | ||||
| @ -12207,235 +9881,6 @@ | ||||
|         "jest-snapshot": "^27.3.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-function-name": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", | ||||
|           "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-get-function-arity": "^7.15.4", | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-get-function-arity": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", | ||||
|           "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-split-export-declaration": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", | ||||
|           "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helpers": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", | ||||
|           "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/traverse": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/generator": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", | ||||
|               "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/types": "^7.15.6", | ||||
|                 "jsesc": "^2.5.1", | ||||
|                 "source-map": "^0.5.0" | ||||
|               } | ||||
|             }, | ||||
|             "@babel/parser": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|               "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "@babel/traverse": { | ||||
|               "version": "7.15.4", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", | ||||
|               "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/code-frame": "^7.14.5", | ||||
|                 "@babel/generator": "^7.15.4", | ||||
|                 "@babel/helper-function-name": "^7.15.4", | ||||
|                 "@babel/helper-hoist-variables": "^7.15.4", | ||||
|                 "@babel/helper-split-export-declaration": "^7.15.4", | ||||
|                 "@babel/parser": "^7.15.4", | ||||
|                 "@babel/types": "^7.15.4", | ||||
|                 "debug": "^4.1.0", | ||||
|                 "globals": "^11.1.0" | ||||
|               } | ||||
|             }, | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             }, | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "ansi-styles": { | ||||
|               "version": "3.2.1", | ||||
|               "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||
|               "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||||
|               "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "has-flag": { | ||||
|               "version": "3.0.0", | ||||
|               "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|               "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "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/template": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", | ||||
|           "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/parser": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|               "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@jest/transform": { | ||||
|           "version": "27.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.3.0.tgz", | ||||
| @ -12664,84 +10109,11 @@ | ||||
|             "semver": "^6.3.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/core": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", | ||||
|               "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/code-frame": "^7.15.8", | ||||
|                 "@babel/generator": "^7.15.8", | ||||
|                 "@babel/helper-compilation-targets": "^7.15.4", | ||||
|                 "@babel/helper-module-transforms": "^7.15.8", | ||||
|                 "@babel/helpers": "^7.15.4", | ||||
|                 "@babel/parser": "^7.15.8", | ||||
|                 "@babel/template": "^7.15.4", | ||||
|                 "@babel/traverse": "^7.15.4", | ||||
|                 "@babel/types": "^7.15.6", | ||||
|                 "convert-source-map": "^1.7.0", | ||||
|                 "debug": "^4.1.0", | ||||
|                 "gensync": "^1.0.0-beta.2", | ||||
|                 "json5": "^2.1.2", | ||||
|                 "semver": "^6.3.0", | ||||
|                 "source-map": "^0.5.0" | ||||
|               } | ||||
|             }, | ||||
|             "@babel/generator": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", | ||||
|               "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/types": "^7.15.6", | ||||
|                 "jsesc": "^2.5.1", | ||||
|                 "source-map": "^0.5.0" | ||||
|               } | ||||
|             }, | ||||
|             "@babel/parser": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|               "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "@babel/traverse": { | ||||
|               "version": "7.15.4", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", | ||||
|               "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/code-frame": "^7.14.5", | ||||
|                 "@babel/generator": "^7.15.4", | ||||
|                 "@babel/helper-function-name": "^7.15.4", | ||||
|                 "@babel/helper-hoist-variables": "^7.15.4", | ||||
|                 "@babel/helper-split-export-declaration": "^7.15.4", | ||||
|                 "@babel/parser": "^7.15.4", | ||||
|                 "@babel/types": "^7.15.4", | ||||
|                 "debug": "^4.1.0", | ||||
|                 "globals": "^11.1.0" | ||||
|               } | ||||
|             }, | ||||
|             "@babel/types": { | ||||
|               "version": "7.15.6", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|               "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/helper-validator-identifier": "^7.14.9", | ||||
|                 "to-fast-properties": "^2.0.0" | ||||
|               } | ||||
|             }, | ||||
|             "semver": { | ||||
|               "version": "6.3.0", | ||||
|               "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", | ||||
|               "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
| @ -12921,15 +10293,6 @@ | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "json5": { | ||||
|           "version": "2.2.0", | ||||
|           "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", | ||||
|           "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "minimist": "^1.2.5" | ||||
|           } | ||||
|         }, | ||||
|         "micromatch": { | ||||
|           "version": "4.0.4", | ||||
|           "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", | ||||
| @ -12940,12 +10303,6 @@ | ||||
|             "picomatch": "^2.2.3" | ||||
|           } | ||||
|         }, | ||||
|         "minimist": { | ||||
|           "version": "1.2.5", | ||||
|           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", | ||||
|           "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "normalize-path": { | ||||
|           "version": "3.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", | ||||
| @ -13099,181 +10456,6 @@ | ||||
|         "throat": "^6.0.1" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/generator": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", | ||||
|           "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.6", | ||||
|             "jsesc": "^2.5.1", | ||||
|             "source-map": "^0.5.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-function-name": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", | ||||
|           "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-get-function-arity": "^7.15.4", | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-get-function-arity": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", | ||||
|           "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-split-export-declaration": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", | ||||
|           "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helpers": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", | ||||
|           "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/traverse": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "ansi-styles": { | ||||
|               "version": "3.2.1", | ||||
|               "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||
|               "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||||
|               "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "has-flag": { | ||||
|               "version": "3.0.0", | ||||
|               "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|               "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "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.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|           "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "@babel/template": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", | ||||
|           "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/traverse": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", | ||||
|           "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/generator": "^7.15.4", | ||||
|             "@babel/helper-function-name": "^7.15.4", | ||||
|             "@babel/helper-hoist-variables": "^7.15.4", | ||||
|             "@babel/helper-split-export-declaration": "^7.15.4", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4", | ||||
|             "debug": "^4.1.0", | ||||
|             "globals": "^11.1.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/types": { | ||||
|           "version": "7.15.6", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|           "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.9", | ||||
|             "to-fast-properties": "^2.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "@jest/console": { | ||||
|           "version": "27.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.3.0.tgz", | ||||
| @ -13524,37 +10706,6 @@ | ||||
|             "@istanbuljs/schema": "^0.1.2", | ||||
|             "istanbul-lib-coverage": "^3.0.0", | ||||
|             "semver": "^6.3.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/core": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", | ||||
|               "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/code-frame": "^7.15.8", | ||||
|                 "@babel/generator": "^7.15.8", | ||||
|                 "@babel/helper-compilation-targets": "^7.15.4", | ||||
|                 "@babel/helper-module-transforms": "^7.15.8", | ||||
|                 "@babel/helpers": "^7.15.4", | ||||
|                 "@babel/parser": "^7.15.8", | ||||
|                 "@babel/template": "^7.15.4", | ||||
|                 "@babel/traverse": "^7.15.4", | ||||
|                 "@babel/types": "^7.15.6", | ||||
|                 "convert-source-map": "^1.7.0", | ||||
|                 "debug": "^4.1.0", | ||||
|                 "gensync": "^1.0.0-beta.2", | ||||
|                 "json5": "^2.1.2", | ||||
|                 "semver": "^6.3.0", | ||||
|                 "source-map": "^0.5.0" | ||||
|               } | ||||
|             }, | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "jest-haste-map": { | ||||
| @ -13681,15 +10832,6 @@ | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "json5": { | ||||
|           "version": "2.2.0", | ||||
|           "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", | ||||
|           "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "minimist": "^1.2.5" | ||||
|           } | ||||
|         }, | ||||
|         "micromatch": { | ||||
|           "version": "4.0.4", | ||||
|           "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", | ||||
| @ -13700,12 +10842,6 @@ | ||||
|             "picomatch": "^2.2.3" | ||||
|           } | ||||
|         }, | ||||
|         "minimist": { | ||||
|           "version": "1.2.5", | ||||
|           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", | ||||
|           "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "normalize-path": { | ||||
|           "version": "3.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", | ||||
| @ -13866,181 +11002,6 @@ | ||||
|         "yargs": "^16.2.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/generator": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", | ||||
|           "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.6", | ||||
|             "jsesc": "^2.5.1", | ||||
|             "source-map": "^0.5.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-function-name": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", | ||||
|           "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-get-function-arity": "^7.15.4", | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-get-function-arity": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", | ||||
|           "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helper-split-export-declaration": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", | ||||
|           "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/helpers": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", | ||||
|           "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/template": "^7.15.4", | ||||
|             "@babel/traverse": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "ansi-styles": { | ||||
|               "version": "3.2.1", | ||||
|               "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||
|               "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||||
|               "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "has-flag": { | ||||
|               "version": "3.0.0", | ||||
|               "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|               "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "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.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", | ||||
|           "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "@babel/template": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", | ||||
|           "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/traverse": { | ||||
|           "version": "7.15.4", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", | ||||
|           "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/code-frame": "^7.14.5", | ||||
|             "@babel/generator": "^7.15.4", | ||||
|             "@babel/helper-function-name": "^7.15.4", | ||||
|             "@babel/helper-hoist-variables": "^7.15.4", | ||||
|             "@babel/helper-split-export-declaration": "^7.15.4", | ||||
|             "@babel/parser": "^7.15.4", | ||||
|             "@babel/types": "^7.15.4", | ||||
|             "debug": "^4.1.0", | ||||
|             "globals": "^11.1.0" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/types": { | ||||
|           "version": "7.15.6", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", | ||||
|           "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.9", | ||||
|             "to-fast-properties": "^2.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "@jest/console": { | ||||
|           "version": "27.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.3.0.tgz", | ||||
| @ -14378,37 +11339,6 @@ | ||||
|             "@istanbuljs/schema": "^0.1.2", | ||||
|             "istanbul-lib-coverage": "^3.0.0", | ||||
|             "semver": "^6.3.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "@babel/core": { | ||||
|               "version": "7.15.8", | ||||
|               "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", | ||||
|               "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", | ||||
|               "dev": true, | ||||
|               "requires": { | ||||
|                 "@babel/code-frame": "^7.15.8", | ||||
|                 "@babel/generator": "^7.15.8", | ||||
|                 "@babel/helper-compilation-targets": "^7.15.4", | ||||
|                 "@babel/helper-module-transforms": "^7.15.8", | ||||
|                 "@babel/helpers": "^7.15.4", | ||||
|                 "@babel/parser": "^7.15.8", | ||||
|                 "@babel/template": "^7.15.4", | ||||
|                 "@babel/traverse": "^7.15.4", | ||||
|                 "@babel/types": "^7.15.6", | ||||
|                 "convert-source-map": "^1.7.0", | ||||
|                 "debug": "^4.1.0", | ||||
|                 "gensync": "^1.0.0-beta.2", | ||||
|                 "json5": "^2.1.2", | ||||
|                 "semver": "^6.3.0", | ||||
|                 "source-map": "^0.5.0" | ||||
|               } | ||||
|             }, | ||||
|             "source-map": { | ||||
|               "version": "0.5.7", | ||||
|               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|               "dev": true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "jest-diff": { | ||||
| @ -14608,15 +11538,6 @@ | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "json5": { | ||||
|           "version": "2.2.0", | ||||
|           "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", | ||||
|           "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "minimist": "^1.2.5" | ||||
|           } | ||||
|         }, | ||||
|         "micromatch": { | ||||
|           "version": "4.0.4", | ||||
|           "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", | ||||
| @ -14633,12 +11554,6 @@ | ||||
|           "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "minimist": { | ||||
|           "version": "1.2.5", | ||||
|           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", | ||||
|           "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "normalize-path": { | ||||
|           "version": "3.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", | ||||
| @ -15273,78 +12188,6 @@ | ||||
|         "string-length": "^4.0.1" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "@babel/code-frame": { | ||||
|           "version": "7.15.8", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", | ||||
|           "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/highlight": "^7.14.5" | ||||
|           } | ||||
|         }, | ||||
|         "@babel/highlight": { | ||||
|           "version": "7.14.5", | ||||
|           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||||
|           "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "@babel/helper-validator-identifier": "^7.14.5", | ||||
|             "chalk": "^2.0.0", | ||||
|             "js-tokens": "^4.0.0" | ||||
|           }, | ||||
|           "dependencies": { | ||||
|             "ansi-styles": { | ||||
|               "version": "3.2.1", | ||||
|               "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||||
|               "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||||
|               "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "has-flag": { | ||||
|               "version": "3.0.0", | ||||
|               "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|               "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||||
|               "dev": true | ||||
|             }, | ||||
|             "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" | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "@jest/console": { | ||||
|           "version": "27.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.3.0.tgz", | ||||
| @ -15724,21 +12567,10 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "json5": { | ||||
|       "version": "2.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", | ||||
|       "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "minimist": "^1.2.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "minimist": { | ||||
|           "version": "1.2.5", | ||||
|           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", | ||||
|           "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", | ||||
|       "version": "2.2.1", | ||||
|       "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", | ||||
|       "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", | ||||
|       "dev": true | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "kleur": { | ||||
|       "version": "3.0.3", | ||||
| @ -15925,18 +12757,18 @@ | ||||
|       } | ||||
|     }, | ||||
|     "minimatch": { | ||||
|       "version": "3.0.4", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", | ||||
|       "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", | ||||
|       "version": "3.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", | ||||
|       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "brace-expansion": "^1.1.7" | ||||
|       } | ||||
|     }, | ||||
|     "minimist": { | ||||
|       "version": "1.2.5", | ||||
|       "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", | ||||
|       "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", | ||||
|       "version": "1.2.7", | ||||
|       "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", | ||||
|       "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "ms": { | ||||
| @ -15951,15 +12783,21 @@ | ||||
|       "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "natural-compare-lite": { | ||||
|       "version": "1.4.0", | ||||
|       "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", | ||||
|       "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "nice-try": { | ||||
|       "version": "1.0.5", | ||||
|       "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", | ||||
|       "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" | ||||
|     }, | ||||
|     "node-fetch": { | ||||
|       "version": "2.6.5", | ||||
|       "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", | ||||
|       "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", | ||||
|       "version": "2.6.7", | ||||
|       "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", | ||||
|       "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", | ||||
|       "requires": { | ||||
|         "whatwg-url": "^5.0.0" | ||||
|       }, | ||||
| @ -15998,9 +12836,9 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "node-releases": { | ||||
|       "version": "2.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.0.tgz", | ||||
|       "integrity": "sha512-aA87l0flFYMzCHpTM3DERFSYxc6lv/BltdbRTOMZuxZ0cwZCD3mejE5n9vLhSJCN++/eOqr77G1IO5uXxlQYWA==", | ||||
|       "version": "2.0.6", | ||||
|       "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", | ||||
|       "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "normalize-path": { | ||||
| @ -16287,9 +13125,9 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "qs": { | ||||
|       "version": "6.10.1", | ||||
|       "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", | ||||
|       "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", | ||||
|       "version": "6.11.0", | ||||
|       "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", | ||||
|       "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", | ||||
|       "requires": { | ||||
|         "side-channel": "^1.0.4" | ||||
|       } | ||||
| @ -16318,15 +13156,6 @@ | ||||
|       "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "resolve": { | ||||
|       "version": "1.12.0", | ||||
|       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", | ||||
|       "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "path-parse": "^1.0.6" | ||||
|       } | ||||
|     }, | ||||
|     "resolve-cwd": { | ||||
|       "version": "3.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", | ||||
| @ -16483,12 +13312,6 @@ | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "source-map": { | ||||
|       "version": "0.5.7", | ||||
|       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||
|       "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "source-map-support": { | ||||
|       "version": "0.5.20", | ||||
|       "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", | ||||
| @ -16934,6 +13757,16 @@ | ||||
|       "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "update-browserslist-db": { | ||||
|       "version": "1.0.10", | ||||
|       "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", | ||||
|       "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "escalade": "^3.1.1", | ||||
|         "picocolors": "^1.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "uri-js": { | ||||
|       "version": "4.4.1", | ||||
|       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", | ||||
|  | ||||
							
								
								
									
										11
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								package.json
									
									
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "checkout", | ||||
|   "version": "2.0.2", | ||||
|   "version": "2.6.0", | ||||
|   "description": "checkout action", | ||||
|   "main": "lib/main.js", | ||||
|   "scripts": { | ||||
| @ -28,10 +28,10 @@ | ||||
|   }, | ||||
|   "homepage": "https://github.com/actions/checkout#readme", | ||||
|   "dependencies": { | ||||
|     "@actions/core": "^1.2.6", | ||||
|     "@actions/core": "^1.10.0", | ||||
|     "@actions/exec": "^1.0.1", | ||||
|     "@actions/github": "^2.2.0", | ||||
|     "@actions/io": "^1.0.1", | ||||
|     "@actions/io": "^1.1.2", | ||||
|     "@actions/tool-cache": "^1.1.2", | ||||
|     "uuid": "^3.3.3" | ||||
|   }, | ||||
| @ -39,11 +39,12 @@ | ||||
|     "@types/jest": "^27.0.2", | ||||
|     "@types/node": "^12.7.12", | ||||
|     "@types/uuid": "^3.4.6", | ||||
|     "@typescript-eslint/parser": "^5.1.0", | ||||
|     "@typescript-eslint/eslint-plugin": "^5.45.0", | ||||
|     "@typescript-eslint/parser": "^5.45.0", | ||||
|     "@zeit/ncc": "^0.20.5", | ||||
|     "eslint": "^7.32.0", | ||||
|     "eslint-plugin-github": "^4.3.2", | ||||
|     "eslint-plugin-jest": "^25.2.2", | ||||
|     "eslint-plugin-jest": "^25.7.0", | ||||
|     "jest": "^27.3.0", | ||||
|     "jest-circus": "^27.3.0", | ||||
|     "js-yaml": "^3.13.1", | ||||
|  | ||||
| @ -19,8 +19,9 @@ export interface IGitAuthHelper { | ||||
|   configureAuth(): Promise<void> | ||||
|   configureGlobalAuth(): Promise<void> | ||||
|   configureSubmoduleAuth(): Promise<void> | ||||
|   configureTempGlobalConfig(): Promise<string> | ||||
|   removeAuth(): Promise<void> | ||||
|   removeGlobalAuth(): Promise<void> | ||||
|   removeGlobalConfig(): Promise<void> | ||||
| } | ||||
| 
 | ||||
| export function createAuthHelper( | ||||
| @ -80,7 +81,11 @@ class GitAuthHelper { | ||||
|     await this.configureToken() | ||||
|   } | ||||
| 
 | ||||
|   async configureGlobalAuth(): Promise<void> { | ||||
|   async configureTempGlobalConfig(): Promise<string> { | ||||
|     // Already setup global config
 | ||||
|     if (this.temporaryHomePath?.length > 0) { | ||||
|       return path.join(this.temporaryHomePath, '.gitconfig') | ||||
|     } | ||||
|     // Create a temp home directory
 | ||||
|     const runnerTemp = process.env['RUNNER_TEMP'] || '' | ||||
|     assert.ok(runnerTemp, 'RUNNER_TEMP is not defined') | ||||
| @ -110,13 +115,19 @@ class GitAuthHelper { | ||||
|       await fs.promises.writeFile(newGitConfigPath, '') | ||||
|     } | ||||
| 
 | ||||
|     try { | ||||
|     // Override HOME
 | ||||
|     core.info( | ||||
|       `Temporarily overriding HOME='${this.temporaryHomePath}' before making global git config changes` | ||||
|     ) | ||||
|     this.git.setEnvironmentVariable('HOME', this.temporaryHomePath) | ||||
| 
 | ||||
|     return newGitConfigPath | ||||
|   } | ||||
| 
 | ||||
|   async configureGlobalAuth(): Promise<void> { | ||||
|     // 'configureTempGlobalConfig' noops if already set, just returns the path
 | ||||
|     const newGitConfigPath = await this.configureTempGlobalConfig() | ||||
|     try { | ||||
|       // Configure the token
 | ||||
|       await this.configureToken(newGitConfigPath, true) | ||||
| 
 | ||||
| @ -146,7 +157,8 @@ class GitAuthHelper { | ||||
|       // by process creation audit events, which are commonly logged. For more information,
 | ||||
|       // refer to https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/command-line-process-auditing
 | ||||
|       const output = await this.git.submoduleForeach( | ||||
|         `git config --local '${this.tokenConfigKey}' '${this.tokenPlaceholderConfigValue}' && git config --local --show-origin --name-only --get-regexp remote.origin.url`, | ||||
|         // wrap the pipeline in quotes to make sure it's handled properly by submoduleForeach, rather than just the first part of the pipeline
 | ||||
|         `sh -c "git config --local '${this.tokenConfigKey}' '${this.tokenPlaceholderConfigValue}' && git config --local --show-origin --name-only --get-regexp remote.origin.url"`, | ||||
|         this.settings.nestedSubmodules | ||||
|       ) | ||||
| 
 | ||||
| @ -181,11 +193,13 @@ class GitAuthHelper { | ||||
|     await this.removeToken() | ||||
|   } | ||||
| 
 | ||||
|   async removeGlobalAuth(): Promise<void> { | ||||
|   async removeGlobalConfig(): Promise<void> { | ||||
|     if (this.temporaryHomePath?.length > 0) { | ||||
|       core.debug(`Unsetting HOME override`) | ||||
|       this.git.removeEnvironmentVariable('HOME') | ||||
|       await io.rmRF(this.temporaryHomePath) | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   private async configureSsh(): Promise<void> { | ||||
|     if (!this.settings.sshKey) { | ||||
| @ -233,7 +247,7 @@ class GitAuthHelper { | ||||
|     if (this.settings.sshKnownHosts) { | ||||
|       knownHosts += `# Begin from input known hosts\n${this.settings.sshKnownHosts}\n# end from input known hosts\n` | ||||
|     } | ||||
|     knownHosts += `# Begin implicitly added github.com\ngithub.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==\n# End implicitly added github.com\n` | ||||
|     knownHosts += `# Begin implicitly added github.com\ngithub.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=\n# End implicitly added github.com\n` | ||||
|     this.sshKnownHostsPath = path.join(runnerTemp, `${uniqueId}_known_hosts`) | ||||
|     stateHelper.setSshKnownHostsPath(this.sshKnownHostsPath) | ||||
|     await fs.promises.writeFile(this.sshKnownHostsPath, knownHosts) | ||||
| @ -352,7 +366,8 @@ class GitAuthHelper { | ||||
| 
 | ||||
|     const pattern = regexpHelper.escape(configKey) | ||||
|     await this.git.submoduleForeach( | ||||
|       `git config --local --name-only --get-regexp '${pattern}' && git config --local --unset-all '${configKey}' || :`, | ||||
|       // wrap the pipeline in quotes to make sure it's handled properly by submoduleForeach, rather than just the first part of the pipeline
 | ||||
|       `sh -c "git config --local --name-only --get-regexp '${pattern}' && git config --local --unset-all '${configKey}' || :"`, | ||||
|       true | ||||
|     ) | ||||
|   } | ||||
|  | ||||
| @ -36,6 +36,30 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> { | ||||
|   const git = await getGitCommandManager(settings) | ||||
|   core.endGroup() | ||||
| 
 | ||||
|   let authHelper: gitAuthHelper.IGitAuthHelper | null = null | ||||
|   try { | ||||
|     if (git) { | ||||
|       authHelper = gitAuthHelper.createAuthHelper(git, settings) | ||||
|       if (settings.setSafeDirectory) { | ||||
|         // Setup the repository path as a safe directory, so if we pass this into a container job with a different user it doesn't fail
 | ||||
|         // Otherwise all git commands we run in a container fail
 | ||||
|         await authHelper.configureTempGlobalConfig() | ||||
|         core.info( | ||||
|           `Adding repository directory to the temporary git global config as a safe directory` | ||||
|         ) | ||||
| 
 | ||||
|         await git | ||||
|           .config('safe.directory', settings.repositoryPath, true, true) | ||||
|           .catch(error => { | ||||
|             core.info( | ||||
|               `Failed to initialize safe directory with error: ${error}` | ||||
|             ) | ||||
|           }) | ||||
| 
 | ||||
|         stateHelper.setSafeDirectory() | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     // Prepare existing directory, otherwise recreate
 | ||||
|     if (isExisting) { | ||||
|       await gitDirectoryHelper.prepareExistingDirectory( | ||||
| @ -96,8 +120,10 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> { | ||||
|     } | ||||
|     core.endGroup() | ||||
| 
 | ||||
|   const authHelper = gitAuthHelper.createAuthHelper(git, settings) | ||||
|   try { | ||||
|     // If we didn't initialize it above, do it now
 | ||||
|     if (!authHelper) { | ||||
|       authHelper = gitAuthHelper.createAuthHelper(git, settings) | ||||
|     } | ||||
|     // Configure auth
 | ||||
|     core.startGroup('Setting up auth') | ||||
|     await authHelper.configureAuth() | ||||
| @ -170,7 +196,6 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> { | ||||
| 
 | ||||
|     // Submodules
 | ||||
|     if (settings.submodules) { | ||||
|       try { | ||||
|       // Temporarily override global config
 | ||||
|       core.startGroup('Setting up auth for fetching submodules') | ||||
|       await authHelper.configureGlobalAuth() | ||||
| @ -179,10 +204,7 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> { | ||||
|       // Checkout submodules
 | ||||
|       core.startGroup('Fetching submodules') | ||||
|       await git.submoduleSync(settings.nestedSubmodules) | ||||
|         await git.submoduleUpdate( | ||||
|           settings.fetchDepth, | ||||
|           settings.nestedSubmodules | ||||
|         ) | ||||
|       await git.submoduleUpdate(settings.fetchDepth, settings.nestedSubmodules) | ||||
|       await git.submoduleForeach( | ||||
|         'git config --local gc.auto 0', | ||||
|         settings.nestedSubmodules | ||||
| @ -195,10 +217,6 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> { | ||||
|         await authHelper.configureSubmoduleAuth() | ||||
|         core.endGroup() | ||||
|       } | ||||
|       } finally { | ||||
|         // Remove temporary global config override
 | ||||
|         await authHelper.removeGlobalAuth() | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     // Get commit information
 | ||||
| @ -218,11 +236,14 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> { | ||||
|     ) | ||||
|   } finally { | ||||
|     // Remove auth
 | ||||
|     if (authHelper) { | ||||
|       if (!settings.persistCredentials) { | ||||
|         core.startGroup('Removing auth') | ||||
|         await authHelper.removeAuth() | ||||
|         core.endGroup() | ||||
|       } | ||||
|       authHelper.removeGlobalConfig() | ||||
|     } | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| @ -244,7 +265,26 @@ export async function cleanup(repositoryPath: string): Promise<void> { | ||||
| 
 | ||||
|   // Remove auth
 | ||||
|   const authHelper = gitAuthHelper.createAuthHelper(git) | ||||
|   try { | ||||
|     if (stateHelper.PostSetSafeDirectory) { | ||||
|       // Setup the repository path as a safe directory, so if we pass this into a container job with a different user it doesn't fail
 | ||||
|       // Otherwise all git commands we run in a container fail
 | ||||
|       await authHelper.configureTempGlobalConfig() | ||||
|       core.info( | ||||
|         `Adding repository directory to the temporary git global config as a safe directory` | ||||
|       ) | ||||
| 
 | ||||
|       await git | ||||
|         .config('safe.directory', repositoryPath, true, true) | ||||
|         .catch(error => { | ||||
|           core.info(`Failed to initialize safe directory with error: ${error}`) | ||||
|         }) | ||||
|     } | ||||
| 
 | ||||
|     await authHelper.removeAuth() | ||||
|   } finally { | ||||
|     await authHelper.removeGlobalConfig() | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| async function getGitCommandManager( | ||||
|  | ||||
| @ -78,4 +78,9 @@ export interface IGitSourceSettings { | ||||
|    * Organization ID for the currently running workflow (used for auth settings) | ||||
|    */ | ||||
|   workflowOrganizationId: number | undefined | ||||
| 
 | ||||
|   /** | ||||
|    * Indicates whether to add repositoryPath as safe.directory in git global config | ||||
|    */ | ||||
|   setSafeDirectory: boolean | ||||
| } | ||||
|  | ||||
| @ -122,5 +122,8 @@ export async function getInputs(): Promise<IGitSourceSettings> { | ||||
|   // Workflow organization ID
 | ||||
|   result.workflowOrganizationId = await workflowContextHelper.getOrganizationId() | ||||
| 
 | ||||
|   // Set safe.directory in git global config.
 | ||||
|   result.setSafeDirectory = | ||||
|     (core.getInput('set-safe-directory') || 'true').toUpperCase() === 'TRUE' | ||||
|   return result | ||||
| } | ||||
|  | ||||
| @ -5,4 +5,4 @@ set -e | ||||
| src/misc/licensed-download.sh | ||||
| 
 | ||||
| echo 'Running: licensed cached' | ||||
| _temp/licensed-3.3.1/licensed status | ||||
| _temp/licensed-3.6.0/licensed status | ||||
| @ -2,23 +2,23 @@ | ||||
| 
 | ||||
| set -e | ||||
| 
 | ||||
| if [ ! -f _temp/licensed-3.3.1.done ]; then | ||||
| if [ ! -f _temp/licensed-3.6.0.done ]; then | ||||
|   echo 'Clearing temp' | ||||
|   rm -rf _temp/licensed-3.3.1 || true | ||||
|   rm -rf _temp/licensed-3.6.0 || true | ||||
| 
 | ||||
|   echo 'Downloading licensed' | ||||
|   mkdir -p _temp/licensed-3.3.1 | ||||
|   pushd _temp/licensed-3.3.1 | ||||
|   mkdir -p _temp/licensed-3.6.0 | ||||
|   pushd _temp/licensed-3.6.0 | ||||
|   if [[ "$OSTYPE" == "darwin"* ]]; then | ||||
|     curl -Lfs -o licensed.tar.gz https://github.com/github/licensed/releases/download/3.3.1/licensed-3.3.1-darwin-x64.tar.gz | ||||
|     curl -Lfs -o licensed.tar.gz https://github.com/github/licensed/releases/download/3.6.0/licensed-3.6.0-darwin-x64.tar.gz | ||||
|   else | ||||
|     curl -Lfs -o licensed.tar.gz https://github.com/github/licensed/releases/download/3.3.1/licensed-3.3.1-linux-x64.tar.gz | ||||
|     curl -Lfs -o licensed.tar.gz https://github.com/github/licensed/releases/download/3.6.0/licensed-3.6.0-linux-x64.tar.gz | ||||
|   fi | ||||
| 
 | ||||
|   echo 'Extracting licenesed' | ||||
|   tar -xzf licensed.tar.gz | ||||
|   popd | ||||
|   touch _temp/licensed-3.3.1.done | ||||
|   touch _temp/licensed-3.6.0.done | ||||
| else | ||||
|   echo 'Licensed already downloaded' | ||||
| fi | ||||
|  | ||||
| @ -5,4 +5,4 @@ set -e | ||||
| src/misc/licensed-download.sh | ||||
| 
 | ||||
| echo 'Running: licensed cached' | ||||
| _temp/licensed-3.3.1/licensed cache | ||||
| _temp/licensed-3.6.0/licensed cache | ||||
| @ -1,58 +1,60 @@ | ||||
| import * as coreCommand from '@actions/core/lib/command' | ||||
| import * as core from '@actions/core' | ||||
| 
 | ||||
| /** | ||||
|  * Indicates whether the POST action is running | ||||
|  */ | ||||
| export const IsPost = !!process.env['STATE_isPost'] | ||||
| export const IsPost = !!core.getState('isPost') | ||||
| 
 | ||||
| /** | ||||
|  * The repository path for the POST action. The value is empty during the MAIN action. | ||||
|  */ | ||||
| export const RepositoryPath = | ||||
|   (process.env['STATE_repositoryPath'] as string) || '' | ||||
| export const RepositoryPath = core.getState('repositoryPath') | ||||
| 
 | ||||
| /** | ||||
|  * The set-safe-directory for the POST action. The value is set if input: 'safe-directory' is set during the MAIN action. | ||||
|  */ | ||||
| export const PostSetSafeDirectory = core.getState('setSafeDirectory') === 'true' | ||||
| 
 | ||||
| /** | ||||
|  * The SSH key path for the POST action. The value is empty during the MAIN action. | ||||
|  */ | ||||
| export const SshKeyPath = (process.env['STATE_sshKeyPath'] as string) || '' | ||||
| export const SshKeyPath = core.getState('sshKeyPath') | ||||
| 
 | ||||
| /** | ||||
|  * The SSH known hosts path for the POST action. The value is empty during the MAIN action. | ||||
|  */ | ||||
| export const SshKnownHostsPath = | ||||
|   (process.env['STATE_sshKnownHostsPath'] as string) || '' | ||||
| export const SshKnownHostsPath = core.getState('sshKnownHostsPath') | ||||
| 
 | ||||
| /** | ||||
|  * Save the repository path so the POST action can retrieve the value. | ||||
|  */ | ||||
| export function setRepositoryPath(repositoryPath: string) { | ||||
|   coreCommand.issueCommand( | ||||
|     'save-state', | ||||
|     {name: 'repositoryPath'}, | ||||
|     repositoryPath | ||||
|   ) | ||||
|   core.saveState('repositoryPath', repositoryPath) | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Save the SSH key path so the POST action can retrieve the value. | ||||
|  */ | ||||
| export function setSshKeyPath(sshKeyPath: string) { | ||||
|   coreCommand.issueCommand('save-state', {name: 'sshKeyPath'}, sshKeyPath) | ||||
|   core.saveState('sshKeyPath', sshKeyPath) | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Save the SSH known hosts path so the POST action can retrieve the value. | ||||
|  */ | ||||
| export function setSshKnownHostsPath(sshKnownHostsPath: string) { | ||||
|   coreCommand.issueCommand( | ||||
|     'save-state', | ||||
|     {name: 'sshKnownHostsPath'}, | ||||
|     sshKnownHostsPath | ||||
|   ) | ||||
|   core.saveState('sshKnownHostsPath', sshKnownHostsPath) | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Save the sef-safe-directory input so the POST action can retrieve the value. | ||||
|  */ | ||||
| export function setSafeDirectory() { | ||||
|   core.saveState('setSafeDirectory', 'true') | ||||
| } | ||||
| 
 | ||||
| // Publish a variable so that when the POST action runs, it can determine it should run the cleanup logic.
 | ||||
| // This is necessary since we don't have a separate entry point.
 | ||||
| if (!IsPost) { | ||||
|   coreCommand.issueCommand('save-state', {name: 'isPost'}, 'true') | ||||
|   core.saveState('isPost', 'true') | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user