@decohere/forge 0.0.1-dev.5 → 0.0.1-dev.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/commonjs/src/actions/build.action.js +1 -1
  2. package/commonjs/src/actions/clean.action.js +1 -1
  3. package/commonjs/src/actions/commit.action.js +10 -3
  4. package/commonjs/src/actions/copy.action.js +1 -1
  5. package/commonjs/src/actions/dependency-report.action.js +1 -1
  6. package/commonjs/src/actions/dependency-sync.action.js +1 -1
  7. package/commonjs/src/actions/index.js +1 -1
  8. package/commonjs/src/actions/publish.action.js +1 -1
  9. package/commonjs/src/actions/sync-lock-file.action.js +1 -1
  10. package/commonjs/src/actions/tag.action.js +1 -1
  11. package/commonjs/src/actions/version.action.js +1 -1
  12. package/commonjs/src/actions/watch.action.js +1 -1
  13. package/commonjs/src/commands/build.command.js +1 -1
  14. package/commonjs/src/commands/dependency.command.js +1 -1
  15. package/commonjs/src/commands/forge.command.js +1 -1
  16. package/commonjs/src/commands/index.js +1 -1
  17. package/commonjs/src/commands/publish.command.js +1 -1
  18. package/commonjs/src/commands/tag.command.js +1 -1
  19. package/commonjs/src/commands/version.command.js +1 -1
  20. package/commonjs/src/const.js +1 -1
  21. package/commonjs/src/errors.js +1 -1
  22. package/commonjs/src/extensions/project.extensions.js +35 -7
  23. package/commonjs/src/factories/swc-config.factory.js +1 -1
  24. package/commonjs/src/forge.module.js +1 -1
  25. package/commonjs/src/index.js +22 -1
  26. package/commonjs/src/mixins/caches-outputs.mixin.js +1 -1
  27. package/commonjs/src/mixins/incremental-transform.mixin.js +1 -1
  28. package/commonjs/src/services/dependency-resolver.service.js +1 -1
  29. package/commonjs/src/services/file-writer.service.js +1 -1
  30. package/commonjs/src/services/swc-transpiler.js +53 -1
  31. package/commonjs/src/services/ts-program-host.js +1 -1
  32. package/commonjs/src/services/type-emission-program.js +1 -1
  33. package/commonjs/src/services/type-emitter.js +1 -1
  34. package/commonjs/src/types/build-target.type.js +1 -1
  35. package/commonjs/src/types/swc-config.type.js +1 -1
  36. package/commonjs/src/types/transform-response.model.js +1 -1
  37. package/commonjs/src/types/transformer.type.js +1 -1
  38. package/commonjs/src/vitest/forge-build.plugin.js +1 -1
  39. package/commonjs/src/vitest/index.js +1 -1
  40. package/commonjs/src/workspace.config.js +4 -14
  41. package/es6/src/actions/build.action.js +1 -1
  42. package/es6/src/actions/clean.action.js +1 -1
  43. package/es6/src/actions/commit.action.js +5 -3
  44. package/es6/src/actions/copy.action.js +1 -1
  45. package/es6/src/actions/dependency-report.action.js +1 -1
  46. package/es6/src/actions/dependency-sync.action.js +1 -1
  47. package/es6/src/actions/index.js +1 -1
  48. package/es6/src/actions/publish.action.js +1 -1
  49. package/es6/src/actions/sync-lock-file.action.js +1 -1
  50. package/es6/src/actions/tag.action.js +1 -1
  51. package/es6/src/actions/version.action.js +1 -1
  52. package/es6/src/actions/watch.action.js +1 -1
  53. package/es6/src/commands/build.command.js +1 -1
  54. package/es6/src/commands/dependency.command.js +1 -1
  55. package/es6/src/commands/forge.command.js +1 -1
  56. package/es6/src/commands/index.js +1 -1
  57. package/es6/src/commands/publish.command.js +1 -1
  58. package/es6/src/commands/tag.command.js +1 -1
  59. package/es6/src/commands/version.command.js +1 -1
  60. package/es6/src/const.js +1 -1
  61. package/es6/src/errors.js +1 -1
  62. package/es6/src/extensions/project.extensions.js +35 -7
  63. package/es6/src/factories/swc-config.factory.js +1 -1
  64. package/es6/src/forge.module.js +1 -1
  65. package/es6/src/index.js +4 -1
  66. package/es6/src/mixins/caches-outputs.mixin.js +1 -1
  67. package/es6/src/mixins/incremental-transform.mixin.js +1 -1
  68. package/es6/src/services/dependency-resolver.service.js +1 -1
  69. package/es6/src/services/file-writer.service.js +1 -1
  70. package/es6/src/services/swc-transpiler.js +54 -2
  71. package/es6/src/services/ts-program-host.js +1 -1
  72. package/es6/src/services/type-emission-program.js +1 -1
  73. package/es6/src/services/type-emitter.js +1 -1
  74. package/es6/src/types/build-target.type.js +1 -1
  75. package/es6/src/types/configuration.type.js +1 -1
  76. package/es6/src/types/dependency.types.js +1 -1
  77. package/es6/src/types/swc-config.type.js +1 -1
  78. package/es6/src/types/transform-response.model.js +1 -1
  79. package/es6/src/types/transformer.type.js +1 -1
  80. package/es6/src/types/workspace-config.type.js +1 -1
  81. package/es6/src/vitest/forge-build.plugin.js +1 -1
  82. package/es6/src/vitest/index.js +1 -1
  83. package/es6/src/workspace.config.js +4 -14
  84. package/package.json +5 -5
  85. package/types/src/extensions/project.extensions.d.ts +4 -0
  86. package/types/src/index.d.ts +5 -0
  87. package/types/src/services/swc-transpiler.d.ts +6 -0
package/es6/src/errors.js CHANGED
@@ -15,4 +15,4 @@ export function formatUnknownError(reason) {
15
15
  }
16
16
  }
