obsidian-dev-utils 70.1.0 → 70.2.1

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.
Files changed (85) hide show
  1. package/CHANGELOG.md +23 -5
  2. package/dist/dev/main.js +138 -67
  3. package/dist/dprint.json +1 -1
  4. package/dist/lib/cjs/abort-controller.cjs +1 -1
  5. package/dist/lib/cjs/library.cjs +1 -1
  6. package/dist/lib/cjs/library.d.cts +1 -1
  7. package/dist/lib/cjs/object-utils.cjs +1 -1
  8. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +17 -10
  9. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.d.cts +13 -2
  10. package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.cjs +9 -1
  11. package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.d.cts +6 -0
  12. package/dist/lib/cjs/obsidian/components/plugin-settings-component.cjs +1 -1
  13. package/dist/lib/cjs/obsidian/components/rename-delete-handler-component.cjs +1 -1
  14. package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.cjs +77 -25
  15. package/dist/lib/cjs/obsidian/link.cjs +2 -4
  16. package/dist/lib/cjs/obsidian/markdown-code-block-processor.cjs +2 -4
  17. package/dist/lib/cjs/obsidian/markdown.cjs +80 -28
  18. package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.cjs +2 -1
  19. package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.d.cts +2 -0
  20. package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.cjs +1 -1
  21. package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.cjs +1 -1
  22. package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.cjs +1 -1
  23. package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.cjs +1 -1
  24. package/dist/lib/cjs/script-utils/build.cjs +22 -1
  25. package/dist/lib/cjs/script-utils/build.d.cts +6 -0
  26. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.cjs +2 -2
  27. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +1 -1
  28. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +2 -2
  29. package/dist/lib/cjs/script-utils/check-project-types.cjs +209 -0
  30. package/dist/lib/cjs/script-utils/check-project-types.d.cts +76 -0
  31. package/dist/lib/cjs/script-utils/exec.cjs +1 -1
  32. package/dist/lib/cjs/script-utils/index.cjs +7 -1
  33. package/dist/lib/cjs/script-utils/index.d.cts +2 -0
  34. package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +38 -1
  35. package/dist/lib/cjs/script-utils/linters/eslint-no-restricted-syntax.cjs +1 -1
  36. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +1 -1
  37. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.cjs +1 -1
  38. package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +3 -1
  39. package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.d.cts +4 -0
  40. package/dist/lib/cjs/script-utils/validate-declarations.cjs +203 -0
  41. package/dist/lib/cjs/script-utils/validate-declarations.d.cts +24 -0
  42. package/dist/lib/cjs/type.cjs +1 -1
  43. package/dist/lib/esm/abort-controller.mjs +1 -1
  44. package/dist/lib/esm/library.d.mts +1 -1
  45. package/dist/lib/esm/library.mjs +1 -1
  46. package/dist/lib/esm/object-utils.mjs +1 -1
  47. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.d.mts +13 -2
  48. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +17 -10
  49. package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.d.mts +6 -0
  50. package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.mjs +9 -1
  51. package/dist/lib/esm/obsidian/components/plugin-settings-component.mjs +1 -1
  52. package/dist/lib/esm/obsidian/components/rename-delete-handler-component.mjs +1 -1
  53. package/dist/lib/esm/obsidian/constructors/getDomEventsHandlersConstructor.mjs +77 -25
  54. package/dist/lib/esm/obsidian/link.mjs +2 -4
  55. package/dist/lib/esm/obsidian/markdown-code-block-processor.mjs +2 -4
  56. package/dist/lib/esm/obsidian/markdown.mjs +80 -28
  57. package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.d.mts +2 -0
  58. package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.mjs +2 -1
  59. package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.mjs +1 -1
  60. package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.mjs +1 -1
  61. package/dist/lib/esm/obsidian/setting-components/multiple-text-component.mjs +1 -1
  62. package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.mjs +1 -1
  63. package/dist/lib/esm/script-utils/build.d.mts +6 -0
  64. package/dist/lib/esm/script-utils/build.mjs +27 -1
  65. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.mjs +2 -2
  66. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +1 -1
  67. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +2 -2
  68. package/dist/lib/esm/script-utils/check-project-types.d.mts +76 -0
  69. package/dist/lib/esm/script-utils/check-project-types.mjs +98 -0
  70. package/dist/lib/esm/script-utils/exec.mjs +1 -1
  71. package/dist/lib/esm/script-utils/index.d.mts +2 -0
  72. package/dist/lib/esm/script-utils/index.mjs +5 -1
  73. package/dist/lib/esm/script-utils/linters/eslint-config.mjs +38 -1
  74. package/dist/lib/esm/script-utils/linters/eslint-no-restricted-syntax.mjs +1 -1
  75. package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +1 -1
  76. package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.mjs +1 -1
  77. package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.d.mts +4 -0
  78. package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.mjs +3 -1
  79. package/dist/lib/esm/script-utils/validate-declarations.d.mts +24 -0
  80. package/dist/lib/esm/script-utils/validate-declarations.mjs +106 -0
  81. package/dist/lib/esm/type.mjs +1 -1
  82. package/package.json +9 -9
  83. package/script-utils/check-project-types/package.json +6 -0
  84. package/script-utils/validate-declarations/package.json +6 -0
  85. package/scripts/postinstall.mjs +0 -29
@@ -29,7 +29,13 @@ export declare function buildCompileSvelte(): Promise<void>;
29
29
  /**
30
30
  * Compiles the TypeScript code.
31
31
  *
32
+ * The general `tsc` pass runs with `skipLibCheck: true` (configured in `tsconfig.json`) so it does
33
+ * not fail on broken upstream `.d.ts` files we do not control. Afterwards, {@link validateProjectTypes}
34
+ * re-runs the type-check in-memory with `skipLibCheck: false`, reporting only diagnostics from the
35
+ * files we own, so the declarations we author are still fully validated.
36
+ *
32
37
  * @returns A {@link Promise} that resolves when the code compiles successfully.
38
+ * @throws If the project's own declarations fail validation.
33
39
  */
34
40
  export declare function buildCompileTypeScript(): Promise<void>;
