vis-dev-utils 3.0.6 → 3.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/babel-register/index.js +2 -2
- package/bin/ci-utils.js +2 -2
- package/bin/generate-examples-index.js +2 -2
- package/bin/test-e2e-interop.js +24 -11
- package/bin/test-e2e-interop.js.map +1 -1
- package/dist/vis-dev-utils.cjs.js +2 -2
- package/dist/vis-dev-utils.esm.js +2 -2
- package/package.json +6 -6
package/babel-register/index.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Development utilities for the Vis family projects.
|
|
8
8
|
*
|
|
9
|
-
* @version 3.0.
|
|
10
|
-
* @date 2022-03-
|
|
9
|
+
* @version 3.0.9
|
|
10
|
+
* @date 2022-03-13T16:25:05.167Z
|
|
11
11
|
*
|
|
12
12
|
* @copyright (c) 2011-2017 Almende B.V, http://almende.com
|
|
13
13
|
* @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
|
package/bin/ci-utils.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Development utilities for the Vis family projects.
|
|
8
8
|
*
|
|
9
|
-
* @version 3.0.
|
|
10
|
-
* @date 2022-03-
|
|
9
|
+
* @version 3.0.9
|
|
10
|
+
* @date 2022-03-13T16:25:05.167Z
|
|
11
11
|
*
|
|
12
12
|
* @copyright (c) 2011-2017 Almende B.V, http://almende.com
|
|
13
13
|
* @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Development utilities for the Vis family projects.
|
|
8
8
|
*
|
|
9
|
-
* @version 3.0.
|
|
10
|
-
* @date 2022-03-
|
|
9
|
+
* @version 3.0.9
|
|
10
|
+
* @date 2022-03-13T16:25:05.167Z
|
|
11
11
|
*
|
|
12
12
|
* @copyright (c) 2011-2017 Almende B.V, http://almende.com
|
|
13
13
|
* @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
|
package/bin/test-e2e-interop.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Development utilities for the Vis family projects.
|
|
8
8
|
*
|
|
9
|
-
* @version 3.0.
|
|
10
|
-
* @date 2022-03-
|
|
9
|
+
* @version 3.0.9
|
|
10
|
+
* @date 2022-03-13T16:25:05.167Z
|
|
11
11
|
*
|
|
12
12
|
* @copyright (c) 2011-2017 Almende B.V, http://almende.com
|
|
13
13
|
* @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
|
|
@@ -128,6 +128,11 @@ var y = yargs__default["default"].strict(true).usage("test-e2e-interop [options]
|
|
|
128
128
|
demandOption: false,
|
|
129
129
|
describe: "The working directory for E2E testing. If omitted a new tmp dir will be created and then disposed of.",
|
|
130
130
|
type: "string"
|
|
131
|
+
}).option("logs-to-stdout", {
|
|
132
|
+
demandOption: false,
|
|
133
|
+
default: false,
|
|
134
|
+
describe: "Output the logs to the stdout after the tests finished.",
|
|
135
|
+
type: "boolean"
|
|
131
136
|
});
|
|
132
137
|
/**
|
|
133
138
|
*
|
|
@@ -831,6 +836,7 @@ function checkTmpPath(_x15) {
|
|
|
831
836
|
/**
|
|
832
837
|
* @param root0
|
|
833
838
|
* @param root0.failCommand
|
|
839
|
+
* @param root0.logsToStdout
|
|
834
840
|
* @param root0.packageScripts
|
|
835
841
|
* @param root0.projectPaths
|
|
836
842
|
* @param root0.tmpPath
|
|
@@ -876,7 +882,7 @@ function _test() {
|
|
|
876
882
|
_test = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee11(_ref2) {
|
|
877
883
|
var _context18;
|
|
878
884
|
|
|
879
|
-
var failCommand, packageScripts, projectPaths, tmpPath, data, projectStatuses, getStages, _context21, _context22, _context26, _context27, spawn, allSucceeded,
|
|
885
|
+
var failCommand, logsToStdout, packageScripts, projectPaths, tmpPath, data, projectStatuses, getStages, _context21, _context22, _context26, _context27, spawn, allSucceeded, _iterator3, _step3, _step3$value, projectName, promise, _context28, _context29, _context30, _context31;
|
|
880
886
|
|
|
881
887
|
return _regeneratorRuntime__default["default"].wrap(function _callee11$(_context32) {
|
|
882
888
|
while (1) {
|
|
@@ -896,7 +902,7 @@ function _test() {
|
|
|
896
902
|
});
|
|
897
903
|
};
|
|
898
904
|
|
|
899
|
-
failCommand = _ref2.failCommand, packageScripts = _ref2.packageScripts, projectPaths = _ref2.projectPaths, tmpPath = _ref2.tmpPath;
|
|
905
|
+
failCommand = _ref2.failCommand, logsToStdout = _ref2.logsToStdout, packageScripts = _ref2.packageScripts, projectPaths = _ref2.projectPaths, tmpPath = _ref2.tmpPath;
|
|
900
906
|
|
|
901
907
|
if (!(process.env.VIS_INTEROP === "1")) {
|
|
902
908
|
_context32.next = 5;
|
|
@@ -1227,7 +1233,11 @@ function _test() {
|
|
|
1227
1233
|
return _context32.finish(60);
|
|
1228
1234
|
|
|
1229
1235
|
case 63:
|
|
1230
|
-
|
|
1236
|
+
if (!logsToStdout) {
|
|
1237
|
+
_context32.next = 82;
|
|
1238
|
+
break;
|
|
1239
|
+
}
|
|
1240
|
+
|
|
1231
1241
|
logInfo("Outputs");
|
|
1232
1242
|
_context32.t14 = process.stdout;
|
|
1233
1243
|
_context32.t15 = _concatInstanceProperty__default["default"](_context28 = [""]);
|
|
@@ -1235,18 +1245,18 @@ function _test() {
|
|
|
1235
1245
|
_context32.t17 = _toConsumableArray__default["default"];
|
|
1236
1246
|
_context32.t18 = _Promise__default["default"];
|
|
1237
1247
|
_context32.t19 = _mapInstanceProperty__default["default"];
|
|
1238
|
-
_context32.next =
|
|
1248
|
+
_context32.next = 73;
|
|
1239
1249
|
return fsExtra.readdir(data.tmpLogsResolve());
|
|
1240
1250
|
|
|
1241
|
-
case
|
|
1251
|
+
case 73:
|
|
1242
1252
|
_context32.t20 = _context29 = _context32.sent;
|
|
1243
1253
|
_context32.t21 = (0, _context32.t19)(_context32.t20).call(_context29, function (filename) {
|
|
1244
1254
|
return fsExtra.readFile(data.tmpLogsResolve(filename), "UTF-8");
|
|
1245
1255
|
});
|
|
1246
|
-
_context32.next =
|
|
1256
|
+
_context32.next = 77;
|
|
1247
1257
|
return _context32.t18.all.call(_context32.t18, _context32.t21);
|
|
1248
1258
|
|
|
1249
|
-
case
|
|
1259
|
+
case 77:
|
|
1250
1260
|
_context32.t22 = _context32.sent;
|
|
1251
1261
|
_context32.t23 = (0, _context32.t17)(_context32.t22);
|
|
1252
1262
|
_context32.t24 = [""];
|
|
@@ -1254,15 +1264,16 @@ function _test() {
|
|
|
1254
1264
|
|
|
1255
1265
|
_context32.t14.write.call(_context32.t14, _context32.t25);
|
|
1256
1266
|
|
|
1267
|
+
case 82:
|
|
1257
1268
|
execFail(data.tmpDir.name, failCommand, "Allow the state to be inspected in debug mode before the data is lost.");
|
|
1258
1269
|
return _context32.finish(38);
|
|
1259
1270
|
|
|
1260
|
-
case
|
|
1271
|
+
case 84:
|
|
1261
1272
|
case "end":
|
|
1262
1273
|
return _context32.stop();
|
|
1263
1274
|
}
|
|
1264
1275
|
}
|
|
1265
|
-
}, _callee11, null, [[19,, 38,
|
|
1276
|
+
}, _callee11, null, [[19,, 38, 84], [41, 57, 60, 63], [45, 50]]);
|
|
1266
1277
|
}));
|
|
1267
1278
|
return _test.apply(this, arguments);
|
|
1268
1279
|
}
|
|
@@ -1339,8 +1350,10 @@ var packageScripts = _flatMapInstanceProperty__default["default"](rawPackageScri
|
|
|
1339
1350
|
|
|
1340
1351
|
var tmpPath = argv["tmp-dir"] ? path.resolve(argv["tmp-dir"]) : undefined;
|
|
1341
1352
|
var failCommand = argv["fail-command"];
|
|
1353
|
+
var logsToStdout = argv["logs-to-stdout"];
|
|
1342
1354
|
test({
|
|
1343
1355
|
failCommand: failCommand,
|
|
1356
|
+
logsToStdout: logsToStdout,
|
|
1344
1357
|
packageScripts: packageScripts,
|
|
1345
1358
|
projectPaths: projectPaths,
|
|
1346
1359
|
tmpPath: tmpPath
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-e2e-interop.js","sources":["../src/test-e2e-interop/cli.ts","../src/test-e2e-interop/util.ts","../src/test-e2e-interop/test.ts","../src/test-e2e-interop/index.ts"],"sourcesContent":["import yargs from \"yargs\";\n\nconst y = yargs\n .strict(true)\n .usage(\"test-e2e-interop [options]\")\n .hide(\"version\")\n .config()\n .help()\n\n .option(\"fail-command\", {\n demandOption: false,\n describe:\n 'This command will be run in a shell (therefore commands like \"$SHELL\" will work) after failure to inspect the state.',\n type: \"string\",\n })\n .option(\"package-script\", {\n array: true,\n default: [\"clean?\", \"build!\", \"test!\", \"generate-examples-index?\"],\n demandOption: false,\n describe:\n 'The package scripts to run with each package, either \"script-name!\" to fail or \"script-name?\" to skip if the script doesn\\'t exist in given package. By default the script is used for all packages, if you want to use it only for one add package name: \"package-name script-name!\". Scripts are invoked sequentially and command line order is preserved.',\n type: \"string\",\n })\n .option(\"project\", {\n array: true,\n default: [] as string[],\n demandOption: false,\n describe:\n 'Projects to clone using Git, copy from directory or install from tarball. The format is \"package-name URL/path\".',\n type: \"string\",\n })\n .option(\"tmp-dir\", {\n demandOption: false,\n describe:\n \"The working directory for E2E testing. If omitted a new tmp dir will be created and then disposed of.\",\n type: \"string\",\n });\n\n/**\n *\n */\nexport function parseArguments(): ReturnType<typeof y[\"parseSync\"]> {\n return y.parserConfiguration({ \"camel-case-expansion\": false }).parseSync();\n}\n","import { execSync, spawn } from \"child_process\";\nimport { basename, join } from \"path\";\nimport { createWriteStream, readFile, rename } from \"fs-extra\";\n\nexport class ProjectState {\n /**\n * This will be resolved or rejected once all the tasks associated with this\n * project finish.\n */\n public promise: Promise<void>;\n /**\n * Run this to mark the project as successfully finished.\n */\n public resolve!: () => void;\n /**\n * Run this to mark the project as failed.\n */\n public reject!: (reason: Error) => void;\n /**\n * Provide information about current state of the project.\n */\n public stage = \"pending\";\n\n public constructor() {\n this.promise = new Promise<void>((resolve, reject): void => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n\n/**\n * Output formatted error message to stderr.\n *\n * @param title - Some explanatory text as to what's going on.\n * @param details - The error or some other message as to what went wrong.\n */\nexport function logError(title: string, details?: unknown): void {\n const wrappedDetails =\n details != null\n ? `\\n${details instanceof Error ? details.message : details}`\n : \"\";\n process.stderr.write(`\\n==> ${title}${wrappedDetails}\\n`);\n}\n/**\n * @param title\n * @param details\n */\nexport function logInfo(title: string, details?: string): void {\n const wrappedDetails = details ? `:\\n${details}` : \"\";\n process.stdout.write(`\\n==> ${title}${wrappedDetails}\\n`);\n}\n\n/**\n * @param cwd\n * @param failCommand\n * @param error\n */\nexport function execFail(\n cwd: string,\n failCommand: string | null | undefined,\n error: Error | string\n): void {\n if (failCommand) {\n console.error(\"\\n\\nReason for debugging:\");\n console.error(error);\n console.error(\"\\n\\nDebuging:\");\n try {\n execSync(failCommand, {\n cwd,\n encoding: \"utf8\",\n env: { ...process.env, VIS_INTEROP: \"1\" },\n stdio: \"inherit\",\n });\n } catch (error) {\n console.error(error);\n console.error(\n \"The error above is the fail command exitting with non-zero status, not an actual failure in the interop test.\"\n );\n }\n }\n}\n\nexport type Spawn = (options: SpawnOrTrhowArgs) => Promise<void>;\n\nexport interface SpawnOrTrhowArgs {\n cmd: readonly string[];\n cwd: string;\n failCommand?: string;\n}\n/**\n * @param logDir\n * @param getState\n */\nexport function createSpawner(logDir: string, getState: () => string[]): Spawn {\n let nextId = 1;\n\n return function spawnThrow({ cmd, cwd, failCommand }): ReturnType<Spawn> {\n const id = nextId++;\n const getHeaderLines = (): string[] => [\n \"time: \" + new Date().toISOString(),\n \"id: \" + id,\n \"cwd: \" + cwd,\n \"cmd: \" + cmd.map((word): string => JSON.stringify(word)).join(\" \"),\n \"states:\",\n ...getState(),\n ];\n const getLogMessage = (): string =>\n getHeaderLines()\n .map((line): string => \" \" + line)\n .join(\"\\n\");\n\n logInfo(\"Start\", getLogMessage());\n\n return new Promise((resolve, reject): void => {\n const commandLogPath = join(\n logDir,\n [\n basename(cwd).replace(/[^a-zA-Z0-9]+/g, \"-\"),\n cmd.join(\"-\").replace(/[^a-zA-Z0-9]+/g, \"-\"),\n \"id-\" + (\"\" + id).padStart(3, \"0\"),\n \"log\",\n ].join(\".\")\n );\n const logStream = createWriteStream(commandLogPath, {\n flags: \"a\",\n });\n\n logStream.write(getHeaderLines().join(\"\\n\") + \"\\n\\n\");\n\n const child = spawn(cmd[0], cmd.slice(1), {\n cwd,\n env: { ...process.env, VIS_INTEROP: \"1\" },\n stdio: \"pipe\",\n });\n\n child.stdout.pipe(logStream);\n child.stderr.pipe(logStream);\n\n /**\n * Add status to the file name just before the .log extension on a best\n * effort basis (no errors reported)..\n *\n * @param code - The code or other kind of status to append.\n */\n function addStatusCodeToFilename(code: string | number): void {\n const newPath =\n commandLogPath.slice(0, -4) + \".status-\" + code + \".log\";\n rename(commandLogPath, newPath).catch((error): void => {\n console.error(`Failed to rename log file to ${newPath}.`, error);\n });\n }\n\n let failed = false;\n child.on(\"close\", (code): void => {\n if (failed) {\n // noop\n } else if (code !== 0) {\n logError(\"Fail\", getLogMessage());\n\n const errorMessage = `${cmd\n .map((word): string => `\"${word}\"`)\n .join(\" \")}: exited with ${code}.`;\n\n logStream.end((): void => {\n (async (): Promise<void> => {\n let commandOutput = \"\";\n try {\n commandOutput += await readFile(commandLogPath, \"utf-8\");\n } catch (error) {\n commandOutput += \"Failed to log command output.\";\n }\n execFail(cwd, failCommand, commandOutput + \"\\n\\n\" + errorMessage);\n })();\n });\n\n addStatusCodeToFilename(code ?? \"null\");\n reject(new Error(errorMessage));\n } else {\n logInfo(\"Okay\", getLogMessage());\n addStatusCodeToFilename(code);\n resolve();\n }\n });\n child.on(\"error\", (error): void => {\n failed = true;\n\n logError(\"Fail\", getLogMessage());\n\n execFail(cwd, failCommand, error);\n\n addStatusCodeToFilename(\"error\");\n reject(error);\n });\n });\n };\n}\n","import { DirResult, dirSync, setGracefulCleanup } from \"tmp\";\nimport { resolve as resolvePath } from \"path\";\nimport findUp from \"find-up\";\nimport {\n Stats,\n copy,\n copyFile,\n lstat,\n mkdir,\n mkdirp,\n readFile,\n readdir,\n writeFile,\n unlink,\n} from \"fs-extra\";\n\nimport {\n ProjectState,\n Spawn,\n createSpawner,\n execFail,\n logError,\n logInfo,\n} from \"./util\";\n\n// Remove all temporary files on process exit.\nsetGracefulCleanup();\n\ninterface TestData {\n failCommand?: string;\n packageScripts: readonly PackageScript[];\n projectPaths: ProjectPaths;\n tmpDir: DirResult;\n tmpLogsResolve(...paths: string[]): string;\n tmpReposResolve(...paths: string[]): string;\n tmpRootResolve(...paths: string[]): string;\n visDevUtilsPath: string;\n}\n\nexport interface PackageScript {\n packageName: string | null;\n scriptName: string;\n skipIfMissing: boolean;\n}\n\nexport type ProjectPaths = Record<string, string>;\n\n/**\n * @param tmpPath\n */\nasync function prepareTmpDir(tmpPath?: string): Promise<DirResult> {\n if (tmpPath) {\n await mkdirp(tmpPath);\n\n return {\n name: tmpPath,\n removeCallback: (): void => {},\n };\n } else {\n return dirSync({ unsafeCleanup: true });\n }\n}\n\n/**\n * @param projectName\n */\nfunction getTarballName(projectName: string): string {\n return `${projectName}-0.0.0-no-version.tgz`;\n}\n\n/**\n * @param root0\n * @param root0.tmpRootResolve\n * @param projectName\n */\nfunction getTarballPath(\n { tmpRootResolve }: TestData,\n projectName: string\n): string {\n return tmpRootResolve(`${projectName}.tgz`);\n}\n\n/**\n * @param data\n * @param projectName\n */\nasync function copyTarball(data: TestData, projectName: string): Promise<void> {\n await copyFile(\n data.tmpReposResolve(projectName, getTarballName(projectName)),\n getTarballPath(data, projectName)\n );\n}\n\n/**\n * @param cwd\n */\nasync function getPackageDeps(cwd: string): Promise<string[]> {\n const packageJSONPath = await findUp(\"package.json\", { cwd });\n if (packageJSONPath == null) {\n throw new Error(\"Project's package.json file not found.\");\n }\n const packageJSON = JSON.parse(await readFile(packageJSONPath, \"utf8\"));\n\n return [\n ...new Set([\n ...Object.keys(packageJSON.dependencies || {}),\n ...Object.keys(packageJSON.devDependencies || {}),\n ...Object.keys(packageJSON.peerDependencies || {}),\n ]),\n ];\n}\n\n/**\n * @param data\n * @param projectName\n */\nasync function getPackageLocalDeps(\n data: TestData,\n projectName: string\n): Promise<string[]> {\n const { projectPaths, tmpReposResolve } = data;\n const cwd = tmpReposResolve(projectName);\n return (await getPackageDeps(cwd)).filter(\n (depName): boolean => projectPaths[depName] != null\n );\n}\n\n/**\n * @param spawn\n * @param data\n * @param projectName\n */\nasync function clone(\n spawn: Spawn,\n data: TestData,\n projectName: string\n): Promise<void> {\n const { failCommand, projectPaths, tmpReposResolve } = data;\n\n const cwd = tmpReposResolve();\n const projectPath = projectPaths[projectName];\n\n if (/\\.git$/.test(projectPath)) {\n await spawn({\n cmd: [\n \"git\",\n \"clone\",\n projectPath,\n \"--single-branch\",\n \"--branch\",\n \"master\",\n \"--depth\",\n \"1\",\n ],\n cwd,\n failCommand,\n });\n } else {\n await copy(projectPath, tmpReposResolve(projectName), {\n filter(_src, dest): boolean {\n return (\n !/[\\\\/].git[\\\\/]/.test(dest) && !/[\\\\/]node_modules[\\\\/]/.test(dest)\n );\n },\n });\n }\n}\n\n/**\n * @param cwd\n * @param deps\n */\nasync function updatePackageDepVersions(\n cwd: string,\n deps: Record<string, string>\n): Promise<void> {\n const packageJSONPath = await findUp(\"package.json\", { cwd });\n if (packageJSONPath == null) {\n throw new Error(\"Project's package.json file not found.\");\n }\n const packageJSON = JSON.parse(await readFile(packageJSONPath, \"utf8\"));\n\n Object.keys(packageJSON.dependencies ?? {}).forEach((key): void => {\n if (Object.prototype.hasOwnProperty.call(deps, key)) {\n packageJSON.dependencies[key] = \"file:\" + deps[key];\n }\n });\n Object.keys(packageJSON.devDependencies ?? {}).forEach((key): void => {\n if (Object.prototype.hasOwnProperty.call(deps, key)) {\n packageJSON.devDependencies[key] = \"file:\" + deps[key];\n }\n });\n Object.keys(packageJSON.peerDependencies ?? {}).forEach((key): void => {\n if (Object.prototype.hasOwnProperty.call(deps, key)) {\n packageJSON.peerDependencies[key] = \"file:\" + deps[key];\n }\n });\n\n await writeFile(packageJSONPath, JSON.stringify(packageJSON, undefined, 4));\n}\n\n/**\n * @param spawn\n * @param data\n * @param projectName\n */\nasync function buildTestPack(\n spawn: Spawn,\n data: TestData,\n projectName: string\n): Promise<void> {\n const { failCommand, packageScripts, tmpReposResolve } = data;\n const cwd = tmpReposResolve(projectName);\n\n await updatePackageDepVersions(\n cwd,\n (\n await getPackageLocalDeps(data, projectName)\n ).reduce<Record<string, string>>((acc, key): Record<string, string> => {\n acc[key] = getTarballPath(data, key);\n return acc;\n }, Object.create(null))\n );\n const packageLockPath = await findUp(\"package-lock.json\", { cwd });\n if (packageLockPath != null) {\n await unlink(packageLockPath);\n }\n await spawn({\n cmd: [\"npm\", \"install\"],\n cwd,\n failCommand,\n });\n\n for (const { packageName, scriptName, skipIfMissing } of packageScripts) {\n if (packageName != null && packageName !== projectName) {\n continue;\n } else if (skipIfMissing) {\n await spawn({\n cmd: [\"npm\", \"run\", scriptName, \"--if-present\"],\n cwd,\n failCommand,\n });\n } else {\n await spawn({\n cmd: [\"npm\", \"run\", scriptName],\n cwd,\n failCommand,\n });\n }\n }\n\n await spawn({ cmd: [\"npm\", \"pack\"], cwd, failCommand });\n\n await copyTarball(data, projectName);\n}\n\n/**\n * @param data\n */\nasync function checkTmpPath(data: TestData): Promise<void> {\n const tmpDir = data.tmpRootResolve();\n if ((await readdir(tmpDir)).length !== 0) {\n throw new Error(`The tmp dir (\"${tmpDir}\") is not empty.`);\n }\n}\n\nexport interface TestArgs {\n failCommand?: string;\n projectPaths: ProjectPaths;\n packageScripts: readonly PackageScript[];\n tmpPath?: string;\n}\n/**\n * @param root0\n * @param root0.failCommand\n * @param root0.packageScripts\n * @param root0.projectPaths\n * @param root0.tmpPath\n */\nexport async function test({\n failCommand,\n packageScripts,\n projectPaths,\n tmpPath,\n}: TestArgs): Promise<boolean> {\n if (process.env.VIS_INTEROP === \"1\") {\n // This would result in infinite loop otherwise.\n logInfo(\"Skipping interop test.\");\n return true;\n }\n\n const data = Object.freeze<TestData>({\n failCommand,\n packageScripts,\n projectPaths,\n tmpDir: await prepareTmpDir(\n tmpPath ? resolvePath(tmpPath, \"repos\") : undefined\n ),\n tmpLogsResolve: (...paths: string[]): string =>\n resolvePath(data.tmpDir.name, \"logs\", ...paths),\n tmpReposResolve: (...paths: string[]): string =>\n resolvePath(data.tmpDir.name, \"repos\", ...paths),\n tmpRootResolve: (...paths: string[]): string =>\n resolvePath(data.tmpDir.name, ...paths),\n visDevUtilsPath: process.cwd(),\n });\n\n const projectStatuses = new Map<string, ProjectState>(\n Object.keys(data.projectPaths).map((project): [string, ProjectState] => [\n project,\n new ProjectState(),\n ])\n );\n /**\n *\n */\n function getStages(): string[] {\n return [...projectStatuses].map(\n ([key, { stage }]): string => ` ${key}: ${stage}`\n );\n }\n\n try {\n const spawn = createSpawner(data.tmpLogsResolve(), getStages);\n\n await checkTmpPath(data);\n\n // Prepare subdirectories under the root tmp directory.\n await Promise.all(\n [\"repos\", \"logs\"].map(\n (dir): Promise<void> => mkdir(resolvePath(data.tmpDir.name, dir))\n )\n );\n\n logInfo(\"Begin\", getStages().join(\"\\n\"));\n await Promise.all(\n [...projectStatuses].map(async ([projectName, state]): Promise<void> => {\n try {\n state.stage = \"preparing\";\n const projectPath = data.projectPaths[projectName];\n const stats = await (async (): Promise<Stats | null> => {\n try {\n return await lstat(projectPath);\n } catch {\n return null;\n }\n })();\n if (stats?.isFile()) {\n // The path points to a ready to install tarball.\n state.stage = \"copying tarball\";\n await copyFile(projectPath, getTarballPath(data, projectName));\n state.stage = \"tarball copied\";\n } else {\n // The path points to a repo (maybe remote) that has to be built,\n // tested and packed first.\n state.stage = \"cloning\";\n await clone(spawn, data, projectName);\n\n state.stage = \"gathering dependencies\";\n const failedDeps: string[] = [];\n const localDeps = await getPackageLocalDeps(data, projectName);\n state.stage = `waiting for dependencies (${localDeps.join(\", \")})`;\n for (const localDep of localDeps) {\n const depStatus = projectStatuses.get(localDep);\n if (depStatus == null) {\n throw new Error(`Dependency ${localDep} not found.`);\n }\n\n try {\n await depStatus.promise;\n } catch {\n failedDeps.push(localDep);\n }\n }\n if (failedDeps.length > 0) {\n state.stage = `dependencies failed: ${failedDeps.join(\", \")}`;\n throw new Error(state.stage);\n }\n\n state.stage = \"running CI tasks\";\n await buildTestPack(spawn, data, projectName);\n state.stage = \"cloned, built, tested and packed\";\n }\n\n logInfo(`Okay ${projectName}`, getStages().join(\"\\n\"));\n state.resolve();\n } catch (error) {\n logError(\n `Fail ${projectName} (${state.stage}):`,\n getStages().join(\"\\n\")\n );\n state.reject(error instanceof Error ? error : new Error(\"\" + error));\n }\n })\n );\n\n const allSucceeded = (\n await Promise.allSettled(\n [...projectStatuses.values()].map(\n (status): Promise<void> => status.promise\n )\n )\n ).every(({ status }): boolean => status === \"fulfilled\");\n\n if (allSucceeded) {\n return true;\n } else {\n return false;\n }\n } finally {\n // Wait for all the projects to finish and log the state summary and any\n // errors encountered.\n logInfo(\"End\", getStages().join(\"\\n\"));\n for (const [projectName, { promise }] of projectStatuses) {\n try {\n await promise;\n } catch (error) {\n logError(`${projectName} failed with`, error);\n }\n }\n\n // Print the detailed logs for inspection (especially in CI).\n logInfo(\"Outputs\");\n process.stdout.write(\n [\n \"\",\n ...(await Promise.all(\n (\n await readdir(data.tmpLogsResolve())\n ).map(\n (filename): Promise<string> =>\n readFile(data.tmpLogsResolve(filename), \"UTF-8\")\n )\n )),\n \"\",\n ].join(\"\\n\\n\" + (\"-\".repeat(80) + \"\\n\").repeat(2) + \"\\n\")\n );\n\n execFail(\n data.tmpDir.name,\n failCommand,\n \"Allow the state to be inspected in debug mode before the data is lost.\"\n );\n }\n}\n","import { parseArguments } from \"./cli\";\nimport { resolve } from \"path\";\nimport { ProjectPaths, PackageScript, test } from \"./test\";\n\nconst argv = parseArguments();\n\nconst projectPaths: ProjectPaths = argv[\"project\"]\n .map((raw): [string, string] => {\n const [name, path] = raw.split(\" \", 2);\n\n if (typeof name === \"string\" && typeof path === \"string\") {\n if (/^[a-zA-Z0-9]+:\\/\\//.test(path)) {\n // Remote URL, use as is.\n return [name, path];\n } else {\n // Local path, resolve to prevent CWD issues.\n return [name, resolve(path)];\n }\n } else {\n console.error(\n `--project-path should be in 'project-name ./path' format, got '${raw}'.`\n );\n process.exit(1);\n }\n })\n .reduce<ProjectPaths>((acc, [name, path]): ProjectPaths => {\n acc[name] = path;\n return acc;\n }, {});\n\nconst rawPackageScriptArg = argv[\"package-script\"];\nconst packageScripts: PackageScript[] = rawPackageScriptArg.flatMap(\n (raw): PackageScript[] => {\n const packageScripts: PackageScript[] = [];\n\n let packageName: string | null = null;\n for (const part of raw.split(\" \")) {\n const mode = part.slice(-1);\n\n if (mode === \"?\" || mode === \"!\") {\n packageScripts.push({\n packageName,\n scriptName: part.slice(0, -1),\n skipIfMissing: mode === \"?\",\n });\n } else {\n packageName = part;\n }\n }\n\n return packageScripts;\n }\n);\n\nconst tmpPath = argv[\"tmp-dir\"] ? resolve(argv[\"tmp-dir\"]) : undefined;\n\nconst failCommand = argv[\"fail-command\"];\n\ntest({ failCommand, packageScripts, projectPaths, tmpPath })\n .then((allSucceeded): void => {\n if (!allSucceeded) {\n process.exitCode = 1;\n }\n })\n .catch((reason): void => {\n console.error(reason);\n process.exitCode = 2;\n });\n"],"names":["y","yargs","strict","usage","hide","config","help","option","demandOption","describe","type","array","default","parseArguments","parserConfiguration","parseSync","ProjectState","_createClass","_classCallCheck","_defineProperty","promise","_Promise","resolve","reject","logError","title","details","wrappedDetails","Error","message","process","stderr","write","logInfo","stdout","execFail","cwd","failCommand","error","console","execSync","encoding","env","VIS_INTEROP","stdio","createSpawner","logDir","getState","nextId","spawnThrow","cmd","id","getHeaderLines","_concatInstanceProperty","Date","toISOString","_mapInstanceProperty","word","_JSON$stringify","join","getLogMessage","line","commandLogPath","basename","replace","_padStartInstanceProperty","logStream","createWriteStream","flags","child","spawn","_sliceInstanceProperty","pipe","addStatusCodeToFilename","code","newPath","rename","catch","failed","on","errorMessage","end","_asyncToGenerator","_regeneratorRuntime","commandOutput","readFile","setGracefulCleanup","prepareTmpDir","tmpPath","mkdirp","name","removeCallback","dirSync","unsafeCleanup","getTarballName","projectName","getTarballPath","tmpRootResolve","copyTarball","data","copyFile","tmpReposResolve","getPackageDeps","findUp","packageJSONPath","JSON","packageJSON","parse","_toConsumableArray","_Set","_Object$keys","dependencies","devDependencies","peerDependencies","getPackageLocalDeps","projectPaths","_filterInstanceProperty","depName","clone","projectPath","test","copy","filter","_src","dest","updatePackageDepVersions","deps","key","Object","prototype","hasOwnProperty","call","writeFile","undefined","buildTestPack","packageScripts","_reduceInstanceProperty","acc","_Object$create","packageLockPath","unlink","_createForOfIteratorHelper","packageName","scriptName","skipIfMissing","checkTmpPath","tmpDir","readdir","length","getStages","projectStatuses","_slicedToArray","stage","_Object$freeze","resolvePath","paths","tmpLogsResolve","visDevUtilsPath","_Map","project","all","dir","mkdir","state","lstat","stats","isFile","failedDeps","localDeps","localDep","depStatus","get","push","_everyInstanceProperty","allSettled","_valuesInstanceProperty","status","allSucceeded","filename","_repeatInstanceProperty","argv","raw","split","path","exit","rawPackageScriptArg","_flatMapInstanceProperty","part","mode","then","exitCode","reason"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test-e2e-interop.js","sources":["../src/test-e2e-interop/cli.ts","../src/test-e2e-interop/util.ts","../src/test-e2e-interop/test.ts","../src/test-e2e-interop/index.ts"],"sourcesContent":["import yargs from \"yargs\";\n\nconst y = yargs\n .strict(true)\n .usage(\"test-e2e-interop [options]\")\n .hide(\"version\")\n .config()\n .help()\n\n .option(\"fail-command\", {\n demandOption: false,\n describe:\n 'This command will be run in a shell (therefore commands like \"$SHELL\" will work) after failure to inspect the state.',\n type: \"string\",\n })\n .option(\"package-script\", {\n array: true,\n default: [\"clean?\", \"build!\", \"test!\", \"generate-examples-index?\"],\n demandOption: false,\n describe:\n 'The package scripts to run with each package, either \"script-name!\" to fail or \"script-name?\" to skip if the script doesn\\'t exist in given package. By default the script is used for all packages, if you want to use it only for one add package name: \"package-name script-name!\". Scripts are invoked sequentially and command line order is preserved.',\n type: \"string\",\n })\n .option(\"project\", {\n array: true,\n default: [] as string[],\n demandOption: false,\n describe:\n 'Projects to clone using Git, copy from directory or install from tarball. The format is \"package-name URL/path\".',\n type: \"string\",\n })\n .option(\"tmp-dir\", {\n demandOption: false,\n describe:\n \"The working directory for E2E testing. If omitted a new tmp dir will be created and then disposed of.\",\n type: \"string\",\n })\n .option(\"logs-to-stdout\", {\n demandOption: false,\n default: false,\n describe: \"Output the logs to the stdout after the tests finished.\",\n type: \"boolean\",\n });\n\n/**\n *\n */\nexport function parseArguments(): ReturnType<typeof y[\"parseSync\"]> {\n return y.parserConfiguration({ \"camel-case-expansion\": false }).parseSync();\n}\n","import { execSync, spawn } from \"child_process\";\nimport { basename, join } from \"path\";\nimport { createWriteStream, readFile, rename } from \"fs-extra\";\n\nexport class ProjectState {\n /**\n * This will be resolved or rejected once all the tasks associated with this\n * project finish.\n */\n public promise: Promise<void>;\n /**\n * Run this to mark the project as successfully finished.\n */\n public resolve!: () => void;\n /**\n * Run this to mark the project as failed.\n */\n public reject!: (reason: Error) => void;\n /**\n * Provide information about current state of the project.\n */\n public stage = \"pending\";\n\n public constructor() {\n this.promise = new Promise<void>((resolve, reject): void => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n\n/**\n * Output formatted error message to stderr.\n *\n * @param title - Some explanatory text as to what's going on.\n * @param details - The error or some other message as to what went wrong.\n */\nexport function logError(title: string, details?: unknown): void {\n const wrappedDetails =\n details != null\n ? `\\n${details instanceof Error ? details.message : details}`\n : \"\";\n process.stderr.write(`\\n==> ${title}${wrappedDetails}\\n`);\n}\n/**\n * @param title\n * @param details\n */\nexport function logInfo(title: string, details?: string): void {\n const wrappedDetails = details ? `:\\n${details}` : \"\";\n process.stdout.write(`\\n==> ${title}${wrappedDetails}\\n`);\n}\n\n/**\n * @param cwd\n * @param failCommand\n * @param error\n */\nexport function execFail(\n cwd: string,\n failCommand: string | null | undefined,\n error: Error | string\n): void {\n if (failCommand) {\n console.error(\"\\n\\nReason for debugging:\");\n console.error(error);\n console.error(\"\\n\\nDebuging:\");\n try {\n execSync(failCommand, {\n cwd,\n encoding: \"utf8\",\n env: { ...process.env, VIS_INTEROP: \"1\" },\n stdio: \"inherit\",\n });\n } catch (error) {\n console.error(error);\n console.error(\n \"The error above is the fail command exitting with non-zero status, not an actual failure in the interop test.\"\n );\n }\n }\n}\n\nexport type Spawn = (options: SpawnOrTrhowArgs) => Promise<void>;\n\nexport interface SpawnOrTrhowArgs {\n cmd: readonly string[];\n cwd: string;\n failCommand?: string;\n}\n/**\n * @param logDir\n * @param getState\n */\nexport function createSpawner(logDir: string, getState: () => string[]): Spawn {\n let nextId = 1;\n\n return function spawnThrow({ cmd, cwd, failCommand }): ReturnType<Spawn> {\n const id = nextId++;\n const getHeaderLines = (): string[] => [\n \"time: \" + new Date().toISOString(),\n \"id: \" + id,\n \"cwd: \" + cwd,\n \"cmd: \" + cmd.map((word): string => JSON.stringify(word)).join(\" \"),\n \"states:\",\n ...getState(),\n ];\n const getLogMessage = (): string =>\n getHeaderLines()\n .map((line): string => \" \" + line)\n .join(\"\\n\");\n\n logInfo(\"Start\", getLogMessage());\n\n return new Promise((resolve, reject): void => {\n const commandLogPath = join(\n logDir,\n [\n basename(cwd).replace(/[^a-zA-Z0-9]+/g, \"-\"),\n cmd.join(\"-\").replace(/[^a-zA-Z0-9]+/g, \"-\"),\n \"id-\" + (\"\" + id).padStart(3, \"0\"),\n \"log\",\n ].join(\".\")\n );\n const logStream = createWriteStream(commandLogPath, {\n flags: \"a\",\n });\n\n logStream.write(getHeaderLines().join(\"\\n\") + \"\\n\\n\");\n\n const child = spawn(cmd[0], cmd.slice(1), {\n cwd,\n env: { ...process.env, VIS_INTEROP: \"1\" },\n stdio: \"pipe\",\n });\n\n child.stdout.pipe(logStream);\n child.stderr.pipe(logStream);\n\n /**\n * Add status to the file name just before the .log extension on a best\n * effort basis (no errors reported)..\n *\n * @param code - The code or other kind of status to append.\n */\n function addStatusCodeToFilename(code: string | number): void {\n const newPath =\n commandLogPath.slice(0, -4) + \".status-\" + code + \".log\";\n rename(commandLogPath, newPath).catch((error): void => {\n console.error(`Failed to rename log file to ${newPath}.`, error);\n });\n }\n\n let failed = false;\n child.on(\"close\", (code): void => {\n if (failed) {\n // noop\n } else if (code !== 0) {\n logError(\"Fail\", getLogMessage());\n\n const errorMessage = `${cmd\n .map((word): string => `\"${word}\"`)\n .join(\" \")}: exited with ${code}.`;\n\n logStream.end((): void => {\n (async (): Promise<void> => {\n let commandOutput = \"\";\n try {\n commandOutput += await readFile(commandLogPath, \"utf-8\");\n } catch (error) {\n commandOutput += \"Failed to log command output.\";\n }\n execFail(cwd, failCommand, commandOutput + \"\\n\\n\" + errorMessage);\n })();\n });\n\n addStatusCodeToFilename(code ?? \"null\");\n reject(new Error(errorMessage));\n } else {\n logInfo(\"Okay\", getLogMessage());\n addStatusCodeToFilename(code);\n resolve();\n }\n });\n child.on(\"error\", (error): void => {\n failed = true;\n\n logError(\"Fail\", getLogMessage());\n\n execFail(cwd, failCommand, error);\n\n addStatusCodeToFilename(\"error\");\n reject(error);\n });\n });\n };\n}\n","import { DirResult, dirSync, setGracefulCleanup } from \"tmp\";\nimport { resolve as resolvePath } from \"path\";\nimport findUp from \"find-up\";\nimport {\n Stats,\n copy,\n copyFile,\n lstat,\n mkdir,\n mkdirp,\n readFile,\n readdir,\n writeFile,\n unlink,\n} from \"fs-extra\";\n\nimport {\n ProjectState,\n Spawn,\n createSpawner,\n execFail,\n logError,\n logInfo,\n} from \"./util\";\n\n// Remove all temporary files on process exit.\nsetGracefulCleanup();\n\ninterface TestData {\n failCommand?: string;\n packageScripts: readonly PackageScript[];\n projectPaths: ProjectPaths;\n tmpDir: DirResult;\n tmpLogsResolve(...paths: string[]): string;\n tmpReposResolve(...paths: string[]): string;\n tmpRootResolve(...paths: string[]): string;\n visDevUtilsPath: string;\n}\n\nexport interface PackageScript {\n packageName: string | null;\n scriptName: string;\n skipIfMissing: boolean;\n}\n\nexport type ProjectPaths = Record<string, string>;\n\n/**\n * @param tmpPath\n */\nasync function prepareTmpDir(tmpPath?: string): Promise<DirResult> {\n if (tmpPath) {\n await mkdirp(tmpPath);\n\n return {\n name: tmpPath,\n removeCallback: (): void => {},\n };\n } else {\n return dirSync({ unsafeCleanup: true });\n }\n}\n\n/**\n * @param projectName\n */\nfunction getTarballName(projectName: string): string {\n return `${projectName}-0.0.0-no-version.tgz`;\n}\n\n/**\n * @param root0\n * @param root0.tmpRootResolve\n * @param projectName\n */\nfunction getTarballPath(\n { tmpRootResolve }: TestData,\n projectName: string\n): string {\n return tmpRootResolve(`${projectName}.tgz`);\n}\n\n/**\n * @param data\n * @param projectName\n */\nasync function copyTarball(data: TestData, projectName: string): Promise<void> {\n await copyFile(\n data.tmpReposResolve(projectName, getTarballName(projectName)),\n getTarballPath(data, projectName)\n );\n}\n\n/**\n * @param cwd\n */\nasync function getPackageDeps(cwd: string): Promise<string[]> {\n const packageJSONPath = await findUp(\"package.json\", { cwd });\n if (packageJSONPath == null) {\n throw new Error(\"Project's package.json file not found.\");\n }\n const packageJSON = JSON.parse(await readFile(packageJSONPath, \"utf8\"));\n\n return [\n ...new Set([\n ...Object.keys(packageJSON.dependencies || {}),\n ...Object.keys(packageJSON.devDependencies || {}),\n ...Object.keys(packageJSON.peerDependencies || {}),\n ]),\n ];\n}\n\n/**\n * @param data\n * @param projectName\n */\nasync function getPackageLocalDeps(\n data: TestData,\n projectName: string\n): Promise<string[]> {\n const { projectPaths, tmpReposResolve } = data;\n const cwd = tmpReposResolve(projectName);\n return (await getPackageDeps(cwd)).filter(\n (depName): boolean => projectPaths[depName] != null\n );\n}\n\n/**\n * @param spawn\n * @param data\n * @param projectName\n */\nasync function clone(\n spawn: Spawn,\n data: TestData,\n projectName: string\n): Promise<void> {\n const { failCommand, projectPaths, tmpReposResolve } = data;\n\n const cwd = tmpReposResolve();\n const projectPath = projectPaths[projectName];\n\n if (/\\.git$/.test(projectPath)) {\n await spawn({\n cmd: [\n \"git\",\n \"clone\",\n projectPath,\n \"--single-branch\",\n \"--branch\",\n \"master\",\n \"--depth\",\n \"1\",\n ],\n cwd,\n failCommand,\n });\n } else {\n await copy(projectPath, tmpReposResolve(projectName), {\n filter(_src, dest): boolean {\n return (\n !/[\\\\/].git[\\\\/]/.test(dest) && !/[\\\\/]node_modules[\\\\/]/.test(dest)\n );\n },\n });\n }\n}\n\n/**\n * @param cwd\n * @param deps\n */\nasync function updatePackageDepVersions(\n cwd: string,\n deps: Record<string, string>\n): Promise<void> {\n const packageJSONPath = await findUp(\"package.json\", { cwd });\n if (packageJSONPath == null) {\n throw new Error(\"Project's package.json file not found.\");\n }\n const packageJSON = JSON.parse(await readFile(packageJSONPath, \"utf8\"));\n\n Object.keys(packageJSON.dependencies ?? {}).forEach((key): void => {\n if (Object.prototype.hasOwnProperty.call(deps, key)) {\n packageJSON.dependencies[key] = \"file:\" + deps[key];\n }\n });\n Object.keys(packageJSON.devDependencies ?? {}).forEach((key): void => {\n if (Object.prototype.hasOwnProperty.call(deps, key)) {\n packageJSON.devDependencies[key] = \"file:\" + deps[key];\n }\n });\n Object.keys(packageJSON.peerDependencies ?? {}).forEach((key): void => {\n if (Object.prototype.hasOwnProperty.call(deps, key)) {\n packageJSON.peerDependencies[key] = \"file:\" + deps[key];\n }\n });\n\n await writeFile(packageJSONPath, JSON.stringify(packageJSON, undefined, 4));\n}\n\n/**\n * @param spawn\n * @param data\n * @param projectName\n */\nasync function buildTestPack(\n spawn: Spawn,\n data: TestData,\n projectName: string\n): Promise<void> {\n const { failCommand, packageScripts, tmpReposResolve } = data;\n const cwd = tmpReposResolve(projectName);\n\n await updatePackageDepVersions(\n cwd,\n (\n await getPackageLocalDeps(data, projectName)\n ).reduce<Record<string, string>>((acc, key): Record<string, string> => {\n acc[key] = getTarballPath(data, key);\n return acc;\n }, Object.create(null))\n );\n const packageLockPath = await findUp(\"package-lock.json\", { cwd });\n if (packageLockPath != null) {\n await unlink(packageLockPath);\n }\n await spawn({\n cmd: [\"npm\", \"install\"],\n cwd,\n failCommand,\n });\n\n for (const { packageName, scriptName, skipIfMissing } of packageScripts) {\n if (packageName != null && packageName !== projectName) {\n continue;\n } else if (skipIfMissing) {\n await spawn({\n cmd: [\"npm\", \"run\", scriptName, \"--if-present\"],\n cwd,\n failCommand,\n });\n } else {\n await spawn({\n cmd: [\"npm\", \"run\", scriptName],\n cwd,\n failCommand,\n });\n }\n }\n\n await spawn({ cmd: [\"npm\", \"pack\"], cwd, failCommand });\n\n await copyTarball(data, projectName);\n}\n\n/**\n * @param data\n */\nasync function checkTmpPath(data: TestData): Promise<void> {\n const tmpDir = data.tmpRootResolve();\n if ((await readdir(tmpDir)).length !== 0) {\n throw new Error(`The tmp dir (\"${tmpDir}\") is not empty.`);\n }\n}\n\nexport interface TestArgs {\n failCommand?: string;\n logsToStdout?: boolean;\n packageScripts: readonly PackageScript[];\n projectPaths: ProjectPaths;\n tmpPath?: string;\n}\n/**\n * @param root0\n * @param root0.failCommand\n * @param root0.logsToStdout\n * @param root0.packageScripts\n * @param root0.projectPaths\n * @param root0.tmpPath\n */\nexport async function test({\n failCommand,\n logsToStdout,\n packageScripts,\n projectPaths,\n tmpPath,\n}: TestArgs): Promise<boolean> {\n if (process.env.VIS_INTEROP === \"1\") {\n // This would result in infinite loop otherwise.\n logInfo(\"Skipping interop test.\");\n return true;\n }\n\n const data = Object.freeze<TestData>({\n failCommand,\n packageScripts,\n projectPaths,\n tmpDir: await prepareTmpDir(\n tmpPath ? resolvePath(tmpPath, \"repos\") : undefined\n ),\n tmpLogsResolve: (...paths: string[]): string =>\n resolvePath(data.tmpDir.name, \"logs\", ...paths),\n tmpReposResolve: (...paths: string[]): string =>\n resolvePath(data.tmpDir.name, \"repos\", ...paths),\n tmpRootResolve: (...paths: string[]): string =>\n resolvePath(data.tmpDir.name, ...paths),\n visDevUtilsPath: process.cwd(),\n });\n\n const projectStatuses = new Map<string, ProjectState>(\n Object.keys(data.projectPaths).map((project): [string, ProjectState] => [\n project,\n new ProjectState(),\n ])\n );\n /**\n *\n */\n function getStages(): string[] {\n return [...projectStatuses].map(\n ([key, { stage }]): string => ` ${key}: ${stage}`\n );\n }\n\n try {\n const spawn = createSpawner(data.tmpLogsResolve(), getStages);\n\n await checkTmpPath(data);\n\n // Prepare subdirectories under the root tmp directory.\n await Promise.all(\n [\"repos\", \"logs\"].map(\n (dir): Promise<void> => mkdir(resolvePath(data.tmpDir.name, dir))\n )\n );\n\n logInfo(\"Begin\", getStages().join(\"\\n\"));\n await Promise.all(\n [...projectStatuses].map(async ([projectName, state]): Promise<void> => {\n try {\n state.stage = \"preparing\";\n const projectPath = data.projectPaths[projectName];\n const stats = await (async (): Promise<Stats | null> => {\n try {\n return await lstat(projectPath);\n } catch {\n return null;\n }\n })();\n if (stats?.isFile()) {\n // The path points to a ready to install tarball.\n state.stage = \"copying tarball\";\n await copyFile(projectPath, getTarballPath(data, projectName));\n state.stage = \"tarball copied\";\n } else {\n // The path points to a repo (maybe remote) that has to be built,\n // tested and packed first.\n state.stage = \"cloning\";\n await clone(spawn, data, projectName);\n\n state.stage = \"gathering dependencies\";\n const failedDeps: string[] = [];\n const localDeps = await getPackageLocalDeps(data, projectName);\n state.stage = `waiting for dependencies (${localDeps.join(\", \")})`;\n for (const localDep of localDeps) {\n const depStatus = projectStatuses.get(localDep);\n if (depStatus == null) {\n throw new Error(`Dependency ${localDep} not found.`);\n }\n\n try {\n await depStatus.promise;\n } catch {\n failedDeps.push(localDep);\n }\n }\n if (failedDeps.length > 0) {\n state.stage = `dependencies failed: ${failedDeps.join(\", \")}`;\n throw new Error(state.stage);\n }\n\n state.stage = \"running CI tasks\";\n await buildTestPack(spawn, data, projectName);\n state.stage = \"cloned, built, tested and packed\";\n }\n\n logInfo(`Okay ${projectName}`, getStages().join(\"\\n\"));\n state.resolve();\n } catch (error) {\n logError(\n `Fail ${projectName} (${state.stage}):`,\n getStages().join(\"\\n\")\n );\n state.reject(error instanceof Error ? error : new Error(\"\" + error));\n }\n })\n );\n\n const allSucceeded = (\n await Promise.allSettled(\n [...projectStatuses.values()].map(\n (status): Promise<void> => status.promise\n )\n )\n ).every(({ status }): boolean => status === \"fulfilled\");\n\n if (allSucceeded) {\n return true;\n } else {\n return false;\n }\n } finally {\n // Wait for all the projects to finish and log the state summary and any\n // errors encountered.\n logInfo(\"End\", getStages().join(\"\\n\"));\n for (const [projectName, { promise }] of projectStatuses) {\n try {\n await promise;\n } catch (error) {\n logError(`${projectName} failed with`, error);\n }\n }\n\n // Print the detailed logs for inspection (especially in CI).\n if (logsToStdout) {\n logInfo(\"Outputs\");\n process.stdout.write(\n [\n \"\",\n ...(await Promise.all(\n (\n await readdir(data.tmpLogsResolve())\n ).map(\n (filename): Promise<string> =>\n readFile(data.tmpLogsResolve(filename), \"UTF-8\")\n )\n )),\n \"\",\n ].join(\"\\n\\n\" + (\"-\".repeat(80) + \"\\n\").repeat(2) + \"\\n\")\n );\n }\n\n execFail(\n data.tmpDir.name,\n failCommand,\n \"Allow the state to be inspected in debug mode before the data is lost.\"\n );\n }\n}\n","import { parseArguments } from \"./cli\";\nimport { resolve } from \"path\";\nimport { ProjectPaths, PackageScript, test } from \"./test\";\n\nconst argv = parseArguments();\n\nconst projectPaths: ProjectPaths = argv[\"project\"]\n .map((raw): [string, string] => {\n const [name, path] = raw.split(\" \", 2);\n\n if (typeof name === \"string\" && typeof path === \"string\") {\n if (/^[a-zA-Z0-9]+:\\/\\//.test(path)) {\n // Remote URL, use as is.\n return [name, path];\n } else {\n // Local path, resolve to prevent CWD issues.\n return [name, resolve(path)];\n }\n } else {\n console.error(\n `--project-path should be in 'project-name ./path' format, got '${raw}'.`\n );\n process.exit(1);\n }\n })\n .reduce<ProjectPaths>((acc, [name, path]): ProjectPaths => {\n acc[name] = path;\n return acc;\n }, {});\n\nconst rawPackageScriptArg = argv[\"package-script\"];\nconst packageScripts: PackageScript[] = rawPackageScriptArg.flatMap(\n (raw): PackageScript[] => {\n const packageScripts: PackageScript[] = [];\n\n let packageName: string | null = null;\n for (const part of raw.split(\" \")) {\n const mode = part.slice(-1);\n\n if (mode === \"?\" || mode === \"!\") {\n packageScripts.push({\n packageName,\n scriptName: part.slice(0, -1),\n skipIfMissing: mode === \"?\",\n });\n } else {\n packageName = part;\n }\n }\n\n return packageScripts;\n }\n);\n\nconst tmpPath = argv[\"tmp-dir\"] ? resolve(argv[\"tmp-dir\"]) : undefined;\n\nconst failCommand = argv[\"fail-command\"];\n\nconst logsToStdout = argv[\"logs-to-stdout\"];\n\ntest({ failCommand, logsToStdout, packageScripts, projectPaths, tmpPath })\n .then((allSucceeded): void => {\n if (!allSucceeded) {\n process.exitCode = 1;\n }\n })\n .catch((reason): void => {\n console.error(reason);\n process.exitCode = 2;\n });\n"],"names":["y","yargs","strict","usage","hide","config","help","option","demandOption","describe","type","array","default","parseArguments","parserConfiguration","parseSync","ProjectState","_createClass","_classCallCheck","_defineProperty","promise","_Promise","resolve","reject","logError","title","details","wrappedDetails","Error","message","process","stderr","write","logInfo","stdout","execFail","cwd","failCommand","error","console","execSync","encoding","env","VIS_INTEROP","stdio","createSpawner","logDir","getState","nextId","spawnThrow","cmd","id","getHeaderLines","_concatInstanceProperty","Date","toISOString","_mapInstanceProperty","word","_JSON$stringify","join","getLogMessage","line","commandLogPath","basename","replace","_padStartInstanceProperty","logStream","createWriteStream","flags","child","spawn","_sliceInstanceProperty","pipe","addStatusCodeToFilename","code","newPath","rename","catch","failed","on","errorMessage","end","_asyncToGenerator","_regeneratorRuntime","commandOutput","readFile","setGracefulCleanup","prepareTmpDir","tmpPath","mkdirp","name","removeCallback","dirSync","unsafeCleanup","getTarballName","projectName","getTarballPath","tmpRootResolve","copyTarball","data","copyFile","tmpReposResolve","getPackageDeps","findUp","packageJSONPath","JSON","packageJSON","parse","_toConsumableArray","_Set","_Object$keys","dependencies","devDependencies","peerDependencies","getPackageLocalDeps","projectPaths","_filterInstanceProperty","depName","clone","projectPath","test","copy","filter","_src","dest","updatePackageDepVersions","deps","key","Object","prototype","hasOwnProperty","call","writeFile","undefined","buildTestPack","packageScripts","_reduceInstanceProperty","acc","_Object$create","packageLockPath","unlink","_createForOfIteratorHelper","packageName","scriptName","skipIfMissing","checkTmpPath","tmpDir","readdir","length","getStages","projectStatuses","_slicedToArray","stage","logsToStdout","_Object$freeze","resolvePath","paths","tmpLogsResolve","visDevUtilsPath","_Map","project","all","dir","mkdir","state","lstat","stats","isFile","failedDeps","localDeps","localDep","depStatus","get","push","_everyInstanceProperty","allSettled","_valuesInstanceProperty","status","allSucceeded","filename","_repeatInstanceProperty","argv","raw","split","path","exit","rawPackageScriptArg","_flatMapInstanceProperty","part","mode","then","exitCode","reason"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,CAAC,GAAGC,yBAAK,CACZC,MADO,CACA,IADA,CAEPC,CAAAA,KAFO,CAED,4BAFC,EAGPC,IAHO,CAGF,SAHE,CAAA,CAIPC,MAJO,EAAA,CAKPC,IALO,EAOPC,CAAAA,MAPO,CAOA,cAPA,EAOgB;AACtBC,EAAAA,YAAY,EAAE,KADQ;AAEtBC,EAAAA,QAAQ,EACN,sHAHoB;AAItBC,EAAAA,IAAI,EAAE,QAAA;AAJgB,CAPhB,CAaPH,CAAAA,MAbO,CAaA,gBAbA,EAakB;AACxBI,EAAAA,KAAK,EAAE,IADiB;AAExBC,EAAAA,OAAO,EAAE,CAAC,QAAD,EAAW,QAAX,EAAqB,OAArB,EAA8B,0BAA9B,CAFe;AAGxBJ,EAAAA,YAAY,EAAE,KAHU;AAIxBC,EAAAA,QAAQ,EACN,8VALsB;AAMxBC,EAAAA,IAAI,EAAE,QAAA;AANkB,CAblB,CAqBPH,CAAAA,MArBO,CAqBA,SArBA,EAqBW;AACjBI,EAAAA,KAAK,EAAE,IADU;AAEjBC,EAAAA,OAAO,EAAE,EAFQ;AAGjBJ,EAAAA,YAAY,EAAE,KAHG;AAIjBC,EAAAA,QAAQ,EACN,kHALe;AAMjBC,EAAAA,IAAI,EAAE,QAAA;AANW,CArBX,CA6BPH,CAAAA,MA7BO,CA6BA,SA7BA,EA6BW;AACjBC,EAAAA,YAAY,EAAE,KADG;AAEjBC,EAAAA,QAAQ,EACN,uGAHe;AAIjBC,EAAAA,IAAI,EAAE,QAAA;AAJW,CA7BX,CAmCPH,CAAAA,MAnCO,CAmCA,gBAnCA,EAmCkB;AACxBC,EAAAA,YAAY,EAAE,KADU;AAExBI,EAAAA,OAAO,EAAE,KAFe;AAGxBH,EAAAA,QAAQ,EAAE,yDAHc;AAIxBC,EAAAA,IAAI,EAAE,SAAA;AAJkB,CAnClB,CAAV,CAAA;AA0CA;;AAEG;;SACaG,iBAAc;AAC5B,EAAOb,OAAAA,CAAC,CAACc,mBAAF,CAAsB;AAAE,IAAwB,sBAAA,EAAA,KAAA;AAA1B,GAAtB,CAAA,CAAyDC,SAAzD,EAAP,CAAA;AACD;;;;;AC7CD,IAAaC,YAAb,gBAAAC,gCAAA;AACE;;;AAGG;;AAEH;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;AAGH,SAAA,YAAA,GAAA;AAAA,EAAA,IAAA,KAAA,GAAA,IAAA,CAAA;;AAAA,EAAAC,mCAAA,CAAA,IAAA,EAAA,YAAA,CAAA,CAAA;;AAAA,EAAAC,mCAAA,CAAA,IAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;;AAAA,EAAAA,mCAAA,CAAA,IAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;;AAAA,EAAAA,mCAAA,CAAA,IAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;;AAAA,EAAAA,mCAAA,CAAA,IAAA,EAAA,OAAA,EAFe,SAEf,CAAA,CAAA;;AACE,EAAA,IAAA,CAAKC,OAAL,GAAe,IAAAC,4BAAA,CAAkB,UAACC,OAAD,EAAUC,MAAV,EAA0B;AACzD,IAAA,KAAI,CAACD,OAAL,GAAeA,OAAf,CAAA;AACA,IAAA,KAAI,CAACC,MAAL,GAAcA,MAAd,CAAA;AACD,GAHc,CAAf,CAAA;AAID,CAxBH,CAAA,CAAA;AA2BA;;;;;AAKG;;AACa,SAAAC,QAAA,CAASC,KAAT,EAAwBC,OAAxB,EAAyC;AAAA,EAAA,IAAA,QAAA,CAAA;;AACvD,EAAA,IAAMC,cAAc,GAClBD,OAAO,IAAI,IAAX,eACSA,OAAO,YAAYE,KAAnB,GAA2BF,OAAO,CAACG,OAAnC,GAA6CH,OADtD,IAEI,EAHN,CAAA;AAIAI,EAAAA,OAAO,CAACC,MAAR,CAAeC,KAAf,CAA8BP,2CAAAA,CAAAA,QAAAA,GAAAA,QAAAA,CAAAA,MAAAA,CAAAA,KAA9B,kBAAsCE,cAAtC,EAAA,IAAA,CAAA,CAAA,CAAA;AACD,CAAA;AACD;;;AAGG;;AACa,SAAAM,OAAA,CAAQR,KAAR,EAAuBC,OAAvB,EAAuC;AAAA,EAAA,IAAA,SAAA,CAAA;;AACrD,EAAA,IAAMC,cAAc,GAAGD,OAAO,GAASA,KAAAA,CAAAA,MAAAA,CAAAA,OAAT,IAAqB,EAAnD,CAAA;AACAI,EAAAA,OAAO,CAACI,MAAR,CAAeF,KAAf,CAA8BP,2CAAAA,CAAAA,SAAAA,GAAAA,QAAAA,CAAAA,MAAAA,CAAAA,KAA9B,mBAAsCE,cAAtC,EAAA,IAAA,CAAA,CAAA,CAAA;AACD,CAAA;AAED;;;;AAIG;;SACaQ,SACdC,KACAC,aACAC,OAAqB;AAErB,EAAA,IAAID,WAAJ,EAAiB;AACfE,IAAAA,OAAO,CAACD,KAAR,CAAc,2BAAd,CAAA,CAAA;AACAC,IAAAA,OAAO,CAACD,KAAR,CAAcA,KAAd,CAAA,CAAA;AACAC,IAAAA,OAAO,CAACD,KAAR,CAAc,eAAd,CAAA,CAAA;;AACA,IAAI,IAAA;AACFE,MAAAA,sBAAQ,CAACH,WAAD,EAAc;AACpBD,QAAAA,GAAG,EAAHA,GADoB;AAEpBK,QAAAA,QAAQ,EAAE,MAFU;AAGpBC,QAAAA,GAAG,EAAA,aAAA,CAAA,aAAA,CAAA,EAAA,EAAOZ,OAAO,CAACY,GAAf,CAAA,EAAA,EAAA,EAAA;AAAoBC,UAAAA,WAAW,EAAE,GAAA;AAAjC,SAHiB,CAAA;AAIpBC,QAAAA,KAAK,EAAE,SAAA;AAJa,OAAd,CAAR,CAAA;AAMD,KAPD,CAOE,OAAON,KAAP,EAAc;AACdC,MAAAA,OAAO,CAACD,KAAR,CAAcA,KAAd,CAAA,CAAA;AACAC,MAAAA,OAAO,CAACD,KAAR,CACE,+GADF,CAAA,CAAA;AAGD,KAAA;AACF,GAAA;AACF,CAAA;AASD;;;AAGG;;AACa,SAAAO,aAAA,CAAcC,MAAd,EAA8BC,QAA9B,EAAsD;AACpE,EAAIC,IAAAA,MAAM,GAAG,CAAb,CAAA;AAEA,EAAO,OAAA,SAASC,UAAT,CAA6C,IAAA,EAAA;AAAA,IAAvBC,IAAAA,GAAuB,QAAvBA,GAAuB;AAAA,QAAlBd,GAAkB,QAAlBA,GAAkB;AAAA,QAAbC,WAAa,QAAbA,WAAa,CAAA;AAClD,IAAMc,IAAAA,EAAE,GAAGH,MAAM,EAAjB,CAAA;;AACA,IAAMI,IAAAA,cAAc,GAAG,SAAjBA,cAAiB,GAAA;AAAA,MAAA,IAAA,SAAA,CAAA;;AAAA,MACrB,OAAAC,2CAAA,CAAA,SAAA,GAAA,CAAA,QAAA,GAAW,IAAIC,IAAJ,EAAA,CAAWC,WAAX,EADU,EAErB,SAASJ,EAFY,EAGrB,UAAUf,GAHW,EAIrB,UAAUoB,wCAAAN,CAAAA,GAAG,MAAH,CAAAA,GAAG,EAAK,UAACO,IAAD,EAAA;AAAA,QAAkB,OAAAC,mCAAA,CAAeD,IAAf,CAAlB,CAAA;AAAA,OAAL,CAAH,CAAgDE,IAAhD,CAAqD,GAArD,CAJW,EAKrB,SALqB,CAMlBZ,CAAAA,CAAAA,IAAAA,CAAAA,SAAAA,EAAAA,sCAAAA,CAAAA,QAAQ,EANU,CAAA,CAAA,CAAA;AAAA,KAAvB,CAAA;;AAQA,IAAMa,IAAAA,aAAa,GAAG,SAAhBA,aAAgB,GAAA;AAAA,MAAA,IAAA,SAAA,CAAA;;AAAA,MAAA,OACpBJ,wCAAAJ,CAAAA,SAAAA,GAAAA,cAAc,EAAd,CAAA,CAAA,IAAA,CAAA,SAAA,EACO,UAACS,IAAD,EAAA;AAAA,QAAA,OAAkB,OAAOA,IAAzB,CAAA;AAAA,OADP,CAEGF,CAAAA,IAFH,CAEQ,IAFR,CADoB,CAAA;AAAA,KAAtB,CAAA;;AAKA1B,IAAAA,OAAO,CAAC,OAAD,EAAU2B,aAAa,EAAvB,CAAP,CAAA;AAEA,IAAA,OAAO,IAAYvC,4BAAA,CAAA,UAACC,OAAD,EAAUC,MAAV,EAA0B;AAAA,MAAA,IAAA,SAAA,CAAA;;AAC3C,MAAMuC,IAAAA,cAAc,GAAGH,SAAI,CACzBb,MADyB,EAEzB,CACEiB,aAAQ,CAAC3B,GAAD,CAAR,CAAc4B,OAAd,CAAsB,gBAAtB,EAAwC,GAAxC,CADF,EAEEd,GAAG,CAACS,IAAJ,CAAS,GAAT,EAAcK,OAAd,CAAsB,gBAAtB,EAAwC,GAAxC,CAFF,EAGE,KAAA,GAAQC,6CAAC,CAAA,SAAA,GAAA,EAAA,GAAKd,EAAN,CAAA,CAAA,IAAA,CAAA,SAAA,EAAmB,CAAnB,EAAsB,GAAtB,CAHV,EAIE,KAJF,EAKEQ,IALF,CAKO,GALP,CAFyB,CAA3B,CAAA;AASA,MAAA,IAAMO,SAAS,GAAGC,yBAAiB,CAACL,cAAD,EAAiB;AAClDM,QAAAA,KAAK,EAAE,GAAA;AAD2C,OAAjB,CAAnC,CAAA;AAIAF,MAAAA,SAAS,CAAClC,KAAV,CAAgBoB,cAAc,GAAGO,IAAjB,CAAsB,IAAtB,CAAA,GAA8B,MAA9C,CAAA,CAAA;AAEA,MAAA,IAAMU,KAAK,GAAGC,mBAAK,CAACpB,GAAG,CAAC,CAAD,CAAJ,EAASqB,0CAAA,CAAArB,GAAG,CAAH,CAAA,IAAA,CAAAA,GAAG,EAAO,CAAP,CAAZ,EAAuB;AACxCd,QAAAA,GAAG,EAAHA,GADwC;AAExCM,QAAAA,GAAG,EAAA,aAAA,CAAA,aAAA,CAAA,EAAA,EAAOZ,OAAO,CAACY,GAAf,CAAA,EAAA,EAAA,EAAA;AAAoBC,UAAAA,WAAW,EAAE,GAAA;AAAjC,SAFqC,CAAA;AAGxCC,QAAAA,KAAK,EAAE,MAAA;AAHiC,OAAvB,CAAnB,CAAA;AAMAyB,MAAAA,KAAK,CAACnC,MAAN,CAAasC,IAAb,CAAkBN,SAAlB,CAAA,CAAA;AACAG,MAAAA,KAAK,CAACtC,MAAN,CAAayC,IAAb,CAAkBN,SAAlB,CAAA,CAAA;AAEA;;;;;AAKG;;AACH,MAASO,SAAAA,uBAAT,CAAiCC,IAAjC,EAAsD;AACpD,QAAA,IAAMC,OAAO,GACXJ,0CAAA,CAAAT,cAAc,CAAd,CAAA,IAAA,CAAAA,cAAc,EAAO,CAAP,EAAU,CAAC,CAAX,CAAd,GAA8B,UAA9B,GAA2CY,IAA3C,GAAkD,MADpD,CAAA;AAEAE,QAAAA,cAAM,CAACd,cAAD,EAAiBa,OAAjB,CAAN,CAAgCE,KAAhC,CAAsC,UAACvC,KAAD,EAAgB;AACpDC,UAAAA,OAAO,CAACD,KAAR,CAA8CqC,+BAAAA,CAAAA,MAAAA,CAAAA,OAA9C,QAA0DrC,KAA1D,CAAA,CAAA;AACD,SAFD,CAAA,CAAA;AAGD,OAAA;;AAED,MAAIwC,IAAAA,MAAM,GAAG,KAAb,CAAA;AACAT,MAAAA,KAAK,CAACU,EAAN,CAAS,OAAT,EAAkB,UAACL,IAAD,EAAe;AAC/B,QAAII,IAAAA,MAAJ,EAAY,CAAZ,MAEO,IAAIJ,IAAI,KAAK,CAAb,EAAgB;AAAA,UAAA,IAAA,SAAA,CAAA;;AACrBlD,UAAAA,QAAQ,CAAC,MAAD,EAASoC,aAAa,EAAtB,CAAR,CAAA;;AAEA,UAAMoB,IAAAA,YAAY,qEAAMxB,wCAAAN,CAAAA,GAAG,MAAH,CAAAA,GAAG,EACpB,UAACO,IAAD,EAAA;AAAA,YAAA,OAAA,IAAA,CAAA,MAAA,CAAsBA,IAAtB,EAAA,IAAA,CAAA,CAAA;AAAA,WADoB,CAAH,CAErBE,IAFqB,CAEhB,GAFgB,CAAN,EAAA,gBAAA,CAAA,CAAA,CAAA,IAAA,CAAA,SAAA,EAEWe,IAFX,EAAlB,GAAA,CAAA,CAAA;;AAIAR,UAAAA,SAAS,CAACe,GAAV,CAAc,YAAW;AACvB,YAACC,qCAAA,eAAAC,uCAAA,CAAA,IAAA,CAAA,SAAA,OAAA,GAAA;AAAA,cAAA,IAAA,aAAA,CAAA;AAAA,cAAA,OAAAA,uCAAA,CAAA,IAAA,CAAA,SAAA,QAAA,CAAA,SAAA,EAAA;AAAA,gBAAA,OAAA,CAAA,EAAA;AAAA,kBAAA,QAAA,SAAA,CAAA,IAAA,GAAA,SAAA,CAAA,IAAA;AAAA,oBAAA,KAAA,CAAA;AACKC,sBAAAA,aADL,GACqB,EADrB,CAAA;AAAA,sBAAA,SAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,sBAAA,SAAA,CAAA,EAAA,GAGGA,aAHH,CAAA;AAAA,sBAAA,SAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,sBAAA,OAG0BC,gBAAQ,CAACvB,cAAD,EAAiB,OAAjB,CAHlC,CAAA;;AAAA,oBAAA,KAAA,CAAA;AAGGsB,sBAAAA,aAHH,GAAA,SAAA,CAAA,EAAA,IAAA,SAAA,CAAA,IAAA,CAAA;AAAA,sBAAA,SAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,sBAAA,MAAA;;AAAA,oBAAA,KAAA,CAAA;AAAA,sBAAA,SAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,sBAAA,SAAA,CAAA,EAAA,GAAA,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAKGA,sBAAAA,aAAa,IAAI,+BAAjB,CAAA;;AALH,oBAAA,KAAA,EAAA;AAOCjD,sBAAAA,QAAQ,CAACC,GAAD,EAAMC,WAAN,EAAmB+C,aAAa,GAAG,MAAhB,GAAyBJ,YAA5C,CAAR,CAAA;;AAPD,oBAAA,KAAA,EAAA,CAAA;AAAA,oBAAA,KAAA,KAAA;AAAA,sBAAA,OAAA,SAAA,CAAA,IAAA,EAAA,CAAA;AAAA,mBAAA;AAAA,iBAAA;AAAA,eAAA,EAAA,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,aAAD,CAAA,CAAA,EAAA,CAAA;AASD,WAVD,CAAA,CAAA;AAYAP,UAAAA,uBAAuB,CAACC,IAAD,KAAA,IAAA,IAACA,IAAD,KAACA,KAAAA,CAAAA,GAAAA,IAAD,GAAS,MAAT,CAAvB,CAAA;AACAnD,UAAAA,MAAM,CAAC,IAAIK,KAAJ,CAAUoD,YAAV,CAAD,CAAN,CAAA;AACD,SArBM,MAqBA;AACL/C,UAAAA,OAAO,CAAC,MAAD,EAAS2B,aAAa,EAAtB,CAAP,CAAA;AACAa,UAAAA,uBAAuB,CAACC,IAAD,CAAvB,CAAA;AACApD,UAAAA,OAAO,EAAA,CAAA;AACR,SAAA;AACF,OA7BD,CAAA,CAAA;AA8BA+C,MAAAA,KAAK,CAACU,EAAN,CAAS,OAAT,EAAkB,UAACzC,KAAD,EAAgB;AAChCwC,QAAAA,MAAM,GAAG,IAAT,CAAA;AAEAtD,QAAAA,QAAQ,CAAC,MAAD,EAASoC,aAAa,EAAtB,CAAR,CAAA;AAEAzB,QAAAA,QAAQ,CAACC,GAAD,EAAMC,WAAN,EAAmBC,KAAnB,CAAR,CAAA;AAEAmC,QAAAA,uBAAuB,CAAC,OAAD,CAAvB,CAAA;AACAlD,QAAAA,MAAM,CAACe,KAAD,CAAN,CAAA;AACD,OATD,CAAA,CAAA;AAUD,KAhFM,CAAP,CAAA;AAiFD,GAlGD,CAAA;AAmGD;;;;;;;;AC1KDgD,sBAAkB,EAAA,CAAA;AAqBlB;;AAEG;;SACYC;;;AAaf;;AAEG;;;;AAfH,EAAA,cAAA,GAAAL,qCAAA,eAAAC,uCAAA,CAAA,IAAA,CAAA,SAAA,OAAA,CAA6BK,OAA7B,EAAA;AAAA,IAAA,OAAAL,uCAAA,CAAA,IAAA,CAAA,SAAA,QAAA,CAAA,QAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA;AAAA,QAAA,QAAA,QAAA,CAAA,IAAA,GAAA,QAAA,CAAA,IAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IAAA,CACMK,OADN,EAAA;AAAA,cAAA,QAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;;AAAA,YAAA,QAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,YAEUC,OAAAA,cAAM,CAACD,OAAD,CAFhB,CAAA;;AAAA,UAAA,KAAA,CAAA;AAAA,YAIW,OAAA,QAAA,CAAA,MAAA,CAAA,QAAA,EAAA;AACLE,cAAAA,IAAI,EAAEF,OADD;AAELG,cAAAA,cAAc,EAAE,SAAA,cAAA,GAAW,EAAG;AAFzB,aAJX,CAAA,CAAA;;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,OAAA,QAAA,CAAA,MAAA,CAAA,QAAA,EASWC,WAAO,CAAC;AAAEC,cAAAA,aAAa,EAAE,IAAA;AAAjB,aAAD,CATlB,CAAA,CAAA;;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;AAAA,YAAA,OAAA,QAAA,CAAA,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAAA,EAAA,OAAA,CAAA,CAAA;AAAA;;;;AAgBA,SAASC,cAAT,CAAwBC,WAAxB,EAA2C;AACzC,EAAA,OAAA,EAAA,CAAA,MAAA,CAAUA,WAAV,EAAA,uBAAA,CAAA,CAAA;AACD,CAAA;AAED;;;;AAIG;;;AACH,SAASC,cAAT,CAEED,IAAAA,EAAAA,WAFF,EAEqB;AAAA,EADjBE,IAAAA,cACiB,QADjBA,cACiB,CAAA;AAEnB,EAAOA,OAAAA,cAAc,CAAIF,EAAAA,CAAAA,MAAAA,CAAAA,WAAJ,EAArB,MAAA,CAAA,CAAA,CAAA;AACD,CAAA;AAED;;;AAGG;;;SACYG;;;AAOf;;AAEG;;;;kHATH,SAA2BC,QAAAA,CAAAA,IAA3B,EAA2CJ,WAA3C,EAAA;AAAA,IAAA,OAAAZ,uCAAA,CAAA,IAAA,CAAA,SAAA,SAAA,CAAA,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA;AAAA,QAAA,QAAA,SAAA,CAAA,IAAA,GAAA,SAAA,CAAA,IAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,SAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,YACQiB,OAAAA,gBAAQ,CACZD,IAAI,CAACE,eAAL,CAAqBN,WAArB,EAAkCD,cAAc,CAACC,WAAD,CAAhD,CADY,EAEZC,cAAc,CAACG,IAAD,EAAOJ,WAAP,CAFF,CADhB,CAAA;;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;AAAA,YAAA,OAAA,SAAA,CAAA,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAAA,EAAA,QAAA,CAAA,CAAA;AAAA;;;;SAUeO;;;AAgBf;;;AAGG;;;;AAnBH,EAAA,eAAA,GAAApB,qCAAA,eAAAC,uCAAA,CAAA,IAAA,CAAA,SAAA,QAAA,CAA8B/C,GAA9B,EAAA;AAAA,IAAA,IAAA,SAAA,CAAA;;AAAA,IAAA,IAAA,eAAA,EAAA,WAAA,CAAA;AAAA,IAAA,OAAA+C,uCAAA,CAAA,IAAA,CAAA,SAAA,SAAA,CAAA,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA;AAAA,QAAA,QAAA,SAAA,CAAA,IAAA,GAAA,SAAA,CAAA,IAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,SAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,YACgCoB,OAAAA,0BAAM,CAAC,cAAD,EAAiB;AAAEnE,cAAAA,GAAG,EAAHA,GAAAA;AAAF,aAAjB,CADtC,CAAA;;AAAA,UAAA,KAAA,CAAA;AACQoE,YAAAA,eADR,GAAA,SAAA,CAAA,IAAA,CAAA;;AAAA,YAEMA,IAAAA,EAAAA,eAAe,IAAI,IAFzB,CAAA,EAAA;AAAA,cAAA,SAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;;AAAA,YAAA,MAGU,IAAI5E,KAAJ,CAAU,wCAAV,CAHV,CAAA;;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,SAAA,CAAA,EAAA,GAKsB6E,IALtB,CAAA;AAAA,YAAA,SAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAKuCpB,gBAAQ,CAACmB,eAAD,EAAkB,MAAlB,CAL/C,CAAA;;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,SAAA,CAAA,EAAA,GAAA,SAAA,CAAA,IAAA,CAAA;AAKQE,YAAAA,WALR,gBAK2BC,KAL3B,CAAA,IAAA,CAAA,SAAA,CAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA;AAAA,YAQO,OAAA,SAAA,CAAA,MAAA,CAAA,QAAA,EAAAC,sCAAA,CAAA,IAAAC,wBAAA,CAAAxD,2CAAA,CAAA,SAAA,GAAA,EAAA,CAAA,CAAA,IAAA,CAAA,SAAA,EAAAuD,sCAAA,CACEE,gCAAYJ,CAAAA,WAAW,CAACK,YAAZ,IAA4B,EAAxC,CADF,CAEE,EAAAH,sCAAA,CAAAE,gCAAA,CAAYJ,WAAW,CAACM,eAAZ,IAA+B,EAA3C,CAFF,CAAA,EAAAJ,sCAAA,CAGEE,gCAAYJ,CAAAA,WAAW,CAACO,gBAAZ,IAAgC,EAA5C,CAHF,CARP,CAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;AAAA,YAAA,OAAA,SAAA,CAAA,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAAA,EAAA,QAAA,CAAA,CAAA;AAAA;;;;SAoBeC;;;AAWf;;;;AAIG;;;;0HAfH,SACEf,QAAAA,CAAAA,IADF,EAEEJ,WAFF,EAAA;AAAA,IAAA,IAAA,SAAA,CAAA;;AAAA,IAAA,IAAA,YAAA,EAAA,eAAA,EAAA,GAAA,CAAA;AAAA,IAAA,OAAAZ,uCAAA,CAAA,IAAA,CAAA,SAAA,SAAA,CAAA,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA;AAAA,QAAA,QAAA,SAAA,CAAA,IAAA,GAAA,SAAA,CAAA,IAAA;AAAA,UAAA,KAAA,CAAA;AAIUgC,YAAAA,YAJV,GAI4ChB,IAJ5C,CAIUgB,YAJV,EAIwBd,eAJxB,GAI4CF,IAJ5C,CAIwBE,eAJxB,CAAA;AAKQjE,YAAAA,GALR,GAKciE,eAAe,CAACN,WAAD,CAL7B,CAAA;AAAA,YAAA,SAAA,CAAA,EAAA,GAAAqB,2CAAA,CAAA;AAAA,YAAA,SAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,YAMgBd,OAAAA,cAAc,CAAClE,GAAD,CAN9B,CAAA;;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,SAAA,CAAA,EAAA,GAAA,SAAA,GAAA,SAAA,CAAA,IAAA,CAAA;AAAA,YAAA,OAAA,SAAA,CAAA,MAAA,CAAA,QAAA,EAAA,IAAA,SAAA,CAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,IAAA,CAAA,SAAA,EAOI,UAACiF,OAAD,EAAA;AAAA,cAAA,OAAsBF,YAAY,CAACE,OAAD,CAAZ,IAAyB,IAA/C,CAAA;AAAA,aAPJ,CAAA,CAAA,CAAA;;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;AAAA,YAAA,OAAA,SAAA,CAAA,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAAA,EAAA,QAAA,CAAA,CAAA;AAAA;;;;SAgBeC;;;AAoCf;;;AAGG;;;;AAvCH,EAAA,MAAA,GAAApC,qCAAA,eAAAC,uCAAA,CAAA,IAAA,CAAA,SAAA,QAAA,CACEb,KADF,EAEE6B,IAFF,EAGEJ,WAHF,EAAA;AAAA,IAAA,IAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,GAAA,EAAA,WAAA,CAAA;AAAA,IAAA,OAAAZ,uCAAA,CAAA,IAAA,CAAA,SAAA,SAAA,CAAA,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA;AAAA,QAAA,QAAA,SAAA,CAAA,IAAA,GAAA,SAAA,CAAA,IAAA;AAAA,UAAA,KAAA,CAAA;AAKU9C,YAAAA,WALV,GAKyD8D,IALzD,CAKU9D,WALV,EAKuB8E,YALvB,GAKyDhB,IALzD,CAKuBgB,YALvB,EAKqCd,eALrC,GAKyDF,IALzD,CAKqCE,eALrC,CAAA;AAOQjE,YAAAA,GAPR,GAOciE,eAAe,EAP7B,CAAA;AAQQkB,YAAAA,WARR,GAQsBJ,YAAY,CAACpB,WAAD,CARlC,CAAA;;AAAA,YAAA,IAAA,CAUM,QAASyB,CAAAA,IAAT,CAAcD,WAAd,CAVN,EAAA;AAAA,cAAA,SAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;;AAAA,YAAA,SAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAWUjD,KAAK,CAAC;AACVpB,cAAAA,GAAG,EAAE,CACH,KADG,EAEH,OAFG,EAGHqE,WAHG,EAIH,iBAJG,EAKH,UALG,EAMH,QANG,EAOH,SAPG,EAQH,GARG,CADK;AAWVnF,cAAAA,GAAG,EAAHA,GAXU;AAYVC,cAAAA,WAAW,EAAXA,WAAAA;AAZU,aAAD,CAXf,CAAA;;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,SAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,SAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YA0BUoF,OAAAA,YAAI,CAACF,WAAD,EAAclB,eAAe,CAACN,WAAD,CAA7B,EAA4C;AACpD2B,cAAAA,MADoD,EAAA,SAAA,MAAA,CAC7CC,IAD6C,EACvCC,IADuC,EACnC;AACf,gBAAA,OACE,CAAC,gBAAA,CAAiBJ,IAAjB,CAAsBI,IAAtB,CAAD,IAAgC,CAAC,wBAAyBJ,CAAAA,IAAzB,CAA8BI,IAA9B,CADnC,CAAA;AAGD,eAAA;AALmD,aAA5C,CA1Bd,CAAA;;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;AAAA,YAAA,OAAA,SAAA,CAAA,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAAA,EAAA,QAAA,CAAA,CAAA;AAAA;;;;SAwCeC;;;AA6Bf;;;;AAIG;;;;+HAjCH,SACEzF,QAAAA,CAAAA,GADF,EAEE0F,IAFF,EAAA;AAAA,IAAA,IAAA,SAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,qBAAA,CAAA;;AAAA,IAAA,IAAA,eAAA,EAAA,WAAA,CAAA;AAAA,IAAA,OAAA3C,uCAAA,CAAA,IAAA,CAAA,SAAA,SAAA,CAAA,UAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA;AAAA,QAAA,QAAA,UAAA,CAAA,IAAA,GAAA,UAAA,CAAA,IAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,YAIgCoB,OAAAA,0BAAM,CAAC,cAAD,EAAiB;AAAEnE,cAAAA,GAAG,EAAHA,GAAAA;AAAF,aAAjB,CAJtC,CAAA;;AAAA,UAAA,KAAA,CAAA;AAIQoE,YAAAA,eAJR,GAAA,UAAA,CAAA,IAAA,CAAA;;AAAA,YAKMA,IAAAA,EAAAA,eAAe,IAAI,IALzB,CAAA,EAAA;AAAA,cAAA,UAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;;AAAA,YAAA,MAMU,IAAI5E,KAAJ,CAAU,wCAAV,CANV,CAAA;;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,UAAA,CAAA,EAAA,GAQsB6E,IARtB,CAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAQuCpB,gBAAQ,CAACmB,eAAD,EAAkB,MAAlB,CAR/C,CAAA;;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,UAAA,CAAA,EAAA,GAAA,UAAA,CAAA,IAAA,CAAA;AAQQE,YAAAA,WARR,iBAQ2BC,KAR3B,CAAA,IAAA,CAAA,UAAA,CAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA;;AAUE,YAAYD,4CAAAA,CAAAA,SAAAA,GAAAA,gCAAAA,CAAAA,CAAAA,qBAAAA,GAAAA,WAAW,CAACK,YAAxB,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,qBAAA,GAAwC,EAAxC,CAAoD,CAAA,CAAA,IAAA,CAAA,SAAA,EAAA,UAACgB,GAAD,EAAc;AAChE,cAAA,IAAIC,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCL,IAArC,EAA2CC,GAA3C,CAAJ,EAAqD;AACnDrB,gBAAAA,WAAW,CAACK,YAAZ,CAAyBgB,GAAzB,IAAgC,OAAUD,GAAAA,IAAI,CAACC,GAAD,CAA9C,CAAA;AACD,eAAA;AACF,aAJD,CAAA,CAAA;;AAKA,YAAYrB,4CAAAA,CAAAA,SAAAA,GAAAA,gCAAAA,CAAAA,CAAAA,qBAAAA,GAAAA,WAAW,CAACM,eAAxB,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,qBAAA,GAA2C,EAA3C,CAAuD,CAAA,CAAA,IAAA,CAAA,SAAA,EAAA,UAACe,GAAD,EAAc;AACnE,cAAA,IAAIC,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCL,IAArC,EAA2CC,GAA3C,CAAJ,EAAqD;AACnDrB,gBAAAA,WAAW,CAACM,eAAZ,CAA4Be,GAA5B,IAAmC,OAAUD,GAAAA,IAAI,CAACC,GAAD,CAAjD,CAAA;AACD,eAAA;AACF,aAJD,CAAA,CAAA;;AAKA,YAAYrB,4CAAAA,CAAAA,UAAAA,GAAAA,gCAAAA,CAAAA,CAAAA,qBAAAA,GAAAA,WAAW,CAACO,gBAAxB,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,qBAAA,GAA4C,EAA5C,CAAwD,CAAA,CAAA,IAAA,CAAA,UAAA,EAAA,UAACc,GAAD,EAAc;AACpE,cAAA,IAAIC,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCL,IAArC,EAA2CC,GAA3C,CAAJ,EAAqD;AACnDrB,gBAAAA,WAAW,CAACO,gBAAZ,CAA6Bc,GAA7B,IAAoC,OAAUD,GAAAA,IAAI,CAACC,GAAD,CAAlD,CAAA;AACD,eAAA;AACF,aAJD,CAAA,CAAA;;AApBF,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YA0BQK,OAAAA,iBAAS,CAAC5B,eAAD,EAAkB9C,mCAAA,CAAegD,WAAf,EAA4B2B,SAA5B,EAAuC,CAAvC,CAAlB,CA1BjB,CAAA;;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;AAAA,YAAA,OAAA,UAAA,CAAA,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAAA,EAAA,QAAA,CAAA,CAAA;AAAA;;;;SAkCeC;;;AAkDf;;AAEG;;;;AApDH,EAAA,cAAA,GAAApD,qCAAA,eAAAC,uCAAA,CAAA,IAAA,CAAA,SAAA,QAAA,CACEb,KADF,EAEE6B,IAFF,EAGEJ,WAHF,EAAA;AAAA,IAAA,IAAA,UAAA,CAAA;;AAAA,IAAA,IAAA,WAAA,EAAA,cAAA,EAAA,eAAA,EAAA,GAAA,EAAA,eAAA,EAAA,SAAA,EAAA,KAAA,EAAA,WAAA,EAAA,WAAA,EAAA,UAAA,EAAA,aAAA,CAAA;;AAAA,IAAA,OAAAZ,uCAAA,CAAA,IAAA,CAAA,SAAA,SAAA,CAAA,UAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA;AAAA,QAAA,QAAA,UAAA,CAAA,IAAA,GAAA,UAAA,CAAA,IAAA;AAAA,UAAA,KAAA,CAAA;AAKU9C,YAAAA,WALV,GAK2D8D,IAL3D,CAKU9D,WALV,EAKuBkG,cALvB,GAK2DpC,IAL3D,CAKuBoC,cALvB,EAKuClC,eALvC,GAK2DF,IAL3D,CAKuCE,eALvC,CAAA;AAMQjE,YAAAA,GANR,GAMciE,eAAe,CAACN,WAAD,CAN7B,CAAA;AAAA,YAAA,UAAA,CAAA,EAAA,GAQQ8B,wBARR,CAAA;AAAA,YAAA,UAAA,CAAA,EAAA,GASIzF,GATJ,CAAA;AAAA,YAAA,UAAA,CAAA,EAAA,GAAAoG,2CAAA,CAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAWYtB,mBAAmB,CAACf,IAAD,EAAOJ,WAAP,CAX/B,CAAA;;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,UAAA,CAAA,EAAA,GAAA,UAAA,GAAA,UAAA,CAAA,IAAA,CAAA;AAAA,YAAA,UAAA,CAAA,EAAA,GAAA,IAAA,UAAA,CAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,IAAA,CAAA,UAAA,EAYqC,UAAC0C,GAAD,EAAMV,GAAN,EAAqC;AACpEU,cAAAA,GAAG,CAACV,GAAD,CAAH,GAAW/B,cAAc,CAACG,IAAD,EAAO4B,GAAP,CAAzB,CAAA;AACA,cAAA,OAAOU,GAAP,CAAA;AACD,aAfL,EAeOC,kCAAc,CAAA,IAAd,CAfP,CAAA,CAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OAAA,IAAA,UAAA,CAAA,EAAA,EAAA,UAAA,CAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAiBgCnC,OAAAA,0BAAM,CAAC,mBAAD,EAAsB;AAAEnE,cAAAA,GAAG,EAAHA,GAAAA;AAAF,aAAtB,CAjBtC,CAAA;;AAAA,UAAA,KAAA,EAAA;AAiBQuG,YAAAA,eAjBR,GAAA,UAAA,CAAA,IAAA,CAAA;;AAAA,YAkBMA,IAAAA,EAAAA,eAAe,IAAI,IAlBzB,CAAA,EAAA;AAAA,cAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAmBUC,OAAAA,cAAM,CAACD,eAAD,CAnBhB,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OAqBQrE,KAAK,CAAC;AACVpB,cAAAA,GAAG,EAAE,CAAC,KAAD,EAAQ,SAAR,CADK;AAEVd,cAAAA,GAAG,EAAHA,GAFU;AAGVC,cAAAA,WAAW,EAAXA,WAAAA;AAHU,aAAD,CArBb,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,SAAA,GAAAwG,4BAAA,CA2B2DN,cA3B3D,CAAA,CAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;;AAAA,YAAA,SAAA,CAAA,CAAA,EAAA,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,IAAA,CAAA,KAAA,GAAA,SAAA,CAAA,CAAA,EAAA,EAAA,IAAA,EAAA;AAAA,cAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;;AAAA,YA2BeO,WAAAA,GAAAA,KAAAA,CAAAA,KAAAA,EAAAA,WA3Bf,GA2BeA,WAAAA,CAAAA,WA3Bf,EA2B4BC,UA3B5B,eA2B4BA,UA3B5B,EA2BwCC,aA3BxC,GAAA,WAAA,CA2BwCA,aA3BxC,CAAA;;AAAA,YAAA,IAAA,EA4BQF,WAAW,IAAI,IAAf,IAAuBA,WAAW,KAAK/C,WA5B/C,CAAA,EAAA;AAAA,cAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;;AAAA,YAAA,OAAA,UAAA,CAAA,MAAA,CAAA,UAAA,EAAA,EAAA,CAAA,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,IAAA,CA8BeiD,aA9Bf,EAAA;AAAA,cAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OA+BY1E,KAAK,CAAC;AACVpB,cAAAA,GAAG,EAAE,CAAC,KAAD,EAAQ,KAAR,EAAe6F,UAAf,EAA2B,cAA3B,CADK;AAEV3G,cAAAA,GAAG,EAAHA,GAFU;AAGVC,cAAAA,WAAW,EAAXA,WAAAA;AAHU,aAAD,CA/BjB,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OAqCYiC,KAAK,CAAC;AACVpB,cAAAA,GAAG,EAAE,CAAC,KAAD,EAAQ,KAAR,EAAe6F,UAAf,CADK;AAEV3G,cAAAA,GAAG,EAAHA,GAFU;AAGVC,cAAAA,WAAW,EAAXA,WAAAA;AAHU,aAAD,CArCjB,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,UAAA,CAAA,EAAA,GAAA,UAAA,CAAA,OAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,YAAA,SAAA,CAAA,CAAA,CAAA,UAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;;AAAA,YAAA,SAAA,CAAA,CAAA,EAAA,CAAA;;AAAA,YAAA,OAAA,UAAA,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OA6CQiC,KAAK,CAAC;AAAEpB,cAAAA,GAAG,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAP;AAAwBd,cAAAA,GAAG,EAAHA,GAAxB;AAA6BC,cAAAA,WAAW,EAAXA,WAAAA;AAA7B,aAAD,CA7Cb,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OA+CQ6D,WAAW,CAACC,IAAD,EAAOJ,WAAP,CA/CnB,CAAA;;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;AAAA,YAAA,OAAA,UAAA,CAAA,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA;;;;SAqDekD;;;AAcf;;;;;;;AAOG;;;;AArBH,EAAA,aAAA,GAAA/D,qCAAA,eAAAC,uCAAA,CAAA,IAAA,CAAA,SAAA,QAAA,CAA4BgB,IAA5B,EAAA;AAAA,IAAA,IAAA,MAAA,CAAA;AAAA,IAAA,OAAAhB,uCAAA,CAAA,IAAA,CAAA,SAAA,SAAA,CAAA,UAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA;AAAA,QAAA,QAAA,UAAA,CAAA,IAAA,GAAA,UAAA,CAAA,IAAA;AAAA,UAAA,KAAA,CAAA;AACQ+D,YAAAA,MADR,GACiB/C,IAAI,CAACF,cAAL,EADjB,CAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,YAEakD,OAAAA,eAAO,CAACD,MAAD,CAFpB,CAAA;;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,UAAA,CAAA,EAAA,GAAA,UAAA,CAAA,IAAA,CAE8BE,MAF9B,CAAA;;AAAA,YAAA,IAAA,EAAA,UAAA,CAAA,EAAA,KAEyC,CAFzC,CAAA,EAAA;AAAA,cAAA,UAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;;AAAA,YAAA,MAGU,IAAIxH,KAAJ,CAA2BsH,iBAAAA,CAAAA,MAAAA,CAAAA,MAA3B,EAHV,mBAAA,CAAA,CAAA,CAAA;;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;AAAA,YAAA,OAAA,UAAA,CAAA,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAAA,EAAA,QAAA,CAAA,CAAA;AAAA;;;;AAsBA,SAAsB1B,IAAtB,CAAA,IAAA,EAAA;AAAA,EAAA,OAAA,KAAA,CAAA,KAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AAAA,CAAA;;;AAAO,EAAA,KAAA,GAAAtC,qCAAA,eAAAC,uCAAA,CAAA,IAAA,CAAA,SAAA,SAAA,CAAA,KAAA,EAAA;AAAA,IAAA,IAAA,UAAA,CAAA;;AAAA,IAAA,IAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,OAAA,EAAA,IAAA,EAAA,eAAA,EAsCIkE,SAtCJ,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,KAAA,EAAA,YAAA,EAAA,UAAA,EAAA,MAAA,EAAA,YAAA,EAAA,WAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,CAAA;;AAAA,IAAA,OAAAlE,uCAAA,CAAA,IAAA,CAAA,SAAA,UAAA,CAAA,UAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA;AAAA,QAAA,QAAA,UAAA,CAAA,IAAA,GAAA,UAAA,CAAA,IAAA;AAAA,UAAA,KAAA,CAAA;AAsCIkE,YAAAA,SAtCJ,GAsCa,SAAA,UAAA,GAAA;AAAA,cAAA,IAAA,UAAA,CAAA;;AAChB,cAAO,OAAA7F,wCAAA,CAAA,UAAA,GAAAoD,sCAAA,CAAI0C,eAAJ,CACL,CAAA,CAAA,IAAA,CAAA,UAAA,EAAA,UAAA,KAAA,EAAA;AAAA,gBAAA,IAAA,UAAA,CAAA;;AAAA,gBAAA,IAAA,KAAA,GAAAC,kCAAA,CAAA,KAAA,EAAA,CAAA,CAAA;AAAA,oBAAExB,GAAF,GAAA,KAAA,CAAA,CAAA,CAAA;AAAA,oBAASyB,KAAT,YAASA,KAAT,CAAA;;AAAA,gBAAmCzB,OAAAA,2CAAAA,CAAAA,UAAAA,GAAAA,IAAAA,CAAAA,MAAAA,CAAAA,GAAnC,0BAA2CyB,KAA3C,CAAA,CAAA;AAAA,eADK,CAAP,CAAA;AAGD,aA1CI,CAAA;;AACLnH,YAAAA,WADK,GACLA,KAAAA,CAAAA,WADK,EAELoH,YAFK,GAAA,KAAA,CAELA,YAFK,EAGLlB,cAHK,GAGLA,KAAAA,CAAAA,cAHK,EAILpB,YAJK,GAAA,KAAA,CAILA,YAJK,EAKL3B,OALK,SAKLA,OALK,CAAA;;AAAA,YAAA,IAAA,EAOD1D,OAAO,CAACY,GAAR,CAAYC,WAAZ,KAA4B,GAP3B,CAAA,EAAA;AAAA,cAAA,UAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;;AAQH;AACAV,YAAAA,OAAO,CAAC,wBAAD,CAAP,CAAA;AATG,YAAA,OAAA,UAAA,CAAA,MAAA,CAAA,QAAA,EAUI,IAVJ,CAAA,CAAA;;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,UAAA,CAAA,EAAA,GAAAyH,kCAAA,CAAA;AAAA,YAAA,UAAA,CAAA,EAAA,GAcHrH,WAdG,CAAA;AAAA,YAAA,UAAA,CAAA,EAAA,GAeHkG,cAfG,CAAA;AAAA,YAAA,UAAA,CAAA,EAAA,GAgBHpB,YAhBG,CAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OAiBW5B,aAAa,CACzBC,OAAO,GAAGmE,YAAW,CAACnE,OAAD,EAAU,OAAV,CAAd,GAAmC6C,SADjB,CAjBxB,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,EAAA,GAAA,UAAA,CAAA,IAAA,CAAA;;AAAA,YAoBa,UAAA,CAAA,EAAA,GAAA,SAAA,cAAA,GAAA;AAAA,cAAA,IAAA,UAAA,CAAA;;AAAA,cAAA,KAAA,IAAA,IAAA,GAAA,SAAA,CAAA,MAAA,EAAIuB,KAAJ,GAAA,IAAA,KAAA,CAAA,IAAA,CAAA,EAAA,IAAA,GAAA,CAAA,EAAA,IAAA,GAAA,IAAA,EAAA,IAAA,EAAA,EAAA;AAAIA,gBAAAA,KAAJ,CAAA,IAAA,CAAA,GAAA,SAAA,CAAA,IAAA,CAAA,CAAA;AAAA,eAAA;;AAAA,cAAA,OACdD,YAAW,CAAA,KAAX,CAAYxD,KAAAA,CAAAA,EAAAA,2CAAAA,CAAAA,UAAAA,GAAAA,CAAAA,IAAI,CAAC+C,MAAL,CAAYxD,IAAxB,EAA8B,MAA9B,CAAyCkE,CAAAA,CAAAA,IAAAA,CAAAA,UAAAA,EAAAA,KAAzC,CADc,CAAA,CAAA;AAAA,aApBb,CAAA;;AAAA,YAsBc,UAAA,CAAA,EAAA,GAAA,SAAA,eAAA,GAAA;AAAA,cAAA,IAAA,UAAA,CAAA;;AAAA,cAAA,KAAA,IAAA,KAAA,GAAA,SAAA,CAAA,MAAA,EAAIA,KAAJ,GAAA,IAAA,KAAA,CAAA,KAAA,CAAA,EAAA,KAAA,GAAA,CAAA,EAAA,KAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA;AAAIA,gBAAAA,KAAJ,CAAA,KAAA,CAAA,GAAA,SAAA,CAAA,KAAA,CAAA,CAAA;AAAA,eAAA;;AAAA,cAAA,OACfD,YAAW,CAAA,KAAX,CAAYxD,KAAAA,CAAAA,EAAAA,2CAAAA,CAAAA,UAAAA,GAAAA,CAAAA,IAAI,CAAC+C,MAAL,CAAYxD,IAAxB,EAA8B,OAA9B,CAA0CkE,CAAAA,CAAAA,IAAAA,CAAAA,UAAAA,EAAAA,KAA1C,CADe,CAAA,CAAA;AAAA,aAtBd,CAAA;;AAAA,YAwBa,UAAA,CAAA,EAAA,GAAA,SAAA,cAAA,GAAA;AAAA,cAAA,IAAA,UAAA,CAAA;;AAAA,cAAA,KAAA,IAAA,KAAA,GAAA,SAAA,CAAA,MAAA,EAAIA,KAAJ,GAAA,IAAA,KAAA,CAAA,KAAA,CAAA,EAAA,KAAA,GAAA,CAAA,EAAA,KAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA;AAAIA,gBAAAA,KAAJ,CAAA,KAAA,CAAA,GAAA,SAAA,CAAA,KAAA,CAAA,CAAA;AAAA,eAAA;;AAAA,cACdD,OAAAA,YAAW,CAAX,KAAA,CAAA,KAAA,CAAA,EAAAtG,2CAAA,CAAA,UAAA,GAAA,CAAY8C,IAAI,CAAC+C,MAAL,CAAYxD,IAAxB,CAAiCkE,CAAAA,CAAAA,IAAAA,CAAAA,UAAAA,EAAAA,KAAjC,CADc,CAAA,CAAA;AAAA,aAxBb,CAAA;;AAAA,YA0Bc9H,UAAAA,CAAAA,EAAAA,GAAAA,OAAO,CAACM,GAAR,EA1Bd,CAAA;AAAA,YAAA,UAAA,CAAA,EAAA,GAAA;AAcHC,cAAAA,WAdG,EAAA,UAAA,CAAA,EAAA;AAeHkG,cAAAA,cAfG,EAAA,UAAA,CAAA,EAAA;AAgBHpB,cAAAA,YAhBG,EAAA,UAAA,CAAA,EAAA;AAiBH+B,cAAAA,MAjBG,EAAA,UAAA,CAAA,EAAA;AAoBHW,cAAAA,cApBG,EAAA,UAAA,CAAA,EAAA;AAsBHxD,cAAAA,eAtBG,EAAA,UAAA,CAAA,EAAA;AAwBHJ,cAAAA,cAxBG,EAAA,UAAA,CAAA,EAAA;AA0BH6D,cAAAA,eA1BG,EAAA,UAAA,CAAA,EAAA;AAAA,aAAA,CAAA;AAaC3D,YAAAA,IAbD,GAAA,IAAA,UAAA,CAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA;AA6BCmD,YAAAA,eA7BD,GA6BmB,IACtBS,wBAAA,CAAAvG,wCAAA,CAAA,UAAA,GAAAsD,gCAAA,CAAYX,IAAI,CAACgB,YAAjB,CAAmC,CAAA,CAAA,IAAA,CAAA,UAAA,EAAA,UAAC6C,OAAD,EAAA;AAAA,cAAA,OAAqC,CACtEA,OADsE,EAEtE,IAAIhJ,YAAJ,EAFsE,CAArC,CAAA;AAAA,aAAnC,CADsB,CA7BnB,CAAA;AAmCL;;AAEG;;AArCE,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AA6CGsD,YAAAA,KA7CH,GA6CWzB,aAAa,CAACsD,IAAI,CAAC0D,cAAL,EAAD,EAAwBR,SAAxB,CA7CxB,CAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YA+CGJ,OAAAA,YAAY,CAAC9C,IAAD,CA/Cf,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAkDG,OAAA9E,4BAAA,CAAQ4I,GAAR,CACJzG,wCAAA,CAAA,UAAA,GAAA,CAAC,OAAD,EAAU,MAAV,CACE,CAAA,CAAA,IAAA,CAAA,UAAA,EAAA,UAAC0G,GAAD,EAAA;AAAA,cAAA,OAAwBC,aAAK,CAACR,YAAW,CAACxD,IAAI,CAAC+C,MAAL,CAAYxD,IAAb,EAAmBwE,GAAnB,CAAZ,CAA7B,CAAA;AAAA,aADF,CADI,CAlDH,CAAA;;AAAA,UAAA,KAAA,EAAA;AAwDHjI,YAAAA,OAAO,CAAC,OAAD,EAAUoH,SAAS,GAAG1F,IAAZ,CAAiB,IAAjB,CAAV,CAAP,CAAA;AAxDG,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OAyDGtC,4BAAQ4I,CAAAA,GAAR,CACJzG,wCAAA,CAAA,UAAA,GAAAoD,sCAAA,CAAI0C,eAAJ,CAAA,CAAA,CAAA,IAAA,CAAA,UAAA,eAAA,YAAA;AAAA,cAAyB,IAAA,KAAA,GAAApE,qCAAA,eAAAC,uCAAA,CAAA,IAAA,CAAA,SAAA,SAAA,CAAA,KAAA,EAAA;AAAA,gBAAA,IAAA,KAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,KAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,CAAA;;AAAA,gBAAA,OAAAA,uCAAA,CAAA,IAAA,CAAA,SAAA,UAAA,CAAA,UAAA,EAAA;AAAA,kBAAA,OAAA,CAAA,EAAA;AAAA,oBAAA,QAAA,UAAA,CAAA,IAAA,GAAA,UAAA,CAAA,IAAA;AAAA,sBAAA,KAAA,CAAA;AAAA,wBAAQY,KAAAA,GAAAA,kCAAAA,CAAAA,KAAAA,EAAAA,CAAAA,CAAAA,EAAAA,WAAR,aAAqBqE,KAArB,GAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,wBAAA,UAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAErBA,wBAAAA,KAAK,CAACZ,KAAN,GAAc,WAAd,CAAA;AACMjC,wBAAAA,WAHe,GAGDpB,IAAI,CAACgB,YAAL,CAAkBpB,WAAlB,CAHC,CAAA;AAAA,wBAAA,UAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,wBAAA,OAIDb,qCAAC,eAAAC,uCAAA,CAAA,IAAA,CAAA,SAAA,QAAA,GAAA;AAAA,0BAAA,OAAAA,uCAAA,CAAA,IAAA,CAAA,SAAA,SAAA,CAAA,UAAA,EAAA;AAAA,4BAAA,OAAA,CAAA,EAAA;AAAA,8BAAA,QAAA,UAAA,CAAA,IAAA,GAAA,UAAA,CAAA,IAAA;AAAA,gCAAA,KAAA,CAAA;AAAA,kCAAA,UAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,kCAAA,UAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,kCAEJkF,OAAAA,aAAK,CAAC9C,WAAD,CAFD,CAAA;;AAAA,gCAAA,KAAA,CAAA;AAAA,kCAAA,OAAA,UAAA,CAAA,MAAA,CAAA,QAAA,EAAA,UAAA,CAAA,IAAA,CAAA,CAAA;;AAAA,gCAAA,KAAA,CAAA;AAAA,kCAAA,UAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,kCAAA,UAAA,CAAA,EAAA,GAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,kCAAA,OAAA,UAAA,CAAA,MAAA,CAAA,QAAA,EAIV,IAJU,CAAA,CAAA;;AAAA,gCAAA,KAAA,CAAA,CAAA;AAAA,gCAAA,KAAA,KAAA;AAAA,kCAAA,OAAA,UAAA,CAAA,IAAA,EAAA,CAAA;AAAA,+BAAA;AAAA,6BAAA;AAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,yBAAD,CAJC,CAAA,EAAA,CAAA;;AAAA,sBAAA,KAAA,CAAA;AAIf+C,wBAAAA,KAJe,GAAA,UAAA,CAAA,IAAA,CAAA;;AAAA,wBAAA,IAAA,EAWjBA,KAXiB,KAWjBA,IAAAA,IAAAA,KAXiB,eAWjBA,KAAK,CAAEC,MAAP,EAXiB,CAAA,EAAA;AAAA,0BAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,0BAAA,MAAA;AAAA,yBAAA;;AAYnB;AACAH,wBAAAA,KAAK,CAACZ,KAAN,GAAc,iBAAd,CAAA;AAbmB,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,wBAcbpD,OAAAA,gBAAQ,CAACmB,WAAD,EAAcvB,cAAc,CAACG,IAAD,EAAOJ,WAAP,CAA5B,CAdK,CAAA;;AAAA,sBAAA,KAAA,EAAA;AAenBqE,wBAAAA,KAAK,CAACZ,KAAN,GAAc,gBAAd,CAAA;AAfmB,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,wBAAA,MAAA;;AAAA,sBAAA,KAAA,EAAA;AAiBnB;AACA;AACAY,wBAAAA,KAAK,CAACZ,KAAN,GAAc,SAAd,CAAA;AAnBmB,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,wBAAA,OAoBblC,KAAK,CAAChD,KAAD,EAAQ6B,IAAR,EAAcJ,WAAd,CApBQ,CAAA;;AAAA,sBAAA,KAAA,EAAA;AAsBnBqE,wBAAAA,KAAK,CAACZ,KAAN,GAAc,wBAAd,CAAA;AACMgB,wBAAAA,UAvBa,GAuBU,EAvBV,CAAA;AAAA,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,wBAAA,OAwBKtD,mBAAmB,CAACf,IAAD,EAAOJ,WAAP,CAxBxB,CAAA;;AAAA,sBAAA,KAAA,EAAA;AAwBb0E,wBAAAA,SAxBa,GAAA,UAAA,CAAA,IAAA,CAAA;AAyBnBL,wBAAAA,KAAK,CAACZ,KAAN,GAAA,4BAAA,CAAA,MAAA,CAA2CiB,SAAS,CAAC9G,IAAV,CAAe,IAAf,CAA3C,EAAA,GAAA,CAAA,CAAA;AAzBmB,wBAAA,UAAA,GAAAkF,4BAAA,CA0BI4B,SA1BJ,CAAA,CAAA;AAAA,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;;AAAA,wBAAA,UAAA,CAAA,CAAA,EAAA,CAAA;;AAAA,sBAAA,KAAA,EAAA;AAAA,wBAAA,IAAA,CAAA,MAAA,GAAA,UAAA,CAAA,CAAA,EAAA,EAAA,IAAA,EAAA;AAAA,0BAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,0BAAA,MAAA;AAAA,yBAAA;;AA0BRC,wBAAAA,QA1BQ,GAAA,MAAA,CAAA,KAAA,CAAA;AA2BXC,wBAAAA,SA3BW,GA2BCrB,eAAe,CAACsB,GAAhB,CAAoBF,QAApB,CA3BD,CAAA;;AAAA,wBA4BbC,IAAAA,EAAAA,SAAS,IAAI,IA5BA,CAAA,EAAA;AAAA,0BAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,0BAAA,MAAA;AAAA,yBAAA;;AAAA,wBAAA,MA6BT,IAAI/I,KAAJ,CAAwB8I,aAAAA,CAAAA,MAAAA,CAAAA,QAAxB,EA7BS,aAAA,CAAA,CAAA,CAAA;;AAAA,sBAAA,KAAA,EAAA;AAAA,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,wBAiCTC,OAAAA,SAAS,CAACvJ,OAjCD,CAAA;;AAAA,sBAAA,KAAA,EAAA;AAAA,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,wBAAA,MAAA;;AAAA,sBAAA,KAAA,EAAA;AAAA,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,wBAAA,UAAA,CAAA,EAAA,GAAA,UAAA,CAAA,OAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAmCfoJ,wBAAAA,UAAU,CAACK,IAAX,CAAgBH,QAAhB,CAAA,CAAA;;AAnCe,sBAAA,KAAA,EAAA;AAAA,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,wBAAA,MAAA;;AAAA,sBAAA,KAAA,EAAA;AAAA,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,wBAAA,MAAA;;AAAA,sBAAA,KAAA,EAAA;AAAA,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,wBAAA,UAAA,CAAA,EAAA,GAAA,UAAA,CAAA,OAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,wBAAA,UAAA,CAAA,CAAA,CAAA,UAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,sBAAA,KAAA,EAAA;AAAA,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;;AAAA,wBAAA,UAAA,CAAA,CAAA,EAAA,CAAA;;AAAA,wBAAA,OAAA,UAAA,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,sBAAA,KAAA,EAAA;AAAA,wBAAA,IAAA,EAsCfF,UAAU,CAACpB,MAAX,GAAoB,CAtCL,CAAA,EAAA;AAAA,0BAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,0BAAA,MAAA;AAAA,yBAAA;;AAuCjBgB,wBAAAA,KAAK,CAACZ,KAAN,GAAA,uBAAA,CAAA,MAAA,CAAsCgB,UAAU,CAAC7G,IAAX,CAAgB,IAAhB,CAAtC,CAAA,CAAA;AAvCiB,wBAAA,MAwCX,IAAI/B,KAAJ,CAAUwI,KAAK,CAACZ,KAAhB,CAxCW,CAAA;;AAAA,sBAAA,KAAA,EAAA;AA2CnBY,wBAAAA,KAAK,CAACZ,KAAN,GAAc,kBAAd,CAAA;AA3CmB,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,wBAAA,OA4CblB,aAAa,CAAChE,KAAD,EAAQ6B,IAAR,EAAcJ,WAAd,CA5CA,CAAA;;AAAA,sBAAA,KAAA,EAAA;AA6CnBqE,wBAAAA,KAAK,CAACZ,KAAN,GAAc,kCAAd,CAAA;;AA7CmB,sBAAA,KAAA,EAAA;AAgDrBvH,wBAAAA,OAAO,CAAS8D,OAAAA,CAAAA,MAAAA,CAAAA,WAAT,CAAwBsD,EAAAA,SAAS,GAAG1F,IAAZ,CAAiB,IAAjB,CAAxB,CAAP,CAAA;AACAyG,wBAAAA,KAAK,CAAC9I,OAAN,EAAA,CAAA;AAjDqB,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,wBAAA,MAAA;;AAAA,sBAAA,KAAA,EAAA;AAAA,wBAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,wBAAA,UAAA,CAAA,EAAA,GAAA,UAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAmDrBE,wBAAAA,QAAQ,CAAA6B,2CAAA,CAAA,UAAA,GAAA,OAAA,CAAA,MAAA,CACE0C,WADF,EAAA,IAAA,CAAA,CAAA,CAAA,IAAA,CAAA,UAAA,EACkBqE,KAAK,CAACZ,KADxB,EAENH,IAAAA,CAAAA,EAAAA,SAAS,EAAG1F,CAAAA,IAAZ,CAAiB,IAAjB,CAFM,CAAR,CAAA;AAIAyG,wBAAAA,KAAK,CAAC7I,MAAN,CAAa,UAAA,CAAA,EAAA,YAAiBK,KAAjB,GAAA,UAAA,CAAA,EAAA,GAAiC,IAAIA,KAAJ,CAAU,EAAA,GAAA,UAAA,CAAA,EAAV,CAA9C,CAAA,CAAA;;AAvDqB,sBAAA,KAAA,EAAA,CAAA;AAAA,sBAAA,KAAA,KAAA;AAAA,wBAAA,OAAA,UAAA,CAAA,IAAA,EAAA,CAAA;AAAA,qBAAA;AAAA,mBAAA;AAAA,iBAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,eAAzB,CAAA,CAAA,CAAA;;AAAA,cAAA,OAAA,UAAA,IAAA,EAAA;AAAA,gBAAA,OAAA,KAAA,CAAA,KAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AAAA,eAAA,CAAA;AAAA,aAAA,EAAA,CADI,CAzDH,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,GAAA,GAAAkJ,0CAAA,CAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OAuHKzJ,4BAAQ0J,CAAAA,UAAR,CACJvH,wCAAA,CAAA,UAAA,GAAAoD,sCAAA,CAAIoE,2CAAA1B,CAAAA,eAAe,CAAf,CAAA,IAAA,CAAAA,eAAe,CAAnB,CACE,CAAA,CAAA,IAAA,CAAA,UAAA,EAAA,UAAC2B,MAAD,EAAA;AAAA,cAA2BA,OAAAA,MAAM,CAAC7J,OAAlC,CAAA;AAAA,aADF,CADI,CAvHL,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,GAAA,GAAA,UAAA,GAAA,UAAA,CAAA,IAAA,CAAA;AAsHG8J,YAAAA,YAtHH,GA4HK,IAAA,UAAA,CAAA,GAAA,EAAA,UAAA,CAAA,GAAA,CAAA,CAAA,IAAA,CAAA,UAAA,EAAA,UAAA,KAAA,EAAA;AAAA,cAAGD,IAAAA,MAAH,SAAGA,MAAH,CAAA;AAAA,cAAyBA,OAAAA,MAAM,KAAK,WAApC,CAAA;AAAA,aA5HL,CAAA,CAAA;;AAAA,YAAA,IAAA,CA8HCC,YA9HD,EAAA;AAAA,cAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;;AAAA,YAAA,OAAA,UAAA,CAAA,MAAA,CAAA,QAAA,EA+HM,IA/HN,CAAA,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,OAAA,UAAA,CAAA,MAAA,CAAA,QAAA,EAiIM,KAjIN,CAAA,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAoIH;AACA;AACAjJ,YAAAA,OAAO,CAAC,KAAD,EAAQoH,SAAS,GAAG1F,IAAZ,CAAiB,IAAjB,CAAR,CAAP,CAAA;AAtIG,YAAA,UAAA,GAAAkF,4BAAA,CAuIsCS,eAvItC,CAAA,CAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;;AAAA,YAAA,UAAA,CAAA,CAAA,EAAA,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,IAAA,CAAA,MAAA,GAAA,UAAA,CAAA,CAAA,EAAA,EAAA,IAAA,EAAA;AAAA,cAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;;AAAA,YAAA,YAAA,GAAAC,kCAAA,CAAA,MAAA,CAAA,KAAA,EAAA,CAAA,CAAA,EAuISxD,WAvIT,GAAA,YAAA,CAAA,CAAA,CAAA,EAuIwB3E,OAvIxB,GAAA,YAAA,CAAA,CAAA,CAAA,CAuIwBA,OAvIxB,CAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OAyIOA,OAzIP,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,UAAA,CAAA,GAAA,GAAA,UAAA,CAAA,OAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AA2ICI,YAAAA,QAAQ,CAAIuE,EAAAA,CAAAA,MAAAA,CAAAA,WAAJ,EAAR,cAAA,CAAA,EAAA,UAAA,CAAA,GAAA,CAAA,CAAA;;AA3ID,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,UAAA,CAAA,GAAA,GAAA,UAAA,CAAA,OAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,YAAA,UAAA,CAAA,CAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;;AAAA,YAAA,UAAA,CAAA,CAAA,EAAA,CAAA;;AAAA,YAAA,OAAA,UAAA,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,IAAA,CAgJC0D,YAhJD,EAAA;AAAA,cAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;;AAiJDxH,YAAAA,OAAO,CAAC,SAAD,CAAP,CAAA;AAjJC,YAkJDH,UAAAA,CAAAA,GAAAA,GAAAA,OAAO,CAACI,MAlJP,CAAA;AAAA,YAAA,UAAA,CAAA,GAAA,GAAAmB,2CAAA,CAAA,UAAA,GAAA,CAoJG,EApJH,CAAA,CAAA,CAAA;AAAA,YAAA,UAAA,CAAA,GAAA,GAAA,UAAA,CAAA;AAAA,YAAA,UAAA,CAAA,GAAA,GAAAuD,sCAAA,CAAA;AAAA,YAAA,UAAA,CAAA,GAAA,GAAAvF,4BAAA,CAAA;AAAA,YAAA,UAAA,CAAA,GAAA,GAAAmC,wCAAA,CAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OAuJa2F,eAAO,CAAChD,IAAI,CAAC0D,cAAL,EAAD,CAvJpB,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,GAAA,GAAA,UAAA,GAAA,UAAA,CAAA,IAAA,CAAA;AAAA,YAAA,UAAA,CAAA,GAAA,GAAA,IAAA,UAAA,CAAA,GAAA,EAAA,UAAA,CAAA,GAAA,CAAA,CAAA,IAAA,CAAA,UAAA,EAyJO,UAACsB,QAAD,EAAA;AAAA,cACE9F,OAAAA,gBAAQ,CAACc,IAAI,CAAC0D,cAAL,CAAoBsB,QAApB,CAAD,EAAgC,OAAhC,CADV,CAAA;AAAA,aAzJP,CAAA,CAAA;AAAA,YAAA,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OAAA,UAAA,CAAA,GAAA,CAqJqBlB,GArJrB,CAAA,IAAA,CAAA,UAAA,CAAA,GAAA,EAAA,UAAA,CAAA,GAAA,CAAA,CAAA;;AAAA,UAAA,KAAA,EAAA;AAAA,YAAA,UAAA,CAAA,GAAA,GAAA,UAAA,CAAA,IAAA,CAAA;AAAA,YAAA,UAAA,CAAA,GAAA,GAAA,IAAA,UAAA,CAAA,GAAA,EAAA,UAAA,CAAA,GAAA,CAAA,CAAA;AAAA,YAAA,UAAA,CAAA,GAAA,GAAA,CA6JG,EA7JH,CAAA,CAAA;AAAA,YAAA,UAAA,CAAA,GAAA,GAAA,UAAA,CAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,UAAA,CAAA,GAAA,EAAA,UAAA,CAAA,GAAA,EAAA,UAAA,CAAA,GAAA,EAAA,UAAA,CAAA,GAAA,CAAA,CA8JGtG,IA9JH,CA8JQ,MAAS,GAAAyH,2CAAA,CAAA,UAAA,GAACA,2CAAW,CAAA,UAAA,GAAA,GAAA,CAAA,CAAA,IAAA,CAAA,UAAA,EAAA,EAAX,CAAiB,GAAA,IAAlB,CAA+B,CAAA,IAAA,CAAA,UAAA,EAAA,CAA/B,CAAT,GAA6C,IA9JrD,CAAA,CAAA;;AAAA,YAAA,UAAA,CAAA,GAAA,CAkJcpJ,KAlJd,CAAA,IAAA,CAAA,UAAA,CAAA,GAAA,EAAA,UAAA,CAAA,GAAA,CAAA,CAAA;;AAAA,UAAA,KAAA,EAAA;AAkKHG,YAAAA,QAAQ,CACNgE,IAAI,CAAC+C,MAAL,CAAYxD,IADN,EAENrD,WAFM,EAGN,wEAHM,CAAR,CAAA;AAlKG,YAAA,OAAA,UAAA,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;AAAA,YAAA,OAAA,UAAA,CAAA,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA;;;;;;;;;;;ACrRP,IAAMgJ,IAAI,GAAGxK,cAAc,EAA3B,CAAA;;AAEA,IAAMsG,YAAY,GAAiBqB,2CAAA,CAAA,QAAA,GAAAhF,wCAAA,CAAA,SAAA,GAAA6H,IAAI,CAAC,SAAD,CAAJ,CAAA,CAAA,IAAA,CAAA,SAAA,EAC5B,UAACC,GAAD,EAA0B;AAC7B,EAAA,IAAA,UAAA,GAAqBA,GAAG,CAACC,KAAJ,CAAU,GAAV,EAAe,CAAf,CAArB;AAAA,MAAA,WAAA,GAAAhC,kCAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAA,MAAO7D,IAAP,GAAA,WAAA,CAAA,CAAA,CAAA;AAAA,MAAa8F,MAAb,GAAA,WAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,EAAI,IAAA,OAAO9F,IAAP,KAAgB,QAAhB,IAA4B,OAAO8F,MAAP,KAAgB,QAAhD,EAA0D;AACxD,IAAA,IAAI,oBAAqBhE,CAAAA,IAArB,CAA0BgE,MAA1B,CAAJ,EAAqC;AACnC;AACA,MAAA,OAAO,CAAC9F,IAAD,EAAO8F,MAAP,CAAP,CAAA;AACD,KAHD,MAGO;AACL;AACA,MAAA,OAAO,CAAC9F,IAAD,EAAOpE,YAAO,CAACkK,MAAD,CAAd,CAAP,CAAA;AACD,KAAA;AACF,GARD,MAQO;AACLjJ,IAAAA,OAAO,CAACD,KAAR,CAAA,iEAAA,CAAA,MAAA,CACoEgJ,GADpE,EAAA,IAAA,CAAA,CAAA,CAAA;AAGAxJ,IAAAA,OAAO,CAAC2J,IAAR,CAAa,CAAb,CAAA,CAAA;AACD,GAAA;AACF,CAlBgC,CAAA,CAAA,CAAA,IAAA,CAAA,QAAA,EAmBX,UAAChD,GAAD,EAAoC,IAAA,EAAA;AAAA,EAAA,IAAA,KAAA,GAAAc,kCAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAAA,MAA7B7D,IAA6B,GAAA,KAAA,CAAA,CAAA,CAAA;AAAA,MAAvB8F,IAAuB,GAAA,KAAA,CAAA,CAAA,CAAA,CAAA;;AACxD/C,EAAAA,GAAG,CAAC/C,IAAD,CAAH,GAAY8F,IAAZ,CAAA;AACA,EAAA,OAAO/C,GAAP,CAAA;AACD,CAtBgC,EAsB9B,EAtB8B,CAAnC,CAAA;;AAwBA,IAAMiD,mBAAmB,GAAGL,IAAI,CAAC,gBAAD,CAAhC,CAAA;;AACA,IAAM9C,cAAc,GAAoBoD,4CAAA,CAAAD,mBAAmB,CAAA,CAAA,IAAnB,CAAAA,mBAAmB,EACzD,UAACJ,GAAD,EAAyB;AACvB,EAAM/C,IAAAA,cAAc,GAAoB,EAAxC,CAAA;AAEA,EAAIO,IAAAA,WAAW,GAAkB,IAAjC,CAAA;;AAHuB,EAAA,IAAA,SAAA,GAAA,0BAAA,CAIJwC,GAAG,CAACC,KAAJ,CAAU,GAAV,CAJI,CAAA;AAAA,MAAA,KAAA,CAAA;;AAAA,EAAA,IAAA;AAIvB,IAAmC,KAAA,SAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,KAAA,GAAA,SAAA,CAAA,CAAA,EAAA,EAAA,IAAA,GAAA;AAAA,MAAA,IAAxBK,IAAwB,GAAA,KAAA,CAAA,KAAA,CAAA;;AACjC,MAAMC,IAAAA,IAAI,GAAGtH,0CAAA,CAAAqH,IAAI,CAAA,CAAA,IAAJ,CAAAA,IAAI,EAAO,CAAC,CAAR,CAAjB,CAAA;;AAEA,MAAA,IAAIC,IAAI,KAAK,GAAT,IAAgBA,IAAI,KAAK,GAA7B,EAAkC;AAChCtD,QAAAA,cAAc,CAACsC,IAAf,CAAoB;AAClB/B,UAAAA,WAAW,EAAXA,WADkB;AAElBC,UAAAA,UAAU,EAAExE,0CAAAqH,CAAAA,IAAI,CAAJ,CAAA,IAAA,CAAAA,IAAI,EAAO,CAAP,EAAU,CAAC,CAAX,CAFE;AAGlB5C,UAAAA,aAAa,EAAE6C,IAAI,KAAK,GAAA;AAHN,SAApB,CAAA,CAAA;AAKD,OAND,MAMO;AACL/C,QAAAA,WAAW,GAAG8C,IAAd,CAAA;AACD,OAAA;AACF,KAAA;AAhBsB,GAAA,CAAA,OAAA,GAAA,EAAA;AAAA,IAAA,SAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,GAAA,SAAA;AAAA,IAAA,SAAA,CAAA,CAAA,EAAA,CAAA;AAAA,GAAA;;AAkBvB,EAAA,OAAOrD,cAAP,CAAA;AACD,CApBwD,CAA3D,CAAA;;AAuBA,IAAM/C,OAAO,GAAG6F,IAAI,CAAC,SAAD,CAAJ,GAAkB/J,YAAO,CAAC+J,IAAI,CAAC,SAAD,CAAL,CAAzB,GAA6ChD,SAA7D,CAAA;AAEA,IAAMhG,WAAW,GAAGgJ,IAAI,CAAC,cAAD,CAAxB,CAAA;AAEA,IAAM5B,YAAY,GAAG4B,IAAI,CAAC,gBAAD,CAAzB,CAAA;AAEA7D,IAAI,CAAC;AAAEnF,EAAAA,WAAW,EAAXA,WAAF;AAAeoH,EAAAA,YAAY,EAAZA,YAAf;AAA6BlB,EAAAA,cAAc,EAAdA,cAA7B;AAA6CpB,EAAAA,YAAY,EAAZA,YAA7C;AAA2D3B,EAAAA,OAAO,EAAPA,OAAAA;AAA3D,CAAD,CAAJ,CACGsG,IADH,CACQ,UAACZ,YAAD,EAAuB;AAC3B,EAAI,IAAA,CAACA,YAAL,EAAmB;AACjBpJ,IAAAA,OAAO,CAACiK,QAAR,GAAmB,CAAnB,CAAA;AACD,GAAA;AACF,CALH,CAMGlH,CAAAA,KANH,CAMS,UAACmH,MAAD,EAAiB;AACtBzJ,EAAAA,OAAO,CAACD,KAAR,CAAc0J,MAAd,CAAA,CAAA;AACAlK,EAAAA,OAAO,CAACiK,QAAR,GAAmB,CAAnB,CAAA;AACD,CATH,CAAA;;"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Development utilities for the Vis family projects.
|
|
6
6
|
*
|
|
7
|
-
* @version 3.0.
|
|
8
|
-
* @date 2022-03-
|
|
7
|
+
* @version 3.0.9
|
|
8
|
+
* @date 2022-03-13T16:25:05.167Z
|
|
9
9
|
*
|
|
10
10
|
* @copyright (c) 2011-2017 Almende B.V, http://almende.com
|
|
11
11
|
* @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Development utilities for the Vis family projects.
|
|
6
6
|
*
|
|
7
|
-
* @version 3.0.
|
|
8
|
-
* @date 2022-03-
|
|
7
|
+
* @version 3.0.9
|
|
8
|
+
* @date 2022-03-13T16:25:05.167Z
|
|
9
9
|
*
|
|
10
10
|
* @copyright (c) 2011-2017 Almende B.V, http://almende.com
|
|
11
11
|
* @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vis-dev-utils",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.9",
|
|
4
4
|
"description": "Development utilities for the Vis family projects.",
|
|
5
5
|
"homepage": "http://visjs.org/",
|
|
6
6
|
"license": "(Apache-2.0 OR MIT)",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"@babel/runtime-corejs3": "7.17.2",
|
|
78
78
|
"@rollup/plugin-commonjs": "21.0.2",
|
|
79
79
|
"@rollup/plugin-json": "4.1.0",
|
|
80
|
-
"@rollup/plugin-node-resolve": "13.0.
|
|
80
|
+
"@rollup/plugin-node-resolve": "13.0.6",
|
|
81
81
|
"@typescript-eslint/eslint-plugin": "5.14.0",
|
|
82
82
|
"@typescript-eslint/parser": "5.14.0",
|
|
83
83
|
"babel-plugin-css-modules-transform": "1.6.2",
|
|
@@ -88,14 +88,14 @@
|
|
|
88
88
|
"eslint-config-prettier": "8.5.0",
|
|
89
89
|
"eslint-plugin-cypress": "2.12.1",
|
|
90
90
|
"eslint-plugin-eslint-comments": "3.2.0",
|
|
91
|
-
"eslint-plugin-jsdoc": "
|
|
91
|
+
"eslint-plugin-jsdoc": "38.0.3",
|
|
92
92
|
"eslint-plugin-prettier": "4.0.0",
|
|
93
93
|
"find-up": "5.0.0",
|
|
94
94
|
"globby": "11.1.0",
|
|
95
95
|
"jimp": "0.16.1",
|
|
96
96
|
"postcss-assets": "6.0.0",
|
|
97
97
|
"prettier": "2.5.1",
|
|
98
|
-
"puppeteer": "
|
|
98
|
+
"puppeteer": "13.5.1",
|
|
99
99
|
"rollup": "2.70.0",
|
|
100
100
|
"rollup-plugin-analyzer": "4.0.0",
|
|
101
101
|
"rollup-plugin-babel": "4.4.0",
|
|
@@ -130,8 +130,8 @@
|
|
|
130
130
|
"npm-run-all": "4.1.5",
|
|
131
131
|
"opencollective": "1.0.3",
|
|
132
132
|
"rimraf": "3.0.2",
|
|
133
|
-
"rollup-plugin-node-externals": "
|
|
134
|
-
"sinon": "
|
|
133
|
+
"rollup-plugin-node-externals": "4.0.0",
|
|
134
|
+
"sinon": "13.0.1",
|
|
135
135
|
"snap-shot-it": "7.9.6"
|
|
136
136
|
},
|
|
137
137
|
"collective": {
|