17
17
 
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2Vycm9ycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBXb3Jrc3BhY2VDb25maWd1cmF0aW9uRXJyb3IgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmV4cG9ydCBjbGFzcyBGb3JnZUVycm9yIGV4dGVuZHMgRXJyb3Ige31cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFVua25vd25FcnJvcihyZWFzb246IHVua25vd24pOiBzdHJpbmcge1xuXHRpZiAocmVhc29uIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRyZXR1cm4gcmVhc29uLm1lc3NhZ2U7XG5cdH1cblxuXHRpZiAodHlwZW9mIHJlYXNvbiA9PT0gXCJzdHJpbmdcIikge1xuXHRcdHJldHVybiByZWFzb247XG5cdH1cblxuXHR0cnkge1xuXHRcdHJldHVybiBKU09OLnN0cmluZ2lmeShyZWFzb24pO1xuXHR9IGNhdGNoIHtcblx0XHRyZXR1cm4gXCJVbmtub3duIGVycm9yXCI7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJXb3Jrc3BhY2VDb25maWd1cmF0aW9uRXJyb3IiLCJGb3JnZUVycm9yIiwiRXJyb3IiLCJmb3JtYXRVbmtub3duRXJyb3IiLCJyZWFzb24iLCJtZXNzYWdlIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsMkJBQTJCLFFBQVEsaUJBQWlCO0FBQzdELE9BQU8sTUFBTUMsbUJBQW1CQztBQUFPO0FBRXZDLE9BQU8sU0FBU0MsbUJBQW1CQyxNQUFlO0lBQ2pELElBQUlBLGtCQUFrQkYsT0FBTztRQUM1QixPQUFPRSxPQUFPQyxPQUFPO0lBQ3RCO0lBRUEsSUFBSSxPQUFPRCxXQUFXLFVBQVU7UUFDL0IsT0FBT0E7SUFDUjtJQUVBLElBQUk7UUFDSCxPQUFPRSxLQUFLQyxTQUFTLENBQUNIO0lBQ3ZCLEVBQUUsT0FBTTtRQUNQLE9BQU87SUFDUjtBQUNEIn0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9lcnJvcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgV29ya3NwYWNlQ29uZmlndXJhdGlvbkVycm9yIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5leHBvcnQgY2xhc3MgRm9yZ2VFcnJvciBleHRlbmRzIEVycm9yIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRVbmtub3duRXJyb3IocmVhc29uOiB1bmtub3duKTogc3RyaW5nIHtcblx0aWYgKHJlYXNvbiBpbnN0YW5jZW9mIEVycm9yKSB7XG5cdFx0cmV0dXJuIHJlYXNvbi5tZXNzYWdlO1xuXHR9XG5cblx0aWYgKHR5cGVvZiByZWFzb24gPT09IFwic3RyaW5nXCIpIHtcblx0XHRyZXR1cm4gcmVhc29uO1xuXHR9XG5cblx0dHJ5IHtcblx0XHRyZXR1cm4gSlNPTi5zdHJpbmdpZnkocmVhc29uKTtcblx0fSBjYXRjaCB7XG5cdFx0cmV0dXJuIFwiVW5rbm93biBlcnJvclwiO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiV29ya3NwYWNlQ29uZmlndXJhdGlvbkVycm9yIiwiRm9yZ2VFcnJvciIsIkVycm9yIiwiZm9ybWF0VW5rbm93bkVycm9yIiwicmVhc29uIiwibWVzc2FnZSIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLDJCQUEyQixRQUFRLGlCQUFpQjtBQUM3RCxPQUFPLE1BQU1DLG1CQUFtQkM7QUFBTztBQUV2QyxPQUFPLFNBQVNDLG1CQUFtQkMsTUFBZTtJQUNqRCxJQUFJQSxrQkFBa0JGLE9BQU87UUFDNUIsT0FBT0UsT0FBT0MsT0FBTztJQUN0QjtJQUVBLElBQUksT0FBT0QsV0FBVyxVQUFVO1FBQy9CLE9BQU9BO0lBQ1I7SUFFQSxJQUFJO1FBQ0gsT0FBT0UsS0FBS0MsU0FBUyxDQUFDSDtJQUN2QixFQUFFLE9BQU07UUFDUCxPQUFPO0lBQ1I7QUFDRCJ9
@@ -7,6 +7,7 @@ function _ts_decorate(decorators, target, key, desc) {
7
7
  function _ts_metadata(k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  }
10
+ import fs from "node:fs";
10
11
  import path from "node:path";
11
12
  import { Project } from "@decohere/mesh";
12
13
  import { memoize } from "@decohere/nexus/caching";
@@ -19,16 +20,34 @@ export class ProjectExtensions {
19
20
  return project.configuration;
20
21
  }
21
22
  static async getSwcConfig(project) {
22
- const projectConfigPath = path.join(project.projectDirectory, SWC_CONFIG);
23
- if (await io.fileExists(projectConfigPath)) {
24
- return new SwcConfig(await io.readJsonFile(projectConfigPath));
23
+ for (const configPath of ProjectExtensions.swcConfigPaths(project)){
24
+ if (await io.fileExists(configPath)) {
25
+ return new SwcConfig(await io.readJsonFile(configPath));
26
+ }
25
27
  }
26
- const rootConfigPath = path.join(project.rootDir, SWC_CONFIG);
27
- if (await io.fileExists(rootConfigPath)) {
28
- return new SwcConfig(await io.readJsonFile(rootConfigPath));
28
+ return new SwcConfig();
29
+ }
30
+ static getSwcConfigSync(project) {
31
+ for (const configPath of ProjectExtensions.swcConfigPaths(project)){
32
+ if (ProjectExtensions.fileExistsSync(configPath)) {
33
+ return new SwcConfig(JSON.parse(fs.readFileSync(configPath, "utf8")));
34
+ }
29
35
  }
30
36
  return new SwcConfig();
31
37
  }
38
+ static swcConfigPaths(project) {
39
+ return [
40
+ path.join(project.projectDirectory, SWC_CONFIG),
41
+ path.join(project.rootDir, SWC_CONFIG)
42
+ ];
43
+ }
44
+ static fileExistsSync(filePath) {
45
+ try {
46
+ return fs.statSync(filePath).isFile();
47
+ } catch {
48
+ return false;
49
+ }
50
+ }
32
51
  }
33
52
  _ts_decorate([
34
53
  extension(Project),
@@ -47,5 +66,14 @@ _ts_decorate([
47
66
  ]),
48
67
  _ts_metadata("design:returntype", Promise)
49
68
  ], ProjectExtensions, "getSwcConfig", null);
69
+ _ts_decorate([
70
+ extension(Project),
71
+ memoize(),
72
+ _ts_metadata("design:type", Function),
73
+ _ts_metadata("design:paramtypes", [
74
+ typeof Project === "undefined" ? Object : Project
75
+ ]),
76
+ _ts_metadata("design:returntype", typeof SwcConfig === "undefined" ? Object : SwcConfig)
77
+ ], ProjectExtensions, "getSwcConfigSync", null);
50
78
 
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2V4dGVuc2lvbnMvcHJvamVjdC5leHRlbnNpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IG1lbW9pemUgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NhY2hpbmdcIjtcbmltcG9ydCB7IGV4dGVuc2lvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZXh0ZW5zaWJpbGl0eVwiO1xuaW1wb3J0IHsgaW8gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBTV0NfQ09ORklHIH0gZnJvbSBcIi4uL2NvbnN0LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEZvcmdlQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi90eXBlcy9jb25maWd1cmF0aW9uLnR5cGUuanNcIjtcbmltcG9ydCB7IFN3Y0NvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9zd2MtY29uZmlnLnR5cGUuanNcIjtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjb2hlcmUvbWVzaFwiIHtcblx0aW50ZXJmYWNlIFByb2plY3Qge1xuXHRcdGdldEZvcmdlQ29uZmlndXJhdGlvbigpOiBGb3JnZUNvbmZpZ3VyYXRpb247XG5cdFx0Z2V0U3djQ29uZmlnKCk6IFByb21pc2U8U3djQ29uZmlnPjtcblx0fVxufVxuXG5leHBvcnQgY2xhc3MgUHJvamVjdEV4dGVuc2lvbnMge1xuXHRAZXh0ZW5zaW9uKFByb2plY3QpXG5cdHB1YmxpYyBzdGF0aWMgZ2V0Rm9yZ2VDb25maWd1cmF0aW9uKHByb2plY3Q6IFByb2plY3QpOiBGb3JnZUNvbmZpZ3VyYXRpb24ge1xuXHRcdHJldHVybiBwcm9qZWN0LmNvbmZpZ3VyYXRpb24gYXMgRm9yZ2VDb25maWd1cmF0aW9uO1xuXHR9XG5cblx0QGV4dGVuc2lvbihQcm9qZWN0KVxuXHRAbWVtb2l6ZSgpXG5cdHB1YmxpYyBzdGF0aWMgYXN5bmMgZ2V0U3djQ29uZmlnKHByb2plY3Q6IFByb2plY3QpOiBQcm9taXNlPFN3Y0NvbmZpZz4ge1xuXHRcdGNvbnN0IHByb2plY3RDb25maWdQYXRoID0gcGF0aC5qb2luKHByb2plY3QucHJvamVjdERpcmVjdG9yeSwgU1dDX0NPTkZJRyk7XG5cdFx0aWYgKGF3YWl0IGlvLmZpbGVFeGlzdHMocHJvamVjdENvbmZpZ1BhdGgpKSB7XG5cdFx0XHRyZXR1cm4gbmV3IFN3Y0NvbmZpZyhhd2FpdCBpby5yZWFkSnNvbkZpbGUocHJvamVjdENvbmZpZ1BhdGgpKTtcblx0XHR9XG5cblx0XHRjb25zdCByb290Q29uZmlnUGF0aCA9IHBhdGguam9pbihwcm9qZWN0LnJvb3REaXIsIFNXQ19DT05GSUcpO1xuXHRcdGlmIChhd2FpdCBpby5maWxlRXhpc3RzKHJvb3RDb25maWdQYXRoKSkge1xuXHRcdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoYXdhaXQgaW8ucmVhZEpzb25GaWxlKHJvb3RDb25maWdQYXRoKSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbInBhdGgiLCJQcm9qZWN0IiwibWVtb2l6ZSIsImV4dGVuc2lvbiIsImlvIiwiU1dDX0NPTkZJRyIsIlN3Y0NvbmZpZyIsIlByb2plY3RFeHRlbnNpb25zIiwiZ2V0Rm9yZ2VDb25maWd1cmF0aW9uIiwicHJvamVjdCIsImNvbmZpZ3VyYXRpb24iLCJnZXRTd2NDb25maWciLCJwcm9qZWN0Q29uZmlnUGF0aCIsImpvaW4iLCJwcm9qZWN0RGlyZWN0b3J5IiwiZmlsZUV4aXN0cyIsInJlYWRKc29uRmlsZSIsInJvb3RDb25maWdQYXRoIiwicm9vdERpciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBT0EsVUFBVSxZQUFZO0FBQzdCLFNBQVNDLE9BQU8sUUFBUSxpQkFBaUI7QUFDekMsU0FBU0MsT0FBTyxRQUFRLDBCQUEwQjtBQUNsRCxTQUFTQyxTQUFTLFFBQVEsZ0NBQWdDO0FBQzFELFNBQVNDLEVBQUUsUUFBUSxxQkFBcUI7QUFDeEMsU0FBU0MsVUFBVSxRQUFRLGNBQWM7QUFFekMsU0FBU0MsU0FBUyxRQUFRLDhCQUE4QjtBQVN4RCxPQUFPLE1BQU1DO0lBQ1osT0FDY0Msc0JBQXNCQyxPQUFnQixFQUFzQjtRQUN6RSxPQUFPQSxRQUFRQyxhQUFhO0lBQzdCO0lBRUEsYUFFb0JDLGFBQWFGLE9BQWdCLEVBQXNCO1FBQ3RFLE1BQU1HLG9CQUFvQlosS0FBS2EsSUFBSSxDQUFDSixRQUFRSyxnQkFBZ0IsRUFBRVQ7UUFDOUQsSUFBSSxNQUFNRCxHQUFHVyxVQUFVLENBQUNILG9CQUFvQjtZQUMzQyxPQUFPLElBQUlOLFVBQVUsTUFBTUYsR0FBR1ksWUFBWSxDQUFDSjtRQUM1QztRQUVBLE1BQU1LLGlCQUFpQmpCLEtBQUthLElBQUksQ0FBQ0osUUFBUVMsT0FBTyxFQUFFYjtRQUNsRCxJQUFJLE1BQU1ELEdBQUdXLFVBQVUsQ0FBQ0UsaUJBQWlCO1lBQ3hDLE9BQU8sSUFBSVgsVUFBVSxNQUFNRixHQUFHWSxZQUFZLENBQUNDO1FBQzVDO1FBRUEsT0FBTyxJQUFJWDtJQUNaO0FBQ0QifQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9leHRlbnNpb25zL3Byb2plY3QuZXh0ZW5zaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IG1lbW9pemUgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NhY2hpbmdcIjtcbmltcG9ydCB7IGV4dGVuc2lvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZXh0ZW5zaWJpbGl0eVwiO1xuaW1wb3J0IHsgaW8gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBTV0NfQ09ORklHIH0gZnJvbSBcIi4uL2NvbnN0LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEZvcmdlQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi90eXBlcy9jb25maWd1cmF0aW9uLnR5cGUuanNcIjtcbmltcG9ydCB7IFN3Y0NvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9zd2MtY29uZmlnLnR5cGUuanNcIjtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjb2hlcmUvbWVzaFwiIHtcblx0aW50ZXJmYWNlIFByb2plY3Qge1xuXHRcdGdldEZvcmdlQ29uZmlndXJhdGlvbigpOiBGb3JnZUNvbmZpZ3VyYXRpb247XG5cdFx0Z2V0U3djQ29uZmlnKCk6IFByb21pc2U8U3djQ29uZmlnPjtcblx0XHRnZXRTd2NDb25maWdTeW5jKCk6IFN3Y0NvbmZpZztcblx0fVxufVxuXG5leHBvcnQgY2xhc3MgUHJvamVjdEV4dGVuc2lvbnMge1xuXHRAZXh0ZW5zaW9uKFByb2plY3QpXG5cdHB1YmxpYyBzdGF0aWMgZ2V0Rm9yZ2VDb25maWd1cmF0aW9uKHByb2plY3Q6IFByb2plY3QpOiBGb3JnZUNvbmZpZ3VyYXRpb24ge1xuXHRcdHJldHVybiBwcm9qZWN0LmNvbmZpZ3VyYXRpb24gYXMgRm9yZ2VDb25maWd1cmF0aW9uO1xuXHR9XG5cblx0QGV4dGVuc2lvbihQcm9qZWN0KVxuXHRAbWVtb2l6ZSgpXG5cdHB1YmxpYyBzdGF0aWMgYXN5bmMgZ2V0U3djQ29uZmlnKHByb2plY3Q6IFByb2plY3QpOiBQcm9taXNlPFN3Y0NvbmZpZz4ge1xuXHRcdGZvciAoY29uc3QgY29uZmlnUGF0aCBvZiBQcm9qZWN0RXh0ZW5zaW9ucy5zd2NDb25maWdQYXRocyhwcm9qZWN0KSkge1xuXHRcdFx0aWYgKGF3YWl0IGlvLmZpbGVFeGlzdHMoY29uZmlnUGF0aCkpIHtcblx0XHRcdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoYXdhaXQgaW8ucmVhZEpzb25GaWxlKGNvbmZpZ1BhdGgpKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoKTtcblx0fVxuXG5cdEBleHRlbnNpb24oUHJvamVjdClcblx0QG1lbW9pemUoKVxuXHRwdWJsaWMgc3RhdGljIGdldFN3Y0NvbmZpZ1N5bmMocHJvamVjdDogUHJvamVjdCk6IFN3Y0NvbmZpZyB7XG5cdFx0Zm9yIChjb25zdCBjb25maWdQYXRoIG9mIFByb2plY3RFeHRlbnNpb25zLnN3Y0NvbmZpZ1BhdGhzKHByb2plY3QpKSB7XG5cdFx0XHRpZiAoUHJvamVjdEV4dGVuc2lvbnMuZmlsZUV4aXN0c1N5bmMoY29uZmlnUGF0aCkpIHtcblx0XHRcdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMoY29uZmlnUGF0aCwgXCJ1dGY4XCIpKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBuZXcgU3djQ29uZmlnKCk7XG5cdH1cblxuXHRwcml2YXRlIHN0YXRpYyBzd2NDb25maWdQYXRocyhwcm9qZWN0OiBQcm9qZWN0KTogc3RyaW5nW10ge1xuXHRcdHJldHVybiBbXG5cdFx0XHRwYXRoLmpvaW4ocHJvamVjdC5wcm9qZWN0RGlyZWN0b3J5LCBTV0NfQ09ORklHKSxcblx0XHRcdHBhdGguam9pbihwcm9qZWN0LnJvb3REaXIsIFNXQ19DT05GSUcpLFxuXHRcdF07XG5cdH1cblxuXHRwcml2YXRlIHN0YXRpYyBmaWxlRXhpc3RzU3luYyhmaWxlUGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0dHJ5IHtcblx0XHRcdHJldHVybiBmcy5zdGF0U3luYyhmaWxlUGF0aCkuaXNGaWxlKCk7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHR9XG59XG4iXSwibmFtZXMiOlsiZnMiLCJwYXRoIiwiUHJvamVjdCIsIm1lbW9pemUiLCJleHRlbnNpb24iLCJpbyIsIlNXQ19DT05GSUciLCJTd2NDb25maWciLCJQcm9qZWN0RXh0ZW5zaW9ucyIsImdldEZvcmdlQ29uZmlndXJhdGlvbiIsInByb2plY3QiLCJjb25maWd1cmF0aW9uIiwiZ2V0U3djQ29uZmlnIiwiY29uZmlnUGF0aCIsInN3Y0NvbmZpZ1BhdGhzIiwiZmlsZUV4aXN0cyIsInJlYWRKc29uRmlsZSIsImdldFN3Y0NvbmZpZ1N5bmMiLCJmaWxlRXhpc3RzU3luYyIsIkpTT04iLCJwYXJzZSIsInJlYWRGaWxlU3luYyIsImpvaW4iLCJwcm9qZWN0RGlyZWN0b3J5Iiwicm9vdERpciIsImZpbGVQYXRoIiwic3RhdFN5bmMiLCJpc0ZpbGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU9BLFFBQVEsVUFBVTtBQUN6QixPQUFPQyxVQUFVLFlBQVk7QUFDN0IsU0FBU0MsT0FBTyxRQUFRLGlCQUFpQjtBQUN6QyxTQUFTQyxPQUFPLFFBQVEsMEJBQTBCO0FBQ2xELFNBQVNDLFNBQVMsUUFBUSxnQ0FBZ0M7QUFDMUQsU0FBU0MsRUFBRSxRQUFRLHFCQUFxQjtBQUN4QyxTQUFTQyxVQUFVLFFBQVEsY0FBYztBQUV6QyxTQUFTQyxTQUFTLFFBQVEsOEJBQThCO0FBVXhELE9BQU8sTUFBTUM7SUFDWixPQUNjQyxzQkFBc0JDLE9BQWdCLEVBQXNCO1FBQ3pFLE9BQU9BLFFBQVFDLGFBQWE7SUFDN0I7SUFFQSxhQUVvQkMsYUFBYUYsT0FBZ0IsRUFBc0I7UUFDdEUsS0FBSyxNQUFNRyxjQUFjTCxrQkFBa0JNLGNBQWMsQ0FBQ0osU0FBVTtZQUNuRSxJQUFJLE1BQU1MLEdBQUdVLFVBQVUsQ0FBQ0YsYUFBYTtnQkFDcEMsT0FBTyxJQUFJTixVQUFVLE1BQU1GLEdBQUdXLFlBQVksQ0FBQ0g7WUFDNUM7UUFDRDtRQUNBLE9BQU8sSUFBSU47SUFDWjtJQUVBLE9BRWNVLGlCQUFpQlAsT0FBZ0IsRUFBYTtRQUMzRCxLQUFLLE1BQU1HLGNBQWNMLGtCQUFrQk0sY0FBYyxDQUFDSixTQUFVO1lBQ25FLElBQUlGLGtCQUFrQlUsY0FBYyxDQUFDTCxhQUFhO2dCQUNqRCxPQUFPLElBQUlOLFVBQVVZLEtBQUtDLEtBQUssQ0FBQ3BCLEdBQUdxQixZQUFZLENBQUNSLFlBQVk7WUFDN0Q7UUFDRDtRQUNBLE9BQU8sSUFBSU47SUFDWjtJQUVBLE9BQWVPLGVBQWVKLE9BQWdCLEVBQVk7UUFDekQsT0FBTztZQUNOVCxLQUFLcUIsSUFBSSxDQUFDWixRQUFRYSxnQkFBZ0IsRUFBRWpCO1lBQ3BDTCxLQUFLcUIsSUFBSSxDQUFDWixRQUFRYyxPQUFPLEVBQUVsQjtTQUMzQjtJQUNGO0lBRUEsT0FBZVksZUFBZU8sUUFBZ0IsRUFBVztRQUN4RCxJQUFJO1lBQ0gsT0FBT3pCLEdBQUcwQixRQUFRLENBQUNELFVBQVVFLE1BQU07UUFDcEMsRUFBRSxPQUFNO1lBQ1AsT0FBTztRQUNSO0lBQ0Q7QUFDRCJ9
@@ -80,4 +80,4 @@ SwcConfigFactory = _ts_decorate([
80
80
  Trace
81
81
  ], SwcConfigFactory);
82
82
 
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2ZhY3Rvcmllcy9zd2MtY29uZmlnLmZhY3RvcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBUc2NvbmZpZyB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2RpYWdub3N0aWNzXCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9vYmplY3RzXCI7XG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgfSBmcm9tIFwiQHN3Yy9jb3JlXCI7XG5pbXBvcnQgeyBGb3JnZUVycm9yIH0gZnJvbSBcIi4uL2Vycm9ycy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBUcmFuc3BpbGVUYXJnZXQgfSBmcm9tIFwiLi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCB0eXBlIHsgU3djQ29uZmlnT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlcy9zd2MtY29uZmlnLnR5cGUuanNcIjtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnMgPSB7XG5cdGpzYzoge1xuXHRcdHBhcnNlcjoge1xuXHRcdFx0c3ludGF4OiBcInR5cGVzY3JpcHRcIixcblx0XHRcdGRlY29yYXRvcnM6IHRydWUsXG5cdFx0fSxcblx0XHR0YXJnZXQ6IFwiZXNuZXh0XCIsXG5cdFx0dHJhbnNmb3JtOiB7XG5cdFx0XHRkZWNvcmF0b3JNZXRhZGF0YTogdHJ1ZSxcblx0XHR9LFxuXHRcdGV4cGVyaW1lbnRhbDogeyBrZWVwSW1wb3J0QXR0cmlidXRlczogdHJ1ZSB9LFxuXHR9LFxuXHRtb2R1bGU6IHtcblx0XHRyZXNvbHZlRnVsbHk6IHRydWUsXG5cdH0sXG5cdHNvdXJjZU1hcHM6IFwiaW5saW5lXCIsXG59O1xuXG5AVHJhY2VcbmV4cG9ydCBjbGFzcyBTd2NDb25maWdGYWN0b3J5IHtcblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBiYXNlIGNvbmZpZyBmb3IgYSBwcm9qZWN0K3RhcmdldCBjb21iaW5hdGlvbiwgd2l0aG91dCBhIGZpbGVuYW1lLlxuXHQgKiBDYWxsIG9uY2UgcGVyIChwcm9qZWN0LCB0YXJnZXQpIGFuZCB0aGVuIHVzZSBjcmVhdGVGaWxlQ29uZmlnKCkgcGVyIGZpbGUuXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlQmFzZUNvbmZpZyhcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdGNvbmZpZ09wdGlvbnM6IFN3Y0NvbmZpZ09wdGlvbnMsXG5cdCk6IE9wdGlvbnMge1xuXHRcdGNvbnN0IHsgdXNlckNvbmZpZywgdHNDb25maWcsIGFsaWFzUGF0aHMgfSA9IGNvbmZpZ09wdGlvbnM7XG5cdFx0Y29uc3QgeyBjb21waWxlck9wdGlvbnMgfSA9IHRzQ29uZmlnID8/IHt9O1xuXHRcdGNvbnN0IHBhdGhzID0gYWxpYXNQYXRocyA/IGNvbXBpbGVyT3B0aW9ucz8ucGF0aHMgOiB1bmRlZmluZWQ7XG5cdFx0Y29uc3QgYmFzZVVybCA9XG5cdFx0XHRTd2NDb25maWdGYWN0b3J5LmdldEJhc2VVcmwodHNDb25maWcpID8/IChwYXRocyAhPSBudWxsID8gcGF0aC5yZXNvbHZlKFwiLlwiKSA6IHVuZGVmaW5lZCk7XG5cblx0XHRjb25zdCBvcHRpb25zOiBPcHRpb25zID0ge1xuXHRcdFx0anNjOiB7XG5cdFx0XHRcdGJhc2VVcmwsXG5cdFx0XHRcdHBhdGhzLFxuXHRcdFx0fSxcblx0XHRcdG1vZHVsZToge1xuXHRcdFx0XHR0eXBlOiBidWlsZFRhcmdldCxcblx0XHRcdH0sXG5cdFx0fTtcblxuXHRcdHJldHVybiBtZXJnZS53aXRoT3B0aW9uczxPcHRpb25zPihcblx0XHRcdHsgbWVyZ2VBcnJheXM6IGZhbHNlIH0sXG5cdFx0XHRkZWZhdWx0T3B0aW9ucyxcblx0XHRcdG9wdGlvbnMsXG5cdFx0XHR1c2VyQ29uZmlnID8/IHt9LFxuXHRcdCk7XG5cdH1cblxuXHQvKiogU3RhbXBzIGEgcGVyLWZpbGUgZmlsZW5hbWUgb250byBhIHByZS1idWlsdCBiYXNlIGNvbmZpZy4gKi9cblx0cHVibGljIGNyZWF0ZUZpbGVDb25maWcoZmlsZTogRmlsZUV4LCBiYXNlQ29uZmlnOiBPcHRpb25zKTogT3B0aW9ucyB7XG5cdFx0Y29uc3QgY29uZmlnID0geyAuLi5iYXNlQ29uZmlnLCBmaWxlbmFtZTogZmlsZS5mdWxsUGF0aCB9O1xuXHRcdHRoaXMudmFsaWRhdGUoY29uZmlnKTtcblx0XHRyZXR1cm4gY29uZmlnO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyBTV0Mgb3B0aW9ucyBhZ2FpbnN0IGtub3duIGNhdXNlcyBvZiBSdXN0L05BUEkgcHJvY2VzcyBjcmFzaGVzLlxuXHQgKiBUaHJvd3MgYSBGb3JnZUVycm9yIHdpdGggYSBkZXNjcmlwdGl2ZSBtZXNzYWdlIGluc3RlYWQgb2YgbGV0dGluZyB0aGVcblx0ICogTkFQSSBsYXllciBhYm9ydCB0aGUgcHJvY2Vzcy5cblx0ICpcblx0ICogS25vd24gY3Jhc2ggY2F1c2VzOlxuXHQgKiAtIGBqc2MuYmFzZVVybGAgc2V0IHRvIGEgcmVsYXRpdmUgcGF0aCAoU1dDIHJlcXVpcmVzIGFuIGFic29sdXRlIHBhdGgpXG5cdCAqL1xuXHRwdWJsaWMgdmFsaWRhdGUob3B0aW9uczogT3B0aW9ucyk6IHZvaWQge1xuXHRcdGNvbnN0IGJhc2VVcmwgPSBvcHRpb25zLmpzYz8uYmFzZVVybDtcblx0XHRpZiAoYmFzZVVybCAhPSBudWxsICYmICFwYXRoLmlzQWJzb2x1dGUoYmFzZVVybCkpIHtcblx0XHRcdHRocm93IG5ldyBGb3JnZUVycm9yKFxuXHRcdFx0XHRgU1dDIGNvbmZpZzoganNjLmJhc2VVcmwgbXVzdCBiZSBhbiBhYnNvbHV0ZSBwYXRoIHRvIGF2b2lkIGEgcHJvY2VzcyBjcmFzaCwgZ290OiBcIiR7YmFzZVVybH1cIi4gVXNlIHBhdGgucmVzb2x2ZSgpIHRvIGNvbnZlcnQgaXQuYCxcblx0XHRcdCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqIFJlc29sdmVzIHRzY29uZmlnIGJhc2VVcmwgdG8gYW4gYWJzb2x1dGUgcGF0aC4gUmV0dXJucyB1bmRlZmluZWQgaWYgbm90IHNldC4gKi9cblx0cHJpdmF0ZSBzdGF0aWMgZ2V0QmFzZVVybCh0c0NvbmZpZzogVHNjb25maWcgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IGJhc2VVcmwgPSB0c0NvbmZpZz8uY29tcGlsZXJPcHRpb25zPy5iYXNlVXJsO1xuXHRcdGlmIChiYXNlVXJsID09IG51bGwpIHJldHVybiB1bmRlZmluZWQ7XG5cdFx0cmV0dXJuIHBhdGgucmVzb2x2ZShiYXNlVXJsKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbInBhdGgiLCJUcmFjZSIsIm1lcmdlIiwiRm9yZ2VFcnJvciIsImRlZmF1bHRPcHRpb25zIiwianNjIiwicGFyc2VyIiwic3ludGF4IiwiZGVjb3JhdG9ycyIsInRhcmdldCIsInRyYW5zZm9ybSIsImRlY29yYXRvck1ldGFkYXRhIiwiZXhwZXJpbWVudGFsIiwia2VlcEltcG9ydEF0dHJpYnV0ZXMiLCJtb2R1bGUiLCJyZXNvbHZlRnVsbHkiLCJzb3VyY2VNYXBzIiwiU3djQ29uZmlnRmFjdG9yeSIsImNyZWF0ZUJhc2VDb25maWciLCJidWlsZFRhcmdldCIsImNvbmZpZ09wdGlvbnMiLCJ1c2VyQ29uZmlnIiwidHNDb25maWciLCJhbGlhc1BhdGhzIiwiY29tcGlsZXJPcHRpb25zIiwicGF0aHMiLCJ1bmRlZmluZWQiLCJiYXNlVXJsIiwiZ2V0QmFzZVVybCIsInJlc29sdmUiLCJvcHRpb25zIiwidHlwZSIsIndpdGhPcHRpb25zIiwibWVyZ2VBcnJheXMiLCJjcmVhdGVGaWxlQ29uZmlnIiwiZmlsZSIsImJhc2VDb25maWciLCJjb25maWciLCJmaWxlbmFtZSIsImZ1bGxQYXRoIiwidmFsaWRhdGUiLCJpc0Fic29sdXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPQSxVQUFVLFlBQVk7QUFFN0IsU0FBU0MsS0FBSyxRQUFRLDhCQUE4QjtBQUVwRCxTQUFTQyxLQUFLLFFBQVEsMEJBQTBCO0FBRWhELFNBQVNDLFVBQVUsUUFBUSxlQUFlO0FBSTFDLE1BQU1DLGlCQUFpQjtJQUN0QkMsS0FBSztRQUNKQyxRQUFRO1lBQ1BDLFFBQVE7WUFDUkMsWUFBWTtRQUNiO1FBQ0FDLFFBQVE7UUFDUkMsV0FBVztZQUNWQyxtQkFBbUI7UUFDcEI7UUFDQUMsY0FBYztZQUFFQyxzQkFBc0I7UUFBSztJQUM1QztJQUNBQyxRQUFRO1FBQ1BDLGNBQWM7SUFDZjtJQUNBQyxZQUFZO0FBQ2I7QUFHQSxPQUFPLE1BQU1DO0lBQ1o7OztFQUdDLEdBQ0QsQUFBT0MsaUJBQ05DLFdBQTRCLEVBQzVCQyxhQUErQixFQUNyQjtRQUNWLE1BQU0sRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsRUFBRSxHQUFHSDtRQUM3QyxNQUFNLEVBQUVJLGVBQWUsRUFBRSxHQUFHRixZQUFZLENBQUM7UUFDekMsTUFBTUcsUUFBUUYsYUFBYUMsaUJBQWlCQyxRQUFRQztRQUNwRCxNQUFNQyxVQUNMVixpQkFBaUJXLFVBQVUsQ0FBQ04sYUFBY0csQ0FBQUEsU0FBUyxPQUFPekIsS0FBSzZCLE9BQU8sQ0FBQyxPQUFPSCxTQUFRO1FBRXZGLE1BQU1JLFVBQW1CO1lBQ3hCekIsS0FBSztnQkFDSnNCO2dCQUNBRjtZQUNEO1lBQ0FYLFFBQVE7Z0JBQ1BpQixNQUFNWjtZQUNQO1FBQ0Q7UUFFQSxPQUFPakIsTUFBTThCLFdBQVcsQ0FDdkI7WUFBRUMsYUFBYTtRQUFNLEdBQ3JCN0IsZ0JBQ0EwQixTQUNBVCxjQUFjLENBQUM7SUFFakI7SUFFQSw2REFBNkQsR0FDN0QsQUFBT2EsaUJBQWlCQyxJQUFZLEVBQUVDLFVBQW1CLEVBQVc7UUFDbkUsTUFBTUMsU0FBUztZQUFFLEdBQUdELFVBQVU7WUFBRUUsVUFBVUgsS0FBS0ksUUFBUTtRQUFDO1FBQ3hELElBQUksQ0FBQ0MsUUFBUSxDQUFDSDtRQUNkLE9BQU9BO0lBQ1I7SUFFQTs7Ozs7OztFQU9DLEdBQ0QsQUFBT0csU0FBU1YsT0FBZ0IsRUFBUTtRQUN2QyxNQUFNSCxVQUFVRyxRQUFRekIsR0FBRyxFQUFFc0I7UUFDN0IsSUFBSUEsV0FBVyxRQUFRLENBQUMzQixLQUFLeUMsVUFBVSxDQUFDZCxVQUFVO1lBQ2pELE1BQU0sSUFBSXhCLFdBQ1QsQ0FBQyxpRkFBaUYsRUFBRXdCLFFBQVEsb0NBQW9DLENBQUM7UUFFbkk7SUFDRDtJQUVBLGlGQUFpRixHQUNqRixPQUFlQyxXQUFXTixRQUE4QixFQUFzQjtRQUM3RSxNQUFNSyxVQUFVTCxVQUFVRSxpQkFBaUJHO1FBQzNDLElBQUlBLFdBQVcsTUFBTSxPQUFPRDtRQUM1QixPQUFPMUIsS0FBSzZCLE9BQU8sQ0FBQ0Y7SUFDckI7QUFDRCJ9
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mYWN0b3JpZXMvc3djLWNvbmZpZy5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgVHNjb25maWcgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9kaWFnbm9zdGljc1wiO1xuaW1wb3J0IHR5cGUgeyBGaWxlRXggfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvb2JqZWN0c1wiO1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIH0gZnJvbSBcIkBzd2MvY29yZVwiO1xuaW1wb3J0IHsgRm9yZ2VFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNwaWxlVGFyZ2V0IH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN3Y0NvbmZpZ09wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMvc3djLWNvbmZpZy50eXBlLmpzXCI7XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuXHRqc2M6IHtcblx0XHRwYXJzZXI6IHtcblx0XHRcdHN5bnRheDogXCJ0eXBlc2NyaXB0XCIsXG5cdFx0XHRkZWNvcmF0b3JzOiB0cnVlLFxuXHRcdH0sXG5cdFx0dGFyZ2V0OiBcImVzbmV4dFwiLFxuXHRcdHRyYW5zZm9ybToge1xuXHRcdFx0ZGVjb3JhdG9yTWV0YWRhdGE6IHRydWUsXG5cdFx0fSxcblx0XHRleHBlcmltZW50YWw6IHsga2VlcEltcG9ydEF0dHJpYnV0ZXM6IHRydWUgfSxcblx0fSxcblx0bW9kdWxlOiB7XG5cdFx0cmVzb2x2ZUZ1bGx5OiB0cnVlLFxuXHR9LFxuXHRzb3VyY2VNYXBzOiBcImlubGluZVwiLFxufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgU3djQ29uZmlnRmFjdG9yeSB7XG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgYmFzZSBjb25maWcgZm9yIGEgcHJvamVjdCt0YXJnZXQgY29tYmluYXRpb24sIHdpdGhvdXQgYSBmaWxlbmFtZS5cblx0ICogQ2FsbCBvbmNlIHBlciAocHJvamVjdCwgdGFyZ2V0KSBhbmQgdGhlbiB1c2UgY3JlYXRlRmlsZUNvbmZpZygpIHBlciBmaWxlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUJhc2VDb25maWcoXG5cdFx0YnVpbGRUYXJnZXQ6IFRyYW5zcGlsZVRhcmdldCxcblx0XHRjb25maWdPcHRpb25zOiBTd2NDb25maWdPcHRpb25zLFxuXHQpOiBPcHRpb25zIHtcblx0XHRjb25zdCB7IHVzZXJDb25maWcsIHRzQ29uZmlnLCBhbGlhc1BhdGhzIH0gPSBjb25maWdPcHRpb25zO1xuXHRcdGNvbnN0IHsgY29tcGlsZXJPcHRpb25zIH0gPSB0c0NvbmZpZyA/PyB7fTtcblx0XHRjb25zdCBwYXRocyA9IGFsaWFzUGF0aHMgPyBjb21waWxlck9wdGlvbnM/LnBhdGhzIDogdW5kZWZpbmVkO1xuXHRcdGNvbnN0IGJhc2VVcmwgPVxuXHRcdFx0U3djQ29uZmlnRmFjdG9yeS5nZXRCYXNlVXJsKHRzQ29uZmlnKSA/PyAocGF0aHMgIT0gbnVsbCA/IHBhdGgucmVzb2x2ZShcIi5cIikgOiB1bmRlZmluZWQpO1xuXG5cdFx0Y29uc3Qgb3B0aW9uczogT3B0aW9ucyA9IHtcblx0XHRcdGpzYzoge1xuXHRcdFx0XHRiYXNlVXJsLFxuXHRcdFx0XHRwYXRocyxcblx0XHRcdH0sXG5cdFx0XHRtb2R1bGU6IHtcblx0XHRcdFx0dHlwZTogYnVpbGRUYXJnZXQsXG5cdFx0XHR9LFxuXHRcdH07XG5cblx0XHRyZXR1cm4gbWVyZ2Uud2l0aE9wdGlvbnM8T3B0aW9ucz4oXG5cdFx0XHR7IG1lcmdlQXJyYXlzOiBmYWxzZSB9LFxuXHRcdFx0ZGVmYXVsdE9wdGlvbnMsXG5cdFx0XHRvcHRpb25zLFxuXHRcdFx0dXNlckNvbmZpZyA/PyB7fSxcblx0XHQpO1xuXHR9XG5cblx0LyoqIFN0YW1wcyBhIHBlci1maWxlIGZpbGVuYW1lIG9udG8gYSBwcmUtYnVpbHQgYmFzZSBjb25maWcuICovXG5cdHB1YmxpYyBjcmVhdGVGaWxlQ29uZmlnKGZpbGU6IEZpbGVFeCwgYmFzZUNvbmZpZzogT3B0aW9ucyk6IE9wdGlvbnMge1xuXHRcdGNvbnN0IGNvbmZpZyA9IHsgLi4uYmFzZUNvbmZpZywgZmlsZW5hbWU6IGZpbGUuZnVsbFBhdGggfTtcblx0XHR0aGlzLnZhbGlkYXRlKGNvbmZpZyk7XG5cdFx0cmV0dXJuIGNvbmZpZztcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgU1dDIG9wdGlvbnMgYWdhaW5zdCBrbm93biBjYXVzZXMgb2YgUnVzdC9OQVBJIHByb2Nlc3MgY3Jhc2hlcy5cblx0ICogVGhyb3dzIGEgRm9yZ2VFcnJvciB3aXRoIGEgZGVzY3JpcHRpdmUgbWVzc2FnZSBpbnN0ZWFkIG9mIGxldHRpbmcgdGhlXG5cdCAqIE5BUEkgbGF5ZXIgYWJvcnQgdGhlIHByb2Nlc3MuXG5cdCAqXG5cdCAqIEtub3duIGNyYXNoIGNhdXNlczpcblx0ICogLSBganNjLmJhc2VVcmxgIHNldCB0byBhIHJlbGF0aXZlIHBhdGggKFNXQyByZXF1aXJlcyBhbiBhYnNvbHV0ZSBwYXRoKVxuXHQgKi9cblx0cHVibGljIHZhbGlkYXRlKG9wdGlvbnM6IE9wdGlvbnMpOiB2b2lkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gb3B0aW9ucy5qc2M/LmJhc2VVcmw7XG5cdFx0aWYgKGJhc2VVcmwgIT0gbnVsbCAmJiAhcGF0aC5pc0Fic29sdXRlKGJhc2VVcmwpKSB7XG5cdFx0XHR0aHJvdyBuZXcgRm9yZ2VFcnJvcihcblx0XHRcdFx0YFNXQyBjb25maWc6IGpzYy5iYXNlVXJsIG11c3QgYmUgYW4gYWJzb2x1dGUgcGF0aCB0byBhdm9pZCBhIHByb2Nlc3MgY3Jhc2gsIGdvdDogXCIke2Jhc2VVcmx9XCIuIFVzZSBwYXRoLnJlc29sdmUoKSB0byBjb252ZXJ0IGl0LmAsXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBSZXNvbHZlcyB0c2NvbmZpZyBiYXNlVXJsIHRvIGFuIGFic29sdXRlIHBhdGguIFJldHVybnMgdW5kZWZpbmVkIGlmIG5vdCBzZXQuICovXG5cdHByaXZhdGUgc3RhdGljIGdldEJhc2VVcmwodHNDb25maWc6IFRzY29uZmlnIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gdHNDb25maWc/LmNvbXBpbGVyT3B0aW9ucz8uYmFzZVVybDtcblx0XHRpZiAoYmFzZVVybCA9PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdHJldHVybiBwYXRoLnJlc29sdmUoYmFzZVVybCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJwYXRoIiwiVHJhY2UiLCJtZXJnZSIsIkZvcmdlRXJyb3IiLCJkZWZhdWx0T3B0aW9ucyIsImpzYyIsInBhcnNlciIsInN5bnRheCIsImRlY29yYXRvcnMiLCJ0YXJnZXQiLCJ0cmFuc2Zvcm0iLCJkZWNvcmF0b3JNZXRhZGF0YSIsImV4cGVyaW1lbnRhbCIsImtlZXBJbXBvcnRBdHRyaWJ1dGVzIiwibW9kdWxlIiwicmVzb2x2ZUZ1bGx5Iiwic291cmNlTWFwcyIsIlN3Y0NvbmZpZ0ZhY3RvcnkiLCJjcmVhdGVCYXNlQ29uZmlnIiwiYnVpbGRUYXJnZXQiLCJjb25maWdPcHRpb25zIiwidXNlckNvbmZpZyIsInRzQ29uZmlnIiwiYWxpYXNQYXRocyIsImNvbXBpbGVyT3B0aW9ucyIsInBhdGhzIiwidW5kZWZpbmVkIiwiYmFzZVVybCIsImdldEJhc2VVcmwiLCJyZXNvbHZlIiwib3B0aW9ucyIsInR5cGUiLCJ3aXRoT3B0aW9ucyIsIm1lcmdlQXJyYXlzIiwiY3JlYXRlRmlsZUNvbmZpZyIsImZpbGUiLCJiYXNlQ29uZmlnIiwiY29uZmlnIiwiZmlsZW5hbWUiLCJmdWxsUGF0aCIsInZhbGlkYXRlIiwiaXNBYnNvbHV0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBT0EsVUFBVSxZQUFZO0FBRTdCLFNBQVNDLEtBQUssUUFBUSw4QkFBOEI7QUFFcEQsU0FBU0MsS0FBSyxRQUFRLDBCQUEwQjtBQUVoRCxTQUFTQyxVQUFVLFFBQVEsZUFBZTtBQUkxQyxNQUFNQyxpQkFBaUI7SUFDdEJDLEtBQUs7UUFDSkMsUUFBUTtZQUNQQyxRQUFRO1lBQ1JDLFlBQVk7UUFDYjtRQUNBQyxRQUFRO1FBQ1JDLFdBQVc7WUFDVkMsbUJBQW1CO1FBQ3BCO1FBQ0FDLGNBQWM7WUFBRUMsc0JBQXNCO1FBQUs7SUFDNUM7SUFDQUMsUUFBUTtRQUNQQyxjQUFjO0lBQ2Y7SUFDQUMsWUFBWTtBQUNiO0FBR0EsT0FBTyxNQUFNQztJQUNaOzs7RUFHQyxHQUNELEFBQU9DLGlCQUNOQyxXQUE0QixFQUM1QkMsYUFBK0IsRUFDckI7UUFDVixNQUFNLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxVQUFVLEVBQUUsR0FBR0g7UUFDN0MsTUFBTSxFQUFFSSxlQUFlLEVBQUUsR0FBR0YsWUFBWSxDQUFDO1FBQ3pDLE1BQU1HLFFBQVFGLGFBQWFDLGlCQUFpQkMsUUFBUUM7UUFDcEQsTUFBTUMsVUFDTFYsaUJBQWlCVyxVQUFVLENBQUNOLGFBQWNHLENBQUFBLFNBQVMsT0FBT3pCLEtBQUs2QixPQUFPLENBQUMsT0FBT0gsU0FBUTtRQUV2RixNQUFNSSxVQUFtQjtZQUN4QnpCLEtBQUs7Z0JBQ0pzQjtnQkFDQUY7WUFDRDtZQUNBWCxRQUFRO2dCQUNQaUIsTUFBTVo7WUFDUDtRQUNEO1FBRUEsT0FBT2pCLE1BQU04QixXQUFXLENBQ3ZCO1lBQUVDLGFBQWE7UUFBTSxHQUNyQjdCLGdCQUNBMEIsU0FDQVQsY0FBYyxDQUFDO0lBRWpCO0lBRUEsNkRBQTZELEdBQzdELEFBQU9hLGlCQUFpQkMsSUFBWSxFQUFFQyxVQUFtQixFQUFXO1FBQ25FLE1BQU1DLFNBQVM7WUFBRSxHQUFHRCxVQUFVO1lBQUVFLFVBQVVILEtBQUtJLFFBQVE7UUFBQztRQUN4RCxJQUFJLENBQUNDLFFBQVEsQ0FBQ0g7UUFDZCxPQUFPQTtJQUNSO0lBRUE7Ozs7Ozs7RUFPQyxHQUNELEFBQU9HLFNBQVNWLE9BQWdCLEVBQVE7UUFDdkMsTUFBTUgsVUFBVUcsUUFBUXpCLEdBQUcsRUFBRXNCO1FBQzdCLElBQUlBLFdBQVcsUUFBUSxDQUFDM0IsS0FBS3lDLFVBQVUsQ0FBQ2QsVUFBVTtZQUNqRCxNQUFNLElBQUl4QixXQUNULENBQUMsaUZBQWlGLEVBQUV3QixRQUFRLG9DQUFvQyxDQUFDO1FBRW5JO0lBQ0Q7SUFFQSxpRkFBaUYsR0FDakYsT0FBZUMsV0FBV04sUUFBOEIsRUFBc0I7UUFDN0UsTUFBTUssVUFBVUwsVUFBVUUsaUJBQWlCRztRQUMzQyxJQUFJQSxXQUFXLE1BQU0sT0FBT0Q7UUFDNUIsT0FBTzFCLEtBQUs2QixPQUFPLENBQUNGO0lBQ3JCO0FBQ0QifQ==
@@ -55,4 +55,4 @@ export class ForgeModule extends ModuleManifest {
55
55
  }
56
56
  }
57
57
 
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2ZvcmdlLm1vZHVsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyQ29uZmlnRmFjdG9yeSwgV29ya3NwYWNlRmFjdG9yeSB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHR5cGUgeyBXb3Jrc3BhY2VGYWN0b3J5T3B0aW9ucyB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBNb2R1bGVNYW5pZmVzdCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgdHlwZSB7IENvbnRhaW5lckJ1aWxkZXIgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NvbXBvc2l0aW9uXCI7XG5pbXBvcnQgKiBhcyBBY3Rpb25zIGZyb20gXCIuL2FjdGlvbnMvaW5kZXguanNcIjtcbmltcG9ydCAqIGFzIENvbW1hbmRzIGZyb20gXCIuL2NvbW1hbmRzL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBEZXBlbmRlbmN5UmVzb2x2ZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy9kZXBlbmRlbmN5LXJlc29sdmVyLnNlcnZpY2UuanNcIjtcbmltcG9ydCB7IEZpbGVXcml0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvZmlsZS13cml0ZXIuc2VydmljZS5qc1wiO1xuaW1wb3J0IHsgU3djVHJhbnNwaWxlciB9IGZyb20gXCIuL3NlcnZpY2VzL3N3Yy10cmFuc3BpbGVyLmpzXCI7XG5pbXBvcnQgeyBUeXBlRW1pdHRlciB9IGZyb20gXCIuL3NlcnZpY2VzL3R5cGUtZW1pdHRlci5qc1wiO1xuaW1wb3J0IHsgVHJhbnNmb3JtZXJLZXkgfSBmcm9tIFwiLi90eXBlcy90cmFuc2Zvcm1lci50eXBlLmpzXCI7XG5pbXBvcnQgeyBEZWZhdWx0Q29uZmlndXJhdGlvbnMsIFdvcmtzcGFjZURlZmF1bHRzIH0gZnJvbSBcIi4vd29ya3NwYWNlLmNvbmZpZy5qc1wiO1xuXG5leHBvcnQgY2xhc3MgRm9yZ2VNb2R1bGUgZXh0ZW5kcyBNb2R1bGVNYW5pZmVzdCB7XG5cdHB1YmxpYyByZWFkb25seSBpZCA9IFwiZm9yZ2VcIjtcblx0cHVibGljIHJlYWRvbmx5IGNvbW1hbmQgPSBDb21tYW5kcy5Gb3JnZUNvbW1hbmQ7XG5cdHB1YmxpYyByZWFkb25seSBhY3Rpb25zID0ge1xuXHRcdGNsZWFuOiBBY3Rpb25zLkNsZWFuLFxuXHRcdGNvcHk6IEFjdGlvbnMuQ29weSxcblx0XHRidWlsZDogQWN0aW9ucy5CdWlsZCxcblx0XHR3YXRjaDogQWN0aW9ucy5XYXRjaCxcblx0XHRwdWJsaXNoOiBBY3Rpb25zLlB1Ymxpc2gsXG5cdFx0c3luY0RlcGVuZGVuY2llczogQWN0aW9ucy5TeW5jRGVwZW5kZW5jaWVzLFxuXHRcdHN5bmNMb2NrRmlsZTogQWN0aW9ucy5TeW5jTG9ja0ZpbGUsXG5cdFx0cmVwb3J0RGVwZW5kZW5jaWVzOiBBY3Rpb25zLlJlcG9ydERlcGVuZGVuY2llcyxcblx0XHR2ZXJzaW9uOiBBY3Rpb25zLlZlcnNpb24sXG5cdFx0dGFnOiBBY3Rpb25zLlRhZyxcblx0XHRjb21taXRGaWxlczogQWN0aW9ucy5Db21taXRGaWxlcyxcblx0fTtcblx0cHVibGljIHJlYWRvbmx5IGNvbW1hbmRzID0ge1xuXHRcdGJ1aWxkOiBDb21tYW5kcy5CdWlsZENvbW1hbmQsXG5cdFx0cHVibGlzaDogQ29tbWFuZHMuUHVibGlzaENvbW1hbmQsXG5cdFx0ZGVwZW5kZW5jaWVzOiBDb21tYW5kcy5EZXBlbmRlbmN5Q29tbWFuZCxcblx0XHR2ZXJzaW9uOiBDb21tYW5kcy5WZXJzaW9uQ29tbWFuZCxcblx0XHR0YWc6IENvbW1hbmRzLlRhZ0NvbW1hbmQsXG5cdH07XG5cblx0cHVibGljIHJlZ2lzdGVyU2VydmljZXMoYnVpbGRlcjogQ29udGFpbmVyQnVpbGRlcikge1xuXHRcdGJ1aWxkZXIucmVnaXN0ZXJTaW5nbGV0b24oVHJhbnNmb3JtZXJLZXksIFN3Y1RyYW5zcGlsZXIpO1xuXHRcdGJ1aWxkZXIucmVnaXN0ZXJTaW5nbGV0b24oVHJhbnNmb3JtZXJLZXksIFR5cGVFbWl0dGVyKTtcblx0XHRidWlsZGVyLnJlZ2lzdGVyU2luZ2xldG9uKERlcGVuZGVuY3lSZXNvbHZlcik7XG5cdFx0YnVpbGRlci5yZWdpc3RlclNpbmdsZXRvbihGaWxlV3JpdGVyU2VydmljZSk7XG5cdH1cblxuXHRwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgY3JlYXRlV29ya3NwYWNlKG9wdGlvbnM6IFdvcmtzcGFjZUZhY3RvcnlPcHRpb25zKSB7XG5cdFx0Y29uc3QgeyBjb25maWd1cmF0aW9uczogXywgLi4uZm9yZ2VEZWZhdWx0cyB9ID0gV29ya3NwYWNlRGVmYXVsdHM7XG5cdFx0Y29uc3QgdXNlckNvbmZpZyA9IGF3YWl0IFVzZXJDb25maWdGYWN0b3J5LmdldFVzZXJDb25maWcob3B0aW9ucy5jb25maWdGaWxlKTtcblx0XHQvLyBPbmx5IGFwcGx5IGZvcmdlIGRlZmF1bHQgY29uZmlndXJhdGlvbnMgd2hlbiB1c2VyIGNvbmZpZyBkb2Vzbid0IHByb3ZpZGUgYW55LlxuXHRcdC8vIFRoaXMgZW5zdXJlcyB1c2VyLWRlZmluZWQgY29uZmlndXJhdGlvbnMgdGFrZSBwcmlvcml0eSB3aGlsZSBzdGlsbCBwcm92aWRpbmdcblx0XHQvLyBzZW5zaWJsZSBkZWZhdWx0cyAoZGVidWcgKyByZWxlYXNlKSB3aGVuIG5vIGNvbmZpZyBmaWxlIGlzIHByZXNlbnQuXG5cdFx0Y29uc3QgY29uZmlndXJhdGlvbnMgPSB1c2VyQ29uZmlnLmNvbmZpZ3VyYXRpb25zPy5sZW5ndGhcblx0XHRcdD8gdW5kZWZpbmVkXG5cdFx0XHQ6IERlZmF1bHRDb25maWd1cmF0aW9ucztcblx0XHRyZXR1cm4gV29ya3NwYWNlRmFjdG9yeS5jcmVhdGUoe1xuXHRcdFx0Li4uZm9yZ2VEZWZhdWx0cyxcblx0XHRcdC4uLihjb25maWd1cmF0aW9ucyA/IHsgY29uZmlndXJhdGlvbnMgfSA6IHt9KSxcblx0XHRcdGNvbmZpZ0ZpbGU6IG9wdGlvbnMuY29uZmlnRmlsZSxcblx0XHRcdHJvb3REaXI6IG9wdGlvbnMucm9vdERpciA/PyBXb3Jrc3BhY2VEZWZhdWx0cy5yb290RGlyLFxuXHRcdH0pO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiVXNlckNvbmZpZ0ZhY3RvcnkiLCJXb3Jrc3BhY2VGYWN0b3J5IiwiTW9kdWxlTWFuaWZlc3QiLCJBY3Rpb25zIiwiQ29tbWFuZHMiLCJEZXBlbmRlbmN5UmVzb2x2ZXIiLCJGaWxlV3JpdGVyU2VydmljZSIsIlN3Y1RyYW5zcGlsZXIiLCJUeXBlRW1pdHRlciIsIlRyYW5zZm9ybWVyS2V5IiwiRGVmYXVsdENvbmZpZ3VyYXRpb25zIiwiV29ya3NwYWNlRGVmYXVsdHMiLCJGb3JnZU1vZHVsZSIsImlkIiwiY29tbWFuZCIsIkZvcmdlQ29tbWFuZCIsImFjdGlvbnMiLCJjbGVhbiIsIkNsZWFuIiwiY29weSIsIkNvcHkiLCJidWlsZCIsIkJ1aWxkIiwid2F0Y2giLCJXYXRjaCIsInB1Ymxpc2giLCJQdWJsaXNoIiwic3luY0RlcGVuZGVuY2llcyIsIlN5bmNEZXBlbmRlbmNpZXMiLCJzeW5jTG9ja0ZpbGUiLCJTeW5jTG9ja0ZpbGUiLCJyZXBvcnREZXBlbmRlbmNpZXMiLCJSZXBvcnREZXBlbmRlbmNpZXMiLCJ2ZXJzaW9uIiwiVmVyc2lvbiIsInRhZyIsIlRhZyIsImNvbW1pdEZpbGVzIiwiQ29tbWl0RmlsZXMiLCJjb21tYW5kcyIsIkJ1aWxkQ29tbWFuZCIsIlB1Ymxpc2hDb21tYW5kIiwiZGVwZW5kZW5jaWVzIiwiRGVwZW5kZW5jeUNvbW1hbmQiLCJWZXJzaW9uQ29tbWFuZCIsIlRhZ0NvbW1hbmQiLCJyZWdpc3RlclNlcnZpY2VzIiwiYnVpbGRlciIsInJlZ2lzdGVyU2luZ2xldG9uIiwiY3JlYXRlV29ya3NwYWNlIiwib3B0aW9ucyIsImNvbmZpZ3VyYXRpb25zIiwiXyIsImZvcmdlRGVmYXVsdHMiLCJ1c2VyQ29uZmlnIiwiZ2V0VXNlckNvbmZpZyIsImNvbmZpZ0ZpbGUiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJjcmVhdGUiLCJyb290RGlyIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxpQkFBaUIsRUFBRUMsZ0JBQWdCLFFBQVEsaUJBQWlCO0FBRXJFLFNBQVNDLGNBQWMsUUFBUSxzQkFBc0I7QUFFckQsWUFBWUMsYUFBYSxxQkFBcUI7QUFDOUMsWUFBWUMsY0FBYyxzQkFBc0I7QUFDaEQsU0FBU0Msa0JBQWtCLFFBQVEsNENBQTRDO0FBQy9FLFNBQVNDLGlCQUFpQixRQUFRLG9DQUFvQztBQUN0RSxTQUFTQyxhQUFhLFFBQVEsK0JBQStCO0FBQzdELFNBQVNDLFdBQVcsUUFBUSw2QkFBNkI7QUFDekQsU0FBU0MsY0FBYyxRQUFRLDhCQUE4QjtBQUM3RCxTQUFTQyxxQkFBcUIsRUFBRUMsaUJBQWlCLFFBQVEsd0JBQXdCO0FBRWpGLE9BQU8sTUFBTUMsb0JBQW9CVjtJQUNoQlcsS0FBSyxRQUFRO0lBQ2JDLFVBQVVWLFNBQVNXLFlBQVksQ0FBQztJQUNoQ0MsVUFBVTtRQUN6QkMsT0FBT2QsUUFBUWUsS0FBSztRQUNwQkMsTUFBTWhCLFFBQVFpQixJQUFJO1FBQ2xCQyxPQUFPbEIsUUFBUW1CLEtBQUs7UUFDcEJDLE9BQU9wQixRQUFRcUIsS0FBSztRQUNwQkMsU0FBU3RCLFFBQVF1QixPQUFPO1FBQ3hCQyxrQkFBa0J4QixRQUFReUIsZ0JBQWdCO1FBQzFDQyxjQUFjMUIsUUFBUTJCLFlBQVk7UUFDbENDLG9CQUFvQjVCLFFBQVE2QixrQkFBa0I7UUFDOUNDLFNBQVM5QixRQUFRK0IsT0FBTztRQUN4QkMsS0FBS2hDLFFBQVFpQyxHQUFHO1FBQ2hCQyxhQUFhbEMsUUFBUW1DLFdBQVc7SUFDakMsRUFBRTtJQUNjQyxXQUFXO1FBQzFCbEIsT0FBT2pCLFNBQVNvQyxZQUFZO1FBQzVCZixTQUFTckIsU0FBU3FDLGNBQWM7UUFDaENDLGNBQWN0QyxTQUFTdUMsaUJBQWlCO1FBQ3hDVixTQUFTN0IsU0FBU3dDLGNBQWM7UUFDaENULEtBQUsvQixTQUFTeUMsVUFBVTtJQUN6QixFQUFFO0lBRUtDLGlCQUFpQkMsT0FBeUIsRUFBRTtRQUNsREEsUUFBUUMsaUJBQWlCLENBQUN2QyxnQkFBZ0JGO1FBQzFDd0MsUUFBUUMsaUJBQWlCLENBQUN2QyxnQkFBZ0JEO1FBQzFDdUMsUUFBUUMsaUJBQWlCLENBQUMzQztRQUMxQjBDLFFBQVFDLGlCQUFpQixDQUFDMUM7SUFDM0I7SUFFQSxNQUFzQjJDLGdCQUFnQkMsT0FBZ0MsRUFBRTtRQUN2RSxNQUFNLEVBQUVDLGdCQUFnQkMsQ0FBQyxFQUFFLEdBQUdDLGVBQWUsR0FBRzFDO1FBQ2hELE1BQU0yQyxhQUFhLE1BQU10RCxrQkFBa0J1RCxhQUFhLENBQUNMLFFBQVFNLFVBQVU7UUFDM0UsZ0ZBQWdGO1FBQ2hGLCtFQUErRTtRQUMvRSxzRUFBc0U7UUFDdEUsTUFBTUwsaUJBQWlCRyxXQUFXSCxjQUFjLEVBQUVNLFNBQy9DQyxZQUNBaEQ7UUFDSCxPQUFPVCxpQkFBaUIwRCxNQUFNLENBQUM7WUFDOUIsR0FBR04sYUFBYTtZQUNoQixHQUFJRixpQkFBaUI7Z0JBQUVBO1lBQWUsSUFBSSxDQUFDLENBQUM7WUFDNUNLLFlBQVlOLFFBQVFNLFVBQVU7WUFDOUJJLFNBQVNWLFFBQVFVLE9BQU8sSUFBSWpELGtCQUFrQmlELE9BQU87UUFDdEQ7SUFDRDtBQUNEIn0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mb3JnZS5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlckNvbmZpZ0ZhY3RvcnksIFdvcmtzcGFjZUZhY3RvcnkgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgV29ya3NwYWNlRmFjdG9yeU9wdGlvbnMgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgTW9kdWxlTWFuaWZlc3QgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHR5cGUgeyBDb250YWluZXJCdWlsZGVyIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jb21wb3NpdGlvblwiO1xuaW1wb3J0ICogYXMgQWN0aW9ucyBmcm9tIFwiLi9hY3Rpb25zL2luZGV4LmpzXCI7XG5pbXBvcnQgKiBhcyBDb21tYW5kcyBmcm9tIFwiLi9jb21tYW5kcy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgRGVwZW5kZW5jeVJlc29sdmVyIH0gZnJvbSBcIi4vc2VydmljZXMvZGVwZW5kZW5jeS1yZXNvbHZlci5zZXJ2aWNlLmpzXCI7XG5pbXBvcnQgeyBGaWxlV3JpdGVyU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL2ZpbGUtd3JpdGVyLnNlcnZpY2UuanNcIjtcbmltcG9ydCB7IFN3Y1RyYW5zcGlsZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuaW1wb3J0IHsgVHlwZUVtaXR0ZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy90eXBlLWVtaXR0ZXIuanNcIjtcbmltcG9ydCB7IFRyYW5zZm9ybWVyS2V5IH0gZnJvbSBcIi4vdHlwZXMvdHJhbnNmb3JtZXIudHlwZS5qc1wiO1xuaW1wb3J0IHsgRGVmYXVsdENvbmZpZ3VyYXRpb25zLCBXb3Jrc3BhY2VEZWZhdWx0cyB9IGZyb20gXCIuL3dvcmtzcGFjZS5jb25maWcuanNcIjtcblxuZXhwb3J0IGNsYXNzIEZvcmdlTW9kdWxlIGV4dGVuZHMgTW9kdWxlTWFuaWZlc3Qge1xuXHRwdWJsaWMgcmVhZG9ubHkgaWQgPSBcImZvcmdlXCI7XG5cdHB1YmxpYyByZWFkb25seSBjb21tYW5kID0gQ29tbWFuZHMuRm9yZ2VDb21tYW5kO1xuXHRwdWJsaWMgcmVhZG9ubHkgYWN0aW9ucyA9IHtcblx0XHRjbGVhbjogQWN0aW9ucy5DbGVhbixcblx0XHRjb3B5OiBBY3Rpb25zLkNvcHksXG5cdFx0YnVpbGQ6IEFjdGlvbnMuQnVpbGQsXG5cdFx0d2F0Y2g6IEFjdGlvbnMuV2F0Y2gsXG5cdFx0cHVibGlzaDogQWN0aW9ucy5QdWJsaXNoLFxuXHRcdHN5bmNEZXBlbmRlbmNpZXM6IEFjdGlvbnMuU3luY0RlcGVuZGVuY2llcyxcblx0XHRzeW5jTG9ja0ZpbGU6IEFjdGlvbnMuU3luY0xvY2tGaWxlLFxuXHRcdHJlcG9ydERlcGVuZGVuY2llczogQWN0aW9ucy5SZXBvcnREZXBlbmRlbmNpZXMsXG5cdFx0dmVyc2lvbjogQWN0aW9ucy5WZXJzaW9uLFxuXHRcdHRhZzogQWN0aW9ucy5UYWcsXG5cdFx0Y29tbWl0RmlsZXM6IEFjdGlvbnMuQ29tbWl0RmlsZXMsXG5cdH07XG5cdHB1YmxpYyByZWFkb25seSBjb21tYW5kcyA9IHtcblx0XHRidWlsZDogQ29tbWFuZHMuQnVpbGRDb21tYW5kLFxuXHRcdHB1Ymxpc2g6IENvbW1hbmRzLlB1Ymxpc2hDb21tYW5kLFxuXHRcdGRlcGVuZGVuY2llczogQ29tbWFuZHMuRGVwZW5kZW5jeUNvbW1hbmQsXG5cdFx0dmVyc2lvbjogQ29tbWFuZHMuVmVyc2lvbkNvbW1hbmQsXG5cdFx0dGFnOiBDb21tYW5kcy5UYWdDb21tYW5kLFxuXHR9O1xuXG5cdHB1YmxpYyByZWdpc3RlclNlcnZpY2VzKGJ1aWxkZXI6IENvbnRhaW5lckJ1aWxkZXIpIHtcblx0XHRidWlsZGVyLnJlZ2lzdGVyU2luZ2xldG9uKFRyYW5zZm9ybWVyS2V5LCBTd2NUcmFuc3BpbGVyKTtcblx0XHRidWlsZGVyLnJlZ2lzdGVyU2luZ2xldG9uKFRyYW5zZm9ybWVyS2V5LCBUeXBlRW1pdHRlcik7XG5cdFx0YnVpbGRlci5yZWdpc3RlclNpbmdsZXRvbihEZXBlbmRlbmN5UmVzb2x2ZXIpO1xuXHRcdGJ1aWxkZXIucmVnaXN0ZXJTaW5nbGV0b24oRmlsZVdyaXRlclNlcnZpY2UpO1xuXHR9XG5cblx0cHVibGljIG92ZXJyaWRlIGFzeW5jIGNyZWF0ZVdvcmtzcGFjZShvcHRpb25zOiBXb3Jrc3BhY2VGYWN0b3J5T3B0aW9ucykge1xuXHRcdGNvbnN0IHsgY29uZmlndXJhdGlvbnM6IF8sIC4uLmZvcmdlRGVmYXVsdHMgfSA9IFdvcmtzcGFjZURlZmF1bHRzO1xuXHRcdGNvbnN0IHVzZXJDb25maWcgPSBhd2FpdCBVc2VyQ29uZmlnRmFjdG9yeS5nZXRVc2VyQ29uZmlnKG9wdGlvbnMuY29uZmlnRmlsZSk7XG5cdFx0Ly8gT25seSBhcHBseSBmb3JnZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zIHdoZW4gdXNlciBjb25maWcgZG9lc24ndCBwcm92aWRlIGFueS5cblx0XHQvLyBUaGlzIGVuc3VyZXMgdXNlci1kZWZpbmVkIGNvbmZpZ3VyYXRpb25zIHRha2UgcHJpb3JpdHkgd2hpbGUgc3RpbGwgcHJvdmlkaW5nXG5cdFx0Ly8gc2Vuc2libGUgZGVmYXVsdHMgKGRlYnVnICsgcmVsZWFzZSkgd2hlbiBubyBjb25maWcgZmlsZSBpcyBwcmVzZW50LlxuXHRcdGNvbnN0IGNvbmZpZ3VyYXRpb25zID0gdXNlckNvbmZpZy5jb25maWd1cmF0aW9ucz8ubGVuZ3RoXG5cdFx0XHQ/IHVuZGVmaW5lZFxuXHRcdFx0OiBEZWZhdWx0Q29uZmlndXJhdGlvbnM7XG5cdFx0cmV0dXJuIFdvcmtzcGFjZUZhY3RvcnkuY3JlYXRlKHtcblx0XHRcdC4uLmZvcmdlRGVmYXVsdHMsXG5cdFx0XHQuLi4oY29uZmlndXJhdGlvbnMgPyB7IGNvbmZpZ3VyYXRpb25zIH0gOiB7fSksXG5cdFx0XHRjb25maWdGaWxlOiBvcHRpb25zLmNvbmZpZ0ZpbGUsXG5cdFx0XHRyb290RGlyOiBvcHRpb25zLnJvb3REaXIgPz8gV29ya3NwYWNlRGVmYXVsdHMucm9vdERpcixcblx0XHR9KTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIlVzZXJDb25maWdGYWN0b3J5IiwiV29ya3NwYWNlRmFjdG9yeSIsIk1vZHVsZU1hbmlmZXN0IiwiQWN0aW9ucyIsIkNvbW1hbmRzIiwiRGVwZW5kZW5jeVJlc29sdmVyIiwiRmlsZVdyaXRlclNlcnZpY2UiLCJTd2NUcmFuc3BpbGVyIiwiVHlwZUVtaXR0ZXIiLCJUcmFuc2Zvcm1lcktleSIsIkRlZmF1bHRDb25maWd1cmF0aW9ucyIsIldvcmtzcGFjZURlZmF1bHRzIiwiRm9yZ2VNb2R1bGUiLCJpZCIsImNvbW1hbmQiLCJGb3JnZUNvbW1hbmQiLCJhY3Rpb25zIiwiY2xlYW4iLCJDbGVhbiIsImNvcHkiLCJDb3B5IiwiYnVpbGQiLCJCdWlsZCIsIndhdGNoIiwiV2F0Y2giLCJwdWJsaXNoIiwiUHVibGlzaCIsInN5bmNEZXBlbmRlbmNpZXMiLCJTeW5jRGVwZW5kZW5jaWVzIiwic3luY0xvY2tGaWxlIiwiU3luY0xvY2tGaWxlIiwicmVwb3J0RGVwZW5kZW5jaWVzIiwiUmVwb3J0RGVwZW5kZW5jaWVzIiwidmVyc2lvbiIsIlZlcnNpb24iLCJ0YWciLCJUYWciLCJjb21taXRGaWxlcyIsIkNvbW1pdEZpbGVzIiwiY29tbWFuZHMiLCJCdWlsZENvbW1hbmQiLCJQdWJsaXNoQ29tbWFuZCIsImRlcGVuZGVuY2llcyIsIkRlcGVuZGVuY3lDb21tYW5kIiwiVmVyc2lvbkNvbW1hbmQiLCJUYWdDb21tYW5kIiwicmVnaXN0ZXJTZXJ2aWNlcyIsImJ1aWxkZXIiLCJyZWdpc3RlclNpbmdsZXRvbiIsImNyZWF0ZVdvcmtzcGFjZSIsIm9wdGlvbnMiLCJjb25maWd1cmF0aW9ucyIsIl8iLCJmb3JnZURlZmF1bHRzIiwidXNlckNvbmZpZyIsImdldFVzZXJDb25maWciLCJjb25maWdGaWxlIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiY3JlYXRlIiwicm9vdERpciJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsaUJBQWlCLEVBQUVDLGdCQUFnQixRQUFRLGlCQUFpQjtBQUVyRSxTQUFTQyxjQUFjLFFBQVEsc0JBQXNCO0FBRXJELFlBQVlDLGFBQWEscUJBQXFCO0FBQzlDLFlBQVlDLGNBQWMsc0JBQXNCO0FBQ2hELFNBQVNDLGtCQUFrQixRQUFRLDRDQUE0QztBQUMvRSxTQUFTQyxpQkFBaUIsUUFBUSxvQ0FBb0M7QUFDdEUsU0FBU0MsYUFBYSxRQUFRLCtCQUErQjtBQUM3RCxTQUFTQyxXQUFXLFFBQVEsNkJBQTZCO0FBQ3pELFNBQVNDLGNBQWMsUUFBUSw4QkFBOEI7QUFDN0QsU0FBU0MscUJBQXFCLEVBQUVDLGlCQUFpQixRQUFRLHdCQUF3QjtBQUVqRixPQUFPLE1BQU1DLG9CQUFvQlY7SUFDaEJXLEtBQUssUUFBUTtJQUNiQyxVQUFVVixTQUFTVyxZQUFZLENBQUM7SUFDaENDLFVBQVU7UUFDekJDLE9BQU9kLFFBQVFlLEtBQUs7UUFDcEJDLE1BQU1oQixRQUFRaUIsSUFBSTtRQUNsQkMsT0FBT2xCLFFBQVFtQixLQUFLO1FBQ3BCQyxPQUFPcEIsUUFBUXFCLEtBQUs7UUFDcEJDLFNBQVN0QixRQUFRdUIsT0FBTztRQUN4QkMsa0JBQWtCeEIsUUFBUXlCLGdCQUFnQjtRQUMxQ0MsY0FBYzFCLFFBQVEyQixZQUFZO1FBQ2xDQyxvQkFBb0I1QixRQUFRNkIsa0JBQWtCO1FBQzlDQyxTQUFTOUIsUUFBUStCLE9BQU87UUFDeEJDLEtBQUtoQyxRQUFRaUMsR0FBRztRQUNoQkMsYUFBYWxDLFFBQVFtQyxXQUFXO0lBQ2pDLEVBQUU7SUFDY0MsV0FBVztRQUMxQmxCLE9BQU9qQixTQUFTb0MsWUFBWTtRQUM1QmYsU0FBU3JCLFNBQVNxQyxjQUFjO1FBQ2hDQyxjQUFjdEMsU0FBU3VDLGlCQUFpQjtRQUN4Q1YsU0FBUzdCLFNBQVN3QyxjQUFjO1FBQ2hDVCxLQUFLL0IsU0FBU3lDLFVBQVU7SUFDekIsRUFBRTtJQUVLQyxpQkFBaUJDLE9BQXlCLEVBQUU7UUFDbERBLFFBQVFDLGlCQUFpQixDQUFDdkMsZ0JBQWdCRjtRQUMxQ3dDLFFBQVFDLGlCQUFpQixDQUFDdkMsZ0JBQWdCRDtRQUMxQ3VDLFFBQVFDLGlCQUFpQixDQUFDM0M7UUFDMUIwQyxRQUFRQyxpQkFBaUIsQ0FBQzFDO0lBQzNCO0lBRUEsTUFBc0IyQyxnQkFBZ0JDLE9BQWdDLEVBQUU7UUFDdkUsTUFBTSxFQUFFQyxnQkFBZ0JDLENBQUMsRUFBRSxHQUFHQyxlQUFlLEdBQUcxQztRQUNoRCxNQUFNMkMsYUFBYSxNQUFNdEQsa0JBQWtCdUQsYUFBYSxDQUFDTCxRQUFRTSxVQUFVO1FBQzNFLGdGQUFnRjtRQUNoRiwrRUFBK0U7UUFDL0Usc0VBQXNFO1FBQ3RFLE1BQU1MLGlCQUFpQkcsV0FBV0gsY0FBYyxFQUFFTSxTQUMvQ0MsWUFDQWhEO1FBQ0gsT0FBT1QsaUJBQWlCMEQsTUFBTSxDQUFDO1lBQzlCLEdBQUdOLGFBQWE7WUFDaEIsR0FBSUYsaUJBQWlCO2dCQUFFQTtZQUFlLElBQUksQ0FBQyxDQUFDO1lBQzVDSyxZQUFZTixRQUFRTSxVQUFVO1lBQzlCSSxTQUFTVixRQUFRVSxPQUFPLElBQUlqRCxrQkFBa0JpRCxPQUFPO1FBQ3REO0lBQ0Q7QUFDRCJ9
package/es6/src/index.js CHANGED
@@ -1,4 +1,7 @@
1
1
  export { ForgeError } from "./errors.js";
2
2
  export { ForgeModule } from "./forge.module.js";
3
+ export { SwcTranspiler } from "./services/swc-transpiler.js";
4
+ export { BuildTargets } from "./types/build-target.type.js";
5
+ export { Debug as DebugConfiguration, DefaultConfigurations, Release as ReleaseConfiguration, WorkspaceDefaults } from "./workspace.config.js";
3
6
 
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZvcmdlRXJyb3IgfSBmcm9tIFwiLi9lcnJvcnMuanNcIjtcbmV4cG9ydCB7IEZvcmdlTW9kdWxlIH0gZnJvbSBcIi4vZm9yZ2UubW9kdWxlLmpzXCI7XG5leHBvcnQgdHlwZSB7IEZvcmdlQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuL3R5cGVzL2NvbmZpZ3VyYXRpb24udHlwZS5qc1wiO1xuZXhwb3J0IHR5cGUgeyBXb3Jrc3BhY2VPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXMvd29ya3NwYWNlLWNvbmZpZy50eXBlLmpzXCI7XG4iXSwibmFtZXMiOlsiRm9yZ2VFcnJvciIsIkZvcmdlTW9kdWxlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFVLFFBQVEsY0FBYztBQUN6QyxTQUFTQyxXQUFXLFFBQVEsb0JBQW9CIn0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGb3JnZUVycm9yIH0gZnJvbSBcIi4vZXJyb3JzLmpzXCI7XG5leHBvcnQgeyBGb3JnZU1vZHVsZSB9IGZyb20gXCIuL2ZvcmdlLm1vZHVsZS5qc1wiO1xuZXhwb3J0IHR5cGUgeyBUcmFuc3BpbGVPcHRpb25zIH0gZnJvbSBcIi4vc2VydmljZXMvc3djLXRyYW5zcGlsZXIuanNcIjtcbmV4cG9ydCB7IFN3Y1RyYW5zcGlsZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuZXhwb3J0IHR5cGUgeyBCdWlsZFRhcmdldCwgVHJhbnNwaWxlVGFyZ2V0IH0gZnJvbSBcIi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmV4cG9ydCB7IEJ1aWxkVGFyZ2V0cyB9IGZyb20gXCIuL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5leHBvcnQgdHlwZSB7IEZvcmdlQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuL3R5cGVzL2NvbmZpZ3VyYXRpb24udHlwZS5qc1wiO1xuZXhwb3J0IHR5cGUgeyBXb3Jrc3BhY2VPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXMvd29ya3NwYWNlLWNvbmZpZy50eXBlLmpzXCI7XG5leHBvcnQge1xuXHREZWJ1ZyBhcyBEZWJ1Z0NvbmZpZ3VyYXRpb24sXG5cdERlZmF1bHRDb25maWd1cmF0aW9ucyxcblx0UmVsZWFzZSBhcyBSZWxlYXNlQ29uZmlndXJhdGlvbixcblx0V29ya3NwYWNlRGVmYXVsdHMsXG59IGZyb20gXCIuL3dvcmtzcGFjZS5jb25maWcuanNcIjtcbiJdLCJuYW1lcyI6WyJGb3JnZUVycm9yIiwiRm9yZ2VNb2R1bGUiLCJTd2NUcmFuc3BpbGVyIiwiQnVpbGRUYXJnZXRzIiwiRGVidWciLCJEZWJ1Z0NvbmZpZ3VyYXRpb24iLCJEZWZhdWx0Q29uZmlndXJhdGlvbnMiLCJSZWxlYXNlIiwiUmVsZWFzZUNvbmZpZ3VyYXRpb24iLCJXb3Jrc3BhY2VEZWZhdWx0cyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLGNBQWM7QUFDekMsU0FBU0MsV0FBVyxRQUFRLG9CQUFvQjtBQUVoRCxTQUFTQyxhQUFhLFFBQVEsK0JBQStCO0FBRTdELFNBQVNDLFlBQVksUUFBUSwrQkFBK0I7QUFHNUQsU0FDQ0MsU0FBU0Msa0JBQWtCLEVBQzNCQyxxQkFBcUIsRUFDckJDLFdBQVdDLG9CQUFvQixFQUMvQkMsaUJBQWlCLFFBQ1gsd0JBQXdCIn0=
@@ -29,4 +29,4 @@ export class CachesOutputs {
29
29
  }
30
30
  }
