tnp 16.5.25 → 16.5.27

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 (96) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/bin/start.js +2 -2
  3. package/bin/t +1 -1
  4. package/bin/t-debug +1 -1
  5. package/bin/t-debug-brk +1 -1
  6. package/bin/tnp +1 -1
  7. package/bin/tnp-debug +1 -1
  8. package/bin/tnp-debug-brk +1 -1
  9. package/browser/esm2022/lib/build-options.mjs +13 -1
  10. package/browser/esm2022/lib/constants.mjs +7 -1
  11. package/browser/esm2022/lib/models.mjs +1 -1
  12. package/browser/esm2022/lib/project/abstract/project.mjs +45 -20
  13. package/browser/fesm2022/tnp.mjs +62 -19
  14. package/browser/fesm2022/tnp.mjs.map +1 -1
  15. package/browser/lib/build-options.d.ts +4 -5
  16. package/browser/lib/constants.d.ts +1 -0
  17. package/browser/lib/models.d.ts +1 -1
  18. package/browser/lib/project/abstract/project.d.ts +3 -0
  19. package/cli.js +471 -395
  20. package/client/esm2022/lib/build-options.mjs +13 -1
  21. package/client/esm2022/lib/constants.mjs +7 -1
  22. package/client/esm2022/lib/models.mjs +1 -1
  23. package/client/esm2022/lib/project/abstract/project.mjs +45 -20
  24. package/client/fesm2022/tnp.mjs +62 -19
  25. package/client/fesm2022/tnp.mjs.map +1 -1
  26. package/client/lib/build-options.d.ts +4 -5
  27. package/client/lib/constants.d.ts +1 -0
  28. package/client/lib/models.d.ts +1 -1
  29. package/client/lib/project/abstract/project.d.ts +3 -0
  30. package/client/package.json +74 -68
  31. package/lib/build-options.d.ts +4 -5
  32. package/lib/build-options.js +16 -0
  33. package/lib/build-options.js.map +1 -1
  34. package/lib/constants.d.ts +1 -0
  35. package/lib/constants.js +6 -0
  36. package/lib/constants.js.map +1 -1
  37. package/lib/models.d.ts +1 -1
  38. package/lib/project/abstract/project.d.ts +3 -0
  39. package/lib/project/abstract/project.js +189 -142
  40. package/lib/project/abstract/project.js.map +1 -1
  41. package/lib/project/cli/cli-ELECTRON.backend.js +2 -10
  42. package/lib/project/cli/cli-ELECTRON.backend.js.map +1 -1
  43. package/lib/project/cli/cli-OPEN.backend.js +9 -1
  44. package/lib/project/cli/cli-OPEN.backend.js.map +1 -1
  45. package/lib/project/cli/cli-_GLOBAL_.backend.js +53 -50
  46. package/lib/project/cli/cli-_GLOBAL_.backend.js.map +1 -1
  47. package/lib/project/compilers/build-isomorphic-lib/code-cut/browser-code-cut.backend.js +1 -2
  48. package/lib/project/compilers/build-isomorphic-lib/code-cut/browser-code-cut.backend.js.map +1 -1
  49. package/lib/project/compilers/build-isomorphic-lib/compilations/compilation-backend.backend.js +1 -2
  50. package/lib/project/compilers/build-isomorphic-lib/compilations/compilation-backend.backend.js.map +1 -1
  51. package/lib/project/features/files-recreation/files-recreator.d.ts +2 -1
  52. package/lib/project/features/files-recreation/files-recreator.js +3 -4
  53. package/lib/project/features/files-recreation/files-recreator.js.map +1 -1
  54. package/lib/project/features/files-recreation/files-structure.backend.d.ts +1 -1
  55. package/lib/project/features/files-recreation/files-structure.backend.js +15 -18
  56. package/lib/project/features/files-recreation/files-structure.backend.js.map +1 -1
  57. package/lib/project/features/inside-structures/inside-structures.d.ts +2 -2
  58. package/lib/project/features/inside-structures/inside-structures.js +6 -3
  59. package/lib/project/features/inside-structures/inside-structures.js.map +1 -1
  60. package/lib/project/features/inside-structures/structs/inside-struct-angular13-app.js +8 -2
  61. package/lib/project/features/inside-structures/structs/inside-struct-angular13-app.js.map +1 -1
  62. package/lib/project/features/inside-structures/structs/inside-struct-helpers.js +1 -1
  63. package/lib/project/features/inside-structures/structs/inside-struct-helpers.js.map +1 -1
  64. package/lib/project/features/lib-project/lib-project-smart-container.backend.js +1 -2
  65. package/lib/project/features/lib-project/lib-project-smart-container.backend.js.map +1 -1
  66. package/lib/project/features/lib-project/lib-project-standalone.backend.js +1 -2
  67. package/lib/project/features/lib-project/lib-project-standalone.backend.js.map +1 -1
  68. package/lib/project/features/lib-project/lib-project-vscode-ext.js +2 -3
  69. package/lib/project/features/lib-project/lib-project-vscode-ext.js.map +1 -1
  70. package/lib/project/features/node-modules/node-modules-base.backend.js +1 -2
  71. package/lib/project/features/node-modules/node-modules-base.backend.js.map +1 -1
  72. package/lib/project/features/node-modules/node-modules-helpers.backend.js +4 -5
  73. package/lib/project/features/node-modules/node-modules-helpers.backend.js.map +1 -1
  74. package/lib/project/features/package-json/package-json-core.backend.d.ts +1 -1
  75. package/lib/project/features/package-json/package-json-core.backend.js +1 -4
  76. package/lib/project/features/package-json/package-json-core.backend.js.map +1 -1
  77. package/lib/project/features/package-json/package-json-file.js +7 -3
  78. package/lib/project/features/package-json/package-json-file.js.map +1 -1
  79. package/lib/project/features/singular-build.backend.js.map +1 -1
  80. package/lib/project/features/smart-node-modules.backend.js +2 -3
  81. package/lib/project/features/smart-node-modules.backend.js.map +1 -1
  82. package/lib/project/features/webpack-backend-compilation.backend.js +1 -2
  83. package/lib/project/features/webpack-backend-compilation.backend.js.map +1 -1
  84. package/package.json +40 -38
  85. package/package.json_tnp.json5 +35 -34
  86. package/tmp-environment.json +78 -72
  87. package/websql/esm2022/lib/build-options.mjs +13 -1
  88. package/websql/esm2022/lib/constants.mjs +7 -1
  89. package/websql/esm2022/lib/models.mjs +1 -1
  90. package/websql/esm2022/lib/project/abstract/project.mjs +45 -20
  91. package/websql/fesm2022/tnp.mjs +62 -19
  92. package/websql/fesm2022/tnp.mjs.map +1 -1
  93. package/websql/lib/build-options.d.ts +4 -5
  94. package/websql/lib/constants.d.ts +1 -0
  95. package/websql/lib/models.d.ts +1 -1
  96. package/websql/lib/project/abstract/project.d.ts +3 -0
@@ -1,6 +1,6 @@
1
1
  THIS FILE IS GENERATED. THIS FILE IS GENERATED. THIS FILE IS GENERATED.
2
2
 
3
- Assets from this folder are being shipped with this npm package (tnp@16.5.25)
3
+ Assets from this folder are being shipped with this npm package (tnp@16.5.27)
4
4
  created from this project.
5
5
 
6
6
  THIS FILE IS GENERATED.THIS FILE IS GENERATED. THIS FILE IS GENERATED.
package/bin/start.js CHANGED
@@ -1,5 +1,4 @@
1
1
  //#region @backend
2
-
3
2
  //#region quick fixes
4
3
  Error.stackTraceLimit = 100;