35
41
  /**
@@ -30,12 +30,18 @@ import { toArray } from "../async.mjs";
30
30
  import { getLibDebugger } from "../debug.mjs";
31
31
  import { join } from "../path.mjs";
32
32
  import { trimStart } from "../string.mjs";
33
+ import {
34
+ checkProjectTypes,
35
+ parseTsConfig,
36
+ toCanonical
37
+ } from "./check-project-types.mjs";
33
38
  import { readdirPosix } from "./fs.mjs";
34
39
  import { readJson } from "./json.mjs";
35
40
  import { npmRunOptional } from "./npm-run.mjs";
36
41
  import { ObsidianDevUtilsRepoPaths } from "./obsidian-dev-utils-repo-paths.mjs";
37
42
  import {
38
43
  execFromRoot,
44
+ getRootFolder,
39
45
  resolvePathFromRootSafe
40
46
  } from "./root.mjs";
41
47
  async function buildClean() {
@@ -62,6 +68,9 @@ async function buildCompileSvelte() {
62
68
  }
63
69
  async function buildCompileTypeScript() {
64
70
  await execFromRoot(["npx", "tsc", "--build", "--force"]);
71
+ if (!validateProjectTypes()) {
72
+ throw new Error("TypeScript declaration validation failed.");
73
+ }
65
74
  }
66
75
  async function buildStatic() {
67
76
  for (const dirent of await readdirPosix(ObsidianDevUtilsRepoPaths.Static, { recursive: true, withFileTypes: true })) {
@@ -72,6 +81,23 @@ async function buildStatic() {
72
81
  await cp(join(ObsidianDevUtilsRepoPaths.Static, path), join(ObsidianDevUtilsRepoPaths.Dist, path));
73
82
  }
74
83
  }
84
+ const NODE_MODULES_SEGMENT = "/node_modules/";
85
+ function shouldKeepProjectFile(fileName, rootCanonical) {
86
+ return fileName.startsWith(`${rootCanonical}/`) && !fileName.includes(NODE_MODULES_SEGMENT);
87
+ }
88
+ function validateProjectTypes() {
89
+ const root = getRootFolder();
90
+ if (!root) {
91
+ throw new Error("Could not find root folder");
92
+ }
93
+ const rootCanonical = toCanonical(root);
94
+ const { fileNames, options } = parseTsConfig(join(root, ObsidianDevUtilsRepoPaths.TsConfigJson));
95
+ return checkProjectTypes({
96
+ options,
97
+ rootNames: fileNames,
98
+ shouldKeepFile: (fileName) => shouldKeepProjectFile(fileName, rootCanonical)
99
+ });
100
+ }
75
101
  export {
76
102
  buildClean,
77
103
  buildCompile,
@@ -79,4 +105,4 @@ export {
79
105
  buildCompileTypeScript,
80
106
  buildStatic
81
107
  };
82
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idWlsZC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGhhbmRsZSB0aGUgYnVpbGQgcHJvY2VzcyBmb3Igc3RhdGljIGFzc2V0cyBhbmQgY2xlYW5pbmdcbiAqIHRoZSBidWlsZCBvdXRwdXQgZm9sZGVyLiBJdCBpbmNsdWRlcyBmdW5jdGlvbnMgdG8gY29weSBzdGF0aWMgZmlsZXMgdG8gdGhlIGRpc3RyaWJ1dGlvbiBmb2xkZXJcbiAqIGFuZCB0byByZW1vdmUgdGhlIGV4aXN0aW5nIGJ1aWxkIG91dHB1dC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFRzQ29uZmlnSnNvbiB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7XG4gIGNwLFxuICBnbG9iLFxuICBybVxufSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcblxuaW1wb3J0IHsgdG9BcnJheSB9IGZyb20gJy4uL2FzeW5jLnRzJztcbmltcG9ydCB7IGdldExpYkRlYnVnZ2VyIH0gZnJvbSAnLi4vZGVidWcudHMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJy4uL3BhdGgudHMnO1xuaW1wb3J0IHsgdHJpbVN0YXJ0IH0gZnJvbSAnLi4vc3RyaW5nLnRzJztcbmltcG9ydCB7IHJlYWRkaXJQb3NpeCB9IGZyb20gJy4vZnMudHMnO1xuaW1wb3J0IHsgcmVhZEpzb24gfSBmcm9tICcuL2pzb24udHMnO1xuaW1wb3J0IHsgbnBtUnVuT3B0aW9uYWwgfSBmcm9tICcuL25wbS1ydW4udHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocyB9IGZyb20gJy4vb2JzaWRpYW4tZGV2LXV0aWxzLXJlcG8tcGF0aHMudHMnO1xuaW1wb3J0IHtcbiAgZXhlY0Zyb21Sb290LFxuICByZXNvbHZlUGF0aEZyb21Sb290U2FmZVxufSBmcm9tICcuL3Jvb3QudHMnO1xuXG4vKipcbiAqIFJlbW92ZXMgdGhlIGRpc3RyaWJ1dGlvbiBmb2xkZXIgYW5kIGl0cyBjb250ZW50cy5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIGRlbGV0ZXMgdGhlIGVudGlyZSBkaXN0cmlidXRpb24gZm9sZGVyIHRvIGVuc3VyZSBhIGNsZWFuIGJ1aWxkIGVudmlyb25tZW50LlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZm9sZGVyIGhhcyBiZWVuIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidWlsZENsZWFuKCk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBybShPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkRpc3QsIHsgZm9yY2U6IHRydWUsIHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbn1cblxuLyoqXG4gKiBDb21waWxlcyB0aGUgY29kZS5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvZGUgY29tcGlsZXMgc3VjY2Vzc2Z1bGx5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRDb21waWxlKCk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIWF3YWl0IG5wbVJ1bk9wdGlvbmFsKCdidWlsZDpjb21waWxlOnN2ZWx0ZScpKSB7XG4gICAgYXdhaXQgYnVpbGRDb21waWxlU3ZlbHRlKCk7XG4gIH1cbiAgaWYgKCFhd2FpdCBucG1SdW5PcHRpb25hbCgnYnVpbGQ6Y29tcGlsZTp0eXBlc2NyaXB0JykpIHtcbiAgICBhd2FpdCBidWlsZENvbXBpbGVUeXBlU2NyaXB0KCk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb21waWxlcyB0aGUgU3ZlbHRlIGNvZGUuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb2RlIGNvbXBpbGVzIHN1Y2Nlc3NmdWxseS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkQ29tcGlsZVN2ZWx0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgdHNDb25maWdQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5Uc0NvbmZpZ0pzb24pO1xuICBjb25zdCB0c0NvbmZpZyA9IGF3YWl0IHJlYWRKc29uPFRzQ29uZmlnSnNvbj4odHNDb25maWdQYXRoKTtcbiAgY29uc3QgYWxsRmlsZXMgPSBhd2FpdCB0b0FycmF5KGdsb2IodHNDb25maWcuaW5jbHVkZSA/PyBbXSwgeyBleGNsdWRlOiB0c0NvbmZpZy5leGNsdWRlID8/IFtdIH0pKTtcbiAgY29uc3Qgc3ZlbHRlRmlsZXMgPSBhbGxGaWxlcy5maWx0ZXIoKGZpbGUpID0+IGZpbGUuZW5kc1dpdGgoJy5zdmVsdGUnKSB8fCBmaWxlLmVuZHNXaXRoKCcuc3ZlbHRlLmpzJykgfHwgZmlsZS5lbmRzV2l0aCgnLnN2ZWx0ZS50cycpKTtcblxuICBpZiAoc3ZlbHRlRmlsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgZ2V0TGliRGVidWdnZXIoJ2J1aWxkOmJ1aWxkQ29tcGlsZVN2ZWx0ZScpKCdObyBTdmVsdGUgZmlsZXMgZm91bmQgaW4gdGhlIHByb2plY3QsIHNraXBwaW5nIFN2ZWx0ZSBjb21waWxhdGlvbicpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ25weCcsICdzdmVsdGUtY2hlY2snLCAnLS10c2NvbmZpZycsIE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuVHNDb25maWdKc29uXSk7XG59XG5cbi8qKlxuICogQ29tcGlsZXMgdGhlIFR5cGVTY3JpcHQgY29kZS5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvZGUgY29tcGlsZXMgc3VjY2Vzc2Z1bGx5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRDb21waWxlVHlwZVNjcmlwdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KFsnbnB4JywgJ3RzYycsICctLWJ1aWxkJywgJy0tZm9yY2UnXSk7XG59XG5cbi8qKlxuICogQ29waWVzIGFsbCBzdGF0aWMgZmlsZXMgZnJvbSB0aGUgc3RhdGljIGFzc2V0cyBmb2xkZXIgdG8gdGhlIGRpc3RyaWJ1dGlvbiBmb2xkZXIuXG4gKlxuICogVGhpcyBmdW5jdGlvbiByZWN1cnNpdmVseSByZWFkcyB0aGUgY29udGVudHMgb2YgdGhlIHN0YXRpYyBhc3NldHMgZm9sZGVyIGFuZCBjb3BpZXNcbiAqIGVhY2ggZmlsZSB0byB0aGUgY29ycmVzcG9uZGluZyBwYXRoIGluIHRoZSBkaXN0cmlidXRpb24gZm9sZGVyLlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiBhbGwgZmlsZXMgaGF2ZSBiZWVuIGNvcGllZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkU3RhdGljKCk6IFByb21pc2U8dm9pZD4ge1xuICBmb3IgKGNvbnN0IGRpcmVudCBvZiBhd2FpdCByZWFkZGlyUG9zaXgoT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5TdGF0aWMsIHsgcmVjdXJzaXZlOiB0cnVlLCB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pKSB7XG4gICAgaWYgKCFkaXJlbnQuaXNGaWxlKCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhdGggPSB0cmltU3RhcnQoam9pbihkaXJlbnQucGFyZW50UGF0aCwgZGlyZW50Lm5hbWUpLCBgJHtPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLlN0YXRpY30vYCk7XG4gICAgYXdhaXQgY3Aoam9pbihPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLlN0YXRpYywgcGF0aCksIGpvaW4oT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0LCBwYXRoKSk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVUE7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBRVAsU0FBUyxlQUFlO0FBQ3hCLFNBQVMsc0JBQXNCO0FBQy9CLFNBQVMsWUFBWTtBQUNyQixTQUFTLGlCQUFpQjtBQUMxQixTQUFTLG9CQUFvQjtBQUM3QixTQUFTLGdCQUFnQjtBQUN6QixTQUFTLHNCQUFzQjtBQUMvQixTQUFTLGlDQUFpQztBQUMxQztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQVNQLGVBQXNCLGFBQTRCO0FBQ2hELFFBQU0sR0FBRywwQkFBMEIsTUFBTSxFQUFFLE9BQU8sTUFBTSxXQUFXLEtBQUssQ0FBQztBQUMzRTtBQU9BLGVBQXNCLGVBQThCO0FBQ2xELE1BQUksQ0FBQyxNQUFNLGVBQWUsc0JBQXNCLEdBQUc7QUFDakQsVUFBTSxtQkFBbUI7QUFBQSxFQUMzQjtBQUNBLE1BQUksQ0FBQyxNQUFNLGVBQWUsMEJBQTBCLEdBQUc7QUFDckQsVUFBTSx1QkFBdUI7QUFBQSxFQUMvQjtBQUNGO0FBT0EsZUFBc0IscUJBQW9DO0FBQ3hELFFBQU0sZUFBZSx3QkFBd0IsMEJBQTBCLFlBQVk7QUFDbkYsUUFBTSxXQUFXLE1BQU0sU0FBdUIsWUFBWTtBQUMxRCxRQUFNLFdBQVcsTUFBTSxRQUFRLEtBQUssU0FBUyxXQUFXLENBQUMsR0FBRyxFQUFFLFNBQVMsU0FBUyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDaEcsUUFBTSxjQUFjLFNBQVMsT0FBTyxDQUFDLFNBQVMsS0FBSyxTQUFTLFNBQVMsS0FBSyxLQUFLLFNBQVMsWUFBWSxLQUFLLEtBQUssU0FBUyxZQUFZLENBQUM7QUFFcEksTUFBSSxZQUFZLFdBQVcsR0FBRztBQUM1QixtQkFBZSwwQkFBMEIsRUFBRSxtRUFBbUU7QUFDOUc7QUFBQSxFQUNGO0FBRUEsUUFBTSxhQUFhLENBQUMsT0FBTyxnQkFBZ0IsY0FBYywwQkFBMEIsWUFBWSxDQUFDO0FBQ2xHO0FBT0EsZUFBc0IseUJBQXdDO0FBQzVELFFBQU0sYUFBYSxDQUFDLE9BQU8sT0FBTyxXQUFXLFNBQVMsQ0FBQztBQUN6RDtBQVVBLGVBQXNCLGNBQTZCO0FBQ2pELGFBQVcsVUFBVSxNQUFNLGFBQWEsMEJBQTBCLFFBQVEsRUFBRSxXQUFXLE1BQU0sZUFBZSxLQUFLLENBQUMsR0FBRztBQUNuSCxRQUFJLENBQUMsT0FBTyxPQUFPLEdBQUc7QUFDcEI7QUFBQSxJQUNGO0FBRUEsVUFBTSxPQUFPLFVBQVUsS0FBSyxPQUFPLFlBQVksT0FBTyxJQUFJLEdBQUcsR0FBRywwQkFBMEIsTUFBTSxHQUFHO0FBQ25HLFVBQU0sR0FBRyxLQUFLLDBCQUEwQixRQUFRLElBQUksR0FBRyxLQUFLLDBCQUEwQixNQUFNLElBQUksQ0FBQztBQUFBLEVBQ25HO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
108
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idWlsZC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGhhbmRsZSB0aGUgYnVpbGQgcHJvY2VzcyBmb3Igc3RhdGljIGFzc2V0cyBhbmQgY2xlYW5pbmdcbiAqIHRoZSBidWlsZCBvdXRwdXQgZm9sZGVyLiBJdCBpbmNsdWRlcyBmdW5jdGlvbnMgdG8gY29weSBzdGF0aWMgZmlsZXMgdG8gdGhlIGRpc3RyaWJ1dGlvbiBmb2xkZXJcbiAqIGFuZCB0byByZW1vdmUgdGhlIGV4aXN0aW5nIGJ1aWxkIG91dHB1dC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFRzQ29uZmlnSnNvbiB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7XG4gIGNwLFxuICBnbG9iLFxuICBybVxufSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcblxuaW1wb3J0IHsgdG9BcnJheSB9IGZyb20gJy4uL2FzeW5jLnRzJztcbmltcG9ydCB7IGdldExpYkRlYnVnZ2VyIH0gZnJvbSAnLi4vZGVidWcudHMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJy4uL3BhdGgudHMnO1xuaW1wb3J0IHsgdHJpbVN0YXJ0IH0gZnJvbSAnLi4vc3RyaW5nLnRzJztcbmltcG9ydCB7XG4gIGNoZWNrUHJvamVjdFR5cGVzLFxuICBwYXJzZVRzQ29uZmlnLFxuICB0b0Nhbm9uaWNhbFxufSBmcm9tICcuL2NoZWNrLXByb2plY3QtdHlwZXMudHMnO1xuaW1wb3J0IHsgcmVhZGRpclBvc2l4IH0gZnJvbSAnLi9mcy50cyc7XG5pbXBvcnQgeyByZWFkSnNvbiB9IGZyb20gJy4vanNvbi50cyc7XG5pbXBvcnQgeyBucG1SdW5PcHRpb25hbCB9IGZyb20gJy4vbnBtLXJ1bi50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi9vYnNpZGlhbi1kZXYtdXRpbHMtcmVwby1wYXRocy50cyc7XG5pbXBvcnQge1xuICBleGVjRnJvbVJvb3QsXG4gIGdldFJvb3RGb2xkZXIsXG4gIHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlXG59IGZyb20gJy4vcm9vdC50cyc7XG5cbi8qKlxuICogUmVtb3ZlcyB0aGUgZGlzdHJpYnV0aW9uIGZvbGRlciBhbmQgaXRzIGNvbnRlbnRzLlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gZGVsZXRlcyB0aGUgZW50aXJlIGRpc3RyaWJ1dGlvbiBmb2xkZXIgdG8gZW5zdXJlIGEgY2xlYW4gYnVpbGQgZW52aXJvbm1lbnQuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmb2xkZXIgaGFzIGJlZW4gcmVtb3ZlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkQ2xlYW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IHJtKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRGlzdCwgeyBmb3JjZTogdHJ1ZSwgcmVjdXJzaXZlOiB0cnVlIH0pO1xufVxuXG4vKipcbiAqIENvbXBpbGVzIHRoZSBjb2RlLlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29kZSBjb21waWxlcyBzdWNjZXNzZnVsbHkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidWlsZENvbXBpbGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghYXdhaXQgbnBtUnVuT3B0aW9uYWwoJ2J1aWxkOmNvbXBpbGU6c3ZlbHRlJykpIHtcbiAgICBhd2FpdCBidWlsZENvbXBpbGVTdmVsdGUoKTtcbiAgfVxuICBpZiAoIWF3YWl0IG5wbVJ1bk9wdGlvbmFsKCdidWlsZDpjb21waWxlOnR5cGVzY3JpcHQnKSkge1xuICAgIGF3YWl0IGJ1aWxkQ29tcGlsZVR5cGVTY3JpcHQoKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbXBpbGVzIHRoZSBTdmVsdGUgY29kZS5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvZGUgY29tcGlsZXMgc3VjY2Vzc2Z1bGx5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRDb21waWxlU3ZlbHRlKCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB0c0NvbmZpZ1BhdGggPSByZXNvbHZlUGF0aEZyb21Sb290U2FmZShPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLlRzQ29uZmlnSnNvbik7XG4gIGNvbnN0IHRzQ29uZmlnID0gYXdhaXQgcmVhZEpzb248VHNDb25maWdKc29uPih0c0NvbmZpZ1BhdGgpO1xuICBjb25zdCBhbGxGaWxlcyA9IGF3YWl0IHRvQXJyYXkoZ2xvYih0c0NvbmZpZy5pbmNsdWRlID8/IFtdLCB7IGV4Y2x1ZGU6IHRzQ29uZmlnLmV4Y2x1ZGUgPz8gW10gfSkpO1xuICBjb25zdCBzdmVsdGVGaWxlcyA9IGFsbEZpbGVzLmZpbHRlcigoZmlsZSkgPT4gZmlsZS5lbmRzV2l0aCgnLnN2ZWx0ZScpIHx8IGZpbGUuZW5kc1dpdGgoJy5zdmVsdGUuanMnKSB8fCBmaWxlLmVuZHNXaXRoKCcuc3ZlbHRlLnRzJykpO1xuXG4gIGlmIChzdmVsdGVGaWxlcy5sZW5ndGggPT09IDApIHtcbiAgICBnZXRMaWJEZWJ1Z2dlcignYnVpbGQ6YnVpbGRDb21waWxlU3ZlbHRlJykoJ05vIFN2ZWx0ZSBmaWxlcyBmb3VuZCBpbiB0aGUgcHJvamVjdCwgc2tpcHBpbmcgU3ZlbHRlIGNvbXBpbGF0aW9uJyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXdhaXQgZXhlY0Zyb21Sb290KFsnbnB4JywgJ3N2ZWx0ZS1jaGVjaycsICctLXRzY29uZmlnJywgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5Uc0NvbmZpZ0pzb25dKTtcbn1cblxuLyoqXG4gKiBDb21waWxlcyB0aGUgVHlwZVNjcmlwdCBjb2RlLlxuICpcbiAqIFRoZSBnZW5lcmFsIGB0c2NgIHBhc3MgcnVucyB3aXRoIGBza2lwTGliQ2hlY2s6IHRydWVgIChjb25maWd1cmVkIGluIGB0c2NvbmZpZy5qc29uYCkgc28gaXQgZG9lc1xuICogbm90IGZhaWwgb24gYnJva2VuIHVwc3RyZWFtIGAuZC50c2AgZmlsZXMgd2UgZG8gbm90IGNvbnRyb2wuIEFmdGVyd2FyZHMsIHtAbGluayB2YWxpZGF0ZVByb2plY3RUeXBlc31cbiAqIHJlLXJ1bnMgdGhlIHR5cGUtY2hlY2sgaW4tbWVtb3J5IHdpdGggYHNraXBMaWJDaGVjazogZmFsc2VgLCByZXBvcnRpbmcgb25seSBkaWFnbm9zdGljcyBmcm9tIHRoZVxuICogZmlsZXMgd2Ugb3duLCBzbyB0aGUgZGVjbGFyYXRpb25zIHdlIGF1dGhvciBhcmUgc3RpbGwgZnVsbHkgdmFsaWRhdGVkLlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29kZSBjb21waWxlcyBzdWNjZXNzZnVsbHkuXG4gKiBAdGhyb3dzIElmIHRoZSBwcm9qZWN0J3Mgb3duIGRlY2xhcmF0aW9ucyBmYWlsIHZhbGlkYXRpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidWlsZENvbXBpbGVUeXBlU2NyaXB0KCk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBleGVjRnJvbVJvb3QoWyducHgnLCAndHNjJywgJy0tYnVpbGQnLCAnLS1mb3JjZSddKTtcblxuICBpZiAoIXZhbGlkYXRlUHJvamVjdFR5cGVzKCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1R5cGVTY3JpcHQgZGVjbGFyYXRpb24gdmFsaWRhdGlvbiBmYWlsZWQuJyk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb3BpZXMgYWxsIHN0YXRpYyBmaWxlcyBmcm9tIHRoZSBzdGF0aWMgYXNzZXRzIGZvbGRlciB0byB0aGUgZGlzdHJpYnV0aW9uIGZvbGRlci5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHJlY3Vyc2l2ZWx5IHJlYWRzIHRoZSBjb250ZW50cyBvZiB0aGUgc3RhdGljIGFzc2V0cyBmb2xkZXIgYW5kIGNvcGllc1xuICogZWFjaCBmaWxlIHRvIHRoZSBjb3JyZXNwb25kaW5nIHBhdGggaW4gdGhlIGRpc3RyaWJ1dGlvbiBmb2xkZXIuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIGFsbCBmaWxlcyBoYXZlIGJlZW4gY29waWVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRTdGF0aWMoKTogUHJvbWlzZTx2b2lkPiB7XG4gIGZvciAoY29uc3QgZGlyZW50IG9mIGF3YWl0IHJlYWRkaXJQb3NpeChPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLlN0YXRpYywgeyByZWN1cnNpdmU6IHRydWUsIHdpdGhGaWxlVHlwZXM6IHRydWUgfSkpIHtcbiAgICBpZiAoIWRpcmVudC5pc0ZpbGUoKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aCA9IHRyaW1TdGFydChqb2luKGRpcmVudC5wYXJlbnRQYXRoLCBkaXJlbnQubmFtZSksIGAke09ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuU3RhdGljfS9gKTtcbiAgICBhd2FpdCBjcChqb2luKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuU3RhdGljLCBwYXRoKSwgam9pbihPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkRpc3QsIHBhdGgpKTtcbiAgfVxufVxuXG5jb25zdCBOT0RFX01PRFVMRVNfU0VHTUVOVCA9ICcvbm9kZV9tb2R1bGVzLyc7XG5cbmZ1bmN0aW9uIHNob3VsZEtlZXBQcm9qZWN0RmlsZShmaWxlTmFtZTogc3RyaW5nLCByb290Q2Fub25pY2FsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGZpbGVOYW1lLnN0YXJ0c1dpdGgoYCR7cm9vdENhbm9uaWNhbH0vYCkgJiYgIWZpbGVOYW1lLmluY2x1ZGVzKE5PREVfTU9EVUxFU19TRUdNRU5UKTtcbn1cblxuLyoqXG4gKiBSZS1ydW5zIHRoZSBwcm9qZWN0IHR5cGUtY2hlY2sgaW4tbWVtb3J5IHdpdGggYHNraXBMaWJDaGVjazogZmFsc2VgLCByZXBvcnRpbmcgb25seSBkaWFnbm9zdGljc1xuICogd2hvc2Ugc291cmNlIGZpbGUgYmVsb25ncyB0byB0aGUgcHJvamVjdCAodW5kZXIgdGhlIHJvb3QgZm9sZGVyLCBvdXRzaWRlIGBub2RlX21vZHVsZXNgKS5cbiAqXG4gKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgcHJvamVjdCdzIG93biBmaWxlcyBoYXZlIG5vIHR5cGUgZXJyb3JzLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqIEB0aHJvd3MgSWYgdGhlIHJvb3QgZm9sZGVyIGNhbm5vdCBiZSBmb3VuZC5cbiAqL1xuZnVuY3Rpb24gdmFsaWRhdGVQcm9qZWN0VHlwZXMoKTogYm9vbGVhbiB7XG4gIGNvbnN0IHJvb3QgPSBnZXRSb290Rm9sZGVyKCk7XG5cbiAgaWYgKCFyb290KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgZmluZCByb290IGZvbGRlcicpO1xuICB9XG5cbiAgY29uc3Qgcm9vdENhbm9uaWNhbCA9IHRvQ2Fub25pY2FsKHJvb3QpO1xuICBjb25zdCB7IGZpbGVOYW1lcywgb3B0aW9ucyB9ID0gcGFyc2VUc0NvbmZpZyhqb2luKHJvb3QsIE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuVHNDb25maWdKc29uKSk7XG5cbiAgcmV0dXJuIGNoZWNrUHJvamVjdFR5cGVzKHtcbiAgICBvcHRpb25zLFxuICAgIHJvb3ROYW1lczogZmlsZU5hbWVzLFxuICAgIHNob3VsZEtlZXBGaWxlOiAoZmlsZU5hbWUpID0+IHNob3VsZEtlZXBQcm9qZWN0RmlsZShmaWxlTmFtZSwgcm9vdENhbm9uaWNhbClcbiAgfSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVVBO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNB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
@@ -58,7 +58,7 @@ async function getDependenciesToBundle() {
58
58
  extractDependenciesToBundlePlugin(dependenciesToSkip, dependenciesToBundle)
59
59
  ],
60
60
  sourcemap: "inline",
61
- target: "ESNext",
61
+ target: "ES2022",
62
62
  treeShaking: true,
63
63
  write: false
64
64
  };
@@ -108,4 +108,4 @@ export {
108
108
  getDependenciesToBundle,
109
109
  getDependenciesToSkip
110
110
  };
111
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvZGVwZW5kZW5jeS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdGllcyBmb3IgbWFuYWdpbmcgZGVwZW5kZW5jaWVzIGR1cmluZyB0aGUgZXNidWlsZCBwcm9jZXNzLlxuICogSXQgaW5jbHVkZXMgZnVuY3Rpb25zIHRvIGRldGVybWluZSB3aGljaCBkZXBlbmRlbmNpZXMgc2hvdWxkIGJlIHNraXBwZWQgYW5kIHdoaWNoXG4gKiBzaG91bGQgYmUgYnVuZGxlZCwgYXMgd2VsbCBhcyBhbiBlc2J1aWxkIHBsdWdpbiBmb3IgZXh0cmFjdGluZyBkZXBlbmRlbmNpZXMgdG8gYnVuZGxlLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBlc2J1aWxkIHBsdWdpbiB0aGF0IHJlc29sdmVzIGRlcGVuZGVuY2llcyBhdCBidWlsZCB0aW1lOyByZXF1aXJlcyBhIGxpdmUgZXNidWlsZCBjb250ZXh0LiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEJ1aWxkT3B0aW9ucyxcbiAgUGx1Z2luXG59IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBjb250ZXh0IH0gZnJvbSAnZXNidWlsZCc7XG5pbXBvcnQge1xuICBidWlsdGluTW9kdWxlcyxcbiAgY3JlYXRlUmVxdWlyZVxufSBmcm9tICdub2RlOm1vZHVsZSc7XG5cbmltcG9ydCB7XG4gIGdldEZvbGRlck5hbWUsXG4gIGpvaW5cbn0gZnJvbSAnLi4vLi4vLi4vcGF0aC50cyc7XG5pbXBvcnQgeyB0cmltU3RhcnQgfSBmcm9tICcuLi8uLi8uLi9zdHJpbmcudHMnO1xuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICcuLi8uLi8uLi90eXBlLWd1YXJkcy50cyc7XG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICcuLi8uLi9ucG0udHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocyB9IGZyb20gJy4uLy4uL29ic2lkaWFuLWRldi11dGlscy1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7XG4gIGJhbm5lcixcbiAgaW52b2tlRXNidWlsZFxufSBmcm9tICcuL29ic2lkaWFuLXBsdWdpbi1idWlsZGVyLnRzJztcbmltcG9ydCB7IHByZXByb2Nlc3NQbHVnaW4gfSBmcm9tICcuL3ByZXByb2Nlc3MtcGx1Z2luLnRzJztcblxuY29uc3QgZXNtUmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKTtcblxuaW50ZXJmYWNlIE1vZHVsZVdpdGhEZWZhdWx0RXhwb3J0IHtcbiAgZGVmYXVsdDogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoaWNoIGRlcGVuZGVuY2llcyBzaG91bGQgYmUgYnVuZGxlZCBieSBlc2J1aWxkLlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2YgZGVwZW5kZW5jeSBuYW1lcyB0byBidW5kbGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREZXBlbmRlbmNpZXNUb0J1bmRsZSgpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gIGNvbnN0IGRlcGVuZGVuY2llc1RvU2tpcCA9IGF3YWl0IGdldERlcGVuZGVuY2llc1RvU2tpcCgpO1xuICBjb25zdCBkZXBlbmRlbmNpZXNUb0J1bmRsZSA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGNvbnN0IGJ1aWxkT3B0aW9uczogQnVpbGRPcHRpb25zID0ge1xuICAgIGJhbm5lcjoge1xuICAgICAganM6IGJhbm5lclxuICAgIH0sXG4gICAgYnVuZGxlOiB0cnVlLFxuICAgIGVudHJ5UG9pbnRzOiBbam9pbihPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLlNyYywgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5BbnlQYXRoLCBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkFueVRzKV0sXG4gICAgZm9ybWF0OiAnY2pzJyxcbiAgICBsb2dMZXZlbDogJ2luZm8nLFxuICAgIG91dGRpcjogJ25vdGhpbmctd2lsbC1iZS13cml0dGVuLW9uLWRpc2stc28tdGhpcy1kb2VzLW5vdC1tYXR0ZXInLFxuICAgIHBsYXRmb3JtOiAnbm9kZScsXG4gICAgcGx1Z2luczogW1xuICAgICAgcHJlcHJvY2Vzc1BsdWdpbigpLFxuICAgICAgZXh0cmFjdERlcGVuZGVuY2llc1RvQnVuZGxlUGx1Z2luKGRlcGVuZGVuY2llc1RvU2tpcCwgZGVwZW5kZW5jaWVzVG9CdW5kbGUpXG4gICAgXSxcbiAgICBzb3VyY2VtYXA6ICdpbmxpbmUnLFxuICAgIHRhcmdldDogJ0VTTmV4dCcsXG4gICAgdHJlZVNoYWtpbmc6IHRydWUsXG4gICAgd3JpdGU6IGZhbHNlXG4gIH07XG5cbiAgY29uc3QgYnVpbGRDb250ZXh0ID0gYXdhaXQgY29udGV4dChidWlsZE9wdGlvbnMpO1xuICBhd2FpdCBpbnZva2VFc2J1aWxkKGJ1aWxkQ29udGV4dCwgdHJ1ZSk7XG4gIHJldHVybiBBcnJheS5mcm9tKGRlcGVuZGVuY2llc1RvQnVuZGxlKS5zb3J0KCk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBsaXN0IG9mIGRlcGVuZGVuY2llcyB0aGF0IHNob3VsZCBiZSBza2lwcGVkIGR1cmluZyB0aGUgYnVuZGxpbmcgcHJvY2Vzcy5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIFNldH0gb2YgZGVwZW5kZW5jeSBuYW1lcyB0byBza2lwLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RGVwZW5kZW5jaWVzVG9Ta2lwKCk6IFByb21pc2U8U2V0PHN0cmluZz4+IHtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24oZ2V0Rm9sZGVyTmFtZShpbXBvcnQubWV0YS51cmwpKTtcbiAgY29uc3QgZGVwZW5kZW5jaWVzVG9Ta2lwID0gbmV3IFNldDxzdHJpbmc+KFsuLi5idWlsdGluTW9kdWxlcywgLi4uT2JqZWN0LmtleXMocGFja2FnZUpzb24uZGVwZW5kZW5jaWVzID8/IHt9KS5maWx0ZXIoY2FuU2tpcEZyb21CdW5kbGluZyldKTtcbiAgcmV0dXJuIGRlcGVuZGVuY2llc1RvU2tpcDtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBtb2R1bGUgY2FuIGJlIHNraXBwZWQgZnJvbSBidW5kbGluZy5cbiAqXG4gKiBAcGFyYW0gbW9kdWxlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUuXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBtb2R1bGUgY2FuIGJlIHNraXBwZWQgZnJvbSBidW5kbGluZy5cbiAqL1xuZnVuY3Rpb24gY2FuU2tpcEZyb21CdW5kbGluZyhtb2R1bGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKG1vZHVsZU5hbWUuc3RhcnRzV2l0aCgnQHR5cGVzLycpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAobW9kdWxlTmFtZS5zdGFydHNXaXRoKCdvYnNpZGlhbicpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAobW9kdWxlTmFtZSA9PT0gJ2VzYnVpbGQnKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IG1vZHVsZSA9IGVzbVJlcXVpcmUobW9kdWxlTmFtZSkgYXMgTW9kdWxlV2l0aERlZmF1bHRFeHBvcnQ7XG4gICAgcmV0dXJuICFtb2R1bGUuZGVmYXVsdDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IGlkZW50aWZpZXMgd2hpY2ggZGVwZW5kZW5jaWVzIHNob3VsZCBiZSBidW5kbGVkLlxuICpcbiAqIEBwYXJhbSBkZXBlbmRlbmNpZXNUb1NraXAgLSBBIHNldCBvZiBkZXBlbmRlbmN5IG5hbWVzIHRoYXQgc2hvdWxkIGJlIHNraXBwZWQgZHVyaW5nIGJ1bmRsaW5nLlxuICogQHBhcmFtIGRlcGVuZGVuY2llc1RvQnVuZGxlIC0gQSBzZXQgd2hlcmUgdGhlIG5hbWVzIG9mIGRlcGVuZGVuY2llcyB0byBiZSBidW5kbGVkIHdpbGwgYmUgYWRkZWQuXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGV4dHJhY3RzIGRlcGVuZGVuY2llcyB0byBidW5kbGUuXG4gKi9cbmZ1bmN0aW9uIGV4dHJhY3REZXBlbmRlbmNpZXNUb0J1bmRsZVBsdWdpbihkZXBlbmRlbmNpZXNUb1NraXA6IFNldDxzdHJpbmc+LCBkZXBlbmRlbmNpZXNUb0J1bmRsZTogU2V0PHN0cmluZz4pOiBQbHVnaW4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICd0ZXN0JyxcbiAgICBzZXR1cChidWlsZCk6IHZvaWQge1xuICAgICAgYnVpbGQub25SZXNvbHZlKHsgZmlsdGVyOiAvXlteLi9dLyB9LCAoYXJncykgPT4ge1xuICAgICAgICBpZiAoIWFyZ3MuaW1wb3J0ZXIuZW5kc1dpdGgoT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EdHNFeHRlbnNpb24pKSB7XG4gICAgICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IHRyaW1TdGFydChlbnN1cmVOb25OdWxsYWJsZShhcmdzLnBhdGguc3BsaXQoJy8nKVswXSwgJ1dyb25nIHBhdGgnKSwgJ25vZGU6Jyk7XG4gICAgICAgICAgaWYgKCFkZXBlbmRlbmNpZXNUb1NraXAuaGFzKGFyZ3MucGF0aCkgJiYgIWRlcGVuZGVuY2llc1RvU2tpcC5oYXMobW9kdWxlTmFtZSkpIHtcbiAgICAgICAgICAgIGRlcGVuZGVuY2llc1RvQnVuZGxlLmFkZChhcmdzLnBhdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBleHRlcm5hbDogdHJ1ZSwgcGF0aDogYXJncy5wYXRoIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBLFNBQVMsZUFBZTtBQUN4QjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUVQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxpQkFBaUI7QUFDMUIsU0FBUyx5QkFBeUI7QUFDbEMsU0FBUyx1QkFBdUI7QUFDaEMsU0FBUyxpQ0FBaUM7QUFDMUM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLHdCQUF3QjtBQUVqQyxNQUFNLGFBQWEsY0FBYyxZQUFZLEdBQUc7QUFXaEQsZUFBc0IsMEJBQTZDO0FBQ2pFLFFBQU0scUJBQXFCLE1BQU0sc0JBQXNCO0FBQ3ZELFFBQU0sdUJBQXVCLG9CQUFJLElBQVk7QUFFN0MsUUFBTSxlQUE2QjtBQUFBLElBQ2pDLFFBQVE7QUFBQSxNQUNOLElBQUk7QUFBQSxJQUNOO0FBQUEsSUFDQSxRQUFRO0FBQUEsSUFDUixhQUFhLENBQUMsS0FBSywwQkFBMEIsS0FBSywwQkFBMEIsU0FBUywwQkFBMEIsS0FBSyxDQUFDO0FBQUEsSUFDckgsUUFBUTtBQUFBLElBQ1IsVUFBVTtBQUFBLElBQ1YsUUFBUTtBQUFBLElBQ1IsVUFBVTtBQUFBLElBQ1YsU0FBUztBQUFBLE1BQ1AsaUJBQWlCO0FBQUEsTUFDakIsa0NBQWtDLG9CQUFvQixvQkFBb0I7QUFBQSxJQUM1RTtBQUFBLElBQ0EsV0FBVztBQUFBLElBQ1gsUUFBUTtBQUFBLElBQ1IsYUFBYTtBQUFBLElBQ2IsT0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGVBQWUsTUFBTSxRQUFRLFlBQVk7QUFDL0MsUUFBTSxjQUFjLGNBQWMsSUFBSTtBQUN0QyxTQUFPLE1BQU0sS0FBSyxvQkFBb0IsRUFBRSxLQUFLO0FBQy9DO0FBT0EsZUFBc0Isd0JBQThDO0FBQ2xFLFFBQU0sY0FBYyxNQUFNLGdCQUFnQixjQUFjLFlBQVksR0FBRyxDQUFDO0FBQ3hFLFFBQU0scUJBQXFCLG9CQUFJLElBQVksQ0FBQyxHQUFHLGdCQUFnQixHQUFHLE9BQU8sS0FBSyxZQUFZLGdCQUFnQixDQUFDLENBQUMsRUFBRSxPQUFPLG1CQUFtQixDQUFDLENBQUM7QUFDMUksU0FBTztBQUNUO0FBUUEsU0FBUyxvQkFBb0IsWUFBNkI7QUFDeEQsTUFBSSxXQUFXLFdBQVcsU0FBUyxHQUFHO0FBQ3BDLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxXQUFXLFdBQVcsVUFBVSxHQUFHO0FBQ3JDLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxlQUFlLFdBQVc7QUFDNUIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJO0FBQ0YsVUFBTSxTQUFTLFdBQVcsVUFBVTtBQUNwQyxXQUFPLENBQUMsT0FBTztBQUFBLEVBQ2pCLFFBQVE7QUFDTixXQUFPO0FBQUEsRUFDVDtBQUNGO0FBU0EsU0FBUyxrQ0FBa0Msb0JBQWlDLHNCQUEyQztBQUNySCxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxVQUFVLEVBQUUsUUFBUSxTQUFTLEdBQUcsQ0FBQyxTQUFTO0FBQzlDLFlBQUksQ0FBQyxLQUFLLFNBQVMsU0FBUywwQkFBMEIsWUFBWSxHQUFHO0FBQ25FLGdCQUFNLGFBQWEsVUFBVSxrQkFBa0IsS0FBSyxLQUFLLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxZQUFZLEdBQUcsT0FBTztBQUM5RixjQUFJLENBQUMsbUJBQW1CLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxVQUFVLEdBQUc7QUFDN0UsaUNBQXFCLElBQUksS0FBSyxJQUFJO0FBQUEsVUFDcEM7QUFBQSxRQUNGO0FBQ0EsZUFBTyxFQUFFLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSztBQUFBLE1BQzNDLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
111
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvZGVwZW5kZW5jeS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdGllcyBmb3IgbWFuYWdpbmcgZGVwZW5kZW5jaWVzIGR1cmluZyB0aGUgZXNidWlsZCBwcm9jZXNzLlxuICogSXQgaW5jbHVkZXMgZnVuY3Rpb25zIHRvIGRldGVybWluZSB3aGljaCBkZXBlbmRlbmNpZXMgc2hvdWxkIGJlIHNraXBwZWQgYW5kIHdoaWNoXG4gKiBzaG91bGQgYmUgYnVuZGxlZCwgYXMgd2VsbCBhcyBhbiBlc2J1aWxkIHBsdWdpbiBmb3IgZXh0cmFjdGluZyBkZXBlbmRlbmNpZXMgdG8gYnVuZGxlLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBlc2J1aWxkIHBsdWdpbiB0aGF0IHJlc29sdmVzIGRlcGVuZGVuY2llcyBhdCBidWlsZCB0aW1lOyByZXF1aXJlcyBhIGxpdmUgZXNidWlsZCBjb250ZXh0LiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEJ1aWxkT3B0aW9ucyxcbiAgUGx1Z2luXG59IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBjb250ZXh0IH0gZnJvbSAnZXNidWlsZCc7XG5pbXBvcnQge1xuICBidWlsdGluTW9kdWxlcyxcbiAgY3JlYXRlUmVxdWlyZVxufSBmcm9tICdub2RlOm1vZHVsZSc7XG5cbmltcG9ydCB7XG4gIGdldEZvbGRlck5hbWUsXG4gIGpvaW5cbn0gZnJvbSAnLi4vLi4vLi4vcGF0aC50cyc7XG5pbXBvcnQgeyB0cmltU3RhcnQgfSBmcm9tICcuLi8uLi8uLi9zdHJpbmcudHMnO1xuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICcuLi8uLi8uLi90eXBlLWd1YXJkcy50cyc7XG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICcuLi8uLi9ucG0udHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocyB9IGZyb20gJy4uLy4uL29ic2lkaWFuLWRldi11dGlscy1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7XG4gIGJhbm5lcixcbiAgaW52b2tlRXNidWlsZFxufSBmcm9tICcuL29ic2lkaWFuLXBsdWdpbi1idWlsZGVyLnRzJztcbmltcG9ydCB7IHByZXByb2Nlc3NQbHVnaW4gfSBmcm9tICcuL3ByZXByb2Nlc3MtcGx1Z2luLnRzJztcblxuY29uc3QgZXNtUmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKTtcblxuaW50ZXJmYWNlIE1vZHVsZVdpdGhEZWZhdWx0RXhwb3J0IHtcbiAgZGVmYXVsdDogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoaWNoIGRlcGVuZGVuY2llcyBzaG91bGQgYmUgYnVuZGxlZCBieSBlc2J1aWxkLlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2YgZGVwZW5kZW5jeSBuYW1lcyB0byBidW5kbGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREZXBlbmRlbmNpZXNUb0J1bmRsZSgpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gIGNvbnN0IGRlcGVuZGVuY2llc1RvU2tpcCA9IGF3YWl0IGdldERlcGVuZGVuY2llc1RvU2tpcCgpO1xuICBjb25zdCBkZXBlbmRlbmNpZXNUb0J1bmRsZSA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGNvbnN0IGJ1aWxkT3B0aW9uczogQnVpbGRPcHRpb25zID0ge1xuICAgIGJhbm5lcjoge1xuICAgICAganM6IGJhbm5lclxuICAgIH0sXG4gICAgYnVuZGxlOiB0cnVlLFxuICAgIGVudHJ5UG9pbnRzOiBbam9pbihPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLlNyYywgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5BbnlQYXRoLCBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkFueVRzKV0sXG4gICAgZm9ybWF0OiAnY2pzJyxcbiAgICBsb2dMZXZlbDogJ2luZm8nLFxuICAgIG91dGRpcjogJ25vdGhpbmctd2lsbC1iZS13cml0dGVuLW9uLWRpc2stc28tdGhpcy1kb2VzLW5vdC1tYXR0ZXInLFxuICAgIHBsYXRmb3JtOiAnbm9kZScsXG4gICAgcGx1Z2luczogW1xuICAgICAgcHJlcHJvY2Vzc1BsdWdpbigpLFxuICAgICAgZXh0cmFjdERlcGVuZGVuY2llc1RvQnVuZGxlUGx1Z2luKGRlcGVuZGVuY2llc1RvU2tpcCwgZGVwZW5kZW5jaWVzVG9CdW5kbGUpXG4gICAgXSxcbiAgICBzb3VyY2VtYXA6ICdpbmxpbmUnLFxuICAgIHRhcmdldDogJ0VTMjAyMicsXG4gICAgdHJlZVNoYWtpbmc6IHRydWUsXG4gICAgd3JpdGU6IGZhbHNlXG4gIH07XG5cbiAgY29uc3QgYnVpbGRDb250ZXh0ID0gYXdhaXQgY29udGV4dChidWlsZE9wdGlvbnMpO1xuICBhd2FpdCBpbnZva2VFc2J1aWxkKGJ1aWxkQ29udGV4dCwgdHJ1ZSk7XG4gIHJldHVybiBBcnJheS5mcm9tKGRlcGVuZGVuY2llc1RvQnVuZGxlKS5zb3J0KCk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBsaXN0IG9mIGRlcGVuZGVuY2llcyB0aGF0IHNob3VsZCBiZSBza2lwcGVkIGR1cmluZyB0aGUgYnVuZGxpbmcgcHJvY2Vzcy5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIFNldH0gb2YgZGVwZW5kZW5jeSBuYW1lcyB0byBza2lwLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RGVwZW5kZW5jaWVzVG9Ta2lwKCk6IFByb21pc2U8U2V0PHN0cmluZz4+IHtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24oZ2V0Rm9sZGVyTmFtZShpbXBvcnQubWV0YS51cmwpKTtcbiAgY29uc3QgZGVwZW5kZW5jaWVzVG9Ta2lwID0gbmV3IFNldDxzdHJpbmc+KFsuLi5idWlsdGluTW9kdWxlcywgLi4uT2JqZWN0LmtleXMocGFja2FnZUpzb24uZGVwZW5kZW5jaWVzID8/IHt9KS5maWx0ZXIoY2FuU2tpcEZyb21CdW5kbGluZyldKTtcbiAgcmV0dXJuIGRlcGVuZGVuY2llc1RvU2tpcDtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBtb2R1bGUgY2FuIGJlIHNraXBwZWQgZnJvbSBidW5kbGluZy5cbiAqXG4gKiBAcGFyYW0gbW9kdWxlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUuXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBtb2R1bGUgY2FuIGJlIHNraXBwZWQgZnJvbSBidW5kbGluZy5cbiAqL1xuZnVuY3Rpb24gY2FuU2tpcEZyb21CdW5kbGluZyhtb2R1bGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKG1vZHVsZU5hbWUuc3RhcnRzV2l0aCgnQHR5cGVzLycpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAobW9kdWxlTmFtZS5zdGFydHNXaXRoKCdvYnNpZGlhbicpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAobW9kdWxlTmFtZSA9PT0gJ2VzYnVpbGQnKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IG1vZHVsZSA9IGVzbVJlcXVpcmUobW9kdWxlTmFtZSkgYXMgTW9kdWxlV2l0aERlZmF1bHRFeHBvcnQ7XG4gICAgcmV0dXJuICFtb2R1bGUuZGVmYXVsdDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IGlkZW50aWZpZXMgd2hpY2ggZGVwZW5kZW5jaWVzIHNob3VsZCBiZSBidW5kbGVkLlxuICpcbiAqIEBwYXJhbSBkZXBlbmRlbmNpZXNUb1NraXAgLSBBIHNldCBvZiBkZXBlbmRlbmN5IG5hbWVzIHRoYXQgc2hvdWxkIGJlIHNraXBwZWQgZHVyaW5nIGJ1bmRsaW5nLlxuICogQHBhcmFtIGRlcGVuZGVuY2llc1RvQnVuZGxlIC0gQSBzZXQgd2hlcmUgdGhlIG5hbWVzIG9mIGRlcGVuZGVuY2llcyB0byBiZSBidW5kbGVkIHdpbGwgYmUgYWRkZWQuXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGV4dHJhY3RzIGRlcGVuZGVuY2llcyB0byBidW5kbGUuXG4gKi9cbmZ1bmN0aW9uIGV4dHJhY3REZXBlbmRlbmNpZXNUb0J1bmRsZVBsdWdpbihkZXBlbmRlbmNpZXNUb1NraXA6IFNldDxzdHJpbmc+LCBkZXBlbmRlbmNpZXNUb0J1bmRsZTogU2V0PHN0cmluZz4pOiBQbHVnaW4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICd0ZXN0JyxcbiAgICBzZXR1cChidWlsZCk6IHZvaWQge1xuICAgICAgYnVpbGQub25SZXNvbHZlKHsgZmlsdGVyOiAvXlteLi9dLyB9LCAoYXJncykgPT4ge1xuICAgICAgICBpZiAoIWFyZ3MuaW1wb3J0ZXIuZW5kc1dpdGgoT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EdHNFeHRlbnNpb24pKSB7XG4gICAgICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IHRyaW1TdGFydChlbnN1cmVOb25OdWxsYWJsZShhcmdzLnBhdGguc3BsaXQoJy8nKVswXSwgJ1dyb25nIHBhdGgnKSwgJ25vZGU6Jyk7XG4gICAgICAgICAgaWYgKCFkZXBlbmRlbmNpZXNUb1NraXAuaGFzKGFyZ3MucGF0aCkgJiYgIWRlcGVuZGVuY2llc1RvU2tpcC5oYXMobW9kdWxlTmFtZSkpIHtcbiAgICAgICAgICAgIGRlcGVuZGVuY2llc1RvQnVuZGxlLmFkZChhcmdzLnBhdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBleHRlcm5hbDogdHJ1ZSwgcGF0aDogYXJncy5wYXRoIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBLFNBQVMsZUFBZTtBQUN4QjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUVQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxpQkFBaUI7QUFDMUIsU0FBUyx5QkFBeUI7QUFDbEMsU0FBUyx1QkFBdUI7QUFDaEMsU0FBUyxpQ0FBaUM7QUFDMUM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLHdCQUF3QjtBQUVqQyxNQUFNLGFBQWEsY0FBYyxZQUFZLEdBQUc7QUFXaEQsZUFBc0IsMEJBQTZDO0FBQ2pFLFFBQU0scUJBQXFCLE1BQU0sc0JBQXNCO0FBQ3ZELFFBQU0sdUJBQXVCLG9CQUFJLElBQVk7QUFFN0MsUUFBTSxlQUE2QjtBQUFBLElBQ2pDLFFBQVE7QUFBQSxNQUNOLElBQUk7QUFBQSxJQUNOO0FBQUEsSUFDQSxRQUFRO0FBQUEsSUFDUixhQUFhLENBQUMsS0FBSywwQkFBMEIsS0FBSywwQkFBMEIsU0FBUywwQkFBMEIsS0FBSyxDQUFDO0FBQUEsSUFDckgsUUFBUTtBQUFBLElBQ1IsVUFBVTtBQUFBLElBQ1YsUUFBUTtBQUFBLElBQ1IsVUFBVTtBQUFBLElBQ1YsU0FBUztBQUFBLE1BQ1AsaUJBQWlCO0FBQUEsTUFDakIsa0NBQWtDLG9CQUFvQixvQkFBb0I7QUFBQSxJQUM1RTtBQUFBLElBQ0EsV0FBVztBQUFBLElBQ1gsUUFBUTtBQUFBLElBQ1IsYUFBYTtBQUFBLElBQ2IsT0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGVBQWUsTUFBTSxRQUFRLFlBQVk7QUFDL0MsUUFBTSxjQUFjLGNBQWMsSUFBSTtBQUN0QyxTQUFPLE1BQU0sS0FBSyxvQkFBb0IsRUFBRSxLQUFLO0FBQy9DO0FBT0EsZUFBc0Isd0JBQThDO0FBQ2xFLFFBQU0sY0FBYyxNQUFNLGdCQUFnQixjQUFjLFlBQVksR0FBRyxDQUFDO0FBQ3hFLFFBQU0scUJBQXFCLG9CQUFJLElBQVksQ0FBQyxHQUFHLGdCQUFnQixHQUFHLE9BQU8sS0FBSyxZQUFZLGdCQUFnQixDQUFDLENBQUMsRUFBRSxPQUFPLG1CQUFtQixDQUFDLENBQUM7QUFDMUksU0FBTztBQUNUO0FBUUEsU0FBUyxvQkFBb0IsWUFBNkI7QUFDeEQsTUFBSSxXQUFXLFdBQVcsU0FBUyxHQUFHO0FBQ3BDLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxXQUFXLFdBQVcsVUFBVSxHQUFHO0FBQ3JDLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxlQUFlLFdBQVc7QUFDNUIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJO0FBQ0YsVUFBTSxTQUFTLFdBQVcsVUFBVTtBQUNwQyxXQUFPLENBQUMsT0FBTztBQUFBLEVBQ2pCLFFBQVE7QUFDTixXQUFPO0FBQUEsRUFDVDtBQUNGO0FBU0EsU0FBUyxrQ0FBa0Msb0JBQWlDLHNCQUEyQztBQUNySCxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxVQUFVLEVBQUUsUUFBUSxTQUFTLEdBQUcsQ0FBQyxTQUFTO0FBQzlDLFlBQUksQ0FBQyxLQUFLLFNBQVMsU0FBUywwQkFBMEIsWUFBWSxHQUFHO0FBQ25FLGdCQUFNLGFBQWEsVUFBVSxrQkFBa0IsS0FBSyxLQUFLLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxZQUFZLEdBQUcsT0FBTztBQUM5RixjQUFJLENBQUMsbUJBQW1CLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxVQUFVLEdBQUc7QUFDN0UsaUNBQXFCLElBQUksS0FBSyxJQUFJO0FBQUEsVUFDcEM7QUFBQSxRQUNGO0FBQ0EsZUFBTyxFQUFFLFVBQVUsTUFBTSxNQUFNLEtBQUssS0FBSztBQUFBLE1BQzNDLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -68,4 +68,4 @@ function fixSourceMap(sourceMapBase64, pluginName) {
68
68
  export {
69
69
  fixSourceMapsPlugin
70
70
  };
71
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvZml4LXNvdXJjZS1tYXBzLXBsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCBmaXhlcyBzb3VyY2UgbWFwcyBnZW5lcmF0ZWQgZHVyaW5nIGRldmVsb3BtZW50LlxuICogSXQgYWRqdXN0cyB0aGUgcGF0aHMgaW4gdGhlIHNvdXJjZSBtYXBzIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBPYnNpZGlhbidzIGludGVybmFsIFVSTCBzY2hlbWUuXG4gKiBBIHBsdWdpbiBpcyBvbmx5IGFjdGl2ZSBkdXJpbmcgZGV2ZWxvcG1lbnQgYnVpbGRzLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBlc2J1aWxkIHBsdWdpbiB0aGF0IHJld3JpdGVzIHNvdXJjZSBtYXBzIGZvciBPYnNpZGlhbiBVUkwgc2NoZW1lOyByZXF1aXJlcyBhIGxpdmUgZXNidWlsZCBjb250ZXh0LiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICByZWFkRmlsZSxcbiAgd3JpdGVGaWxlXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuXG5pbXBvcnQgeyB0b1Bvc2l4UGF0aCB9IGZyb20gJy4uLy4uLy4uL3BhdGgudHMnO1xuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJy4uLy4uLy4uL3N0cmluZy50cyc7XG5cbmludGVyZmFjZSBTb3VyY2VNYXAge1xuICBzb3VyY2VzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgZml4ZXMgc291cmNlIG1hcHMgYnkgYWRqdXN0aW5nIHRoZSBwYXRocyB0byBiZSBjb21wYXRpYmxlXG4gKiB3aXRoIE9ic2lkaWFuJ3MgaW50ZXJuYWwgVVJMIHNjaGVtZS5cbiAqXG4gKiBAcGFyYW0gaXNQcm9kdWN0aW9uQnVpbGQgLSBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBidWlsZCBpcyBhIHByb2R1Y3Rpb24gYnVpbGQuIFRoZSBwbHVnaW4gb25seSBydW5zIGluIG5vbi1wcm9kdWN0aW9uIGJ1aWxkcy5cbiAqIEBwYXJhbSBkaXN0UGF0aHMgLSBUaGUgcGF0aHMgdG8gdGhlIG91dHB1dCBmaWxlcyBjb250YWluaW5nIHRoZSBzb3VyY2UgbWFwcy5cbiAqIEBwYXJhbSBwbHVnaW5OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE9ic2lkaWFuIHBsdWdpbiwgdXNlZCB0byBjb25zdHJ1Y3QgdGhlIE9ic2lkaWFuLXNwZWNpZmljIFVSTHMuXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGZpeGVzIHNvdXJjZSBtYXBzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZml4U291cmNlTWFwc1BsdWdpbihpc1Byb2R1Y3Rpb25CdWlsZDogYm9vbGVhbiwgZGlzdFBhdGhzOiBzdHJpbmdbXSwgcGx1Z2luTmFtZTogc3RyaW5nKTogUGx1Z2luIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnZml4LXNvdXJjZS1tYXBzJyxcbiAgICBzZXR1cChidWlsZCk6IHZvaWQge1xuICAgICAgYnVpbGQub25FbmQoYXN5bmMgKCkgPT4ge1xuICAgICAgICBpZiAoaXNQcm9kdWN0aW9uQnVpbGQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGRpc3RQYXRoIG9mIGRpc3RQYXRocykge1xuICAgICAgICAgIGlmICghZXhpc3RzU3luYyhkaXN0UGF0aCkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZShkaXN0UGF0aCwgJ3V0Zi04Jyk7XG4gICAgICAgICAgY29uc3QgbmV3Q29udGVudCA9IHJlcGxhY2VBbGwoXG4gICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgLyg/PFByZWZpeD5cXG4oPzpcXC9cXC98XFwvXFwqKSMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uXFwvanNvbjtiYXNlNjQsKSg/PFNvdXJjZU1hcEJhc2U2ND4uKz8pKD88U3VmZml4PiR8XFxufCBcXCpcXC8pKD86LnxcXG4pKi9nLFxuICAgICAgICAgICAgKHsgY2FwdHVyZWRHcm91cEFyZ3M6IFtwcmVmaXggPSAnJywgc291cmNlTWFwQmFzZTY0ID0gJycsIHN1ZmZpeCA9ICcnXSB9KSA9PlxuICAgICAgICAgICAgICBgJHtwcmVmaXggKyBmaXhTb3VyY2VNYXAoc291cmNlTWFwQmFzZTY0LCBwbHVnaW5OYW1lKSArIHN1ZmZpeC50cmltKCl9XFxuLyogbm9zb3VyY2VtYXAgKi9gXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChjb250ZW50ICE9PSBuZXdDb250ZW50KSB7XG4gICAgICAgICAgICBhd2FpdCB3cml0ZUZpbGUoZGlzdFBhdGgsIG5ld0NvbnRlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgZ2l2ZW4gZmlsZSBwYXRoIHRvIGFuIE9ic2lkaWFuLXNwZWNpZmljIFVSTC5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBvcmlnaW5hbCBmaWxlIHBhdGguXG4gKiBAcGFyYW0gcGx1Z2luTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBPYnNpZGlhbiBwbHVnaW4uXG4gKiBAcmV0dXJucyBUaGUgY29udmVydGVkIHBhdGggYXMgYW4gT2JzaWRpYW4tc3BlY2lmaWMgVVJMLlxuICovXG5mdW5jdGlvbiBjb252ZXJ0UGF0aFRvT2JzaWRpYW5VcmwocGF0aDogc3RyaW5nLCBwbHVnaW5OYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBjb252ZXJ0ZWRQYXRoID0gcmVwbGFjZUFsbCh0b1Bvc2l4UGF0aChwYXRoKSwgL14oPzpcXC5cXC5cXC8pKy9nLCAnJyk7XG4gIHJldHVybiBgYXBwOi8vb2JzaWRpYW4ubWQvcGx1Z2luOiR7cGx1Z2luTmFtZX0vJHtjb252ZXJ0ZWRQYXRofWA7XG59XG5cbi8qKlxuICogQWRqdXN0cyB0aGUgcGF0aHMgaW4gdGhlIGJhc2U2NC1lbmNvZGVkIHNvdXJjZSBtYXAgdG8gYmUgY29tcGF0aWJsZSB3aXRoIE9ic2lkaWFuJ3MgVVJMIHNjaGVtZS5cbiAqXG4gKiBAcGFyYW0gc291cmNlTWFwQmFzZTY0IC0gVGhlIGJhc2U2NC1lbmNvZGVkIHNvdXJjZSBtYXAgY29udGVudC5cbiAqIEBwYXJhbSBwbHVnaW5OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE9ic2lkaWFuIHBsdWdpbiwgdXNlZCB0byBjb25zdHJ1Y3QgdGhlIE9ic2lkaWFuLXNwZWNpZmljIFVSTHMuXG4gKiBAcmV0dXJucyBBIGJhc2U2NC1lbmNvZGVkIHN0cmluZyB3aXRoIHRoZSBhZGp1c3RlZCBzb3VyY2UgbWFwLlxuICovXG5mdW5jdGlvbiBmaXhTb3VyY2VNYXAoc291cmNlTWFwQmFzZTY0OiBzdHJpbmcsIHBsdWdpbk5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHNvdXJjZU1hcEpzb24gPSBCdWZmZXIuZnJvbShzb3VyY2VNYXBCYXNlNjQsICdiYXNlNjQnKS50b1N0cmluZygndXRmLTgnKTtcbiAgY29uc3Qgc291cmNlTWFwID0gSlNPTi5wYXJzZShzb3VyY2VNYXBKc29uKSBhcyBQYXJ0aWFsPFNvdXJjZU1hcD47XG4gIHNvdXJjZU1hcC5zb3VyY2VzID0gKHNvdXJjZU1hcC5zb3VyY2VzID8/IFtdKS5tYXAoKHBhdGgpID0+IGNvbnZlcnRQYXRoVG9PYnNpZGlhblVybChwYXRoLCBwbHVnaW5OYW1lKSk7XG4gIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKS50b1N0cmluZygnYmFzZTY0Jyk7XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlBLFNBQVMsa0JBQWtCO0FBQzNCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBRVAsU0FBUyxtQkFBbUI7QUFDNUIsU0FBUyxrQkFBa0I7QUFlcEIsU0FBUyxvQkFBb0IsbUJBQTRCLFdBQXFCLFlBQTRCO0FBQy9HLFNBQU87QUFBQSxJQUNMLE1BQU07QUFBQSxJQUNOLE1BQU0sT0FBYTtBQUNqQixZQUFNLE1BQU0sWUFBWTtBQUN0QixZQUFJLG1CQUFtQjtBQUNyQjtBQUFBLFFBQ0Y7QUFFQSxtQkFBVyxZQUFZLFdBQVc7QUFDaEMsY0FBSSxDQUFDLFdBQVcsUUFBUSxHQUFHO0FBQ3pCO0FBQUEsVUFDRjtBQUVBLGdCQUFNLFVBQVUsTUFBTSxTQUFTLFVBQVUsT0FBTztBQUNoRCxnQkFBTSxhQUFhO0FBQUEsWUFDakI7QUFBQSxZQUNBO0FBQUEsWUFDQSxDQUFDLEVBQUUsbUJBQW1CLENBQUMsU0FBUyxJQUFJLGtCQUFrQixJQUFJLFNBQVMsRUFBRSxFQUFFLE1BQ3JFLEdBQUcsU0FBUyxhQUFhLGlCQUFpQixVQUFVLElBQUksT0FBTyxLQUFLLENBQUM7QUFBQTtBQUFBLFVBQ3pFO0FBRUEsY0FBSSxZQUFZLFlBQVk7QUFDMUIsa0JBQU0sVUFBVSxVQUFVLFVBQVU7QUFBQSxVQUN0QztBQUFBLFFBQ0Y7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGO0FBU0EsU0FBUyx5QkFBeUIsTUFBYyxZQUE0QjtBQUMxRSxRQUFNLGdCQUFnQixXQUFXLFlBQVksSUFBSSxHQUFHLGlCQUFpQixFQUFFO0FBQ3ZFLFNBQU8sNEJBQTRCLFVBQVUsSUFBSSxhQUFhO0FBQ2hFO0FBU0EsU0FBUyxhQUFhLGlCQUF5QixZQUE0QjtBQUN6RSxRQUFNLGdCQUFnQixPQUFPLEtBQUssaUJBQWlCLFFBQVEsRUFBRSxTQUFTLE9BQU87QUFDN0UsUUFBTSxZQUFZLEtBQUssTUFBTSxhQUFhO0FBQzFDLFlBQVUsV0FBVyxVQUFVLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLHlCQUF5QixNQUFNLFVBQVUsQ0FBQztBQUN0RyxTQUFPLE9BQU8sS0FBSyxLQUFLLFVBQVUsU0FBUyxDQUFDLEVBQUUsU0FBUyxRQUFRO0FBQ2pFOyIsCiAgIm5hbWVzIjogW10KfQo=
71
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvZml4LXNvdXJjZS1tYXBzLXBsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCBmaXhlcyBzb3VyY2UgbWFwcyBnZW5lcmF0ZWQgZHVyaW5nIGRldmVsb3BtZW50LlxuICogSXQgYWRqdXN0cyB0aGUgcGF0aHMgaW4gdGhlIHNvdXJjZSBtYXBzIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBPYnNpZGlhbidzIGludGVybmFsIFVSTCBzY2hlbWUuXG4gKiBBIHBsdWdpbiBpcyBvbmx5IGFjdGl2ZSBkdXJpbmcgZGV2ZWxvcG1lbnQgYnVpbGRzLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBlc2J1aWxkIHBsdWdpbiB0aGF0IHJld3JpdGVzIHNvdXJjZSBtYXBzIGZvciBPYnNpZGlhbiBVUkwgc2NoZW1lOyByZXF1aXJlcyBhIGxpdmUgZXNidWlsZCBjb250ZXh0LiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICByZWFkRmlsZSxcbiAgd3JpdGVGaWxlXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuXG5pbXBvcnQgeyB0b1Bvc2l4UGF0aCB9IGZyb20gJy4uLy4uLy4uL3BhdGgudHMnO1xuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJy4uLy4uLy4uL3N0cmluZy50cyc7XG5cbmludGVyZmFjZSBTb3VyY2VNYXAge1xuICBzb3VyY2VzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgZml4ZXMgc291cmNlIG1hcHMgYnkgYWRqdXN0aW5nIHRoZSBwYXRocyB0byBiZSBjb21wYXRpYmxlXG4gKiB3aXRoIE9ic2lkaWFuJ3MgaW50ZXJuYWwgVVJMIHNjaGVtZS5cbiAqXG4gKiBAcGFyYW0gaXNQcm9kdWN0aW9uQnVpbGQgLSBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBidWlsZCBpcyBhIHByb2R1Y3Rpb24gYnVpbGQuIFRoZSBwbHVnaW4gb25seSBydW5zIGluIG5vbi1wcm9kdWN0aW9uIGJ1aWxkcy5cbiAqIEBwYXJhbSBkaXN0UGF0aHMgLSBUaGUgcGF0aHMgdG8gdGhlIG91dHB1dCBmaWxlcyBjb250YWluaW5nIHRoZSBzb3VyY2UgbWFwcy5cbiAqIEBwYXJhbSBwbHVnaW5OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE9ic2lkaWFuIHBsdWdpbiwgdXNlZCB0byBjb25zdHJ1Y3QgdGhlIE9ic2lkaWFuLXNwZWNpZmljIFVSTHMuXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGZpeGVzIHNvdXJjZSBtYXBzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZml4U291cmNlTWFwc1BsdWdpbihpc1Byb2R1Y3Rpb25CdWlsZDogYm9vbGVhbiwgZGlzdFBhdGhzOiBzdHJpbmdbXSwgcGx1Z2luTmFtZTogc3RyaW5nKTogUGx1Z2luIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnZml4LXNvdXJjZS1tYXBzJyxcbiAgICBzZXR1cChidWlsZCk6IHZvaWQge1xuICAgICAgYnVpbGQub25FbmQoYXN5bmMgKCkgPT4ge1xuICAgICAgICBpZiAoaXNQcm9kdWN0aW9uQnVpbGQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGRpc3RQYXRoIG9mIGRpc3RQYXRocykge1xuICAgICAgICAgIGlmICghZXhpc3RzU3luYyhkaXN0UGF0aCkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZShkaXN0UGF0aCwgJ3V0Zi04Jyk7XG4gICAgICAgICAgY29uc3QgbmV3Q29udGVudCA9IHJlcGxhY2VBbGwoXG4gICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgLyg/PFByZWZpeD5cXG4oPzpcXC9cXC98XFwvXFwqKSMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uXFwvanNvbjtiYXNlNjQsKSg/PFNvdXJjZU1hcEJhc2U2ND4uKz8pKD88U3VmZml4PiR8XFxufCBcXCpcXC8pKD86LnxcXG4pKi9nLFxuICAgICAgICAgICAgKHsgY2FwdHVyZWRHcm91cEFyZ3M6IFtwcmVmaXggPSAnJywgc291cmNlTWFwQmFzZTY0ID0gJycsIHN1ZmZpeCA9ICcnXSB9KSA9PiBgJHtwcmVmaXggKyBmaXhTb3VyY2VNYXAoc291cmNlTWFwQmFzZTY0LCBwbHVnaW5OYW1lKSArIHN1ZmZpeC50cmltKCl9XFxuLyogbm9zb3VyY2VtYXAgKi9gXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChjb250ZW50ICE9PSBuZXdDb250ZW50KSB7XG4gICAgICAgICAgICBhd2FpdCB3cml0ZUZpbGUoZGlzdFBhdGgsIG5ld0NvbnRlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgZ2l2ZW4gZmlsZSBwYXRoIHRvIGFuIE9ic2lkaWFuLXNwZWNpZmljIFVSTC5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBvcmlnaW5hbCBmaWxlIHBhdGguXG4gKiBAcGFyYW0gcGx1Z2luTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBPYnNpZGlhbiBwbHVnaW4uXG4gKiBAcmV0dXJucyBUaGUgY29udmVydGVkIHBhdGggYXMgYW4gT2JzaWRpYW4tc3BlY2lmaWMgVVJMLlxuICovXG5mdW5jdGlvbiBjb252ZXJ0UGF0aFRvT2JzaWRpYW5VcmwocGF0aDogc3RyaW5nLCBwbHVnaW5OYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBjb252ZXJ0ZWRQYXRoID0gcmVwbGFjZUFsbCh0b1Bvc2l4UGF0aChwYXRoKSwgL14oPzpcXC5cXC5cXC8pKy9nLCAnJyk7XG4gIHJldHVybiBgYXBwOi8vb2JzaWRpYW4ubWQvcGx1Z2luOiR7cGx1Z2luTmFtZX0vJHtjb252ZXJ0ZWRQYXRofWA7XG59XG5cbi8qKlxuICogQWRqdXN0cyB0aGUgcGF0aHMgaW4gdGhlIGJhc2U2NC1lbmNvZGVkIHNvdXJjZSBtYXAgdG8gYmUgY29tcGF0aWJsZSB3aXRoIE9ic2lkaWFuJ3MgVVJMIHNjaGVtZS5cbiAqXG4gKiBAcGFyYW0gc291cmNlTWFwQmFzZTY0IC0gVGhlIGJhc2U2NC1lbmNvZGVkIHNvdXJjZSBtYXAgY29udGVudC5cbiAqIEBwYXJhbSBwbHVnaW5OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE9ic2lkaWFuIHBsdWdpbiwgdXNlZCB0byBjb25zdHJ1Y3QgdGhlIE9ic2lkaWFuLXNwZWNpZmljIFVSTHMuXG4gKiBAcmV0dXJucyBBIGJhc2U2NC1lbmNvZGVkIHN0cmluZyB3aXRoIHRoZSBhZGp1c3RlZCBzb3VyY2UgbWFwLlxuICovXG5mdW5jdGlvbiBmaXhTb3VyY2VNYXAoc291cmNlTWFwQmFzZTY0OiBzdHJpbmcsIHBsdWdpbk5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHNvdXJjZU1hcEpzb24gPSBCdWZmZXIuZnJvbShzb3VyY2VNYXBCYXNlNjQsICdiYXNlNjQnKS50b1N0cmluZygndXRmLTgnKTtcbiAgY29uc3Qgc291cmNlTWFwID0gSlNPTi5wYXJzZShzb3VyY2VNYXBKc29uKSBhcyBQYXJ0aWFsPFNvdXJjZU1hcD47XG4gIHNvdXJjZU1hcC5zb3VyY2VzID0gKHNvdXJjZU1hcC5zb3VyY2VzID8/IFtdKS5tYXAoKHBhdGgpID0+IGNvbnZlcnRQYXRoVG9PYnNpZGlhblVybChwYXRoLCBwbHVnaW5OYW1lKSk7XG4gIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKS50b1N0cmluZygnYmFzZTY0Jyk7XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlBLFNBQVMsa0JBQWtCO0FBQzNCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBRVAsU0FBUyxtQkFBbUI7QUFDNUIsU0FBUyxrQkFBa0I7QUFlcEIsU0FBUyxvQkFBb0IsbUJBQTRCLFdBQXFCLFlBQTRCO0FBQy9HLFNBQU87QUFBQSxJQUNMLE1BQU07QUFBQSxJQUNOLE1BQU0sT0FBYTtBQUNqQixZQUFNLE1BQU0sWUFBWTtBQUN0QixZQUFJLG1CQUFtQjtBQUNyQjtBQUFBLFFBQ0Y7QUFFQSxtQkFBVyxZQUFZLFdBQVc7QUFDaEMsY0FBSSxDQUFDLFdBQVcsUUFBUSxHQUFHO0FBQ3pCO0FBQUEsVUFDRjtBQUVBLGdCQUFNLFVBQVUsTUFBTSxTQUFTLFVBQVUsT0FBTztBQUNoRCxnQkFBTSxhQUFhO0FBQUEsWUFDakI7QUFBQSxZQUNBO0FBQUEsWUFDQSxDQUFDLEVBQUUsbUJBQW1CLENBQUMsU0FBUyxJQUFJLGtCQUFrQixJQUFJLFNBQVMsRUFBRSxFQUFFLE1BQU0sR0FBRyxTQUFTLGFBQWEsaUJBQWlCLFVBQVUsSUFBSSxPQUFPLEtBQUssQ0FBQztBQUFBO0FBQUEsVUFDcEo7QUFFQSxjQUFJLFlBQVksWUFBWTtBQUMxQixrQkFBTSxVQUFVLFVBQVUsVUFBVTtBQUFBLFVBQ3RDO0FBQUEsUUFDRjtBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQ0Y7QUFTQSxTQUFTLHlCQUF5QixNQUFjLFlBQTRCO0FBQzFFLFFBQU0sZ0JBQWdCLFdBQVcsWUFBWSxJQUFJLEdBQUcsaUJBQWlCLEVBQUU7QUFDdkUsU0FBTyw0QkFBNEIsVUFBVSxJQUFJLGFBQWE7QUFDaEU7QUFTQSxTQUFTLGFBQWEsaUJBQXlCLFlBQTRCO0FBQ3pFLFFBQU0sZ0JBQWdCLE9BQU8sS0FBSyxpQkFBaUIsUUFBUSxFQUFFLFNBQVMsT0FBTztBQUM3RSxRQUFNLFlBQVksS0FBSyxNQUFNLGFBQWE7QUFDMUMsWUFBVSxXQUFXLFVBQVUsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMseUJBQXlCLE1BQU0sVUFBVSxDQUFDO0FBQ3RHLFNBQU8sT0FBTyxLQUFLLEtBQUssVUFBVSxTQUFTLENBQUMsRUFBRSxTQUFTLFFBQVE7QUFDakU7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -146,7 +146,7 @@ async function buildObsidianPlugin(params) {
146
146
  copyToObsidianPluginsFolderPlugin(isProductionBuild, distFolder, obsidianConfigFolder, pluginName)
147
147
  ],
148
148
  sourcemap: isProductionBuild ? false : "inline",
149
- target: "esnext",
149
+ target: "ES2022",
150
150
  treeShaking: true
151
151
  };
152
152
  const buildContext = await context(buildOptions);
@@ -172,4 +172,4 @@ export {
172
172
  dev,
173
173
  invokeEsbuild
174
174
  };
175
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvb2JzaWRpYW4tcGx1Z2luLWJ1aWxkZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IHRvIGJ1aWxkIGFuZCBidW5kbGUgYW4gT2JzaWRpYW4gcGx1Z2luIHVzaW5nIGVzYnVpbGQuXG4gKiBJdCBpbmNsdWRlcyBmdW5jdGlvbnMgdG8gaGFuZGxlIHRoZSBidWlsZCBwcm9jZXNzIGJhc2VkIG9uIGRpZmZlcmVudCBidWlsZCBtb2RlcyAoZGV2ZWxvcG1lbnQgb3IgcHJvZHVjdGlvbiksXG4gKiBhbmQgaXQgc2V0cyB1cCB2YXJpb3VzIGVzYnVpbGQgcGx1Z2lucyB0byBwcmVwcm9jZXNzLCBsaW50LCBmaXggc291cmNlIG1hcHMsIGFuZCBjb3B5IGZpbGVzIHRvIHRoZSBPYnNpZGlhbiBwbHVnaW5zIGZvbGRlci5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gZXNidWlsZC1iYXNlZCBidWlsZCBwaXBlbGluZSB3aXRoIHNhc3Mvc3ZlbHRlIHBsdWdpbnMgYW5kIGZpbGUgd2F0Y2hlcnM7IHJlcXVpcmVzIGEgbGl2ZSBlc2J1aWxkIGNvbnRleHQuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQnVpbGRDb250ZXh0LFxuICBCdWlsZE9wdGlvbnMsXG4gIFBsdWdpblxufSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHsgY29udGV4dCB9IGZyb20gJ2VzYnVpbGQnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLXJlbmFtZS1kZWZhdWx0IC0tIFdlIG5lZWQgYSB0ZW1wIHZhcmlhYmxlIHRvIGFwcGx5IGBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3AoKWAgZml4IGJlbG93LlxuaW1wb3J0IHNhc3NQbHVnaW5fIGZyb20gJ2VzYnVpbGQtc2Fzcy1wbHVnaW4nO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHtcbiAgY3AsXG4gIG1rZGlyLFxuICBybSxcbiAgd3JpdGVGaWxlXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHsgYnVpbHRpbk1vZHVsZXMgfSBmcm9tICdub2RlOm1vZHVsZSc7XG5pbXBvcnQgcHJvY2VzcywgeyBsb2FkRW52RmlsZSB9IGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbmltcG9ydCB7IGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcCB9IGZyb20gJy4uLy4uLy4uL29iamVjdC11dGlscy50cyc7XG5pbXBvcnQgeyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB9IGZyb20gJy4uLy4uLy4uL29ic2lkaWFuL3BsdWdpbi9vYnNpZGlhbi1wbHVnaW4tcmVwby1wYXRocy50cyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnLi4vLi4vLi4vcGF0aC50cyc7XG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJy4uLy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IENsaVRhc2tSZXN1bHQgfSBmcm9tICcuLi8uLi9jbGktdXRpbHMudHMnO1xuaW1wb3J0IHsgbnBtUnVuIH0gZnJvbSAnLi4vLi4vbnBtLXJ1bi50cyc7XG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICcuLi8uLi9ucG0udHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVBhdGhGcm9tUm9vdCB9IGZyb20gJy4uLy4uL3Jvb3QudHMnO1xuaW1wb3J0IHsgY29weVRvT2JzaWRpYW5QbHVnaW5zRm9sZGVyUGx1Z2luIH0gZnJvbSAnLi9jb3B5LXRvLW9ic2lkaWFuLXBsdWdpbnMtZm9sZGVyLXBsdWdpbi50cyc7XG5pbXBvcnQgeyBjdXN0b21Fc2J1aWxkT3B0aW9uc1BsdWdpbiB9IGZyb20gJy4vY3VzdG9tLWVzYnVpbGQtb3B0aW9ucy1wbHVnaW4udHMnO1xuaW1wb3J0IHsgZml4RXNtUGx1Z2luIH0gZnJvbSAnLi9maXgtZXNtLXBsdWdpbi50cyc7XG5pbXBvcnQgeyBmaXhTb3VyY2VNYXBzUGx1Z2luIH0gZnJvbSAnLi9maXgtc291cmNlLW1hcHMtcGx1Z2luLnRzJztcbmltcG9ydCB7IHByZXByb2Nlc3NQbHVnaW4gfSBmcm9tICcuL3ByZXByb2Nlc3MtcGx1Z2luLnRzJztcbmltcG9ydCB7IHJlbmFtZUNzc1BsdWdpbiB9IGZyb20gJy4vcmVuYW1lLWNzcy1wbHVnaW4udHMnO1xuaW1wb3J0IHsgc3ZlbHRlV3JhcHBlclBsdWdpbiB9IGZyb20gJy4vc3ZlbHRlLXdyYXBwZXItcGx1Z2luLnRzJztcblxuY29uc3Qgc2Fzc1BsdWdpbiA9IGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcChzYXNzUGx1Z2luXyk7XG5cbi8qKlxuICogRW51bWVyYXRpb24gcmVwcmVzZW50aW5nIHRoZSBidWlsZCBtb2Rlcy5cbiAqL1xuZXhwb3J0IGVudW0gQnVpbGRNb2RlIHtcbiAgLyoqIERldmVsb3BtZW50IG1vZGUgZm9yIGJ1aWxkaW5nIHRoZSBwbHVnaW4gKi9cbiAgRGV2ZWxvcG1lbnQsXG4gIC8qKiBQcm9kdWN0aW9uIG1vZGUgZm9yIGJ1aWxkaW5nIHRoZSBwbHVnaW4gKi9cbiAgUHJvZHVjdGlvblxufVxuXG4vKipcbiAqIEJhbm5lciB0ZXh0IHRvIGJlIGluY2x1ZGVkIGF0IHRoZSB0b3Agb2YgdGhlIGdlbmVyYXRlZCBmaWxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGJhbm5lciA9IGAvKlxuVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgRVNCVUlMRFxuaWYgeW91IHdhbnQgdG8gdmlldyB0aGUgc291cmNlLCBwbGVhc2UgdmlzaXQgdGhlIGdpdGh1YiByZXBvc2l0b3J5IG9mIHRoaXMgcGx1Z2luXG4qL1xuYDtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgYnVpbGRPYnNpZGlhblBsdWdpbn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRPYnNpZGlhblBsdWdpblBhcmFtcyB7XG4gIC8qKlxuICAgKiBDdXN0b20gZXNidWlsZCBwbHVnaW5zIHRvIGJlIHVzZWQgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tRXNidWlsZFBsdWdpbnM/OiBQbHVnaW5bXTtcblxuICAvKipcbiAgICogQ3VzdG9taXplcyB0aGUgYGVzYnVpbGRgIG9wdGlvbnMuXG4gICAqL1xuICBjdXN0b21pemVFc2J1aWxkT3B0aW9ucz8ob3B0aW9uczogQnVpbGRPcHRpb25zKTogdm9pZDtcblxuICAvKipcbiAgICogQSBidWlsZCBtb2RlLCBlaXRoZXIgYERldmVsb3BtZW50YCBvciBgUHJvZHVjdGlvbmBcbiAgICovXG4gIHJlYWRvbmx5IG1vZGU6IEJ1aWxkTW9kZTtcblxuICAvKipcbiAgICogQSBmb2xkZXIgZm9yIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24uIERlZmF1bHRzIHRvIHRoZSBgT0JTSURJQU5fQ09ORklHX0ZPTERFUmAgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICByZWFkb25seSBvYnNpZGlhbkNvbmZpZ0ZvbGRlcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBCdWlsZCBwYXJhbWV0ZXJzIHdpdGhvdXQgdGhlIG1vZGUgZmllbGQsIGZvciB1c2Ugd2l0aCB7QGxpbmsgYnVpbGR9IGFuZCB7QGxpbmsgZGV2fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWlsZFBhcmFtcyB7XG4gIC8qKlxuICAgKiBDdXN0b20gZXNidWlsZCBwbHVnaW5zIHRvIGJlIHVzZWQgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tRXNidWlsZFBsdWdpbnM/OiBQbHVnaW5bXTtcblxuICAvKipcbiAgICogQ3VzdG9taXplcyB0aGUgYGVzYnVpbGRgIG9wdGlvbnMuXG4gICAqL1xuICBjdXN0b21pemVFc2J1aWxkT3B0aW9ucz8ob3B0aW9uczogQnVpbGRPcHRpb25zKTogdm9pZDtcblxuICAvKipcbiAgICogQSBmb2xkZXIgZm9yIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24uIERlZmF1bHRzIHRvIHRoZSBgT0JTSURJQU5fQ09ORklHX0ZPTERFUmAgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICByZWFkb25seSBvYnNpZGlhbkNvbmZpZ0ZvbGRlcj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE9ic2lkaWFuUGx1Z2luQnVpbGRlckVudiB7XG4gIE9CU0lESUFOX0NPTkZJR19GT0xERVI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIE9ic2lkaWFuIHBsdWdpbiBpbiBwcm9kdWN0aW9uIG1vZGUgdXNpbmcgZXNidWlsZC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gT3B0aW9uYWwgYnVpbGQgcGFyYW1ldGVycyAobW9kZSBpcyBzZXQgdG8gUHJvZHVjdGlvbiBhdXRvbWF0aWNhbGx5KS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgYnVpbGQgaXMgY29tcGxldGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidWlsZChwYXJhbXM/OiBCdWlsZFBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBidWlsZE9ic2lkaWFuUGx1Z2luKHsgLi4ucGFyYW1zLCBtb2RlOiBCdWlsZE1vZGUuUHJvZHVjdGlvbiB9KTtcbiAgcmVzdWx0LnRocm93T25GYWlsdXJlKCk7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBPYnNpZGlhbiBwbHVnaW4gYmFzZWQgb24gdGhlIHNwZWNpZmllZCBtb2RlIGFuZCBjb25maWd1cmF0aW9uIGZvbGRlci5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIGJ1aWxkaW5nIHRoZSBwbHVnaW4uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9IGluZGljYXRpbmcgdGhlIHN1Y2Nlc3Mgb3IgZmFpbHVyZSBvZiB0aGUgYnVpbGQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidWlsZE9ic2lkaWFuUGx1Z2luKHBhcmFtczogQnVpbGRPYnNpZGlhblBsdWdpblBhcmFtcyk6IFByb21pc2U8Q2xpVGFza1Jlc3VsdD4ge1xuICBhd2FpdCBucG1SdW4oJ2J1aWxkOmNvbXBpbGUnKTtcbiAgY29uc3QgZW52UGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3QoJy5lbnYnKTtcbiAgaWYgKGVudlBhdGggJiYgZXhpc3RzU3luYyhlbnZQYXRoKSkge1xuICAgIGxvYWRFbnZGaWxlKGVudlBhdGgpO1xuICB9XG4gIGNvbnN0IG9ic2lkaWFuUGx1Z2luQnVpbGRlckVudiA9IHByb2Nlc3MuZW52IGFzIFBhcnRpYWw8T2JzaWRpYW5QbHVnaW5CdWlsZGVyRW52PjtcblxuICBjb25zdCBvYnNpZGlhbkNvbmZpZ0ZvbGRlciA9IHBhcmFtcy5vYnNpZGlhbkNvbmZpZ0ZvbGRlciA/PyBvYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYuT0JTSURJQU5fQ09ORklHX0ZPTERFUiA/PyAnJztcbiAgY29uc3QgaXNQcm9kdWN0aW9uQnVpbGQgPSBwYXJhbXMubW9kZSA9PT0gQnVpbGRNb2RlLlByb2R1Y3Rpb247XG5cbiAgY29uc3QgZGlzdEZvbGRlciA9IGVuc3VyZU5vbk51bGxhYmxlKFxuICAgIHJlc29sdmVQYXRoRnJvbVJvb3QoaXNQcm9kdWN0aW9uQnVpbGQgPyBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EaXN0QnVpbGQgOiBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EaXN0RGV2KSxcbiAgICAnQ291bGQgbm90IGRldGVybWluZSB0aGUgZGlzdCBmb2xkZXInXG4gICk7XG5cbiAgaWYgKGV4aXN0c1N5bmMoZGlzdEZvbGRlcikpIHtcbiAgICBhd2FpdCBybShkaXN0Rm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgfVxuICBhd2FpdCBta2RpcihkaXN0Rm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICBjb25zdCBkaXN0RmlsZU5hbWVzID0gW1xuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvblxuICBdO1xuICBpZiAoIWlzUHJvZHVjdGlvbkJ1aWxkKSB7XG4gICAgYXdhaXQgd3JpdGVGaWxlKGpvaW4oZGlzdEZvbGRlciwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuSG90UmVsb2FkKSwgJycsICd1dGYtOCcpO1xuICB9XG5cbiAgZm9yIChjb25zdCBmaWxlTmFtZSBvZiBkaXN0RmlsZU5hbWVzKSB7XG4gICAgY29uc3QgbG9jYWxGaWxlID0gZW5zdXJlTm9uTnVsbGFibGUocmVzb2x2ZVBhdGhGcm9tUm9vdChmaWxlTmFtZSksIGBDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBsb2NhbCBmaWxlIGZvciAke2ZpbGVOYW1lfWApO1xuICAgIGNvbnN0IGRpc3RGaWxlID0gam9pbihkaXN0Rm9sZGVyLCBmaWxlTmFtZSk7XG5cbiAgICBpZiAoZXhpc3RzU3luYyhsb2NhbEZpbGUpKSB7XG4gICAgICBhd2FpdCBjcChsb2NhbEZpbGUsIGRpc3RGaWxlKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBkaXN0UGF0aCA9IGpvaW4oZGlzdEZvbGRlciwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFpbkpzKTtcbiAgY29uc3QgY3NzUGF0aCA9IGpvaW4oZGlzdEZvbGRlciwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3R5bGVzQ3NzKTtcblxuICBjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHJlYWRQYWNrYWdlSnNvbigpO1xuICBjb25zdCBwbHVnaW5OYW1lID0gcGFja2FnZUpzb24ubmFtZSA/PyAnKHVua25vd24pJztcblxuICBjb25zdCBidWlsZE9wdGlvbnM6IEJ1aWxkT3B0aW9ucyA9IHtcbiAgICBiYW5uZXI6IHtcbiAgICAgIGpzOiBiYW5uZXJcbiAgICB9LFxuICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICBjb25kaXRpb25zOiBbJ2Jyb3dzZXInXSxcbiAgICBlbnRyeVBvaW50czogW1xuICAgICAgZW5zdXJlTm9uTnVsbGFibGUoXG4gICAgICAgIHJlc29sdmVQYXRoRnJvbVJvb3Qoam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1haW5UcykpLFxuICAgICAgICAnQ291bGQgbm90IGRldGVybWluZSB0aGUgZW50cnkgcG9pbnQgZm9yIHRoZSBwbHVnaW4nXG4gICAgICApXG4gICAgXSxcbiAgICBleHRlcm5hbDogW1xuICAgICAgJ29ic2lkaWFuJyxcbiAgICAgICdlbGVjdHJvbicsXG4gICAgICAnQGNvZGVtaXJyb3IvYXV0b2NvbXBsZXRlJyxcbiAgICAgICdAY29kZW1pcnJvci9jb2xsYWInLFxuICAgICAgJ0Bjb2RlbWlycm9yL2NvbW1hbmRzJyxcbiAgICAgICdAY29kZW1pcnJvci9sYW5ndWFnZScsXG4gICAgICAnQGNvZGVtaXJyb3IvbGludCcsXG4gICAgICAnQGNvZGVtaXJyb3Ivc2VhcmNoJyxcbiAgICAgICdAY29kZW1pcnJvci9zdGF0ZScsXG4gICAgICAnQGNvZGVtaXJyb3IvdmlldycsXG4gICAgICAnQGxlemVyL2NvbW1vbicsXG4gICAgICAnQGxlemVyL2hpZ2hsaWdodCcsXG4gICAgICAnQGxlemVyL2xyJyxcbiAgICAgICdlc2J1aWxkJyxcbiAgICAgICdlc2xpbnQnLFxuICAgICAgLi4uYnVpbHRpbk1vZHVsZXNcbiAgICBdLFxuICAgIGZvcm1hdDogJ2NqcycsXG4gICAga2VlcE5hbWVzOiB0cnVlLFxuICAgIGxvZ0xldmVsOiAnaW5mbycsXG4gICAgbWluaWZ5OiBpc1Byb2R1Y3Rpb25CdWlsZCxcbiAgICBvdXRmaWxlOiBkaXN0UGF0aCxcbiAgICBwbGF0Zm9ybTogJ25vZGUnLFxuICAgIHBsdWdpbnM6IFtcbiAgICAgIGN1c3RvbUVzYnVpbGRPcHRpb25zUGx1Z2luKHBhcmFtcy5jdXN0b21pemVFc2J1aWxkT3B0aW9ucz8uYmluZChwYXJhbXMpKSxcbiAgICAgIHN2ZWx0ZVdyYXBwZXJQbHVnaW4oaXNQcm9kdWN0aW9uQnVpbGQpLFxuICAgICAgc2Fzc1BsdWdpbih7XG4gICAgICAgIHNvdXJjZU1hcDogIWlzUHJvZHVjdGlvbkJ1aWxkXG4gICAgICB9KSxcbiAgICAgIHJlbmFtZUNzc1BsdWdpbihkaXN0Rm9sZGVyKSxcbiAgICAgIHByZXByb2Nlc3NQbHVnaW4oKSxcbiAgICAgIGZpeEVzbVBsdWdpbigpLFxuICAgICAgZml4U291cmNlTWFwc1BsdWdpbihpc1Byb2R1Y3Rpb25CdWlsZCwgW2Rpc3RQYXRoLCBjc3NQYXRoXSwgcGx1Z2luTmFtZSksXG4gICAgICAuLi5wYXJhbXMuY3VzdG9tRXNidWlsZFBsdWdpbnMgPz8gW10sXG4gICAgICBjb3B5VG9PYnNpZGlhblBsdWdpbnNGb2xkZXJQbHVnaW4oaXNQcm9kdWN0aW9uQnVpbGQsIGRpc3RGb2xkZXIsIG9ic2lkaWFuQ29uZmlnRm9sZGVyLCBwbHVnaW5OYW1lKVxuICAgIF0sXG4gICAgc291cmNlbWFwOiBpc1Byb2R1Y3Rpb25CdWlsZCA/IGZhbHNlIDogJ2lubGluZScsXG4gICAgdGFyZ2V0OiAnZXNuZXh0JyxcbiAgICB0cmVlU2hha2luZzogdHJ1ZVxuICB9O1xuXG4gIGNvbnN0IGJ1aWxkQ29udGV4dCA9IGF3YWl0IGNvbnRleHQoYnVpbGRPcHRpb25zKTtcbiAgcmV0dXJuIGF3YWl0IGludm9rZUVzYnVpbGQoYnVpbGRDb250ZXh0LCBpc1Byb2R1Y3Rpb25CdWlsZCk7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBPYnNpZGlhbiBwbHVnaW4gaW4gZGV2ZWxvcG1lbnQgbW9kZSB1c2luZyBlc2J1aWxkIHdpdGggd2F0Y2guXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIE9wdGlvbmFsIGJ1aWxkIHBhcmFtZXRlcnMgKG1vZGUgaXMgc2V0IHRvIERldmVsb3BtZW50IGF1dG9tYXRpY2FsbHkpLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIHtAbGluayBDbGlUYXNrUmVzdWx0fSBpbmRpY2F0aW5nIHRoZSBidWlsZCByZXN1bHQuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcGFyYW1zLW9wdGlvbnMtbmFtZS1tYXRjaCAtLSBJbnRlbnRpb25hbGx5IHNoYXJlcyBCdWlsZFBhcmFtcyB3aXRoIGJ1aWxkKCkuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGV2KHBhcmFtcz86IEJ1aWxkUGFyYW1zKTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIHJldHVybiBhd2FpdCBidWlsZE9ic2lkaWFuUGx1Z2luKHsgLi4ucGFyYW1zLCBtb2RlOiBCdWlsZE1vZGUuRGV2ZWxvcG1lbnQgfSk7XG59XG5cbi8qKlxuICogSW52b2tlcyB0aGUgYnVpbGQgcHJvY2VzcyB3aXRoIHRoZSBwcm92aWRlZCBidWlsZCBjb250ZXh0LlxuICpcbiAqIEBwYXJhbSBidWlsZENvbnRleHQgLSBUaGUgYnVpbGQgY29udGV4dCBnZW5lcmF0ZWQgYnkgZXNidWlsZC5cbiAqIEBwYXJhbSBpc1Byb2R1Y3Rpb25CdWlsZCAtIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGJ1aWxkIGlzIGEgcHJvZHVjdGlvbiBidWlsZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gaW5kaWNhdGluZyB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoZSBidWlsZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGludm9rZUVzYnVpbGQoYnVpbGRDb250ZXh0OiBCdWlsZENvbnRleHQsIGlzUHJvZHVjdGlvbkJ1aWxkOiBib29sZWFuKTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIGlmIChpc1Byb2R1Y3Rpb25CdWlsZCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJ1aWxkQ29udGV4dC5yZWJ1aWxkKCk7XG4gICAgY29uc3QgaXNTdWNjZXNzID0gcmVzdWx0LmVycm9ycy5sZW5ndGggPT09IDAgJiYgcmVzdWx0Lndhcm5pbmdzLmxlbmd0aCA9PT0gMDtcbiAgICByZXR1cm4gQ2xpVGFza1Jlc3VsdC5TdWNjZXNzKGlzU3VjY2Vzcyk7XG4gIH1cbiAgYXdhaXQgYnVpbGRDb250ZXh0LndhdGNoKCk7XG4gIHJldHVybiBDbGlUYXNrUmVzdWx0LkRvTm90RXhpdCgpO1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsU0FBUyxlQUFlO0FBRXhCLE9BQU8saUJBQWlCO0FBQ3hCLFNBQVMsa0JBQWtCO0FBQzNCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLHNCQUFzQjtBQUMvQixPQUFPLFdBQVcsbUJBQW1CO0FBRXJDLFNBQVMsbUNBQW1DO0FBQzVDLFNBQVMsK0JBQStCO0FBQ3hDLFNBQVMsWUFBWTtBQUNyQixTQUFTLHlCQUF5QjtBQUNsQyxTQUFTLHFCQUFxQjtBQUM5QixTQUFTLGNBQWM7QUFDdkIsU0FBUyx1QkFBdUI7QUFDaEMsU0FBUywyQkFBMkI7QUFDcEMsU0FBUyx5Q0FBeUM7QUFDbEQsU0FBUyxrQ0FBa0M7QUFDM0MsU0FBUyxvQkFBb0I7QUFDN0IsU0FBUywyQkFBMkI7QUFDcEMsU0FBUyx3QkFBd0I7QUFDakMsU0FBUyx1QkFBdUI7QUFDaEMsU0FBUywyQkFBMkI7QUFFcEMsTUFBTSxhQUFhLDRCQUE0QixXQUFXO0FBS25ELElBQUssWUFBTCxrQkFBS0EsZUFBTDtBQUVMLEVBQUFBLHNCQUFBO0FBRUEsRUFBQUEsc0JBQUE7QUFKVSxTQUFBQTtBQUFBLEdBQUE7QUFVTCxNQUFNLFNBQVM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTZEdEIsZUFBc0IsTUFBTSxRQUFxQztBQUMvRCxRQUFNLFNBQVMs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
175
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvb2JzaWRpYW4tcGx1Z2luLWJ1aWxkZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IHRvIGJ1aWxkIGFuZCBidW5kbGUgYW4gT2JzaWRpYW4gcGx1Z2luIHVzaW5nIGVzYnVpbGQuXG4gKiBJdCBpbmNsdWRlcyBmdW5jdGlvbnMgdG8gaGFuZGxlIHRoZSBidWlsZCBwcm9jZXNzIGJhc2VkIG9uIGRpZmZlcmVudCBidWlsZCBtb2RlcyAoZGV2ZWxvcG1lbnQgb3IgcHJvZHVjdGlvbiksXG4gKiBhbmQgaXQgc2V0cyB1cCB2YXJpb3VzIGVzYnVpbGQgcGx1Z2lucyB0byBwcmVwcm9jZXNzLCBsaW50LCBmaXggc291cmNlIG1hcHMsIGFuZCBjb3B5IGZpbGVzIHRvIHRoZSBPYnNpZGlhbiBwbHVnaW5zIGZvbGRlci5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gZXNidWlsZC1iYXNlZCBidWlsZCBwaXBlbGluZSB3aXRoIHNhc3Mvc3ZlbHRlIHBsdWdpbnMgYW5kIGZpbGUgd2F0Y2hlcnM7IHJlcXVpcmVzIGEgbGl2ZSBlc2J1aWxkIGNvbnRleHQuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQnVpbGRDb250ZXh0LFxuICBCdWlsZE9wdGlvbnMsXG4gIFBsdWdpblxufSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHsgY29udGV4dCB9IGZyb20gJ2VzYnVpbGQnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLXJlbmFtZS1kZWZhdWx0IC0tIFdlIG5lZWQgYSB0ZW1wIHZhcmlhYmxlIHRvIGFwcGx5IGBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3AoKWAgZml4IGJlbG93LlxuaW1wb3J0IHNhc3NQbHVnaW5fIGZyb20gJ2VzYnVpbGQtc2Fzcy1wbHVnaW4nO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHtcbiAgY3AsXG4gIG1rZGlyLFxuICBybSxcbiAgd3JpdGVGaWxlXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHsgYnVpbHRpbk1vZHVsZXMgfSBmcm9tICdub2RlOm1vZHVsZSc7XG5pbXBvcnQgcHJvY2VzcywgeyBsb2FkRW52RmlsZSB9IGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbmltcG9ydCB7IGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcCB9IGZyb20gJy4uLy4uLy4uL29iamVjdC11dGlscy50cyc7XG5pbXBvcnQgeyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB9IGZyb20gJy4uLy4uLy4uL29ic2lkaWFuL3BsdWdpbi9vYnNpZGlhbi1wbHVnaW4tcmVwby1wYXRocy50cyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnLi4vLi4vLi4vcGF0aC50cyc7XG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJy4uLy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IENsaVRhc2tSZXN1bHQgfSBmcm9tICcuLi8uLi9jbGktdXRpbHMudHMnO1xuaW1wb3J0IHsgbnBtUnVuIH0gZnJvbSAnLi4vLi4vbnBtLXJ1bi50cyc7XG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICcuLi8uLi9ucG0udHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVBhdGhGcm9tUm9vdCB9IGZyb20gJy4uLy4uL3Jvb3QudHMnO1xuaW1wb3J0IHsgY29weVRvT2JzaWRpYW5QbHVnaW5zRm9sZGVyUGx1Z2luIH0gZnJvbSAnLi9jb3B5LXRvLW9ic2lkaWFuLXBsdWdpbnMtZm9sZGVyLXBsdWdpbi50cyc7XG5pbXBvcnQgeyBjdXN0b21Fc2J1aWxkT3B0aW9uc1BsdWdpbiB9IGZyb20gJy4vY3VzdG9tLWVzYnVpbGQtb3B0aW9ucy1wbHVnaW4udHMnO1xuaW1wb3J0IHsgZml4RXNtUGx1Z2luIH0gZnJvbSAnLi9maXgtZXNtLXBsdWdpbi50cyc7XG5pbXBvcnQgeyBmaXhTb3VyY2VNYXBzUGx1Z2luIH0gZnJvbSAnLi9maXgtc291cmNlLW1hcHMtcGx1Z2luLnRzJztcbmltcG9ydCB7IHByZXByb2Nlc3NQbHVnaW4gfSBmcm9tICcuL3ByZXByb2Nlc3MtcGx1Z2luLnRzJztcbmltcG9ydCB7IHJlbmFtZUNzc1BsdWdpbiB9IGZyb20gJy4vcmVuYW1lLWNzcy1wbHVnaW4udHMnO1xuaW1wb3J0IHsgc3ZlbHRlV3JhcHBlclBsdWdpbiB9IGZyb20gJy4vc3ZlbHRlLXdyYXBwZXItcGx1Z2luLnRzJztcblxuY29uc3Qgc2Fzc1BsdWdpbiA9IGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcChzYXNzUGx1Z2luXyk7XG5cbi8qKlxuICogRW51bWVyYXRpb24gcmVwcmVzZW50aW5nIHRoZSBidWlsZCBtb2Rlcy5cbiAqL1xuZXhwb3J0IGVudW0gQnVpbGRNb2RlIHtcbiAgLyoqIERldmVsb3BtZW50IG1vZGUgZm9yIGJ1aWxkaW5nIHRoZSBwbHVnaW4gKi9cbiAgRGV2ZWxvcG1lbnQsXG4gIC8qKiBQcm9kdWN0aW9uIG1vZGUgZm9yIGJ1aWxkaW5nIHRoZSBwbHVnaW4gKi9cbiAgUHJvZHVjdGlvblxufVxuXG4vKipcbiAqIEJhbm5lciB0ZXh0IHRvIGJlIGluY2x1ZGVkIGF0IHRoZSB0b3Agb2YgdGhlIGdlbmVyYXRlZCBmaWxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGJhbm5lciA9IGAvKlxuVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgRVNCVUlMRFxuaWYgeW91IHdhbnQgdG8gdmlldyB0aGUgc291cmNlLCBwbGVhc2UgdmlzaXQgdGhlIGdpdGh1YiByZXBvc2l0b3J5IG9mIHRoaXMgcGx1Z2luXG4qL1xuYDtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgYnVpbGRPYnNpZGlhblBsdWdpbn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRPYnNpZGlhblBsdWdpblBhcmFtcyB7XG4gIC8qKlxuICAgKiBDdXN0b20gZXNidWlsZCBwbHVnaW5zIHRvIGJlIHVzZWQgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tRXNidWlsZFBsdWdpbnM/OiBQbHVnaW5bXTtcblxuICAvKipcbiAgICogQ3VzdG9taXplcyB0aGUgYGVzYnVpbGRgIG9wdGlvbnMuXG4gICAqL1xuICBjdXN0b21pemVFc2J1aWxkT3B0aW9ucz8ob3B0aW9uczogQnVpbGRPcHRpb25zKTogdm9pZDtcblxuICAvKipcbiAgICogQSBidWlsZCBtb2RlLCBlaXRoZXIgYERldmVsb3BtZW50YCBvciBgUHJvZHVjdGlvbmBcbiAgICovXG4gIHJlYWRvbmx5IG1vZGU6IEJ1aWxkTW9kZTtcblxuICAvKipcbiAgICogQSBmb2xkZXIgZm9yIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24uIERlZmF1bHRzIHRvIHRoZSBgT0JTSURJQU5fQ09ORklHX0ZPTERFUmAgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICByZWFkb25seSBvYnNpZGlhbkNvbmZpZ0ZvbGRlcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBCdWlsZCBwYXJhbWV0ZXJzIHdpdGhvdXQgdGhlIG1vZGUgZmllbGQsIGZvciB1c2Ugd2l0aCB7QGxpbmsgYnVpbGR9IGFuZCB7QGxpbmsgZGV2fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWlsZFBhcmFtcyB7XG4gIC8qKlxuICAgKiBDdXN0b20gZXNidWlsZCBwbHVnaW5zIHRvIGJlIHVzZWQgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tRXNidWlsZFBsdWdpbnM/OiBQbHVnaW5bXTtcblxuICAvKipcbiAgICogQ3VzdG9taXplcyB0aGUgYGVzYnVpbGRgIG9wdGlvbnMuXG4gICAqL1xuICBjdXN0b21pemVFc2J1aWxkT3B0aW9ucz8ob3B0aW9uczogQnVpbGRPcHRpb25zKTogdm9pZDtcblxuICAvKipcbiAgICogQSBmb2xkZXIgZm9yIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24uIERlZmF1bHRzIHRvIHRoZSBgT0JTSURJQU5fQ09ORklHX0ZPTERFUmAgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICByZWFkb25seSBvYnNpZGlhbkNvbmZpZ0ZvbGRlcj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE9ic2lkaWFuUGx1Z2luQnVpbGRlckVudiB7XG4gIE9CU0lESUFOX0NPTkZJR19GT0xERVI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIE9ic2lkaWFuIHBsdWdpbiBpbiBwcm9kdWN0aW9uIG1vZGUgdXNpbmcgZXNidWlsZC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gT3B0aW9uYWwgYnVpbGQgcGFyYW1ldGVycyAobW9kZSBpcyBzZXQgdG8gUHJvZHVjdGlvbiBhdXRvbWF0aWNhbGx5KS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgYnVpbGQgaXMgY29tcGxldGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidWlsZChwYXJhbXM/OiBCdWlsZFBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBidWlsZE9ic2lkaWFuUGx1Z2luKHsgLi4ucGFyYW1zLCBtb2RlOiBCdWlsZE1vZGUuUHJvZHVjdGlvbiB9KTtcbiAgcmVzdWx0LnRocm93T25GYWlsdXJlKCk7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBPYnNpZGlhbiBwbHVnaW4gYmFzZWQgb24gdGhlIHNwZWNpZmllZCBtb2RlIGFuZCBjb25maWd1cmF0aW9uIGZvbGRlci5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIGJ1aWxkaW5nIHRoZSBwbHVnaW4uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9IGluZGljYXRpbmcgdGhlIHN1Y2Nlc3Mgb3IgZmFpbHVyZSBvZiB0aGUgYnVpbGQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidWlsZE9ic2lkaWFuUGx1Z2luKHBhcmFtczogQnVpbGRPYnNpZGlhblBsdWdpblBhcmFtcyk6IFByb21pc2U8Q2xpVGFza1Jlc3VsdD4ge1xuICBhd2FpdCBucG1SdW4oJ2J1aWxkOmNvbXBpbGUnKTtcbiAgY29uc3QgZW52UGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3QoJy5lbnYnKTtcbiAgaWYgKGVudlBhdGggJiYgZXhpc3RzU3luYyhlbnZQYXRoKSkge1xuICAgIGxvYWRFbnZGaWxlKGVudlBhdGgpO1xuICB9XG4gIGNvbnN0IG9ic2lkaWFuUGx1Z2luQnVpbGRlckVudiA9IHByb2Nlc3MuZW52IGFzIFBhcnRpYWw8T2JzaWRpYW5QbHVnaW5CdWlsZGVyRW52PjtcblxuICBjb25zdCBvYnNpZGlhbkNvbmZpZ0ZvbGRlciA9IHBhcmFtcy5vYnNpZGlhbkNvbmZpZ0ZvbGRlciA/PyBvYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYuT0JTSURJQU5fQ09ORklHX0ZPTERFUiA/PyAnJztcbiAgY29uc3QgaXNQcm9kdWN0aW9uQnVpbGQgPSBwYXJhbXMubW9kZSA9PT0gQnVpbGRNb2RlLlByb2R1Y3Rpb247XG5cbiAgY29uc3QgZGlzdEZvbGRlciA9IGVuc3VyZU5vbk51bGxhYmxlKFxuICAgIHJlc29sdmVQYXRoRnJvbVJvb3QoaXNQcm9kdWN0aW9uQnVpbGQgPyBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EaXN0QnVpbGQgOiBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EaXN0RGV2KSxcbiAgICAnQ291bGQgbm90IGRldGVybWluZSB0aGUgZGlzdCBmb2xkZXInXG4gICk7XG5cbiAgaWYgKGV4aXN0c1N5bmMoZGlzdEZvbGRlcikpIHtcbiAgICBhd2FpdCBybShkaXN0Rm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgfVxuICBhd2FpdCBta2RpcihkaXN0Rm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICBjb25zdCBkaXN0RmlsZU5hbWVzID0gW1xuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvblxuICBdO1xuICBpZiAoIWlzUHJvZHVjdGlvbkJ1aWxkKSB7XG4gICAgYXdhaXQgd3JpdGVGaWxlKGpvaW4oZGlzdEZvbGRlciwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuSG90UmVsb2FkKSwgJycsICd1dGYtOCcpO1xuICB9XG5cbiAgZm9yIChjb25zdCBmaWxlTmFtZSBvZiBkaXN0RmlsZU5hbWVzKSB7XG4gICAgY29uc3QgbG9jYWxGaWxlID0gZW5zdXJlTm9uTnVsbGFibGUocmVzb2x2ZVBhdGhGcm9tUm9vdChmaWxlTmFtZSksIGBDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBsb2NhbCBmaWxlIGZvciAke2ZpbGVOYW1lfWApO1xuICAgIGNvbnN0IGRpc3RGaWxlID0gam9pbihkaXN0Rm9sZGVyLCBmaWxlTmFtZSk7XG5cbiAgICBpZiAoZXhpc3RzU3luYyhsb2NhbEZpbGUpKSB7XG4gICAgICBhd2FpdCBjcChsb2NhbEZpbGUsIGRpc3RGaWxlKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBkaXN0UGF0aCA9IGpvaW4oZGlzdEZvbGRlciwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFpbkpzKTtcbiAgY29uc3QgY3NzUGF0aCA9IGpvaW4oZGlzdEZvbGRlciwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3R5bGVzQ3NzKTtcblxuICBjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHJlYWRQYWNrYWdlSnNvbigpO1xuICBjb25zdCBwbHVnaW5OYW1lID0gcGFja2FnZUpzb24ubmFtZSA/PyAnKHVua25vd24pJztcblxuICBjb25zdCBidWlsZE9wdGlvbnM6IEJ1aWxkT3B0aW9ucyA9IHtcbiAgICBiYW5uZXI6IHtcbiAgICAgIGpzOiBiYW5uZXJcbiAgICB9LFxuICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICBjb25kaXRpb25zOiBbJ2Jyb3dzZXInXSxcbiAgICBlbnRyeVBvaW50czogW1xuICAgICAgZW5zdXJlTm9uTnVsbGFibGUoXG4gICAgICAgIHJlc29sdmVQYXRoRnJvbVJvb3Qoam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1haW5UcykpLFxuICAgICAgICAnQ291bGQgbm90IGRldGVybWluZSB0aGUgZW50cnkgcG9pbnQgZm9yIHRoZSBwbHVnaW4nXG4gICAgICApXG4gICAgXSxcbiAgICBleHRlcm5hbDogW1xuICAgICAgJ29ic2lkaWFuJyxcbiAgICAgICdlbGVjdHJvbicsXG4gICAgICAnQGNvZGVtaXJyb3IvYXV0b2NvbXBsZXRlJyxcbiAgICAgICdAY29kZW1pcnJvci9jb2xsYWInLFxuICAgICAgJ0Bjb2RlbWlycm9yL2NvbW1hbmRzJyxcbiAgICAgICdAY29kZW1pcnJvci9sYW5ndWFnZScsXG4gICAgICAnQGNvZGVtaXJyb3IvbGludCcsXG4gICAgICAnQGNvZGVtaXJyb3Ivc2VhcmNoJyxcbiAgICAgICdAY29kZW1pcnJvci9zdGF0ZScsXG4gICAgICAnQGNvZGVtaXJyb3IvdmlldycsXG4gICAgICAnQGxlemVyL2NvbW1vbicsXG4gICAgICAnQGxlemVyL2hpZ2hsaWdodCcsXG4gICAgICAnQGxlemVyL2xyJyxcbiAgICAgICdlc2J1aWxkJyxcbiAgICAgICdlc2xpbnQnLFxuICAgICAgLi4uYnVpbHRpbk1vZHVsZXNcbiAgICBdLFxuICAgIGZvcm1hdDogJ2NqcycsXG4gICAga2VlcE5hbWVzOiB0cnVlLFxuICAgIGxvZ0xldmVsOiAnaW5mbycsXG4gICAgbWluaWZ5OiBpc1Byb2R1Y3Rpb25CdWlsZCxcbiAgICBvdXRmaWxlOiBkaXN0UGF0aCxcbiAgICBwbGF0Zm9ybTogJ25vZGUnLFxuICAgIHBsdWdpbnM6IFtcbiAgICAgIGN1c3RvbUVzYnVpbGRPcHRpb25zUGx1Z2luKHBhcmFtcy5jdXN0b21pemVFc2J1aWxkT3B0aW9ucz8uYmluZChwYXJhbXMpKSxcbiAgICAgIHN2ZWx0ZVdyYXBwZXJQbHVnaW4oaXNQcm9kdWN0aW9uQnVpbGQpLFxuICAgICAgc2Fzc1BsdWdpbih7XG4gICAgICAgIHNvdXJjZU1hcDogIWlzUHJvZHVjdGlvbkJ1aWxkXG4gICAgICB9KSxcbiAgICAgIHJlbmFtZUNzc1BsdWdpbihkaXN0Rm9sZGVyKSxcbiAgICAgIHByZXByb2Nlc3NQbHVnaW4oKSxcbiAgICAgIGZpeEVzbVBsdWdpbigpLFxuICAgICAgZml4U291cmNlTWFwc1BsdWdpbihpc1Byb2R1Y3Rpb25CdWlsZCwgW2Rpc3RQYXRoLCBjc3NQYXRoXSwgcGx1Z2luTmFtZSksXG4gICAgICAuLi5wYXJhbXMuY3VzdG9tRXNidWlsZFBsdWdpbnMgPz8gW10sXG4gICAgICBjb3B5VG9PYnNpZGlhblBsdWdpbnNGb2xkZXJQbHVnaW4oaXNQcm9kdWN0aW9uQnVpbGQsIGRpc3RGb2xkZXIsIG9ic2lkaWFuQ29uZmlnRm9sZGVyLCBwbHVnaW5OYW1lKVxuICAgIF0sXG4gICAgc291cmNlbWFwOiBpc1Byb2R1Y3Rpb25CdWlsZCA/IGZhbHNlIDogJ2lubGluZScsXG4gICAgdGFyZ2V0OiAnRVMyMDIyJyxcbiAgICB0cmVlU2hha2luZzogdHJ1ZVxuICB9O1xuXG4gIGNvbnN0IGJ1aWxkQ29udGV4dCA9IGF3YWl0IGNvbnRleHQoYnVpbGRPcHRpb25zKTtcbiAgcmV0dXJuIGF3YWl0IGludm9rZUVzYnVpbGQoYnVpbGRDb250ZXh0LCBpc1Byb2R1Y3Rpb25CdWlsZCk7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBPYnNpZGlhbiBwbHVnaW4gaW4gZGV2ZWxvcG1lbnQgbW9kZSB1c2luZyBlc2J1aWxkIHdpdGggd2F0Y2guXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIE9wdGlvbmFsIGJ1aWxkIHBhcmFtZXRlcnMgKG1vZGUgaXMgc2V0IHRvIERldmVsb3BtZW50IGF1dG9tYXRpY2FsbHkpLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIHtAbGluayBDbGlUYXNrUmVzdWx0fSBpbmRpY2F0aW5nIHRoZSBidWlsZCByZXN1bHQuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcGFyYW1zLW9wdGlvbnMtbmFtZS1tYXRjaCAtLSBJbnRlbnRpb25hbGx5IHNoYXJlcyBCdWlsZFBhcmFtcyB3aXRoIGJ1aWxkKCkuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGV2KHBhcmFtcz86IEJ1aWxkUGFyYW1zKTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIHJldHVybiBhd2FpdCBidWlsZE9ic2lkaWFuUGx1Z2luKHsgLi4ucGFyYW1zLCBtb2RlOiBCdWlsZE1vZGUuRGV2ZWxvcG1lbnQgfSk7XG59XG5cbi8qKlxuICogSW52b2tlcyB0aGUgYnVpbGQgcHJvY2VzcyB3aXRoIHRoZSBwcm92aWRlZCBidWlsZCBjb250ZXh0LlxuICpcbiAqIEBwYXJhbSBidWlsZENvbnRleHQgLSBUaGUgYnVpbGQgY29udGV4dCBnZW5lcmF0ZWQgYnkgZXNidWlsZC5cbiAqIEBwYXJhbSBpc1Byb2R1Y3Rpb25CdWlsZCAtIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGJ1aWxkIGlzIGEgcHJvZHVjdGlvbiBidWlsZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gaW5kaWNhdGluZyB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoZSBidWlsZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGludm9rZUVzYnVpbGQoYnVpbGRDb250ZXh0OiBCdWlsZENvbnRleHQsIGlzUHJvZHVjdGlvbkJ1aWxkOiBib29sZWFuKTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIGlmIChpc1Byb2R1Y3Rpb25CdWlsZCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJ1aWxkQ29udGV4dC5yZWJ1aWxkKCk7XG4gICAgY29uc3QgaXNTdWNjZXNzID0gcmVzdWx0LmVycm9ycy5sZW5ndGggPT09IDAgJiYgcmVzdWx0Lndhcm5pbmdzLmxlbmd0aCA9PT0gMDtcbiAgICByZXR1cm4gQ2xpVGFza1Jlc3VsdC5TdWNjZXNzKGlzU3VjY2Vzcyk7XG4gIH1cbiAgYXdhaXQgYnVpbGRDb250ZXh0LndhdGNoKCk7XG4gIHJldHVybiBDbGlUYXNrUmVzdWx0LkRvTm90RXhpdCgpO1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsU0FBUyxlQUFlO0FBRXhCLE9BQU8saUJBQWlCO0FBQ3hCLFNBQVMsa0JBQWtCO0FBQzNCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLHNCQUFzQjtBQUMvQixPQUFPLFdBQVcsbUJBQW1CO0FBRXJDLFNBQVMsbUNBQW1DO0FBQzVDLFNBQVMsK0JBQStCO0FBQ3hDLFNBQVMsWUFBWTtBQUNyQixTQUFTLHlCQUF5QjtBQUNsQyxTQUFTLHFCQUFxQjtBQUM5QixTQUFTLGNBQWM7QUFDdkIsU0FBUyx1QkFBdUI7QUFDaEMsU0FBUywyQkFBMkI7QUFDcEMsU0FBUyx5Q0FBeUM7QUFDbEQsU0FBUyxrQ0FBa0M7QUFDM0MsU0FBUyxvQkFBb0I7QUFDN0IsU0FBUywyQkFBMkI7QUFDcEMsU0FBUyx3QkFBd0I7QUFDakMsU0FBUyx1QkFBdUI7QUFDaEMsU0FBUywyQkFBMkI7QUFFcEMsTUFBTSxhQUFhLDRCQUE0QixXQUFXO0FBS25ELElBQUssWUFBTCxrQkFBS0EsZUFBTDtBQUVMLEVBQUFBLHNCQUFBO0FBRUEsRUFBQUEsc0JBQUE7QUFKVSxTQUFBQTtBQUFBLEdBQUE7QUFVTCxNQUFNLFNBQVM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTZEdEIsZUFBc0IsTUFBTSxRQUFxQztBQUMvRCxRQUFNLFNBQVMs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
@@ -0,0 +1,76 @@
1
+ /// <reference path="../library.d.mts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * Type-checks a set of TypeScript files with `skipLibCheck` disabled, but reports only the
6
+ * diagnostics whose source file we own. This lets the general build run with `skipLibCheck: true`
7
+ * (so it does not fail on broken upstream `.d.ts` files we do not control, such as a given
8
+ * version's `obsidian.d.ts`) while still fully validating the declarations we author.
9
+ *
10
+ * When upstream types are fixed, the `Ignored N diagnostic(s)` count drops to `0`, signalling the
11
+ * workaround is no longer doing anything.
12
+ */
13
+ import type { CompilerOptions, Diagnostic } from 'typescript';
14
+ /**
15
+ * Parameters for {@link checkProjectTypes}.
16
+ */
17
+ export interface CheckProjectTypesParams {
18
+ /** Compiler options for the program. `skipLibCheck` is always forced to `false`. */
19
+ readonly options: CompilerOptions;
20
+ /** The root files to type-check. */
21
+ readonly rootNames: readonly string[];
22
+ /**
23
+ * Decides whether a diagnostic should be reported, based on the diagnostic itself rather than its
24
+ * source file. Runs in addition to {@link CheckProjectTypesParams.shouldKeepFile} — a diagnostic is
25
+ * reported only when both predicates keep it. Use this to drop diagnostics that are reported in a
26
+ * file we own but are caused by something we do not control (e.g. a cross-module-format interop
27
+ * complaint about a third-party import). When omitted, no diagnostic is dropped on this basis.
28
+ *
29
+ * @param diagnostic - The diagnostic to evaluate.
30
+ * @returns `true` to report the diagnostic, `false` to ignore it.
31
+ */
32
+ shouldKeepDiagnostic?(this: void, diagnostic: Diagnostic): boolean;
33
+ /**
34
+ * Decides whether a diagnostic's source file is one we care about.
35
+ *
36
+ * @param fileName - The diagnostic's source file, already passed through {@link toCanonical}.
37
+ * @returns `true` to report the diagnostic, `false` to ignore it.
38
+ */
39
+ shouldKeepFile(this: void, fileName: string): boolean;
40
+ }
41
+ /**
42
+ * The resolved result of {@link parseTsConfig}.
43
+ */
44
+ export interface ParsedTsConfig {
45
+ /** The resolved list of files the config includes (absolute paths). */
46
+ readonly fileNames: readonly string[];
47
+ /** The resolved compiler options (with `extends` applied). */
48
+ readonly options: CompilerOptions;
49
+ }
50
+ /**
51
+ * Type-checks a set of files with `skipLibCheck: false`, but reports only the diagnostics whose
52
+ * source file passes `shouldKeepFile`. Diagnostics from files we do not control (e.g. broken
53
+ * third-party `.d.ts` pulled in transitively) are dropped, while still being counted for
54
+ * visibility.
55
+ *
56
+ * @param params - The program inputs and the keep predicate.
57
+ * @returns `true` when no reported diagnostic is an error, `false` otherwise.
58
+ */
59
+ export declare function checkProjectTypes(params: CheckProjectTypesParams): boolean;
60
+ /**
61
+ * Parses a `tsconfig.json` (resolving `extends`, `include`, `exclude`) into the resolved file list
62
+ * and compiler options.
63
+ *
64
+ * @param tsConfigPath - Absolute path to the config file.
65
+ * @returns The resolved file names and options.
66
+ * @throws If the config cannot be parsed or contains errors.
67
+ */
68
+ export declare function parseTsConfig(tsConfigPath: string): ParsedTsConfig;
69
+ /**
70
+ * Normalizes a file path for comparison: forward slashes everywhere, lower-cased on a
71
+ * case-insensitive file system.
72
+ *
73
+ * @param fileName - The path to normalize.
74
+ * @returns The canonical path.
75
+ */
76
+ export declare function toCanonical(fileName: string): string;
@@ -0,0 +1,98 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initEsm() {
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
+ if (globalThis.process) {
9
+ return;
10
+ }
11
+
12
+ const browserProcess = {
13
+ browser: true,
14
+ cwd() {
15
+ return '/';
16
+ },
17
+ env: {},
18
+ platform: 'android'
19
+ };
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
+ globalThis.process = browserProcess;
22
+ })();
23
+
24
+ import process from "node:process";
25
+ import {
26
+ createProgram,
27
+ DiagnosticCategory,
28
+ formatDiagnostic,
29
+ formatDiagnostics,
30
+ formatDiagnosticsWithColorAndContext,
31
+ getParsedCommandLineOfConfigFile,
32
+ getPreEmitDiagnostics,
33
+ sys
34
+ } from "typescript";
35
+ const FORMAT_HOST = {
36
+ getCanonicalFileName: (fileName) => fileName,
37
+ getCurrentDirectory: () => sys.getCurrentDirectory(),
38
+ getNewLine: () => sys.newLine
39
+ };
40
+ function checkProjectTypes(params) {
41
+ const options = {
42
+ ...params.options,
43
+ skipLibCheck: false
44
+ };
45
+ const program = createProgram({
46
+ options,
47
+ rootNames: [...params.rootNames]
48
+ });
49
+ const allDiagnostics = getPreEmitDiagnostics(program);
50
+ const keptDiagnostics = allDiagnostics.filter((diagnostic) => shouldKeepDiagnosticByFile(diagnostic, params.shouldKeepFile) && (params.shouldKeepDiagnostic?.(diagnostic) ?? true));
51
+ const ignoredCount = allDiagnostics.length - keptDiagnostics.length;
52
+ if (keptDiagnostics.length > 0) {
53
+ process.stdout.write(formatDiagnosticsWithColorAndContext(keptDiagnostics, FORMAT_HOST));
54
+ }
55
+ process.stdout.write(`Ignored ${String(ignoredCount)} diagnostic(s) outside the validated set.
56
+ `);
57
+ return !keptDiagnostics.some((diagnostic) => diagnostic.category === DiagnosticCategory.Error);
58
+ }
59
+ function parseTsConfig(tsConfigPath) {
60
+ const host = {
61
+ fileExists: (path) => sys.fileExists(path),
62
+ getCurrentDirectory: () => sys.getCurrentDirectory(),
63
+ onUnRecoverableConfigFileDiagnostic: (diagnostic) => {
64
+ throw new Error(formatDiagnostic(diagnostic, FORMAT_HOST));
65
+ },
66
+ readDirectory: (rootDir, extensions, excludes, includes, depth) => sys.readDirectory(rootDir, extensions, excludes, includes, depth),
67
+ readFile: (path) => sys.readFile(path),
68
+ useCaseSensitiveFileNames: sys.useCaseSensitiveFileNames
69
+ };
70
+ const parsed = getParsedCommandLineOfConfigFile(tsConfigPath, void 0, host);
71
+ if (!parsed) {
72
+ throw new Error(`Failed to parse TypeScript config: ${tsConfigPath}`);
73
+ }
74
+ if (parsed.errors.length > 0) {
75
+ throw new Error(`Errors while parsing TypeScript config ${tsConfigPath}:
76
+ ${formatDiagnostics(parsed.errors, FORMAT_HOST)}`);
77
+ }
78
+ return {
79
+ fileNames: parsed.fileNames,
80
+ options: parsed.options
81
+ };
82
+ }
83
+ function toCanonical(fileName) {
84
+ const normalized = fileName.replaceAll("\\", "/");
85
+ return sys.useCaseSensitiveFileNames ? normalized : normalized.toLowerCase();
86
+ }
87
+ function shouldKeepDiagnosticByFile(diagnostic, shouldKeepFile) {
88
+ if (!diagnostic.file) {
89
+ return true;
90
+ }
91
+ return shouldKeepFile(toCanonical(diagnostic.file.fileName));
92
+ }
93
+ export {
94
+ checkProjectTypes,
95
+ parseTsConfig,
96
+ toCanonical
97
+ };
98
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9jaGVjay1wcm9qZWN0LXR5cGVzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVHlwZS1jaGVja3MgYSBzZXQgb2YgVHlwZVNjcmlwdCBmaWxlcyB3aXRoIGBza2lwTGliQ2hlY2tgIGRpc2FibGVkLCBidXQgcmVwb3J0cyBvbmx5IHRoZVxuICogZGlhZ25vc3RpY3Mgd2hvc2Ugc291cmNlIGZpbGUgd2Ugb3duLiBUaGlzIGxldHMgdGhlIGdlbmVyYWwgYnVpbGQgcnVuIHdpdGggYHNraXBMaWJDaGVjazogdHJ1ZWBcbiAqIChzbyBpdCBkb2VzIG5vdCBmYWlsIG9uIGJyb2tlbiB1cHN0cmVhbSBgLmQudHNgIGZpbGVzIHdlIGRvIG5vdCBjb250cm9sLCBzdWNoIGFzIGEgZ2l2ZW5cbiAqIHZlcnNpb24ncyBgb2JzaWRpYW4uZC50c2ApIHdoaWxlIHN0aWxsIGZ1bGx5IHZhbGlkYXRpbmcgdGhlIGRlY2xhcmF0aW9ucyB3ZSBhdXRob3IuXG4gKlxuICogV2hlbiB1cHN0cmVhbSB0eXBlcyBhcmUgZml4ZWQsIHRoZSBgSWdub3JlZCBOIGRpYWdub3N0aWMocylgIGNvdW50IGRyb3BzIHRvIGAwYCwgc2lnbmFsbGluZyB0aGVcbiAqIHdvcmthcm91bmQgaXMgbm8gbG9uZ2VyIGRvaW5nIGFueXRoaW5nLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQ29tcGlsZXJPcHRpb25zLFxuICBEaWFnbm9zdGljLFxuICBGb3JtYXREaWFnbm9zdGljc0hvc3QsXG4gIFBhcnNlQ29uZmlnRmlsZUhvc3Rcbn0gZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5pbXBvcnQge1xuICBjcmVhdGVQcm9ncmFtLFxuICBEaWFnbm9zdGljQ2F0ZWdvcnksXG4gIGZvcm1hdERpYWdub3N0aWMsXG4gIGZvcm1hdERpYWdub3N0aWNzLFxuICBmb3JtYXREaWFnbm9zdGljc1dpdGhDb2xvckFuZENvbnRleHQsXG4gIGdldFBhcnNlZENvbW1hbmRMaW5lT2ZDb25maWdGaWxlLFxuICBnZXRQcmVFbWl0RGlhZ25vc3RpY3MsXG4gIHN5c1xufSBmcm9tICd0eXBlc2NyaXB0JztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgY2hlY2tQcm9qZWN0VHlwZXN9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrUHJvamVjdFR5cGVzUGFyYW1zIHtcbiAgLyoqIENvbXBpbGVyIG9wdGlvbnMgZm9yIHRoZSBwcm9ncmFtLiBgc2tpcExpYkNoZWNrYCBpcyBhbHdheXMgZm9yY2VkIHRvIGBmYWxzZWAuICovXG4gIHJlYWRvbmx5IG9wdGlvbnM6IENvbXBpbGVyT3B0aW9ucztcblxuICAvKiogVGhlIHJvb3QgZmlsZXMgdG8gdHlwZS1jaGVjay4gKi9cbiAgcmVhZG9ubHkgcm9vdE5hbWVzOiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRGVjaWRlcyB3aGV0aGVyIGEgZGlhZ25vc3RpYyBzaG91bGQgYmUgcmVwb3J0ZWQsIGJhc2VkIG9uIHRoZSBkaWFnbm9zdGljIGl0c2VsZiByYXRoZXIgdGhhbiBpdHNcbiAgICogc291cmNlIGZpbGUuIFJ1bnMgaW4gYWRkaXRpb24gdG8ge0BsaW5rIENoZWNrUHJvamVjdFR5cGVzUGFyYW1zLnNob3VsZEtlZXBGaWxlfSBcdTIwMTQgYSBkaWFnbm9zdGljIGlzXG4gICAqIHJlcG9ydGVkIG9ubHkgd2hlbiBib3RoIHByZWRpY2F0ZXMga2VlcCBpdC4gVXNlIHRoaXMgdG8gZHJvcCBkaWFnbm9zdGljcyB0aGF0IGFyZSByZXBvcnRlZCBpbiBhXG4gICAqIGZpbGUgd2Ugb3duIGJ1dCBhcmUgY2F1c2VkIGJ5IHNvbWV0aGluZyB3ZSBkbyBub3QgY29udHJvbCAoZS5nLiBhIGNyb3NzLW1vZHVsZS1mb3JtYXQgaW50ZXJvcFxuICAgKiBjb21wbGFpbnQgYWJvdXQgYSB0aGlyZC1wYXJ0eSBpbXBvcnQpLiBXaGVuIG9taXR0ZWQsIG5vIGRpYWdub3N0aWMgaXMgZHJvcHBlZCBvbiB0aGlzIGJhc2lzLlxuICAgKlxuICAgKiBAcGFyYW0gZGlhZ25vc3RpYyAtIFRoZSBkaWFnbm9zdGljIHRvIGV2YWx1YXRlLlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgdG8gcmVwb3J0IHRoZSBkaWFnbm9zdGljLCBgZmFsc2VgIHRvIGlnbm9yZSBpdC5cbiAgICovXG4gIHNob3VsZEtlZXBEaWFnbm9zdGljPyh0aGlzOiB2b2lkLCBkaWFnbm9zdGljOiBEaWFnbm9zdGljKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGVjaWRlcyB3aGV0aGVyIGEgZGlhZ25vc3RpYydzIHNvdXJjZSBmaWxlIGlzIG9uZSB3ZSBjYXJlIGFib3V0LlxuICAgKlxuICAgKiBAcGFyYW0gZmlsZU5hbWUgLSBUaGUgZGlhZ25vc3RpYydzIHNvdXJjZSBmaWxlLCBhbHJlYWR5IHBhc3NlZCB0aHJvdWdoIHtAbGluayB0b0Nhbm9uaWNhbH0uXG4gICAqIEByZXR1cm5zIGB0cnVlYCB0byByZXBvcnQgdGhlIGRpYWdub3N0aWMsIGBmYWxzZWAgdG8gaWdub3JlIGl0LlxuICAgKi9cbiAgc2hvdWxkS2VlcEZpbGUodGhpczogdm9pZCwgZmlsZU5hbWU6IHN0cmluZyk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIHJlc29sdmVkIHJlc3VsdCBvZiB7QGxpbmsgcGFyc2VUc0NvbmZpZ30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VkVHNDb25maWcge1xuICAvKiogVGhlIHJlc29sdmVkIGxpc3Qgb2YgZmlsZXMgdGhlIGNvbmZpZyBpbmNsdWRlcyAoYWJzb2x1dGUgcGF0aHMpLiAqL1xuICByZWFkb25seSBmaWxlTmFtZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKiBUaGUgcmVzb2x2ZWQgY29tcGlsZXIgb3B0aW9ucyAod2l0aCBgZXh0ZW5kc2AgYXBwbGllZCkuICovXG4gIHJlYWRvbmx5IG9wdGlvbnM6IENvbXBpbGVyT3B0aW9ucztcbn1cblxuY29uc3QgRk9STUFUX0hPU1Q6IEZvcm1hdERpYWdub3N0aWNzSG9zdCA9IHtcbiAgZ2V0Q2Fub25pY2FsRmlsZU5hbWU6IChmaWxlTmFtZSkgPT4gZmlsZU5hbWUsXG4gIGdldEN1cnJlbnREaXJlY3Rvcnk6ICgpID0+IHN5cy5nZXRDdXJyZW50RGlyZWN0b3J5KCksXG4gIGdldE5ld0xpbmU6ICgpID0+IHN5cy5uZXdMaW5lXG59O1xuXG4vKipcbiAqIFR5cGUtY2hlY2tzIGEgc2V0IG9mIGZpbGVzIHdpdGggYHNraXBMaWJDaGVjazogZmFsc2VgLCBidXQgcmVwb3J0cyBvbmx5IHRoZSBkaWFnbm9zdGljcyB3aG9zZVxuICogc291cmNlIGZpbGUgcGFzc2VzIGBzaG91bGRLZWVwRmlsZWAuIERpYWdub3N0aWNzIGZyb20gZmlsZXMgd2UgZG8gbm90IGNvbnRyb2wgKGUuZy4gYnJva2VuXG4gKiB0aGlyZC1wYXJ0eSBgLmQudHNgIHB1bGxlZCBpbiB0cmFuc2l0aXZlbHkpIGFyZSBkcm9wcGVkLCB3aGlsZSBzdGlsbCBiZWluZyBjb3VudGVkIGZvclxuICogdmlzaWJpbGl0eS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHByb2dyYW0gaW5wdXRzIGFuZCB0aGUga2VlcCBwcmVkaWNhdGUuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiBubyByZXBvcnRlZCBkaWFnbm9zdGljIGlzIGFuIGVycm9yLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrUHJvamVjdFR5cGVzKHBhcmFtczogQ2hlY2tQcm9qZWN0VHlwZXNQYXJhbXMpOiBib29sZWFuIHtcbiAgY29uc3Qgb3B0aW9uczogQ29tcGlsZXJPcHRpb25zID0ge1xuICAgIC4uLnBhcmFtcy5vcHRpb25zLFxuICAgIHNraXBMaWJDaGVjazogZmFsc2VcbiAgfTtcblxuICBjb25zdCBwcm9ncmFtID0gY3JlYXRlUHJvZ3JhbSh7XG4gICAgb3B0aW9ucyxcbiAgICByb290TmFtZXM6IFsuLi5wYXJhbXMucm9vdE5hbWVzXVxuICB9KTtcblxuICBjb25zdCBhbGxEaWFnbm9zdGljcyA9IGdldFByZUVtaXREaWFnbm9zdGljcyhwcm9ncmFtKTtcbiAgY29uc3Qga2VwdERpYWdub3N0aWNzID0gYWxsRGlhZ25vc3RpY3MuZmlsdGVyKChkaWFnbm9zdGljKSA9PiBzaG91bGRLZWVwRGlhZ25vc3RpY0J5RmlsZShkaWFnbm9zdGljLCBwYXJhbXMuc2hvdWxkS2VlcEZpbGUpICYmIChwYXJhbXMuc2hvdWxkS2VlcERpYWdub3N0aWM/LihkaWFnbm9zdGljKSA/PyB0cnVlKSk7XG4gIGNvbnN0IGlnbm9yZWRDb3VudCA9IGFsbERpYWdub3N0aWNzLmxlbmd0aCAtIGtlcHREaWFnbm9zdGljcy5sZW5ndGg7XG5cbiAgaWYgKGtlcHREaWFnbm9zdGljcy5sZW5ndGggPiAwKSB7XG4gICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoZm9ybWF0RGlhZ25vc3RpY3NXaXRoQ29sb3JBbmRDb250ZXh0KGtlcHREaWFnbm9zdGljcywgRk9STUFUX0hPU1QpKTtcbiAgfVxuXG4gIHByb2Nlc3Muc3Rkb3V0LndyaXRlKGBJZ25vcmVkICR7U3RyaW5nKGlnbm9yZWRDb3VudCl9IGRpYWdub3N0aWMocykgb3V0c2lkZSB0aGUgdmFsaWRhdGVkIHNldC5cXG5gKTtcblxuICByZXR1cm4gIWtlcHREaWFnbm9zdGljcy5zb21lKChkaWFnbm9zdGljKSA9PiBkaWFnbm9zdGljLmNhdGVnb3J5ID09PSBEaWFnbm9zdGljQ2F0ZWdvcnkuRXJyb3IpO1xufVxuXG4vKipcbiAqIFBhcnNlcyBhIGB0c2NvbmZpZy5qc29uYCAocmVzb2x2aW5nIGBleHRlbmRzYCwgYGluY2x1ZGVgLCBgZXhjbHVkZWApIGludG8gdGhlIHJlc29sdmVkIGZpbGUgbGlzdFxuICogYW5kIGNvbXBpbGVyIG9wdGlvbnMuXG4gKlxuICogQHBhcmFtIHRzQ29uZmlnUGF0aCAtIEFic29sdXRlIHBhdGggdG8gdGhlIGNvbmZpZyBmaWxlLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIGZpbGUgbmFtZXMgYW5kIG9wdGlvbnMuXG4gKiBAdGhyb3dzIElmIHRoZSBjb25maWcgY2Fubm90IGJlIHBhcnNlZCBvciBjb250YWlucyBlcnJvcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVRzQ29uZmlnKHRzQ29uZmlnUGF0aDogc3RyaW5nKTogUGFyc2VkVHNDb25maWcge1xuICBjb25zdCBob3N0OiBQYXJzZUNvbmZpZ0ZpbGVIb3N0ID0ge1xuICAgIGZpbGVFeGlzdHM6IChwYXRoKSA9PiBzeXMuZmlsZUV4aXN0cyhwYXRoKSxcbiAgICBnZXRDdXJyZW50RGlyZWN0b3J5OiAoKSA9PiBzeXMuZ2V0Q3VycmVudERpcmVjdG9yeSgpLFxuICAgIG9uVW5SZWNvdmVyYWJsZUNvbmZpZ0ZpbGVEaWFnbm9zdGljOiAoZGlhZ25vc3RpYykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGZvcm1hdERpYWdub3N0aWMoZGlhZ25vc3RpYywgRk9STUFUX0hPU1QpKTtcbiAgICB9LFxuICAgIHJlYWREaXJlY3Rvcnk6IChyb290RGlyLCBleHRlbnNpb25zLCBleGNsdWRlcywgaW5jbHVkZXMsIGRlcHRoKSA9PiBzeXMucmVhZERpcmVjdG9yeShyb290RGlyLCBleHRlbnNpb25zLCBleGNsdWRlcywgaW5jbHVkZXMsIGRlcHRoKSxcbiAgICByZWFkRmlsZTogKHBhdGgpID0+IHN5cy5yZWFkRmlsZShwYXRoKSxcbiAgICB1c2VDYXNlU2Vuc2l0aXZlRmlsZU5hbWVzOiBzeXMudXNlQ2FzZVNlbnNpdGl2ZUZpbGVOYW1lc1xuICB9O1xuXG4gIGNvbnN0IHBhcnNlZCA9IGdldFBhcnNlZENvbW1hbmRMaW5lT2ZDb25maWdGaWxlKHRzQ29uZmlnUGF0aCwgdW5kZWZpbmVkLCBob3N0KTtcblxuICBpZiAoIXBhcnNlZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHBhcnNlIFR5cGVTY3JpcHQgY29uZmlnOiAke3RzQ29uZmlnUGF0aH1gKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9ycyB3aGlsZSBwYXJzaW5nIFR5cGVTY3JpcHQgY29uZmlnICR7dHNDb25maWdQYXRofTpcXG4ke2Zvcm1hdERpYWdub3N0aWNzKHBhcnNlZC5lcnJvcnMsIEZPUk1BVF9IT1NUKX1gKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZmlsZU5hbWVzOiBwYXJzZWQuZmlsZU5hbWVzLFxuICAgIG9wdGlvbnM6IHBhcnNlZC5vcHRpb25zXG4gIH07XG59XG5cbi8qKlxuICogTm9ybWFsaXplcyBhIGZpbGUgcGF0aCBmb3IgY29tcGFyaXNvbjogZm9yd2FyZCBzbGFzaGVzIGV2ZXJ5d2hlcmUsIGxvd2VyLWNhc2VkIG9uIGFcbiAqIGNhc2UtaW5zZW5zaXRpdmUgZmlsZSBzeXN0ZW0uXG4gKlxuICogQHBhcmFtIGZpbGVOYW1lIC0gVGhlIHBhdGggdG8gbm9ybWFsaXplLlxuICogQHJldHVybnMgVGhlIGNhbm9uaWNhbCBwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9DYW5vbmljYWwoZmlsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBmaWxlTmFtZS5yZXBsYWNlQWxsKCdcXFxcJywgJy8nKTtcbiAgcmV0dXJuIHN5cy51c2VDYXNlU2Vuc2l0aXZlRmlsZU5hbWVzID8gbm9ybWFsaXplZCA6IG5vcm1hbGl6ZWQudG9Mb3dlckNhc2UoKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkS2VlcERpYWdub3N0aWNCeUZpbGUoZGlhZ25vc3RpYzogRGlhZ25vc3RpYywgc2hvdWxkS2VlcEZpbGU6IChmaWxlTmFtZTogc3RyaW5nKSA9PiBib29sZWFuKTogYm9vbGVhbiB7XG4gIGlmICghZGlhZ25vc3RpYy5maWxlKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gc2hvdWxkS2VlcEZpbGUodG9DYW5vbmljYWwoZGlhZ25vc3RpYy5maWxlLmZpbGVOYW1lKSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1CQSxPQUFPLGFBQWE7QUFDcEI7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUE0Q1AsTUFBTSxjQUFxQztBQUFBLEVBQ3pDLHNCQUFzQixDQUFDLGFBQWE7QUFBQSxFQUNwQyxxQkFBcUIsTUFBTSxJQUFJLG9CQUFvQjtBQUFBLEVBQ25ELFlBQVksTUFBTSxJQUFJO0FBQ3hCO0FBV08sU0FBUyxrQkFBa0IsUUFBMEM7QUFDMUUsUUFBTSxVQUEyQjtBQUFBLElBQy9CLEdBQUcsT0FBTztBQUFBLElBQ1YsY0FBYztBQUFBLEVBQ2hCO0FBRUEsUUFBTSxVQUFVLGNBQWM7QUFBQSxJQUM1QjtBQUFBLElBQ0EsV0FBVyxDQUFDLEdBQUcsT0FBTyxTQUFTO0FBQUEsRUFDakMsQ0FBQztBQUVELFFBQU0saUJBQWlCLHNCQUFzQixPQUFPO0FBQ3BELFFBQU0sa0JBQWtCLGVBQWUsT0FBTyxDQUFDLGVBQWUsMkJBQTJCLFlBQVksT0FBTyxjQUFjLE1BQU0sT0FBTyx1QkFBdUIsVUFBVSxLQUFLLEtBQUs7QUFDbEwsUUFBTSxlQUFlLGVBQWUsU0FBUyxnQkFBZ0I7QUFFN0QsTUFBSSxnQkFBZ0IsU0FBUyxHQUFHO0FBQzlCLFlBQVEsT0FBTyxNQUFNLHFDQUFxQyxpQkFBaUIsV0FBVyxDQUFDO0FBQUEsRUFDekY7QUFFQSxVQUFRLE9BQU8sTUFBTSxXQUFXLE9BQU8sWUFBWSxDQUFDO0FBQUEsQ0FBNkM7QUFFakcsU0FBTyxDQUFDLGdCQUFnQixLQUFLLENBQUMsZUFBZSxXQUFXLGFBQWEsbUJBQW1CLEtBQUs7QUFDL0Y7QUFVTyxTQUFTLGNBQWMsY0FBc0M7QUFDbEUsUUFBTSxPQUE0QjtBQUFBLElBQ2hDLFlBQVksQ0FBQyxTQUFTLElBQUksV0FBVyxJQUFJO0FBQUEsSUFDekMscUJBQXFCLE1BQU0sSUFBSSxvQkFBb0I7QUFBQSxJQUNuRCxxQ0FBcUMsQ0FBQyxlQUFlO0FBQ25ELFlBQU0sSUFBSSxNQUFNLGlCQUFpQixZQUFZLFdBQVcsQ0FBQztBQUFBLElBQzNEO0FBQUEsSUFDQSxlQUFlLENBQUMsU0FBUyxZQUFZLFVBQVUsVUFBVSxVQUFVLElBQUksY0FBYyxTQUFTLFlBQVksVUFBVSxVQUFVLEtBQUs7QUFBQSxJQUNuSSxVQUFVLENBQUMsU0FBUyxJQUFJLFNBQVMsSUFBSTtBQUFBLElBQ3JDLDJCQUEyQixJQUFJO0FBQUEsRUFDakM7QUFFQSxRQUFNLFNBQVMsaUNBQWlDLGNBQWMsUUFBVyxJQUFJO0FBRTdFLE1BQUksQ0FBQyxRQUFRO0FBQ1gsVUFBTSxJQUFJLE1BQU0sc0NBQXNDLFlBQVksRUFBRTtBQUFBLEVBQ3RFO0FBRUEsTUFBSSxPQUFPLE9BQU8sU0FBUyxHQUFHO0FBQzVCLFVBQU0sSUFBSSxNQUFNLDBDQUEwQyxZQUFZO0FBQUEsRUFBTSxrQkFBa0IsT0FBTyxRQUFRLFdBQVcsQ0FBQyxFQUFFO0FBQUEsRUFDN0g7QUFFQSxTQUFPO0FBQUEsSUFDTCxXQUFXLE9BQU87QUFBQSxJQUNsQixTQUFTLE9BQU87QUFBQSxFQUNsQjtBQUNGO0FBU08sU0FBUyxZQUFZLFVBQTBCO0FBQ3BELFFBQU0sYUFBYSxTQUFTLFdBQVcsTUFBTSxHQUFHO0FBQ2hELFNBQU8sSUFBSSw0QkFBNEIsYUFBYSxXQUFXLFlBQVk7QUFDN0U7QUFFQSxTQUFTLDJCQUEyQixZQUF3QixnQkFBd0Q7QUFDbEgsTUFBSSxDQUFDLFdBQVcsTUFBTTtBQUNwQixXQUFPO0FBQUEsRUFDVDtBQUVBLFNBQU8sZUFBZSxZQUFZLFdBQVcsS0FBSyxRQUFRLENBQUM7QUFDN0Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -216,4 +216,4 @@ function spawnViaShell(command, cwd, rawArgs) {
216
216
  export {
217
217
  exec
218
218
  };
219
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9leGVjLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGV4ZWN1dGluZyBjb21tYW5kcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IENoaWxkUHJvY2Vzc1dpdGhvdXROdWxsU3RyZWFtcyB9IGZyb20gJ25vZGU6Y2hpbGRfcHJvY2Vzcyc7XG5cbmltcG9ydCB7IHNwYXduIH0gZnJvbSAnbm9kZTpjaGlsZF9wcm9jZXNzJztcbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbmltcG9ydCB7IGdldExpYkRlYnVnZ2VyIH0gZnJvbSAnLi4vZGVidWcudHMnO1xuaW1wb3J0IHsgdHJpbUVuZCB9IGZyb20gJy4uL3N0cmluZy50cyc7XG5pbXBvcnQgeyBhc3NlcnROb25OdWxsYWJsZSB9IGZyb20gJy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7XG4gIGNtZEVzY2FwZUNvbW1hbmRMaW5lLFxuICB0b0NvbW1hbmRMaW5lXG59IGZyb20gJy4vY2xpLXV0aWxzLnRzJztcblxuLyoqXG4gKiBBIGNvbW1hbmQgcGFydDogZWl0aGVyIGEgcGxhaW4gc3RyaW5nIG9yIGFuIHtAbGluayBFeGVjQXJnfSB3aXRoIGJhdGNoZWQgYXJndW1lbnRzLlxuICovXG5leHBvcnQgdHlwZSBDb21tYW5kUGFydCA9IEV4ZWNBcmcgfCBzdHJpbmc7XG5cbi8qKlxuICogQSBjb21tYW5kIGFyZ3VtZW50IHRoYXQgY29udGFpbnMgYSBsaXN0IG9mIGFyZ3MgdG8gYmUgYmF0Y2hlZC5cbiAqIElmIHRoZSBleHBhbmRlZCBjb21tYW5kIGV4Y2VlZHMgdGhlIHBsYXRmb3JtJ3MgbWF4IGNvbW1hbmQgbGVuZ3RoLFxuICogdGhlIGJhdGNoZWQgYXJncyBhcmUgc3BsaXQgaW50byBzZXF1ZW50aWFsIGV4ZWN1dGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXhlY0FyZyB7XG4gIC8qKlxuICAgKiBUaGUgYXJndW1lbnRzIHRvIGJhdGNoLlxuICAgKi9cbiAgcmVhZG9ubHkgYmF0Y2hlZEFyZ3M6IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBleGVjfSB0aGF0IHJldHVybiBkZXRhaWxlZCByZXN1bHRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWNEZXRhaWxlZE9wdGlvbnMgZXh0ZW5kcyBFeGVjT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBNdXN0IGJlIGB0cnVlYCB0byByZWNlaXZlIGRldGFpbGVkIHJlc3VsdHMuXG4gICAqL1xuICByZWFkb25seSBzaG91bGRJbmNsdWRlRGV0YWlsczogdHJ1ZTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBleGVjdXRpbmcgYSBjb21tYW5kLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWNPcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgY3VycmVudCB3b3JraW5nIGZvbGRlciBmb3IgdGhlIGNvbW1hbmQgZXhlY3V0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY3dkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIHN1cHByZXNzZXMgdGhlIG91dHB1dCBvZiB0aGUgY29tbWFuZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzUXVpZXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIHRocm93cyBhbiBlcnJvciBpZiB0aGUgY29tbWFuZCBmYWlscy5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEZhaWxJZkNhbGxlZEZyb21PdXRzaWRlUm9vdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgaWdub3JlcyB0aGUgZXhpdCBjb2RlIG9mIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkSWdub3JlRXhpdENvZGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBgZmFsc2VgLCBvbmx5IHJldHVybnMgdGhlIG91dHB1dCBvZiB0aGUgY29tbWFuZC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEluY2x1ZGVEZXRhaWxzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQW4gaW5wdXQgdG8gYmUgcGFzc2VkIHRvIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RkaW4/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSByZXN1bHQgb2Yge0BsaW5rIGV4ZWN9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWNSZXN1bHQge1xuICAvKipcbiAgICogQW4gZXhpdCBjb2RlIG9mIHRoZSBjb21tYW5kLiBBIHZhbHVlIG9mIGBudWxsYCBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJvY2VzcyBkaWQgbm90IGV4aXQgbm9ybWFsbHkuXG4gICAqL1xuICByZWFkb25seSBleGl0Q29kZTogbnVsbCB8IG51bWJlcjtcblxuICAvKipcbiAgICogQSBzaWduYWwgdGhhdCBjYXVzZWQgdGhlIHByb2Nlc3MgdG8gYmUgdGVybWluYXRlZC4gQSB2YWx1ZSBvZiBgbnVsbGAgaW5kaWNhdGVzIHRoYXQgbm8gc2lnbmFsIHdhcyByZWNlaXZlZC5cbiAgICovXG4gIHJlYWRvbmx5IGV4aXRTaWduYWw6IE5vZGVKUy5TaWduYWxzIHwgbnVsbDtcblxuICAvKipcbiAgICogQSBzdGFuZGFyZCBlcnJvciBvdXRwdXQgZnJvbSB0aGUgY29tbWFuZC5cbiAgICovXG4gIHJlYWRvbmx5IHN0ZGVycjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHN0YW5kYXJkIG91dHB1dCBmcm9tIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcmVhZG9ubHkgc3Rkb3V0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGV4ZWN9IHRoYXQgcmV0dXJuIG9ubHkgc3Rkb3V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWNTaW1wbGVPcHRpb25zIGV4dGVuZHMgRXhlY09wdGlvbnMge1xuICAvKipcbiAgICogTXVzdCBiZSBgZmFsc2VgIG9yIG9taXR0ZWQgdG8gcmVjZWl2ZSBvbmx5IHN0ZG91dC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEluY2x1ZGVEZXRhaWxzPzogZmFsc2U7XG59XG5cbi8qKlxuICogRXhlY3V0ZXMgYSBjb21tYW5kLlxuICpcbiAqIEBwYXJhbSBjb21tYW5kIC0gVGhlIGNvbW1hbmQgdG8gZXhlY3V0ZS4gSXQgY2FuIGJlIGEgc3RyaW5nIG9yIGFuIGFycmF5IG9mIHN0cmluZ3MuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgZXhlY3V0aW9uLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBvdXRwdXQgb2YgdGhlIGNvbW1hbmQuXG4gKiBAdGhyb3dzIElmIHRoZSBjb21tYW5kIGZhaWxzIHdpdGggYSBub24temVybyBleGl0IGNvZGUgYW5kIGlnbm9yZUV4aXRDb2RlIGlzIGBmYWxzZWAuXG4gKiAgICAgICAgIFRoZSBlcnJvciBtZXNzYWdlIGluY2x1ZGVzIHRoZSBleGl0IGNvZGUgYW5kIHN0ZGVyci5cbiAqICAgICAgICAgSWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgZXhlY3V0aW9uIGFuZCBpZ25vcmVFeGl0Q29kZSBpcyBgdHJ1ZWAsXG4gKiAgICAgICAgIHRoZSBlcnJvciBpcyByZXNvbHZlZCB3aXRoIHRoZSBzdGRvdXQgYW5kIHN0ZGVyci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGV4ZWMoY29tbWFuZDogQ29tbWFuZFBhcnRbXSB8IHN0cmluZywgb3B0aW9ucz86IEV4ZWNTaW1wbGVPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+O1xuLyoqXG4gKiBFeGVjdXRlcyBhIGNvbW1hbmQuXG4gKlxuICogQHBhcmFtIGNvbW1hbmQgLSBUaGUgY29tbWFuZCB0byBleGVjdXRlLiBJdCBjYW4gYmUgYSBzdHJpbmcgb3IgYW4gYXJyYXkgb2Ygc3RyaW5ncy5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHRoZSBleGVjdXRpb24uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggRXhlY1Jlc3VsdCBvYmplY3QuXG4gKiAgICAgICAgICBUaGUgRXhlY1Jlc3VsdCBvYmplY3QgY29udGFpbnMgdGhlIGV4aXQgY29kZSwgZXhpdCBzaWduYWwsIHN0ZGVyciwgYW5kIHN0ZG91dC5cbiAqIEB0aHJvd3MgSWYgdGhlIGNvbW1hbmQgZmFpbHMgd2l0aCBhIG5vbi16ZXJvIGV4aXQgY29kZSBhbmQgaWdub3JlRXhpdENvZGUgaXMgYGZhbHNlYC5cbiAqICAgICAgICAgVGhlIGVycm9yIG1lc3NhZ2UgaW5jbHVkZXMgdGhlIGV4aXQgY29kZSBhbmQgc3RkZXJyLlxuICogICAgICAgICBJZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIHRoZSBleGVjdXRpb24gYW5kIGlnbm9yZUV4aXRDb2RlIGlzIGB0cnVlYCxcbiAqICAgICAgICAgdGhlIGVycm9yIGlzIHJlc29sdmVkIHdpdGggdGhlIHN0ZG91dCBhbmQgc3RkZXJyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhlYyhjb21tYW5kOiBDb21tYW5kUGFydFtdIHwgc3RyaW5nLCBvcHRpb25zOiBFeGVjRGV0YWlsZWRPcHRpb25zKTogUHJvbWlzZTxFeGVjUmVzdWx0Pjtcbi8qKlxuICogRXhlY3V0ZXMgYSBjb21tYW5kLlxuICpcbiAqIEBwYXJhbSBjb21tYW5kIC0gVGhlIGNvbW1hbmQgdG8gZXhlY3V0ZS4gSXQgY2FuIGJlIGEgc3RyaW5nIG9yIGFuIGFycmF5IG9mIHN0cmluZ3MuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgZXhlY3V0aW9uLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBvdXRwdXQgb2YgdGhlIGNvbW1hbmQgb3IgYW4gRXhlY1Jlc3VsdCBvYmplY3QuXG4gKiAgICAgICAgICBUaGUgRXhlY1Jlc3VsdCBvYmplY3QgY29udGFpbnMgdGhlIGV4aXQgY29kZSwgZXhpdCBzaWduYWwsIHN0ZGVyciwgYW5kIHN0ZG91dC5cbiAqIEB0aHJvd3MgSWYgdGhlIGNvbW1hbmQgZmFpbHMgd2l0aCBhIG5vbi16ZXJvIGV4aXQgY29kZSBhbmQgaWdub3JlRXhpdENvZGUgaXMgYGZhbHNlYC5cbiAqICAgICAgICAgVGhlIGVycm9yIG1lc3NhZ2UgaW5jbHVkZXMgdGhlIGV4aXQgY29kZSBhbmQgc3RkZXJyLlxuICogICAgICAgICBJZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIHRoZSBleGVjdXRpb24gYW5kIGlnbm9yZUV4aXRDb2RlIGlzIGB0cnVlYCxcbiAqICAgICAgICAgdGhlIGVycm9yIGlzIHJlc29sdmVkIHdpdGggdGhlIHN0ZG91dCBhbmQgc3RkZXJyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhlYyhjb21tYW5kOiBDb21tYW5kUGFydFtdIHwgc3RyaW5nLCBvcHRpb25zOiBFeGVjT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxFeGVjUmVzdWx0IHwgc3RyaW5nPiB7XG4gIGlmIChBcnJheS5pc0FycmF5KGNvbW1hbmQpKSB7XG4gICAgY29uc3QgYmF0Y2hSZXN1bHQgPSBoYW5kbGVCYXRjaGVkQ29tbWFuZChjb21tYW5kLCBvcHRpb25zKTtcbiAgICBpZiAoYmF0Y2hSZXN1bHQpIHtcbiAgICAgIHJldHVybiBiYXRjaFJlc3VsdDtcbiAgICB9XG4gICAgY29uc3QgYXJncyA9IGNvbW1hbmQuZmlsdGVyKChwYXJ0KTogcGFydCBpcyBzdHJpbmcgPT4gdHlwZW9mIHBhcnQgPT09ICdzdHJpbmcnKTtcbiAgICBjb25zdCBjb21tYW5kTGluZSA9IHRvQ29tbWFuZExpbmUoYXJncyk7XG5cbiAgICBjb25zdCBtYXhDb21tYW5kTGVuZ3RoID0gZ2V0TWF4Q29tbWFuZExlbmd0aCgpO1xuICAgIGlmIChjb21tYW5kTGluZS5sZW5ndGggPiBtYXhDb21tYW5kTGVuZ3RoKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICAgIG5ldyBFcnJvcihcbiAgICAgICAgICBgQ29tbWFuZCBsaW5lIGlzIHRvbyBsb25nICgke1N0cmluZyhjb21tYW5kTGluZS5sZW5ndGgpfSBjaGFycywgbWF4ICR7XG4gICAgICAgICAgICBTdHJpbmcobWF4Q29tbWFuZExlbmd0aClcbiAgICAgICAgICB9IG9uICR7cHJvY2Vzcy5wbGF0Zm9ybX0pLiBDb25zaWRlciBzcGxpdHRpbmcgaW50byBzbWFsbGVyIGJhdGNoZXMgb3IgdXNlIEV4ZWNBcmcuYFxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBleGVjU3RyaW5nKGNvbW1hbmRMaW5lLCBvcHRpb25zLCBhcmdzKTtcbiAgfVxuXG4gIGNvbnN0IG1heENvbW1hbmRMZW5ndGggPSBnZXRNYXhDb21tYW5kTGVuZ3RoKCk7XG4gIGlmIChjb21tYW5kLmxlbmd0aCA+IG1heENvbW1hbmRMZW5ndGgpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICBuZXcgRXJyb3IoXG4gICAgICAgIGBDb21tYW5kIGxpbmUgaXMgdG9vIGxvbmcgKCR7U3RyaW5nKGNvbW1hbmQubGVuZ3RoKX0gY2hhcnMsIG1heCAke1xuICAgICAgICAgIFN0cmluZyhtYXhDb21tYW5kTGVuZ3RoKVxuICAgICAgICB9IG9uICR7cHJvY2Vzcy5wbGF0Zm9ybX0pLiBDb25zaWRlciBzcGxpdHRpbmcgaW50byBzbWFsbGVyIGJhdGNoZXMgb3IgdXNlIEV4ZWNBcmcuYFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICByZXR1cm4gZXhlY1N0cmluZyhjb21tYW5kLCBvcHRpb25zKTtcbn1cblxuLyoqXG4gKiBFeGVjdXRlcyBhIHNpbmdsZSBzdHJpbmcgY29tbWFuZC5cbiAqXG4gKiBAcGFyYW0gY29tbWFuZCAtIFRoZSBjb21tYW5kIHN0cmluZy5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIGV4ZWMgb3B0aW9ucy5cbiAqIEBwYXJhbSByYXdBcmdzIC0gVGhlIG9yaWdpbmFsIGFyZ3VtZW50IGFycmF5IChpZiBhdmFpbGFibGUpLCB1c2VkIGJ5IHRoZSBQb3dlclNoZWxsXG4gKiAgIGZhbGxiYWNrIHBhdGggdG8gcXVvdGUgYXJndW1lbnRzIHdpdGggUG93ZXJTaGVsbC1uYXRpdmUgc2luZ2xlIHF1b3Rlcy5cbiAqIEByZXR1cm5zIEEgUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIHJlc3VsdC5cbiAqL1xuZnVuY3Rpb24gZXhlY1N0cmluZyhjb21tYW5kOiBzdHJpbmcsIG9wdGlvbnM6IEV4ZWNPcHRpb25zID0ge30sIHJhd0FyZ3M/OiBzdHJpbmdbXSk6IFByb21pc2U8RXhlY1Jlc3VsdCB8IHN0cmluZz4ge1xuICBjb25zdCB7XG4gICAgY3dkID0gcHJvY2Vzcy5jd2QoKSxcbiAgICBpc1F1aWV0OiBxdWlldCA9IGZhbHNlLFxuICAgIHNob3VsZElnbm9yZUV4aXRDb2RlOiBpZ25vcmVFeGl0Q29kZSA9IGZhbHNlLFxuICAgIHNob3VsZEluY2x1ZGVEZXRhaWxzID0gZmFsc2UsXG4gICAgc3RkaW4gPSAnJ1xuICB9ID0gb3B0aW9ucztcblxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGdldExpYkRlYnVnZ2VyKCdFeGVjJykoYEV4ZWN1dGluZyBjb21tYW5kOiAke2NvbW1hbmR9YCk7XG5cbiAgICBjb25zdCBjaGlsZCA9IHNwYXduVmlhU2hlbGwoY29tbWFuZCwgY3dkLCByYXdBcmdzKTtcblxuICAgIGxldCBzdGRvdXQgPSAnJztcbiAgICBsZXQgc3RkZXJyID0gJyc7XG5cbiAgICBjaGlsZC5zdGRpbi53cml0ZShzdGRpbik7XG4gICAgY2hpbGQuc3RkaW4uZW5kKCk7XG5cbiAgICBjaGlsZC5zdGRvdXQub24oJ2RhdGEnLCAoZGF0YTogQnVmZmVyKSA9PiB7XG4gICAgICBpZiAoIXF1aWV0KSB7XG4gICAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKGRhdGEpO1xuICAgICAgfVxuICAgICAgc3Rkb3V0ICs9IGRhdGEudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gICAgfSk7XG5cbiAgICBjaGlsZC5zdGRvdXQub24oJ2VuZCcsICgpID0+IHtcbiAgICAgIHN0ZG91dCA9IHRyaW1FbmQoc3Rkb3V0LCAnXFxuJyk7XG4gICAgfSk7XG5cbiAgICBjaGlsZC5zdGRlcnIub24oJ2RhdGEnLCAoZGF0YTogQnVmZmVyKSA9PiB7XG4gICAgICBpZiAoIXF1aWV0KSB7XG4gICAgICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGRhdGEpO1xuICAgICAgfVxuICAgICAgc3RkZXJyICs9IGRhdGEudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gICAgfSk7XG5cbiAgICBjaGlsZC5zdGRlcnIub24oJ2VuZCcsICgpID0+IHtcbiAgICAgIHN0ZGVyciA9IHRyaW1FbmQoc3RkZXJyLCAnXFxuJyk7XG4gICAgfSk7XG5cbiAgICBjaGlsZC5vbignY2xvc2UnLCAoZXhpdENvZGUsIGV4aXRTaWduYWwpID0+IHtcbiAgICAgIGlmIChleGl0Q29kZSAhPT0gMCAmJiAhaWdub3JlRXhpdENvZGUpIHtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgQ29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJHtleGl0Q29kZSA/IFN0cmluZyhleGl0Q29kZSkgOiAnKG51bGwpJ31cXG4ke3N0ZGVycn1gKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFzaG91bGRJbmNsdWRlRGV0YWlscykge1xuICAgICAgICByZXNvbHZlKHN0ZG91dCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHJlc29sdmUoe1xuICAgICAgICBleGl0Q29kZSxcbiAgICAgICAgZXhpdFNpZ25hbCxcbiAgICAgICAgc3RkZXJyLFxuICAgICAgICBzdGRvdXRcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgY2hpbGQub24oJ2Vycm9yJywgKGVycikgPT4ge1xuICAgICAgaWYgKCFpZ25vcmVFeGl0Q29kZSkge1xuICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXNob3VsZEluY2x1ZGVEZXRhaWxzKSB7XG4gICAgICAgIHJlc29sdmUoc3Rkb3V0KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICByZXNvbHZlKHtcbiAgICAgICAgZXhpdENvZGU6IG51bGwsXG4gICAgICAgIGV4aXRTaWduYWw6IG51bGwsXG4gICAgICAgIHN0ZGVycixcbiAgICAgICAgc3Rkb3V0XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbi8qKlxuICogRGVmYXVsdCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgcGFzc2VkIHRvIGNoaWxkIHByb2Nlc3Nlcy5cbiAqL1xuY29uc3QgQ0hJTERfRU5WID0ge1xuICBERUJVR19DT0xPUlM6ICcxJyxcbiAgLi4ucHJvY2Vzcy5lbnZcbn07XG5cbi8qKlxuICogRXhlY3V0ZXMgYmF0Y2hlZCBjb21tYW5kcyBzZXF1ZW50aWFsbHkgYW5kIGNvbmNhdGVuYXRlcyBzdGRvdXQuXG4gKlxuICogQHBhcmFtIGJhc2VDb21tYW5kIC0gVGhlIGJhc2UgY29tbWFuZCB3aXRob3V0IGJhdGNoZWQgYXJncy5cbiAqIEBwYXJhbSBiYXRjaGVzIC0gVGhlIGJhdGNoZXMgb2YgYXJncy5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIGV4ZWMgb3B0aW9ucy5cbiAqIEByZXR1cm5zIEEgUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIGNvbmNhdGVuYXRlZCByZXN1bHQuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGV4ZWN1dGVCYXRjaGVzKGJhc2VDb21tYW5kOiBzdHJpbmcsIGJhdGNoZXM6IHN0cmluZ1tdW10sIG9wdGlvbnM6IEV4ZWNPcHRpb25zKTogUHJvbWlzZTxFeGVjUmVzdWx0IHwgc3RyaW5nPiB7XG4gIGNvbnN0IHJlc3VsdHM6IHN0cmluZ1tdID0gW107XG5cbiAgZm9yIChjb25zdCBiYXRjaCBvZiBiYXRjaGVzKSB7XG4gICAgY29uc3QgYmF0Y2hDb21tYW5kID0gYCR7YmFzZUNvbW1hbmR9ICR7YmF0Y2guam9pbignICcpfWA7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZXhlY1N0cmluZyhiYXRjaENvbW1hbmQsIG9wdGlvbnMpO1xuICAgIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJykge1xuICAgICAgcmVzdWx0cy5wdXNoKHJlc3VsdCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKG9wdGlvbnMuc2hvdWxkSW5jbHVkZURldGFpbHMpIHtcbiAgICByZXR1cm4geyBleGl0Q29kZTogMCwgZXhpdFNpZ25hbDogbnVsbCwgc3RkZXJyOiAnJywgc3Rkb3V0OiByZXN1bHRzLmpvaW4oJ1xcbicpIH07XG4gIH1cblxuICByZXR1cm4gcmVzdWx0cy5qb2luKCdcXG4nKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBwbGF0Zm9ybS1zcGVjaWZpYyBtYXggY29tbWFuZCBsaW5lIGxlbmd0aC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgbWF4IGNvbW1hbmQgbGVuZ3RoIGluIGNoYXJhY3RlcnMuXG4gKi9cbmZ1bmN0aW9uIGdldE1heENvbW1hbmRMZW5ndGgoKTogbnVtYmVyIHtcbiAgY29uc3QgV0lORE9XU19NQVhfQ09NTUFORF9MRU5HVEggPSA4MTkxO1xuICBjb25zdCBVTklYX01BWF9DT01NQU5EX0xFTkdUSCA9IDEzMTA3MjtcbiAgcmV0dXJuIHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMicgPyBXSU5ET1dTX01BWF9DT01NQU5EX0xFTkdUSCA6IFVOSVhfTUFYX0NPTU1BTkRfTEVOR1RIO1xufVxuXG4vKipcbiAqIEhhbmRsZXMgYSBjb21tYW5kIGFycmF5IHRoYXQgbWF5IGNvbnRhaW4gYW4ge0BsaW5rIEV4ZWNBcmd9LlxuICogUmV0dXJucyBhIFByb21pc2UgaWYgYmF0Y2hpbmcgaXMgbmVlZGVkLCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgY29tbWFuZFxuICogaGFzIG5vIEV4ZWNBcmcgYW5kIHNob3VsZCBiZSBwcm9jZXNzZWQgbm9ybWFsbHkuXG4gKlxuICogQHBhcmFtIHBhcnRzIC0gVGhlIGNvbW1hbmQgcGFydHMuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBleGVjIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgaWYgYmF0Y2hpbmcgaXMgaGFuZGxlZCwgb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmZ1bmN0aW9uIGhhbmRsZUJhdGNoZWRDb21tYW5kKHBhcnRzOiBDb21tYW5kUGFydFtdLCBvcHRpb25zOiBFeGVjT3B0aW9ucyk6IFByb21pc2U8RXhlY1Jlc3VsdCB8IHN0cmluZz4gfCB1bmRlZmluZWQge1xuICBjb25zdCBleGVjQXJncyA9IHBhcnRzLmZpbHRlcihpc0V4ZWNBcmcpO1xuICBpZiAoZXhlY0FyZ3MubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBpZiAoZXhlY0FyZ3MubGVuZ3RoID4gMSkge1xuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ09ubHkgb25lIEV4ZWNBcmcgd2l0aCBiYXRjaGVkQXJncyBpcyBhbGxvd2VkIHBlciBjb21tYW5kJykpO1xuICB9XG5cbiAgY29uc3QgZXhlY0FyZyA9IGV4ZWNBcmdzWzBdO1xuICBhc3NlcnROb25OdWxsYWJsZShleGVjQXJnKTtcbiAgY29uc3Qgc3RhdGljUGFydHMgPSBwYXJ0cy5maWx0ZXIoKHBhcnQpOiBwYXJ0IGlzIHN0cmluZyA9PiB0eXBlb2YgcGFydCA9PT0gJ3N0cmluZycpO1xuICBjb25zdCBiYXNlQ29tbWFuZCA9IHRvQ29tbWFuZExpbmUoc3RhdGljUGFydHMpO1xuICBjb25zdCBtYXhDb21tYW5kTGVuZ3RoID0gZ2V0TWF4Q29tbWFuZExlbmd0aCgpO1xuXG4gIC8vIFRyeSBleHBhbmRpbmcgYWxsIGFyZ3MgaW5saW5lXG4gIGNvbnN0IGZ1bGxDb21tYW5kID0gYCR7YmFzZUNvbW1hbmR9ICR7ZXhlY0FyZy5iYXRjaGVkQXJncy5qb2luKCcgJyl9YDtcbiAgaWYgKGZ1bGxDb21tYW5kLmxlbmd0aCA8PSBtYXhDb21tYW5kTGVuZ3RoKSB7XG4gICAgcmV0dXJuIGV4ZWNTdHJpbmcoZnVsbENvbW1hbmQsIG9wdGlvbnMpO1xuICB9XG5cbiAgLy8gU3BsaXQgaW50byBiYXRjaGVzXG4gIGNvbnN0IGJhdGNoZXM6IHN0cmluZ1tdW10gPSBbXTtcbiAgbGV0IGN1cnJlbnRCYXRjaDogc3RyaW5nW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IGFyZyBvZiBleGVjQXJnLmJhdGNoZWRBcmdzKSB7XG4gICAgY29uc3QgdGVudGF0aXZlID0gYCR7YmFzZUNvbW1hbmR9ICR7Wy4uLmN1cnJlbnRCYXRjaCwgYXJnXS5qb2luKCcgJyl9YDtcbiAgICBpZiAodGVudGF0aXZlLmxlbmd0aCA+IG1heENvbW1hbmRMZW5ndGgpIHtcbiAgICAgIGlmIChjdXJyZW50QmF0Y2gubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChcbiAgICAgICAgICBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgQ2Fubm90IHNwbGl0IGNvbW1hbmQgaW50byBiYXRjaGVzOiBhIHNpbmdsZSBhcmd1bWVudCAoJHtTdHJpbmcoYXJnLmxlbmd0aCl9IGNoYXJzKSBwbHVzIHRoZSBiYXNlIGNvbW1hbmQgKCR7XG4gICAgICAgICAgICAgIFN0cmluZyhiYXNlQ29tbWFuZC5sZW5ndGgpXG4gICAgICAgICAgICB9IGNoYXJzKSBleGNlZWRzIHRoZSBtYXggY29tbWFuZCBsZW5ndGggKCR7U3RyaW5nKG1heENvbW1hbmRMZW5ndGgpfSkuYFxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGJhdGNoZXMucHVzaChjdXJyZW50QmF0Y2gpO1xuICAgICAgY3VycmVudEJhdGNoID0gW2FyZ107XG4gICAgfSBlbHNlIHtcbiAgICAgIGN1cnJlbnRCYXRjaC5wdXNoKGFyZyk7XG4gICAgfVxuICB9XG4gIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBBbHdheXMgdHJ1ZSBhZnRlciB0aGUgbG9vcDsgYmF0Y2hlZEFyZ3MgaXMgbm9uLWVtcHR5IGF0IHRoaXMgcG9pbnQuICovXG4gIGlmIChjdXJyZW50QmF0Y2gubGVuZ3RoID4gMCkge1xuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgYmF0Y2hlcy5wdXNoKGN1cnJlbnRCYXRjaCk7XG4gIH1cblxuICByZXR1cm4gZXhlY3V0ZUJhdGNoZXMoYmFzZUNvbW1hbmQsIGJhdGNoZXMsIG9wdGlvbnMpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGNvbW1hbmQgcGFydCBpcyBhbiB7QGxpbmsgRXhlY0FyZ30uXG4gKlxuICogQHBhcmFtIHBhcnQgLSBUaGUgY29tbWFuZCBwYXJ0IHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgcGFydCBpcyBhbiBFeGVjQXJnLlxuICovXG5mdW5jdGlvbiBpc0V4ZWNBcmcocGFydDogQ29tbWFuZFBhcnQpOiBwYXJ0IGlzIEV4ZWNBcmcge1xuICByZXR1cm4gdHlwZW9mIHBhcnQgPT09ICdvYmplY3QnICYmICdiYXRjaGVkQXJncycgaW4gcGFydDtcbn1cblxuLyoqXG4gKiBTcGF3bnMgYSBjaGlsZCBwcm9jZXNzIHZpYSB0aGUgYXBwcm9wcmlhdGUgc2hlbGwuXG4gKlxuICogT24gV2luZG93cywgaWYgdGhlIGNvbW1hbmQgY29udGFpbnMgbmV3bGluZXMgKHdoaWNoIGBjbWQuZXhlYCBjYW5ub3QgaGFuZGxlKVxuICogYW5kIHRoZSByYXcgYXJncyBhcnJheSBpcyBhdmFpbGFibGUsIHNwYXducyB0aGUgcHJvY2VzcyBkaXJlY3RseSB3aXRob3V0XG4gKiBhbnkgc2hlbGwgXHUyMDE0IHBhc3NpbmcgYXJncyB2aWEgYENyZWF0ZVByb2Nlc3NgLCB3aGljaCBhdm9pZHMgYWxsIHF1b3RpbmcgaXNzdWVzLlxuICpcbiAqIE9uIFdpbmRvd3MgKGNtZC5leGUgcGF0aCksIGFwcGxpZXMgYF5gLWVzY2FwaW5nIGZvciBjbWQgbWV0YWNoYXJhY3RlcnMuXG4gKlxuICogQHBhcmFtIGNvbW1hbmQgLSBUaGUgY29tbWFuZCBzdHJpbmcgdG8gZXhlY3V0ZS5cbiAqIEBwYXJhbSBjd2QgLSBUaGUgd29ya2luZyBkaXJlY3RvcnkuXG4gKiBAcGFyYW0gcmF3QXJncyAtIFRoZSBvcmlnaW5hbCBhcmd1bWVudCBhcnJheSAoaWYgYXZhaWxhYmxlKS5cbiAqIEByZXR1cm5zIFRoZSBzcGF3bmVkIGNoaWxkIHByb2Nlc3MuXG4gKi9cbmZ1bmN0aW9uIHNwYXduVmlhU2hlbGwoY29tbWFuZDogc3RyaW5nLCBjd2Q6IHN0cmluZywgcmF3QXJncz86IHN0cmluZ1tdKTogQ2hpbGRQcm9jZXNzV2l0aG91dE51bGxTdHJlYW1zIHtcbiAgaWYgKHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMicgJiYgY29tbWFuZC5pbmNsdWRlcygnXFxuJykpIHtcbiAgICBpZiAoIXJhd0FyZ3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29tbWFuZHMgY29udGFpbmluZyBuZXdsaW5lcyBjYW5ub3QgYmUgZXhlY3V0ZWQgdGhyb3VnaCBjbWQuZXhlIG9uIFdpbmRvd3MuIFBhc3MgYW4gYXJndW1lbnQgYXJyYXkgaW5zdGVhZCBvZiBhIHN0cmluZy4nKTtcbiAgICB9XG4gICAgY29uc3QgW3Byb2dyYW0sIC4uLmFyZ3NdID0gcmF3QXJncztcbiAgICBhc3NlcnROb25OdWxsYWJsZShwcm9ncmFtLCAnQ29tbWFuZCBhcnJheSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICAgIHJldHVybiBzcGF3bihwcm9ncmFtLCBhcmdzLCB7XG4gICAgICBjd2QsXG4gICAgICBlbnY6IENISUxEX0VOVixcbiAgICAgIHN0ZGlvOiAncGlwZSdcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IHNoZWxsQ29tbWFuZCA9IHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMicgPyBjbWRFc2NhcGVDb21tYW5kTGluZShjb21tYW5kKSA6IGNvbW1hbmQ7XG4gIHJldHVybiBzcGF3bihzaGVsbENvbW1hbmQsIFtdLCB7XG4gICAgY3dkLFxuICAgIGVudjogQ0hJTERfRU5WLFxuICAgIHNoZWxsOiB0cnVlLFxuICAgIHN0ZGlvOiAncGlwZSdcbiAgfSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBLFNBQVMsYUFBYTtBQUN0QixPQUFPLGFBQWE7QUFFcEIsU0FBUyxzQkFBc0I7QUFDL0IsU0FBUyxlQUFlO0FBQ3hCLFNBQVMseUJBQXlCO0FBQ2xDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBd0lBLFNBQVMsS0FBSyxTQUFpQyxVQUF1QixDQUFDLEdBQWlDO0FBQzdHLE1BQUksTUFBTSxRQUFRLE9BQU8sR0FBRztBQUMxQixVQUFNLGNBQWMscUJBQXFCLFNBQVMsT0FBTztBQUN6RCxRQUFJLGFBQWE7QUFDZixhQUFPO0FBQUEsSUFDVDtBQUNBLFVBQU0sT0FBTyxRQUFRLE9BQU8sQ0FBQyxTQUF5QixPQUFPLFNBQVMsUUFBUTtBQUM5RSxVQUFNLGNBQWMsY0FBYyxJQUFJO0FBRXRDLFVBQU1BLG9CQUFtQixvQkFBb0I7QUFDN0MsUUFBSSxZQUFZLFNBQVNBLG1CQUFrQjtBQUN6QyxhQUFPLFFBQVE7QUFBQSxRQUNiLElBQUk7QUFBQSxVQUNGLDZCQUE2QixPQUFPLFlBQVksTUFBTSxDQUFDLGVBQ3JELE9BQU9BLGlCQUFnQixDQUN6QixPQUFPLFFBQVEsUUFBUTtBQUFBLFFBQ3pCO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFFQSxXQUFPLFdBQVcsYUFBYSxTQUFTLElBQUk7QUFBQSxFQUM5QztBQUVBLFFBQU0sbUJBQW1CLG9CQUFvQjtBQUM3QyxNQUFJLFFBQVEsU0FBUyxrQkFBa0I7QUFDckMsV0FBTyxRQUFRO0FBQUEsTUFDYixJQUFJO0FBQUEsUUFDRiw2QkFBNkIsT0FBTyxRQUFRLE1BQU0sQ0FBQyxlQUNqRCxPQUFPLGdCQUFnQixDQUN6QixPQUFPLFFBQVEsUUFBUTtBQUFBLE1BQ3pCO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFFQSxT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
219
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9leGVjLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGV4ZWN1dGluZyBjb21tYW5kcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IENoaWxkUHJvY2Vzc1dpdGhvdXROdWxsU3RyZWFtcyB9IGZyb20gJ25vZGU6Y2hpbGRfcHJvY2Vzcyc7XG5cbmltcG9ydCB7IHNwYXduIH0gZnJvbSAnbm9kZTpjaGlsZF9wcm9jZXNzJztcbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbmltcG9ydCB7IGdldExpYkRlYnVnZ2VyIH0gZnJvbSAnLi4vZGVidWcudHMnO1xuaW1wb3J0IHsgdHJpbUVuZCB9IGZyb20gJy4uL3N0cmluZy50cyc7XG5pbXBvcnQgeyBhc3NlcnROb25OdWxsYWJsZSB9IGZyb20gJy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7XG4gIGNtZEVzY2FwZUNvbW1hbmRMaW5lLFxuICB0b0NvbW1hbmRMaW5lXG59IGZyb20gJy4vY2xpLXV0aWxzLnRzJztcblxuLyoqXG4gKiBBIGNvbW1hbmQgcGFydDogZWl0aGVyIGEgcGxhaW4gc3RyaW5nIG9yIGFuIHtAbGluayBFeGVjQXJnfSB3aXRoIGJhdGNoZWQgYXJndW1lbnRzLlxuICovXG5leHBvcnQgdHlwZSBDb21tYW5kUGFydCA9IEV4ZWNBcmcgfCBzdHJpbmc7XG5cbi8qKlxuICogQSBjb21tYW5kIGFyZ3VtZW50IHRoYXQgY29udGFpbnMgYSBsaXN0IG9mIGFyZ3MgdG8gYmUgYmF0Y2hlZC5cbiAqIElmIHRoZSBleHBhbmRlZCBjb21tYW5kIGV4Y2VlZHMgdGhlIHBsYXRmb3JtJ3MgbWF4IGNvbW1hbmQgbGVuZ3RoLFxuICogdGhlIGJhdGNoZWQgYXJncyBhcmUgc3BsaXQgaW50byBzZXF1ZW50aWFsIGV4ZWN1dGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXhlY0FyZyB7XG4gIC8qKlxuICAgKiBUaGUgYXJndW1lbnRzIHRvIGJhdGNoLlxuICAgKi9cbiAgcmVhZG9ubHkgYmF0Y2hlZEFyZ3M6IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBleGVjfSB0aGF0IHJldHVybiBkZXRhaWxlZCByZXN1bHRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWNEZXRhaWxlZE9wdGlvbnMgZXh0ZW5kcyBFeGVjT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBNdXN0IGJlIGB0cnVlYCB0byByZWNlaXZlIGRldGFpbGVkIHJlc3VsdHMuXG4gICAqL1xuICByZWFkb25seSBzaG91bGRJbmNsdWRlRGV0YWlsczogdHJ1ZTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBleGVjdXRpbmcgYSBjb21tYW5kLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWNPcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgY3VycmVudCB3b3JraW5nIGZvbGRlciBmb3IgdGhlIGNvbW1hbmQgZXhlY3V0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY3dkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIHN1cHByZXNzZXMgdGhlIG91dHB1dCBvZiB0aGUgY29tbWFuZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzUXVpZXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIHRocm93cyBhbiBlcnJvciBpZiB0aGUgY29tbWFuZCBmYWlscy5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEZhaWxJZkNhbGxlZEZyb21PdXRzaWRlUm9vdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgaWdub3JlcyB0aGUgZXhpdCBjb2RlIG9mIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkSWdub3JlRXhpdENvZGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBgZmFsc2VgLCBvbmx5IHJldHVybnMgdGhlIG91dHB1dCBvZiB0aGUgY29tbWFuZC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEluY2x1ZGVEZXRhaWxzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQW4gaW5wdXQgdG8gYmUgcGFzc2VkIHRvIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RkaW4/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSByZXN1bHQgb2Yge0BsaW5rIGV4ZWN9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWNSZXN1bHQge1xuICAvKipcbiAgICogQW4gZXhpdCBjb2RlIG9mIHRoZSBjb21tYW5kLiBBIHZhbHVlIG9mIGBudWxsYCBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJvY2VzcyBkaWQgbm90IGV4aXQgbm9ybWFsbHkuXG4gICAqL1xuICByZWFkb25seSBleGl0Q29kZTogbnVsbCB8IG51bWJlcjtcblxuICAvKipcbiAgICogQSBzaWduYWwgdGhhdCBjYXVzZWQgdGhlIHByb2Nlc3MgdG8gYmUgdGVybWluYXRlZC4gQSB2YWx1ZSBvZiBgbnVsbGAgaW5kaWNhdGVzIHRoYXQgbm8gc2lnbmFsIHdhcyByZWNlaXZlZC5cbiAgICovXG4gIHJlYWRvbmx5IGV4aXRTaWduYWw6IE5vZGVKUy5TaWduYWxzIHwgbnVsbDtcblxuICAvKipcbiAgICogQSBzdGFuZGFyZCBlcnJvciBvdXRwdXQgZnJvbSB0aGUgY29tbWFuZC5cbiAgICovXG4gIHJlYWRvbmx5IHN0ZGVycjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHN0YW5kYXJkIG91dHB1dCBmcm9tIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcmVhZG9ubHkgc3Rkb3V0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGV4ZWN9IHRoYXQgcmV0dXJuIG9ubHkgc3Rkb3V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWNTaW1wbGVPcHRpb25zIGV4dGVuZHMgRXhlY09wdGlvbnMge1xuICAvKipcbiAgICogTXVzdCBiZSBgZmFsc2VgIG9yIG9taXR0ZWQgdG8gcmVjZWl2ZSBvbmx5IHN0ZG91dC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEluY2x1ZGVEZXRhaWxzPzogZmFsc2U7XG59XG5cbi8qKlxuICogRXhlY3V0ZXMgYSBjb21tYW5kLlxuICpcbiAqIEBwYXJhbSBjb21tYW5kIC0gVGhlIGNvbW1hbmQgdG8gZXhlY3V0ZS4gSXQgY2FuIGJlIGEgc3RyaW5nIG9yIGFuIGFycmF5IG9mIHN0cmluZ3MuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgZXhlY3V0aW9uLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBvdXRwdXQgb2YgdGhlIGNvbW1hbmQuXG4gKiBAdGhyb3dzIElmIHRoZSBjb21tYW5kIGZhaWxzIHdpdGggYSBub24temVybyBleGl0IGNvZGUgYW5kIGlnbm9yZUV4aXRDb2RlIGlzIGBmYWxzZWAuXG4gKiAgICAgICAgIFRoZSBlcnJvciBtZXNzYWdlIGluY2x1ZGVzIHRoZSBleGl0IGNvZGUgYW5kIHN0ZGVyci5cbiAqICAgICAgICAgSWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgZXhlY3V0aW9uIGFuZCBpZ25vcmVFeGl0Q29kZSBpcyBgdHJ1ZWAsXG4gKiAgICAgICAgIHRoZSBlcnJvciBpcyByZXNvbHZlZCB3aXRoIHRoZSBzdGRvdXQgYW5kIHN0ZGVyci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGV4ZWMoY29tbWFuZDogQ29tbWFuZFBhcnRbXSB8IHN0cmluZywgb3B0aW9ucz86IEV4ZWNTaW1wbGVPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+O1xuLyoqXG4gKiBFeGVjdXRlcyBhIGNvbW1hbmQuXG4gKlxuICogQHBhcmFtIGNvbW1hbmQgLSBUaGUgY29tbWFuZCB0byBleGVjdXRlLiBJdCBjYW4gYmUgYSBzdHJpbmcgb3IgYW4gYXJyYXkgb2Ygc3RyaW5ncy5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHRoZSBleGVjdXRpb24uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggRXhlY1Jlc3VsdCBvYmplY3QuXG4gKiAgICAgICAgICBUaGUgRXhlY1Jlc3VsdCBvYmplY3QgY29udGFpbnMgdGhlIGV4aXQgY29kZSwgZXhpdCBzaWduYWwsIHN0ZGVyciwgYW5kIHN0ZG91dC5cbiAqIEB0aHJvd3MgSWYgdGhlIGNvbW1hbmQgZmFpbHMgd2l0aCBhIG5vbi16ZXJvIGV4aXQgY29kZSBhbmQgaWdub3JlRXhpdENvZGUgaXMgYGZhbHNlYC5cbiAqICAgICAgICAgVGhlIGVycm9yIG1lc3NhZ2UgaW5jbHVkZXMgdGhlIGV4aXQgY29kZSBhbmQgc3RkZXJyLlxuICogICAgICAgICBJZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIHRoZSBleGVjdXRpb24gYW5kIGlnbm9yZUV4aXRDb2RlIGlzIGB0cnVlYCxcbiAqICAgICAgICAgdGhlIGVycm9yIGlzIHJlc29sdmVkIHdpdGggdGhlIHN0ZG91dCBhbmQgc3RkZXJyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhlYyhjb21tYW5kOiBDb21tYW5kUGFydFtdIHwgc3RyaW5nLCBvcHRpb25zOiBFeGVjRGV0YWlsZWRPcHRpb25zKTogUHJvbWlzZTxFeGVjUmVzdWx0Pjtcbi8qKlxuICogRXhlY3V0ZXMgYSBjb21tYW5kLlxuICpcbiAqIEBwYXJhbSBjb21tYW5kIC0gVGhlIGNvbW1hbmQgdG8gZXhlY3V0ZS4gSXQgY2FuIGJlIGEgc3RyaW5nIG9yIGFuIGFycmF5IG9mIHN0cmluZ3MuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgZXhlY3V0aW9uLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBvdXRwdXQgb2YgdGhlIGNvbW1hbmQgb3IgYW4gRXhlY1Jlc3VsdCBvYmplY3QuXG4gKiAgICAgICAgICBUaGUgRXhlY1Jlc3VsdCBvYmplY3QgY29udGFpbnMgdGhlIGV4aXQgY29kZSwgZXhpdCBzaWduYWwsIHN0ZGVyciwgYW5kIHN0ZG91dC5cbiAqIEB0aHJvd3MgSWYgdGhlIGNvbW1hbmQgZmFpbHMgd2l0aCBhIG5vbi16ZXJvIGV4aXQgY29kZSBhbmQgaWdub3JlRXhpdENvZGUgaXMgYGZhbHNlYC5cbiAqICAgICAgICAgVGhlIGVycm9yIG1lc3NhZ2UgaW5jbHVkZXMgdGhlIGV4aXQgY29kZSBhbmQgc3RkZXJyLlxuICogICAgICAgICBJZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIHRoZSBleGVjdXRpb24gYW5kIGlnbm9yZUV4aXRDb2RlIGlzIGB0cnVlYCxcbiAqICAgICAgICAgdGhlIGVycm9yIGlzIHJlc29sdmVkIHdpdGggdGhlIHN0ZG91dCBhbmQgc3RkZXJyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhlYyhjb21tYW5kOiBDb21tYW5kUGFydFtdIHwgc3RyaW5nLCBvcHRpb25zOiBFeGVjT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxFeGVjUmVzdWx0IHwgc3RyaW5nPiB7XG4gIGlmIChBcnJheS5pc0FycmF5KGNvbW1hbmQpKSB7XG4gICAgY29uc3QgYmF0Y2hSZXN1bHQgPSBoYW5kbGVCYXRjaGVkQ29tbWFuZChjb21tYW5kLCBvcHRpb25zKTtcbiAgICBpZiAoYmF0Y2hSZXN1bHQpIHtcbiAgICAgIHJldHVybiBiYXRjaFJlc3VsdDtcbiAgICB9XG4gICAgY29uc3QgYXJncyA9IGNvbW1hbmQuZmlsdGVyKChwYXJ0KTogcGFydCBpcyBzdHJpbmcgPT4gdHlwZW9mIHBhcnQgPT09ICdzdHJpbmcnKTtcbiAgICBjb25zdCBjb21tYW5kTGluZSA9IHRvQ29tbWFuZExpbmUoYXJncyk7XG5cbiAgICBjb25zdCBtYXhDb21tYW5kTGVuZ3RoID0gZ2V0TWF4Q29tbWFuZExlbmd0aCgpO1xuICAgIGlmIChjb21tYW5kTGluZS5sZW5ndGggPiBtYXhDb21tYW5kTGVuZ3RoKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICAgIG5ldyBFcnJvcihcbiAgICAgICAgICBgQ29tbWFuZCBsaW5lIGlzIHRvbyBsb25nICgke1N0cmluZyhjb21tYW5kTGluZS5sZW5ndGgpfSBjaGFycywgbWF4ICR7U3RyaW5nKG1heENvbW1hbmRMZW5ndGgpfSBvbiAke3Byb2Nlc3MucGxhdGZvcm19KS4gQ29uc2lkZXIgc3BsaXR0aW5nIGludG8gc21hbGxlciBiYXRjaGVzIG9yIHVzZSBFeGVjQXJnLmBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXhlY1N0cmluZyhjb21tYW5kTGluZSwgb3B0aW9ucywgYXJncyk7XG4gIH1cblxuICBjb25zdCBtYXhDb21tYW5kTGVuZ3RoID0gZ2V0TWF4Q29tbWFuZExlbmd0aCgpO1xuICBpZiAoY29tbWFuZC5sZW5ndGggPiBtYXhDb21tYW5kTGVuZ3RoKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFxuICAgICAgbmV3IEVycm9yKFxuICAgICAgICBgQ29tbWFuZCBsaW5lIGlzIHRvbyBsb25nICgke1N0cmluZyhjb21tYW5kLmxlbmd0aCl9IGNoYXJzLCBtYXggJHtTdHJpbmcobWF4Q29tbWFuZExlbmd0aCl9IG9uICR7cHJvY2Vzcy5wbGF0Zm9ybX0pLiBDb25zaWRlciBzcGxpdHRpbmcgaW50byBzbWFsbGVyIGJhdGNoZXMgb3IgdXNlIEV4ZWNBcmcuYFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICByZXR1cm4gZXhlY1N0cmluZyhjb21tYW5kLCBvcHRpb25zKTtcbn1cblxuLyoqXG4gKiBFeGVjdXRlcyBhIHNpbmdsZSBzdHJpbmcgY29tbWFuZC5cbiAqXG4gKiBAcGFyYW0gY29tbWFuZCAtIFRoZSBjb21tYW5kIHN0cmluZy5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIGV4ZWMgb3B0aW9ucy5cbiAqIEBwYXJhbSByYXdBcmdzIC0gVGhlIG9yaWdpbmFsIGFyZ3VtZW50IGFycmF5IChpZiBhdmFpbGFibGUpLCB1c2VkIGJ5IHRoZSBQb3dlclNoZWxsXG4gKiAgIGZhbGxiYWNrIHBhdGggdG8gcXVvdGUgYXJndW1lbnRzIHdpdGggUG93ZXJTaGVsbC1uYXRpdmUgc2luZ2xlIHF1b3Rlcy5cbiAqIEByZXR1cm5zIEEgUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIHJlc3VsdC5cbiAqL1xuZnVuY3Rpb24gZXhlY1N0cmluZyhjb21tYW5kOiBzdHJpbmcsIG9wdGlvbnM6IEV4ZWNPcHRpb25zID0ge30sIHJhd0FyZ3M/OiBzdHJpbmdbXSk6IFByb21pc2U8RXhlY1Jlc3VsdCB8IHN0cmluZz4ge1xuICBjb25zdCB7XG4gICAgY3dkID0gcHJvY2Vzcy5jd2QoKSxcbiAgICBpc1F1aWV0OiBxdWlldCA9IGZhbHNlLFxuICAgIHNob3VsZElnbm9yZUV4aXRDb2RlOiBpZ25vcmVFeGl0Q29kZSA9IGZhbHNlLFxuICAgIHNob3VsZEluY2x1ZGVEZXRhaWxzID0gZmFsc2UsXG4gICAgc3RkaW4gPSAnJ1xuICB9ID0gb3B0aW9ucztcblxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGdldExpYkRlYnVnZ2VyKCdFeGVjJykoYEV4ZWN1dGluZyBjb21tYW5kOiAke2NvbW1hbmR9YCk7XG5cbiAgICBjb25zdCBjaGlsZCA9IHNwYXduVmlhU2hlbGwoY29tbWFuZCwgY3dkLCByYXdBcmdzKTtcblxuICAgIGxldCBzdGRvdXQgPSAnJztcbiAgICBsZXQgc3RkZXJyID0gJyc7XG5cbiAgICBjaGlsZC5zdGRpbi53cml0ZShzdGRpbik7XG4gICAgY2hpbGQuc3RkaW4uZW5kKCk7XG5cbiAgICBjaGlsZC5zdGRvdXQub24oJ2RhdGEnLCAoZGF0YTogQnVmZmVyKSA9PiB7XG4gICAgICBpZiAoIXF1aWV0KSB7XG4gICAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKGRhdGEpO1xuICAgICAgfVxuICAgICAgc3Rkb3V0ICs9IGRhdGEudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gICAgfSk7XG5cbiAgICBjaGlsZC5zdGRvdXQub24oJ2VuZCcsICgpID0+IHtcbiAgICAgIHN0ZG91dCA9IHRyaW1FbmQoc3Rkb3V0LCAnXFxuJyk7XG4gICAgfSk7XG5cbiAgICBjaGlsZC5zdGRlcnIub24oJ2RhdGEnLCAoZGF0YTogQnVmZmVyKSA9PiB7XG4gICAgICBpZiAoIXF1aWV0KSB7XG4gICAgICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGRhdGEpO1xuICAgICAgfVxuICAgICAgc3RkZXJyICs9IGRhdGEudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gICAgfSk7XG5cbiAgICBjaGlsZC5zdGRlcnIub24oJ2VuZCcsICgpID0+IHtcbiAgICAgIHN0ZGVyciA9IHRyaW1FbmQoc3RkZXJyLCAnXFxuJyk7XG4gICAgfSk7XG5cbiAgICBjaGlsZC5vbignY2xvc2UnLCAoZXhpdENvZGUsIGV4aXRTaWduYWwpID0+IHtcbiAgICAgIGlmIChleGl0Q29kZSAhPT0gMCAmJiAhaWdub3JlRXhpdENvZGUpIHtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgQ29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJHtleGl0Q29kZSA/IFN0cmluZyhleGl0Q29kZSkgOiAnKG51bGwpJ31cXG4ke3N0ZGVycn1gKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFzaG91bGRJbmNsdWRlRGV0YWlscykge1xuICAgICAgICByZXNvbHZlKHN0ZG91dCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHJlc29sdmUoe1xuICAgICAgICBleGl0Q29kZSxcbiAgICAgICAgZXhpdFNpZ25hbCxcbiAgICAgICAgc3RkZXJyLFxuICAgICAgICBzdGRvdXRcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgY2hpbGQub24oJ2Vycm9yJywgKGVycikgPT4ge1xuICAgICAgaWYgKCFpZ25vcmVFeGl0Q29kZSkge1xuICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXNob3VsZEluY2x1ZGVEZXRhaWxzKSB7XG4gICAgICAgIHJlc29sdmUoc3Rkb3V0KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICByZXNvbHZlKHtcbiAgICAgICAgZXhpdENvZGU6IG51bGwsXG4gICAgICAgIGV4aXRTaWduYWw6IG51bGwsXG4gICAgICAgIHN0ZGVycixcbiAgICAgICAgc3Rkb3V0XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbi8qKlxuICogRGVmYXVsdCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgcGFzc2VkIHRvIGNoaWxkIHByb2Nlc3Nlcy5cbiAqL1xuY29uc3QgQ0hJTERfRU5WID0ge1xuICBERUJVR19DT0xPUlM6ICcxJyxcbiAgLi4ucHJvY2Vzcy5lbnZcbn07XG5cbi8qKlxuICogRXhlY3V0ZXMgYmF0Y2hlZCBjb21tYW5kcyBzZXF1ZW50aWFsbHkgYW5kIGNvbmNhdGVuYXRlcyBzdGRvdXQuXG4gKlxuICogQHBhcmFtIGJhc2VDb21tYW5kIC0gVGhlIGJhc2UgY29tbWFuZCB3aXRob3V0IGJhdGNoZWQgYXJncy5cbiAqIEBwYXJhbSBiYXRjaGVzIC0gVGhlIGJhdGNoZXMgb2YgYXJncy5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIGV4ZWMgb3B0aW9ucy5cbiAqIEByZXR1cm5zIEEgUHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIGNvbmNhdGVuYXRlZCByZXN1bHQuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGV4ZWN1dGVCYXRjaGVzKGJhc2VDb21tYW5kOiBzdHJpbmcsIGJhdGNoZXM6IHN0cmluZ1tdW10sIG9wdGlvbnM6IEV4ZWNPcHRpb25zKTogUHJvbWlzZTxFeGVjUmVzdWx0IHwgc3RyaW5nPiB7XG4gIGNvbnN0IHJlc3VsdHM6IHN0cmluZ1tdID0gW107XG5cbiAgZm9yIChjb25zdCBiYXRjaCBvZiBiYXRjaGVzKSB7XG4gICAgY29uc3QgYmF0Y2hDb21tYW5kID0gYCR7YmFzZUNvbW1hbmR9ICR7YmF0Y2guam9pbignICcpfWA7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZXhlY1N0cmluZyhiYXRjaENvbW1hbmQsIG9wdGlvbnMpO1xuICAgIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJykge1xuICAgICAgcmVzdWx0cy5wdXNoKHJlc3VsdCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKG9wdGlvbnMuc2hvdWxkSW5jbHVkZURldGFpbHMpIHtcbiAgICByZXR1cm4geyBleGl0Q29kZTogMCwgZXhpdFNpZ25hbDogbnVsbCwgc3RkZXJyOiAnJywgc3Rkb3V0OiByZXN1bHRzLmpvaW4oJ1xcbicpIH07XG4gIH1cblxuICByZXR1cm4gcmVzdWx0cy5qb2luKCdcXG4nKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBwbGF0Zm9ybS1zcGVjaWZpYyBtYXggY29tbWFuZCBsaW5lIGxlbmd0aC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgbWF4IGNvbW1hbmQgbGVuZ3RoIGluIGNoYXJhY3RlcnMuXG4gKi9cbmZ1bmN0aW9uIGdldE1heENvbW1hbmRMZW5ndGgoKTogbnVtYmVyIHtcbiAgY29uc3QgV0lORE9XU19NQVhfQ09NTUFORF9MRU5HVEggPSA4MTkxO1xuICBjb25zdCBVTklYX01BWF9DT01NQU5EX0xFTkdUSCA9IDEzMTA3MjtcbiAgcmV0dXJuIHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMicgPyBXSU5ET1dTX01BWF9DT01NQU5EX0xFTkdUSCA6IFVOSVhfTUFYX0NPTU1BTkRfTEVOR1RIO1xufVxuXG4vKipcbiAqIEhhbmRsZXMgYSBjb21tYW5kIGFycmF5IHRoYXQgbWF5IGNvbnRhaW4gYW4ge0BsaW5rIEV4ZWNBcmd9LlxuICogUmV0dXJucyBhIFByb21pc2UgaWYgYmF0Y2hpbmcgaXMgbmVlZGVkLCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgY29tbWFuZFxuICogaGFzIG5vIEV4ZWNBcmcgYW5kIHNob3VsZCBiZSBwcm9jZXNzZWQgbm9ybWFsbHkuXG4gKlxuICogQHBhcmFtIHBhcnRzIC0gVGhlIGNvbW1hbmQgcGFydHMuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBleGVjIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBBIFByb21pc2UgaWYgYmF0Y2hpbmcgaXMgaGFuZGxlZCwgb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmZ1bmN0aW9uIGhhbmRsZUJhdGNoZWRDb21tYW5kKHBhcnRzOiBDb21tYW5kUGFydFtdLCBvcHRpb25zOiBFeGVjT3B0aW9ucyk6IFByb21pc2U8RXhlY1Jlc3VsdCB8IHN0cmluZz4gfCB1bmRlZmluZWQge1xuICBjb25zdCBleGVjQXJncyA9IHBhcnRzLmZpbHRlcihpc0V4ZWNBcmcpO1xuICBpZiAoZXhlY0FyZ3MubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBpZiAoZXhlY0FyZ3MubGVuZ3RoID4gMSkge1xuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ09ubHkgb25lIEV4ZWNBcmcgd2l0aCBiYXRjaGVkQXJncyBpcyBhbGxvd2VkIHBlciBjb21tYW5kJykpO1xuICB9XG5cbiAgY29uc3QgZXhlY0FyZyA9IGV4ZWNBcmdzWzBdO1xuICBhc3NlcnROb25OdWxsYWJsZShleGVjQXJnKTtcbiAgY29uc3Qgc3RhdGljUGFydHMgPSBwYXJ0cy5maWx0ZXIoKHBhcnQpOiBwYXJ0IGlzIHN0cmluZyA9PiB0eXBlb2YgcGFydCA9PT0gJ3N0cmluZycpO1xuICBjb25zdCBiYXNlQ29tbWFuZCA9IHRvQ29tbWFuZExpbmUoc3RhdGljUGFydHMpO1xuICBjb25zdCBtYXhDb21tYW5kTGVuZ3RoID0gZ2V0TWF4Q29tbWFuZExlbmd0aCgpO1xuXG4gIC8vIFRyeSBleHBhbmRpbmcgYWxsIGFyZ3MgaW5saW5lXG4gIGNvbnN0IGZ1bGxDb21tYW5kID0gYCR7YmFzZUNvbW1hbmR9ICR7ZXhlY0FyZy5iYXRjaGVkQXJncy5qb2luKCcgJyl9YDtcbiAgaWYgKGZ1bGxDb21tYW5kLmxlbmd0aCA8PSBtYXhDb21tYW5kTGVuZ3RoKSB7XG4gICAgcmV0dXJuIGV4ZWNTdHJpbmcoZnVsbENvbW1hbmQsIG9wdGlvbnMpO1xuICB9XG5cbiAgLy8gU3BsaXQgaW50byBiYXRjaGVzXG4gIGNvbnN0IGJhdGNoZXM6IHN0cmluZ1tdW10gPSBbXTtcbiAgbGV0IGN1cnJlbnRCYXRjaDogc3RyaW5nW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IGFyZyBvZiBleGVjQXJnLmJhdGNoZWRBcmdzKSB7XG4gICAgY29uc3QgdGVudGF0aXZlID0gYCR7YmFzZUNvbW1hbmR9ICR7Wy4uLmN1cnJlbnRCYXRjaCwgYXJnXS5qb2luKCcgJyl9YDtcbiAgICBpZiAodGVudGF0aXZlLmxlbmd0aCA+IG1heENvbW1hbmRMZW5ndGgpIHtcbiAgICAgIGlmIChjdXJyZW50QmF0Y2gubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChcbiAgICAgICAgICBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgQ2Fubm90IHNwbGl0IGNvbW1hbmQgaW50byBiYXRjaGVzOiBhIHNpbmdsZSBhcmd1bWVudCAoJHtTdHJpbmcoYXJnLmxlbmd0aCl9IGNoYXJzKSBwbHVzIHRoZSBiYXNlIGNvbW1hbmQgKCR7U3RyaW5nKGJhc2VDb21tYW5kLmxlbmd0aCl9IGNoYXJzKSBleGNlZWRzIHRoZSBtYXggY29tbWFuZCBsZW5ndGggKCR7U3RyaW5nKG1heENvbW1hbmRMZW5ndGgpfSkuYFxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGJhdGNoZXMucHVzaChjdXJyZW50QmF0Y2gpO1xuICAgICAgY3VycmVudEJhdGNoID0gW2FyZ107XG4gICAgfSBlbHNlIHtcbiAgICAgIGN1cnJlbnRCYXRjaC5wdXNoKGFyZyk7XG4gICAgfVxuICB9XG4gIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBBbHdheXMgdHJ1ZSBhZnRlciB0aGUgbG9vcDsgYmF0Y2hlZEFyZ3MgaXMgbm9uLWVtcHR5IGF0IHRoaXMgcG9pbnQuICovXG4gIGlmIChjdXJyZW50QmF0Y2gubGVuZ3RoID4gMCkge1xuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgYmF0Y2hlcy5wdXNoKGN1cnJlbnRCYXRjaCk7XG4gIH1cblxuICByZXR1cm4gZXhlY3V0ZUJhdGNoZXMoYmFzZUNvbW1hbmQsIGJhdGNoZXMsIG9wdGlvbnMpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGNvbW1hbmQgcGFydCBpcyBhbiB7QGxpbmsgRXhlY0FyZ30uXG4gKlxuICogQHBhcmFtIHBhcnQgLSBUaGUgY29tbWFuZCBwYXJ0IHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgcGFydCBpcyBhbiBFeGVjQXJnLlxuICovXG5mdW5jdGlvbiBpc0V4ZWNBcmcocGFydDogQ29tbWFuZFBhcnQpOiBwYXJ0IGlzIEV4ZWNBcmcge1xuICByZXR1cm4gdHlwZW9mIHBhcnQgPT09ICdvYmplY3QnICYmICdiYXRjaGVkQXJncycgaW4gcGFydDtcbn1cblxuLyoqXG4gKiBTcGF3bnMgYSBjaGlsZCBwcm9jZXNzIHZpYSB0aGUgYXBwcm9wcmlhdGUgc2hlbGwuXG4gKlxuICogT24gV2luZG93cywgaWYgdGhlIGNvbW1hbmQgY29udGFpbnMgbmV3bGluZXMgKHdoaWNoIGBjbWQuZXhlYCBjYW5ub3QgaGFuZGxlKVxuICogYW5kIHRoZSByYXcgYXJncyBhcnJheSBpcyBhdmFpbGFibGUsIHNwYXducyB0aGUgcHJvY2VzcyBkaXJlY3RseSB3aXRob3V0XG4gKiBhbnkgc2hlbGwgXHUyMDE0IHBhc3NpbmcgYXJncyB2aWEgYENyZWF0ZVByb2Nlc3NgLCB3aGljaCBhdm9pZHMgYWxsIHF1b3RpbmcgaXNzdWVzLlxuICpcbiAqIE9uIFdpbmRvd3MgKGNtZC5leGUgcGF0aCksIGFwcGxpZXMgYF5gLWVzY2FwaW5nIGZvciBjbWQgbWV0YWNoYXJhY3RlcnMuXG4gKlxuICogQHBhcmFtIGNvbW1hbmQgLSBUaGUgY29tbWFuZCBzdHJpbmcgdG8gZXhlY3V0ZS5cbiAqIEBwYXJhbSBjd2QgLSBUaGUgd29ya2luZyBkaXJlY3RvcnkuXG4gKiBAcGFyYW0gcmF3QXJncyAtIFRoZSBvcmlnaW5hbCBhcmd1bWVudCBhcnJheSAoaWYgYXZhaWxhYmxlKS5cbiAqIEByZXR1cm5zIFRoZSBzcGF3bmVkIGNoaWxkIHByb2Nlc3MuXG4gKi9cbmZ1bmN0aW9uIHNwYXduVmlhU2hlbGwoY29tbWFuZDogc3RyaW5nLCBjd2Q6IHN0cmluZywgcmF3QXJncz86IHN0cmluZ1tdKTogQ2hpbGRQcm9jZXNzV2l0aG91dE51bGxTdHJlYW1zIHtcbiAgaWYgKHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMicgJiYgY29tbWFuZC5pbmNsdWRlcygnXFxuJykpIHtcbiAgICBpZiAoIXJhd0FyZ3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29tbWFuZHMgY29udGFpbmluZyBuZXdsaW5lcyBjYW5ub3QgYmUgZXhlY3V0ZWQgdGhyb3VnaCBjbWQuZXhlIG9uIFdpbmRvd3MuIFBhc3MgYW4gYXJndW1lbnQgYXJyYXkgaW5zdGVhZCBvZiBhIHN0cmluZy4nKTtcbiAgICB9XG4gICAgY29uc3QgW3Byb2dyYW0sIC4uLmFyZ3NdID0gcmF3QXJncztcbiAgICBhc3NlcnROb25OdWxsYWJsZShwcm9ncmFtLCAnQ29tbWFuZCBhcnJheSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICAgIHJldHVybiBzcGF3bihwcm9ncmFtLCBhcmdzLCB7XG4gICAgICBjd2QsXG4gICAgICBlbnY6IENISUxEX0VOVixcbiAgICAgIHN0ZGlvOiAncGlwZSdcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IHNoZWxsQ29tbWFuZCA9IHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMicgPyBjbWRFc2NhcGVDb21tYW5kTGluZShjb21tYW5kKSA6IGNvbW1hbmQ7XG4gIHJldHVybiBzcGF3bihzaGVsbENvbW1hbmQsIFtdLCB7XG4gICAgY3dkLFxuICAgIGVudjogQ0hJTERfRU5WLFxuICAgIHNoZWxsOiB0cnVlLFxuICAgIHN0ZGlvOiAncGlw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
@@ -1,6 +1,7 @@
1
1
  /// <reference path="../library.d.mts" />
2
2
  export * as 'build' from './build.mjs';
3
3
  export * as 'bundlers' from './bundlers/index.mjs';
4
+ export * as 'check-project-types' from './check-project-types.mjs';
4
5
  export * as 'cli-utils' from './cli-utils.mjs';
5
6
  export * as 'code-generator' from './code-generator.mjs';
6
7
  export * as 'commitlint-config' from './commitlint-config.mjs';
@@ -16,4 +17,5 @@ export * as 'npm' from './npm.mjs';
16
17
  export * as 'obsidian-dev-utils-repo-paths' from './obsidian-dev-utils-repo-paths.mjs';
17
18
  export * as 'root' from './root.mjs';
18
19
  export * as 'test-runners' from './test-runners/index.mjs';
20
+ export * as 'validate-declarations' from './validate-declarations.mjs';
19
21
  export * as 'version' from './version.mjs';