31
31
 
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL21peGlucy9jYWNoZXMtb3V0cHV0cy5taXhpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbyB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNmb3JtUmVzcG9uc2UgfSBmcm9tIFwiLi4vdHlwZXMvdHJhbnNmb3JtLXJlc3BvbnNlLm1vZGVsLmpzXCI7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDYWNoZXNPdXRwdXRzIHtcblx0LyoqIE1hcHMgc291cmNlIGZpbGUgZnVsbFBhdGggLT4gb3V0cHV0IFRyYW5zZm9ybVJlc3BvbnNlcyBmb3IgY2xlYW51cCBpbiB3YXRjaCBtb2RlLiAqL1xuXHRwcm90ZWN0ZWQgZ2V0IG91dHB1dENhY2hlKCk6IE1hcDxzdHJpbmcsIFRyYW5zZm9ybVJlc3BvbnNlW10+IHtcblx0XHRjb25zdCBzZWxmID0gdGhpcyBhcyB7IF9fb3V0cHV0Q2FjaGU/OiBNYXA8c3RyaW5nLCBUcmFuc2Zvcm1SZXNwb25zZVtdPiB9O1xuXHRcdGlmIChzZWxmLl9fb3V0cHV0Q2FjaGUgPT0gbnVsbCkge1xuXHRcdFx0c2VsZi5fX291dHB1dENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIFRyYW5zZm9ybVJlc3BvbnNlW10+KCk7XG5cdFx0fVxuXHRcdHJldHVybiBzZWxmLl9fb3V0cHV0Q2FjaGU7XG5cdH1cblxuXHRwcm90ZWN0ZWQgY2FjaGVPdXRwdXRzKHJlc3BvbnNlczogVHJhbnNmb3JtUmVzcG9uc2VbXSk6IHZvaWQge1xuXHRcdGZvciAoY29uc3QgcmVzcG9uc2Ugb2YgcmVzcG9uc2VzKSB7XG5cdFx0XHRpZiAocmVzcG9uc2Uub3V0Y29tZSAhPT0gXCJzdWNjZXNzXCIpIGNvbnRpbnVlO1xuXHRcdFx0Y29uc3QgZXhpc3RpbmcgPSB0aGlzLm91dHB1dENhY2hlLmdldChyZXNwb25zZS5maWxlLmZ1bGxQYXRoKSA/PyBbXTtcblx0XHRcdHRoaXMub3V0cHV0Q2FjaGUuc2V0KHJlc3BvbnNlLmZpbGUuZnVsbFBhdGgsIFsuLi5leGlzdGluZywgcmVzcG9uc2VdKTtcblx0XHR9XG5cdH1cblxuXHRwcm90ZWN0ZWQgZGVsZXRlQ2FjaGVkT3V0cHV0cyhmaWxlUGF0aDogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3Qgb3V0cHV0cyA9IHRoaXMub3V0cHV0Q2FjaGUuZ2V0KGZpbGVQYXRoKTtcblx0XHRpZiAob3V0cHV0cyA9PSBudWxsKSByZXR1cm47XG5cdFx0Zm9yIChjb25zdCByZXNwb25zZSBvZiBvdXRwdXRzKSB7XG5cdFx0XHRpZiAocmVzcG9uc2Uub3V0cHV0UGF0aCAhPSBudWxsKSB7XG5cdFx0XHRcdHZvaWQgaW8uZGVsZXRlRmlsZShyZXNwb25zZS5vdXRwdXRQYXRoKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0dGhpcy5vdXRwdXRDYWNoZS5kZWxldGUoZmlsZVBhdGgpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiaW8iLCJDYWNoZXNPdXRwdXRzIiwib3V0cHV0Q2FjaGUiLCJzZWxmIiwiX19vdXRwdXRDYWNoZSIsIk1hcCIsImNhY2hlT3V0cHV0cyIsInJlc3BvbnNlcyIsInJlc3BvbnNlIiwib3V0Y29tZSIsImV4aXN0aW5nIiwiZ2V0IiwiZmlsZSIsImZ1bGxQYXRoIiwic2V0IiwiZGVsZXRlQ2FjaGVkT3V0cHV0cyIsImZpbGVQYXRoIiwib3V0cHV0cyIsIm91dHB1dFBhdGgiLCJkZWxldGVGaWxlIiwiZGVsZXRlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxFQUFFLFFBQVEscUJBQXFCO0FBR3hDLE9BQU8sTUFBZUM7SUFDckIsc0ZBQXNGLEdBQ3RGLElBQWNDLGNBQWdEO1FBQzdELE1BQU1DLE9BQU8sSUFBSTtRQUNqQixJQUFJQSxLQUFLQyxhQUFhLElBQUksTUFBTTtZQUMvQkQsS0FBS0MsYUFBYSxHQUFHLElBQUlDO1FBQzFCO1FBQ0EsT0FBT0YsS0FBS0MsYUFBYTtJQUMxQjtJQUVVRSxhQUFhQyxTQUE4QixFQUFRO1FBQzVELEtBQUssTUFBTUMsWUFBWUQsVUFBVztZQUNqQyxJQUFJQyxTQUFTQyxPQUFPLEtBQUssV0FBVztZQUNwQyxNQUFNQyxXQUFXLElBQUksQ0FBQ1IsV0FBVyxDQUFDUyxHQUFHLENBQUNILFNBQVNJLElBQUksQ0FBQ0MsUUFBUSxLQUFLLEVBQUU7WUFDbkUsSUFBSSxDQUFDWCxXQUFXLENBQUNZLEdBQUcsQ0FBQ04sU0FBU0ksSUFBSSxDQUFDQyxRQUFRLEVBQUU7bUJBQUlIO2dCQUFVRjthQUFTO1FBQ3JFO0lBQ0Q7SUFFVU8sb0JBQW9CQyxRQUFnQixFQUFRO1FBQ3JELE1BQU1DLFVBQVUsSUFBSSxDQUFDZixXQUFXLENBQUNTLEdBQUcsQ0FBQ0s7UUFDckMsSUFBSUMsV0FBVyxNQUFNO1FBQ3JCLEtBQUssTUFBTVQsWUFBWVMsUUFBUztZQUMvQixJQUFJVCxTQUFTVSxVQUFVLElBQUksTUFBTTtnQkFDaEMsS0FBS2xCLEdBQUdtQixVQUFVLENBQUNYLFNBQVNVLFVBQVU7WUFDdkM7UUFDRDtRQUNBLElBQUksQ0FBQ2hCLFdBQVcsQ0FBQ2tCLE1BQU0sQ0FBQ0o7SUFDekI7QUFDRCJ9
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9taXhpbnMvY2FjaGVzLW91dHB1dHMubWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW8gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgdHlwZSB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2FjaGVzT3V0cHV0cyB7XG5cdC8qKiBNYXBzIHNvdXJjZSBmaWxlIGZ1bGxQYXRoIC0+IG91dHB1dCBUcmFuc2Zvcm1SZXNwb25zZXMgZm9yIGNsZWFudXAgaW4gd2F0Y2ggbW9kZS4gKi9cblx0cHJvdGVjdGVkIGdldCBvdXRwdXRDYWNoZSgpOiBNYXA8c3RyaW5nLCBUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Y29uc3Qgc2VsZiA9IHRoaXMgYXMgeyBfX291dHB1dENhY2hlPzogTWFwPHN0cmluZywgVHJhbnNmb3JtUmVzcG9uc2VbXT4gfTtcblx0XHRpZiAoc2VsZi5fX291dHB1dENhY2hlID09IG51bGwpIHtcblx0XHRcdHNlbGYuX19vdXRwdXRDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBUcmFuc2Zvcm1SZXNwb25zZVtdPigpO1xuXHRcdH1cblx0XHRyZXR1cm4gc2VsZi5fX291dHB1dENhY2hlO1xuXHR9XG5cblx0cHJvdGVjdGVkIGNhY2hlT3V0cHV0cyhyZXNwb25zZXM6IFRyYW5zZm9ybVJlc3BvbnNlW10pOiB2b2lkIHtcblx0XHRmb3IgKGNvbnN0IHJlc3BvbnNlIG9mIHJlc3BvbnNlcykge1xuXHRcdFx0aWYgKHJlc3BvbnNlLm91dGNvbWUgIT09IFwic3VjY2Vzc1wiKSBjb250aW51ZTtcblx0XHRcdGNvbnN0IGV4aXN0aW5nID0gdGhpcy5vdXRwdXRDYWNoZS5nZXQocmVzcG9uc2UuZmlsZS5mdWxsUGF0aCkgPz8gW107XG5cdFx0XHR0aGlzLm91dHB1dENhY2hlLnNldChyZXNwb25zZS5maWxlLmZ1bGxQYXRoLCBbLi4uZXhpc3RpbmcsIHJlc3BvbnNlXSk7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIGRlbGV0ZUNhY2hlZE91dHB1dHMoZmlsZVBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdGNvbnN0IG91dHB1dHMgPSB0aGlzLm91dHB1dENhY2hlLmdldChmaWxlUGF0aCk7XG5cdFx0aWYgKG91dHB1dHMgPT0gbnVsbCkgcmV0dXJuO1xuXHRcdGZvciAoY29uc3QgcmVzcG9uc2Ugb2Ygb3V0cHV0cykge1xuXHRcdFx0aWYgKHJlc3BvbnNlLm91dHB1dFBhdGggIT0gbnVsbCkge1xuXHRcdFx0XHR2b2lkIGlvLmRlbGV0ZUZpbGUocmVzcG9uc2Uub3V0cHV0UGF0aCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHRoaXMub3V0cHV0Q2FjaGUuZGVsZXRlKGZpbGVQYXRoKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbImlvIiwiQ2FjaGVzT3V0cHV0cyIsIm91dHB1dENhY2hlIiwic2VsZiIsIl9fb3V0cHV0Q2FjaGUiLCJNYXAiLCJjYWNoZU91dHB1dHMiLCJyZXNwb25zZXMiLCJyZXNwb25zZSIsIm91dGNvbWUiLCJleGlzdGluZyIsImdldCIsImZpbGUiLCJmdWxsUGF0aCIsInNldCIsImRlbGV0ZUNhY2hlZE91dHB1dHMiLCJmaWxlUGF0aCIsIm91dHB1dHMiLCJvdXRwdXRQYXRoIiwiZGVsZXRlRmlsZSIsImRlbGV0ZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsRUFBRSxRQUFRLHFCQUFxQjtBQUd4QyxPQUFPLE1BQWVDO0lBQ3JCLHNGQUFzRixHQUN0RixJQUFjQyxjQUFnRDtRQUM3RCxNQUFNQyxPQUFPLElBQUk7UUFDakIsSUFBSUEsS0FBS0MsYUFBYSxJQUFJLE1BQU07WUFDL0JELEtBQUtDLGFBQWEsR0FBRyxJQUFJQztRQUMxQjtRQUNBLE9BQU9GLEtBQUtDLGFBQWE7SUFDMUI7SUFFVUUsYUFBYUMsU0FBOEIsRUFBUTtRQUM1RCxLQUFLLE1BQU1DLFlBQVlELFVBQVc7WUFDakMsSUFBSUMsU0FBU0MsT0FBTyxLQUFLLFdBQVc7WUFDcEMsTUFBTUMsV0FBVyxJQUFJLENBQUNSLFdBQVcsQ0FBQ1MsR0FBRyxDQUFDSCxTQUFTSSxJQUFJLENBQUNDLFFBQVEsS0FBSyxFQUFFO1lBQ25FLElBQUksQ0FBQ1gsV0FBVyxDQUFDWSxHQUFHLENBQUNOLFNBQVNJLElBQUksQ0FBQ0MsUUFBUSxFQUFFO21CQUFJSDtnQkFBVUY7YUFBUztRQUNyRTtJQUNEO0lBRVVPLG9CQUFvQkMsUUFBZ0IsRUFBUTtRQUNyRCxNQUFNQyxVQUFVLElBQUksQ0FBQ2YsV0FBVyxDQUFDUyxHQUFHLENBQUNLO1FBQ3JDLElBQUlDLFdBQVcsTUFBTTtRQUNyQixLQUFLLE1BQU1ULFlBQVlTLFFBQVM7WUFDL0IsSUFBSVQsU0FBU1UsVUFBVSxJQUFJLE1BQU07Z0JBQ2hDLEtBQUtsQixHQUFHbUIsVUFBVSxDQUFDWCxTQUFTVSxVQUFVO1lBQ3ZDO1FBQ0Q7UUFDQSxJQUFJLENBQUNoQixXQUFXLENBQUNrQixNQUFNLENBQUNKO0lBQ3pCO0FBQ0QifQ==
@@ -23,4 +23,4 @@ export class IncrementalTransform {
23
23
  }
24
24
  }
25
25
 
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL21peGlucy9pbmNyZW1lbnRhbC10cmFuc2Zvcm0ubWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9qZWN0RmlsZUV2ZW50LCBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNmb3JtUmVzcG9uc2UgfSBmcm9tIFwiLi4vdHlwZXMvdHJhbnNmb3JtLXJlc3BvbnNlLm1vZGVsLmpzXCI7XG5cbi8vIFdlYWtNYXAgYXZvaWRzIHRoZSBwcml2YXRlLWZpZWxkLWluLW1peGluIHByb2JsZW06IHByaXZhdGUgY2xhc3MgZmllbGRzICgjeClcbi8vIGFyZSBub3QgYWNjZXNzaWJsZSB3aGVuIG1ldGhvZHMgYXJlIGNvcGllZCBvbnRvIGEgZGlmZmVyZW50IGNsYXNzIHByb3RvdHlwZS5cbmNvbnN0IHN1YmplY3RzID0gbmV3IFdlYWtNYXA8b2JqZWN0LCBTdWJqZWN0PFRyYW5zZm9ybVJlc3BvbnNlW10+PigpO1xuXG5mdW5jdGlvbiBnZXRTdWJqZWN0KGluc3RhbmNlOiBvYmplY3QpOiBTdWJqZWN0PFRyYW5zZm9ybVJlc3BvbnNlW10+IHtcblx0bGV0IHN1YmplY3QgPSBzdWJqZWN0cy5nZXQoaW5zdGFuY2UpO1xuXHRpZiAoc3ViamVjdCA9PSBudWxsKSB7XG5cdFx0c3ViamVjdCA9IG5ldyBTdWJqZWN0PFRyYW5zZm9ybVJlc3BvbnNlW10+KCk7XG5cdFx0c3ViamVjdHMuc2V0KGluc3RhbmNlLCBzdWJqZWN0KTtcblx0fVxuXHRyZXR1cm4gc3ViamVjdDtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEluY3JlbWVudGFsVHJhbnNmb3JtIHtcblx0cHVibGljIGdldCBpbmNyZW1lbnRhbFRyYW5zZm9ybSQoKTogT2JzZXJ2YWJsZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0cmV0dXJuIGdldFN1YmplY3QodGhpcykuYXNPYnNlcnZhYmxlKCk7XG5cdH1cblxuXHRwdWJsaWMgd2F0Y2god29ya3NwYWNlOiBXb3Jrc3BhY2UpOiB2b2lkIHtcblx0XHR3b3Jrc3BhY2UucHJvamVjdEZpbGVDaGFuZ2VkJC5zdWJzY3JpYmUoKGV2dCkgPT4ge1xuXHRcdFx0dm9pZCB0aGlzLm9uSW5jcmVtZW50YWxGaWxlRXZlbnQoZXZ0KS50aGVuKChyZXNwb25zZXMpID0+IHtcblx0XHRcdFx0Z2V0U3ViamVjdCh0aGlzKS5uZXh0KHJlc3BvbnNlcyk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDYWxsZWQgZm9yIGV2ZXJ5IHdvcmtzcGFjZSBmaWxlIGNoYW5nZS4gSW1wbGVtZW50YXRpb25zIHNob3VsZCBpbnZhbGlkYXRlXG5cdCAqIGFueSBpbnRlcm5hbCBjYWNoZXMsIHBlcmZvcm0gdGhlIGluY3JlbWVudGFsIHRyYW5zZm9ybSwgYW5kIHJldHVybiB0aGUgcmVzdWx0cy5cblx0ICogUmV0dXJuIGFuIGVtcHR5IGFycmF5IGZvciBkZWxldGlvbnMgb3Igd2hlbiBubyBvdXRwdXQgaXMgcHJvZHVjZWQuXG5cdCAqL1xuXHRwcm90ZWN0ZWQgYWJzdHJhY3Qgb25JbmNyZW1lbnRhbEZpbGVFdmVudChcblx0XHRldnQ6IFByb2plY3RGaWxlRXZlbnQsXG5cdCk6IFByb21pc2U8VHJhbnNmb3JtUmVzcG9uc2VbXT47XG59XG4iXSwibmFtZXMiOlsiU3ViamVjdCIsInN1YmplY3RzIiwiV2Vha01hcCIsImdldFN1YmplY3QiLCJpbnN0YW5jZSIsInN1YmplY3QiLCJnZXQiLCJzZXQiLCJJbmNyZW1lbnRhbFRyYW5zZm9ybSIsImluY3JlbWVudGFsVHJhbnNmb3JtJCIsImFzT2JzZXJ2YWJsZSIsIndhdGNoIiwid29ya3NwYWNlIiwicHJvamVjdEZpbGVDaGFuZ2VkJCIsInN1YnNjcmliZSIsImV2dCIsIm9uSW5jcmVtZW50YWxGaWxlRXZlbnQiLCJ0aGVuIiwicmVzcG9uc2VzIiwibmV4dCJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsT0FBTyxRQUFRLE9BQU87QUFHL0IsK0VBQStFO0FBQy9FLCtFQUErRTtBQUMvRSxNQUFNQyxXQUFXLElBQUlDO0FBRXJCLFNBQVNDLFdBQVdDLFFBQWdCO0lBQ25DLElBQUlDLFVBQVVKLFNBQVNLLEdBQUcsQ0FBQ0Y7SUFDM0IsSUFBSUMsV0FBVyxNQUFNO1FBQ3BCQSxVQUFVLElBQUlMO1FBQ2RDLFNBQVNNLEdBQUcsQ0FBQ0gsVUFBVUM7SUFDeEI7SUFDQSxPQUFPQTtBQUNSO0FBRUEsT0FBTyxNQUFlRztJQUNyQixJQUFXQyx3QkFBeUQ7UUFDbkUsT0FBT04sV0FBVyxJQUFJLEVBQUVPLFlBQVk7SUFDckM7SUFFT0MsTUFBTUMsU0FBb0IsRUFBUTtRQUN4Q0EsVUFBVUMsbUJBQW1CLENBQUNDLFNBQVMsQ0FBQyxDQUFDQztZQUN4QyxLQUFLLElBQUksQ0FBQ0Msc0JBQXNCLENBQUNELEtBQUtFLElBQUksQ0FBQyxDQUFDQztnQkFDM0NmLFdBQVcsSUFBSSxFQUFFZ0IsSUFBSSxDQUFDRDtZQUN2QjtRQUNEO0lBQ0Q7QUFVRCJ9
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9taXhpbnMvaW5jcmVtZW50YWwtdHJhbnNmb3JtLm1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvamVjdEZpbGVFdmVudCwgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgdHlwZSB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuXG4vLyBXZWFrTWFwIGF2b2lkcyB0aGUgcHJpdmF0ZS1maWVsZC1pbi1taXhpbiBwcm9ibGVtOiBwcml2YXRlIGNsYXNzIGZpZWxkcyAoI3gpXG4vLyBhcmUgbm90IGFjY2Vzc2libGUgd2hlbiBtZXRob2RzIGFyZSBjb3BpZWQgb250byBhIGRpZmZlcmVudCBjbGFzcyBwcm90b3R5cGUuXG5jb25zdCBzdWJqZWN0cyA9IG5ldyBXZWFrTWFwPG9iamVjdCwgU3ViamVjdDxUcmFuc2Zvcm1SZXNwb25zZVtdPj4oKTtcblxuZnVuY3Rpb24gZ2V0U3ViamVjdChpbnN0YW5jZTogb2JqZWN0KTogU3ViamVjdDxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdGxldCBzdWJqZWN0ID0gc3ViamVjdHMuZ2V0KGluc3RhbmNlKTtcblx0aWYgKHN1YmplY3QgPT0gbnVsbCkge1xuXHRcdHN1YmplY3QgPSBuZXcgU3ViamVjdDxUcmFuc2Zvcm1SZXNwb25zZVtdPigpO1xuXHRcdHN1YmplY3RzLnNldChpbnN0YW5jZSwgc3ViamVjdCk7XG5cdH1cblx0cmV0dXJuIHN1YmplY3Q7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbmNyZW1lbnRhbFRyYW5zZm9ybSB7XG5cdHB1YmxpYyBnZXQgaW5jcmVtZW50YWxUcmFuc2Zvcm0kKCk6IE9ic2VydmFibGU8VHJhbnNmb3JtUmVzcG9uc2VbXT4ge1xuXHRcdHJldHVybiBnZXRTdWJqZWN0KHRoaXMpLmFzT2JzZXJ2YWJsZSgpO1xuXHR9XG5cblx0cHVibGljIHdhdGNoKHdvcmtzcGFjZTogV29ya3NwYWNlKTogdm9pZCB7XG5cdFx0d29ya3NwYWNlLnByb2plY3RGaWxlQ2hhbmdlZCQuc3Vic2NyaWJlKChldnQpID0+IHtcblx0XHRcdHZvaWQgdGhpcy5vbkluY3JlbWVudGFsRmlsZUV2ZW50KGV2dCkudGhlbigocmVzcG9uc2VzKSA9PiB7XG5cdFx0XHRcdGdldFN1YmplY3QodGhpcykubmV4dChyZXNwb25zZXMpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogQ2FsbGVkIGZvciBldmVyeSB3b3Jrc3BhY2UgZmlsZSBjaGFuZ2UuIEltcGxlbWVudGF0aW9ucyBzaG91bGQgaW52YWxpZGF0ZVxuXHQgKiBhbnkgaW50ZXJuYWwgY2FjaGVzLCBwZXJmb3JtIHRoZSBpbmNyZW1lbnRhbCB0cmFuc2Zvcm0sIGFuZCByZXR1cm4gdGhlIHJlc3VsdHMuXG5cdCAqIFJldHVybiBhbiBlbXB0eSBhcnJheSBmb3IgZGVsZXRpb25zIG9yIHdoZW4gbm8gb3V0cHV0IGlzIHByb2R1Y2VkLlxuXHQgKi9cblx0cHJvdGVjdGVkIGFic3RyYWN0IG9uSW5jcmVtZW50YWxGaWxlRXZlbnQoXG5cdFx0ZXZ0OiBQcm9qZWN0RmlsZUV2ZW50LFxuXHQpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3BvbnNlW10+O1xufVxuIl0sIm5hbWVzIjpbIlN1YmplY3QiLCJzdWJqZWN0cyIsIldlYWtNYXAiLCJnZXRTdWJqZWN0IiwiaW5zdGFuY2UiLCJzdWJqZWN0IiwiZ2V0Iiwic2V0IiwiSW5jcmVtZW50YWxUcmFuc2Zvcm0iLCJpbmNyZW1lbnRhbFRyYW5zZm9ybSQiLCJhc09ic2VydmFibGUiLCJ3YXRjaCIsIndvcmtzcGFjZSIsInByb2plY3RGaWxlQ2hhbmdlZCQiLCJzdWJzY3JpYmUiLCJldnQiLCJvbkluY3JlbWVudGFsRmlsZUV2ZW50IiwidGhlbiIsInJlc3BvbnNlcyIsIm5leHQiXSwibWFwcGluZ3MiOiJBQUVBLFNBQVNBLE9BQU8sUUFBUSxPQUFPO0FBRy9CLCtFQUErRTtBQUMvRSwrRUFBK0U7QUFDL0UsTUFBTUMsV0FBVyxJQUFJQztBQUVyQixTQUFTQyxXQUFXQyxRQUFnQjtJQUNuQyxJQUFJQyxVQUFVSixTQUFTSyxHQUFHLENBQUNGO0lBQzNCLElBQUlDLFdBQVcsTUFBTTtRQUNwQkEsVUFBVSxJQUFJTDtRQUNkQyxTQUFTTSxHQUFHLENBQUNILFVBQVVDO0lBQ3hCO0lBQ0EsT0FBT0E7QUFDUjtBQUVBLE9BQU8sTUFBZUc7SUFDckIsSUFBV0Msd0JBQXlEO1FBQ25FLE9BQU9OLFdBQVcsSUFBSSxFQUFFTyxZQUFZO0lBQ3JDO0lBRU9DLE1BQU1DLFNBQW9CLEVBQVE7UUFDeENBLFVBQVVDLG1CQUFtQixDQUFDQyxTQUFTLENBQUMsQ0FBQ0M7WUFDeEMsS0FBSyxJQUFJLENBQUNDLHNCQUFzQixDQUFDRCxLQUFLRSxJQUFJLENBQUMsQ0FBQ0M7Z0JBQzNDZixXQUFXLElBQUksRUFBRWdCLElBQUksQ0FBQ0Q7WUFDdkI7UUFDRDtJQUNEO0FBVUQifQ==
@@ -159,4 +159,4 @@ DependencyResolver = _ts_decorate([
159
159
  injectable()
160
160
  ], DependencyResolver);