5
4
  global.i0 = {
@@ -83,6 +82,7 @@ if (verbose || frameworkName === 'tnp' || global.skipCoreCheck) {
83
82
 
84
83
  const path = require('path');
85
84
 
85
+
86
86
  if (procType === 'child-of-root') {
87
87
  global.spinner = {
88
88
  start() {
@@ -176,7 +176,7 @@ if (startSpinner) {
176
176
 
177
177
  // global.start = start;
178
178
  process.argv = process.argv.filter(f => !!f);
179
- start(process.argv?.slice(2), global.frameworkName, mode);
179
+ start(process.argv, global.frameworkName, mode);
180
180
  //#endregion
181
181
  }
182
182
 
package/bin/t CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node --no-deprecation
2
2
  //#region @backend
3
3
  // --stack-trace-limit=10000
4
4
  require('./start');
package/bin/t-debug CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env -S node --inspect --stack-trace-limit=10000
1
+ #!/usr/bin/env -S node --inspect --stack-trace-limit=10000 --no-deprecation
2
2
  //#region @backend
3
3
  // --stack-trace-limit=10000
4
4
  require('./start');
package/bin/t-debug-brk CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env -S node --inspect-brk --stack-trace-limit=10000
1
+ #!/usr/bin/env -S node --inspect-brk --stack-trace-limit=10000 --no-deprecation
2
2
  //#region @backend
3
3
  require('./start');
4
4
  //#endregion
package/bin/tnp CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node --no-deprecation
2
2
  //#region @backend
3
3
  // --stack-trace-limit=10000
4
4
  require('./start');
package/bin/tnp-debug CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env -S node --inspect --stack-trace-limit=10000
1
+ #!/usr/bin/env -S node --inspect --stack-trace-limit=10000 --no-deprecation
2
2
  //#region @backend
3
3
  // --stack-trace-limit=10000
4
4
  require('./start');
package/bin/tnp-debug-brk CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env -S node --inspect-brk --stack-trace-limit=10000
1
+ #!/usr/bin/env -S node --inspect-brk --stack-trace-limit=10000 --no-deprecation
2
2
  //#region @backend
3
3
  require('./start');
4
4
  //#endregion
@@ -38,6 +38,18 @@ export class BuildOptions extends BuildOptionsLibOrApp {
38
38
  this.outDir = 'dist';
39
39
  this.targetApp = 'pwa';
40
40
  }
41
+ /**
42
+ * Skip project process for assigning automatic ports
43
+ */
44
+ get skipProjectProcess() {
45
+ if (process.platform === 'darwin') {
46
+ return true; // TODO QUICK_FIX @LAST
47
+ }
48
+ return this._skipProjectProcess;
49
+ }
50
+ set skipProjectProcess(value) {
51
+ this._skipProjectProcess = value;
52
+ }
41
53
  static from(options) {
42
54
  return from(options, BuildOptions);
43
55
  }
@@ -66,4 +78,4 @@ function from(options, classFn) {
66
78
  }
67
79
  ;
68
80
  ({}); // @--end-of-file-for-module=tnp lib/build-options.ts
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC9wcm9qZWN0cy90bnAvc3JjL2xpYi9idWlsZC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBYyxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUlqRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHekQsTUFBTSxVQUFVO0lBS2QsZ0JBQTBCLENBQUM7SUFFcEIsS0FBSyxDQUFDLFFBQW9CO1FBQy9CLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUU5RSxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLG9CQUF3QixTQUFRLFVBQWE7Q0FZbEQ7QUFJRCxNQUFNLE9BQU8sVUFBVyxTQUFRLFVBQXNCO0NBRXJEO0FBSUQsTUFBTSxPQUFPLFdBQVksU0FBUSxVQUF1QjtJQUV0RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBY00sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUE2QjtRQUM5QyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBSUQsTUFBTSxPQUFPLFlBQWEsU0FBUSxvQkFBa0M7SUFHbEUsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQztJQUNsRSxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBSSw2QkFBNkI7UUFDbkMsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFxQ00sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUE2RDtRQUM5RSxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNGO0FBSUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxvQkFBb0M7SUFFdEU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUEwQk0sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFnQztRQUNqRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBSUQsU0FBUyxJQUFJLENBQUMsT0FBNkQsRUFBRSxPQUFpQjtJQUM1RixNQUFNLGlCQUFpQixHQUFHLE9BQU8sRUFBRSxjQUFjLENBQUM7SUFDbEQsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBUSxDQUFDO0lBQzFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSyxPQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbEUsSUFBSSxpQkFBaUIsRUFBRTtRQUNyQixHQUFHLENBQUMsY0FBYyxHQUFHLGlCQUFpQixDQUFDO0tBQ3hDO1NBQU07UUFDTCxHQUFHLENBQUMsY0FBYyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtLQUMvQjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscURBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IENvcmVNb2RlbHMsIF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gJy4vcHJvamVjdC9hYnN0cmFjdC9wcm9qZWN0JztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBDTEFTUyB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9icm93c2VyJztcblxuXG5jbGFzcyBTeXN0ZW1UYXNrPFQ+IHtcbiAgLyoqXG4gICAqIHdhdGNoIGJ1aWxkXG4gICAqL1xuICB3YXRjaDogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkgeyB9XG4gIGZpbmlzaENhbGxiYWNrOiAoKSA9PiBhbnk7XG4gIHB1YmxpYyBjbG9uZShvdmVycmlkZTogUGFydGlhbDxUPik6IFQge1xuICAgIGNvbnN0IGNsYXNzRm4gPSBDTEFTUy5nZXRGcm9tT2JqZWN0KHRoaXMpO1xuICAgIGNvbnN0IHJlc3VsdCA9IF8ubWVyZ2UobmV3IChjbGFzc0ZuKSgpLCBfLm1lcmdlKF8uY2xvbmVEZWVwKHRoaXMpLCBvdmVycmlkZSkpO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuXG5jbGFzcyBCdWlsZE9wdGlvbnNMaWJPckFwcDxUPiBleHRlbmRzIFN5c3RlbVRhc2s8VD4ge1xuICBjbGlCdWlsZE5vRHRzOiBib29sZWFuO1xuICBjbGlCdWlsZFVnbGlmeTogYm9vbGVhbjtcbiAgY2xpQnVpbGRPYnNjdXJlOiBib29sZWFuO1xuICBjbGlCdWlsZEluY2x1ZGVOb2RlTW9kdWxlczogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVuYWJsZSBhbGwgcHJvZHVjdGlvbiBvcHRpbWFsaXphdGlvbiBmb3IgYnVpbGRcbiAgICogLSBtaW5pZmljYXRpb25cbiAgICogLSBjYWNoZXNcbiAgICogZXRjLlxuICAgKi9cbiAgcHJvZDogYm9vbGVhbjtcbn1cblxuXG5cbmV4cG9ydCBjbGFzcyBOZXdPcHRpb25zIGV4dGVuZHMgU3lzdGVtVGFzazxOZXdPcHRpb25zPiB7XG4gIGJyYW5kaW5nOiBib29sZWFuO1xufVxuXG5cblxuZXhwb3J0IGNsYXNzIEluaXRPcHRpb25zIGV4dGVuZHMgU3lzdGVtVGFzazxJbml0T3B0aW9ucz4ge1xuICByZWFkb25seSBhbHJlYWR5SW5pdGVkUG9yamVjdHM6IFByb2plY3RbXTtcbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWxyZWFkeUluaXRlZFBvcmplY3RzID0gW107XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHJlY3J1c2l2ZTogYm9vbGVhbjtcbiAgaW5pdGlhdG9yOiBQcm9qZWN0O1xuICAvKipcbiAgICogaW5pdCBvbmx5IHN0cnVjdHJlIHdpdGhvdXQgZGVwc1xuICAgKi9cbiAgc3RydWN0OiBib29sZWFuO1xuICB3ZWJzcWw6IGJvb2xlYW47XG4gIGJyYW5kaW5nOiBib29sZWFuO1xuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbShvcHRpb25zOiBQYXJ0aWFsPEluaXRPcHRpb25zPik6IEluaXRPcHRpb25zIHtcbiAgICByZXR1cm4gZnJvbShvcHRpb25zLCBJbml0T3B0aW9ucyk7XG4gIH1cbn1cblxuXG5cbmV4cG9ydCBjbGFzcyBCdWlsZE9wdGlvbnMgZXh0ZW5kcyBCdWlsZE9wdGlvbnNMaWJPckFwcDxCdWlsZE9wdGlvbnM+IHtcbiAgcmVhZG9ubHkgb3V0RGlyOiAnZGlzdCc7XG4gIHJlYWRvbmx5IHRhcmdldEFwcDogJ3B3YScgfCAnZWxlY3Ryb24nO1xuICBnZXQgYXBwQnVpbGQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRUeXBlID09PSAnYXBwJyB8fCB0aGlzLmJ1aWxkVHlwZSA9PT0gJ2xpYi1hcHAnO1xuICB9XG4gIGdldCBsaWJCdWlsZCgpIHtcbiAgICByZXR1cm4gdGhpcy5idWlsZFR5cGUgPT09ICdsaWInIHx8IHRoaXMuYnVpbGRUeXBlID09PSAnbGliLWFwcCc7XG4gIH1cblxuICBnZXQgdGVtcG9yYXJ5U3JjRm9yUmVsZWFzZUN1dENvZGUoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5vdXREaXIgPSAnZGlzdCc7XG4gICAgdGhpcy50YXJnZXRBcHAgPSAncHdhJztcbiAgfVxuICAvKipcbiAgICpcbiAgICovXG4gIHdlYnNxbDogYm9vbGVhbjtcbiAgYnVpbGRUeXBlOiAnbGliJyB8ICdhcHAnIHwgJ2xpYi1hcHAnO1xuICAvKipcbiAgICogU2tpcCBwcm9qZWN0IHByb2Nlc3MgZm9yIGFzc2lnbmluZyBhdXRvbWF0aWMgcG9ydHNcbiAgICovXG4gIHNraXBQcm9qZWN0UHJvY2VzczogYm9vbGVhbjtcbiAgLyoqXG4gICAqIGJ1aWxkIGV4ZWN1dGVkIGRydXJpbmcgbGliIHJlbGVhc2VcbiAgICovXG4gIGJ1aWxkRm9yUmVsZWFzZTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIGJ1aWxkIG9uIHJlbW90ZSBzZXJ2ZXIgKHVzZXIgY2Fubm90IGludGVyZmVyZSB3aXRoIGNvbnNvbGUpXG4gICAqL1xuICBjaTogYm9vbGVhbjtcbiAgYmFzZUhyZWY6IHN0cmluZztcbiAgLyoqXG4gICAqIEN1dCA8QD5ub3RGb3JOcG0gIHRhZyBmcm9tIGxpYiBidWlsZFxuICAgKi9cbiAgY3V0TnBtUHVibGlzaExpYlJlbGVhc2VDb2RlOiBib29sZWFuO1xuICAvKipcbiAqIERvIG5vdCBnZW5lcmF0ZSBiYWNrZW5kIGNvZGVcbiAqL1xuICBnZW5Pbmx5Q2xpZW50Q29kZTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEdlbmVyYXRlIG9ubHkgYmFja2VuZCwgd2l0aG91dCBicm93c2VyIHZlcnNpb25cbiAgICovXG4gIG9ubHlCYWNrZW5kOiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9uYWxseSB3ZSBjYW4gc3RhcnQgYnVpbGQgb2Ygc21hcnQgY29udGFpbmVyXG4gICAqIHdpdGggZGlmZmVyZW50IGFwcFxuICAgKi9cbiAgc21hcnRDb250YWluZXJUYXJnZXROYW1lOiBzdHJpbmc7XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tKG9wdGlvbnM6IE9taXQ8UGFydGlhbDxCdWlsZE9wdGlvbnM+LCAnYXBwQnVpbGQnIHwgJ3NlcnZlQXBwJz4pOiBCdWlsZE9wdGlvbnMge1xuICAgIHJldHVybiBmcm9tKG9wdGlvbnMsIEJ1aWxkT3B0aW9ucyk7XG4gIH1cbn1cblxuXG5cbmV4cG9ydCBjbGFzcyBSZWxlYXNlT3B0aW9ucyBleHRlbmRzIEJ1aWxkT3B0aW9uc0xpYk9yQXBwPFJlbGVhc2VPcHRpb25zPiB7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucmVsZWFzZVR5cGUgPSAncGF0Y2gnO1xuICAgIHRoaXMucmVzb2x2ZWQgPSBbXTtcbiAgfVxuICByZWxlYXNlVHlwZTogQ29yZU1vZGVscy5SZWxlYXNlVHlwZTtcbiAgc2hvdWxkUmVsZWFzZUxpYnJhcnk6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBidWlsZCBhY3Rpb24gb25seSBmb3Igc3BlY3lmaWMgZnJhbWV3b3JrIHZlcnNpb24gb2YgcHJvaGVjdFxuICAgKi9cbiAgZnJhbWV3b3JrVmVyc2lvbjogQ29yZU1vZGVscy5GcmFtZXdvcmtWZXJzaW9uO1xuICBza2lwUHJvamVjdFByb2Nlc3M6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQcm9qZWN0cyB0byByZWxlYXNlIGluIGNvbnRhaW5lclxuICAgKi9cbiAgcmVzb2x2ZWQ6IFByb2plY3RbXTtcbiAgLyoqXG4gICAqIHF1aWNrIGF1dG9tYXRpYyByZWxlYXNlIG9mIGxpYlxuICAgKi9cbiAgYXV0b21hdGljUmVsZWFzZTogYm9vbGVhbjtcbiAgLyoqXG4gICogcXVpY2sgYXV0b21hdGljIHJlbGVhc2Ugb2YgZG9jcyBhcHAocylcbiAgKi9cbiAgYXV0b21hdGljUmVsZWFzZURvY3M6IGJvb2xlYW47XG4gIGJ1bWJWZXJzaW9uSW46IHN0cmluZ1tdO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHNwZWNpZmllZFZlcnNpb246IHN0cmluZztcbiAgcmVsZWFzZVRhcmdldDogJ2xpYicgfCAnYXBwJyB8ICdsaWItYXBwJztcbiAgcHVibGljIHN0YXRpYyBmcm9tKG9wdGlvbnM6IFBhcnRpYWw8UmVsZWFzZU9wdGlvbnM+KTogUmVsZWFzZU9wdGlvbnMge1xuICAgIHJldHVybiBmcm9tKG9wdGlvbnMsIFJlbGVhc2VPcHRpb25zKTtcbiAgfVxufVxuXG5cblxuZnVuY3Rpb24gZnJvbShvcHRpb25zOiBQYXJ0aWFsPEluaXRPcHRpb25zIHwgQnVpbGRPcHRpb25zIHwgUmVsZWFzZU9wdGlvbnM+LCBjbGFzc0ZuOiBGdW5jdGlvbikge1xuICBjb25zdCBvcmdGaW5pc2hDYWxsYmFjayA9IG9wdGlvbnM/LmZpbmlzaENhbGxiYWNrO1xuICBvcHRpb25zID0gKG9wdGlvbnMgPyBvcHRpb25zIDoge30pIGFzIGFueTtcbiAgY29uc3QgcmVzID0gXy5tZXJnZShuZXcgKGNsYXNzRm4gYXMgYW55KSgpLCBfLmNsb25lRGVlcChvcHRpb25zKSk7XG4gIGlmIChvcmdGaW5pc2hDYWxsYmFjaykge1xuICAgIHJlcy5maW5pc2hDYWxsYmFjayA9IG9yZ0ZpbmlzaENhbGxiYWNrO1xuICB9IGVsc2Uge1xuICAgIHJlcy5maW5pc2hDYWxsYmFjayA9ICgpID0+IHsgfVxuICB9XG4gIHJldHVybiByZXM7XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAgbGliL2J1aWxkLW9wdGlvbnMudHMiXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC9wcm9qZWN0cy90bnAvc3JjL2xpYi9idWlsZC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBYyxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUlqRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHekQsTUFBTSxVQUFVO0lBS2QsZ0JBQTBCLENBQUM7SUFFcEIsS0FBSyxDQUFDLFFBQW9CO1FBQy9CLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUU5RSxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLG9CQUF3QixTQUFRLFVBQWE7Q0FZbEQ7QUFJRCxNQUFNLE9BQU8sVUFBVyxTQUFRLFVBQXNCO0NBRXJEO0FBSUQsTUFBTSxPQUFPLFdBQVksU0FBUSxVQUF1QjtJQUV0RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBVU0sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUE2QjtRQUM5QyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBSUQsTUFBTSxPQUFPLFlBQWEsU0FBUSxvQkFBa0M7SUFHbEUsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQztJQUNsRSxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBSSw2QkFBNkI7UUFDbkMsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFPRDs7T0FFRztJQUNILElBQUksa0JBQWtCO1FBQ3BCLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUMsQ0FBQyx1QkFBdUI7U0FDckM7UUFDRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLO1FBQzFCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQTRCTSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQTZEO1FBQzlFLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFJRCxNQUFNLE9BQU8sY0FBZSxTQUFRLG9CQUFvQztJQUV0RTtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQTBCTSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQWdDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUFJRCxTQUFTLElBQUksQ0FBQyxPQUE2RCxFQUFFLE9BQWlCO0lBQzVGLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxFQUFFLGNBQWMsQ0FBQztJQUNsRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFRLENBQUM7SUFDMUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFLLE9BQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNsRSxJQUFJLGlCQUFpQixFQUFFO1FBQ3JCLEdBQUcsQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLENBQUM7S0FDeEM7U0FBTTtRQUNMLEdBQUcsQ0FBQyxjQUFjLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0tBQy9CO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxxREFBcUQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgQ29yZU1vZGVscywgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSAnLi9wcm9qZWN0L2Fic3RyYWN0L3Byb2plY3QnO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAndG5wLWNvbmZpZy9icm93c2VyJztcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IENMQVNTIH0gZnJvbSAndHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL2Jyb3dzZXInO1xuXG5cbmNsYXNzIFN5c3RlbVRhc2s8VD4ge1xuICAvKipcbiAgICogd2F0Y2ggYnVpbGRcbiAgICovXG4gIHdhdGNoOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7IH1cbiAgZmluaXNoQ2FsbGJhY2s6ICgpID0+IGFueTtcbiAgcHVibGljIGNsb25lKG92ZXJyaWRlOiBQYXJ0aWFsPFQ+KTogVCB7XG4gICAgY29uc3QgY2xhc3NGbiA9IENMQVNTLmdldEZyb21PYmplY3QodGhpcyk7XG4gICAgY29uc3QgcmVzdWx0ID0gXy5tZXJnZShuZXcgKGNsYXNzRm4pKCksIF8ubWVyZ2UoXy5jbG9uZURlZXAodGhpcyksIG92ZXJyaWRlKSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG5cbmNsYXNzIEJ1aWxkT3B0aW9uc0xpYk9yQXBwPFQ+IGV4dGVuZHMgU3lzdGVtVGFzazxUPiB7XG4gIGNsaUJ1aWxkTm9EdHM6IGJvb2xlYW47XG4gIGNsaUJ1aWxkVWdsaWZ5OiBib29sZWFuO1xuICBjbGlCdWlsZE9ic2N1cmU6IGJvb2xlYW47XG4gIGNsaUJ1aWxkSW5jbHVkZU5vZGVNb2R1bGVzOiBib29sZWFuO1xuICAvKipcbiAgICogRW5hYmxlIGFsbCBwcm9kdWN0aW9uIG9wdGltYWxpemF0aW9uIGZvciBidWlsZFxuICAgKiAtIG1pbmlmaWNhdGlvblxuICAgKiAtIGNhY2hlc1xuICAgKiBldGMuXG4gICAqL1xuICBwcm9kOiBib29sZWFuO1xufVxuXG5cblxuZXhwb3J0IGNsYXNzIE5ld09wdGlvbnMgZXh0ZW5kcyBTeXN0ZW1UYXNrPE5ld09wdGlvbnM+IHtcbiAgYnJhbmRpbmc6IGJvb2xlYW47XG59XG5cblxuXG5leHBvcnQgY2xhc3MgSW5pdE9wdGlvbnMgZXh0ZW5kcyBTeXN0ZW1UYXNrPEluaXRPcHRpb25zPiB7XG4gIHJlYWRvbmx5IGFscmVhZHlJbml0ZWRQb3JqZWN0czogUHJvamVjdFtdO1xuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hbHJlYWR5SW5pdGVkUG9yamVjdHMgPSBbXTtcbiAgfVxuICBvbWl0Q2hpbGRyZW46IGJvb2xlYW47XG4gIGluaXRpYXRvcjogUHJvamVjdDtcbiAgLyoqXG4gICAqIGluaXQgb25seSBzdHJ1Y3RyZSB3aXRob3V0IGRlcHNcbiAgICovXG4gIHN0cnVjdDogYm9vbGVhbjtcbiAgd2Vic3FsOiBib29sZWFuO1xuICBicmFuZGluZzogYm9vbGVhbjtcblxuICBwdWJsaWMgc3RhdGljIGZyb20ob3B0aW9uczogUGFydGlhbDxJbml0T3B0aW9ucz4pOiBJbml0T3B0aW9ucyB7XG4gICAgcmV0dXJuIGZyb20ob3B0aW9ucywgSW5pdE9wdGlvbnMpO1xuICB9XG59XG5cblxuXG5leHBvcnQgY2xhc3MgQnVpbGRPcHRpb25zIGV4dGVuZHMgQnVpbGRPcHRpb25zTGliT3JBcHA8QnVpbGRPcHRpb25zPiB7XG4gIHJlYWRvbmx5IG91dERpcjogJ2Rpc3QnO1xuICByZWFkb25seSB0YXJnZXRBcHA6ICdwd2EnIHwgJ2VsZWN0cm9uJztcbiAgZ2V0IGFwcEJ1aWxkKCkge1xuICAgIHJldHVybiB0aGlzLmJ1aWxkVHlwZSA9PT0gJ2FwcCcgfHwgdGhpcy5idWlsZFR5cGUgPT09ICdsaWItYXBwJztcbiAgfVxuICBnZXQgbGliQnVpbGQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRUeXBlID09PSAnbGliJyB8fCB0aGlzLmJ1aWxkVHlwZSA9PT0gJ2xpYi1hcHAnO1xuICB9XG5cbiAgZ2V0IHRlbXBvcmFyeVNyY0ZvclJlbGVhc2VDdXRDb2RlKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMub3V0RGlyID0gJ2Rpc3QnO1xuICAgIHRoaXMudGFyZ2V0QXBwID0gJ3B3YSc7XG4gIH1cbiAgLyoqXG4gICAqXG4gICAqL1xuICB3ZWJzcWw6IGJvb2xlYW47XG4gIGJ1aWxkVHlwZTogJ2xpYicgfCAnYXBwJyB8ICdsaWItYXBwJztcbiAgcHJpdmF0ZSBfc2tpcFByb2plY3RQcm9jZXNzOiBib29sZWFuO1xuICAvKipcbiAgICogU2tpcCBwcm9qZWN0IHByb2Nlc3MgZm9yIGFzc2lnbmluZyBhdXRvbWF0aWMgcG9ydHNcbiAgICovXG4gIGdldCBza2lwUHJvamVjdFByb2Nlc3MoKSB7XG4gICAgaWYgKHByb2Nlc3MucGxhdGZvcm0gPT09ICdkYXJ3aW4nKSB7XG4gICAgICByZXR1cm4gdHJ1ZTsgLy8gVE9ETyBRVUlDS19GSVggQExBU1RcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3NraXBQcm9qZWN0UHJvY2VzcztcbiAgfVxuICBzZXQgc2tpcFByb2plY3RQcm9jZXNzKHZhbHVlKSB7XG4gICAgdGhpcy5fc2tpcFByb2plY3RQcm9jZXNzID0gdmFsdWU7XG4gIH1cbiAgLyoqXG4gICAqIGJ1aWxkIGV4ZWN1dGVkIGRydXJpbmcgbGliIHJlbGVhc2VcbiAgICovXG4gIGJ1aWxkRm9yUmVsZWFzZTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIGJ1aWxkIG9uIHJlbW90ZSBzZXJ2ZXIgKHVzZXIgY2Fubm90IGludGVyZmVyZSB3aXRoIGNvbnNvbGUpXG4gICAqL1xuICBjaTogYm9vbGVhbjtcbiAgYmFzZUhyZWY6IHN0cmluZztcbiAgLyoqXG4gICAqIEN1dCA8QD5ub3RGb3JOcG0gIHRhZyBmcm9tIGxpYiBidWlsZFxuICAgKi9cbiAgY3V0TnBtUHVibGlzaExpYlJlbGVhc2VDb2RlOiBib29sZWFuO1xuICAvKipcbiAqIERvIG5vdCBnZW5lcmF0ZSBiYWNrZW5kIGNvZGVcbiAqL1xuICBnZW5Pbmx5Q2xpZW50Q29kZTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEdlbmVyYXRlIG9ubHkgYmFja2VuZCwgd2l0aG91dCBicm93c2VyIHZlcnNpb25cbiAgICovXG4gIG9ubHlCYWNrZW5kOiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9uYWxseSB3ZSBjYW4gc3RhcnQgYnVpbGQgb2Ygc21hcnQgY29udGFpbmVyXG4gICAqIHdpdGggZGlmZmVyZW50IGFwcFxuICAgKi9cbiAgc21hcnRDb250YWluZXJUYXJnZXROYW1lOiBzdHJpbmc7XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tKG9wdGlvbnM6IE9taXQ8UGFydGlhbDxCdWlsZE9wdGlvbnM+LCAnYXBwQnVpbGQnIHwgJ3NlcnZlQXBwJz4pOiBCdWlsZE9wdGlvbnMge1xuICAgIHJldHVybiBmcm9tKG9wdGlvbnMsIEJ1aWxkT3B0aW9ucyk7XG4gIH1cbn1cblxuXG5cbmV4cG9ydCBjbGFzcyBSZWxlYXNlT3B0aW9ucyBleHRlbmRzIEJ1aWxkT3B0aW9uc0xpYk9yQXBwPFJlbGVhc2VPcHRpb25zPiB7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucmVsZWFzZVR5cGUgPSAncGF0Y2gnO1xuICAgIHRoaXMucmVzb2x2ZWQgPSBbXTtcbiAgfVxuICByZWxlYXNlVHlwZTogQ29yZU1vZGVscy5SZWxlYXNlVHlwZTtcbiAgc2hvdWxkUmVsZWFzZUxpYnJhcnk6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBidWlsZCBhY3Rpb24gb25seSBmb3Igc3BlY3lmaWMgZnJhbWV3b3JrIHZlcnNpb24gb2YgcHJvaGVjdFxuICAgKi9cbiAgZnJhbWV3b3JrVmVyc2lvbjogQ29yZU1vZGVscy5GcmFtZXdvcmtWZXJzaW9uO1xuICBza2lwUHJvamVjdFByb2Nlc3M6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQcm9qZWN0cyB0byByZWxlYXNlIGluIGNvbnRhaW5lclxuICAgKi9cbiAgcmVzb2x2ZWQ6IFByb2plY3RbXTtcbiAgLyoqXG4gICAqIHF1aWNrIGF1dG9tYXRpYyByZWxlYXNlIG9mIGxpYlxuICAgKi9cbiAgYXV0b21hdGljUmVsZWFzZTogYm9vbGVhbjtcbiAgLyoqXG4gICogcXVpY2sgYXV0b21hdGljIHJlbGVhc2Ugb2YgZG9jcyBhcHAocylcbiAgKi9cbiAgYXV0b21hdGljUmVsZWFzZURvY3M6IGJvb2xlYW47XG4gIGJ1bWJWZXJzaW9uSW46IHN0cmluZ1tdO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHNwZWNpZmllZFZlcnNpb246IHN0cmluZztcbiAgcmVsZWFzZVRhcmdldDogJ2xpYicgfCAnYXBwJyB8ICdsaWItYXBwJztcbiAgcHVibGljIHN0YXRpYyBmcm9tKG9wdGlvbnM6IFBhcnRpYWw8UmVsZWFzZU9wdGlvbnM+KTogUmVsZWFzZU9wdGlvbnMge1xuICAgIHJldHVybiBmcm9tKG9wdGlvbnMsIFJlbGVhc2VPcHRpb25zKTtcbiAgfVxufVxuXG5cblxuZnVuY3Rpb24gZnJvbShvcHRpb25zOiBQYXJ0aWFsPEluaXRPcHRpb25zIHwgQnVpbGRPcHRpb25zIHwgUmVsZWFzZU9wdGlvbnM+LCBjbGFzc0ZuOiBGdW5jdGlvbikge1xuICBjb25zdCBvcmdGaW5pc2hDYWxsYmFjayA9IG9wdGlvbnM/LmZpbmlzaENhbGxiYWNrO1xuICBvcHRpb25zID0gKG9wdGlvbnMgPyBvcHRpb25zIDoge30pIGFzIGFueTtcbiAgY29uc3QgcmVzID0gXy5tZXJnZShuZXcgKGNsYXNzRm4gYXMgYW55KSgpLCBfLmNsb25lRGVlcChvcHRpb25zKSk7XG4gIGlmIChvcmdGaW5pc2hDYWxsYmFjaykge1xuICAgIHJlcy5maW5pc2hDYWxsYmFjayA9IG9yZ0ZpbmlzaENhbGxiYWNrO1xuICB9IGVsc2Uge1xuICAgIHJlcy5maW5pc2hDYWxsYmFjayA9ICgpID0+IHsgfVxuICB9XG4gIHJldHVybiByZXM7XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAgbGliL2J1aWxkLW9wdGlvbnMudHMiXX0=
@@ -74,6 +74,12 @@ export class PortUtils {
74
74
  this.max = 20;
75
75
  this.n = ((basePort - (basePort % 1000)) / 1000);
76
76
  }
77
+ calculatePortForElectronDebugging(project) {
78
+ if (!project.__isIsomorphicLib) {
79
+ return;
80
+ }
81
+ return 9876 + this.n;
82
+ }
77
83
  calculateServerPortFor(project) {
78
84
  /* */
79
85
  /* */
@@ -176,4 +182,4 @@ export const ONLY_COPY_ALLOWED = [
176
182
  ];
177
183
  ;
178
184
  ({}); // @--end-of-file-for-module=tnp lib/constants.ts
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wL3Byb2plY3RzL3RucC9zcmMvbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsU0FBUyxDQUFDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQztBQUU1QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixTQUFTO0lBQ1QsYUFBYTtJQUNiLFNBQVM7SUFDVCxTQUFTO0lBQ1QsUUFBUTtJQUNSLFVBQVU7SUFDVixNQUFNO0lBQ04sU0FBUztJQUNULFlBQVk7SUFDWixVQUFVO0lBQ1Ysa0JBQWtCO0NBQ25CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsS0FBSyxDQUFDO0FBRzlDLE1BQU0sQ0FBQyxJQUFJLHVCQUErQixDQUFBO0FBQzFDLEtBQUs7QUFDTCxLQUFLO0FBSUwsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLFFBQVE7SUFDUixVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLDRCQUE0QjtJQUM1QixRQUFRO0lBQ1IsTUFBTTtJQUNOLFVBQVU7SUFDVixRQUFRO0lBQ1IsU0FBUztDQUNWLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyx3QkFBd0IsQ0FBQztBQUVsRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsbUJBQW1CLEVBQUUsSUFBSTtJQUN6QixnQkFBZ0IsRUFBRSxJQUFJ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SCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNoQixDQUFDO0NBRUY7QUFJRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxLQUFLO0lBQ0wsTUFBTTtJQUNOLE1BQU07SUFDTixLQUFLO0lBQ0wsS0FBSztJQUNMLFlBQVk7SUFDWixRQUFRO0lBQ1IsWUFBWTtJQUNaLFNBQVM7SUFDVCxRQUFRO0lBQ1IsVUFBVTtJQUNWLE1BQU07SUFDTixHQUFHO0NBQ0osQ0FBQTtBQUdELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUFjLEVBQUUsU0FBa0IsRUFBRSxNQUFlO0lBQ2xGLE9BQU8sV0FBVyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUE7QUFDaEYsQ0FBQztBQUdELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUN0QiwrQkFBK0IsRUFBRSxpR0FBaUc7Q0FDbkksQ0FBQTtBQUdELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLDJCQUEyQjtJQUMzQixnQkFBZ0I7SUFDaEIsTUFBTTtJQUNOLGVBQWU7Q0FDaEIsQ0FBQztBQUVELENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaURBQWlEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3QvYWJzdHJhY3QvcHJvamVjdFwiO1xuXG5pbXBvcnQgeyAgIGNyb3NzUGxhdGZvcm1QYXRoLCBwYXRoLCAvKiAqLyAvKiAqLyAgICB9IGZyb20gXCJ0bnAtY29yZS9icm93c2VyXCI7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cblxuZXhwb3J0IGNvbnN0IGZpcmVkZXZGcmFtZXdvcmtOYW1lID0gJ2ZpcmVkZXYnO1xuZXhwb3J0IGNvbnN0IG1vcnBoaUZyYW1ld29ya05hbWUgPSAnbW9ycGhpJztcblxuZXhwb3J0IGNvbnN0IE9WRVJSSURFX0ZST01fVE5QID0gW1xuICAnc2NyaXB0cycsXG4gICdkZXNjcmlwdGlvbicsXG4gICdsaWNlbnNlJyxcbiAgJ3ByaXZhdGUnLFxuICAnYXV0aG9yJyxcbiAgJ2hvbWVwYWdlJyxcbiAgJ21haW4nLFxuICAnZW5naW5lcycsXG4gICdjYXRlZ29yaWVzJyxcbiAgJ2tleXdvcmRzJyxcbiAgJ2FjdGl2YXRpb25FdmVudHMnLFxuXTtcblxuZXhwb3J0IGNvbnN0IFVOSVRfVEVTVF9USU1FT1VUID0gMzAwMDA7XG5leHBvcnQgY29uc3QgSU5URUdSQVRJT05fVEVTVF9USU1FT1VUID0gMzAwMDA7XG5cblxuZXhwb3J0IGxldCBtb3JwaGlQYXRoVXNlckluVXNlckRpcjogc3RyaW5nXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuZXhwb3J0IGNvbnN0IGFyZ3NUb0NsZWFyID0gW1xuICAnd2Vic3FsJyxcbiAgJ3NlcnZlQXBwJyxcbiAgJ3NraXBOb2RlTW9kdWxlcycsXG4gICdza2lwU21hcnRDb250YWluZXJEaXN0SW5pdCcsXG4gICdjb3B5dG8nLFxuICAncG9ydCcsXG4gICdicmFuZGluZycsXG4gICdzdHJ1Y3QnLFxuICAndmVyYm9zZScsXG5dO1xuXG5leHBvcnQgY29uc3QgZm9sZGVyX3NoYXJlZF9mb2xkZXJfaW5mbyA9ICdzaGFyZWRfZm9sZGVyX2luZm8udHh0JztcblxuZXhwb3J0IGNvbnN0IFRFTVBfRE9DUyA9ICd0bXAtZG9jdW1lbnRhdGlvbic7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BPUlQgPSB7XG4gIERJU1RfU0VSVkVSX0RPQ1M6IDQwMDAsXG4gIEFQUF9CVUlMRF9MT0NBTEhPU1Q6IDQyMDAsXG4gIFNFUlZFUl9MT0NBTEhPU1Q6IDQxOTksXG59XG5cbmV4cG9ydCBjb25zdCB0bXBCdWlsZFBvcnQgPSAndG1wLWJ1aWxkLXBvcnQnO1xuXG4vKipcbiAqXG4gKiBQb3J0cyBmb3I6XG4gICAgICBtYXggPSBtYXggaW5zdGFuY2VzID0gbWF4IGNvbnRhaW5lciBjaGlsZHMgPSAyMDtcbiAgICAgIG4gPSBmb2xkZXIgcHJvY2VzcyBidWlsZCBudW1iZXIgKHNlYXJjaGVzIGZvciBuZXcgcG9ydCBhbHdheXMpXG4gICAgICBpbmRleCA9IGNvbnRhaW5lciBwcm9qZWN0IGluZGV4IChjYW4ndCBleGNlZWRzIG1heClcblxuICAgICAgYnVpbGQgcHJvY2VzcyBzZXJ2aWNlIDQxMDAgPSA0MTAwICsgblxuXG4gICAgICBzdGFuZGFsb25lIHNlcnZlciA0NTAwID0gNDEwMCAgKyA0MDAgKyBuXG4gICAgICBjb250YWluZXJzIHNlcnZlcnMgNDYwMCA9IDQxMDAgICsgNTAwICsgbiAqIG1heCArIGluZGV4XG5cbiAgICAgIHN0YW5kYWxvbmUgbmcgc2VydmUgbm9ybWFsIDQzMDAgPSA0MTAwICArIDIwMCArIG5cbiAgICAgIHN0YW5kYWxvbmUgbmcgc2VydmUgd2Vic3FsIDQ0MDAgPSA0MTAwICArIDMwMCArIG5cblxuICAgICAgY29udGFpbmVyIG5nIHNlcnZlIG5vcm1hbCA0ODAwID0gNDEwMCAgKyA3MDAgKyBuICsgbWF4ICsgaW5kZXhcbiAgICAgIGNvbnRhaW5lciBuZyBzZXJ2ZSB3ZWJzcWwgNDkwMCA9IDQxMDAgICsgODAwICsgbiArIG1heCArIGluZGV4XG4gKlxuICogQHBhcmFtIGJhc2VQb3J0IDQxMDAgKyBuXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgY2xhc3MgUG9ydFV0aWxzIHtcbiAgc3RhdGljIGluc3RhbmNlKGJhc2VQb3J0OiBudW1iZXIpIHtcbiAgICByZXR1cm4gbmV3IFBvcnRVdGlscyhiYXNlUG9ydCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IG46IG51bWJlcjtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBiYXNlUG9ydDogbnVtYmVyLFxuICApIHtcbiAgICB0aGlzLm4gPSAoKGJhc2VQb3J0IC0gKGJhc2VQb3J0ICUgMTAwMCkpIC8gMTAwMCk7XG4gIH1cblxuICAvKipcbiAgICogbWF4IGNvbnRhaW5lciAgY2hpbGRzXG4gICAqL1xuICBwcml2YXRlIG1heCA9IDIwO1xuXG4gIGNhbGN1bGF0ZVNlcnZlclBvcnRGb3IocHJvamVjdDogUHJvamVjdCk6IG51bWJlciB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBjYWxjdWxhdGVDbGllbnRQb3J0Rm9yKHByb2plY3Q6IFByb2plY3QsIHsgd2Vic3FsIH06IHsgd2Vic3FsOiBib29sZWFuIH0pOiBudW1iZXIge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVGb3JTdGFuZGFsb25lU2VydmVyKCkge1xuICAgIGNvbnN0IGNsaWVudFN0YW5kYWxvbmVQb3J0ID0gdGhpcy5iYXNlUG9ydCArIDQwMCArIHRoaXMublxuICAgIHJldHVybiBjbGllbnRTdGFuZGFsb25lUG9ydDtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRm9yQ29udGFpbmVyU2VydmVyKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBjbGllbnRTbWFydENvbnRhaW5lckNoaWxkUG9ydCA9IHRoaXMuYmFzZVBvcnQgKyA1MDAgKyAodGhpcy5uICogdGhpcy5tYXgpICsgaW5kZXg7XG5cbiAgICByZXR1cm4gY2xpZW50U21hcnRDb250YWluZXJDaGlsZFBvcnQ7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUZvclN0YW5kYWxvbmVDbGllbnQoeyB3ZWJzcWwgfTogeyB3ZWJzcWw6IGJvb2xlYW4gfSkge1xuICAgIGNvbnN0IGNsaWVudFBvcnQgPSAodGhpcy5iYXNlUG9ydCArICh3ZWJzcWwgPyAzMDAgOiAyMDApKSArIHRoaXMubjtcbiAgICByZXR1cm4gY2xpZW50UG9ydDtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRm9yQ29udGFpbmVyQ2xpZW50KGluZGV4OiBudW1iZXIsIHsgd2Vic3FsIH06IHsgd2Vic3FsOiBib29sZWFuIH0pIHtcbiAgICBjb25zdCBjbGllbnRQb3J0ID0gKHRoaXMuYmFzZVBvcnQgKyAod2Vic3FsID8gODAwIDogNzAwKSkgKyB0aGlzLm4gKiB0aGlzLm1heCArIGluZGV4O1xuICAgIHJldHVybiBjbGllbnRQb3J0O1xuICB9XG5cblxuXG4gIGFwcEhvc3RUZW1wbGF0ZUZvcihwcm9qZWN0OiBQcm9qZWN0KSB7XG4gICAgY29uc3QgYmFja2VuZFBvcnQgPSB0aGlzLmNhbGN1bGF0ZVNlcnZlclBvcnRGb3IocHJvamVjdCk7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbn1cblxuXG5cbmV4cG9ydCBjb25zdCBub3RBbGxvd2VkUHJvamVjdE5hbWVzID0gW1xuICAnYXBwJyxcbiAgJ2FwcHMnLFxuICAnbGlicycsXG4gICdsaWInLFxuICAnc3JjJyxcbiAgJ21pZ3JhdGlvbnMnLFxuICAnYXNzZXRzJyxcbiAgJ2Fzc2V0cy1mb3InLFxuICAnYnJvd3NlcicsXG4gICd3ZWJzcWwnLFxuICAnY29tcGlsZWQnLFxuICAnZG9jcycsXG4gICdfJyxcbl1cblxuXG5leHBvcnQgZnVuY3Rpb24gdGVtcFNvdXJjZUZvbGRlcihvdXREaXI6ICdkaXN0JywgYXBwRm9yTGliOiBib29sZWFuLCB3ZWJzcWw6IGJvb2xlYW4pIHtcbiAgcmV0dXJuIGB0bXAtc3JjLSR7YXBwRm9yTGliID8gJ2FwcC0nIDogJyd9JHtvdXREaXJ9JHt3ZWJzcWwgPyAnLXdlYnNxbCcgOiAnJ31gXG59XG5cblxuZXhwb3J0IGNvbnN0IE1FU1NBR0VTID0ge1xuICBTSFVUX0RPV05fRk9MREVSU19BTkRfREVCVUdHRVJTOiAnUGxlYXNlIHNodXQgZG93biB5b3VyIGNvZGUgZGVidWdnZXIgYW5kIGFueSBvcGVuIHdpbmRvd3MgZnJvbSBub2RlX21vZHVsZXMgYW5kIHByZXNzIGFueSBrZXkuLi4nXG59XG5cblxuZXhwb3J0IGNvbnN0IE9OTFlfQ09QWV9BTExPV0VEID0gW1xuICAnYmFja2dyb3VuZC13b3JrZXItcHJvY2VzcycsXG4gICdiZXR0ZXItc3FsaXRlMycsXG4gICcuYmluJyxcbiAgJy5pbnN0YWxsLWRhdGUnLFxuXTtcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucCBsaWIvY29uc3RhbnRzLnRzIl19
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wL3Byb2plY3RzL3RucC9zcmMvbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsU0FBUyxDQUFDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQztBQUU1QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixTQUFTO0lBQ1QsYUFBYTtJQUNiLFNBQVM7SUFDVCxTQUFTO0lBQ1QsUUFBUTtJQUNSLFVBQVU7SUFDVixNQUFNO0lBQ04sU0FBUztJQUNULFlBQVk7SUFDWixVQUFVO0lBQ1Ysa0JBQWtCO0NBQ25CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsS0FBSyxDQUFDO0FBRzlDLE1BQU0sQ0FBQyxJQUFJLHVCQUErQixDQUFBO0FBQzFDLEtBQUs7QUFDTCxLQUFLO0FBSUwsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLFFBQVE7SUFDUixVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLDRCQUE0QjtJQUM1QixRQUFRO0lBQ1IsTUFBTTtJQUNOLFVBQVU7SUFDVixRQUFRO0lBQ1IsU0FBUztDQUNWLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyx3QkFBd0IsQ0FBQztBQUVsRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsbUJBQW1CLEVBQUUsSUFBSTtJQUN6QixnQkFBZ0IsRUFBRSxJQUFJ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S0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNILE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FFRjtBQUlELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHO0lBQ3BDLEtBQUs7SUFDTCxNQUFNO0lBQ04sTUFBTTtJQUNOLEtBQUs7SUFDTCxLQUFLO0lBQ0wsWUFBWTtJQUNaLFFBQVE7SUFDUixZQUFZO0lBQ1osU0FBUztJQUNULFFBQVE7SUFDUixVQUFVO0lBQ1YsTUFBTTtJQUNOLEdBQUc7Q0FDSixDQUFBO0FBR0QsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWMsRUFBRSxTQUFrQixFQUFFLE1BQWU7SUFDbEYsT0FBTyxXQUFXLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQTtBQUNoRixDQUFDO0FBR0QsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3RCLCtCQUErQixFQUFFLGlHQUFpRztDQUNuSSxDQUFBO0FBR0QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsMkJBQTJCO0lBQzNCLGdCQUFnQjtJQUNoQixNQUFNO0lBQ04sZUFBZTtDQUNoQixDQUFDO0FBRUQsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpREFBaUQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4vcHJvamVjdC9hYnN0cmFjdC9wcm9qZWN0XCI7XG5cbmltcG9ydCB7ICAgY3Jvc3NQbGF0Zm9ybVBhdGgsIHBhdGgsIC8qICovIC8qICovICAgIH0gZnJvbSBcInRucC1jb3JlL2Jyb3dzZXJcIjsvKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cblxuXG5leHBvcnQgY29uc3QgZmlyZWRldkZyYW1ld29ya05hbWUgPSAnZmlyZWRldic7XG5leHBvcnQgY29uc3QgbW9ycGhpRnJhbWV3b3JrTmFtZSA9ICdtb3JwaGknO1xuXG5leHBvcnQgY29uc3QgT1ZFUlJJREVfRlJPTV9UTlAgPSBbXG4gICdzY3JpcHRzJyxcbiAgJ2Rlc2NyaXB0aW9uJyxcbiAgJ2xpY2Vuc2UnLFxuICAncHJpdmF0ZScsXG4gICdhdXRob3InLFxuICAnaG9tZXBhZ2UnLFxuICAnbWFpbicsXG4gICdlbmdpbmVzJyxcbiAgJ2NhdGVnb3JpZXMnLFxuICAna2V5d29yZHMnLFxuICAnYWN0aXZhdGlvbkV2ZW50cycsXG5dO1xuXG5leHBvcnQgY29uc3QgVU5JVF9URVNUX1RJTUVPVVQgPSAzMDAwMDtcbmV4cG9ydCBjb25zdCBJTlRFR1JBVElPTl9URVNUX1RJTUVPVVQgPSAzMDAwMDtcblxuXG5leHBvcnQgbGV0IG1vcnBoaVBhdGhVc2VySW5Vc2VyRGlyOiBzdHJpbmdcbi8qICovXG4vKiAqL1xuICBcblxuXG5leHBvcnQgY29uc3QgYXJnc1RvQ2xlYXIgPSBbXG4gICd3ZWJzcWwnLFxuICAnc2VydmVBcHAnLFxuICAnc2tpcE5vZGVNb2R1bGVzJyxcbiAgJ3NraXBTbWFydENvbnRhaW5lckRpc3RJbml0JyxcbiAgJ2NvcHl0bycsXG4gICdwb3J0JyxcbiAgJ2JyYW5kaW5nJyxcbiAgJ3N0cnVjdCcsXG4gICd2ZXJib3NlJyxcbl07XG5cbmV4cG9ydCBjb25zdCBmb2xkZXJfc2hhcmVkX2ZvbGRlcl9pbmZvID0gJ3NoYXJlZF9mb2xkZXJfaW5mby50eHQnO1xuXG5leHBvcnQgY29uc3QgVEVNUF9ET0NTID0gJ3RtcC1kb2N1bWVudGF0aW9uJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUE9SVCA9IHtcbiAgRElTVF9TRVJWRVJfRE9DUzogNDAwMCxcbiAgQVBQX0JVSUxEX0xPQ0FMSE9TVDogNDIwMCxcbiAgU0VSVkVSX0xPQ0FMSE9TVDogNDE5OSxcbn1cblxuZXhwb3J0IGNvbnN0IHRtcEJ1aWxkUG9ydCA9ICd0bXAtYnVpbGQtcG9ydCc7XG5cbi8qKlxuICpcbiAqIFBvcnRzIGZvcjpcbiAgICAgIG1heCA9IG1heCBpbnN0YW5jZXMgPSBtYXggY29udGFpbmVyIGNoaWxkcyA9IDIwO1xuICAgICAgbiA9IGZvbGRlciBwcm9jZXNzIGJ1aWxkIG51bWJlciAoc2VhcmNoZXMgZm9yIG5ldyBwb3J0IGFsd2F5cylcbiAgICAgIGluZGV4ID0gY29udGFpbmVyIHByb2plY3QgaW5kZXggKGNhbid0IGV4Y2VlZHMgbWF4KVxuXG4gICAgICBidWlsZCBwcm9jZXNzIHNlcnZpY2UgNDEwMCA9IDQxMDAgKyBuXG5cbiAgICAgIHN0YW5kYWxvbmUgc2VydmVyIDQ1MDAgPSA0MTAwICArIDQwMCArIG5cbiAgICAgIGNvbnRhaW5lcnMgc2VydmVycyA0NjAwID0gNDEwMCAgKyA1MDAgKyBuICogbWF4ICsgaW5kZXhcblxuICAgICAgc3RhbmRhbG9uZSBuZyBzZXJ2ZSBub3JtYWwgNDMwMCA9IDQxMDAgICsgMjAwICsgblxuICAgICAgc3RhbmRhbG9uZSBuZyBzZXJ2ZSB3ZWJzcWwgNDQwMCA9IDQxMDAgICsgMzAwICsgblxuXG4gICAgICBjb250YWluZXIgbmcgc2VydmUgbm9ybWFsIDQ4MDAgPSA0MTAwICArIDcwMCArIG4gKyBtYXggKyBpbmRleFxuICAgICAgY29udGFpbmVyIG5nIHNlcnZlIHdlYnNxbCA0OTAwID0gNDEwMCAgKyA4MDAgKyBuICsgbWF4ICsgaW5kZXhcbiAqXG4gKiBAcGFyYW0gYmFzZVBvcnQgNDEwMCArIG5cbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBjbGFzcyBQb3J0VXRpbHMge1xuICBzdGF0aWMgaW5zdGFuY2UoYmFzZVBvcnQ6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgUG9ydFV0aWxzKGJhc2VQb3J0KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgbjogbnVtYmVyO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJhc2VQb3J0OiBudW1iZXIsXG4gICkge1xuICAgIHRoaXMubiA9ICgoYmFzZVBvcnQgLSAoYmFzZVBvcnQgJSAxMDAwKSkgLyAxMDAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBtYXggY29udGFpbmVyICBjaGlsZHNcbiAgICovXG4gIHByaXZhdGUgbWF4ID0gMjA7XG5cbiAgY2FsY3VsYXRlUG9ydEZvckVsZWN0cm9uRGVidWdnaW5nKHByb2plY3Q6IFByb2plY3QpOiBudW1iZXIge1xuICAgIGlmICghcHJvamVjdC5fX2lzSXNvbW9ycGhpY0xpYikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gOTg3NiArIHRoaXMubjtcbiAgfVxuXG4gIGNhbGN1bGF0ZVNlcnZlclBvcnRGb3IocHJvamVjdDogUHJvamVjdCk6IG51bWJlciB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBjYWxjdWxhdGVDbGllbnRQb3J0Rm9yKHByb2plY3Q6IFByb2plY3QsIHsgd2Vic3FsIH06IHsgd2Vic3FsOiBib29sZWFuIH0pOiBudW1iZXIge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVGb3JTdGFuZGFsb25lU2VydmVyKCkge1xuICAgIGNvbnN0IGNsaWVudFN0YW5kYWxvbmVQb3J0ID0gdGhpcy5iYXNlUG9ydCArIDQwMCArIHRoaXMublxuICAgIHJldHVybiBjbGllbnRTdGFuZGFsb25lUG9ydDtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRm9yQ29udGFpbmVyU2VydmVyKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBjbGllbnRTbWFydENvbnRhaW5lckNoaWxkUG9ydCA9IHRoaXMuYmFzZVBvcnQgKyA1MDAgKyAodGhpcy5uICogdGhpcy5tYXgpICsgaW5kZXg7XG5cbiAgICByZXR1cm4gY2xpZW50U21hcnRDb250YWluZXJDaGlsZFBvcnQ7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUZvclN0YW5kYWxvbmVDbGllbnQoeyB3ZWJzcWwgfTogeyB3ZWJzcWw6IGJvb2xlYW4gfSkge1xuICAgIGNvbnN0IGNsaWVudFBvcnQgPSAodGhpcy5iYXNlUG9ydCArICh3ZWJzcWwgPyAzMDAgOiAyMDApKSArIHRoaXMubjtcbiAgICByZXR1cm4gY2xpZW50UG9ydDtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRm9yQ29udGFpbmVyQ2xpZW50KGluZGV4OiBudW1iZXIsIHsgd2Vic3FsIH06IHsgd2Vic3FsOiBib29sZWFuIH0pIHtcbiAgICBjb25zdCBjbGllbnRQb3J0ID0gKHRoaXMuYmFzZVBvcnQgKyAod2Vic3FsID8gODAwIDogNzAwKSkgKyB0aGlzLm4gKiB0aGlzLm1heCArIGluZGV4O1xuICAgIHJldHVybiBjbGllbnRQb3J0O1xuICB9XG5cblxuXG4gIGFwcEhvc3RUZW1wbGF0ZUZvcihwcm9qZWN0OiBQcm9qZWN0KSB7XG4gICAgY29uc3QgYmFja2VuZFBvcnQgPSB0aGlzLmNhbGN1bGF0ZVNlcnZlclBvcnRGb3IocHJvamVjdCk7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbn1cblxuXG5cbmV4cG9ydCBjb25zdCBub3RBbGxvd2VkUHJvamVjdE5hbWVzID0gW1xuICAnYXBwJyxcbiAgJ2FwcHMnLFxuICAnbGlicycsXG4gICdsaWInLFxuICAnc3JjJyxcbiAgJ21pZ3JhdGlvbnMnLFxuICAnYXNzZXRzJyxcbiAgJ2Fzc2V0cy1mb3InLFxuICAnYnJvd3NlcicsXG4gICd3ZWJzcWwnLFxuICAnY29tcGlsZWQnLFxuICAnZG9jcycsXG4gICdfJyxcbl1cblxuXG5leHBvcnQgZnVuY3Rpb24gdGVtcFNvdXJjZUZvbGRlcihvdXREaXI6ICdkaXN0JywgYXBwRm9yTGliOiBib29sZWFuLCB3ZWJzcWw6IGJvb2xlYW4pIHtcbiAgcmV0dXJuIGB0bXAtc3JjLSR7YXBwRm9yTGliID8gJ2FwcC0nIDogJyd9JHtvdXREaXJ9JHt3ZWJzcWwgPyAnLXdlYnNxbCcgOiAnJ31gXG59XG5cblxuZXhwb3J0IGNvbnN0IE1FU1NBR0VTID0ge1xuICBTSFVUX0RPV05fRk9MREVSU19BTkRfREVCVUdHRVJTOiAnUGxlYXNlIHNodXQgZG93biB5b3VyIGNvZGUgZGVidWdnZXIgYW5kIGFueSBvcGVuIHdpbmRvd3MgZnJvbSBub2RlX21vZHVsZXMgYW5kIHByZXNzIGFueSBrZXkuLi4nXG59XG5cblxuZXhwb3J0IGNvbnN0IE9OTFlfQ09QWV9BTExPV0VEID0gW1xuICAnYmFja2dyb3VuZC13b3JrZXItcHJvY2VzcycsXG4gICdiZXR0ZXItc3FsaXRlMycsXG4gICcuYmluJyxcbiAgJy5pbnN0YWxsLWRhdGUnLFxuXTtcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucCBsaWIvY29uc3RhbnRzLnRzIl19
@@ -61,4 +61,4 @@ export var Models;
61
61
  })(Models || (Models = {}));
62
62
  ;
63
63
  ({}); // @--end-of-file-for-module=tnp lib/models.ts
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wL3Byb2plY3RzL3RucC9zcmMvbGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQWMsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxLQUFXLE1BQU0sQ0EraUJ0QjtBQS9pQkQsV0FBaUIsTUFBTTtJQUdSLHlCQUFrQixHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQXNCLENBQUM7SUFnQ3ZFLDJCQUFvQixHQUF3QjtRQUN2RCxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsQUFBRDtRQUM5RSx1QkFBdUIsRUFBRSxrQkFBa0I7S0FDNUMsQ0FBQTtJQUVZLDhCQUF1QixHQUEyQjtRQUM3RCw0QkFBNEI7S0FDN0IsQ0FBQTtJQU1ZLHlCQUFrQixHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztJQStUaEUsQ0FBQztJQTZFRixNQUFhLEtBQUs7UUFFaEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFRO1lBQ25CLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBWTtZQUV0QixPQUFPO2dCQUNMLEVBQUUsQ0FBQyxFQUFVO29CQUNYLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM3QixDQUFDO2FBQ0YsQ0FBQTtRQUNILENBQUM7UUFFRCxZQUNTLElBQVksRUFDWixFQUFVO1lBRFYsU0FBSSxHQUFKLElBQUksQ0FBUTtZQUNaLE9BQUUsR0FBRixFQUFFLENBQVE7WUFDakIsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQzthQUNqRTtRQUNILENBQUM7UUFFRCxJQUFJLE1BQU07WUFDUixPQUFPLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM3QixDQUFDO1FBRUQsSUFBSSxLQUFLO1lBQ1AsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ2YsS0FBSyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNyRCxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2pCO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO1FBRUQsUUFBUSxDQUFDLG9CQUFvQztZQUMzQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsRUFBRTtnQkFDcEMsT0FBTyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLG9CQUFvQixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUM7YUFDN0U7WUFDRCxvQkFBb0IsR0FBRyxvQkFBNkIsQ0FBQztZQUVyRCxPQUFPLENBQUMsb0JBQW9CLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksb0JBQW9CLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RixDQUFDO0tBRUY7SUE1Q1ksWUFBSyxRQTRDakIsQ0FBQTtJQWtDWSw0QkFBcUIsR0FBb0M7UUFDcEUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztLQUM1QixDQUFDO0lBYUYsTUFBYSxhQUFhO1FBRXhCLFlBQ1MsSUFBWSxFQUNaLFdBQW9CO1lBRHBCLFNBQUksR0FBSixJQUFJLENBQVE7WUFDWixnQkFBVyxHQUFYLFdBQVcsQ0FBUztRQUc3QixDQUFDO0tBQ0Y7SUFSWSxvQkFBYSxnQkFRekIsQ0FBQTtBQWNILENBQUMsRUEvaUJnQixNQUFNLEtBQU4sTUFBTSxRQStpQnRCO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw4Q0FBOEMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgQ29ubmVjdGlvbk9wdGlvbnMgfSBmcm9tIFwiZmlyZWRldi10eXBlb3JtL2Jyb3dzZXJcIjtcbmltcG9ydCB7IENvcmVNb2RlbHMsIF8gfSBmcm9tIFwidG5wLWNvcmUvYnJvd3NlclwiO1xuXG5leHBvcnQgbmFtZXNwYWNlIE1vZGVscyB7XG5cbiAgZXhwb3J0IHR5cGUgVGVzdFR5cGVGaXJlZGV2ID0gJ21vY2hhJyB8ICdqZXN0JyB8ICdjeXByZXNzJztcbiAgZXhwb3J0IGNvbnN0IFRlc3RUeXBlRmlyZWRldkFyciA9IFsnbW9jaGEnLCAnamVzdCcsICdjeXByZXNzJ10gYXMgVGVzdFR5cGVGaXJlZGV2W107XG5cbiAgZXhwb3J0IHR5cGUgU2F2ZUFjdGlvbiA9ICdzYXZlJyB8ICdzaG93JyB8ICdoaWRlJztcblxuICBleHBvcnQgdHlwZSBQYWNrYWdlSnNvblNhdmVPcHRpb25zID0ge1xuICAgIGFjdGlvbjogU2F2ZUFjdGlvbjtcbiAgICBuZXdEZXBzOiBhbnk7XG4gICAgdG9PdmVycmlkZTogYW55O1xuICAgIHJlYXNvblRvU2hvd1BhY2thZ2VzOiBzdHJpbmc7XG4gICAgcmVhc29uVG9IaWRlUGFja2FnZXM6IHN0cmluZztcbiAgfVxuICBleHBvcnQgaW50ZXJmYWNlIEFjdHVhbE5wbUluc3RhbGxPcHRpb25zIHtcbiAgICBnZW5lcmF0TG9ja0ZpbGVzPzogYm9vbGVhbjtcbiAgICB1c2VZYXJuPzogYm9vbGVhbjtcbiAgICBwa2c/OiBQYWNrYWdlO1xuICAgIHJlYXNvbjogc3RyaW5nO1xuICAgIHJlbW92ZT86IGJvb2xlYW47XG4gIH1cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgTnBtSW5zdGFsbE9wdGlvbnMge1xuICAgIHJlbW92ZT86IGJvb2xlYW47XG4gICAgbnBtUGFja2FnZXM/OiBQYWNrYWdlW10sXG4gICAgc21hcnRJbnN0YWxsUHJlcGFyaW5nPzogYm9vbGVhbjtcbiAgfVxuXG4gIGV4cG9ydCB0eXBlIE5wbURlcGVuZGVuY3lUeXBlID0gJ2RlcGVuZGVuY2llcycgfCAnZGV2RGVwZW5kZW5jaWVzJyB8ICdwZWVyRGVwZW5kZW5jaWVzJyB8ICdvcHRpb25hbERlcGVuZGVuY2llcydcbiAgICB8ICdleHRlbnNpb25EZXBlbmRlbmNpZXMnXG4gICAgfCAnX3BoYW50b21DaGlsZHJlbic7XG5cbiAgZXhwb3J0IHR5cGUgVG5wTnBtRGVwZW5kZW5jeVR5cGUgPSAndG5wX292ZXJyaWRlZF9kZXBlbmRlbmNpZXMnO1xuXG4gIGV4cG9ydCBjb25zdCBBcnJOcG1EZXBlbmRlbmN5VHlwZTogTnBtRGVwZW5kZW5jeVR5cGVbXSA9IFtcbiAgICAnZGVwZW5kZW5jaWVzJywgJ2RldkRlcGVuZGVuY2llcycsICdwZWVyRGVwZW5kZW5jaWVzJywgJ29wdGlvbmFsRGVwZW5kZW5jaWVzJywgLFxuICAgICdleHRlbnNpb25EZXBlbmRlbmNpZXMnLCAnX3BoYW50b21DaGlsZHJlbidcbiAgXVxuXG4gIGV4cG9ydCBjb25zdCBBcnJUbnBOcG1EZXBlbmRlbmN5VHlwZTogVG5wTnBtRGVwZW5kZW5jeVR5cGVbXSA9IFtcbiAgICAndG5wX292ZXJyaWRlZF9kZXBlbmRlbmNpZXMnXG4gIF1cblxuXG5cbiAgZXhwb3J0IHR5cGUgSW5zdGFsYXRpb25UeXBlID0gJy1nJyB8ICctLXNhdmUnIHwgJy0tc2F2ZS1kZXYnO1xuXG4gIGV4cG9ydCBjb25zdCBJbnN0YWxhdGlvblR5cGVBcnIgPSBbJy1nJywgJy0tc2F2ZScsICctLXNhdmUtZGV2J107XG5cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgRmlyZWRldkxvYWRlckNvbmZpZyB7XG4gICAgbmFtZT86IEZpcmVkZXZMb2FkZXJzO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBFbnZDb25maWdQcm9qZWN0IHtcbiAgICBiYXNlVXJsOiBzdHJpbmc7XG4gICAgaG9zdD86IHN0cmluZzsgLy8gZ2VuZXJhdGVkXG4gICAgZXh0ZXJuYWxIb3N0Pzogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZzsgIC8vIGNoZWNrZWRcbiAgICB0eXBlPzogQ29yZU1vZGVscy5MaWJUeXBlOyAvLyBjaGVja2VkXG5cbiAgICBwb3J0OiBudW1iZXI7IC8vIG92ZXJyaWRlIHR5cGUgcG9ydFxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbiAgZXhwb3J0IHR5cGUgRmlyZWRldkxvYWRlcnMgPSAnbGRzLWRlZmF1bHQnIHxcbiAgICAnbGRzLWVsbGlwc2lzJyB8XG4gICAgJ2xkcy1mYWNlYm9vaycgfFxuICAgICdsZHMtZ3JpZCcgfFxuICAgICdsZHMtaGVhcnQnIHxcbiAgICAnbGRzLXJpcHBsZSdcblxuICBleHBvcnQgaW50ZXJmYWNlIEVudkNvbmZpZyB7XG5cbiAgICAvKipcbiAgICAgKiBhbmd1bGFyIHByb2R1Y3Rpb24gbW9kZVxuICAgICAqL1xuICAgIGFuZ3VsYXJQcm9kPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiByZXBsYWNlIHRpdGxlIGluIGZpcmVkZXYgYXBwXG4gICAgICovXG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogb3ZlcnJpZGUgcHdhIG1hbmlmZXN0IHZhbHVlc1xuICAgICAqL1xuICAgIHB3YT86IHtcbiAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICBzaG9ydF9uYW1lPzogc3RyaW5nO1xuICAgICAgc3RhcnRfdXJsPzogc3RyaW5nO1xuXG5cblxuXG4gICAgfSxcblxuICAgIGxvYWRpbmc/OiB7XG4gICAgICAvKipcbiAgICAgICAqIHRoaXMgaXMgcGVyc2VudGVkIGJlZm9yZSBib29zdHJhcGlnbiBvZiBhbmd1bGFyXG4gICAgICAgKiBhdCB0aGUgYmVnaW5pbmcgb2YgZmlyc3QgaW5kZXguaHRtbCBmZXRjaFxuICAgICAgICovXG4gICAgICBwcmVBbmd1bGFyQm9vdHN0cmFwPzoge1xuICAgICAgICAvKipcbiAgICAgICAgICogbG9kZXIgcGF0aCB0byBpbWFnZSBvclxuICAgICAgICAgKiBidWlsZCBpbiBsb2FkZXIgY29uZmlnXG4gICAgICAgICAqL1xuICAgICAgICBsb2FkZXI/OiBzdHJpbmcgfCBGaXJlZGV2TG9hZGVyQ29uZmlnLFxuICAgICAgICBiYWNrZ3JvdW5kPzogc3RyaW5nLFxuICAgICAgfSxcbiAgICAgIC8qKlxuICAgICAgICogdGhpcyBsb2FkZXIgaXMgcHJlc2VudGVkIHdoZW5cbiAgICAgICAqIGZpcmVkZXYgYXBwIGRhdGEgaXMgYmVpbmcgbG9hZGVyXG4gICAgICAgKiAocmlnaHQgYWZ0ZXIgKnByZUFuZ3VsYXJCb290c3RyYXAqKVxuICAgICAgICovXG4gICAgICBhZnRlckFuZ3VsYXJCb290c3RyYXA/OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAqIGxvZGVyIHBhdGggdG8gaW1hZ2Ugb3JcbiAgICAgICAgKiBidWlsZCBpbiBsb2FkZXIgY29uZmlnXG4gICAgICAgICovXG4gICAgICAgIGxvYWRlcj86IHN0cmluZyB8IEZpcmVkZXZMb2FkZXJDb25maWcsXG4gICAgICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgICB9LFxuICAgIH0sXG5cbiAgICBwYXRoZXM/OiBhbnk7XG4gICAgY29uZmlnPzogYW55O1xuICAgIGNvbmZpZ3NGcm9tSnM/OiBhbnk7XG4gICAgLyoqXG4gICAgICogSSB3aWxsIGNoZWNrIGlmIGNvZGUgc2hvdWxkIGJlIGF2YWlsYWJsZSBmb3IgbnBtIHZlcnNpb25cbiAgICAgKi9cbiAgICBub3RGb3JOcG0/OiBib29sZWFuO1xuICAgIGlzQ29yZVByb2plY3Q/OiBib29sZWFuOyAvLyBnZW5lcmF0ZWRcbiAgICBpc1N0YW5kYWxvbmVQcm9qZWN0PzogYm9vbGVhbjsgLy8gZ2VuZXJhdGVkXG4gICAgaXNTbWFydENvbnRhaW5lcj86IGJvb2xlYW47IC8vIGdlbmVyYXRlZFxuICAgIGlzU21hcnRDb250YWluZXJUYXJnZXRQcm9qZWN0PzogYm9vbGVhbjsgLy8gZ2VuZXJhdGVkXG4gICAgbmFtZT86IENvcmVNb2RlbHMuRW52aXJvbm1lbnROYW1lOyAvLyBnZW5lcmF0ZWRcbiAgICBmcmFtZXdvcmtzPzogQ29yZU1vZGVscy5VSUZyYW1ld29ya1tdO1xuICAgIC8qKlxuICAgICAqIG92ZXJyaWRlIGRvbWFpbiBuYW1lICh1c2UgdXNlRG9tYWluIHByb3BlcnR5IHRvIG1ha2UgaXQgd29yaylcbiAgICAgKi9cbiAgICBkb21haW4/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogYWN0dWFsbHkgYnVpbGQgZW52aXJvbWVudCBmb3IgZG9tYWluIGZyb20gZW52aXJvbWVudC5qc1xuICAgICAqL1xuICAgIHVzZURvbWFpbj86IGJvb2xlYW47XG4gICAgZHluYW1pY0dlbklwcz86IGJvb2xlYW47XG4gICAgaXA/OiBzdHJpbmcgfCAnbG9jYWxob3N0JztcbiAgICB3b3Jrc3BhY2U6IHtcbiAgICAgIHdvcmtzcGFjZTogRW52Q29uZmlnUHJvamVjdDtcbiAgICAgIGJ1aWxkPzoge1xuICAgICAgICBicm93c2VyOiB7XG4gICAgICAgICAgbWluaWZ5OiBib29sZWFuO1xuICAgICAgICAgIGFvdDogYm9vbGVhbjtcbiAgICAgICAgICBwcm9kdWN0aW9uOiBib29sZWFuO1xuICAgICAgICB9LFxuICAgICAgICBzZXJ2ZXI6IHtcbiAgICAgICAgICBtaW5pZnk6IGJvb2xlYW47XG4gICAgICAgICAgcHJvZHVjdGlvbjogYm9vbGVhbjtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHByb2plY3RzOiBFbnZDb25maWdQcm9qZWN0W11cbiAgICB9XG4gICAgY2xpZW50UHJvamVjdE5hbWU/OiBzdHJpbmc7XG4gICAgY3VycmVudExpYlByb2plY3RTb3VyY2VGb2xkZXI/OiAnc3JjJyB8ICdjb21wb25lbnRzJztcbiAgICBjdXJyZW50UHJvamVjdE5hbWU/OiBzdHJpbmc7XG4gICAgY3VycmVudFByb2plY3RHZW5lcmljTmFtZT86IHN0cmluZztcbiAgICBjdXJyZW50UHJvamVjdExhdW5jaENvbmZpZ3VyYXRpb24/OiBzdHJpbmc7XG4gICAgY3VycmVudFByb2plY3RUYXNrc0NvbmZpZ3VyYXRpb24/OiBzdHJpbmc7XG4gICAgY3VycmVudFByb2plY3RQb3J0PzogbnVtYmVyO1xuICAgIGN1cnJlbnRQcm9qZWN0TG9jYXRpb24/OiBzdHJpbmc7XG4gICAgY3VycmVudEZyYW1ld29ya1ZlcnNpb24/OiBzdHJpbmc7XG4gICAgY3VycmVudFByb2plY3RJc1NpdGU/OiBib29sZWFuO1xuICAgIGN1cnJlbnRQcm9qZWN0SXNTdHJpY3RTaXRlPzogYm9vbGVhbjtcbiAgICBjdXJyZW50UHJvamVjdElzRGVwZW5kZW5jeVNpdGU/OiBib29sZWFuO1xuICAgIGN1cnJlbnRQcm9qZWN0SXNTdGF0aWM/OiBib29sZWFuO1xuICAgIGN1cnJlbnRQcm9qZWN0Q29tcG9uZW50c0ZvbGRlcj86IHN0cmluZztcbiAgICBjdXJyZW50UHJvamVjdFRzQ29uZmlnUGF0aGVzPzogc3RyaW5nO1xuICAgIGN1cnJlbnRQcm9qZWN0VHNDb25maWdQYXRoZXNGb3JCcm93c2VyPzogc3RyaW5nO1xuICAgIGN1cnJlbnRQcm9qZWN0VHlwZT86IENvcmVNb2RlbHMuTGliVHlwZTtcbiAgICBwYWNrYWdlSlNPTj86IElQYWNrYWdlSlNPTjtcblxuICAgIGNsb3VkPzoge1xuICAgICAgcG9ydHM6IHtcbiAgICAgICAgdXBkYXRlOiBudW1iZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnVpbGQ/OiB7XG4gICAgICBudW1iZXI/OiBudW1iZXI7XG4gICAgICBoYXNoPzogc3RyaW5nO1xuICAgICAgZGF0ZT86IERhdGU7XG4gICAgICBvcHRpb25zPzoge1xuICAgICAgICBpc1dhdGNoQnVpbGQ/OiBib29sZWFuO1xuICAgICAgICBpc1dlYnNxbEJ1aWxkPzogYm9vbGVhbjtcbiAgICAgICAgb3V0RGlyPzogJ2Rpc3QnO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cblxuXG4gIGV4cG9ydCB0eXBlIE5ld1NpdGVPcHRpb25zID0ge1xuICAgIHR5cGU/OiBDb3JlTW9kZWxzLk5ld0ZhY3RvcnlUeXBlLFxuICAgIG5hbWU/OiBzdHJpbmcsXG4gICAgY3dkPzogc3RyaW5nLFxuICAgIGJhc2VkT24/OiBzdHJpbmcsXG4gICAgdmVyc2lvbj86IENvcmVNb2RlbHMuRnJhbWV3b3JrVmVyc2lvbixcbiAgICBza2lwSW5pdD86IGJvb2xlYW47XG4gICAgYWxzb0Jhc2VkT24/OiBzdHJpbmdbXTtcbiAgICBzaXRlUHJvamVjdE1vZGU/OiAnc3RyaWN0JyB8ICdkZXBlbmRlbmN5JztcbiAgfTtcblxuXG5cblxuICBleHBvcnQgdHlwZSBUYXJnZXRQcm9qZWN0ID0ge1xuICAgIHBhdGg/OiBzdHJpbmc7XG4gICAgb3JpZ2luOiBzdHJpbmc7XG4gICAgYnJhbmNoOiBzdHJpbmc7XG4gICAgbGlua3M6IHN0cmluZ1tdO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBUbnBJUGFja2FnZUpTT05PdmVycmlkZSB7XG4gICAgc2NyaXB0cz86IHsgW3NjcmlwdCBpbiBzdHJpbmddOiBzdHJpbmc7IH07XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgbGljZW5zZT86IHN0cmluZztcbiAgICBwcml2YXRlPzogYm9vbGVhbjtcbiAgICBhdXRob3I/OiBzdHJpbmc7XG4gICAgaG9tZXBhZ2U/OiBzdHJpbmc7XG4gICAgbWFpbj86IHN0cmluZztcbiAgICBtb2R1bGU/OiBzdHJpbmc7XG4gICAgZXhwb3J0cz86IG9iamVjdDtcbiAgICBuYW1lPzogc3RyaW5nO1xuICB9XG5cbiAgZXhwb3J0IHR5cGUgVHJ1c3RlZFR5cGUgPSB7IFtmcmFtZXdvcmtWZXJzaW9uIGluIENvcmVNb2RlbHMuRnJhbWV3b3JrVmVyc2lvbl06IChzdHJpbmcgfCBzdHJpbmdbXSkgfTtcblxuICBleHBvcnQgdHlwZSBMaW5rZWRSZXBvID0ge1xuICAgIG9yaWdpbjogc3RyaW5nO1xuICAgIHJlbGF0aXZlRm9sZGVyc0xpbmtzPzoge1xuICAgICAgZnJvbTogc3RyaW5nO1xuICAgICAgdG86IHN0cmluZztcbiAgICB9W107XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFRucERhdGEgZXh0ZW5kcyBUbnBJUGFja2FnZUpTT05PdmVycmlkZSB7XG4gICAgdHlwZTogQ29yZU1vZGVscy5MaWJUeXBlO1xuICAgIHZlcnNpb24/OiBDb3JlTW9kZWxzLkZyYW1ld29ya1ZlcnNpb24sXG4gICAgc21hcnRDb250YWluZXJCdWlsZFRhcmdldD86IHN0cmluZztcbiAgICBzbWFydD86IGJvb2xlYW47XG4gICAgbW9ub3JlcG8/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIGxpbmsgeW91ciBsb2NhbCBwcm9qZWN0cyAqLnRzIGZpbGVzIGluc2lkZSB0aGlzIHByb2plY3QuLiB0aHJvdWdoIHRzY29uZmlnIHBhdGhlc1xuICAgICAqIEV4YW1wbGU6XG4gICAgICogIC0gbG9jYWwgcHJvamN0ICd0bnAtaGVscGVyJyB3aXRoICdzcmMnIGZvbGRlclxuICAgICAqICAtPiB3aWxsIGJlIGF2YWlsYWJsZSBpbnNpZGU6XG4gICAgICogICAgIGltcG9ydCB7ICBmcm9tICd0bnAtaGVscGVyJztcbiAgICAgKi9cbiAgICBsaW5rZWRQcm9qZWN0cz86IHN0cmluZ1tdO1xuICAgIGxpbmtlZFJlcG9zPzogTGlua2VkUmVwb1tdO1xuXG4gICAgLyoqXG4gICAgICogd29ya2VyIHBsdWdpbnMgZm9yIGNsaVxuICAgICAqXG4gICAgICogd29ya2VyUGx1Z2luOiB7XG4gICAgICogICd0bnAtZGInOiAnJyxcbiAgICAgKiAgJ3RucC1kYi1hdXRvdXBkYXRlJzogJy91cCdcbiAgICAgKiB9XG4gICAgICovXG4gICAgd29ya2VyUGx1Z2lucz86IHsgW3BhdGhPck5hbWUgaW4gc3RyaW5nXTogc3RyaW5nIH07XG4gICAgbGliUmVsZWFzZU9wdGlvbnM6IHtcbiAgICAgIGNsaUJ1aWxkT2JzY3VyZT86IGJvb2xlYW47XG4gICAgICB1Z2x5PzogYm9vbGVhbjtcbiAgICAgIGNsaUJ1aWxkTm9EdHM/OiBib29sZWFuO1xuICAgICAgY2xpQnVpbGRJbmNsdWRlTm9kZU1vZHVsZXM/OiBib29sZWFuO1xuICAgIH0sXG4gICAgdGFyZ2V0UHJvamVjdHM6IFRhcmdldFByb2plY3RbXSxcbiAgICAvKipcbiAgICAgKiBmcmFtZXdvcmsgYXZhaWxhYmxlIGluc2lkZSBwcm9qZWN0L2FwcFxuICAgICAqL1xuICAgIGZyYW1ld29ya3M/OiBDb3JlTW9kZWxzLlVJRnJhbWV3b3JrW107XG4gICAgLyoqXG4gICAgICogcHJvamVjdCBpcyB0ZW1wbGF0ZSBmb3Igb3RoZXIgcHJvamVjdFxuICAgICAqL1xuICAgIGlzQ29yZVByb2plY3Q6IGJvb2xlYW47XG4gICAgYWRkaXRpb25hbE5wbU5hbWVzOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIG9ubHkgZm9yIGNvbnRhaW5lclxuICAgICAqL1xuICAgIG92ZXJyaWRlQ29yZURlcHM/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEVhc3kgd2F5IHRvIHNraXAgYnJvd3NlciBjb21waWxhdGlvblxuICAgICAqL1xuICAgIGlzQ29tbWFuZExpbmVUb29sT25seT86IGJvb2xlYW47XG4gICAgaXNHbG9iYWxTeXN0ZW1Ub29sPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBPbmx5IGZvciBpc29tb3JwaGljIGxpYlxuICAgICAqIC0gaWYgdHJ1ZSA9PiBnZW5lcmF0ZSBjb250cm9sbGVycy50cywgZW50aXRpZXMudHNcbiAgICAgKi9cbiAgICB1c2VGcmFtZXdvcms6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ29yZSBhbmQgY29udGFudCBkZXBlbmRlY2llcyBmb3IgYWxsIHByb2plY3RzXG4gICAgICovXG4gICAgY29yZToge1xuICAgICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiB0aGlzIGRlcGVuZGVuaWNlcyBhcmUgYWx3YXlzIGluY2x1ZGVkIGluIHNvbWUgd2F5XG4gICAgICAgICAqL1xuICAgICAgICBhbHdheXM/OiBzdHJpbmdbXTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIHRoaXMgZGVwZW5kZW5jaWVzIGFyZSBvbmx5IGluY2x1ZGVkIGFzIGRldkRlcGVuZGVuY2llc1xuICAgICAgICAgKi9cbiAgICAgICAgYXNEZXZEZXBlbmRlbmNpZXM/OiBzdHJpbmdbXTtcbiAgICAgICAgdHJ1c3RlZDogVHJ1c3RlZFR5cGU7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBsaXN0IG9mIHBhY2thZ2UgdG8gZGVkdXBlXG4gICAgICAgICAqL1xuICAgICAgICBkZWR1cGU6IHN0cmluZ1tdO1xuXG4gICAgICAgIHN0dWJGb3JCYWNrZW5kOiBzdHJpbmdbXTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENvbW9uIGRlcGVuZGVuY2llcyBmb3IgYWxsIGtpbmRzIG9mIHByb2plY3QgdHlwZXNcbiAgICAgICAgICovXG4gICAgICAgIGNvbW1vbjogRGVwZW5kZW5jaWVzRnJvbVBhY2thZ2VKc29uU3R5bGUgfCB7IFtncm91cEFsaWFzOiBzdHJpbmddOiBEZXBlbmRlbmNpZXNGcm9tUGFja2FnZUpzb25TdHlsZSB9O1xuICAgICAgICAvKipcbiAgICAgICAgICogRGVwZW5kZW5jaWVzIG9ubHkgZm9yIHNwZWN5ZmljIHByb2plY3QgdHlwZVxuICAgICAgICAgKi9cbiAgICAgICAgb25seUZvcjogeyBbbGliVHlwZTogc3RyaW5nXTogRGVwZW5kZW5jaWVzRnJvbVBhY2thZ2VKc29uU3R5bGUgfCB7IFtncm91cEFsaWFzOiBzdHJpbmddOiBEZXBlbmRlbmNpZXNGcm9tUGFja2FnZUpzb25TdHlsZSB9OyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZGVwZW5kZW5jeSBzaXRlIGJhc2VsaW5lc1xuICAgICAqL1xuICAgIGRlcGVuZHNPbjogc3RyaW5nW10sXG4gICAgLyoqXG4gICAgICogU3RhdGljIHJlc3VyY2VzIGZvciBzdGFuZGFsb25lIHByb2plY3QsIHRoYXQgYXJlXG4gICAgICogZ29pbmcgdG8gYmUgaW5jbHVkZWQgaW4gcmVsZWFzZSBkaXN0XG4gICAgICovXG4gICAgcmVzb3VyY2VzPzogc3RyaW5nW107XG4gICAgLyoqXG4gICAgICogQWxsb3dlZCBlbnZpcm9ubWVudCBmb3IgcG9yb2plY3RcbiAgICAgKi9cbiAgICBhbGxvd2VkRW52PzogQ29yZU1vZGVscy5FbnZpcm9ubWVudE5hbWVbXTtcblxuXG5cbiAgICAvKipcbiAgICAgKiBPdmVycmlkZSBhdXRvbWF0aW9uIGdlbmVyYXRpb25cbiAgICAgKi9cbiAgICBvdmVycmlkZWQ6IHtcbiAgICAgIHRzY29uZmlnPzogT2JqZWN0O1xuICAgICAgZGVkdXBlPzogc3RyaW5nW107XG4gICAgICBpZ25vcmVEZXBzUGF0dGVybj86IHN0cmluZ1tdO1xuICAgICAgaW5jbHVkZU9ubHk/OiBzdHJpbmdbXTtcbiAgICAgIGluY2x1ZGVBc0Rldj86IHN0cmluZ1tdIHwgJyonO1xuICAgICAgbGlua2VkRm9sZGVycz86IHsgZnJvbTogc3RyaW5nOyB0bzogc3RyaW5nOyB9W107XG4gICAgICBkZXBlbmRlbmNpZXM/OiBEZXBlbmRlbmNpZXNGcm9tUGFja2FnZUpzb25TdHlsZTtcbiAgICB9XG4gIH07XG5cbiAgZXhwb3J0IGludGVyZmFjZSBJUGFja2FnZUpTT04gZXh0ZW5kcyBUbnBJUGFja2FnZUpTT05PdmVycmlkZSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGh1c2t5Pzoge1xuICAgICAgaG9va3M6IHtcbiAgICAgICAgJ3ByZS1wdXNoJzogc3RyaW5nO1xuICAgICAgfVxuICAgIH07XG4gICAgdmVyc2lvbj86IHN0cmluZztcbiAgICBiaW4/OiBhbnk7XG4gICAgcHJlZmVyR2xvYmFsPzogYm9vbGVhbjtcbiAgICBsYXN0QnVpbGRUYWdIYXNoPzogc3RyaW5nO1xuICAgIGVuZ2luZXM/OiB7IG5vZGU6IHN0cmluZzsgbnBtOiBzdHJpbmc7IH07XG4gICAgZGVwZW5kZW5jaWVzPzogRGVwZW5kZW5jaWVzRnJvbVBhY2thZ2VKc29uU3R5bGU7XG4gICAgcGVlckRlcGVuZGVuY2llcz86IERlcGVuZGVuY2llc0Zyb21QYWNrYWdlSnNvblN0eWxlO1xuICAgIGRldkRlcGVuZGVuY2llcz86IERlcGVuZGVuY2llc0Zyb21QYWNrYWdlSnNvblN0eWxlO1xuICAgIHRucDogKFRucERhdGEgJiBUbnBJUGFja2FnZUpTT05PdmVycmlkZSk7XG4gICAgZmlyZWRldjogKFRucERhdGEgJiBUbnBJUGFja2FnZUpTT05PdmVycmlkZSk7XG4gIH1cblxuICBleHBvcnQgdHlwZSBQYWNrYWdlID0geyBuYW1lOiBzdHJpbmc7IHZlcnNpb24/OiBzdHJpbmc7IGluc3RhbGxUeXBlPzogSW5zdGFsYXRpb25UeXBlOyB9O1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgZXhwb3J0IHR5cGUgRGVwZW5kZW5jaWVzRnJvbVBhY2thZ2VKc29uU3R5bGUgPSB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7IH07XG5cblxuICBleHBvcnQgaW50ZXJmYWNlIFByb2plY3RGb3JBdXRvQnVpbGQge1xuICAgIGN3ZDogc3RyaW5nLFxuICAgIGNvbW1hbmQ6IHN0cmluZztcbiAgICBjb21tYW5kV2F0Y2g6IHN0cmluZztcbiAgICBhcmdzPzogc3RyaW5nW107XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFByb2plY3RGb3JBdXRvUmVsZWFzZSB7XG4gICAgY3dkOiBzdHJpbmcsXG4gICAgY29tbWFuZDogc3RyaW5nO1xuICAgIGFyZ3M/OiBzdHJpbmdbXTtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQXV0b0FjdGlvbnNVc2VyIHtcbiAgICBidWlsZHM/OiBQcm9qZWN0Rm9yQXV0b0J1aWxkW107XG4gICAgYXV0b3JlbGVhc2VzPzogUHJvamVjdEZvckF1dG9SZWxlYXNlW107XG4gIH1cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgVHNjQ29tcGlsZU9wdGlvbnMge1xuICAgIGN3ZDogc3RyaW5nO1xuICAgIHdhdGNoPzogYm9vbGVhbjtcbiAgICBvdXREaXI/OiBCdWlsZERpcjtcbiAgICBnZW5lcmF0ZURlY2xhcmF0aW9ucz86IGJvb2xlYW47XG4gICAgdHNFeGU/OiBzdHJpbmc7XG4gICAgZGlhZ25vc3RpY3M/OiBib29sZWFuO1xuICAgIGhpZGVFcnJvcnM/OiBib29sZWFuO1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgfVxuXG5cbiAgZXhwb3J0IGludGVyZmFjZSBCdWlsZFNlcnZlQXJnc1NlcnZlIHtcbiAgICBwb3J0OiBzdHJpbmc7XG4gICAgYmFzZVVybDogc3RyaW5nO1xuICAgIG91dERpcjogc3RyaW5nO1xuICB9XG5cbiAgZXhwb3J0IHR5cGUgQnVpbGREaXIgPSAnZGlzdCc7XG4gIGV4cG9ydCB0eXBlIEJ1aWxkRGlyQnJvd3NlciA9ICdicm93c2VyJyB8ICd3ZWJzcWwnO1xuXG4gIGV4cG9ydCB0eXBlIElubGluZVBrZyA9IHtcbiAgICBpc0lzb21vcnBoaWM6IGJvb2xlYW47XG4gICAgcmVhbE5hbWU6IHN0cmluZztcbiAgfVxuXG5cbiAgZXhwb3J0IHR5cGUgTW9kaWZpZWRGaWxlcyA9IHsgbW9kaWZpZWRGaWxlczogc3RyaW5nW10gfTtcblxuICBleHBvcnQgY2xhc3MgUmFuZ2Uge1xuXG4gICAgc3RhdGljIGNsb25lKHI6IFJhbmdlKSB7XG4gICAgICByZXR1cm4gbmV3IFJhbmdlKHIuZnJvbSwgci50byk7XG4gICAgfVxuXG4gICAgc3RhdGljIGZyb20oZnJvbTogbnVtYmVyKSB7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRvKHRvOiBudW1iZXIpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IFJhbmdlKGZyb20sIHRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIGZyb206IG51bWJlcixcbiAgICAgIHB1YmxpYyB0bzogbnVtYmVyKSB7XG4gICAgICBpZiAoXy5pc05hdGl2ZShmcm9tKSB8fCBfLmlzTmF0aXZlKHRvKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoaXMgUmFuZ2UgdHlwZSBpcyBvbmx5IGZvciBwb3NpdGl2ZSBudW1iZXJzYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGxlbmd0aCgpIHtcbiAgICAgIHJldHVybiB0aGlzLnRvIC0gdGhpcy5mcm9tO1xuICAgIH1cblxuICAgIGdldCBhcnJheSgpIHtcbiAgICAgIGNvbnN0IGFyciA9IFtdO1xuICAgICAgZm9yIChsZXQgaW5kZXggPSB0aGlzLmZyb207IGluZGV4IDw9IHRoaXMudG87IGluZGV4KyspIHtcbiAgICAgICAgYXJyLnB1c2goaW5kZXgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG5cbiAgICBjb250YWlucyhhbm90aGVyUmFuZ2VPck51bWJlcjogUmFuZ2UgfCBudW1iZXIpIHtcbiAgICAgIGlmIChfLmlzTnVtYmVyKGFub3RoZXJSYW5nZU9yTnVtYmVyKSkge1xuICAgICAgICByZXR1cm4gYW5vdGhlclJhbmdlT3JOdW1iZXIgPj0gdGhpcy5mcm9tICYmIGFub3RoZXJSYW5nZU9yTnVtYmVyIDw9IHRoaXMudG87XG4gICAgICB9XG4gICAgICBhbm90aGVyUmFuZ2VPck51bWJlciA9IGFub3RoZXJSYW5nZU9yTnVtYmVyIGFzIFJhbmdlO1xuXG4gICAgICByZXR1cm4gKGFub3RoZXJSYW5nZU9yTnVtYmVyLmZyb20gPj0gdGhpcy5mcm9tICYmIGFub3RoZXJSYW5nZU9yTnVtYmVyLnRvIDw9IHRoaXMudG8pO1xuICAgIH1cblxuICB9XG5cbiAgZXhwb3J0IHR5cGUgUm9vdEFyZ3NUeXBlID0ge1xuICAgIHRucE5vbkludGVyYWN0aXZlOiBib29sZWFuO1xuICAgIHRucFNob3dQcm9ncmVzczogYm9vbGVhbjtcbiAgICB0bnBOb0NvbG9yc01vZGU6IGJvb2xlYW47XG4gICAgZmluZE5lYXJlc3RQcm9qZWN0OiBib29sZWFuO1xuICAgIGZpbmROZWFyZXN0UHJvamVjdFdpdGhHaXRSb290OiBib29sZWFuO1xuICAgIGZpbmROZWFyZXN0UHJvamVjdFR5cGU6IENvcmVNb2RlbHMuTGliVHlwZTtcbiAgICBmaW5kTmVhcmVzdFByb2plY3RUeXBlV2l0aEdpdFJvb3Q6IENvcmVNb2RlbHMuTGliVHlwZTtcbiAgICBjd2Q6IHN0cmluZztcbiAgfTtcblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhdGVQcm9qZWN0Q29weU9wdCB7XG4gICAgb3ZlcnJpZGU/OiBib29sZWFuO1xuICAgIG1hcmtBc0dlbmVyYXRlZD86IGJvb2xlYW47XG4gICAgcmVnZW5lcmF0ZU9ubHlDb3JlUHJvamVjdHM/OiBib29sZWFuO1xuICAgIGZvcmNlQ29weVBhY2thZ2VKU09OPzogYm9vbGVhbjtcbiAgICBmaWx0ZXJGb3JSZWxlYXNlRGlzdD86IGJvb2xlYW47XG4gICAgc2hvd0luZm8/OiBib29sZWFuO1xuICAgIG9tbWl0U291cmNlQ29kZT86IGJvb2xlYW47XG4gICAgcmVnZW5lcmF0ZVByb2plY3RDaGlsZHM/OiBib29sZWFuO1xuICAgIHVzZVRlbXBMb2NhdGlvbj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogY29weSBsaW5rcyBhcyBmb2xkZXJzIGFuZCBmaWxlc1xuICAgICAqL1xuICAgIGRlcmVmZXJlbmNlPzogYm9vbGVhbjtcbiAgfVxuXG5cbiAgZXhwb3J0IHR5cGUgU291cmNlRm9sZGVyID0gJ3NyYycgfCAnY29tcG9uZW50cycgfCAnY3VzdG9tJyB8ICd0bXAtc3JjJztcblxuXG4gIGV4cG9ydCBjb25zdCBJbWFnZUZpbGVFeHRlbnNpb25BcnI6IENvcmVNb2RlbHMuSW1hZ2VGaWxlRXh0ZW5zaW9uW10gPSBbXG4gICAgJ2pwZycsICdqcGVnJywgJ3BuZycsICdzdmcnXG4gIF07XG5cblxuICBleHBvcnQgdHlwZSBSZWNyZWF0ZUZpbGUgPSB7IHdoZXJlOiBzdHJpbmc7IGZyb206IHN0cmluZzsgbGlua2VkPzogYm9vbGVhbjsgfTtcblxuICBleHBvcnQgdHlwZSBUbnAgPSBUbnBEYXRhICYgVG5wSVBhY2thZ2VKU09OT3ZlcnJpZGU7XG5cblxuICBleHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyU2VydmljZU9wdGlvbnMge1xuICAgIGtpbGxBbHJlYWR5UmVnaXN0ZXJkPzogYm9vbGVhbjtcbiAgICBhY3Rpb25XaGVuQXNzaWduZWRQb3J0PzogKGl0V2FzUmVnaXN0ZXJlZDogYm9vbGVhbiwgcmVnaXN0ZXJkT25Qb3J0PzogbnVtYmVyKSA9PiBhbnk7XG4gIH1cblxuICBleHBvcnQgY2xhc3MgU3lzdGVtU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcsXG4gICAgICBwdWJsaWMgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgICApIHtcblxuICAgIH1cbiAgfVxuXG5cbiAgZXhwb3J0IGludGVyZmFjZSBQc0xpc3RJbmZvIHtcbiAgICBwaWQ6IG51bWJlcjtcbiAgICBwcGlkOiBudW1iZXI7XG4gICAgbWVtb3J5OiBudW1iZXI7XG4gICAgY3B1OiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNtZDogc3RyaW5nO1xuXG4gIH1cblxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAgbGliL21vZGVscy50cyJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wL3Byb2plY3RzL3RucC9zcmMvbGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQWMsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxLQUFXLE1BQU0sQ0EraUJ0QjtBQS9pQkQsV0FBaUIsTUFBTTtJQUdSLHlCQUFrQixHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQXNCLENBQUM7SUFnQ3ZFLDJCQUFvQixHQUF3QjtRQUN2RCxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsQUFBRDtRQUM5RSx1QkFBdUIsRUFBRSxrQkFBa0I7S0FDNUMsQ0FBQTtJQUVZLDhCQUF1QixHQUEyQjtRQUM3RCw0QkFBNEI7S0FDN0IsQ0FBQTtJQU1ZLHlCQUFrQixHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztJQStUaEUsQ0FBQztJQTZFRixNQUFhLEtBQUs7UUFFaEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFRO1lBQ25CLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBWTtZQUV0QixPQUFPO2dCQUNMLEVBQUUsQ0FBQyxFQUFVO29CQUNYLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM3QixDQUFDO2FBQ0YsQ0FBQTtRQUNILENBQUM7UUFFRCxZQUNTLElBQVksRUFDWixFQUFVO1lBRFYsU0FBSSxHQUFKLElBQUksQ0FBUTtZQUNaLE9BQUUsR0FBRixFQUFFLENBQVE7WUFDakIsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQzthQUNqRTtRQUNILENBQUM7UUFFRCxJQUFJLE1BQU07WUFDUixPQUFPLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM3QixDQUFDO1FBRUQsSUFBSSxLQUFLO1lBQ1AsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ2YsS0FBSyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNyRCxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2pCO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO1FBRUQsUUFBUSxDQUFDLG9CQUFvQztZQUMzQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsRUFBRTtnQkFDcEMsT0FBTyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLG9CQUFvQixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUM7YUFDN0U7WUFDRCxvQkFBb0IsR0FBRyxvQkFBNkIsQ0FBQztZQUVyRCxPQUFPLENBQUMsb0JBQW9CLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksb0JBQW9CLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RixDQUFDO0tBRUY7SUE1Q1ksWUFBSyxRQTRDakIsQ0FBQTtJQWtDWSw0QkFBcUIsR0FBb0M7UUFDcEUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztLQUM1QixDQUFDO0lBYUYsTUFBYSxhQUFhO1FBRXhCLFlBQ1MsSUFBWSxFQUNaLFdBQW9CO1lBRHBCLFNBQUksR0FBSixJQUFJLENBQVE7WUFDWixnQkFBVyxHQUFYLFdBQVcsQ0FBUztRQUc3QixDQUFDO0tBQ0Y7SUFSWSxvQkFBYSxnQkFRekIsQ0FBQTtBQWNILENBQUMsRUEvaUJnQixNQUFNLEtBQU4sTUFBTSxRQStpQnRCO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw4Q0FBOEMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgQ29ubmVjdGlvbk9wdGlvbnMgfSBmcm9tIFwiZmlyZWRldi10eXBlb3JtL2Jyb3dzZXJcIjtcbmltcG9ydCB7IENvcmVNb2RlbHMsIF8gfSBmcm9tIFwidG5wLWNvcmUvYnJvd3NlclwiO1xuXG5leHBvcnQgbmFtZXNwYWNlIE1vZGVscyB7XG5cbiAgZXhwb3J0IHR5cGUgVGVzdFR5cGVGaXJlZGV2ID0gJ21vY2hhJyB8ICdqZXN0JyB8ICdjeXByZXNzJztcbiAgZXhwb3J0IGNvbnN0IFRlc3RUeXBlRmlyZWRldkFyciA9IFsnbW9jaGEnLCAnamVzdCcsICdjeXByZXNzJ10gYXMgVGVzdFR5cGVGaXJlZGV2W107XG5cbiAgZXhwb3J0IHR5cGUgU2F2ZUFjdGlvbiA9ICdzYXZlJyB8ICdzaG93JyB8ICdoaWRlJztcblxuICBleHBvcnQgdHlwZSBQYWNrYWdlSnNvblNhdmVPcHRpb25zID0ge1xuICAgIGFjdGlvbjogU2F2ZUFjdGlvbjtcbiAgICBuZXdEZXBzOiBhbnk7XG4gICAgdG9PdmVycmlkZTogYW55O1xuICAgIHJlYXNvblRvU2hvd1BhY2thZ2VzOiBzdHJpbmc7XG4gICAgcmVhc29uVG9IaWRlUGFja2FnZXM6IHN0cmluZztcbiAgfVxuICBleHBvcnQgaW50ZXJmYWNlIEFjdHVhbE5wbUluc3RhbGxPcHRpb25zIHtcbiAgICBnZW5lcmF0TG9ja0ZpbGVzPzogYm9vbGVhbjtcbiAgICB1c2VZYXJuPzogYm9vbGVhbjtcbiAgICBwa2c/OiBQYWNrYWdlO1xuICAgIHJlYXNvbjogc3RyaW5nO1xuICAgIHJlbW92ZT86IGJvb2xlYW47XG4gIH1cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgTnBtSW5zdGFsbE9wdGlvbnMge1xuICAgIHJlbW92ZT86IGJvb2xlYW47XG4gICAgbnBtUGFja2FnZXM/OiBQYWNrYWdlW10sXG4gICAgc21hcnRJbnN0YWxsUHJlcGFyaW5nPzogYm9vbGVhbjtcbiAgfVxuXG4gIGV4cG9ydCB0eXBlIE5wbURlcGVuZGVuY3lUeXBlID0gJ2RlcGVuZGVuY2llcycgfCAnZGV2RGVwZW5kZW5jaWVzJyB8ICdwZWVyRGVwZW5kZW5jaWVzJyB8ICdvcHRpb25hbERlcGVuZGVuY2llcydcbiAgICB8ICdleHRlbnNpb25EZXBlbmRlbmNpZXMnXG4gICAgfCAnX3BoYW50b21DaGlsZHJlbic7XG5cbiAgZXhwb3J0IHR5cGUgVG5wTnBtRGVwZW5kZW5jeVR5cGUgPSAndG5wX292ZXJyaWRlZF9kZXBlbmRlbmNpZXMnO1xuXG4gIGV4cG9ydCBjb25zdCBBcnJOcG1EZXBlbmRlbmN5VHlwZTogTnBtRGVwZW5kZW5jeVR5cGVbXSA9IFtcbiAgICAnZGVwZW5kZW5jaWVzJywgJ2RldkRlcGVuZGVuY2llcycsICdwZWVyRGVwZW5kZW5jaWVzJywgJ29wdGlvbmFsRGVwZW5kZW5jaWVzJywgLFxuICAgICdleHRlbnNpb25EZXBlbmRlbmNpZXMnLCAnX3BoYW50b21DaGlsZHJlbidcbiAgXVxuXG4gIGV4cG9ydCBjb25zdCBBcnJUbnBOcG1EZXBlbmRlbmN5VHlwZTogVG5wTnBtRGVwZW5kZW5jeVR5cGVbXSA9IFtcbiAgICAndG5wX292ZXJyaWRlZF9kZXBlbmRlbmNpZXMnXG4gIF1cblxuXG5cbiAgZXhwb3J0IHR5cGUgSW5zdGFsYXRpb25UeXBlID0gJy1nJyB8ICctLXNhdmUnIHwgJy0tc2F2ZS1kZXYnO1xuXG4gIGV4cG9ydCBjb25zdCBJbnN0YWxhdGlvblR5cGVBcnIgPSBbJy1nJywgJy0tc2F2ZScsICctLXNhdmUtZGV2J107XG5cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgRmlyZWRldkxvYWRlckNvbmZpZyB7XG4gICAgbmFtZT86IEZpcmVkZXZMb2FkZXJzO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBFbnZDb25maWdQcm9qZWN0IHtcbiAgICBiYXNlVXJsOiBzdHJpbmc7XG4gICAgaG9zdD86IHN0cmluZzsgLy8gZ2VuZXJhdGVkXG4gICAgZXh0ZXJuYWxIb3N0Pzogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZzsgIC8vIGNoZWNrZWRcbiAgICB0eXBlPzogQ29yZU1vZGVscy5MaWJUeXBlOyAvLyBjaGVja2VkXG5cbiAgICBwb3J0OiBudW1iZXI7IC8vIG92ZXJyaWRlIHR5cGUgcG9ydFxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbiAgZXhwb3J0IHR5cGUgRmlyZWRldkxvYWRlcnMgPSAnbGRzLWRlZmF1bHQnIHxcbiAgICAnbGRzLWVsbGlwc2lzJyB8XG4gICAgJ2xkcy1mYWNlYm9vaycgfFxuICAgICdsZHMtZ3JpZCcgfFxuICAgICdsZHMtaGVhcnQnIHxcbiAgICAnbGRzLXJpcHBsZSdcblxuICBleHBvcnQgaW50ZXJmYWNlIEVudkNvbmZpZyB7XG5cbiAgICAvKipcbiAgICAgKiBhbmd1bGFyIHByb2R1Y3Rpb24gbW9kZVxuICAgICAqL1xuICAgIGFuZ3VsYXJQcm9kPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiByZXBsYWNlIHRpdGxlIGluIGZpcmVkZXYgYXBwXG4gICAgICovXG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogb3ZlcnJpZGUgcHdhIG1hbmlmZXN0IHZhbHVlc1xuICAgICAqL1xuICAgIHB3YT86IHtcbiAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICBzaG9ydF9uYW1lPzogc3RyaW5nO1xuICAgICAgc3RhcnRfdXJsPzogc3RyaW5nO1xuXG5cblxuXG4gICAgfSxcblxuICAgIGxvYWRpbmc/OiB7XG4gICAgICAvKipcbiAgICAgICAqIHRoaXMgaXMgcGVyc2VudGVkIGJlZm9yZSBib29zdHJhcGlnbiBvZiBhbmd1bGFyXG4gICAgICAgKiBhdCB0aGUgYmVnaW5pbmcgb2YgZmlyc3QgaW5kZXguaHRtbCBmZXRjaFxuICAgICAgICovXG4gICAgICBwcmVBbmd1bGFyQm9vdHN0cmFwPzoge1xuICAgICAgICAvKipcbiAgICAgICAgICogbG9kZXIgcGF0aCB0byBpbWFnZSBvclxuICAgICAgICAgKiBidWlsZCBpbiBsb2FkZXIgY29uZmlnXG4gICAgICAgICAqL1xuICAgICAgICBsb2FkZXI/OiBzdHJpbmcgfCBGaXJlZGV2TG9hZGVyQ29uZmlnLFxuICAgICAgICBiYWNrZ3JvdW5kPzogc3RyaW5nLFxuICAgICAgfSxcbiAgICAgIC8qKlxuICAgICAgICogdGhpcyBsb2FkZXIgaXMgcHJlc2VudGVkIHdoZW5cbiAgICAgICAqIGZpcmVkZXYgYXBwIGRhdGEgaXMgYmVpbmcgbG9hZGVyXG4gICAgICAgKiAocmlnaHQgYWZ0ZXIgKnByZUFuZ3VsYXJCb290c3RyYXAqKVxuICAgICAgICovXG4gICAgICBhZnRlckFuZ3VsYXJCb290c3RyYXA/OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAqIGxvZGVyIHBhdGggdG8gaW1hZ2Ugb3JcbiAgICAgICAgKiBidWlsZCBpbiBsb2FkZXIgY29uZmlnXG4gICAgICAgICovXG4gICAgICAgIGxvYWRlcj86IHN0cmluZyB8IEZpcmVkZXZMb2FkZXJDb25maWcsXG4gICAgICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgICB9LFxuICAgIH0sXG5cbiAgICBwYXRoZXM/OiBhbnk7XG4gICAgY29uZmlnPzogYW55O1xuICAgIGNvbmZpZ3NGcm9tSnM/OiBhbnk7XG4gICAgLyoqXG4gICAgICogSSB3aWxsIGNoZWNrIGlmIGNvZGUgc2hvdWxkIGJlIGF2YWlsYWJsZSBmb3IgbnBtIHZlcnNpb25cbiAgICAgKi9cbiAgICBub3RGb3JOcG0/OiBib29sZWFuO1xuICAgIGlzQ29yZVByb2plY3Q/OiBib29sZWFuOyAvLyBnZW5lcmF0ZWRcbiAgICBpc1N0YW5kYWxvbmVQcm9qZWN0PzogYm9vbGVhbjsgLy8gZ2VuZXJhdGVkXG4gICAgaXNTbWFydENvbnRhaW5lcj86IGJvb2xlYW47IC8vIGdlbmVyYXRlZFxuICAgIGlzU21hcnRDb250YWluZXJUYXJnZXRQcm9qZWN0PzogYm9vbGVhbjsgLy8gZ2VuZXJhdGVkXG4gICAgbmFtZT86IENvcmVNb2RlbHMuRW52aXJvbm1lbnROYW1lOyAvLyBnZW5lcmF0ZWRcbiAgICBmcmFtZXdvcmtzPzogQ29yZU1vZGVscy5VSUZyYW1ld29ya1tdO1xuICAgIC8qKlxuICAgICAqIG92ZXJyaWRlIGRvbWFpbiBuYW1lICh1c2UgdXNlRG9tYWluIHByb3BlcnR5IHRvIG1ha2UgaXQgd29yaylcbiAgICAgKi9cbiAgICBkb21haW4/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogYWN0dWFsbHkgYnVpbGQgZW52aXJvbWVudCBmb3IgZG9tYWluIGZyb20gZW52aXJvbWVudC5qc1xuICAgICAqL1xuICAgIHVzZURvbWFpbj86IGJvb2xlYW47XG4gICAgZHluYW1pY0dlbklwcz86IGJvb2xlYW47XG4gICAgaXA/OiBzdHJpbmcgfCAnbG9jYWxob3N0JztcbiAgICB3b3Jrc3BhY2U6IHtcbiAgICAgIHdvcmtzcGFjZTogRW52Q29uZmlnUHJvamVjdDtcbiAgICAgIGJ1aWxkPzoge1xuICAgICAgICBicm93c2VyOiB7XG4gICAgICAgICAgbWluaWZ5OiBib29sZWFuO1xuICAgICAgICAgIGFvdDogYm9vbGVhbjtcbiAgICAgICAgICBwcm9kdWN0aW9uOiBib29sZWFuO1xuICAgICAgICB9LFxuICAgICAgICBzZXJ2ZXI6IHtcbiAgICAgICAgICBtaW5pZnk6IGJvb2xlYW47XG4gICAgICAgICAgcHJvZHVjdGlvbjogYm9vbGVhbjtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHByb2plY3RzOiBFbnZDb25maWdQcm9qZWN0W11cbiAgICB9XG4gICAgY2xpZW50UHJvamVjdE5hbWU/OiBzdHJpbmc7XG4gICAgY3VycmVudExpYlByb2plY3RTb3VyY2VGb2xkZXI/OiAnc3JjJyB8ICdjb21wb25lbnRzJztcbiAgICBjdXJyZW50UHJvamVjdE5hbWU/OiBzdHJpbmc7XG4gICAgY3VycmVudFByb2plY3RHZW5lcmljTmFtZT86IHN0cmluZztcbiAgICBjdXJyZW50UHJvamVjdExhdW5jaENvbmZpZ3VyYXRpb24/OiBzdHJpbmc7XG4gICAgY3VycmVudFByb2plY3RUYXNrc0NvbmZpZ3VyYXRpb24/OiBzdHJpbmc7XG4gICAgY3VycmVudFByb2plY3RQb3J0PzogbnVtYmVyO1xuICAgIGN1cnJlbnRQcm9qZWN0TG9jYXRpb24/OiBzdHJpbmc7XG4gICAgY3VycmVudEZyYW1ld29ya1ZlcnNpb24/OiBzdHJpbmc7XG4gICAgY3VycmVudFByb2plY3RJc1NpdGU/OiBib29sZWFuO1xuICAgIGN1cnJlbnRQcm9qZWN0SXNTdHJpY3RTaXRlPzogYm9vbGVhbjtcbiAgICBjdXJyZW50UHJvamVjdElzRGVwZW5kZW5jeVNpdGU/OiBib29sZWFuO1xuICAgIGN1cnJlbnRQcm9qZWN0SXNTdGF0aWM/OiBib29sZWFuO1xuICAgIGN1cnJlbnRQcm9qZWN0Q29tcG9uZW50c0ZvbGRlcj86IHN0cmluZztcbiAgICBjdXJyZW50UHJvamVjdFRzQ29uZmlnUGF0aGVzPzogc3RyaW5nO1xuICAgIGN1cnJlbnRQcm9qZWN0VHNDb25maWdQYXRoZXNGb3JCcm93c2VyPzogc3RyaW5nO1xuICAgIGN1cnJlbnRQcm9qZWN0VHlwZT86IENvcmVNb2RlbHMuTGliVHlwZTtcbiAgICBwYWNrYWdlSlNPTj86IElQYWNrYWdlSlNPTjtcblxuICAgIGNsb3VkPzoge1xuICAgICAgcG9ydHM6IHtcbiAgICAgICAgdXBkYXRlOiBudW1iZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnVpbGQ/OiB7XG4gICAgICBudW1iZXI/OiBudW1iZXI7XG4gICAgICBoYXNoPzogc3RyaW5nO1xuICAgICAgZGF0ZT86IERhdGU7XG4gICAgICBvcHRpb25zPzoge1xuICAgICAgICBpc1dhdGNoQnVpbGQ/OiBib29sZWFuO1xuICAgICAgICBpc1dlYnNxbEJ1aWxkPzogYm9vbGVhbjtcbiAgICAgICAgb3V0RGlyPzogJ2Rpc3QnO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cblxuXG4gIGV4cG9ydCB0eXBlIE5ld1NpdGVPcHRpb25zID0ge1xuICAgIHR5cGU/OiBDb3JlTW9kZWxzLk5ld0ZhY3RvcnlUeXBlLFxuICAgIG5hbWU/OiBzdHJpbmcsXG4gICAgY3dkPzogc3RyaW5nLFxuICAgIGJhc2VkT24/OiBzdHJpbmcsXG4gICAgdmVyc2lvbj86IENvcmVNb2RlbHMuRnJhbWV3b3JrVmVyc2lvbixcbiAgICBza2lwSW5pdD86IGJvb2xlYW47XG4gICAgYWxzb0Jhc2VkT24/OiBzdHJpbmdbXTtcbiAgICBzaXRlUHJvamVjdE1vZGU/OiAnc3RyaWN0JyB8ICdkZXBlbmRlbmN5JztcbiAgfTtcblxuXG5cblxuICBleHBvcnQgdHlwZSBUYXJnZXRQcm9qZWN0ID0ge1xuICAgIHBhdGg/OiBzdHJpbmc7XG4gICAgb3JpZ2luOiBzdHJpbmc7XG4gICAgYnJhbmNoOiBzdHJpbmc7XG4gICAgbGlua3M6IHN0cmluZ1tdO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBUbnBJUGFja2FnZUpTT05PdmVycmlkZSB7XG4gICAgc2NyaXB0cz86IHsgW3NjcmlwdCBpbiBzdHJpbmddOiBzdHJpbmc7IH07XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgbGljZW5zZT86IHN0cmluZztcbiAgICBwcml2YXRlPzogYm9vbGVhbjtcbiAgICBhdXRob3I/OiBzdHJpbmc7XG4gICAgaG9tZXBhZ2U/OiBzdHJpbmc7XG4gICAgbWFpbj86IHN0cmluZztcbiAgICBtb2R1bGU/OiBzdHJpbmc7XG4gICAgZXhwb3J0cz86IG9iamVjdDtcbiAgICBuYW1lPzogc3RyaW5nO1xuICB9XG5cbiAgZXhwb3J0IHR5cGUgVHJ1c3RlZFR5cGUgPSB7IFtmcmFtZXdvcmtWZXJzaW9uIGluIENvcmVNb2RlbHMuRnJhbWV3b3JrVmVyc2lvbl06IChzdHJpbmcgfCBzdHJpbmdbXSkgfTtcblxuICBleHBvcnQgdHlwZSBMaW5rZWRSZXBvID0ge1xuICAgIG9yaWdpbjogc3RyaW5nO1xuICAgIHJlbGF0aXZlRm9sZGVyc0xpbmtzPzoge1xuICAgICAgZnJvbTogc3RyaW5nO1xuICAgICAgdG86IHN0cmluZztcbiAgICB9W107XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFRucERhdGEgZXh0ZW5kcyBUbnBJUGFja2FnZUpTT05PdmVycmlkZSB7XG4gICAgdHlwZTogQ29yZU1vZGVscy5MaWJUeXBlO1xuICAgIHZlcnNpb24/OiBDb3JlTW9kZWxzLkZyYW1ld29ya1ZlcnNpb24sXG4gICAgc21hcnRDb250YWluZXJCdWlsZFRhcmdldD86IHN0cmluZztcbiAgICBzbWFydD86IGJvb2xlYW47XG4gICAgbW9ub3JlcG8/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIGxpbmsgeW91ciBsb2NhbCBwcm9qZWN0cyAqLnRzIGZpbGVzIGluc2lkZSB0aGlzIHByb2plY3QuLiB0aHJvdWdoIHRzY29uZmlnIHBhdGhlc1xuICAgICAqIEV4YW1wbGU6XG4gICAgICogIC0gbG9jYWwgcHJvamN0ICd0bnAtaGVscGVyJyB3aXRoICdzcmMnIGZvbGRlclxuICAgICAqICAtPiB3aWxsIGJlIGF2YWlsYWJsZSBpbnNpZGU6XG4gICAgICogICAgIGltcG9ydCB7ICBmcm9tICd0bnAtaGVscGVyJztcbiAgICAgKi9cbiAgICBsaW5rZWRQcm9qZWN0cz86IHN0cmluZ1tdO1xuICAgIGxpbmtlZFJlcG9zPzogTGlua2VkUmVwb1tdO1xuXG4gICAgLyoqXG4gICAgICogd29ya2VyIHBsdWdpbnMgZm9yIGNsaVxuICAgICAqXG4gICAgICogd29ya2VyUGx1Z2luOiB7XG4gICAgICogICd0bnAtZGInOiAnJyxcbiAgICAgKiAgJ3RucC1kYi1hdXRvdXBkYXRlJzogJy91cCdcbiAgICAgKiB9XG4gICAgICovXG4gICAgd29ya2VyUGx1Z2lucz86IHsgW3BhdGhPck5hbWUgaW4gc3RyaW5nXTogc3RyaW5nIH07XG4gICAgbGliUmVsZWFzZU9wdGlvbnM6IHtcbiAgICAgIGNsaUJ1aWxkT2JzY3VyZT86IGJvb2xlYW47XG4gICAgICBjbGlCdWlsZFVnbGlmeT86IGJvb2xlYW47XG4gICAgICBjbGlCdWlsZE5vRHRzPzogYm9vbGVhbjtcbiAgICAgIGNsaUJ1aWxkSW5jbHVkZU5vZGVNb2R1bGVzPzogYm9vbGVhbjtcbiAgICB9LFxuICAgIHRhcmdldFByb2plY3RzOiBUYXJnZXRQcm9qZWN0W10sXG4gICAgLyoqXG4gICAgICogZnJhbWV3b3JrIGF2YWlsYWJsZSBpbnNpZGUgcHJvamVjdC9hcHBcbiAgICAgKi9cbiAgICBmcmFtZXdvcmtzPzogQ29yZU1vZGVscy5VSUZyYW1ld29ya1tdO1xuICAgIC8qKlxuICAgICAqIHByb2plY3QgaXMgdGVtcGxhdGUgZm9yIG90aGVyIHByb2plY3RcbiAgICAgKi9cbiAgICBpc0NvcmVQcm9qZWN0OiBib29sZWFuO1xuICAgIGFkZGl0aW9uYWxOcG1OYW1lczogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBvbmx5IGZvciBjb250YWluZXJcbiAgICAgKi9cbiAgICBvdmVycmlkZUNvcmVEZXBzPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBFYXN5IHdheSB0byBza2lwIGJyb3dzZXIgY29tcGlsYXRpb25cbiAgICAgKi9cbiAgICBpc0NvbW1hbmRMaW5lVG9vbE9ubHk/OiBib29sZWFuO1xuICAgIGlzR2xvYmFsU3lzdGVtVG9vbD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT25seSBmb3IgaXNvbW9ycGhpYyBsaWJcbiAgICAgKiAtIGlmIHRydWUgPT4gZ2VuZXJhdGUgY29udHJvbGxlcnMudHMsIGVudGl0aWVzLnRzXG4gICAgICovXG4gICAgdXNlRnJhbWV3b3JrOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIENvcmUgYW5kIGNvbnRhbnQgZGVwZW5kZWNpZXMgZm9yIGFsbCBwcm9qZWN0c1xuICAgICAqL1xuICAgIGNvcmU6IHtcbiAgICAgIGRlcGVuZGVuY2llczoge1xuICAgICAgICAvKipcbiAgICAgICAgICogdGhpcyBkZXBlbmRlbmljZXMgYXJlIGFsd2F5cyBpbmNsdWRlZCBpbiBzb21lIHdheVxuICAgICAgICAgKi9cbiAgICAgICAgYWx3YXlzPzogc3RyaW5nW107XG4gICAgICAgIC8qKlxuICAgICAgICAgKiB0aGlzIGRlcGVuZGVuY2llcyBhcmUgb25seSBpbmNsdWRlZCBhcyBkZXZEZXBlbmRlbmNpZXNcbiAgICAgICAgICovXG4gICAgICAgIGFzRGV2RGVwZW5kZW5jaWVzPzogc3RyaW5nW107XG4gICAgICAgIHRydXN0ZWQ6IFRydXN0ZWRUeXBlO1xuICAgICAgICAvKipcbiAgICAgICAgICogbGlzdCBvZiBwYWNrYWdlIHRvIGRlZHVwZVxuICAgICAgICAgKi9cbiAgICAgICAgZGVkdXBlOiBzdHJpbmdbXTtcblxuICAgICAgICBzdHViRm9yQmFja2VuZDogc3RyaW5nW107XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDb21vbiBkZXBlbmRlbmNpZXMgZm9yIGFsbCBraW5kcyBvZiBwcm9qZWN0IHR5cGVzXG4gICAgICAgICAqL1xuICAgICAgICBjb21tb246IERlcGVuZGVuY2llc0Zyb21QYWNrYWdlSnNvblN0eWxlIHwgeyBbZ3JvdXBBbGlhczogc3RyaW5nXTogRGVwZW5kZW5jaWVzRnJvbVBhY2thZ2VKc29uU3R5bGUgfTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIERlcGVuZGVuY2llcyBvbmx5IGZvciBzcGVjeWZpYyBwcm9qZWN0IHR5cGVcbiAgICAgICAgICovXG4gICAgICAgIG9ubHlGb3I6IHsgW2xpYlR5cGU6IHN0cmluZ106IERlcGVuZGVuY2llc0Zyb21QYWNrYWdlSnNvblN0eWxlIHwgeyBbZ3JvdXBBbGlhczogc3RyaW5nXTogRGVwZW5kZW5jaWVzRnJvbVBhY2thZ2VKc29uU3R5bGUgfTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGRlcGVuZGVuY3kgc2l0ZSBiYXNlbGluZXNcbiAgICAgKi9cbiAgICBkZXBlbmRzT246IHN0cmluZ1tdLFxuICAgIC8qKlxuICAgICAqIFN0YXRpYyByZXN1cmNlcyBmb3Igc3RhbmRhbG9uZSBwcm9qZWN0LCB0aGF0IGFyZVxuICAgICAqIGdvaW5nIHRvIGJlIGluY2x1ZGVkIGluIHJlbGVhc2UgZGlzdFxuICAgICAqL1xuICAgIHJlc291cmNlcz86IHN0cmluZ1tdO1xuICAgIC8qKlxuICAgICAqIEFsbG93ZWQgZW52aXJvbm1lbnQgZm9yIHBvcm9qZWN0XG4gICAgICovXG4gICAgYWxsb3dlZEVudj86IENvcmVNb2RlbHMuRW52aXJvbm1lbnROYW1lW107XG5cblxuXG4gICAgLyoqXG4gICAgICogT3ZlcnJpZGUgYXV0b21hdGlvbiBnZW5lcmF0aW9uXG4gICAgICovXG4gICAgb3ZlcnJpZGVkOiB7XG4gICAgICB0c2NvbmZpZz86IE9iamVjdDtcbiAgICAgIGRlZHVwZT86IHN0cmluZ1tdO1xuICAgICAgaWdub3JlRGVwc1BhdHRlcm4/OiBzdHJpbmdbXTtcbiAgICAgIGluY2x1ZGVPbmx5Pzogc3RyaW5nW107XG4gICAgICBpbmNsdWRlQXNEZXY/OiBzdHJpbmdbXSB8ICcqJztcbiAgICAgIGxpbmtlZEZvbGRlcnM/OiB7IGZyb206IHN0cmluZzsgdG86IHN0cmluZzsgfVtdO1xuICAgICAgZGVwZW5kZW5jaWVzPzogRGVwZW5kZW5jaWVzRnJvbVBhY2thZ2VKc29uU3R5bGU7XG4gICAgfVxuICB9O1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgSVBhY2thZ2VKU09OIGV4dGVuZHMgVG5wSVBhY2thZ2VKU09OT3ZlcnJpZGUge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBodXNreT86IHtcbiAgICAgIGhvb2tzOiB7XG4gICAgICAgICdwcmUtcHVzaCc6IHN0cmluZztcbiAgICAgIH1cbiAgICB9O1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG4gICAgYmluPzogYW55O1xuICAgIHByZWZlckdsb2JhbD86IGJvb2xlYW47XG4gICAgbGFzdEJ1aWxkVGFnSGFzaD86IHN0cmluZztcbiAgICBlbmdpbmVzPzogeyBub2RlOiBzdHJpbmc7IG5wbTogc3RyaW5nOyB9O1xuICAgIGRlcGVuZGVuY2llcz86IERlcGVuZGVuY2llc0Zyb21QYWNrYWdlSnNvblN0eWxlO1xuICAgIHBlZXJEZXBlbmRlbmNpZXM/OiBEZXBlbmRlbmNpZXNGcm9tUGFja2FnZUpzb25TdHlsZTtcbiAgICBkZXZEZXBlbmRlbmNpZXM/OiBEZXBlbmRlbmNpZXNGcm9tUGFja2FnZUpzb25TdHlsZTtcbiAgICB0bnA6IChUbnBEYXRhICYgVG5wSVBhY2thZ2VKU09OT3ZlcnJpZGUpO1xuICAgIGZpcmVkZXY6IChUbnBEYXRhICYgVG5wSVBhY2thZ2VKU09OT3ZlcnJpZGUpO1xuICB9XG5cbiAgZXhwb3J0IHR5cGUgUGFja2FnZSA9IHsgbmFtZTogc3RyaW5nOyB2ZXJzaW9uPzogc3RyaW5nOyBpbnN0YWxsVHlwZT86IEluc3RhbGF0aW9uVHlwZTsgfTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGV4cG9ydCB0eXBlIERlcGVuZGVuY2llc0Zyb21QYWNrYWdlSnNvblN0eWxlID0geyBbbmFtZTogc3RyaW5nXTogc3RyaW5nOyB9O1xuXG5cbiAgZXhwb3J0IGludGVyZmFjZSBQcm9qZWN0Rm9yQXV0b0J1aWxkIHtcbiAgICBjd2Q6IHN0cmluZyxcbiAgICBjb21tYW5kOiBzdHJpbmc7XG4gICAgY29tbWFuZFdhdGNoOiBzdHJpbmc7XG4gICAgYXJncz86IHN0cmluZ1tdO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBQcm9qZWN0Rm9yQXV0b1JlbGVhc2Uge1xuICAgIGN3ZDogc3RyaW5nLFxuICAgIGNvbW1hbmQ6IHN0cmluZztcbiAgICBhcmdzPzogc3RyaW5nW107XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEF1dG9BY3Rpb25zVXNlciB7XG4gICAgYnVpbGRzPzogUHJvamVjdEZvckF1dG9CdWlsZFtdO1xuICAgIGF1dG9yZWxlYXNlcz86IFByb2plY3RGb3JBdXRvUmVsZWFzZVtdO1xuICB9XG5cblxuICBleHBvcnQgaW50ZXJmYWNlIFRzY0NvbXBpbGVPcHRpb25zIHtcbiAgICBjd2Q6IHN0cmluZztcbiAgICB3YXRjaD86IGJvb2xlYW47XG4gICAgb3V0RGlyPzogQnVpbGREaXI7XG4gICAgZ2VuZXJhdGVEZWNsYXJhdGlvbnM/OiBib29sZWFuO1xuICAgIHRzRXhlPzogc3RyaW5nO1xuICAgIGRpYWdub3N0aWNzPzogYm9vbGVhbjtcbiAgICBoaWRlRXJyb3JzPzogYm9vbGVhbjtcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG4gIH1cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQnVpbGRTZXJ2ZUFyZ3NTZXJ2ZSB7XG4gICAgcG9ydDogc3RyaW5nO1xuICAgIGJhc2VVcmw6IHN0cmluZztcbiAgICBvdXREaXI6IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCB0eXBlIEJ1aWxkRGlyID0gJ2Rpc3QnO1xuICBleHBvcnQgdHlwZSBCdWlsZERpckJyb3dzZXIgPSAnYnJvd3NlcicgfCAnd2Vic3FsJztcblxuICBleHBvcnQgdHlwZSBJbmxpbmVQa2cgPSB7XG4gICAgaXNJc29tb3JwaGljOiBib29sZWFuO1xuICAgIHJlYWxOYW1lOiBzdHJpbmc7XG4gIH1cblxuXG4gIGV4cG9ydCB0eXBlIE1vZGlmaWVkRmlsZXMgPSB7IG1vZGlmaWVkRmlsZXM6IHN0cmluZ1tdIH07XG5cbiAgZXhwb3J0IGNsYXNzIFJhbmdlIHtcblxuICAgIHN0YXRpYyBjbG9uZShyOiBSYW5nZSkge1xuICAgICAgcmV0dXJuIG5ldyBSYW5nZShyLmZyb20sIHIudG8pO1xuICAgIH1cblxuICAgIHN0YXRpYyBmcm9tKGZyb206IG51bWJlcikge1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0byh0bzogbnVtYmVyKSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBSYW5nZShmcm9tLCB0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBmcm9tOiBudW1iZXIsXG4gICAgICBwdWJsaWMgdG86IG51bWJlcikge1xuICAgICAgaWYgKF8uaXNOYXRpdmUoZnJvbSkgfHwgXy5pc05hdGl2ZSh0bykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGlzIFJhbmdlIHR5cGUgaXMgb25seSBmb3IgcG9zaXRpdmUgbnVtYmVyc2ApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGdldCBsZW5ndGgoKSB7XG4gICAgICByZXR1cm4gdGhpcy50byAtIHRoaXMuZnJvbTtcbiAgICB9XG5cbiAgICBnZXQgYXJyYXkoKSB7XG4gICAgICBjb25zdCBhcnIgPSBbXTtcbiAgICAgIGZvciAobGV0IGluZGV4ID0gdGhpcy5mcm9tOyBpbmRleCA8PSB0aGlzLnRvOyBpbmRleCsrKSB7XG4gICAgICAgIGFyci5wdXNoKGluZGV4KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnI7XG4gICAgfVxuXG4gICAgY29udGFpbnMoYW5vdGhlclJhbmdlT3JOdW1iZXI6IFJhbmdlIHwgbnVtYmVyKSB7XG4gICAgICBpZiAoXy5pc051bWJlcihhbm90aGVyUmFuZ2VPck51bWJlcikpIHtcbiAgICAgICAgcmV0dXJuIGFub3RoZXJSYW5nZU9yTnVtYmVyID49IHRoaXMuZnJvbSAmJiBhbm90aGVyUmFuZ2VPck51bWJlciA8PSB0aGlzLnRvO1xuICAgICAgfVxuICAgICAgYW5vdGhlclJhbmdlT3JOdW1iZXIgPSBhbm90aGVyUmFuZ2VPck51bWJlciBhcyBSYW5nZTtcblxuICAgICAgcmV0dXJuIChhbm90aGVyUmFuZ2VPck51bWJlci5mcm9tID49IHRoaXMuZnJvbSAmJiBhbm90aGVyUmFuZ2VPck51bWJlci50byA8PSB0aGlzLnRvKTtcbiAgICB9XG5cbiAgfVxuXG4gIGV4cG9ydCB0eXBlIFJvb3RBcmdzVHlwZSA9IHtcbiAgICB0bnBOb25JbnRlcmFjdGl2ZTogYm9vbGVhbjtcbiAgICB0bnBTaG93UHJvZ3Jlc3M6IGJvb2xlYW47XG4gICAgdG5wTm9Db2xvcnNNb2RlOiBib29sZWFuO1xuICAgIGZpbmROZWFyZXN0UHJvamVjdDogYm9vbGVhbjtcbiAgICBmaW5kTmVhcmVzdFByb2plY3RXaXRoR2l0Um9vdDogYm9vbGVhbjtcbiAgICBmaW5kTmVhcmVzdFByb2plY3RUeXBlOiBDb3JlTW9kZWxzLkxpYlR5cGU7XG4gICAgZmluZE5lYXJlc3RQcm9qZWN0VHlwZVdpdGhHaXRSb290OiBDb3JlTW9kZWxzLkxpYlR5cGU7XG4gICAgY3dkOiBzdHJpbmc7XG4gIH07XG5cblxuICBleHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRlUHJvamVjdENvcHlPcHQge1xuICAgIG92ZXJyaWRlPzogYm9vbGVhbjtcbiAgICBtYXJrQXNHZW5lcmF0ZWQ/OiBib29sZWFuO1xuICAgIHJlZ2VuZXJhdGVPbmx5Q29yZVByb2plY3RzPzogYm9vbGVhbjtcbiAgICBmb3JjZUNvcHlQYWNrYWdlSlNPTj86IGJvb2xlYW47XG4gICAgZmlsdGVyRm9yUmVsZWFzZURpc3Q/OiBib29sZWFuO1xuICAgIHNob3dJbmZvPzogYm9vbGVhbjtcbiAgICBvbW1pdFNvdXJjZUNvZGU/OiBib29sZWFuO1xuICAgIHJlZ2VuZXJhdGVQcm9qZWN0Q2hpbGRzPzogYm9vbGVhbjtcbiAgICB1c2VUZW1wTG9jYXRpb24/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIGNvcHkgbGlua3MgYXMgZm9sZGVycyBhbmQgZmlsZXNcbiAgICAgKi9cbiAgICBkZXJlZmVyZW5jZT86IGJvb2xlYW47XG4gIH1cblxuXG4gIGV4cG9ydCB0eXBlIFNvdXJjZUZvbGRlciA9ICdzcmMnIHwgJ2NvbXBvbmVudHMnIHwgJ2N1c3RvbScgfCAndG1wLXNyYyc7XG5cblxuICBleHBvcnQgY29uc3QgSW1hZ2VGaWxlRXh0ZW5zaW9uQXJyOiBDb3JlTW9kZWxzLkltYWdlRmlsZUV4dGVuc2lvbltdID0gW1xuICAgICdqcGcnLCAnanBlZycsICdwbmcnLCAnc3ZnJ1xuICBdO1xuXG5cbiAgZXhwb3J0IHR5cGUgUmVjcmVhdGVGaWxlID0geyB3aGVyZTogc3RyaW5nOyBmcm9tOiBzdHJpbmc7IGxpbmtlZD86IGJvb2xlYW47IH07XG5cbiAgZXhwb3J0IHR5cGUgVG5wID0gVG5wRGF0YSAmIFRucElQYWNrYWdlSlNPTk92ZXJyaWRlO1xuXG5cbiAgZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclNlcnZpY2VPcHRpb25zIHtcbiAgICBraWxsQWxyZWFkeVJlZ2lzdGVyZD86IGJvb2xlYW47XG4gICAgYWN0aW9uV2hlbkFzc2lnbmVkUG9ydD86IChpdFdhc1JlZ2lzdGVyZWQ6IGJvb2xlYW4sIHJlZ2lzdGVyZE9uUG9ydD86IG51bWJlcikgPT4gYW55O1xuICB9XG5cbiAgZXhwb3J0IGNsYXNzIFN5c3RlbVNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICBwdWJsaWMgbmFtZTogc3RyaW5nLFxuICAgICAgcHVibGljIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gICAgKSB7XG5cbiAgICB9XG4gIH1cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUHNMaXN0SW5mbyB7XG4gICAgcGlkOiBudW1iZXI7XG4gICAgcHBpZDogbnVtYmVyO1xuICAgIG1lbW9yeTogbnVtYmVyO1xuICAgIGNwdTogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBjbWQ6IHN0cmluZztcblxuICB9XG5cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wIGxpYi9tb2RlbHMudHMiXX0=