161
161
 
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL3NlcnZpY2VzL2RlcGVuZGVuY3ktcmVzb2x2ZXIuc2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3RhYmxlIH0gZnJvbSBcIkBkZWNvaGVyZS9jcnVjaWJsZS9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgdHlwZSB7IFBhY2thZ2VKc29uLCBQcm9qZWN0LCBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IHR5cGUgRmlsZUV4LCBpbyB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IHBhcnNlSW1wb3J0cyB9IGZyb20gXCJwYXJzZS1pbXBvcnRzXCI7XG5pbXBvcnQgeyBCVUlMVF9JTl9NT0RVTEVTIH0gZnJvbSBcIi4uL2NvbnN0LmpzXCI7XG5pbXBvcnQgeyBGb3JnZUVycm9yIH0gZnJvbSBcIi4uL2Vycm9ycy5qc1wiO1xuaW1wb3J0IHR5cGUge1xuXHREZXBlbmRlbmN5V2FybmluZyxcblx0RHJpZnRFbnRyeSxcblx0UGFja2FnZSxcblx0UmVzb2x2ZWREZXBlbmRlbmN5LFxufSBmcm9tIFwiLi4vdHlwZXMvZGVwZW5kZW5jeS50eXBlcy5qc1wiO1xuXG5leHBvcnQgdHlwZSBQcm9qZWN0RGVwZW5kZW5jaWVzID0ge1xuXHRwcm9qZWN0OiBQcm9qZWN0O1xuXHR1cGRhdGVkUGFja2FnZTogUGFja2FnZUpzb247XG5cdHdhcm5pbmdzOiBEZXBlbmRlbmN5V2FybmluZ1tdO1xufTtcblxuQGluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERlcGVuZGVuY3lSZXNvbHZlciB7XG5cdHB1YmxpYyBjb21wdXRlRHJpZnQoY3VycmVudDogUGFja2FnZUpzb24sIGNvbXB1dGVkOiBQYWNrYWdlSnNvbik6IERyaWZ0RW50cnkgfCBudWxsIHtcblx0XHRjb25zdCBzb3J0S2V5cyA9IChvYmo6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pID0+XG5cdFx0XHRPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMob2JqKS5zb3J0KCkpO1xuXG5cdFx0Y29uc3QgY3VycmVudERlcHMgPSBzb3J0S2V5cyhjdXJyZW50LmRlcGVuZGVuY2llcyA/PyB7fSk7XG5cdFx0Y29uc3QgY29tcHV0ZWREZXBzID0gc29ydEtleXMoY29tcHV0ZWQuZGVwZW5kZW5jaWVzID8/IHt9KTtcblx0XHRjb25zdCBjdXJyZW50RGV2RGVwcyA9IHNvcnRLZXlzKGN1cnJlbnQuZGV2RGVwZW5kZW5jaWVzID8/IHt9KTtcblx0XHRjb25zdCBjb21wdXRlZERldkRlcHMgPSBzb3J0S2V5cyhjb21wdXRlZC5kZXZEZXBlbmRlbmNpZXMgPz8ge30pO1xuXG5cdFx0Y29uc3QgaGFzRHJpZnQgPVxuXHRcdFx0SlNPTi5zdHJpbmdpZnkoY3VycmVudERlcHMpICE9PSBKU09OLnN0cmluZ2lmeShjb21wdXRlZERlcHMpIHx8XG5cdFx0XHRKU09OLnN0cmluZ2lmeShjdXJyZW50RGV2RGVwcykgIT09IEpTT04uc3RyaW5naWZ5KGNvbXB1dGVkRGV2RGVwcyk7XG5cblx0XHRpZiAoIWhhc0RyaWZ0KSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cblx0XHRyZXR1cm4ge1xuXHRcdFx0b3JpZ2luYWw6IHsgZGVwZW5kZW5jaWVzOiBjdXJyZW50RGVwcywgZGV2RGVwZW5kZW5jaWVzOiBjdXJyZW50RGV2RGVwcyB9LFxuXHRcdFx0dXBkYXRlZDogeyBkZXBlbmRlbmNpZXM6IGNvbXB1dGVkRGVwcywgZGV2RGVwZW5kZW5jaWVzOiBjb21wdXRlZERldkRlcHMgfSxcblx0XHR9O1xuXHR9XG5cblx0cHVibGljIGFzeW5jIGdldFdvcmtzcGFjZVBhY2thZ2VzKFxuXHRcdHdvcmtzcGFjZTogV29ya3NwYWNlLFxuXHRcdHByb2plY3RzOiByZWFkb25seSBQcm9qZWN0W10sXG5cdCk6IFByb21pc2U8TWFwPHN0cmluZywgUGFja2FnZT4+IHtcblx0XHRjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHdvcmtzcGFjZS5nZXRQYWNrYWdlSnNvbigpLmNhdGNoKCgpID0+IHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcblx0XHRcdFx0YFJvb3QgcGFja2FnZS5qc29uIG5vdCBmb3VuZCBhdCBcIiR7d29ya3NwYWNlLnBhY2thZ2VKc29uRGlyZWN0b3J5fS9wYWNrYWdlLmpzb25cIi4gYCArXG5cdFx0XHRcdFx0YEVuc3VyZSB0aGUgd29ya3NwYWNlIHJvb3QgaGFzIGEgcGFja2FnZS5qc29uIHdpdGggZGVwZW5kZW5jaWVzIGxpc3RlZC5gLFxuXHRcdFx0KTtcblx0XHR9KTtcblxuXHRcdGNvbnN0IGludGVybmFscyA9IG5ldyBNYXAoXG5cdFx0XHRhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdFx0cHJvamVjdHMubWFwKGFzeW5jIChwcm9qKTogUHJvbWlzZTxbc3RyaW5nLCBQYWNrYWdlXT4gPT4ge1xuXHRcdFx0XHRcdGNvbnN0IHBhY2thZ2VKc29uID0gYXdhaXQgcHJvai5nZXRQYWNrYWdlSnNvbigpO1xuXHRcdFx0XHRcdHJldHVybiBbXG5cdFx0XHRcdFx0XHRwYWNrYWdlSnNvbi5uYW1lLFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRuYW1lOiBwYWNrYWdlSnNvbi5uYW1lLFxuXHRcdFx0XHRcdFx0XHR2ZXJzaW9uOiBwYWNrYWdlSnNvbi52ZXJzaW9uLFxuXHRcdFx0XHRcdFx0XHRpc0ludGVybmFsOiB0cnVlLFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRdO1xuXHRcdFx0XHR9KSxcblx0XHRcdCksXG5cdFx0KTtcblxuXHRcdGNvbnN0IHBhY2thZ2VzID0gT2JqZWN0LmVudHJpZXMocGFja2FnZUpzb24uZGVwZW5kZW5jaWVzKVxuXHRcdFx0LmZpbHRlcigoW2tleV0pID0+ICFpbnRlcm5hbHMuaGFzKGtleSkpXG5cdFx0XHQubWFwPFtzdHJpbmcsIFBhY2thZ2VdPigoW2tleSwgdmFsXSkgPT4gW2tleSwgeyBuYW1lOiBrZXksIHZlcnNpb246IHZhbCB9XSk7XG5cblx0XHRjb25zdCBkZXZQYWNrYWdlcyA9IE9iamVjdC5lbnRyaWVzKHBhY2thZ2VKc29uLmRldkRlcGVuZGVuY2llcylcblx0XHRcdC5maWx0ZXIoKFtrZXldKSA9PiAhaW50ZXJuYWxzLmhhcyhrZXkpKVxuXHRcdFx0Lm1hcDxbc3RyaW5nLCBQYWNrYWdlXT4oKFtrZXksIHZhbF0pID0+IFtrZXksIHsgbmFtZToga2V5LCB2ZXJzaW9uOiB2YWwsIGlzRGV2OiB0cnVlIH1dKTtcblxuXHRcdHJldHVybiBuZXcgTWFwKFsuLi5wYWNrYWdlcywgLi4uZGV2UGFja2FnZXMsIC4uLmludGVybmFsc10pO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIGNvbXB1dGVQcm9qZWN0RGVwZW5kZW5jaWVzKFxuXHRcdHByb2plY3Q6IFByb2plY3QsXG5cdFx0d29ya3NwYWNlUGFja2FnZXM6IE1hcDxzdHJpbmcsIFBhY2thZ2U+LFxuXHQpOiBQcm9taXNlPFByb2plY3REZXBlbmRlbmNpZXM+IHtcblx0XHRjb25zdCB7IGRlcGVuZGVuY2llcywgZGV2RGVwZW5kZW5jaWVzLCB3YXJuaW5ncyB9ID0gYXdhaXQgdGhpcy5nZXREZXBlbmRlbmNpZXMoXG5cdFx0XHRwcm9qZWN0LFxuXHRcdFx0d29ya3NwYWNlUGFja2FnZXMsXG5cdFx0KTtcblxuXHRcdGNvbnN0IHBrZyA9IGF3YWl0IHByb2plY3QuZ2V0UGFja2FnZUpzb24oKTtcblx0XHRjb25zdCB1cGRhdGVkUGFja2FnZSA9IHBrZ1xuXHRcdFx0LndpdGhEZXBlbmRlbmNpZXMoZGVwZW5kZW5jaWVzKVxuXHRcdFx0LndpdGhEZXZEZXBlbmRlbmNpZXMoZGV2RGVwZW5kZW5jaWVzKTtcblxuXHRcdHJldHVybiB7IHByb2plY3QsIHVwZGF0ZWRQYWNrYWdlLCB3YXJuaW5ncyB9O1xuXHR9XG5cblx0cHJpdmF0ZSBhc3luYyBnZXREZXBlbmRlbmNpZXMocHJvamVjdDogUHJvamVjdCwgd29ya3NwYWNlUGFja2FnZXM6IE1hcDxzdHJpbmcsIFBhY2thZ2U+KSB7XG5cdFx0Y29uc3QgZmlsZXMgPSBhd2FpdCBwcm9qZWN0LmdldEFsbEZpbGVzKCk7XG5cdFx0Y29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKGZpbGVzLm1hcCgoZmlsZSkgPT4gdGhpcy5nZXRGaWxlSW1wb3J0cyhmaWxlKSkpO1xuXHRcdGNvbnN0IGltcG9ydHMgPSByZXN1bHRzLmZsYXRNYXAoKHIpID0+IHIuaW1wb3J0cyk7XG5cdFx0Y29uc3Qgd2FybmluZ3MgPSByZXN1bHRzLmZsYXRNYXAoKHIpID0+IHIud2FybmluZ3MpO1xuXG5cdFx0Y29uc3QgYWxsRGVwZW5kZW5jaWVzID0gWy4uLm5ldyBTZXQoaW1wb3J0cyldXG5cdFx0XHQubWFwKChmaWxlSW1wb3J0KSA9PiB0aGlzLmdldERlcGVuZGVuY3lGcm9tKGZpbGVJbXBvcnQsIHdvcmtzcGFjZVBhY2thZ2VzKSlcblx0XHRcdC5maWx0ZXIoKGRlcCkgPT4gZGVwICE9IG51bGwpO1xuXG5cdFx0Y29uc3QgbWlzc2luZyA9IGFsbERlcGVuZGVuY2llcy5maWx0ZXIoXG5cdFx0XHQoZGVwKTogZGVwIGlzIFJlc29sdmVkRGVwZW5kZW5jeSAmIHsgbWlzc2luZzogdHJ1ZSB9ID0+IGRlcC5taXNzaW5nLFxuXHRcdCk7XG5cblx0XHRpZiAobWlzc2luZy5sZW5ndGggPiAwKSB7XG5cdFx0XHRjb25zdCBuYW1lcyA9IG1pc3NpbmcubWFwKChkZXApID0+IGRlcC5uYW1lKS5qb2luKFwiLCBcIik7XG5cdFx0XHR0aHJvdyBuZXcgRm9yZ2VFcnJvcihgTWlzc2luZyBwYWNrYWdlcyBpbiBwcm9qZWN0IFwiJHtwcm9qZWN0Lm5hbWV9XCI6ICR7bmFtZXN9YCk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgcmVzb2x2ZWQgPSBhbGxEZXBlbmRlbmNpZXMuZmlsdGVyKFxuXHRcdFx0KGRlcCk6IGRlcCBpcyBSZXNvbHZlZERlcGVuZGVuY3kgJiB7IG1pc3Npbmc6IGZhbHNlIH0gPT4gIWRlcC5taXNzaW5nLFxuXHRcdCk7XG5cblx0XHRjb25zdCBkZXBlbmRlbmNpZXMgPSBPYmplY3QuZnJvbUVudHJpZXMoXG5cdFx0XHRyZXNvbHZlZFxuXHRcdFx0XHQuZmlsdGVyKChkZXApID0+ICFkZXAuaXNEZXYpXG5cdFx0XHRcdC5tYXA8W3N0cmluZywgc3RyaW5nXT4oKGRlcCkgPT4gW2RlcC5uYW1lLCBkZXAudmVyc2lvbl0pLFxuXHRcdCk7XG5cblx0XHRjb25zdCBkZXZEZXBlbmRlbmNpZXMgPSBPYmplY3QuZnJvbUVudHJpZXMoXG5cdFx0XHRyZXNvbHZlZFxuXHRcdFx0XHQuZmlsdGVyKChkZXApID0+IGRlcC5pc0Rldilcblx0XHRcdFx0Lm1hcDxbc3RyaW5nLCBzdHJpbmddPigoZGVwKSA9PiBbZGVwLm5hbWUsIGRlcC52ZXJzaW9uXSksXG5cdFx0KTtcblxuXHRcdHJldHVybiB7IGRlcGVuZGVuY2llcywgZGV2RGVwZW5kZW5jaWVzLCB3YXJuaW5ncyB9O1xuXHR9XG5cblx0cHJpdmF0ZSBnZXREZXBlbmRlbmN5RnJvbShcblx0XHRpbXBvcnROYW1lOiBzdHJpbmcsXG5cdFx0d29ya3NwYWNlUGFja2FnZXM6IE1hcDxzdHJpbmcsIFBhY2thZ2U+LFxuXHQpOiBSZXNvbHZlZERlcGVuZGVuY3kgfCB1bmRlZmluZWQge1xuXHRcdGlmIChpbXBvcnROYW1lLnN0YXJ0c1dpdGgoXCIuXCIpIHx8IGltcG9ydE5hbWUuc3RhcnRzV2l0aChcIm5vZGU6XCIpKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3QgcGFja2FnZU5hbWVNYXRjaCA9IGltcG9ydE5hbWUubWF0Y2goL14oPzooQFteL10rXFwvW14vXSspfChbXi9dKykpLyk7XG5cdFx0Y29uc3QgcGFja2FnZU5hbWUgPSBwYWNrYWdlTmFtZU1hdGNoPy5bMF07XG5cblx0XHRpZiAocGFja2FnZU5hbWUgPT0gbnVsbCB8fCBCVUlMVF9JTl9NT0RVTEVTLmluY2x1ZGVzKHBhY2thZ2VOYW1lKSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IHBhY2tnID0gd29ya3NwYWNlUGFja2FnZXMuZ2V0KHBhY2thZ2VOYW1lKTtcblxuXHRcdGlmIChwYWNrZyA9PSBudWxsKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRuYW1lOiBwYWNrYWdlTmFtZSxcblx0XHRcdFx0dmVyc2lvbjogdW5kZWZpbmVkLFxuXHRcdFx0XHRpbnRlcm5hbDogdW5kZWZpbmVkLFxuXHRcdFx0XHRtaXNzaW5nOiB0cnVlLFxuXHRcdFx0XHRpc0RldjogZmFsc2UsXG5cdFx0XHR9O1xuXHRcdH1cblxuXHRcdHJldHVybiB7XG5cdFx0XHRuYW1lOiBwYWNrYWdlTmFtZSxcblx0XHRcdHZlcnNpb246IHBhY2tnLnZlcnNpb24gPz8gXCJcIixcblx0XHRcdGludGVybmFsOiBwYWNrZy5pc0ludGVybmFsID8/IGZhbHNlLFxuXHRcdFx0bWlzc2luZzogZmFsc2UsXG5cdFx0XHRpc0RldjogcGFja2cuaXNEZXYgPz8gZmFsc2UsXG5cdFx0fTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgZ2V0RmlsZUltcG9ydHMoXG5cdFx0ZmlsZTogRmlsZUV4LFxuXHQpOiBQcm9taXNlPHsgaW1wb3J0czogc3RyaW5nW107IHdhcm5pbmdzOiBEZXBlbmRlbmN5V2FybmluZ1tdIH0+IHtcblx0XHRjb25zdCBjb250ZW50cyA9IGF3YWl0IGlvLnJlYWRGaWxlKGZpbGUuZnVsbFBhdGgpO1xuXHRcdGNvbnN0IHBhcnNlZCA9IEFycmF5LmZyb20oYXdhaXQgcGFyc2VJbXBvcnRzKGNvbnRlbnRzKSk7XG5cblx0XHRjb25zdCBpbXBvcnRzOiBzdHJpbmdbXSA9IFtdO1xuXHRcdGNvbnN0IHdhcm5pbmdzOiBEZXBlbmRlbmN5V2FybmluZ1tdID0gW107XG5cblx0XHRmb3IgKGNvbnN0IGltcHQgb2YgcGFyc2VkKSB7XG5cdFx0XHRpZiAoaW1wdC5tb2R1bGVTcGVjaWZpZXIudmFsdWUgIT0gbnVsbCkge1xuXHRcdFx0XHRpbXBvcnRzLnB1c2goaW1wdC5tb2R1bGVTcGVjaWZpZXIudmFsdWUpO1xuXHRcdFx0fSBlbHNlIGlmIChpbXB0LmlzRHluYW1pY0ltcG9ydCkge1xuXHRcdFx0XHRjb25zdCBsaW5lID0gY29udGVudHMuc3Vic3RyaW5nKDAsIGltcHQuc3RhcnRJbmRleCkuc3BsaXQoXCJcXG5cIikubGVuZ3RoO1xuXHRcdFx0XHR3YXJuaW5ncy5wdXNoKHtcblx0XHRcdFx0XHRmaWxlOiBmaWxlLmZ1bGxQYXRoLFxuXHRcdFx0XHRcdGxpbmUsXG5cdFx0XHRcdFx0bWVzc2FnZTogYER5bmFtaWMgaW1wb3J0IHdpdGggbm9uLWxpdGVyYWwgc3BlY2lmaWVyIFxcYCR7aW1wdC5tb2R1bGVTcGVjaWZpZXIuY29kZX1cXGAgY2Fubm90IGJlIHN0YXRpY2FsbHkgcmVzb2x2ZWRgLFxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4geyBpbXBvcnRzLCB3YXJuaW5ncyB9O1xuXHR9XG59XG4iXSwibmFtZXMiOlsiaW5qZWN0YWJsZSIsImlvIiwicGFyc2VJbXBvcnRzIiwiQlVJTFRfSU5fTU9EVUxFUyIsIkZvcmdlRXJyb3IiLCJEZXBlbmRlbmN5UmVzb2x2ZXIiLCJjb21wdXRlRHJpZnQiLCJjdXJyZW50IiwiY29tcHV0ZWQiLCJzb3J0S2V5cyIsIm9iaiIsIk9iamVjdCIsImZyb21FbnRyaWVzIiwiZW50cmllcyIsInNvcnQiLCJjdXJyZW50RGVwcyIsImRlcGVuZGVuY2llcyIsImNvbXB1dGVkRGVwcyIsImN1cnJlbnREZXZEZXBzIiwiZGV2RGVwZW5kZW5jaWVzIiwiY29tcHV0ZWREZXZEZXBzIiwiaGFzRHJpZnQiLCJKU09OIiwic3RyaW5naWZ5Iiwib3JpZ2luYWwiLCJ1cGRhdGVkIiwiZ2V0V29ya3NwYWNlUGFja2FnZXMiLCJ3b3Jrc3BhY2UiLCJwcm9qZWN0cyIsInBhY2thZ2VKc29uIiwiZ2V0UGFja2FnZUpzb24iLCJjYXRjaCIsIkVycm9yIiwicGFja2FnZUpzb25EaXJlY3RvcnkiLCJpbnRlcm5hbHMiLCJNYXAiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwicHJvaiIsIm5hbWUiLCJ2ZXJzaW9uIiwiaXNJbnRlcm5hbCIsInBhY2thZ2VzIiwiZmlsdGVyIiwia2V5IiwiaGFzIiwidmFsIiwiZGV2UGFja2FnZXMiLCJpc0RldiIsImNvbXB1dGVQcm9qZWN0RGVwZW5kZW5jaWVzIiwicHJvamVjdCIsIndvcmtzcGFjZVBhY2thZ2VzIiwid2FybmluZ3MiLCJnZXREZXBlbmRlbmNpZXMiLCJwa2ciLCJ1cGRhdGVkUGFja2FnZSIsIndpdGhEZXBlbmRlbmNpZXMiLCJ3aXRoRGV2RGVwZW5kZW5jaWVzIiwiZmlsZXMiLCJnZXRBbGxGaWxlcyIsInJlc3VsdHMiLCJmaWxlIiwiZ2V0RmlsZUltcG9ydHMiLCJpbXBvcnRzIiwiZmxhdE1hcCIsInIiLCJhbGxEZXBlbmRlbmNpZXMiLCJTZXQiLCJmaWxlSW1wb3J0IiwiZ2V0RGVwZW5kZW5jeUZyb20iLCJkZXAiLCJtaXNzaW5nIiwibGVuZ3RoIiwibmFtZXMiLCJqb2luIiwicmVzb2x2ZWQiLCJpbXBvcnROYW1lIiwic3RhcnRzV2l0aCIsInBhY2thZ2VOYW1lTWF0Y2giLCJtYXRjaCIsInBhY2thZ2VOYW1lIiwiaW5jbHVkZXMiLCJwYWNrZyIsImdldCIsInVuZGVmaW5lZCIsImludGVybmFsIiwiY29udGVudHMiLCJyZWFkRmlsZSIsImZ1bGxQYXRoIiwicGFyc2VkIiwiQXJyYXkiLCJmcm9tIiwiaW1wdCIsIm1vZHVsZVNwZWNpZmllciIsInZhbHVlIiwicHVzaCIsImlzRHluYW1pY0ltcG9ydCIsImxpbmUiLCJzdWJzdHJpbmciLCJzdGFydEluZGV4Iiwic3BsaXQiLCJtZXNzYWdlIiwiY29kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsU0FBU0EsVUFBVSxRQUFRLGdDQUFnQztBQUUzRCxTQUFzQkMsRUFBRSxRQUFRLHFCQUFxQjtBQUNyRCxTQUFTQyxZQUFZLFFBQVEsZ0JBQWdCO0FBQzdDLFNBQVNDLGdCQUFnQixRQUFRLGNBQWM7QUFDL0MsU0FBU0MsVUFBVSxRQUFRLGVBQWU7QUFlMUMsT0FBTyxNQUFNQztJQUNMQyxh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
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9zZXJ2aWNlcy9kZXBlbmRlbmN5LXJlc29sdmVyLnNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0YWJsZSB9IGZyb20gXCJAZGVjb2hlcmUvY3J1Y2libGUvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHR5cGUgeyBQYWNrYWdlSnNvbiwgUHJvamVjdCwgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgeyB0eXBlIEZpbGVFeCwgaW8gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBwYXJzZUltcG9ydHMgfSBmcm9tIFwicGFyc2UtaW1wb3J0c1wiO1xuaW1wb3J0IHsgQlVJTFRfSU5fTU9EVUxFUyB9IGZyb20gXCIuLi9jb25zdC5qc1wiO1xuaW1wb3J0IHsgRm9yZ2VFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHtcblx0RGVwZW5kZW5jeVdhcm5pbmcsXG5cdERyaWZ0RW50cnksXG5cdFBhY2thZ2UsXG5cdFJlc29sdmVkRGVwZW5kZW5jeSxcbn0gZnJvbSBcIi4uL3R5cGVzL2RlcGVuZGVuY3kudHlwZXMuanNcIjtcblxuZXhwb3J0IHR5cGUgUHJvamVjdERlcGVuZGVuY2llcyA9IHtcblx0cHJvamVjdDogUHJvamVjdDtcblx0dXBkYXRlZFBhY2thZ2U6IFBhY2thZ2VKc29uO1xuXHR3YXJuaW5nczogRGVwZW5kZW5jeVdhcm5pbmdbXTtcbn07XG5cbkBpbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZXBlbmRlbmN5UmVzb2x2ZXIge1xuXHRwdWJsaWMgY29tcHV0ZURyaWZ0KGN1cnJlbnQ6IFBhY2thZ2VKc29uLCBjb21wdXRlZDogUGFja2FnZUpzb24pOiBEcmlmdEVudHJ5IHwgbnVsbCB7XG5cdFx0Y29uc3Qgc29ydEtleXMgPSAob2JqOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSA9PlxuXHRcdFx0T2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKG9iaikuc29ydCgpKTtcblxuXHRcdGNvbnN0IGN1cnJlbnREZXBzID0gc29ydEtleXMoY3VycmVudC5kZXBlbmRlbmNpZXMgPz8ge30pO1xuXHRcdGNvbnN0IGNvbXB1dGVkRGVwcyA9IHNvcnRLZXlzKGNvbXB1dGVkLmRlcGVuZGVuY2llcyA/PyB7fSk7XG5cdFx0Y29uc3QgY3VycmVudERldkRlcHMgPSBzb3J0S2V5cyhjdXJyZW50LmRldkRlcGVuZGVuY2llcyA/PyB7fSk7XG5cdFx0Y29uc3QgY29tcHV0ZWREZXZEZXBzID0gc29ydEtleXMoY29tcHV0ZWQuZGV2RGVwZW5kZW5jaWVzID8/IHt9KTtcblxuXHRcdGNvbnN0IGhhc0RyaWZ0ID1cblx0XHRcdEpTT04uc3RyaW5naWZ5KGN1cnJlbnREZXBzKSAhPT0gSlNPTi5zdHJpbmdpZnkoY29tcHV0ZWREZXBzKSB8fFxuXHRcdFx0SlNPTi5zdHJpbmdpZnkoY3VycmVudERldkRlcHMpICE9PSBKU09OLnN0cmluZ2lmeShjb21wdXRlZERldkRlcHMpO1xuXG5cdFx0aWYgKCFoYXNEcmlmdCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHtcblx0XHRcdG9yaWdpbmFsOiB7IGRlcGVuZGVuY2llczogY3VycmVudERlcHMsIGRldkRlcGVuZGVuY2llczogY3VycmVudERldkRlcHMgfSxcblx0XHRcdHVwZGF0ZWQ6IHsgZGVwZW5kZW5jaWVzOiBjb21wdXRlZERlcHMsIGRldkRlcGVuZGVuY2llczogY29tcHV0ZWREZXZEZXBzIH0sXG5cdFx0fTtcblx0fVxuXG5cdHB1YmxpYyBhc3luYyBnZXRXb3Jrc3BhY2VQYWNrYWdlcyhcblx0XHR3b3Jrc3BhY2U6IFdvcmtzcGFjZSxcblx0XHRwcm9qZWN0czogcmVhZG9ubHkgUHJvamVjdFtdLFxuXHQpOiBQcm9taXNlPE1hcDxzdHJpbmcsIFBhY2thZ2U+PiB7XG5cdFx0Y29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCB3b3Jrc3BhY2UuZ2V0UGFja2FnZUpzb24oKS5jYXRjaCgoKSA9PiB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdGBSb290IHBhY2thZ2UuanNvbiBub3QgZm91bmQgYXQgXCIke3dvcmtzcGFjZS5wYWNrYWdlSnNvbkRpcmVjdG9yeX0vcGFja2FnZS5qc29uXCIuIGAgK1xuXHRcdFx0XHRcdGBFbnN1cmUgdGhlIHdvcmtzcGFjZSByb290IGhhcyBhIHBhY2thZ2UuanNvbiB3aXRoIGRlcGVuZGVuY2llcyBsaXN0ZWQuYCxcblx0XHRcdCk7XG5cdFx0fSk7XG5cblx0XHRjb25zdCBpbnRlcm5hbHMgPSBuZXcgTWFwKFxuXHRcdFx0YXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0XHRcdHByb2plY3RzLm1hcChhc3luYyAocHJvaik6IFByb21pc2U8W3N0cmluZywgUGFja2FnZV0+ID0+IHtcblx0XHRcdFx0XHRjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHByb2ouZ2V0UGFja2FnZUpzb24oKTtcblx0XHRcdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHRcdFx0cGFja2FnZUpzb24ubmFtZSxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0bmFtZTogcGFja2FnZUpzb24ubmFtZSxcblx0XHRcdFx0XHRcdFx0dmVyc2lvbjogcGFja2FnZUpzb24udmVyc2lvbixcblx0XHRcdFx0XHRcdFx0aXNJbnRlcm5hbDogdHJ1ZSxcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XTtcblx0XHRcdFx0fSksXG5cdFx0XHQpLFxuXHRcdCk7XG5cblx0XHRjb25zdCBwYWNrYWdlcyA9IE9iamVjdC5lbnRyaWVzKHBhY2thZ2VKc29uLmRlcGVuZGVuY2llcylcblx0XHRcdC5maWx0ZXIoKFtrZXldKSA9PiAhaW50ZXJuYWxzLmhhcyhrZXkpKVxuXHRcdFx0Lm1hcDxbc3RyaW5nLCBQYWNrYWdlXT4oKFtrZXksIHZhbF0pID0+IFtrZXksIHsgbmFtZToga2V5LCB2ZXJzaW9uOiB2YWwgfV0pO1xuXG5cdFx0Y29uc3QgZGV2UGFja2FnZXMgPSBPYmplY3QuZW50cmllcyhwYWNrYWdlSnNvbi5kZXZEZXBlbmRlbmNpZXMpXG5cdFx0XHQuZmlsdGVyKChba2V5XSkgPT4gIWludGVybmFscy5oYXMoa2V5KSlcblx0XHRcdC5tYXA8W3N0cmluZywgUGFja2FnZV0+KChba2V5LCB2YWxdKSA9PiBba2V5LCB7IG5hbWU6IGtleSwgdmVyc2lvbjogdmFsLCBpc0RldjogdHJ1ZSB9XSk7XG5cblx0XHRyZXR1cm4gbmV3IE1hcChbLi4ucGFja2FnZXMsIC4uLmRldlBhY2thZ2VzLCAuLi5pbnRlcm5hbHNdKTtcblx0fVxuXG5cdHB1YmxpYyBhc3luYyBjb21wdXRlUHJvamVjdERlcGVuZGVuY2llcyhcblx0XHRwcm9qZWN0OiBQcm9qZWN0LFxuXHRcdHdvcmtzcGFjZVBhY2thZ2VzOiBNYXA8c3RyaW5nLCBQYWNrYWdlPixcblx0KTogUHJvbWlzZTxQcm9qZWN0RGVwZW5kZW5jaWVzPiB7XG5cdFx0Y29uc3QgeyBkZXBlbmRlbmNpZXMsIGRldkRlcGVuZGVuY2llcywgd2FybmluZ3MgfSA9IGF3YWl0IHRoaXMuZ2V0RGVwZW5kZW5jaWVzKFxuXHRcdFx0cHJvamVjdCxcblx0XHRcdHdvcmtzcGFjZVBhY2thZ2VzLFxuXHRcdCk7XG5cblx0XHRjb25zdCBwa2cgPSBhd2FpdCBwcm9qZWN0LmdldFBhY2thZ2VKc29uKCk7XG5cdFx0Y29uc3QgdXBkYXRlZFBhY2thZ2UgPSBwa2dcblx0XHRcdC53aXRoRGVwZW5kZW5jaWVzKGRlcGVuZGVuY2llcylcblx0XHRcdC53aXRoRGV2RGVwZW5kZW5jaWVzKGRldkRlcGVuZGVuY2llcyk7XG5cblx0XHRyZXR1cm4geyBwcm9qZWN0LCB1cGRhdGVkUGFja2FnZSwgd2FybmluZ3MgfTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgZ2V0RGVwZW5kZW5jaWVzKHByb2plY3Q6IFByb2plY3QsIHdvcmtzcGFjZVBhY2thZ2VzOiBNYXA8c3RyaW5nLCBQYWNrYWdlPikge1xuXHRcdGNvbnN0IGZpbGVzID0gYXdhaXQgcHJvamVjdC5nZXRBbGxGaWxlcygpO1xuXHRcdGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChmaWxlcy5tYXAoKGZpbGUpID0+IHRoaXMuZ2V0RmlsZUltcG9ydHMoZmlsZSkpKTtcblx0XHRjb25zdCBpbXBvcnRzID0gcmVzdWx0cy5mbGF0TWFwKChyKSA9PiByLmltcG9ydHMpO1xuXHRcdGNvbnN0IHdhcm5pbmdzID0gcmVzdWx0cy5mbGF0TWFwKChyKSA9PiByLndhcm5pbmdzKTtcblxuXHRcdGNvbnN0IGFsbERlcGVuZGVuY2llcyA9IFsuLi5uZXcgU2V0KGltcG9ydHMpXVxuXHRcdFx0Lm1hcCgoZmlsZUltcG9ydCkgPT4gdGhpcy5nZXREZXBlbmRlbmN5RnJvbShmaWxlSW1wb3J0LCB3b3Jrc3BhY2VQYWNrYWdlcykpXG5cdFx0XHQuZmlsdGVyKChkZXApID0+IGRlcCAhPSBudWxsKTtcblxuXHRcdGNvbnN0IG1pc3NpbmcgPSBhbGxEZXBlbmRlbmNpZXMuZmlsdGVyKFxuXHRcdFx0KGRlcCk6IGRlcCBpcyBSZXNvbHZlZERlcGVuZGVuY3kgJiB7IG1pc3Npbmc6IHRydWUgfSA9PiBkZXAubWlzc2luZyxcblx0XHQpO1xuXG5cdFx0aWYgKG1pc3NpbmcubGVuZ3RoID4gMCkge1xuXHRcdFx0Y29uc3QgbmFtZXMgPSBtaXNzaW5nLm1hcCgoZGVwKSA9PiBkZXAubmFtZSkuam9pbihcIiwgXCIpO1xuXHRcdFx0dGhyb3cgbmV3IEZvcmdlRXJyb3IoYE1pc3NpbmcgcGFja2FnZXMgaW4gcHJvamVjdCBcIiR7cHJvamVjdC5uYW1lfVwiOiAke25hbWVzfWApO1xuXHRcdH1cblxuXHRcdGNvbnN0IHJlc29sdmVkID0gYWxsRGVwZW5kZW5jaWVzLmZpbHRlcihcblx0XHRcdChkZXApOiBkZXAgaXMgUmVzb2x2ZWREZXBlbmRlbmN5ICYgeyBtaXNzaW5nOiBmYWxzZSB9ID0+ICFkZXAubWlzc2luZyxcblx0XHQpO1xuXG5cdFx0Y29uc3QgZGVwZW5kZW5jaWVzID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuXHRcdFx0cmVzb2x2ZWRcblx0XHRcdFx0LmZpbHRlcigoZGVwKSA9PiAhZGVwLmlzRGV2KVxuXHRcdFx0XHQubWFwPFtzdHJpbmcsIHN0cmluZ10+KChkZXApID0+IFtkZXAubmFtZSwgZGVwLnZlcnNpb25dKSxcblx0XHQpO1xuXG5cdFx0Y29uc3QgZGV2RGVwZW5kZW5jaWVzID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuXHRcdFx0cmVzb2x2ZWRcblx0XHRcdFx0LmZpbHRlcigoZGVwKSA9PiBkZXAuaXNEZXYpXG5cdFx0XHRcdC5tYXA8W3N0cmluZywgc3RyaW5nXT4oKGRlcCkgPT4gW2RlcC5uYW1lLCBkZXAudmVyc2lvbl0pLFxuXHRcdCk7XG5cblx0XHRyZXR1cm4geyBkZXBlbmRlbmNpZXMsIGRldkRlcGVuZGVuY2llcywgd2FybmluZ3MgfTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0RGVwZW5kZW5jeUZyb20oXG5cdFx0aW1wb3J0TmFtZTogc3RyaW5nLFxuXHRcdHdvcmtzcGFjZVBhY2thZ2VzOiBNYXA8c3RyaW5nLCBQYWNrYWdlPixcblx0KTogUmVzb2x2ZWREZXBlbmRlbmN5IHwgdW5kZWZpbmVkIHtcblx0XHRpZiAoaW1wb3J0TmFtZS5zdGFydHNXaXRoKFwiLlwiKSB8fCBpbXBvcnROYW1lLnN0YXJ0c1dpdGgoXCJub2RlOlwiKSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IHBhY2thZ2VOYW1lTWF0Y2ggPSBpbXBvcnROYW1lLm1hdGNoKC9eKD86KEBbXi9dK1xcL1teL10rKXwoW14vXSspKS8pO1xuXHRcdGNvbnN0IHBhY2thZ2VOYW1lID0gcGFja2FnZU5hbWVNYXRjaD8uWzBdO1xuXG5cdFx0aWYgKHBhY2thZ2VOYW1lID09IG51bGwgfHwgQlVJTFRfSU5fTU9EVUxFUy5pbmNsdWRlcyhwYWNrYWdlTmFtZSkpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBwYWNrZyA9IHdvcmtzcGFjZVBhY2thZ2VzLmdldChwYWNrYWdlTmFtZSk7XG5cblx0XHRpZiAocGFja2cgPT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0bmFtZTogcGFja2FnZU5hbWUsXG5cdFx0XHRcdHZlcnNpb246IHVuZGVmaW5lZCxcblx0XHRcdFx0aW50ZXJuYWw6IHVuZGVmaW5lZCxcblx0XHRcdFx0bWlzc2luZzogdHJ1ZSxcblx0XHRcdFx0aXNEZXY6IGZhbHNlLFxuXHRcdFx0fTtcblx0XHR9XG5cblx0XHRyZXR1cm4ge1xuXHRcdFx0bmFtZTogcGFja2FnZU5hbWUsXG5cdFx0XHR2ZXJzaW9uOiBwYWNrZy52ZXJzaW9uID8/IFwiXCIsXG5cdFx0XHRpbnRlcm5hbDogcGFja2cuaXNJbnRlcm5hbCA/PyBmYWxzZSxcblx0XHRcdG1pc3Npbmc6IGZhbHNlLFxuXHRcdFx0aXNEZXY6IHBhY2tnLmlzRGV2ID8/IGZhbHNlLFxuXHRcdH07XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIGdldEZpbGVJbXBvcnRzKFxuXHRcdGZpbGU6IEZpbGVFeCxcblx0KTogUHJvbWlzZTx7IGltcG9ydHM6IHN0cmluZ1tdOyB3YXJuaW5nczogRGVwZW5kZW5jeVdhcm5pbmdbXSB9PiB7XG5cdFx0Y29uc3QgY29udGVudHMgPSBhd2FpdCBpby5yZWFkRmlsZShmaWxlLmZ1bGxQYXRoKTtcblx0XHRjb25zdCBwYXJzZWQgPSBBcnJheS5mcm9tKGF3YWl0IHBhcnNlSW1wb3J0cyhjb250ZW50cykpO1xuXG5cdFx0Y29uc3QgaW1wb3J0czogc3RyaW5nW10gPSBbXTtcblx0XHRjb25zdCB3YXJuaW5nczogRGVwZW5kZW5jeVdhcm5pbmdbXSA9IFtdO1xuXG5cdFx0Zm9yIChjb25zdCBpbXB0IG9mIHBhcnNlZCkge1xuXHRcdFx0aWYgKGltcHQubW9kdWxlU3BlY2lmaWVyLnZhbHVlICE9IG51bGwpIHtcblx0XHRcdFx0aW1wb3J0cy5wdXNoKGltcHQubW9kdWxlU3BlY2lmaWVyLnZhbHVlKTtcblx0XHRcdH0gZWxzZSBpZiAoaW1wdC5pc0R5bmFtaWNJbXBvcnQpIHtcblx0XHRcdFx0Y29uc3QgbGluZSA9IGNvbnRlbnRzLnN1YnN0cmluZygwLCBpbXB0LnN0YXJ0SW5kZXgpLnNwbGl0KFwiXFxuXCIpLmxlbmd0aDtcblx0XHRcdFx0d2FybmluZ3MucHVzaCh7XG5cdFx0XHRcdFx0ZmlsZTogZmlsZS5mdWxsUGF0aCxcblx0XHRcdFx0XHRsaW5lLFxuXHRcdFx0XHRcdG1lc3NhZ2U6IGBEeW5hbWljIGltcG9ydCB3aXRoIG5vbi1saXRlcmFsIHNwZWNpZmllciBcXGAke2ltcHQubW9kdWxlU3BlY2lmaWVyLmNvZGV9XFxgIGNhbm5vdCBiZSBzdGF0aWNhbGx5IHJlc29sdmVkYCxcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHsgaW1wb3J0cywgd2FybmluZ3MgfTtcblx0fVxufVxuIl0sIm5hbWVzIjpbImluamVjdGFibGUiLCJpbyIsInBhcnNlSW1wb3J0cyIsIkJVSUxUX0lOX01PRFVMRVMiLCJGb3JnZUVycm9yIiwiRGVwZW5kZW5jeVJlc29sdmVyIiwiY29tcHV0ZURyaWZ0IiwiY3VycmVudCIsImNvbXB1dGVkIiwic29ydEtleXMiLCJvYmoiLCJPYmplY3QiLCJmcm9tRW50cmllcyIsImVudHJpZXMiLCJzb3J0IiwiY3VycmVudERlcHMiLCJkZXBlbmRlbmNpZXMiLCJjb21wdXRlZERlcHMiLCJjdXJyZW50RGV2RGVwcyIsImRldkRlcGVuZGVuY2llcyIsImNvbXB1dGVkRGV2RGVwcyIsImhhc0RyaWZ0IiwiSlNPTiIsInN0cmluZ2lmeSIsIm9yaWdpbmFsIiwidXBkYXRlZCIsImdldFdvcmtzcGFjZVBhY2thZ2VzIiwid29ya3NwYWNlIiwicHJvamVjdHMiLCJwYWNrYWdlSnNvbiIsImdldFBhY2thZ2VKc29uIiwiY2F0Y2giLCJFcnJvciIsInBhY2thZ2VKc29uRGlyZWN0b3J5IiwiaW50ZXJuYWxzIiwiTWFwIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsInByb2oiLCJuYW1lIiwidmVyc2lvbiIsImlzSW50ZXJuYWwiLCJwYWNrYWdlcyIsImZpbHRlciIsImtleSIsImhhcyIsInZhbCIsImRldlBhY2thZ2VzIiwiaXNEZXYiLCJjb21wdXRlUHJvamVjdERlcGVuZGVuY2llcyIsInByb2plY3QiLCJ3b3Jrc3BhY2VQYWNrYWdlcyIsIndhcm5pbmdzIiwiZ2V0RGVwZW5kZW5jaWVzIiwicGtnIiwidXBkYXRlZFBhY2thZ2UiLCJ3aXRoRGVwZW5kZW5jaWVzIiwid2l0aERldkRlcGVuZGVuY2llcyIsImZpbGVzIiwiZ2V0QWxsRmlsZXMiLCJyZXN1bHRzIiwiZmlsZSIsImdldEZpbGVJbXBvcnRzIiwiaW1wb3J0cyIsImZsYXRNYXAiLCJyIiwiYWxsRGVwZW5kZW5jaWVzIiwiU2V0IiwiZmlsZUltcG9ydCIsImdldERlcGVuZGVuY3lGcm9tIiwiZGVwIiwibWlzc2luZyIsImxlbmd0aCIsIm5hbWVzIiwiam9pbiIsInJlc29sdmVkIiwiaW1wb3J0TmFtZSIsInN0YXJ0c1dpdGgiLCJwYWNrYWdlTmFtZU1hdGNoIiwibWF0Y2giLCJwYWNrYWdlTmFtZSIsImluY2x1ZGVzIiwicGFja2ciLCJnZXQiLCJ1bmRlZmluZWQiLCJpbnRlcm5hbCIsImNvbnRlbnRzIiwicmVhZEZpbGUiLCJmdWxsUGF0aCIsInBhcnNlZCIsIkFycmF5IiwiZnJvbSIsImltcHQiLCJtb2R1bGVTcGVjaWZpZXIiLCJ2YWx1ZSIsInB1c2giLCJpc0R5bmFtaWNJbXBvcnQiLCJsaW5lIiwic3Vic3RyaW5nIiwic3RhcnRJbmRleCIsInNwbGl0IiwibWVzc2FnZSIsImNvZGUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLFNBQVNBLFVBQVUsUUFBUSxnQ0FBZ0M7QUFFM0QsU0FBc0JDLEVBQUUsUUFBUSxxQkFBcUI7QUFDckQsU0FBU0MsWUFBWSxRQUFRLGdCQUFnQjtBQUM3QyxTQUFTQyxnQkFBZ0IsUUFBUSxjQUFjO0FBQy9DLFNBQVNDLFVBQVUsUUFBUSxlQUFlO0FBZTFDLE9BQU8sTUFBTUM7SUFDTEMsYUFBYUMsT0FBb0IsRUFBRUMsUUFBcUIsRUFBcUI7UUFDbkYsTUFBTUMsV0FBVyxDQUFDQyxNQUNqQkMsT0FBT0MsV0FBVyxDQUFDRCxPQUFPRSxPQUFPLENBQUNILEtBQUtJLElBQUk7UUFFNUMsTUFBTUMsY0FBY04sU0FBU0YsUUFBUVMsWUFBWSxJQUFJLENBQUM7UUFDdEQsTUFBTUMsZUFBZVIsU0FBU0QsU0FBU1EsWUFBWSxJQUFJLENBQUM7UUFDeEQsTUFBTUUsaUJBQWlCVCxTQUFTRixRQUFRWSxlQUFlLElBQUksQ0FBQztRQUM1RCxNQUFNQyxrQkFBa0JYLFNBQVNELFNBQVNXLGVBQWUsSUFBSSxDQUFDO1FBRTlELE1BQU1FLFdBQ0xDLEtBQUtDLFNBQVMsQ0FBQ1IsaUJBQWlCTyxLQUFLQyxTQUFTLENBQUNOLGlCQUMvQ0ssS0FBS0MsU0FBUyxDQUFDTCxvQkFBb0JJLEtBQUtDLFNBQVMsQ0FBQ0g7UUFFbkQsSUFBSSxDQUFDQyxVQUFVO1lBQ2QsT0FBTztRQUNSO1FBRUEsT0FBTztZQUNORyxVQUFVO2dCQUFFUixjQUFjRDtnQkFBYUksaUJBQWlCRDtZQUFlO1lBQ3ZFTyxTQUFTO2dCQUFFVCxjQUFjQztnQkFBY0UsaUJBQWlCQztZQUFnQjtRQUN6RTtJQUNEO0lBRUEsTUFBYU0scUJBQ1pDLFNBQW9CLEVBQ3BCQyxRQUE0QixFQUNJO1FBQ2hDLE1BQU1DLGNBQWMsTUFBTUYsVUFBVUcsY0FBYyxHQUFHQyxLQUFLLENBQUM7WUFDMUQsTUFBTSxJQUFJQyxNQUNULENBQUMsZ0NBQWdDLEVBQUVMLFVBQVVNLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLEdBQ2xGLENBQUMsc0VBQXNFLENBQUM7UUFFM0U7UUFFQSxNQUFNQyxZQUFZLElBQUlDLElBQ3JCLE1BQU1DLFFBQVFDLEdBQUcsQ0FDaEJULFNBQVNVLEdBQUcsQ0FBQyxPQUFPQztZQUNuQixNQUFNVixjQUFjLE1BQU1VLEtBQUtULGNBQWM7WUFDN0MsT0FBTztnQkFDTkQsWUFBWVcsSUFBSTtnQkFDaEI7b0JBQ0NBLE1BQU1YLFlBQVlXLElBQUk7b0JBQ3RCQyxTQUFTWixZQUFZWSxPQUFPO29CQUM1QkMsWUFBWTtnQkFDYjthQUNBO1FBQ0Y7UUFJRixNQUFNQyxXQUFXaEMsT0FBT0UsT0FBTyxDQUFDZ0IsWUFBWWIsWUFBWSxFQUN0RDRCLE1BQU0sQ0FBQyxDQUFDLENBQUNDLElBQUksR0FBSyxDQUFDWCxVQUFVWSxHQUFHLENBQUNELE1BQ2pDUCxHQUFHLENBQW9CLENBQUMsQ0FBQ08sS0FBS0UsSUFBSSxHQUFLO2dCQUFDRjtnQkFBSztvQkFBRUwsTUFBTUs7b0JBQUtKLFNBQVNNO2dCQUFJO2FBQUU7UUFFM0UsTUFBTUMsY0FBY3JDLE9BQU9FLE9BQU8sQ0FBQ2dCLFlBQVlWLGVBQWUsRUFDNUR5QixNQUFNLENBQUMsQ0FBQyxDQUFDQyxJQUFJLEdBQUssQ0FBQ1gsVUFBVVksR0FBRyxDQUFDRCxNQUNqQ1AsR0FBRyxDQUFvQixDQUFDLENBQUNPLEtBQUtFLElBQUksR0FBSztnQkFBQ0Y7Z0JBQUs7b0JBQUVMLE1BQU1LO29CQUFLSixTQUFTTTtvQkFBS0UsT0FBTztnQkFBSzthQUFFO1FBRXhGLE9BQU8sSUFBSWQsSUFBSTtlQUFJUTtlQUFhSztlQUFnQmQ7U0FBVTtJQUMzRDtJQUVBLE1BQWFnQiwyQkFDWkMsT0FBZ0IsRUFDaEJDLGlCQUF1QyxFQUNSO1FBQy9CLE1BQU0sRUFBRXBDLFlBQVksRUFBRUcsZUFBZSxFQUFFa0MsUUFBUSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUNDLGVBQWUsQ0FDN0VILFNBQ0FDO1FBR0QsTUFBTUcsTUFBTSxNQUFNSixRQUFRckIsY0FBYztRQUN4QyxNQUFNMEIsaUJBQWlCRCxJQUNyQkUsZ0JBQWdCLENBQUN6QyxjQUNqQjBDLG1CQUFtQixDQUFDdkM7UUFFdEIsT0FBTztZQUFFZ0M7WUFBU0s7WUFBZ0JIO1FBQVM7SUFDNUM7SUFFQSxNQUFjQyxnQkFBZ0JILE9BQWdCLEVBQUVDLGlCQUF1QyxFQUFFO1FBQ3hGLE1BQU1PLFFBQVEsTUFBTVIsUUFBUVMsV0FBVztRQUN2QyxNQUFNQyxVQUFVLE1BQU16QixRQUFRQyxHQUFHLENBQUNzQixNQUFNckIsR0FBRyxDQUFDLENBQUN3QixPQUFTLElBQUksQ0FBQ0MsY0FBYyxDQUFDRDtRQUMxRSxNQUFNRSxVQUFVSCxRQUFRSSxPQUFPLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRUYsT0FBTztRQUNoRCxNQUFNWCxXQUFXUSxRQUFRSSxPQUFPLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRWIsUUFBUTtRQUVsRCxNQUFNYyxrQkFBa0I7ZUFBSSxJQUFJQyxJQUFJSjtTQUFTLENBQzNDMUIsR0FBRyxDQUFDLENBQUMrQixhQUFlLElBQUksQ0FBQ0MsaUJBQWlCLENBQUNELFlBQVlqQixvQkFDdkRSLE1BQU0sQ0FBQyxDQUFDMkIsTUFBUUEsT0FBTztRQUV6QixNQUFNQyxVQUFVTCxnQkFBZ0J2QixNQUFNLENBQ3JDLENBQUMyQixNQUF1REEsSUFBSUMsT0FBTztRQUdwRSxJQUFJQSxRQUFRQyxNQUFNLEdBQUcsR0FBRztZQUN2QixNQUFNQyxRQUFRRixRQUFRbEMsR0FBRyxDQUFDLENBQUNpQyxNQUFRQSxJQUFJL0IsSUFBSSxFQUFFbUMsSUFBSSxDQUFDO1lBQ2xELE1BQU0sSUFBSXZFLFdBQVcsQ0FBQyw2QkFBNkIsRUFBRStDLFFBQVFYLElBQUksQ0FBQyxHQUFHLEVBQUVrQyxPQUFPO1FBQy9FO1FBRUEsTUFBTUUsV0FBV1QsZ0JBQWdCdkIsTUFBTSxDQUN0QyxDQUFDMkIsTUFBd0QsQ0FBQ0EsSUFBSUMsT0FBTztRQUd0RSxNQUFNeEQsZUFBZUwsT0FBT0MsV0FBVyxDQUN0Q2dFLFNBQ0VoQyxNQUFNLENBQUMsQ0FBQzJCLE1BQVEsQ0FBQ0EsSUFBSXRCLEtBQUssRUFDMUJYLEdBQUcsQ0FBbUIsQ0FBQ2lDLE1BQVE7Z0JBQUNBLElBQUkvQixJQUFJO2dCQUFFK0IsSUFBSTlCLE9BQU87YUFBQztRQUd6RCxNQUFNdEIsa0JBQWtCUixPQUFPQyxXQUFXLENBQ3pDZ0UsU0FDRWhDLE1BQU0sQ0FBQyxDQUFDMkIsTUFBUUEsSUFBSXRCLEtBQUssRUFDekJYLEdBQUcsQ0FBbUIsQ0FBQ2lDLE1BQVE7Z0JBQUNBLElBQUkvQixJQUFJO2dCQUFFK0IsSUFBSTlCLE9BQU87YUFBQztRQUd6RCxPQUFPO1lBQUV6QjtZQUFjRztZQUFpQmtDO1FBQVM7SUFDbEQ7SUFFUWlCLGtCQUNQTyxVQUFrQixFQUNsQnpCLGlCQUF1QyxFQUNOO1FBQ2pDLElBQUl5QixXQUFXQyxVQUFVLENBQUMsUUFBUUQsV0FBV0MsVUFBVSxDQUFDLFVBQVU7WUFDakU7UUFDRDtRQUVBLE1BQU1DLG1CQUFtQkYsV0FBV0csS0FBSyxDQUFDO1FBQzFDLE1BQU1DLGNBQWNGLGtCQUFrQixDQUFDLEVBQUU7UUFFekMsSUFBSUUsZUFBZSxRQUFROUUsaUJBQWlCK0UsUUFBUSxDQUFDRCxjQUFjO1lBQ2xFO1FBQ0Q7UUFFQSxNQUFNRSxRQUFRL0Isa0JBQWtCZ0MsR0FBRyxDQUFDSDtRQUVwQyxJQUFJRSxTQUFTLE1BQU07WUFDbEIsT0FBTztnQkFDTjNDLE1BQU15QztnQkFDTnhDLFNBQVM0QztnQkFDVEMsVUFBVUQ7Z0JBQ1ZiLFNBQVM7Z0JBQ1R2QixPQUFPO1lBQ1I7UUFDRDtRQUVBLE9BQU87WUFDTlQsTUFBTXlDO1lBQ054QyxTQUFTMEMsTUFBTTFDLE9BQU8sSUFBSTtZQUMxQjZDLFVBQVVILE1BQU16QyxVQUFVLElBQUk7WUFDOUI4QixTQUFTO1lBQ1R2QixPQUFPa0MsTUFBTWxDLEtBQUssSUFBSTtRQUN2QjtJQUNEO0lBRUEsTUFBY2MsZUFDYkQsSUFBWSxFQUNvRDtRQUNoRSxNQUFNeUIsV0FBVyxNQUFNdEYsR0FBR3VGLFFBQVEsQ0FBQzFCLEtBQUsyQixRQUFRO1FBQ2hELE1BQU1DLFNBQVNDLE1BQU1DLElBQUksQ0FBQyxNQUFNMUYsYUFBYXFGO1FBRTdDLE1BQU12QixVQUFvQixFQUFFO1FBQzVCLE1BQU1YLFdBQWdDLEVBQUU7UUFFeEMsS0FBSyxNQUFNd0MsUUFBUUgsT0FBUTtZQUMxQixJQUFJRyxLQUFLQyxlQUFlLENBQUNDLEtBQUssSUFBSSxNQUFNO2dCQUN2Qy9CLFFBQVFnQyxJQUFJLENBQUNILEtBQUtDLGVBQWUsQ0FBQ0MsS0FBSztZQUN4QyxPQUFPLElBQUlGLEtBQUtJLGVBQWUsRUFBRTtnQkFDaEMsTUFBTUMsT0FBT1gsU0FBU1ksU0FBUyxDQUFDLEdBQUdOLEtBQUtPLFVBQVUsRUFBRUMsS0FBSyxDQUFDLE1BQU01QixNQUFNO2dCQUN0RXBCLFNBQVMyQyxJQUFJLENBQUM7b0JBQ2JsQyxNQUFNQSxLQUFLMkIsUUFBUTtvQkFDbkJTO29CQUNBSSxTQUFTLENBQUMsNENBQTRDLEVBQUVULEtBQUtDLGVBQWUsQ0FBQ1MsSUFBSSxDQUFDLGdDQUFnQyxDQUFDO2dCQUNwSDtZQUNEO1FBQ0Q7UUFFQSxPQUFPO1lBQUV2QztZQUFTWDtRQUFTO0lBQzVCO0FBQ0QifQ==
@@ -214,4 +214,4 @@ FileWriterService = _ts_decorate([
214
214
  injectable()
215
215
  ], FileWriterService);
216
216
 
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL3NlcnZpY2VzL2ZpbGUtd3JpdGVyLnNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gXCJub2RlOmZzL3Byb21pc2VzXCI7XG5pbXBvcnQgeyBpbmplY3RhYmxlIH0gZnJvbSBcIkBkZWNvaGVyZS9jcnVjaWJsZS9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgdHlwZSB7IFByb2plY3QgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9kaWFnbm9zdGljc1wiO1xuaW1wb3J0IHsgaW8gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgXCIuLi9leHRlbnNpb25zL3Byb2plY3QuZXh0ZW5zaW9ucy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBCdWlsZFRhcmdldCB9IGZyb20gXCIuLi90eXBlcy9idWlsZC10YXJnZXQudHlwZS5qc1wiO1xuaW1wb3J0IHR5cGUgeyBUcmFuc2Zvcm1SZXNwb25zZSB9IGZyb20gXCIuLi90eXBlcy90cmFuc2Zvcm0tcmVzcG9uc2UubW9kZWwuanNcIjtcblxuY29uc3QgREVGQVVMVF9XUklURV9DT05DVVJSRU5DWSA9IDE2O1xuXG5AVHJhY2VcbkBpbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGaWxlV3JpdGVyU2VydmljZSB7XG5cdCNhcnRpZmFjdEJ5UGF0aCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cdCN3YXJtdXBTaWduYXR1cmUgPSBcIlwiO1xuXHQjd2FybXVwUHJvbWlzZTogUHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZDtcblx0I2luaXRpYWxpemVkID0gZmFsc2U7XG5cdCNwZW5kaW5nV3JpdGVzOiBUcmFuc2Zvcm1SZXNwb25zZVtdID0gW107XG5cdCNhY3RpdmVXb3JrZXJzID0gMDtcblx0I2RyYWluUmVzb2x2ZXJzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuXHQjZW5zdXJlZERpcnMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblx0I2Vuc3VyZURpclByb21pc2VzID0gbmV3IE1hcDxzdHJpbmcsIFByb21pc2U8dm9pZD4+KCk7XG5cdCN3b3JrZXJFcnJvcjogdW5rbm93bjtcblxuXHRwdWJsaWMgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRpZiAodGhpcy4jaW5pdGlhbGl6ZWQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy4jaW5pdGlhbGl6ZWQgPSB0cnVlO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIHdhcm11cChwcm9qZWN0czogUHJvamVjdFtdKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0Y29uc3Qgb3V0cHV0RGlycyA9IHRoaXMuZ2V0T3V0cHV0RGlycyhwcm9qZWN0cyk7XG5cdFx0Y29uc3Qgc2lnbmF0dXJlID0gb3V0cHV0RGlycy5qb2luKFwifFwiKTtcblx0XHRpZiAoc2lnbmF0dXJlID09PSB0aGlzLiN3YXJtdXBTaWduYXR1cmUgJiYgdGhpcy4jd2FybXVwUHJvbWlzZSAhPSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy4jd2FybXVwUHJvbWlzZTtcblx0XHR9XG5cblx0XHR0aGlzLiN3YXJtdXBTaWduYXR1cmUgPSBzaWduYXR1cmU7XG5cdFx0dGhpcy4jZW5zdXJlZERpcnMuY2xlYXIoKTtcblx0XHR0aGlzLiNlbnN1cmVEaXJQcm9taXNlcy5jbGVhcigpO1xuXHRcdHRoaXMuI3dvcmtlckVycm9yID0gdW5kZWZpbmVkO1xuXHRcdHRoaXMuI3dhcm11cFByb21pc2UgPSB0aGlzLmxvYWRFeGlzdGluZ0FydGlmYWN0cyhvdXRwdXREaXJzKTtcblx0XHRyZXR1cm4gdGhpcy4jd2FybXVwUHJvbWlzZTtcblx0fVxuXG5cdHB1YmxpYyBlbnF1ZXVlT3V0cHV0KHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSk6IHZvaWQge1xuXHRcdGlmICh0aGlzLiN3b3JrZXJFcnJvciAhPSBudWxsKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGlmIChyZXNwb25zZS5vdXRjb21lICE9PSBcInN1Y2Nlc3NcIiB8fCByZXNwb25zZS5vdXRwdXRQYXRoID09IG51bGwpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy4jcGVuZGluZ1dyaXRlcy5wdXNoKHJlc3BvbnNlKTtcblx0XHR0aGlzLnN0YXJ0V29ya2VycygpO1xuXHR9XG5cblx0cHVibGljIGVucXVldWVPdXRwdXRzKHJlc3BvbnNlczogVHJhbnNmb3JtUmVzcG9uc2VbXSk6IHZvaWQge1xuXHRcdGZvciAoY29uc3QgcmVzcG9uc2Ugb2YgcmVzcG9uc2VzKSB7XG5cdFx0XHR0aGlzLmVucXVldWVPdXRwdXQocmVzcG9uc2UpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBhc3luYyBmbHVzaCgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRpZiAodGhpcy4jd2FybXVwUHJvbWlzZSAhPSBudWxsKSB7XG5cdFx0XHRhd2FpdCB0aGlzLiN3YXJtdXBQcm9taXNlO1xuXHRcdH1cblx0XHRpZiAodGhpcy4jcGVuZGluZ1dyaXRlcy5sZW5ndGggPT09IDAgJiYgdGhpcy4jYWN0aXZlV29ya2VycyA9PT0gMCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuXHRcdFx0dGhpcy4jZHJhaW5SZXNvbHZlcnMucHVzaChyZXNvbHZlKTtcblx0XHR9KTtcblx0XHRpZiAodGhpcy4jd29ya2VyRXJyb3IgIT0gbnVsbCkge1xuXHRcdFx0dGhyb3cgdGhpcy4jd29ya2VyRXJyb3I7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBnZXRPdXRwdXREaXJzKHByb2plY3RzOiBQcm9qZWN0W10pOiBzdHJpbmdbXSB7XG5cdFx0Y29uc3QgZGlycyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXHRcdGZvciAoY29uc3QgcHJvamVjdCBvZiBwcm9qZWN0cykge1xuXHRcdFx0Zm9yIChjb25zdCB0YXJnZXQgb2YgcHJvamVjdC5nZXRGb3JnZUNvbmZpZ3VyYXRpb24oKS50YXJnZXRzKSB7XG5cdFx0XHRcdGRpcnMuYWRkKHByb2plY3QuZ2V0T3V0RGlyKHRhcmdldCBhcyBCdWlsZFRhcmdldCkpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gWy4uLmRpcnNdLnNvcnQoKTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgbG9hZEV4aXN0aW5nQXJ0aWZhY3RzKG91dHB1dERpcnM6IHN0cmluZ1tdKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0dGhpcy4jYXJ0aWZhY3RCeVBhdGguY2xlYXIoKTtcblxuXHRcdGNvbnN0IGZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuXHRcdGZvciAoY29uc3QgZGlyIG9mIG91dHB1dERpcnMpIHtcblx0XHRcdGZpbGVzLnB1c2goLi4uKGF3YWl0IHRoaXMuY29sbGVjdEZpbGVzKGRpcikpKTtcblx0XHR9XG5cblx0XHRhd2FpdCB0aGlzLndpdGhDb25jdXJyZW5jeShmaWxlcywgdGhpcy5nZXRXcml0ZUNvbmN1cnJlbmN5KCksIGFzeW5jIChmaWxlUGF0aCkgPT4ge1xuXHRcdFx0Y29uc3QgY29udGVudCA9IGF3YWl0IGZzLnJlYWRGaWxlKGZpbGVQYXRoLCBcInV0ZjhcIik7XG5cdFx0XHR0aGlzLiNhcnRpZmFjdEJ5UGF0aC5zZXQoZmlsZVBhdGgsIGNvbnRlbnQpO1xuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBhc3luYyBjb2xsZWN0RmlsZXMocm9vdERpcjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBlbnRyaWVzID0gYXdhaXQgZnMucmVhZGRpcihyb290RGlyLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSk7XG5cdFx0XHRjb25zdCBmaWxlczogc3RyaW5nW10gPSBbXTtcblx0XHRcdGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuXHRcdFx0XHRjb25zdCBmdWxsUGF0aCA9IGAke3Jvb3REaXJ9LyR7ZW50cnkubmFtZX1gO1xuXHRcdFx0XHRpZiAoZW50cnkuaXNEaXJlY3RvcnkoKSkge1xuXHRcdFx0XHRcdGZpbGVzLnB1c2goLi4uKGF3YWl0IHRoaXMuY29sbGVjdEZpbGVzKGZ1bGxQYXRoKSkpO1xuXHRcdFx0XHR9IGVsc2UgaWYgKGVudHJ5LmlzRmlsZSgpKSB7XG5cdFx0XHRcdFx0ZmlsZXMucHVzaChmdWxsUGF0aCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJldHVybiBmaWxlcztcblx0XHR9IGNhdGNoIHtcblx0XHRcdHJldHVybiBbXTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGdldFdyaXRlQ29uY3VycmVuY3koKTogbnVtYmVyIHtcblx0XHRjb25zdCByZXF1ZXN0ZWQgPSBOdW1iZXIocHJvY2Vzcy5lbnYuRk9SR0VfV1JJVEVfQ09OQ1VSUkVOQ1kpO1xuXHRcdGlmIChOdW1iZXIuaXNGaW5pdGUocmVxdWVzdGVkKSAmJiByZXF1ZXN0ZWQgPiAwKSB7XG5cdFx0XHRyZXR1cm4gTWF0aC5mbG9vcihyZXF1ZXN0ZWQpO1xuXHRcdH1cblx0XHRyZXR1cm4gREVGQVVMVF9XUklURV9DT05DVVJSRU5DWTtcblx0fVxuXG5cdHByaXZhdGUgc3RhcnRXb3JrZXJzKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLiN3b3JrZXJFcnJvciAhPSBudWxsKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGNvbnN0IG1heFdvcmtlcnMgPSB0aGlzLmdldFdyaXRlQ29uY3VycmVuY3koKTtcblx0XHR3aGlsZSAodGhpcy4jYWN0aXZlV29ya2VycyA8IG1heFdvcmtlcnMgJiYgdGhpcy4jcGVuZGluZ1dyaXRlcy5sZW5ndGggPiAwKSB7XG5cdFx0XHR0aGlzLiNhY3RpdmVXb3JrZXJzICs9IDE7XG5cdFx0XHR2b2lkIHRoaXMucnVuV29ya2VyKCkuZmluYWxseSgoKSA9PiB7XG5cdFx0XHRcdHRoaXMuI2FjdGl2ZVdvcmtlcnMgLT0gMTtcblx0XHRcdFx0aWYgKHRoaXMuI3BlbmRpbmdXcml0ZXMubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdHRoaXMuc3RhcnRXb3JrZXJzKCk7XG5cdFx0XHRcdH0gZWxzZSBpZiAodGhpcy4jYWN0aXZlV29ya2VycyA9PT0gMCkge1xuXHRcdFx0XHRcdHRoaXMucmVzb2x2ZURyYWluKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgcnVuV29ya2VyKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdHdoaWxlICh0cnVlKSB7XG5cdFx0XHRjb25zdCByZXNwb25zZSA9IHRoaXMuI3BlbmRpbmdXcml0ZXMuc2hpZnQoKTtcblx0XHRcdGlmIChyZXNwb25zZSA9PSBudWxsKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0aWYgKHRoaXMuI3dhcm11cFByb21pc2UgIT0gbnVsbCkge1xuXHRcdFx0XHRcdGF3YWl0IHRoaXMuI3dhcm11cFByb21pc2U7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBvdXRwdXRQYXRoID0gcmVzcG9uc2Uub3V0cHV0UGF0aDtcblx0XHRcdFx0aWYgKG91dHB1dFBhdGggPT0gbnVsbCkge1xuXHRcdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Y29uc3Qgb3V0cHV0RGlyID0gcmVzcG9uc2Uub3V0cHV0RGlyO1xuXHRcdFx0XHRpZiAob3V0cHV0RGlyICE9IG51bGwpIHtcblx0XHRcdFx0XHRhd2FpdCB0aGlzLmVuc3VyZURpcmVjdG9yeShvdXRwdXREaXIpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Y29uc3QgZXhpc3RpbmcgPSB0aGlzLiNhcnRpZmFjdEJ5UGF0aC5nZXQob3V0cHV0UGF0aCk7XG5cdFx0XHRcdGlmIChleGlzdGluZyA9PT0gcmVzcG9uc2UuY29kZSkge1xuXHRcdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YXdhaXQgaW8ud3JpdGVGaWxlKG91dHB1dFBhdGgsIHJlc3BvbnNlLmNvZGUpO1xuXHRcdFx0XHR0aGlzLiNhcnRpZmFjdEJ5UGF0aC5zZXQob3V0cHV0UGF0aCwgcmVzcG9uc2UuY29kZSk7XG5cdFx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0XHR0aGlzLiN3b3JrZXJFcnJvciA9IGVycm9yO1xuXHRcdFx0XHR0aGlzLiNwZW5kaW5nV3JpdGVzID0gW107XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGVuc3VyZURpcmVjdG9yeShkaXI6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICh0aGlzLiNlbnN1cmVkRGlycy5oYXMoZGlyKSkge1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuXHRcdH1cblx0XHRjb25zdCBleGlzdGluZyA9IHRoaXMuI2Vuc3VyZURpclByb21pc2VzLmdldChkaXIpO1xuXHRcdGlmIChleGlzdGluZyAhPSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gZXhpc3Rpbmc7XG5cdFx0fVxuXHRcdGNvbnN0IG1rZGlyUHJvbWlzZSA9IGZzLm1rZGlyKGRpciwgeyByZWN1cnNpdmU6IHRydWUgfSkudGhlbigoKSA9PiB7XG5cdFx0XHR0aGlzLiNlbnN1cmVkRGlycy5hZGQoZGlyKTtcblx0XHRcdHRoaXMuI2Vuc3VyZURpclByb21pc2VzLmRlbGV0ZShkaXIpO1xuXHRcdH0pO1xuXHRcdHRoaXMuI2Vuc3VyZURpclByb21pc2VzLnNldChkaXIsIG1rZGlyUHJvbWlzZSk7XG5cdFx0cmV0dXJuIG1rZGlyUHJvbWlzZTtcblx0fVxuXG5cdHByaXZhdGUgcmVzb2x2ZURyYWluKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLiNwZW5kaW5nV3JpdGVzLmxlbmd0aCA+IDAgfHwgdGhpcy4jYWN0aXZlV29ya2VycyA+IDApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Zm9yIChjb25zdCByZXNvbHZlIG9mIHRoaXMuI2RyYWluUmVzb2x2ZXJzKSB7XG5cdFx0XHRyZXNvbHZlKCk7XG5cdFx0fVxuXHRcdHRoaXMuI2RyYWluUmVzb2x2ZXJzID0gW107XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIHdpdGhDb25jdXJyZW5jeTxUPihcblx0XHRpdGVtczogVFtdLFxuXHRcdGNvbmN1cnJlbmN5OiBudW1iZXIsXG5cdFx0d29ya2VyOiAoaXRlbTogVCkgPT4gUHJvbWlzZTx2b2lkPixcblx0KTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0bGV0IGN1cnNvciA9IDA7XG5cdFx0Y29uc3Qgd29ya2VyQ291bnQgPSBNYXRoLm1pbihjb25jdXJyZW5jeSwgaXRlbXMubGVuZ3RoKTtcblx0XHRjb25zdCB3b3JrZXJzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogd29ya2VyQ291bnQgfSwgKCkgPT5cblx0XHRcdChhc3luYyAoKSA9PiB7XG5cdFx0XHRcdHdoaWxlICh0cnVlKSB7XG5cdFx0XHRcdFx0Y29uc3QgaW5kZXggPSBjdXJzb3I7XG5cdFx0XHRcdFx0Y3Vyc29yICs9IDE7XG5cdFx0XHRcdFx0aWYgKGluZGV4ID49IGl0ZW1zLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRhd2FpdCB3b3JrZXIoaXRlbXNbaW5kZXhdKTtcblx0XHRcdFx0fVxuXHRcdFx0fSkoKSxcblx0XHQpO1xuXHRcdGF3YWl0IFByb21pc2UuYWxsKHdvcmtlcnMpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiZnMiLCJpbmplY3RhYmxlIiwiVHJhY2UiLCJpbyIsIkRFRkFVTFRfV1JJVEVfQ09OQ1VSUkVOQ1kiLCJGaWxlV3JpdGVyU2VydmljZSIsIk1hcCIsIlNldCIsImluaXRpYWxpemUiLCJ3YXJtdXAiLCJwcm9qZWN0cyIsIm91dHB1dERpcnMiLCJnZXRPdXRwdXREaXJzIiwic2lnbmF0dXJlIiwiam9pbiIsImNsZWFyIiwidW5kZWZpbmVkIiwibG9hZEV4aXN0aW5nQXJ0aWZhY3RzIiwiZW5xdWV1ZU91dHB1dCIsInJlc3BvbnNlIiwib3V0Y29tZSIsIm91dHB1dFBhdGgiLCJwdXNoIiwic3RhcnRXb3JrZXJzIiwiZW5xdWV1ZU91dHB1dHMiLCJyZXNwb25zZXMiLCJmbHVzaCIsImxlbmd0aCIsIlByb21pc2UiLCJyZXNvbHZlIiwiZGlycyIsInByb2plY3QiLCJ0YXJnZXQiLCJnZXRGb3JnZUNvbmZpZ3VyYXRpb24iLCJ0YXJnZXRzIiwiYWRkIiwiZ2V0T3V0RGlyIiwic29ydCIsImZpbGVzIiwiZGlyIiwiY29sbGVjdEZpbGVzIiwid2l0aENvbmN1cnJlbmN5IiwiZ2V0V3JpdGVDb25jdXJyZW5jeSIsImZpbGVQYXRoIiwiY29udGVudCIsInJlYWRGaWxlIiwic2V0Iiwicm9vdERpciIsImVudHJpZXMiLCJyZWFkZGlyIiwid2l0aEZpbGVUeXBlcyIsImVudHJ5IiwiZnVsbFBhdGgiLCJuYW1lIiwiaXNEaXJlY3RvcnkiLCJpc0ZpbGUiLCJyZXF1ZXN0ZWQiLCJOdW1iZXIiLCJwcm9jZXNzIiwiZW52IiwiRk9SR0VfV1JJVEVfQ09OQ1VSUkVOQ1kiLCJpc0Zpbml0ZSIsIk1hdGgiLCJmbG9vciIsIm1heFdvcmtlcnMiLCJydW5Xb3JrZXIiLCJmaW5hbGx5IiwicmVzb2x2ZURyYWluIiwic2hpZnQiLCJvdXRwdXREaXIiLCJlbnN1cmVEaXJlY3RvcnkiLCJleGlzdGluZyIsImdldCIsImNvZGUiLCJ3cml0ZUZpbGUiLCJlcnJvciIsImhhcyIsIm1rZGlyUHJvbWlzZSIsIm1rZGlyIiwicmVjdXJzaXZlIiwidGhlbiIsImRlbGV0ZSIsIml0ZW1zIiwiY29uY3VycmVuY3kiLCJ3b3JrZXIiLCJjdXJzb3IiLCJ3b3JrZXJDb3VudCIsIm1pbiIsIndvcmtlcnMiLCJBcnJheSIsImZyb20iLCJpbmRleCIsImFsbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBT0EsUUFBUSxtQkFBbUI7QUFDbEMsU0FBU0MsVUFBVSxRQUFRLGdDQUFnQztBQUUzRCxTQUFTQyxLQUFLLFFBQVEsOEJBQThCO0FBQ3BELFNBQVNDLEVBQUUsUUFBUSxxQkFBcUI7QUFD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
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9zZXJ2aWNlcy9maWxlLXdyaXRlci5zZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHsgaW5qZWN0YWJsZSB9IGZyb20gXCJAZGVjb2hlcmUvY3J1Y2libGUvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZGlhZ25vc3RpY3NcIjtcbmltcG9ydCB7IGlvIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IFwiLi4vZXh0ZW5zaW9ucy9wcm9qZWN0LmV4dGVuc2lvbnMuanNcIjtcbmltcG9ydCB0eXBlIHsgQnVpbGRUYXJnZXQgfSBmcm9tIFwiLi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNmb3JtUmVzcG9uc2UgfSBmcm9tIFwiLi4vdHlwZXMvdHJhbnNmb3JtLXJlc3BvbnNlLm1vZGVsLmpzXCI7XG5cbmNvbnN0IERFRkFVTFRfV1JJVEVfQ09OQ1VSUkVOQ1kgPSAxNjtcblxuQFRyYWNlXG5AaW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmlsZVdyaXRlclNlcnZpY2Uge1xuXHQjYXJ0aWZhY3RCeVBhdGggPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXHQjd2FybXVwU2lnbmF0dXJlID0gXCJcIjtcblx0I3dhcm11cFByb21pc2U6IFByb21pc2U8dm9pZD4gfCB1bmRlZmluZWQ7XG5cdCNpbml0aWFsaXplZCA9IGZhbHNlO1xuXHQjcGVuZGluZ1dyaXRlczogVHJhbnNmb3JtUmVzcG9uc2VbXSA9IFtdO1xuXHQjYWN0aXZlV29ya2VycyA9IDA7XG5cdCNkcmFpblJlc29sdmVyczogQXJyYXk8KCkgPT4gdm9pZD4gPSBbXTtcblx0I2Vuc3VyZWREaXJzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cdCNlbnN1cmVEaXJQcm9taXNlcyA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPHZvaWQ+PigpO1xuXHQjd29ya2VyRXJyb3I6IHVua25vd247XG5cblx0cHVibGljIGFzeW5jIGluaXRpYWxpemUoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKHRoaXMuI2luaXRpYWxpemVkKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuI2luaXRpYWxpemVkID0gdHJ1ZTtcblx0fVxuXG5cdHB1YmxpYyBhc3luYyB3YXJtdXAocHJvamVjdHM6IFByb2plY3RbXSk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGNvbnN0IG91dHB1dERpcnMgPSB0aGlzLmdldE91dHB1dERpcnMocHJvamVjdHMpO1xuXHRcdGNvbnN0IHNpZ25hdHVyZSA9IG91dHB1dERpcnMuam9pbihcInxcIik7XG5cdFx0aWYgKHNpZ25hdHVyZSA9PT0gdGhpcy4jd2FybXVwU2lnbmF0dXJlICYmIHRoaXMuI3dhcm11cFByb21pc2UgIT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuI3dhcm11cFByb21pc2U7XG5cdFx0fVxuXG5cdFx0dGhpcy4jd2FybXVwU2lnbmF0dXJlID0gc2lnbmF0dXJlO1xuXHRcdHRoaXMuI2Vuc3VyZWREaXJzLmNsZWFyKCk7XG5cdFx0dGhpcy4jZW5zdXJlRGlyUHJvbWlzZXMuY2xlYXIoKTtcblx0XHR0aGlzLiN3b3JrZXJFcnJvciA9IHVuZGVmaW5lZDtcblx0XHR0aGlzLiN3YXJtdXBQcm9taXNlID0gdGhpcy5sb2FkRXhpc3RpbmdBcnRpZmFjdHMob3V0cHV0RGlycyk7XG5cdFx0cmV0dXJuIHRoaXMuI3dhcm11cFByb21pc2U7XG5cdH1cblxuXHRwdWJsaWMgZW5xdWV1ZU91dHB1dChyZXNwb25zZTogVHJhbnNmb3JtUmVzcG9uc2UpOiB2b2lkIHtcblx0XHRpZiAodGhpcy4jd29ya2VyRXJyb3IgIT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRpZiAocmVzcG9uc2Uub3V0Y29tZSAhPT0gXCJzdWNjZXNzXCIgfHwgcmVzcG9uc2Uub3V0cHV0UGF0aCA9PSBudWxsKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuI3BlbmRpbmdXcml0ZXMucHVzaChyZXNwb25zZSk7XG5cdFx0dGhpcy5zdGFydFdvcmtlcnMoKTtcblx0fVxuXG5cdHB1YmxpYyBlbnF1ZXVlT3V0cHV0cyhyZXNwb25zZXM6IFRyYW5zZm9ybVJlc3BvbnNlW10pOiB2b2lkIHtcblx0XHRmb3IgKGNvbnN0IHJlc3BvbnNlIG9mIHJlc3BvbnNlcykge1xuXHRcdFx0dGhpcy5lbnF1ZXVlT3V0cHV0KHJlc3BvbnNlKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgZmx1c2goKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKHRoaXMuI3dhcm11cFByb21pc2UgIT0gbnVsbCkge1xuXHRcdFx0YXdhaXQgdGhpcy4jd2FybXVwUHJvbWlzZTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuI3BlbmRpbmdXcml0ZXMubGVuZ3RoID09PSAwICYmIHRoaXMuI2FjdGl2ZVdvcmtlcnMgPT09IDApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0YXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcblx0XHRcdHRoaXMuI2RyYWluUmVzb2x2ZXJzLnB1c2gocmVzb2x2ZSk7XG5cdFx0fSk7XG5cdFx0aWYgKHRoaXMuI3dvcmtlckVycm9yICE9IG51bGwpIHtcblx0XHRcdHRocm93IHRoaXMuI3dvcmtlckVycm9yO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgZ2V0T3V0cHV0RGlycyhwcm9qZWN0czogUHJvamVjdFtdKTogc3RyaW5nW10ge1xuXHRcdGNvbnN0IGRpcnMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblx0XHRmb3IgKGNvbnN0IHByb2plY3Qgb2YgcHJvamVjdHMpIHtcblx0XHRcdGZvciAoY29uc3QgdGFyZ2V0IG9mIHByb2plY3QuZ2V0Rm9yZ2VDb25maWd1cmF0aW9uKCkudGFyZ2V0cykge1xuXHRcdFx0XHRkaXJzLmFkZChwcm9qZWN0LmdldE91dERpcih0YXJnZXQgYXMgQnVpbGRUYXJnZXQpKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIFsuLi5kaXJzXS5zb3J0KCk7XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIGxvYWRFeGlzdGluZ0FydGlmYWN0cyhvdXRwdXREaXJzOiBzdHJpbmdbXSk6IFByb21pc2U8dm9pZD4ge1xuXHRcdHRoaXMuI2FydGlmYWN0QnlQYXRoLmNsZWFyKCk7XG5cblx0XHRjb25zdCBmaWxlczogc3RyaW5nW10gPSBbXTtcblx0XHRmb3IgKGNvbnN0IGRpciBvZiBvdXRwdXREaXJzKSB7XG5cdFx0XHRmaWxlcy5wdXNoKC4uLihhd2FpdCB0aGlzLmNvbGxlY3RGaWxlcyhkaXIpKSk7XG5cdFx0fVxuXG5cdFx0YXdhaXQgdGhpcy53aXRoQ29uY3VycmVuY3koZmlsZXMsIHRoaXMuZ2V0V3JpdGVDb25jdXJyZW5jeSgpLCBhc3luYyAoZmlsZVBhdGgpID0+IHtcblx0XHRcdGNvbnN0IGNvbnRlbnQgPSBhd2FpdCBmcy5yZWFkRmlsZShmaWxlUGF0aCwgXCJ1dGY4XCIpO1xuXHRcdFx0dGhpcy4jYXJ0aWZhY3RCeVBhdGguc2V0KGZpbGVQYXRoLCBjb250ZW50KTtcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgY29sbGVjdEZpbGVzKHJvb3REaXI6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgZW50cmllcyA9IGF3YWl0IGZzLnJlYWRkaXIocm9vdERpciwgeyB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pO1xuXHRcdFx0Y29uc3QgZmlsZXM6IHN0cmluZ1tdID0gW107XG5cdFx0XHRmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcblx0XHRcdFx0Y29uc3QgZnVsbFBhdGggPSBgJHtyb290RGlyfS8ke2VudHJ5Lm5hbWV9YDtcblx0XHRcdFx0aWYgKGVudHJ5LmlzRGlyZWN0b3J5KCkpIHtcblx0XHRcdFx0XHRmaWxlcy5wdXNoKC4uLihhd2FpdCB0aGlzLmNvbGxlY3RGaWxlcyhmdWxsUGF0aCkpKTtcblx0XHRcdFx0fSBlbHNlIGlmIChlbnRyeS5pc0ZpbGUoKSkge1xuXHRcdFx0XHRcdGZpbGVzLnB1c2goZnVsbFBhdGgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gZmlsZXM7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHRyZXR1cm4gW107XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBnZXRXcml0ZUNvbmN1cnJlbmN5KCk6IG51bWJlciB7XG5cdFx0Y29uc3QgcmVxdWVzdGVkID0gTnVtYmVyKHByb2Nlc3MuZW52LkZPUkdFX1dSSVRFX0NPTkNVUlJFTkNZKTtcblx0XHRpZiAoTnVtYmVyLmlzRmluaXRlKHJlcXVlc3RlZCkgJiYgcmVxdWVzdGVkID4gMCkge1xuXHRcdFx0cmV0dXJuIE1hdGguZmxvb3IocmVxdWVzdGVkKTtcblx0XHR9XG5cdFx0cmV0dXJuIERFRkFVTFRfV1JJVEVfQ09OQ1VSUkVOQ1k7XG5cdH1cblxuXHRwcml2YXRlIHN0YXJ0V29ya2VycygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy4jd29ya2VyRXJyb3IgIT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBtYXhXb3JrZXJzID0gdGhpcy5nZXRXcml0ZUNvbmN1cnJlbmN5KCk7XG5cdFx0d2hpbGUgKHRoaXMuI2FjdGl2ZVdvcmtlcnMgPCBtYXhXb3JrZXJzICYmIHRoaXMuI3BlbmRpbmdXcml0ZXMubGVuZ3RoID4gMCkge1xuXHRcdFx0dGhpcy4jYWN0aXZlV29ya2VycyArPSAxO1xuXHRcdFx0dm9pZCB0aGlzLnJ1bldvcmtlcigpLmZpbmFsbHkoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLiNhY3RpdmVXb3JrZXJzIC09IDE7XG5cdFx0XHRcdGlmICh0aGlzLiNwZW5kaW5nV3JpdGVzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHR0aGlzLnN0YXJ0V29ya2VycygpO1xuXHRcdFx0XHR9IGVsc2UgaWYgKHRoaXMuI2FjdGl2ZVdvcmtlcnMgPT09IDApIHtcblx0XHRcdFx0XHR0aGlzLnJlc29sdmVEcmFpbigpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIHJ1bldvcmtlcigpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHR3aGlsZSAodHJ1ZSkge1xuXHRcdFx0Y29uc3QgcmVzcG9uc2UgPSB0aGlzLiNwZW5kaW5nV3JpdGVzLnNoaWZ0KCk7XG5cdFx0XHRpZiAocmVzcG9uc2UgPT0gbnVsbCkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdHRyeSB7XG5cdFx0XHRcdGlmICh0aGlzLiN3YXJtdXBQcm9taXNlICE9IG51bGwpIHtcblx0XHRcdFx0XHRhd2FpdCB0aGlzLiN3YXJtdXBQcm9taXNlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Y29uc3Qgb3V0cHV0UGF0aCA9IHJlc3BvbnNlLm91dHB1dFBhdGg7XG5cdFx0XHRcdGlmIChvdXRwdXRQYXRoID09IG51bGwpIHtcblx0XHRcdFx0XHRjb250aW51ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNvbnN0IG91dHB1dERpciA9IHJlc3BvbnNlLm91dHB1dERpcjtcblx0XHRcdFx0aWYgKG91dHB1dERpciAhPSBudWxsKSB7XG5cdFx0XHRcdFx0YXdhaXQgdGhpcy5lbnN1cmVEaXJlY3Rvcnkob3V0cHV0RGlyKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNvbnN0IGV4aXN0aW5nID0gdGhpcy4jYXJ0aWZhY3RCeVBhdGguZ2V0KG91dHB1dFBhdGgpO1xuXHRcdFx0XHRpZiAoZXhpc3RpbmcgPT09IHJlc3BvbnNlLmNvZGUpIHtcblx0XHRcdFx0XHRjb250aW51ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGF3YWl0IGlvLndyaXRlRmlsZShvdXRwdXRQYXRoLCByZXNwb25zZS5jb2RlKTtcblx0XHRcdFx0dGhpcy4jYXJ0aWZhY3RCeVBhdGguc2V0KG91dHB1dFBhdGgsIHJlc3BvbnNlLmNvZGUpO1xuXHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdFx0dGhpcy4jd29ya2VyRXJyb3IgPSBlcnJvcjtcblx0XHRcdFx0dGhpcy4jcGVuZGluZ1dyaXRlcyA9IFtdO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBlbnN1cmVEaXJlY3RvcnkoZGlyOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRpZiAodGhpcy4jZW5zdXJlZERpcnMuaGFzKGRpcikpIHtcblx0XHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblx0XHR9XG5cdFx0Y29uc3QgZXhpc3RpbmcgPSB0aGlzLiNlbnN1cmVEaXJQcm9taXNlcy5nZXQoZGlyKTtcblx0XHRpZiAoZXhpc3RpbmcgIT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIGV4aXN0aW5nO1xuXHRcdH1cblx0XHRjb25zdCBta2RpclByb21pc2UgPSBmcy5ta2RpcihkaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pLnRoZW4oKCkgPT4ge1xuXHRcdFx0dGhpcy4jZW5zdXJlZERpcnMuYWRkKGRpcik7XG5cdFx0XHR0aGlzLiNlbnN1cmVEaXJQcm9taXNlcy5kZWxldGUoZGlyKTtcblx0XHR9KTtcblx0XHR0aGlzLiNlbnN1cmVEaXJQcm9taXNlcy5zZXQoZGlyLCBta2RpclByb21pc2UpO1xuXHRcdHJldHVybiBta2RpclByb21pc2U7XG5cdH1cblxuXHRwcml2YXRlIHJlc29sdmVEcmFpbigpOiB2b2lkIHtcblx0XHRpZiAodGhpcy4jcGVuZGluZ1dyaXRlcy5sZW5ndGggPiAwIHx8IHRoaXMuI2FjdGl2ZVdvcmtlcnMgPiAwKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGZvciAoY29uc3QgcmVzb2x2ZSBvZiB0aGlzLiNkcmFpblJlc29sdmVycykge1xuXHRcdFx0cmVzb2x2ZSgpO1xuXHRcdH1cblx0XHR0aGlzLiNkcmFpblJlc29sdmVycyA9IFtdO1xuXHR9XG5cblx0cHJpdmF0ZSBhc3luYyB3aXRoQ29uY3VycmVuY3k8VD4oXG5cdFx0aXRlbXM6IFRbXSxcblx0XHRjb25jdXJyZW5jeTogbnVtYmVyLFxuXHRcdHdvcmtlcjogKGl0ZW06IFQpID0+IFByb21pc2U8dm9pZD4sXG5cdCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGxldCBjdXJzb3IgPSAwO1xuXHRcdGNvbnN0IHdvcmtlckNvdW50ID0gTWF0aC5taW4oY29uY3VycmVuY3ksIGl0ZW1zLmxlbmd0aCk7XG5cdFx0Y29uc3Qgd29ya2VycyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IHdvcmtlckNvdW50IH0sICgpID0+XG5cdFx0XHQoYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHR3aGlsZSAodHJ1ZSkge1xuXHRcdFx0XHRcdGNvbnN0IGluZGV4ID0gY3Vyc29yO1xuXHRcdFx0XHRcdGN1cnNvciArPSAxO1xuXHRcdFx0XHRcdGlmIChpbmRleCA+PSBpdGVtcy5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0YXdhaXQgd29ya2VyKGl0ZW1zW2luZGV4XSk7XG5cdFx0XHRcdH1cblx0XHRcdH0pKCksXG5cdFx0KTtcblx0XHRhd2FpdCBQcm9taXNlLmFsbCh3b3JrZXJzKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbImZzIiwiaW5qZWN0YWJsZSIsIlRyYWNlIiwiaW8iLCJERUZBVUxUX1dSSVRFX0NPTkNVUlJFTkNZIiwiRmlsZVdyaXRlclNlcnZpY2UiLCJNYXAiLCJTZXQiLCJpbml0aWFsaXplIiwid2FybXVwIiwicHJvamVjdHMiLCJvdXRwdXREaXJzIiwiZ2V0T3V0cHV0RGlycyIsInNpZ25hdHVyZSIsImpvaW4iLCJjbGVhciIsInVuZGVmaW5lZCIsImxvYWRFeGlzdGluZ0FydGlmYWN0cyIsImVucXVldWVPdXRwdXQiLCJyZXNwb25zZSIsIm91dGNvbWUiLCJvdXRwdXRQYXRoIiwicHVzaCIsInN0YXJ0V29ya2VycyIsImVucXVldWVPdXRwdXRzIiwicmVzcG9uc2VzIiwiZmx1c2giLCJsZW5ndGgiLCJQcm9taXNlIiwicmVzb2x2ZSIsImRpcnMiLCJwcm9qZWN0IiwidGFyZ2V0IiwiZ2V0Rm9yZ2VDb25maWd1cmF0aW9uIiwidGFyZ2V0cyIsImFkZCIsImdldE91dERpciIsInNvcnQiLCJmaWxlcyIsImRpciIsImNvbGxlY3RGaWxlcyIsIndpdGhDb25jdXJyZW5jeSIsImdldFdyaXRlQ29uY3VycmVuY3kiLCJmaWxlUGF0aCIsImNvbnRlbnQiLCJyZWFkRmlsZSIsInNldCIsInJvb3REaXIiLCJlbnRyaWVzIiwicmVhZGRpciIsIndpdGhGaWxlVHlwZXMiLCJlbnRyeSIsImZ1bGxQYXRoIiwibmFtZSIsImlzRGlyZWN0b3J5IiwiaXNGaWxlIiwicmVxdWVzdGVkIiwiTnVtYmVyIiwicHJvY2VzcyIsImVudiIsIkZPUkdFX1dSSVRFX0NPTkNVUlJFTkNZIiwiaXNGaW5pdGUiLCJNYXRoIiwiZmxvb3IiLCJtYXhXb3JrZXJzIiwicnVuV29ya2VyIiwiZmluYWxseSIsInJlc29sdmVEcmFpbiIsInNoaWZ0Iiwib3V0cHV0RGlyIiwiZW5zdXJlRGlyZWN0b3J5IiwiZXhpc3RpbmciLCJnZXQiLCJjb2RlIiwid3JpdGVGaWxlIiwiZXJyb3IiLCJoYXMiLCJta2RpclByb21pc2UiLCJta2RpciIsInJlY3Vyc2l2ZSIsInRoZW4iLCJkZWxldGUiLCJpdGVtcyIsImNvbmN1cnJlbmN5Iiwid29ya2VyIiwiY3Vyc29yIiwid29ya2VyQ291bnQiLCJtaW4iLCJ3b3JrZXJzIiwiQXJyYXkiLCJmcm9tIiwiaW5kZXgiLCJhbGwiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU9BLFFBQVEsbUJBQW1CO0FBQ2xDLFNBQVNDLFVBQVUsUUFBUSxnQ0FBZ0M7QUFFM0QsU0FBU0MsS0FBSyxRQUFRLDhCQUE4QjtB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
@@ -7,12 +7,13 @@ function _ts_decorate(decorators, target, key, desc) {
7
7
  function _ts_metadata(k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  }
10
+ import fs from "node:fs";
10
11
  import path from "node:path";
11
12
  import { cache, invalidateCache } from "@decohere/nexus/caching";
12
13
  import { Trace } from "@decohere/nexus/diagnostics";
13
14
  import { mixwith } from "@decohere/nexus/extensibility";
14
15
  import { io } from "@decohere/nexus/io";
15
- import { transform } from "@swc/core";
16
+ import { transform, transformSync } from "@swc/core";
16
17
  import { BuildTargets } from "../types/build-target.type.js";
17
18
  import "../extensions/project.extensions.js";
18
19
  import { SwcConfigFactory } from "../factories/swc-config.factory.js";
@@ -58,6 +59,57 @@ export class SwcTranspiler extends mixwith(CachesOutputs, IncrementalTransform)
58
59
  const responses = this.transformTarget(files, buildTarget, options);
59
60
  return responses;
60
61
  }
62
+ /**
63
+ * Synchronous, single-file variant of `transformFile`.
64
+ * Reads the file with `fs.readFileSync` and transpiles via `swc.transformSync`.
65
+ * Intended for callers that cannot await (e.g. Node.js `registerHooks` load hook).
66
+ */ transformFileSync(file, buildTarget, options = {}) {
67
+ const baseConfig = this.#swcConfigFactory.createBaseConfig(buildTarget, options);
68
+ const swcOptions = this.#swcConfigFactory.createFileConfig(file, baseConfig);
69
+ let content;
70
+ try {
71
+ content = fs.readFileSync(file.fullPath, "utf8");
72
+ } catch (error) {
73
+ return TransformResponse.Error({
74
+ file,
75
+ messages: [
76
+ String(error)
77
+ ],
78
+ config: swcOptions
79
+ });
80
+ }
81
+ if (content === "") {
82
+ return TransformResponse.Skipped({
83
+ file,
84
+ messages: "File is empty",
85
+ config: swcOptions
86
+ });
87
+ }
88
+ try {
89
+ const transformed = transformSync(content, swcOptions);
90
+ if (transformed == null) {
91
+ throw new Error("swc.transformSync returned no result");
92
+ }
93
+ const filePath = file.relativePath;
94
+ const extName = path.extname(filePath);
95
+ const fileName = filePath.replace(new RegExp(`${extName}$`), ".js");
96
+ return TransformResponse.Success({
97
+ file,
98
+ code: transformed.code,
99
+ target: buildTarget,
100
+ fileName,
101
+ config: swcOptions
102
+ });
103
+ } catch (error) {
104
+ return TransformResponse.Error({
105
+ file,
106
+ messages: [
107
+ String(error)
108
+ ],
109
+ config: swcOptions
110
+ });
111
+ }
112
+ }
61
113
  async transformTarget(files, buildTarget, options, project, onOutput) {
62
114
  const baseConfig = this.#swcConfigFactory.createBaseConfig(buildTarget, options ?? {});
63
115
  return await Promise.all(files.map((file)=>{
@@ -158,4 +210,4 @@ SwcTranspiler = _ts_decorate([
158
210
  Trace
159
211
  ], SwcTranspiler);
160
212
 
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL3NlcnZpY2VzL3N3Yy10cmFuc3BpbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgY2FjaGUsIGludmFsaWRhdGVDYWNoZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2FjaGluZ1wiO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2RpYWdub3N0aWNzXCI7XG5pbXBvcnQgeyBtaXh3aXRoIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9leHRlbnNpYmlsaXR5XCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IGlvIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgdHlwZSBPcHRpb25zLCB0cmFuc2Zvcm0gfSBmcm9tIFwiQHN3Yy9jb3JlXCI7XG5pbXBvcnQge1xuXHR0eXBlIEJ1aWxkVGFyZ2V0LFxuXHRCdWlsZFRhcmdldHMsXG5cdHR5cGUgVHJhbnNwaWxlVGFyZ2V0LFxufSBmcm9tIFwiLi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCBcIi4uL2V4dGVuc2lvbnMvcHJvamVjdC5leHRlbnNpb25zLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFByb2plY3RGaWxlRXZlbnQsIFRzY29uZmlnIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgeyBTd2NDb25maWdGYWN0b3J5IH0gZnJvbSBcIi4uL2ZhY3Rvcmllcy9zd2MtY29uZmlnLmZhY3RvcnkuanNcIjtcbmltcG9ydCB7IENhY2hlc091dHB1dHMgfSBmcm9tIFwiLi4vbWl4aW5zL2NhY2hlcy1vdXRwdXRzLm1peGluLmpzXCI7XG5pbXBvcnQgeyBJbmNyZW1lbnRhbFRyYW5zZm9ybSB9IGZyb20gXCIuLi9taXhpbnMvaW5jcmVtZW50YWwtdHJhbnNmb3JtLm1peGluLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN3Y0NvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9zd2MtY29uZmlnLnR5cGUuanNcIjtcbmltcG9ydCB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBUcmFuc2Zvcm1lciB9IGZyb20gXCIuLi90eXBlcy90cmFuc2Zvcm1lci50eXBlLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFRyYW5zcGlsZU9wdGlvbnMgPSB7XG5cdGFsaWFzUGF0aHM/OiBib29sZWFuO1xuXHR0c0NvbmZpZz86IFRzY29uZmlnO1xuXHR1c2VyQ29uZmlnPzogU3djQ29uZmlnO1xufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgU3djVHJhbnNwaWxlclxuXHRleHRlbmRzIG1peHdpdGgoQ2FjaGVzT3V0cHV0cywgSW5jcmVtZW50YWxUcmFuc2Zvcm0pXG5cdGltcGxlbWVudHMgVHJhbnNmb3JtZXJcbntcblx0cHVibGljIGJ1aWxkVGFyZ2V0czogQnVpbGRUYXJnZXRbXSA9IFtCdWlsZFRhcmdldHMuZXM2LCBCdWlsZFRhcmdldHMuY29tbW9uanNdO1xuXHQjc3djQ29uZmlnRmFjdG9yeSA9IG5ldyBTd2NDb25maWdGYWN0b3J5KCk7XG5cblx0cHVibGljIGFzeW5jIHRyYW5zZm9ybVByb2plY3QoXG5cdFx0cHJvamVjdEFycmF5TGlrZTogUHJvamVjdCB8IFByb2plY3RbXSxcblx0XHRmaWxlRmlsdGVyPzogKHByb2plY3Q6IFByb2plY3QpID0+IFByb21pc2U8RmlsZUV4W10+LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Y29uc3QgcHJvamVjdHMgPSBBcnJheS5pc0FycmF5KHByb2plY3RBcnJheUxpa2UpID8gcHJvamVjdEFycmF5TGlrZSA6IFtwcm9qZWN0QXJyYXlMaWtlXTtcblx0XHRjb25zdCByZXNwb25zZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdHByb2plY3RzLm1hcChhc3luYyAocHJvamVjdCkgPT4ge1xuXHRcdFx0XHRjb25zdCB7IHRhcmdldHMsIGFsaWFzUGF0aHMgfSA9IHByb2plY3QuZ2V0Rm9yZ2VDb25maWd1cmF0aW9uKCk7XG5cdFx0XHRcdGNvbnN0IHRyYW5zcGlsZVRhcmdldHMgPSB0YXJnZXRzLmZpbHRlcigoYnQpID0+IGJ0ICE9PSBCdWlsZFRhcmdldHMudHlwZXMpO1xuXHRcdFx0XHRpZiAodHJhbnNwaWxlVGFyZ2V0cy5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0XHRyZXR1cm4gW107XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBzb3VyY2VGaWxlcyA9IGF3YWl0IChmaWxlRmlsdGVyPy4ocHJvamVjdCkgPz8gcHJvamVjdC5nZXRBbGxGaWxlcygpKTtcblx0XHRcdFx0Y29uc3QgdHNDb25maWcgPSBhd2FpdCBwcm9qZWN0LmdldFRzQ29uZmlnKCk7XG5cdFx0XHRcdGNvbnN0IHVzZXJDb25maWcgPSBhd2FpdCBwcm9qZWN0LmdldFN3Y0NvbmZpZygpO1xuXHRcdFx0XHRjb25zdCByZXNwb25zZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdFx0XHR0cmFuc3BpbGVUYXJnZXRzLm1hcCgodGFyZ2V0KSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy50cmFuc2Zvcm1UYXJnZXQoXG5cdFx0XHRcdFx0XHRcdHNvdXJjZUZpbGVzLFxuXHRcdFx0XHRcdFx0XHR0YXJnZXQsXG5cdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHR0c0NvbmZpZyxcblx0XHRcdFx0XHRcdFx0XHR1c2VyQ29uZmlnLFxuXHRcdFx0XHRcdFx0XHRcdGFsaWFzUGF0aHMsXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdHByb2plY3QsXG5cdFx0XHRcdFx0XHRcdG9uT3V0cHV0LFxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0KTtcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlcy5mbGF0KCk7XG5cdFx0XHR9KSxcblx0XHQpO1xuXG5cdFx0Y29uc3QgZmxhdCA9IHJlc3BvbnNlcy5mbGF0KCk7XG5cdFx0dGhpcy5jYWNoZU91dHB1dHMoZmxhdCk7XG5cdFx0cmV0dXJuIGZsYXQ7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgdHJhbnNmb3JtRmlsZShcblx0XHRmaWxlQXJyYXlMaWtlOiBGaWxlRXhbXSB8IEZpbGVFeCxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM6IFRyYW5zcGlsZU9wdGlvbnMgPSB7fSxcblx0KSB7XG5cdFx0Y29uc3QgZmlsZXMgPSBBcnJheS5pc0FycmF5KGZpbGVBcnJheUxpa2UpID8gZmlsZUFycmF5TGlrZSA6IFtmaWxlQXJyYXlMaWtlXTtcblx0XHRjb25zdCByZXNwb25zZXMgPSB0aGlzLnRyYW5zZm9ybVRhcmdldChmaWxlcywgYnVpbGRUYXJnZXQsIG9wdGlvbnMpO1xuXHRcdHJldHVybiByZXNwb25zZXM7XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIHRyYW5zZm9ybVRhcmdldChcblx0XHRmaWxlczogRmlsZUV4W10sXG5cdFx0YnVpbGRUYXJnZXQ6IFRyYW5zcGlsZVRhcmdldCxcblx0XHRvcHRpb25zPzogVHJhbnNwaWxlT3B0aW9ucyxcblx0XHRwcm9qZWN0PzogUHJvamVjdCxcblx0XHRvbk91dHB1dD86IChyZXNwb25zZTogVHJhbnNmb3JtUmVzcG9uc2UpID0+IHZvaWQsXG5cdCkge1xuXHRcdGNvbnN0IGJhc2VDb25maWcgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUJhc2VDb25maWcoYnVpbGRUYXJnZXQsIG9wdGlvbnMgPz8ge30pO1xuXHRcdHJldHVybiBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdGZpbGVzLm1hcCgoZmlsZSkgPT4ge1xuXHRcdFx0XHRjb25zdCBzd2NPcHRpb25zID0gdGhpcy4jc3djQ29uZmlnRmFjdG9yeS5jcmVhdGVGaWxlQ29uZmlnKGZpbGUsIGJhc2VDb25maWcpO1xuXHRcdFx0XHRyZXR1cm4gdGhpcy5ydW5UcmFuc2Zvcm0oZmlsZSwgYnVpbGRUYXJnZXQsIHN3Y09wdGlvbnMsIHByb2plY3QsIG9uT3V0cHV0KTtcblx0XHRcdH0pLFxuXHRcdCk7XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIHJ1blRyYW5zZm9ybShcblx0XHRmaWxlOiBGaWxlRXgsXG5cdFx0dGFyZ2V0OiBCdWlsZFRhcmdldCxcblx0XHRzd2NPcHRpb25zOiBPcHRpb25zLFxuXHRcdHByb2plY3Q/OiBQcm9qZWN0LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZT4ge1xuXHRcdGNvbnN0IGNvbnRlbnQgPSBhd2FpdCB0aGlzLmdldEZpbGVDb250ZW50KGZpbGUpO1xuXHRcdGlmIChjb250ZW50ID09PSBcIlwiKSB7XG5cdFx0XHRjb25zdCBza2lwcGVkID0gVHJhbnNmb3JtUmVzcG9uc2UuU2tpcHBlZCh7XG5cdFx0XHRcdGZpbGUsXG5cdFx0XHRcdG1lc3NhZ2VzOiBcIkZpbGUgaXMgZW1wdHlcIixcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0XHRwcm9qZWN0LFxuXHRcdFx0fSk7XG5cdFx0XHRvbk91dHB1dD8uKHNraXBwZWQpO1xuXHRcdFx0cmV0dXJuIHNraXBwZWQ7XG5cdFx0fVxuXG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IGZpbGVQYXRoID0gZmlsZS5yZWxhdGl2ZVBhdGg7XG5cdFx0XHRjb25zdCBleHROYW1lID0gcGF0aC5leHRuYW1lKGZpbGVQYXRoKTtcblx0XHRcdGNvbnN0IGZpbGVOYW1lID0gZmlsZVBhdGgucmVwbGFjZShuZXcgUmVnRXhwKGAke2V4dE5hbWV9JGApLCBcIi5qc1wiKTtcblx0XHRcdGNvbnN0IG91dEJhc2VEaXIgPSBwcm9qZWN0Py5nZXRPdXREaXIodGFyZ2V0KTtcblx0XHRcdGNvbnN0IG91dHB1dFBhdGggPSBvdXRCYXNlRGlyID8gcGF0aC5qb2luKG91dEJhc2VEaXIsIGZpbGVOYW1lKSA6IHVuZGVmaW5lZDtcblx0XHRcdGNvbnN0IG91dHB1dERpciA9IG91dHB1dFBhdGggPyBwYXRoLmRpcm5hbWUob3V0cHV0UGF0aCkgOiB1bmRlZmluZWQ7XG5cdFx0XHRjb25zdCB0cmFuc2Zvcm1lZCA9IGF3YWl0IHRyYW5zZm9ybShjb250ZW50LCBzd2NPcHRpb25zKTtcblx0XHRcdGlmICh0cmFuc2Zvcm1lZCA9PSBudWxsKSB7XG5cdFx0XHRcdHRocm93IG5ldyBFcnJvcihcInN3Yy50cmFuc2Zvcm0gcmV0dXJuZWQgbm8gcmVzdWx0XCIpO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBzdWNjZXNzID0gVHJhbnNmb3JtUmVzcG9uc2UuU3VjY2Vzcyh7XG5cdFx0XHRcdGZpbGUsXG5cdFx0XHRcdGNvZGU6IHRyYW5zZm9ybWVkLmNvZGUsXG5cdFx0XHRcdHRhcmdldCxcblx0XHRcdFx0ZmlsZU5hbWUsXG5cdFx0XHRcdG91dHB1dERpcixcblx0XHRcdFx0b3V0cHV0UGF0aCxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0XHRwcm9qZWN0LFxuXHRcdFx0fSk7XG5cdFx0XHRvbk91dHB1dD8uKHN1Y2Nlc3MpO1xuXHRcdFx0cmV0dXJuIHN1Y2Nlc3M7XG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdGNvbnN0IGZhaWx1cmUgPSBUcmFuc2Zvcm1SZXNwb25zZS5FcnJvcih7XG5cdFx0XHRcdGZpbGUsXG5cdFx0XHRcdG1lc3NhZ2VzOiBbU3RyaW5nKGVycm9yKV0sXG5cdFx0XHRcdGNvbmZpZzogc3djT3B0aW9ucyxcblx0XHRcdFx0cHJvamVjdCxcblx0XHRcdH0pO1xuXHRcdFx0b25PdXRwdXQ/LihmYWlsdXJlKTtcblx0XHRcdHJldHVybiBmYWlsdXJlO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBhc3luYyBvbkluY3JlbWVudGFsRmlsZUV2ZW50KGV2dDogUHJvamVjdEZpbGVFdmVudCk6IFByb21pc2U8VHJhbnNmb3JtUmVzcG9uc2VbXT4ge1xuXHRcdGNvbnN0IHsgZmlsZSwgcHJvamVjdCB9ID0gZXZ0O1xuXHRcdGlmIChldnQuZXZlbnROYW1lID09PSBpby5XYXRjaEV2ZW50cy51bmxpbmspIHtcblx0XHRcdHRoaXMuZGVsZXRlQ2FjaGVkT3V0cHV0cyhmaWxlLmZ1bGxQYXRoKTtcblx0XHRcdHJldHVybiBbXTtcblx0XHR9XG5cdFx0aWYgKCFwcm9qZWN0LmlzU291cmNlRmlsZShmaWxlKSkge1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0XHR0aGlzLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0cmV0dXJuIHRoaXMudHJhbnNmb3JtUHJvamVjdChwcm9qZWN0LCAoKSA9PiBQcm9taXNlLnJlc29sdmUoW2ZpbGVdKSk7XG5cdH1cblxuXHRAaW52YWxpZGF0ZUNhY2hlKFN3Y1RyYW5zcGlsZXIucHJvdG90eXBlLmdldEZpbGVDb250ZW50LCB7XG5cdFx0bmFtZTogXCJGSUxFX0NPTlRFTlRcIixcblx0XHRrZXlGbjogKC4uLmFyZ3MpID0+IChhcmdzWzBdIGFzIEZpbGVFeCkuZnVsbFBhdGgsXG5cdH0pXG5cdHB1YmxpYyBpbnZhbGlkYXRlQ29udGVudENhY2hlKF9maWxlOiBGaWxlRXgpOiB2b2lkIHt9XG5cblx0QGNhY2hlKHsgbmFtZTogXCJGSUxFX0NPTlRFTlRcIiwga2V5Rm46ICguLi5hcmdzKSA9PiAoYXJnc1swXSBhcyBGaWxlRXgpLmZ1bGxQYXRoIH0pXG5cdHByaXZhdGUgZ2V0RmlsZUNvbnRlbnQoZmlsZTogRmlsZUV4KTogUHJvbWlzZTxzdHJpbmc+IHtcblx0XHRyZXR1cm4gZmlsZS5nZXRDb250ZW50KCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJwYXRoIiwiY2FjaGUiLCJpbnZhbGlkYXRlQ2FjaGUiLCJUcmFjZSIsIm1peHdpdGgiLCJpbyIsInRyYW5zZm9ybSIsIkJ1aWxkVGFyZ2V0cyIsIlN3Y0NvbmZpZ0ZhY3RvcnkiLCJDYWNoZXNPdXRwdXRzIiwiSW5jcmVtZW50YWxUcmFuc2Zvcm0iLCJUcmFuc2Zvcm1SZXNwb25zZSIsIlN3Y1RyYW5zcGlsZXIiLCJidWlsZFRhcmdldHMiLCJlczYiLCJjb21tb25qcyIsInRyYW5zZm9ybVByb2plY3QiLCJwcm9qZWN0QXJyYXlMaWtlIiwiZmlsZUZpbHRlciIsIm9uT3V0cHV0IiwicHJvamVjdHMiLCJBcnJheSIsImlzQXJyYXkiLCJyZXNwb25zZXMiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwicHJvamVjdCIsInRhcmdldHMiLCJhbGlhc1BhdGhzIiwiZ2V0Rm9yZ2VDb25maWd1cmF0aW9uIiwidHJhbnNwaWxlVGFyZ2V0cyIsImZpbHRlciIsImJ0IiwidHlwZXMiLCJsZW5ndGgiLCJzb3VyY2VGaWxlcyIsImdldEFsbEZpbGVzIiwidHNDb25maWciLCJnZXRUc0NvbmZpZyIsInVzZXJDb25maWciLCJnZXRTd2NDb25maWciLCJ0YXJnZXQiLCJ0cmFuc2Zvcm1UYXJnZXQiLCJmbGF0IiwiY2FjaGVPdXRwdXRzIiwidHJhbnNmb3JtRmlsZSIsImZpbGVBcnJheUxpa2UiLCJidWlsZFRhcmdldCIsIm9wdGlvbnMiLCJmaWxlcyIsImJhc2VDb25maWciLCJjcmVhdGVCYXNlQ29uZmlnIiwiZmlsZSIsInN3Y09wdGlvbnMiLCJjcmVhdGVGaWxlQ29uZmlnIiwicnVuVHJhbnNmb3JtIiwiY29udGVudCIsImdldEZpbGVDb250ZW50Iiwic2tpcHBlZCIsIlNraXBwZWQiLCJtZXNzYWdlcyIsImNvbmZpZyIsImZpbGVQYXRoIiwicmVsYXRpdmVQYXRoIiwiZXh0TmFtZSIsImV4dG5hbWUiLCJmaWxlTmFtZSIsInJlcGxhY2UiLCJSZWdFeHAiLCJvdXRCYXNlRGlyIiwiZ2V0T3V0RGlyIiwib3V0cHV0UGF0aCIsImpvaW4iLCJ1bmRlZmluZWQiLCJvdXRwdXREaXIiLCJkaXJuYW1lIiwidHJhbnNmb3JtZWQiLCJFcnJvciIsInN1Y2Nlc3MiLCJTdWNjZXNzIiwiY29kZSIsImVycm9yIiwiZmFpbHVyZSIsIlN0cmluZyIsIm9uSW5jcmVtZW50YWxGaWxlRXZlbnQiLCJldnQiLCJldmVudE5hbWUiLCJXYXRjaEV2ZW50cyIsInVubGluayIsImRlbGV0ZUNhY2hlZE91dHB1dHMiLCJmdWxsUGF0aCIsImlzU291cmNlRmlsZSIsImludmFsaWRhdGVDb250ZW50Q2FjaGUiLCJyZXNvbHZlIiwiX2ZpbGUiLCJnZXRDb250ZW50IiwicHJvdG90eXBlIiwibmFtZSIsImtleUZuIiwiYXJncyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBT0EsVUFBVSxZQUFZO0FBRTdCLFNBQVNDLEtBQUssRUFBRUMsZUFBZSxRQUFRLDBCQUEwQjtBQUNqRSxTQUFTQyxLQUFLLFFBQVEsOEJBQThCO0FBQ3BELFNBQVNDLE9BQU8sUUFBUSxnQ0FBZ0M7QUFFeEQsU0FBU0MsRUFBRSxRQUFRLHFCQUFxQjtBQUN4QyxTQUF1QkMsU0FBUyxRQUFRLFlBQVk7QUFDcEQsU0FFQ0MsWUFBWSxRQUVOLGdDQUFnQztBQUN2QyxPQUFPLHNDQUFzQztBQUU3QyxTQUFTQyxnQkFBZ0IsUUFBUSxxQ0FBcUM7QUFDdEUsU0FBU0MsYUFBYSxRQUFRLG9DQUFvQztBQUNsRSxTQUFTQyxvQkFBb0IsUUFBUSwyQ0FBMkM7QUFFaEYsU0FBU0MsaUJBQWlCLFFBQVEsdUNBQXVDO0FBVXpFLE9BQU8sTUFBTUMsc0JBQ0pSLFFBQVFLLGVBQWVDO0lBR3hCRyxlQUE4QjtRQUFDTixhQUFhTyxHQUFHO1FBQUVQLGFBQWFRLFFBQVE7S0FBQyxDQUFDO0lBQy9FLENBQUEsZ0JBQWlCLEdBQUcsSUFBSVAsbUJBQW1CO0lBRTNDLE1BQWFRLGlCQUNaQyxnQkFBcUMsRUFDckNDLFVBQW9ELEVBQ3BEQyxRQUFnRCxFQUNqQjtRQUMv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
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgY2FjaGUsIGludmFsaWRhdGVDYWNoZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2FjaGluZ1wiO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2RpYWdub3N0aWNzXCI7XG5pbXBvcnQgeyBtaXh3aXRoIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9leHRlbnNpYmlsaXR5XCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IGlvIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgdHlwZSBPcHRpb25zLCB0cmFuc2Zvcm0sIHRyYW5zZm9ybVN5bmMgfSBmcm9tIFwiQHN3Yy9jb3JlXCI7XG5pbXBvcnQge1xuXHR0eXBlIEJ1aWxkVGFyZ2V0LFxuXHRCdWlsZFRhcmdldHMsXG5cdHR5cGUgVHJhbnNwaWxlVGFyZ2V0LFxufSBmcm9tIFwiLi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCBcIi4uL2V4dGVuc2lvbnMvcHJvamVjdC5leHRlbnNpb25zLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFByb2plY3RGaWxlRXZlbnQsIFRzY29uZmlnIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgeyBTd2NDb25maWdGYWN0b3J5IH0gZnJvbSBcIi4uL2ZhY3Rvcmllcy9zd2MtY29uZmlnLmZhY3RvcnkuanNcIjtcbmltcG9ydCB7IENhY2hlc091dHB1dHMgfSBmcm9tIFwiLi4vbWl4aW5zL2NhY2hlcy1vdXRwdXRzLm1peGluLmpzXCI7XG5pbXBvcnQgeyBJbmNyZW1lbnRhbFRyYW5zZm9ybSB9IGZyb20gXCIuLi9taXhpbnMvaW5jcmVtZW50YWwtdHJhbnNmb3JtLm1peGluLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN3Y0NvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9zd2MtY29uZmlnLnR5cGUuanNcIjtcbmltcG9ydCB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBUcmFuc2Zvcm1lciB9IGZyb20gXCIuLi90eXBlcy90cmFuc2Zvcm1lci50eXBlLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFRyYW5zcGlsZU9wdGlvbnMgPSB7XG5cdGFsaWFzUGF0aHM/OiBib29sZWFuO1xuXHR0c0NvbmZpZz86IFRzY29uZmlnO1xuXHR1c2VyQ29uZmlnPzogU3djQ29uZmlnO1xufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgU3djVHJhbnNwaWxlclxuXHRleHRlbmRzIG1peHdpdGgoQ2FjaGVzT3V0cHV0cywgSW5jcmVtZW50YWxUcmFuc2Zvcm0pXG5cdGltcGxlbWVudHMgVHJhbnNmb3JtZXJcbntcblx0cHVibGljIGJ1aWxkVGFyZ2V0czogQnVpbGRUYXJnZXRbXSA9IFtCdWlsZFRhcmdldHMuZXM2LCBCdWlsZFRhcmdldHMuY29tbW9uanNdO1xuXHQjc3djQ29uZmlnRmFjdG9yeSA9IG5ldyBTd2NDb25maWdGYWN0b3J5KCk7XG5cblx0cHVibGljIGFzeW5jIHRyYW5zZm9ybVByb2plY3QoXG5cdFx0cHJvamVjdEFycmF5TGlrZTogUHJvamVjdCB8IFByb2plY3RbXSxcblx0XHRmaWxlRmlsdGVyPzogKHByb2plY3Q6IFByb2plY3QpID0+IFByb21pc2U8RmlsZUV4W10+LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Y29uc3QgcHJvamVjdHMgPSBBcnJheS5pc0FycmF5KHByb2plY3RBcnJheUxpa2UpID8gcHJvamVjdEFycmF5TGlrZSA6IFtwcm9qZWN0QXJyYXlMaWtlXTtcblx0XHRjb25zdCByZXNwb25zZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdHByb2plY3RzLm1hcChhc3luYyAocHJvamVjdCkgPT4ge1xuXHRcdFx0XHRjb25zdCB7IHRhcmdldHMsIGFsaWFzUGF0aHMgfSA9IHByb2plY3QuZ2V0Rm9yZ2VDb25maWd1cmF0aW9uKCk7XG5cdFx0XHRcdGNvbnN0IHRyYW5zcGlsZVRhcmdldHMgPSB0YXJnZXRzLmZpbHRlcigoYnQpID0+IGJ0ICE9PSBCdWlsZFRhcmdldHMudHlwZXMpO1xuXHRcdFx0XHRpZiAodHJhbnNwaWxlVGFyZ2V0cy5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0XHRyZXR1cm4gW107XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBzb3VyY2VGaWxlcyA9IGF3YWl0IChmaWxlRmlsdGVyPy4ocHJvamVjdCkgPz8gcHJvamVjdC5nZXRBbGxGaWxlcygpKTtcblx0XHRcdFx0Y29uc3QgdHNDb25maWcgPSBhd2FpdCBwcm9qZWN0LmdldFRzQ29uZmlnKCk7XG5cdFx0XHRcdGNvbnN0IHVzZXJDb25maWcgPSBhd2FpdCBwcm9qZWN0LmdldFN3Y0NvbmZpZygpO1xuXHRcdFx0XHRjb25zdCByZXNwb25zZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdFx0XHR0cmFuc3BpbGVUYXJnZXRzLm1hcCgodGFyZ2V0KSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy50cmFuc2Zvcm1UYXJnZXQoXG5cdFx0XHRcdFx0XHRcdHNvdXJjZUZpbGVzLFxuXHRcdFx0XHRcdFx0XHR0YXJnZXQsXG5cdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHR0c0NvbmZpZyxcblx0XHRcdFx0XHRcdFx0XHR1c2VyQ29uZmlnLFxuXHRcdFx0XHRcdFx0XHRcdGFsaWFzUGF0aHMsXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdHByb2plY3QsXG5cdFx0XHRcdFx0XHRcdG9uT3V0cHV0LFxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0KTtcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlcy5mbGF0KCk7XG5cdFx0XHR9KSxcblx0XHQpO1xuXG5cdFx0Y29uc3QgZmxhdCA9IHJlc3BvbnNlcy5mbGF0KCk7XG5cdFx0dGhpcy5jYWNoZU91dHB1dHMoZmxhdCk7XG5cdFx0cmV0dXJuIGZsYXQ7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgdHJhbnNmb3JtRmlsZShcblx0XHRmaWxlQXJyYXlMaWtlOiBGaWxlRXhbXSB8IEZpbGVFeCxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM6IFRyYW5zcGlsZU9wdGlvbnMgPSB7fSxcblx0KSB7XG5cdFx0Y29uc3QgZmlsZXMgPSBBcnJheS5pc0FycmF5KGZpbGVBcnJheUxpa2UpID8gZmlsZUFycmF5TGlrZSA6IFtmaWxlQXJyYXlMaWtlXTtcblx0XHRjb25zdCByZXNwb25zZXMgPSB0aGlzLnRyYW5zZm9ybVRhcmdldChmaWxlcywgYnVpbGRUYXJnZXQsIG9wdGlvbnMpO1xuXHRcdHJldHVybiByZXNwb25zZXM7XG5cdH1cblxuXHQvKipcblx0ICogU3luY2hyb25vdXMsIHNpbmdsZS1maWxlIHZhcmlhbnQgb2YgYHRyYW5zZm9ybUZpbGVgLlxuXHQgKiBSZWFkcyB0aGUgZmlsZSB3aXRoIGBmcy5yZWFkRmlsZVN5bmNgIGFuZCB0cmFuc3BpbGVzIHZpYSBgc3djLnRyYW5zZm9ybVN5bmNgLlxuXHQgKiBJbnRlbmRlZCBmb3IgY2FsbGVycyB0aGF0IGNhbm5vdCBhd2FpdCAoZS5nLiBOb2RlLmpzIGByZWdpc3Rlckhvb2tzYCBsb2FkIGhvb2spLlxuXHQgKi9cblx0cHVibGljIHRyYW5zZm9ybUZpbGVTeW5jKFxuXHRcdGZpbGU6IEZpbGVFeCxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM6IFRyYW5zcGlsZU9wdGlvbnMgPSB7fSxcblx0KTogVHJhbnNmb3JtUmVzcG9uc2Uge1xuXHRcdGNvbnN0IGJhc2VDb25maWcgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUJhc2VDb25maWcoYnVpbGRUYXJnZXQsIG9wdGlvbnMpO1xuXHRcdGNvbnN0IHN3Y09wdGlvbnMgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUZpbGVDb25maWcoZmlsZSwgYmFzZUNvbmZpZyk7XG5cblx0XHRsZXQgY29udGVudDogc3RyaW5nO1xuXHRcdHRyeSB7XG5cdFx0XHRjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGUuZnVsbFBhdGgsIFwidXRmOFwiKTtcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0cmV0dXJuIFRyYW5zZm9ybVJlc3BvbnNlLkVycm9yKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFtTdHJpbmcoZXJyb3IpXSxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0aWYgKGNvbnRlbnQgPT09IFwiXCIpIHtcblx0XHRcdHJldHVybiBUcmFuc2Zvcm1SZXNwb25zZS5Ta2lwcGVkKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFwiRmlsZSBpcyBlbXB0eVwiLFxuXHRcdFx0XHRjb25maWc6IHN3Y09wdGlvbnMsXG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgdHJhbnNmb3JtZWQgPSB0cmFuc2Zvcm1TeW5jKGNvbnRlbnQsIHN3Y09wdGlvbnMpO1xuXHRcdFx0aWYgKHRyYW5zZm9ybWVkID09IG51bGwpIHtcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwic3djLnRyYW5zZm9ybVN5bmMgcmV0dXJuZWQgbm8gcmVzdWx0XCIpO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgZmlsZVBhdGggPSBmaWxlLnJlbGF0aXZlUGF0aDtcblx0XHRcdGNvbnN0IGV4dE5hbWUgPSBwYXRoLmV4dG5hbWUoZmlsZVBhdGgpO1xuXHRcdFx0Y29uc3QgZmlsZU5hbWUgPSBmaWxlUGF0aC5yZXBsYWNlKG5ldyBSZWdFeHAoYCR7ZXh0TmFtZX0kYCksIFwiLmpzXCIpO1xuXHRcdFx0cmV0dXJuIFRyYW5zZm9ybVJlc3BvbnNlLlN1Y2Nlc3Moe1xuXHRcdFx0XHRmaWxlLFxuXHRcdFx0XHRjb2RlOiB0cmFuc2Zvcm1lZC5jb2RlLFxuXHRcdFx0XHR0YXJnZXQ6IGJ1aWxkVGFyZ2V0LFxuXHRcdFx0XHRmaWxlTmFtZSxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0fSk7XG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdHJldHVybiBUcmFuc2Zvcm1SZXNwb25zZS5FcnJvcih7XG5cdFx0XHRcdGZpbGUsXG5cdFx0XHRcdG1lc3NhZ2VzOiBbU3RyaW5nKGVycm9yKV0sXG5cdFx0XHRcdGNvbmZpZzogc3djT3B0aW9ucyxcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgdHJhbnNmb3JtVGFyZ2V0KFxuXHRcdGZpbGVzOiBGaWxlRXhbXSxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM/OiBUcmFuc3BpbGVPcHRpb25zLFxuXHRcdHByb2plY3Q/OiBQcm9qZWN0LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KSB7XG5cdFx0Y29uc3QgYmFzZUNvbmZpZyA9IHRoaXMuI3N3Y0NvbmZpZ0ZhY3RvcnkuY3JlYXRlQmFzZUNvbmZpZyhidWlsZFRhcmdldCwgb3B0aW9ucyA/PyB7fSk7XG5cdFx0cmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdFx0ZmlsZXMubWFwKChmaWxlKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHN3Y09wdGlvbnMgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUZpbGVDb25maWcoZmlsZSwgYmFzZUNvbmZpZyk7XG5cdFx0XHRcdHJldHVybiB0aGlzLnJ1blRyYW5zZm9ybShmaWxlLCBidWlsZFRhcmdldCwgc3djT3B0aW9ucywgcHJvamVjdCwgb25PdXRwdXQpO1xuXHRcdFx0fSksXG5cdFx0KTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgcnVuVHJhbnNmb3JtKFxuXHRcdGZpbGU6IEZpbGVFeCxcblx0XHR0YXJnZXQ6IEJ1aWxkVGFyZ2V0LFxuXHRcdHN3Y09wdGlvbnM6IE9wdGlvbnMsXG5cdFx0cHJvamVjdD86IFByb2plY3QsXG5cdFx0b25PdXRwdXQ/OiAocmVzcG9uc2U6IFRyYW5zZm9ybVJlc3BvbnNlKSA9PiB2b2lkLFxuXHQpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3BvbnNlPiB7XG5cdFx0Y29uc3QgY29udGVudCA9IGF3YWl0IHRoaXMuZ2V0RmlsZUNvbnRlbnQoZmlsZSk7XG5cdFx0aWYgKGNvbnRlbnQgPT09IFwiXCIpIHtcblx0XHRcdGNvbnN0IHNraXBwZWQgPSBUcmFuc2Zvcm1SZXNwb25zZS5Ta2lwcGVkKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFwiRmlsZSBpcyBlbXB0eVwiLFxuXHRcdFx0XHRjb25maWc6IHN3Y09wdGlvbnMsXG5cdFx0XHRcdHByb2plY3QsXG5cdFx0XHR9KTtcblx0XHRcdG9uT3V0cHV0Py4oc2tpcHBlZCk7XG5cdFx0XHRyZXR1cm4gc2tpcHBlZDtcblx0XHR9XG5cblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgZmlsZVBhdGggPSBmaWxlLnJlbGF0aXZlUGF0aDtcblx0XHRcdGNvbnN0IGV4dE5hbWUgPSBwYXRoLmV4dG5hbWUoZmlsZVBhdGgpO1xuXHRcdFx0Y29uc3QgZmlsZU5hbWUgPSBmaWxlUGF0aC5yZXBsYWNlKG5ldyBSZWdFeHAoYCR7ZXh0TmFtZX0kYCksIFwiLmpzXCIpO1xuXHRcdFx0Y29uc3Qgb3V0QmFzZURpciA9IHByb2plY3Q/LmdldE91dERpcih0YXJnZXQpO1xuXHRcdFx0Y29uc3Qgb3V0cHV0UGF0aCA9IG91dEJhc2VEaXIgPyBwYXRoLmpvaW4ob3V0QmFzZURpciwgZmlsZU5hbWUpIDogdW5kZWZpbmVkO1xuXHRcdFx0Y29uc3Qgb3V0cHV0RGlyID0gb3V0cHV0UGF0aCA/IHBhdGguZGlybmFtZShvdXRwdXRQYXRoKSA6IHVuZGVmaW5lZDtcblx0XHRcdGNvbnN0IHRyYW5zZm9ybWVkID0gYXdhaXQgdHJhbnNmb3JtKGNvbnRlbnQsIHN3Y09wdGlvbnMpO1xuXHRcdFx0aWYgKHRyYW5zZm9ybWVkID09IG51bGwpIHtcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwic3djLnRyYW5zZm9ybSByZXR1cm5lZCBubyByZXN1bHRcIik7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IHN1Y2Nlc3MgPSBUcmFuc2Zvcm1SZXNwb25zZS5TdWNjZXNzKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0Y29kZTogdHJhbnNmb3JtZWQuY29kZSxcblx0XHRcdFx0dGFyZ2V0LFxuXHRcdFx0XHRmaWxlTmFtZSxcblx0XHRcdFx0b3V0cHV0RGlyLFxuXHRcdFx0XHRvdXRwdXRQYXRoLFxuXHRcdFx0XHRjb25maWc6IHN3Y09wdGlvbnMsXG5cdFx0XHRcdHByb2plY3QsXG5cdFx0XHR9KTtcblx0XHRcdG9uT3V0cHV0Py4oc3VjY2Vzcyk7XG5cdFx0XHRyZXR1cm4gc3VjY2Vzcztcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0Y29uc3QgZmFpbHVyZSA9IFRyYW5zZm9ybVJlc3BvbnNlLkVycm9yKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFtTdHJpbmcoZXJyb3IpXSxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0XHRwcm9qZWN0LFxuXHRcdFx0fSk7XG5cdFx0XHRvbk91dHB1dD8uKGZhaWx1cmUpO1xuXHRcdFx0cmV0dXJuIGZhaWx1cmU7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIGFzeW5jIG9uSW5jcmVtZW50YWxGaWxlRXZlbnQoZXZ0OiBQcm9qZWN0RmlsZUV2ZW50KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Y29uc3QgeyBmaWxlLCBwcm9qZWN0IH0gPSBldnQ7XG5cdFx0aWYgKGV2dC5ldmVudE5hbWUgPT09IGlvLldhdGNoRXZlbnRzLnVubGluaykge1xuXHRcdFx0dGhpcy5kZWxldGVDYWNoZWRPdXRwdXRzKGZpbGUuZnVsbFBhdGgpO1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0XHRpZiAoIXByb2plY3QuaXNTb3VyY2VGaWxlKGZpbGUpKSB7XG5cdFx0XHRyZXR1cm4gW107XG5cdFx0fVxuXHRcdHRoaXMuaW52YWxpZGF0ZUNvbnRlbnRDYWNoZShmaWxlKTtcblx0XHRyZXR1cm4gdGhpcy50cmFuc2Zvcm1Qcm9qZWN0KHByb2plY3QsICgpID0+IFByb21pc2UucmVzb2x2ZShbZmlsZV0pKTtcblx0fVxuXG5cdEBpbnZhbGlkYXRlQ2FjaGUoU3djVHJhbnNwaWxlci5wcm90b3R5cGUuZ2V0RmlsZUNvbnRlbnQsIHtcblx0XHRuYW1lOiBcIkZJTEVfQ09OVEVOVFwiLFxuXHRcdGtleUZuOiAoLi4uYXJncykgPT4gKGFyZ3NbMF0gYXMgRmlsZUV4KS5mdWxsUGF0aCxcblx0fSlcblx0cHVibGljIGludmFsaWRhdGVDb250ZW50Q2FjaGUoX2ZpbGU6IEZpbGVFeCk6IHZvaWQge31cblxuXHRAY2FjaGUoeyBuYW1lOiBcIkZJTEVfQ09OVEVOVFwiLCBrZXlGbjogKC4uLmFyZ3MpID0+IChhcmdzWzBdIGFzIEZpbGVFeCkuZnVsbFBhdGggfSlcblx0cHJpdmF0ZSBnZXRGaWxlQ29udGVudChmaWxlOiBGaWxlRXgpOiBQcm9taXNlPHN0cmluZz4ge1xuXHRcdHJldHVybiBmaWxlLmdldENvbnRlbnQoKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbImZzIiwicGF0aCIsImNhY2hlIiwiaW52YWxpZGF0ZUNhY2hlIiwiVHJhY2UiLCJtaXh3aXRoIiwiaW8iLCJ0cmFuc2Zvcm0iLCJ0cmFuc2Zvcm1TeW5jIiwiQnVpbGRUYXJnZXRzIiwiU3djQ29uZmlnRmFjdG9yeSIsIkNhY2hlc091dHB1dHMiLCJJbmNyZW1lbnRhbFRyYW5zZm9ybSIsIlRyYW5zZm9ybVJlc3BvbnNlIiwiU3djVHJhbnNwaWxlciIsImJ1aWxkVGFyZ2V0cyIsImVzNiIsImNvbW1vbmpzIiwidHJhbnNmb3JtUHJvamVjdCIsInByb2plY3RBcnJheUxpa2UiLCJmaWxlRmlsdGVyIiwib25PdXRwdXQiLCJwcm9qZWN0cyIsIkFycmF5IiwiaXNBcnJheSIsInJlc3BvbnNlcyIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJwcm9qZWN0IiwidGFyZ2V0cyIsImFsaWFzUGF0aHMiLCJnZXRGb3JnZUNvbmZpZ3VyYXRpb24iLCJ0cmFuc3BpbGVUYXJnZXRzIiwiZmlsdGVyIiwiYnQiLCJ0eXBlcyIsImxlbmd0aCIsInNvdXJjZUZpbGVzIiwiZ2V0QWxsRmlsZXMiLCJ0c0NvbmZpZyIsImdldFRzQ29uZmlnIiwidXNlckNvbmZpZyIsImdldFN3Y0NvbmZpZyIsInRhcmdldCIsInRyYW5zZm9ybVRhcmdldCIsImZsYXQiLCJjYWNoZU91dHB1dHMiLCJ0cmFuc2Zvcm1GaWxlIiwiZmlsZUFycmF5TGlrZSIsImJ1aWxkVGFyZ2V0Iiwib3B0aW9ucyIsImZpbGVzIiwidHJhbnNmb3JtRmlsZVN5bmMiLCJmaWxlIiwiYmFzZUNvbmZpZyIsImNyZWF0ZUJhc2VDb25maWciLCJzd2NPcHRpb25zIiwiY3JlYXRlRmlsZUNvbmZpZyIsImNvbnRlbnQiLCJyZWFkRmlsZVN5bmMiLCJmdWxsUGF0aCIsImVycm9yIiwiRXJyb3IiLCJtZXNzYWdlcyIsIlN0cmluZyIsImNvbmZpZyIsIlNraXBwZWQiLCJ0cmFuc2Zvcm1lZCIsImZpbGVQYXRoIiwicmVsYXRpdmVQYXRoIiwiZXh0TmFtZSIsImV4dG5hbWUiLCJmaWxlTmFtZSIsInJlcGxhY2UiLCJSZWdFeHAiLCJTdWNjZXNzIiwiY29kZSIsInJ1blRyYW5zZm9ybSIsImdldEZpbGVDb250ZW50Iiwic2tpcHBlZCIsIm91dEJhc2VEaXIiLCJnZXRPdXREaXIiLCJvdXRwdXRQYXRoIiwiam9pbiIsInVuZGVmaW5lZCIsIm91dHB1dERpciIsImRpcm5hbWUiLCJzdWNjZXNzIiwiZmFpbHVyZSIsIm9uSW5jcmVtZW50YWxGaWxlRXZlbnQiLCJldnQiLCJldmVudE5hbWUiLCJXYXRjaEV2ZW50cyIsInVubGluayIsImRlbGV0ZUNhY2hlZE91dHB1dHMiLCJpc1NvdXJjZUZpbGUiLCJpbnZhbGlkYXRlQ29udGVudENhY2hlIiwicmVzb2x2ZSIsIl9maWxlIiwiZ2V0Q29udGVudCIsInByb3RvdHlwZSIsIm5hbWUiLCJrZXlGbiIsImFyZ3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU9BLFFBQVEsVUFBVTtBQUN6QixPQUFPQyxVQUFVLFlBQVk7QUFFN0IsU0FBU0MsS0FBSyxFQUFFQyxlQUFlLFFBQVEsMEJBQTBCO0FBQ2pFLFNBQVNDLEtBQUssUUFBUSw4QkFBOEI7QUFDcEQsU0FBU0MsT0FBTyxRQUFRLGdDQUFnQztBQUV4RCxTQUFTQyxFQUFFLFFBQVEscUJBQXFCO0FBQ3hDLFNBQXVCQyxTQUFTLEVBQUVDLGFBQWEsUUFBUSxZQUFZO0FBQ25FLFNBRUNDLFlBQVksUUFFTixnQ0FBZ0M7QUFDdkMsT0FBTyxzQ0FBc0M7QUFFN0MsU0FBU0MsZ0JBQWdCLFFBQVEscUNBQXFDO0FBQ3RFLFNBQVNDLGFBQWEsUUFBUSxvQ0FBb0M7QUFDbEUsU0FBU0Msb0JBQW9CLFFBQVEsMkNBQTJDO0FBRWhGLFNBQVNDLGlCQUFpQixRQUFRLHVDQUF1QztBQVV6RSxPQUFPLE1BQU1DLHNCQUNKVCxRQUFRTSxlQUFlQztJQUd4QkcsZUFBOEI7UUFBQ04sYUFBYU8sR0FBRztRQUFFUCxhQUFhUSxRQUFRO0tBQUMsQ0FBQztJQUMvRSxDQUFBLGdCQUFpQixHQUFHLElBQUlQLG1CQUFtQjtJQUUz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
@@ -117,4 +117,4 @@ TsProgramHost = _ts_decorate([
117
117
  Trace
118
118
  ], TsProgramHost);
119
119
 
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL3NlcnZpY2VzL3RzLXByb2dyYW0taG9zdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCB7IGNhY2hlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jYWNoaW5nXCI7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZGlhZ25vc3RpY3NcIjtcbmltcG9ydCB0eXBlIHsgRmlsZUV4IH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHR5cGUgdHMgZnJvbSBcInR5cGVzY3JpcHRcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbXBpbGVySG9zdCwgY3JlYXRlUHJvZ3JhbSB9IGZyb20gXCJ0eXBlc2NyaXB0XCI7XG5pbXBvcnQge1xuXHRERUZBVUxUX1RZUEVfRU1JVFRFUl9PUFRJT05TLFxuXHRSRVFVSVJFRF9UWVBFX0VNSVRURVJfT1BUSU9OUyxcbn0gZnJvbSBcIi4uL3NlcnZpY2VzL3R5cGUtZW1pdHRlci5qc1wiO1xuXG4vKipcbiAqIFdyYXBzIGEgVHlwZVNjcmlwdCBDb21waWxlckhvc3Qgd2l0aCBjYWNoZWQgZmlsZS1zeXN0ZW0gY2FsbHMgc28gdGhhdFxuICogcmVwZWF0ZWQgcmVhZHMgZHVyaW5nIGEgc2luZ2xlIGJ1aWxkIGRvIG5vdCBoaXQgdGhlIGRpc2sgbXVsdGlwbGUgdGltZXMuXG4gKlxuICogU2VwYXJhdGluZyB0aGlzIGZyb20gVHlwZUVtaXR0ZXIga2VlcHMgdGhlIHRyYW5zZm9ybWVyIGxvZ2ljIHJlYWRhYmxlIGFuZFxuICogbGV0cyB0aGUgY2FjaGluZy9wcm9ncmFtLWNyZWF0aW9uIGNvbmNlcm5zIGxpdmUgaW4gb25lIGZvY3VzZWQgcGxhY2UuXG4gKi9cbkBUcmFjZVxuZXhwb3J0IGNsYXNzIFRzUHJvZ3JhbUhvc3Qge1xuXHQjaW52YWxpZGF0ZWQgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuXHRwdWJsaWMgaW52YWxpZGF0ZVNvdXJjZUZpbGUoZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMuI2ludmFsaWRhdGVkLmFkZChmaWxlTmFtZSk7XG5cdH1cblxuXHRwdWJsaWMgaGFzSW52YWxpZGF0ZWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuI2ludmFsaWRhdGVkLnNpemUgPiAwO1xuXHR9XG5cblx0LyoqIFJldHVybnMgYSBzdGFibGUgc3RyaW5nIGtleSBmb3IgYSBzZXQgb2YgY29tcGlsZXIgb3B0aW9ucyB0aGF0IGFmZmVjdCBob3N0IGJlaGF2aW91ci4gKi9cblx0cHVibGljIGhvc3RLZXkob3B0czogdHMuQ29tcGlsZXJPcHRpb25zKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xuXHRcdFx0dGFyZ2V0OiBvcHRzLnRhcmdldCxcblx0XHRcdGxpYjogb3B0cy5saWIsXG5cdFx0XHR0eXBlUm9vdHM6IG9wdHMudHlwZVJvb3RzLFxuXHRcdFx0dHlwZXM6IG9wdHMudHlwZXMsXG5cdFx0XHRtb2R1bGVSZXNvbHV0aW9uOiBvcHRzLm1vZHVsZVJlc29sdXRpb24sXG5cdFx0XHRiYXNlVXJsOiBvcHRzLmJhc2VVcmwsXG5cdFx0XHRwYXRoczogb3B0cy5wYXRocyxcblx0XHRcdG1vZHVsZTogb3B0cy5tb2R1bGUsXG5cdFx0XHRyb290RGlyOiBvcHRzLnJvb3REaXIsXG5cdFx0XHRyb290RGlyczogb3B0cy5yb290RGlycyxcblx0XHR9KTtcblx0fVxuXG5cdHB1YmxpYyBjcmVhdGVIb3N0KGNvbXBpbGVyT3B0aW9uczogdHMuQ29tcGlsZXJPcHRpb25zKTogdHMuQ29tcGlsZXJIb3N0IHtcblx0XHRjb25zdCBob3N0ID0gY3JlYXRlQ29tcGlsZXJIb3N0KGNvbXBpbGVyT3B0aW9ucyk7XG5cdFx0aG9zdC5maWxlRXhpc3RzID0gKGZpbGVOYW1lKSA9PiB0aGlzLmZpbGVFeGlzdHNPbkRpc2soZmlsZU5hbWUpO1xuXHRcdGhvc3QucmVhZEZpbGUgPSAoZmlsZU5hbWUpID0+IHRoaXMucmVhZEZpbGVGcm9tRGlzayhmaWxlTmFtZSk7XG5cdFx0aG9zdC5kaXJlY3RvcnlFeGlzdHMgPSAoZGlyZWN0b3J5TmFtZSkgPT4gdGhpcy5kaXJlY3RvcnlFeGlzdHMoZGlyZWN0b3J5TmFtZSk7XG5cdFx0aG9zdC5nZXREaXJlY3RvcmllcyA9IChkaXJlY3RvcnlOYW1lKSA9PiB0aGlzLmdldERpcmVjdG9yaWVzKGRpcmVjdG9yeU5hbWUpO1xuXHRcdHJldHVybiBob3N0O1xuXHR9XG5cblx0cHVibGljIGNyZWF0ZVByb2dyYW0oXG5cdFx0ZmlsZXM6IEZpbGVFeFtdLFxuXHRcdGNvbXBpbGVyT3B0aW9uczogdHMuQ29tcGlsZXJPcHRpb25zLFxuXHRcdGhvc3Q6IHRzLkNvbXBpbGVySG9zdCxcblx0XHRvbGRQcm9ncmFtPzogdHMuUHJvZ3JhbSxcblx0KTogdHMuUHJvZ3JhbSB7XG5cdFx0Y29uc3QgZmlsZVBhdGhzID0gZmlsZXMubWFwKChmKSA9PiBmLmZ1bGxQYXRoKTtcblx0XHR0aGlzLiNpbnZhbGlkYXRlZC5jbGVhcigpO1xuXHRcdHJldHVybiBjcmVhdGVQcm9ncmFtKFxuXHRcdFx0ZmlsZVBhdGhzLFxuXHRcdFx0e1xuXHRcdFx0XHQuLi5ERUZBVUxUX1RZUEVfRU1JVFRFUl9PUFRJT05TLFxuXHRcdFx0XHQuLi5jb21waWxlck9wdGlvbnMsXG5cdFx0XHRcdC4uLlJFUVVJUkVEX1RZUEVfRU1JVFRFUl9PUFRJT05TLFxuXHRcdFx0fSxcblx0XHRcdGhvc3QsXG5cdFx0XHRvbGRQcm9ncmFtLFxuXHRcdCk7XG5cdH1cblxuXHRAY2FjaGUoeyBuYW1lOiBcIkZJTEVfQ09OVEVOVFwiLCBrZXlGbjogKC4uLmFyZ3MpID0+IGFyZ3NbMF0gYXMgc3RyaW5nIH0pXG5cdHB1YmxpYyByZWFkRmlsZUZyb21EaXNrKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRcdHRyeSB7XG5cdFx0XHRyZXR1cm4gZnMucmVhZEZpbGVTeW5jKGZpbGVOYW1lLCBcInV0ZjhcIik7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH1cblx0fVxuXG5cdEBjYWNoZSgpXG5cdHB1YmxpYyBmaWxlRXhpc3RzT25EaXNrKGZpbGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gZnMuZXhpc3RzU3luYyhmaWxlTmFtZSk7XG5cdH1cblxuXHRAY2FjaGUoKVxuXHRwdWJsaWMgZGlyZWN0b3J5RXhpc3RzKGRpcmVjdG9yeU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHRyeSB7XG5cdFx0XHRyZXR1cm4gZnMuc3RhdFN5bmMoZGlyZWN0b3J5TmFtZSkuaXNEaXJlY3RvcnkoKTtcblx0XHR9IGNhdGNoIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdH1cblxuXHRAY2FjaGUoKVxuXHRwdWJsaWMgZ2V0RGlyZWN0b3JpZXMoZGlyZWN0b3J5TmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuXHRcdHRyeSB7XG5cdFx0XHRyZXR1cm4gZnNcblx0XHRcdFx0LnJlYWRkaXJTeW5jKGRpcmVjdG9yeU5hbWUsIHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KVxuXHRcdFx0XHQuZmlsdGVyKChlbnRyeSkgPT4gZW50cnkuaXNEaXJlY3RvcnkoKSlcblx0XHRcdFx0Lm1hcCgoZW50cnkpID0+IGVudHJ5Lm5hbWUpO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0fVxufVxuIl0sIm5hbWVzIjpbImZzIiwiY2FjaGUiLCJUcmFjZSIsImNyZWF0ZUNvbXBpbGVySG9zdCIsImNyZWF0ZVByb2dyYW0iLCJERUZBVUxUX1RZUEVfRU1JVFRFUl9PUFRJT05TIiwiUkVRVUlSRURfVFlQRV9FTUlUVEVSX09QVElPTlMiLCJUc1Byb2dyYW1Ib3N0IiwiU2V0IiwiaW52YWxpZGF0ZVNvdXJjZUZpbGUiLCJmaWxlTmFtZSIsImFkZCIsImhhc0ludmFsaWRhdGVkIiwic2l6ZSIsImhvc3RLZXkiLCJvcHRzIiwiSlNPTiIsInN0cmluZ2lmeSIsInRhcmdldCIsImxpYiIsInR5cGVSb290cyIsInR5cGVzIiwibW9kdWxlUmVzb2x1dGlvbiIsImJhc2VVcmwiLCJwYXRocyIsIm1vZHVsZSIsInJvb3REaXIiLCJyb290RGlycyIsImNyZWF0ZUhvc3QiLCJjb21waWxlck9wdGlvbnMiLCJob3N0IiwiZmlsZUV4aXN0cyIsImZpbGVFeGlzdHNPbkRpc2siLCJyZWFkRmlsZSIsInJlYWRGaWxlRnJvbURpc2siLCJkaXJlY3RvcnlFeGlzdHMiLCJkaXJlY3RvcnlOYW1lIiwiZ2V0RGlyZWN0b3JpZXMiLCJmaWxlcyIsIm9sZFByb2dyYW0iLCJmaWxlUGF0aHMiLCJtYXAiLCJmIiwiZnVsbFBhdGgiLCJjbGVhciIsInJlYWRGaWxlU3luYyIsInVuZGVmaW5lZCIsImV4aXN0c1N5bmMiLCJzdGF0U3luYyIsImlzRGlyZWN0b3J5IiwicmVhZGRpclN5bmMiLCJ3aXRoRmlsZVR5cGVzIiwiZmlsdGVyIiwiZW50cnkiLCJuYW1lIiwia2V5Rm4iLCJhcmdzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPQSxRQUFRLFVBQVU7QUFDekIsU0FBU0MsS0FBSyxRQUFRLDBCQUEwQjtBQUNoRCxTQUFTQyxLQUFLLFFBQVEsOEJBQThCO0FBR3BELFNBQVNDLGtCQUFrQixFQUFFQyxhQUFhLFFBQVEsYUFBYTtBQUMvRCxTQUNDQyw0QkFBNEIsRUFDNUJDLDZCQUE2QixRQUN2QixvQkFBOEI7QUFVckMsT0FBTyxNQUFNQztJQUNaLENBQUEsV0FBWSxHQUFHLElBQUlDLE1BQWM7SUFFMUJDLHFCQUFxQkMsUUFBZ0IsRUFBUTtRQUNuRCxJQUFJLENBQUMsQ0FBQSxXQUFZLENBQUNDLEdBQUcsQ0FBQ0Q7SUFDdkI7SUFFT0UsaUJBQTBCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLENBQUEsV0FBWSxDQUFDQyxJQUFJLEdBQUc7SUFDakM7SUFFQSwwRkFBMEYsR0FDMUYsQUFBT0MsUUFBUUMsSUFBd0IsRUFBVTtRQUNoRCxPQUFPQyxLQUFLQyxTQUFTLENBQUM7WUFDckJDLFFBQVFILEtBQUtHLE1BQU07WUFDbkJDLEtBQUtKLEtBQUtJLEdBQUc7WUFDYkMsV0FBV0wsS0FBS0ssU0FBUztZQUN6QkMsT0FBT04sS0FBS00sS0FBSztZQUNqQkMsa0JBQWtCUCxLQUFLTyxnQkFBZ0I7WUFDdkNDLFNBQVNSLEtBQUtRLE9BQU87WUFDckJDLE9BQU9ULEtBQUtTLEtBQUs7WUFDakJDLFFBQVFWLEtBQUtVLE1BQU07WUFDbkJDLFNBQVNYLEtBQUtXLE9BQU87WUFDckJDLFVBQVVaLEtBQUtZLFFBQVE7UUFDeEI7SUFDRDtJQUVPQyxXQUFXQyxlQUFtQyxFQUFtQjtRQUN2RSxNQUFNQyxPQUFPM0IsbUJBQW1CMEI7UUFDaENDLEtBQUtDLFVBQVUsR0FBRyxDQUFDckIsV0FBYSxJQUFJLENBQUNzQixnQkFBZ0IsQ0FBQ3RCO1FBQ3REb0IsS0FBS0csUUFBUSxHQUFHLENBQUN2QixXQUFhLElBQUksQ0FBQ3dCLGdCQUFnQixDQUFDeEI7UUFDcERvQixLQUFLSyxlQUFlLEdBQUcsQ0FBQ0MsZ0JBQWtCLElBQUksQ0FBQ0QsZUFBZSxDQUFDQztRQUMvRE4sS0FBS08sY0FBYyxHQUFHLENBQUNELGdCQUFrQixJQUFJLENBQUNDLGNBQWMsQ0FBQ0Q7UUFDN0QsT0FBT047SUFDUjtJQUVPMUIsY0FDTmtDLEtBQWUsRUFDZlQsZUFBbUMsRUFDbkNDLElBQXFCLEVBQ3JCUyxVQUF1QixFQUNWO1FBQ2IsTUFBTUMsWUFBWUYsTUFBTUcsR0FBRyxDQUFDLENBQUNDLElBQU1BLEVBQUVDLFFBQVE7UUFDN0MsSUFBSSxDQUFDLENBQUEsV0FBWSxDQUFDQyxLQUFLO1FBQ3ZCLE9BQU94QyxjQUNOb0MsV0FDQTtZQUNDLEdBQUduQyw0QkFBNEI7WUFDL0IsR0FBR3dCLGVBQWU7WUFDbEIsR0FBR3ZCLDZCQUE2QjtRQUNqQyxHQUNBd0IsTUFDQVM7SUFFRjtJQUdPTCxpQkFBaUJ4QixRQUFnQixFQUFzQjtRQUM3RCxJQUFJO1lBQ0gsT0FBT1YsR0FBRzZDLFlBQVksQ0FBQ25DLFVBQVU7UUFDbEMsRUFBRSxPQUFNO1lBQ1AsT0FBT29DO1FBQ1I7SUFDRDtJQUdPZCxpQkFBaUJ0QixRQUFnQixFQUFXO1FBQ2xELE9BQU9WLEdBQUcrQyxVQUFVLENBQUNyQztJQUN0QjtJQUdPeUIsZ0JBQWdCQyxhQUFxQixFQUFXO1FBQ3RELElBQUk7WUFDSCxPQUFPcEMsR0FBR2dELFFBQVEsQ0FBQ1osZUFBZWEsV0FBVztRQUM5QyxFQUFFLE9BQU07WUFDUCxPQUFPO1FBQ1I7SUFDRDtJQUdPWixlQUFlRCxhQUFxQixFQUFZO1FBQ3RELElBQUk7WUFDSCxPQUFPcEMsR0FDTGtELFdBQVcsQ0FBQ2QsZUFBZTtnQkFBRWUsZUFBZTtZQUFLLEdBQ2pEQyxNQUFNLENBQUMsQ0FBQ0MsUUFBVUEsTUFBTUosV0FBVyxJQUNuQ1IsR0FBRyxDQUFDLENBQUNZLFFBQVVBLE1BQU1DLElBQUk7UUFDNUIsRUFBRSxPQUFNO1lBQ1AsT0FBTyxFQUFFO1FBQ1Y7SUFDRDtBQUNEOzs7UUFsQ1VBLE1BQU07UUFBZ0JDLE9BQU8sQ0FBQyxHQUFHQyxPQUFTQSxJQUFJLENBQUMsRUFBRSJ9
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9zZXJ2aWNlcy90cy1wcm9ncmFtLWhvc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyBjYWNoZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2FjaGluZ1wiO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2RpYWdub3N0aWNzXCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB0eXBlIHRzIGZyb20gXCJ0eXBlc2NyaXB0XCI7XG5pbXBvcnQgeyBjcmVhdGVDb21waWxlckhvc3QsIGNyZWF0ZVByb2dyYW0gfSBmcm9tIFwidHlwZXNjcmlwdFwiO1xuaW1wb3J0IHtcblx0REVGQVVMVF9UWVBFX0VNSVRURVJfT1BUSU9OUyxcblx0UkVRVUlSRURfVFlQRV9FTUlUVEVSX09QVElPTlMsXG59IGZyb20gXCIuLi9zZXJ2aWNlcy90eXBlLWVtaXR0ZXIuanNcIjtcblxuLyoqXG4gKiBXcmFwcyBhIFR5cGVTY3JpcHQgQ29tcGlsZXJIb3N0IHdpdGggY2FjaGVkIGZpbGUtc3lzdGVtIGNhbGxzIHNvIHRoYXRcbiAqIHJlcGVhdGVkIHJlYWRzIGR1cmluZyBhIHNpbmdsZSBidWlsZCBkbyBub3QgaGl0IHRoZSBkaXNrIG11bHRpcGxlIHRpbWVzLlxuICpcbiAqIFNlcGFyYXRpbmcgdGhpcyBmcm9tIFR5cGVFbWl0dGVyIGtlZXBzIHRoZSB0cmFuc2Zvcm1lciBsb2dpYyByZWFkYWJsZSBhbmRcbiAqIGxldHMgdGhlIGNhY2hpbmcvcHJvZ3JhbS1jcmVhdGlvbiBjb25jZXJucyBsaXZlIGluIG9uZSBmb2N1c2VkIHBsYWNlLlxuICovXG5AVHJhY2VcbmV4cG9ydCBjbGFzcyBUc1Byb2dyYW1Ib3N0IHtcblx0I2ludmFsaWRhdGVkID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cblx0cHVibGljIGludmFsaWRhdGVTb3VyY2VGaWxlKGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLiNpbnZhbGlkYXRlZC5hZGQoZmlsZU5hbWUpO1xuXHR9XG5cblx0cHVibGljIGhhc0ludmFsaWRhdGVkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLiNpbnZhbGlkYXRlZC5zaXplID4gMDtcblx0fVxuXG5cdC8qKiBSZXR1cm5zIGEgc3RhYmxlIHN0cmluZyBrZXkgZm9yIGEgc2V0IG9mIGNvbXBpbGVyIG9wdGlvbnMgdGhhdCBhZmZlY3QgaG9zdCBiZWhhdmlvdXIuICovXG5cdHB1YmxpYyBob3N0S2V5KG9wdHM6IHRzLkNvbXBpbGVyT3B0aW9ucyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcblx0XHRcdHRhcmdldDogb3B0cy50YXJnZXQsXG5cdFx0XHRsaWI6IG9wdHMubGliLFxuXHRcdFx0dHlwZVJvb3RzOiBvcHRzLnR5cGVSb290cyxcblx0XHRcdHR5cGVzOiBvcHRzLnR5cGVzLFxuXHRcdFx0bW9kdWxlUmVzb2x1dGlvbjogb3B0cy5tb2R1bGVSZXNvbHV0aW9uLFxuXHRcdFx0YmFzZVVybDogb3B0cy5iYXNlVXJsLFxuXHRcdFx0cGF0aHM6IG9wdHMucGF0aHMsXG5cdFx0XHRtb2R1bGU6IG9wdHMubW9kdWxlLFxuXHRcdFx0cm9vdERpcjogb3B0cy5yb290RGlyLFxuXHRcdFx0cm9vdERpcnM6IG9wdHMucm9vdERpcnMsXG5cdFx0fSk7XG5cdH1cblxuXHRwdWJsaWMgY3JlYXRlSG9zdChjb21waWxlck9wdGlvbnM6IHRzLkNvbXBpbGVyT3B0aW9ucyk6IHRzLkNvbXBpbGVySG9zdCB7XG5cdFx0Y29uc3QgaG9zdCA9IGNyZWF0ZUNvbXBpbGVySG9zdChjb21waWxlck9wdGlvbnMpO1xuXHRcdGhvc3QuZmlsZUV4aXN0cyA9IChmaWxlTmFtZSkgPT4gdGhpcy5maWxlRXhpc3RzT25EaXNrKGZpbGVOYW1lKTtcblx0XHRob3N0LnJlYWRGaWxlID0gKGZpbGVOYW1lKSA9PiB0aGlzLnJlYWRGaWxlRnJvbURpc2soZmlsZU5hbWUpO1xuXHRcdGhvc3QuZGlyZWN0b3J5RXhpc3RzID0gKGRpcmVjdG9yeU5hbWUpID0+IHRoaXMuZGlyZWN0b3J5RXhpc3RzKGRpcmVjdG9yeU5hbWUpO1xuXHRcdGhvc3QuZ2V0RGlyZWN0b3JpZXMgPSAoZGlyZWN0b3J5TmFtZSkgPT4gdGhpcy5nZXREaXJlY3RvcmllcyhkaXJlY3RvcnlOYW1lKTtcblx0XHRyZXR1cm4gaG9zdDtcblx0fVxuXG5cdHB1YmxpYyBjcmVhdGVQcm9ncmFtKFxuXHRcdGZpbGVzOiBGaWxlRXhbXSxcblx0XHRjb21waWxlck9wdGlvbnM6IHRzLkNvbXBpbGVyT3B0aW9ucyxcblx0XHRob3N0OiB0cy5Db21waWxlckhvc3QsXG5cdFx0b2xkUHJvZ3JhbT86IHRzLlByb2dyYW0sXG5cdCk6IHRzLlByb2dyYW0ge1xuXHRcdGNvbnN0IGZpbGVQYXRocyA9IGZpbGVzLm1hcCgoZikgPT4gZi5mdWxsUGF0aCk7XG5cdFx0dGhpcy4jaW52YWxpZGF0ZWQuY2xlYXIoKTtcblx0XHRyZXR1cm4gY3JlYXRlUHJvZ3JhbShcblx0XHRcdGZpbGVQYXRocyxcblx0XHRcdHtcblx0XHRcdFx0Li4uREVGQVVMVF9UWVBFX0VNSVRURVJfT1BUSU9OUyxcblx0XHRcdFx0Li4uY29tcGlsZXJPcHRpb25zLFxuXHRcdFx0XHQuLi5SRVFVSVJFRF9UWVBFX0VNSVRURVJfT1BUSU9OUyxcblx0XHRcdH0sXG5cdFx0XHRob3N0LFxuXHRcdFx0b2xkUHJvZ3JhbSxcblx0XHQpO1xuXHR9XG5cblx0QGNhY2hlKHsgbmFtZTogXCJGSUxFX0NPTlRFTlRcIiwga2V5Rm46ICguLi5hcmdzKSA9PiBhcmdzWzBdIGFzIHN0cmluZyB9KVxuXHRwdWJsaWMgcmVhZEZpbGVGcm9tRGlzayhmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHR0cnkge1xuXHRcdFx0cmV0dXJuIGZzLnJlYWRGaWxlU3luYyhmaWxlTmFtZSwgXCJ1dGY4XCIpO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cdH1cblxuXHRAY2FjaGUoKVxuXHRwdWJsaWMgZmlsZUV4aXN0c09uRGlzayhmaWxlTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIGZzLmV4aXN0c1N5bmMoZmlsZU5hbWUpO1xuXHR9XG5cblx0QGNhY2hlKClcblx0cHVibGljIGRpcmVjdG9yeUV4aXN0cyhkaXJlY3RvcnlOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHR0cnkge1xuXHRcdFx0cmV0dXJuIGZzLnN0YXRTeW5jKGRpcmVjdG9yeU5hbWUpLmlzRGlyZWN0b3J5KCk7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHR9XG5cblx0QGNhY2hlKClcblx0cHVibGljIGdldERpcmVjdG9yaWVzKGRpcmVjdG9yeU5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcblx0XHR0cnkge1xuXHRcdFx0cmV0dXJuIGZzXG5cdFx0XHRcdC5yZWFkZGlyU3luYyhkaXJlY3RvcnlOYW1lLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSlcblx0XHRcdFx0LmZpbHRlcigoZW50cnkpID0+IGVudHJ5LmlzRGlyZWN0b3J5KCkpXG5cdFx0XHRcdC5tYXAoKGVudHJ5KSA9PiBlbnRyeS5uYW1lKTtcblx0XHR9IGNhdGNoIHtcblx0XHRcdHJldHVybiBbXTtcblx0XHR9XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJmcyIsImNhY2hlIiwiVHJhY2UiLCJjcmVhdGVDb21waWxlckhvc3QiLCJjcmVhdGVQcm9ncmFtIiwiREVGQVVMVF9UWVBFX0VNSVRURVJfT1BUSU9OUyIsIlJFUVVJUkVEX1RZUEVfRU1JVFRFUl9PUFRJT05TIiwiVHNQcm9ncmFtSG9zdCIsIlNldCIsImludmFsaWRhdGVTb3VyY2VGaWxlIiwiZmlsZU5hbWUiLCJhZGQiLCJoYXNJbnZhbGlkYXRlZCIsInNpemUiLCJob3N0S2V5Iiwib3B0cyIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0YXJnZXQiLCJsaWIiLCJ0eXBlUm9vdHMiLCJ0eXBlcyIsIm1vZHVsZVJlc29sdXRpb24iLCJiYXNlVXJsIiwicGF0aHMiLCJtb2R1bGUiLCJyb290RGlyIiwicm9vdERpcnMiLCJjcmVhdGVIb3N0IiwiY29tcGlsZXJPcHRpb25zIiwiaG9zdCIsImZpbGVFeGlzdHMiLCJmaWxlRXhpc3RzT25EaXNrIiwicmVhZEZpbGUiLCJyZWFkRmlsZUZyb21EaXNrIiwiZGlyZWN0b3J5RXhpc3RzIiwiZGlyZWN0b3J5TmFtZSIsImdldERpcmVjdG9yaWVzIiwiZmlsZXMiLCJvbGRQcm9ncmFtIiwiZmlsZVBhdGhzIiwibWFwIiwiZiIsImZ1bGxQYXRoIiwiY2xlYXIiLCJyZWFkRmlsZVN5bmMiLCJ1bmRlZmluZWQiLCJleGlzdHNTeW5jIiwic3RhdFN5bmMiLCJpc0RpcmVjdG9yeSIsInJlYWRkaXJTeW5jIiwid2l0aEZpbGVUeXBlcyIsImZpbHRlciIsImVudHJ5IiwibmFtZSIsImtleUZuIiwiYXJncyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBT0EsUUFBUSxVQUFVO0FBQ3pCLFNBQVNDLEtBQUssUUFBUSwwQkFBMEI7QUFDaEQsU0FBU0MsS0FBSyxRQUFRLDhCQUE4QjtBQUdwRCxTQUFTQyxrQkFBa0IsRUFBRUMsYUFBYSxRQUFRLGFBQWE7QUFDL0QsU0FDQ0MsNEJBQTRCLEVBQzVCQyw2QkFBNkIsUUFDdkIsb0JBQThCO0FBVXJDLE9BQU8sTUFBTUM7SUFDWixDQUFBLFdBQVksR0FBRyxJQUFJQyxNQUFjO0lBRTFCQyxxQkFBcUJDLFFBQWdCLEVBQVE7UUFDbkQsSUFBSSxDQUFDLENBQUEsV0FBWSxDQUFDQyxHQUFHLENBQUNEO0lBQ3ZCO0lBRU9FLGlCQUEwQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxDQUFBLFdBQVksQ0FBQ0MsSUFBSSxHQUFHO0lBQ2pDO0lBRUEsMEZBQTBGLEdBQzFGLEFBQU9DLFFBQVFDLElBQXdCLEVBQVU7UUFDaEQsT0FBT0MsS0FBS0MsU0FBUyxDQUFDO1lBQ3JCQyxRQUFRSCxLQUFLRyxNQUFNO1lBQ25CQyxLQUFLSixLQUFLSSxHQUFHO1lBQ2JDLFdBQVdMLEtBQUtLLFNBQVM7WUFDekJDLE9BQU9OLEtBQUtNLEtBQUs7WUFDakJDLGtCQUFrQlAsS0FBS08sZ0JBQWdCO1lBQ3ZDQyxTQUFTUixLQUFLUSxPQUFPO1lBQ3JCQyxPQUFPVCxLQUFLUyxLQUFLO1lBQ2pCQyxRQUFRVixLQUFLVSxNQUFNO1lBQ25CQyxTQUFTWCxLQUFLVyxPQUFPO1lBQ3JCQyxVQUFVWixLQUFLWSxRQUFRO1FBQ3hCO0lBQ0Q7SUFFT0MsV0FBV0MsZUFBbUMsRUFBbUI7UUFDdkUsTUFBTUMsT0FBTzNCLG1CQUFtQjBCO1FBQ2hDQyxLQUFLQyxVQUFVLEdBQUcsQ0FBQ3JCLFdBQWEsSUFBSSxDQUFDc0IsZ0JBQWdCLENBQUN0QjtRQUN0RG9CLEtBQUtHLFFBQVEsR0FBRyxDQUFDdkIsV0FBYSxJQUFJLENBQUN3QixnQkFBZ0IsQ0FBQ3hCO1FBQ3BEb0IsS0FBS0ssZUFBZSxHQUFHLENBQUNDLGdCQUFrQixJQUFJLENBQUNELGVBQWUsQ0FBQ0M7UUFDL0ROLEtBQUtPLGNBQWMsR0FBRyxDQUFDRCxnQkFBa0IsSUFBSSxDQUFDQyxjQUFjLENBQUNEO1FBQzdELE9BQU9OO0lBQ1I7SUFFTzFCLGNBQ05rQyxLQUFlLEVBQ2ZULGVBQW1DLEVBQ25DQyxJQUFxQixFQUNyQlMsVUFBdUIsRUFDVjtRQUNiLE1BQU1DLFlBQVlGLE1BQU1HLEdBQUcsQ0FBQyxDQUFDQyxJQUFNQSxFQUFFQyxRQUFRO1FBQzdDLElBQUksQ0FBQyxDQUFBLFdBQVksQ0FBQ0MsS0FBSztRQUN2QixPQUFPeEMsY0FDTm9DLFdBQ0E7WUFDQyxHQUFHbkMsNEJBQTRCO1lBQy9CLEdBQUd3QixlQUFlO1lBQ2xCLEdBQUd2Qiw2QkFBNkI7UUFDakMsR0FDQXdCLE1BQ0FTO0lBRUY7SUFHT0wsaUJBQWlCeEIsUUFBZ0IsRUFBc0I7UUFDN0QsSUFBSTtZQUNILE9BQU9WLEdBQUc2QyxZQUFZLENBQUNuQyxVQUFVO1FBQ2xDLEVBQUUsT0FBTTtZQUNQLE9BQU9vQztRQUNSO0lBQ0Q7SUFHT2QsaUJBQWlCdEIsUUFBZ0IsRUFBVztRQUNsRCxPQUFPVixHQUFHK0MsVUFBVSxDQUFDckM7SUFDdEI7SUFHT3lCLGdCQUFnQkMsYUFBcUIsRUFBVztRQUN0RCxJQUFJO1lBQ0gsT0FBT3BDLEdBQUdnRCxRQUFRLENBQUNaLGVBQWVhLFdBQVc7UUFDOUMsRUFBRSxPQUFNO1lBQ1AsT0FBTztRQUNSO0lBQ0Q7SUFHT1osZUFBZUQsYUFBcUIsRUFBWTtRQUN0RCxJQUFJO1lBQ0gsT0FBT3BDLEdBQ0xrRCxXQUFXLENBQUNkLGVBQWU7Z0JBQUVlLGVBQWU7WUFBSyxHQUNqREMsTUFBTSxDQUFDLENBQUNDLFFBQVVBLE1BQU1KLFdBQVcsSUFDbkNSLEdBQUcsQ0FBQyxDQUFDWSxRQUFVQSxNQUFNQyxJQUFJO1FBQzVCLEVBQUUsT0FBTTtZQUNQLE9BQU8sRUFBRTtRQUNWO0lBQ0Q7QUFDRDs7O1FBbENVQSxNQUFNO1FBQWdCQyxPQUFPLENBQUMsR0FBR0MsT0FBU0EsSUFBSSxDQUFDLEVBQUUifQ==