tnp-helpers 18.0.14 → 18.0.16

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 (216) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/esm2022/lib/base/base-cli-worker-config.mjs +40 -0
  4. package/browser/esm2022/lib/base/base-cli-worker-controller.mjs +125 -0
  5. package/browser/esm2022/lib/base/base-cli-worker.mjs +451 -0
  6. package/browser/esm2022/lib/base/base-compiler-for-project.mjs +14 -1
  7. package/browser/esm2022/lib/base/base-db.mjs +2 -1
  8. package/browser/esm2022/lib/base/base-debounce-compiler-for-project.mjs +6 -2
  9. package/browser/esm2022/lib/base/base-git.mjs +9 -4
  10. package/browser/esm2022/lib/base/base-github-pages.mjs +110 -0
  11. package/browser/esm2022/lib/base/base-linked-projects.mjs +22 -3
  12. package/browser/esm2022/lib/base/base-project-resolver.mjs +9 -6
  13. package/browser/esm2022/lib/base/base-project.mjs +34 -2
  14. package/browser/esm2022/lib/base/base-quick-fixes.mjs +1 -1
  15. package/browser/esm2022/lib/base/base-release-process.mjs +1 -1
  16. package/browser/esm2022/lib/base/base-vscode.mjs +27 -1
  17. package/browser/esm2022/lib/base/core-project.mjs +1 -1
  18. package/browser/esm2022/lib/base/index.mjs +4 -1
  19. package/browser/esm2022/lib/base/linked-project.mjs +18 -1
  20. package/browser/esm2022/lib/base/ports-worker.mjs +162 -0
  21. package/browser/esm2022/lib/helpers/helpers.mjs +1 -3
  22. package/browser/esm2022/lib/models.mjs +1 -1
  23. package/browser/esm2022/lib/utils.mjs +119 -1
  24. package/browser/fesm2022/tnp-helpers.mjs +1066 -74
  25. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  26. package/browser/lib/base/base-cli-worker-config.d.ts +28 -0
  27. package/browser/lib/base/base-cli-worker-controller.d.ts +16 -0
  28. package/browser/lib/base/base-cli-worker.d.ts +83 -0
  29. package/browser/lib/base/base-compiler-for-project.d.ts +2 -0
  30. package/browser/lib/base/base-debounce-compiler-for-project.d.ts +4 -0
  31. package/browser/lib/base/base-git.d.ts +3 -3
  32. package/browser/lib/base/base-github-pages.d.ts +15 -0
  33. package/browser/lib/base/base-linked-projects.d.ts +2 -1
  34. package/browser/lib/base/base-project-resolver.d.ts +6 -7
  35. package/browser/lib/base/base-project.d.ts +18 -7
  36. package/browser/lib/base/base-quick-fixes.d.ts +1 -1
  37. package/browser/lib/base/base-release-process.d.ts +1 -1
  38. package/browser/lib/base/core-project.d.ts +2 -2
  39. package/browser/lib/base/index.d.ts +3 -0
  40. package/browser/lib/base/linked-project.d.ts +1 -0
  41. package/browser/lib/base/ports-worker.d.ts +33 -0
  42. package/browser/lib/utils.d.ts +12 -0
  43. package/client/README.md +24 -24
  44. package/client/esm2022/lib/base/base-cli-worker-config.mjs +40 -0
  45. package/client/esm2022/lib/base/base-cli-worker-controller.mjs +125 -0
  46. package/client/esm2022/lib/base/base-cli-worker.mjs +451 -0
  47. package/client/esm2022/lib/base/base-compiler-for-project.mjs +14 -1
  48. package/client/esm2022/lib/base/base-db.mjs +2 -1
  49. package/client/esm2022/lib/base/base-debounce-compiler-for-project.mjs +6 -2
  50. package/client/esm2022/lib/base/base-git.mjs +9 -4
  51. package/client/esm2022/lib/base/base-github-pages.mjs +110 -0
  52. package/client/esm2022/lib/base/base-linked-projects.mjs +22 -3
  53. package/client/esm2022/lib/base/base-project-resolver.mjs +9 -6
  54. package/client/esm2022/lib/base/base-project.mjs +34 -2
  55. package/client/esm2022/lib/base/base-quick-fixes.mjs +1 -1
  56. package/client/esm2022/lib/base/base-release-process.mjs +1 -1
  57. package/client/esm2022/lib/base/base-vscode.mjs +27 -1
  58. package/client/esm2022/lib/base/core-project.mjs +1 -1
  59. package/client/esm2022/lib/base/index.mjs +4 -1
  60. package/client/esm2022/lib/base/linked-project.mjs +18 -1
  61. package/client/esm2022/lib/base/ports-worker.mjs +162 -0
  62. package/client/esm2022/lib/helpers/helpers.mjs +1 -3
  63. package/client/esm2022/lib/models.mjs +1 -1
  64. package/client/esm2022/lib/utils.mjs +119 -1
  65. package/client/fesm2022/tnp-helpers.mjs +1066 -74
  66. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  67. package/client/lib/base/base-cli-worker-config.d.ts +28 -0
  68. package/client/lib/base/base-cli-worker-controller.d.ts +16 -0
  69. package/client/lib/base/base-cli-worker.d.ts +83 -0
  70. package/client/lib/base/base-compiler-for-project.d.ts +2 -0
  71. package/client/lib/base/base-debounce-compiler-for-project.d.ts +4 -0
  72. package/client/lib/base/base-git.d.ts +3 -3
  73. package/client/lib/base/base-github-pages.d.ts +15 -0
  74. package/client/lib/base/base-linked-projects.d.ts +2 -1
  75. package/client/lib/base/base-project-resolver.d.ts +6 -7
  76. package/client/lib/base/base-project.d.ts +18 -7
  77. package/client/lib/base/base-quick-fixes.d.ts +1 -1
  78. package/client/lib/base/base-release-process.d.ts +1 -1
  79. package/client/lib/base/core-project.d.ts +2 -2
  80. package/client/lib/base/index.d.ts +3 -0
  81. package/client/lib/base/linked-project.d.ts +1 -0
  82. package/client/lib/base/ports-worker.d.ts +33 -0
  83. package/client/lib/utils.d.ts +12 -0
  84. package/lib/base/base-cli-worker-config.d.ts +27 -0
  85. package/lib/base/base-cli-worker-config.js +53 -0
  86. package/lib/base/base-cli-worker-config.js.map +1 -0
  87. package/lib/base/base-cli-worker-controller.d.ts +15 -0
  88. package/lib/base/base-cli-worker-controller.js +154 -0
  89. package/lib/base/base-cli-worker-controller.js.map +1 -0
  90. package/lib/base/base-cli-worker.d.ts +82 -0
  91. package/lib/base/base-cli-worker.js +654 -0
  92. package/lib/base/base-cli-worker.js.map +1 -0
  93. package/lib/base/base-command-line.backend.d.ts +3 -0
  94. package/lib/base/base-command-line.backend.js +41 -0
  95. package/lib/base/base-command-line.backend.js.map +1 -1
  96. package/lib/base/base-compiler-for-project.js +2 -1
  97. package/lib/base/base-compiler-for-project.js.map +1 -1
  98. package/lib/base/base-db.d.ts +1 -1
  99. package/lib/base/base-db.js +2 -2
  100. package/lib/base/base-db.js.map +1 -1
  101. package/lib/base/base-debounce-compiler-for-project.d.ts +4 -0
  102. package/lib/base/base-debounce-compiler-for-project.js +5 -1
  103. package/lib/base/base-debounce-compiler-for-project.js.map +1 -1
  104. package/lib/base/base-git.d.ts +3 -3
  105. package/lib/base/base-git.js +18 -18
  106. package/lib/base/base-git.js.map +1 -1
  107. package/lib/base/base-github-pages.d.ts +14 -0
  108. package/lib/base/base-github-pages.js +173 -0
  109. package/lib/base/base-github-pages.js.map +1 -0
  110. package/lib/base/base-linked-projects.d.ts +2 -1
  111. package/lib/base/base-linked-projects.js +30 -22
  112. package/lib/base/base-linked-projects.js.map +1 -1
  113. package/lib/base/base-project-resolver.d.ts +6 -7
  114. package/lib/base/base-project-resolver.js +14 -5
  115. package/lib/base/base-project-resolver.js.map +1 -1
  116. package/lib/base/base-project.d.ts +18 -7
  117. package/lib/base/base-project.js +38 -2
  118. package/lib/base/base-project.js.map +1 -1
  119. package/lib/base/base-quick-fixes.d.ts +1 -1
  120. package/lib/base/base-release-process.d.ts +1 -1
  121. package/lib/base/base-vscode.js +19 -5
  122. package/lib/base/base-vscode.js.map +1 -1
  123. package/lib/base/config-database.js +2 -2
  124. package/lib/base/config-database.js.map +1 -1
  125. package/lib/base/core-project.d.ts +2 -2
  126. package/lib/base/gh-temp-code.d.ts +3 -0
  127. package/lib/base/gh-temp-code.js +4 -2
  128. package/lib/base/gh-temp-code.js.map +1 -1
  129. package/lib/base/index.d.ts +3 -0
  130. package/lib/base/index.js +3 -0
  131. package/lib/base/index.js.map +1 -1
  132. package/lib/base/linked-project.d.ts +1 -0
  133. package/lib/base/linked-project.js +18 -0
  134. package/lib/base/linked-project.js.map +1 -1
  135. package/lib/base/ports-worker.d.ts +32 -0
  136. package/lib/base/ports-worker.js +244 -0
  137. package/lib/base/ports-worker.js.map +1 -0
  138. package/lib/base/project-database.js +1 -1
  139. package/lib/base/project-database.js.map +1 -1
  140. package/lib/helpers/for-backend/helpers-cli-tool.backend.js +0 -1
  141. package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
  142. package/lib/helpers/for-backend/helpers-console-gui.d.ts +1 -1
  143. package/lib/helpers/for-backend/helpers-file-folders.backend.js +1 -1
  144. package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +1 -1
  145. package/lib/helpers/for-backend/helpers-process.backend.d.ts +7 -3
  146. package/lib/helpers/for-backend/helpers-process.backend.js +28 -36
  147. package/lib/helpers/for-backend/helpers-process.backend.js.map +1 -1
  148. package/lib/helpers/for-backend/ts-code/index.d.ts +0 -2
  149. package/lib/helpers/for-backend/ts-code/index.js +0 -2
  150. package/lib/helpers/for-backend/ts-code/index.js.map +1 -1
  151. package/lib/helpers/for-browser/angular.helper.js +2 -2
  152. package/lib/helpers/helpers.d.ts +0 -4
  153. package/lib/helpers/helpers.js +1 -7
  154. package/lib/helpers/helpers.js.map +1 -1
  155. package/lib/old/base-component.js +2 -2
  156. package/lib/old/base-formly-component.js +2 -2
  157. package/lib/old/dual-component-ctrl.js +2 -2
  158. package/lib/utils.d.ts +12 -0
  159. package/lib/utils.js +123 -0
  160. package/lib/utils.js.map +1 -1
  161. package/migrations/index.d.ts +1 -0
  162. package/migrations/index.js +6 -0
  163. package/migrations/index.js.map +1 -0
  164. package/migrations/migrations_index._auto-generated_.d.ts +0 -0
  165. package/migrations/migrations_index._auto-generated_.js +4 -0
  166. package/migrations/migrations_index._auto-generated_.js.map +1 -0
  167. package/package.json +5 -5
  168. package/taon.jsonc +49 -49
  169. package/tmp-environment.json +39 -31
  170. package/websql/README.md +24 -24
  171. package/websql/esm2022/lib/base/base-cli-worker-config.mjs +40 -0
  172. package/websql/esm2022/lib/base/base-cli-worker-controller.mjs +125 -0
  173. package/websql/esm2022/lib/base/base-cli-worker.mjs +451 -0
  174. package/websql/esm2022/lib/base/base-compiler-for-project.mjs +14 -1
  175. package/websql/esm2022/lib/base/base-db.mjs +2 -1
  176. package/websql/esm2022/lib/base/base-debounce-compiler-for-project.mjs +6 -2
  177. package/websql/esm2022/lib/base/base-git.mjs +9 -4
  178. package/websql/esm2022/lib/base/base-github-pages.mjs +110 -0
  179. package/websql/esm2022/lib/base/base-linked-projects.mjs +22 -3
  180. package/websql/esm2022/lib/base/base-project-resolver.mjs +9 -6
  181. package/websql/esm2022/lib/base/base-project.mjs +34 -2
  182. package/websql/esm2022/lib/base/base-quick-fixes.mjs +1 -1
  183. package/websql/esm2022/lib/base/base-release-process.mjs +1 -1
  184. package/websql/esm2022/lib/base/base-vscode.mjs +27 -1
  185. package/websql/esm2022/lib/base/core-project.mjs +1 -1
  186. package/websql/esm2022/lib/base/index.mjs +4 -1
  187. package/websql/esm2022/lib/base/linked-project.mjs +18 -1
  188. package/websql/esm2022/lib/base/ports-worker.mjs +165 -0
  189. package/websql/esm2022/lib/helpers/helpers.mjs +1 -3
  190. package/websql/esm2022/lib/models.mjs +1 -1
  191. package/websql/esm2022/lib/utils.mjs +119 -1
  192. package/websql/fesm2022/tnp-helpers.mjs +1060 -65
  193. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  194. package/websql/lib/base/base-cli-worker-config.d.ts +28 -0
  195. package/websql/lib/base/base-cli-worker-controller.d.ts +16 -0
  196. package/websql/lib/base/base-cli-worker.d.ts +83 -0
  197. package/websql/lib/base/base-compiler-for-project.d.ts +2 -0
  198. package/websql/lib/base/base-debounce-compiler-for-project.d.ts +4 -0
  199. package/websql/lib/base/base-git.d.ts +3 -3
  200. package/websql/lib/base/base-github-pages.d.ts +15 -0
  201. package/websql/lib/base/base-linked-projects.d.ts +2 -1
  202. package/websql/lib/base/base-project-resolver.d.ts +6 -7
  203. package/websql/lib/base/base-project.d.ts +18 -7
  204. package/websql/lib/base/base-quick-fixes.d.ts +1 -1
  205. package/websql/lib/base/base-release-process.d.ts +1 -1
  206. package/websql/lib/base/core-project.d.ts +2 -2
  207. package/websql/lib/base/index.d.ts +3 -0
  208. package/websql/lib/base/linked-project.d.ts +1 -0
  209. package/websql/lib/base/ports-worker.d.ts +33 -0
  210. package/websql/lib/utils.d.ts +12 -0
  211. package/lib/helpers/for-backend/ts-code/ts-code-extractor.d.ts +0 -26
  212. package/lib/helpers/for-backend/ts-code/ts-code-extractor.js +0 -62
  213. package/lib/helpers/for-backend/ts-code/ts-code-extractor.js.map +0 -1
  214. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.d.ts +0 -19
  215. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.js +0 -81
  216. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.js.map +0 -1
@@ -14,10 +14,11 @@ import { CoreProject, Helpers, } from '../index'; /* */
14
14
  /* */
15
15
  /* */
16
16
  /* */
17
+ /* */
17
18
  import { BaseProjectResolver } from './base-project-resolver';
18
19
  const takenPorts = [];
19
20
  export class BaseProject {
20
- static { this.ins = new BaseProjectResolver(BaseProject); }
21
+ static { this.ins = new BaseProjectResolver(BaseProject, 'taon'); }
21
22
  static { this.cache = {}; }
22
23
  get globalCache() {
23
24
  return BaseProject.cache;
@@ -59,6 +60,9 @@ export class BaseProject {
59
60
  /* */
60
61
  /* */
61
62
  /* */
63
+ /* */
64
+ /* */
65
+ /* */
62
66
  }
63
67
  get isMonorepo() {
64
68
  return false;
@@ -316,6 +320,9 @@ export class BaseProject {
316
320
  /* */
317
321
  return (void 0);
318
322
  }
323
+ /**
324
+ * Function will return relative path from project location
325
+ */
319
326
  relative(absoultePath) {
320
327
  return crossPlatformPath(path.relative(this.location, absoultePath));
321
328
  }
@@ -339,6 +346,19 @@ export class BaseProject {
339
346
  /* */
340
347
  return (void 0);
341
348
  }
349
+ formatFile(specificRelativePath) {
350
+ /* */
351
+ /* */
352
+ /* */
353
+ /* */
354
+ return (void 0);
355
+ }
356
+ formatAllFiles() {
357
+ /* */
358
+ /* */
359
+ /* */
360
+ return (void 0);
361
+ }
342
362
  /**
343
363
  * same as project.pathhasFileExists();
344
364
  * but with path.resolve
@@ -530,6 +550,18 @@ export class BaseProject {
530
550
  /* */
531
551
  /* */
532
552
  }
553
+ async registerAndAssignPort() {
554
+ /* */
555
+ /* */
556
+ /* */
557
+ /* */
558
+ /* */
559
+ /* */
560
+ return (void 0);
561
+ }
562
+ /**
563
+ * @deprecated
564
+ */
533
565
  async assignFreePort(startFrom = 4200, howManyFreePortsAfterThatPort = 0) {
534
566
  /* */
535
567
  /* */
@@ -876,4 +908,4 @@ export class BaseProject {
876
908
  }
877
909
  ;
878
910
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-project.ts
879
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2Jhc2UtcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBSUwsT0FBTyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTNELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyQyxPQUFPLEVBQWtCLFdBQVcsRUFBSSxPQUFPLEdBQTRELE1BQU0sVUFBVSxDQUFDLENBQUEsS0FBSztBQUNqSSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQWdCOUQsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBRXRCLE1BQU0sT0FBZ0IsV0FBVzthQU94QixRQUFHLEdBQUcsSUFBSSxtQkFBbUIsQ0FBYyxXQUFXLENBQUMsQUFBcEQsQ0FBcUQ7YUFPakQsVUFBSyxHQUFRLEVBQUUsQUFBVixDQUFXO0lBQzlCLElBQVcsV0FBVztRQUNwQixPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQXVCRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLENBQVM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBR0QsYUFBYTtJQUNiO0lBQ0U7O09BRUc7SUFDSCxRQUFn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Q0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFJRDs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBaUI7UUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQzs7Ozs7O0tBTVosQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLElBQUk7UUFDWixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQzs7QUFJRixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlFQUFpRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgQ29yZU1vZGVscyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgQ0xJIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBwYXRoLCBjcm9zc1BsYXRmb3JtUGF0aCB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAndG5wLWNvbmZpZy9icm93c2VyJztcbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7ICAgQ29tbWl0RGF0YSwgICBDb3JlUHJvamVjdCwgICBIZWxwZXJzLCAgIExpbmtlZFBvcmplY3RzQ29uZmlnLCAgIExpbmtlZFByb2plY3QsICAgVHlwZU9mQ29tbWl0LCB9IGZyb20gJy4uL2luZGV4JzsvKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBCYXNlUHJvamVjdFJlc29sdmVyIH0gZnJvbSAnLi9iYXNlLXByb2plY3QtcmVzb2x2ZXInO1xuaW1wb3J0IHsgICBCYXNlUHJvamVjdFR5cGUsICAgTGlicmFyaWVzQnVpbGRPcHRpb25zLCAgIExpYnJhcnlCdWlsZENvbW1hbmRPcHRpb25zLCAgIE5nUHJvamVjdCwgfSBmcm9tICcuLi9tb2RlbHMnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgdHlwZSB7IEJhc2VMaWJyYXJ5QnVpbGQgfSBmcm9tICcuL2Jhc2UtbGlicmFyeS1idWlsZCc7XG5pbXBvcnQgeyBCYXNlTnBtSGVscGVycyB9IGZyb20gJy4vYmFzZS1ucG0taGVscGVycyc7XG5pbXBvcnQgeyBCYXNlTGlua2VkUHJvamVjdHMgfSBmcm9tICcuL2Jhc2UtbGlua2VkLXByb2plY3RzJztcbmltcG9ydCB7IEJhc2VHaXQgfSBmcm9tICcuL2Jhc2UtZ2l0JztcbmltcG9ydCB7IEJhc2VWc2NvZGVIZWxwZXJzIH0gZnJvbSAnLi9iYXNlLXZzY29kZSc7XG5pbXBvcnQgeyBCYXNlUmVsZWFzZVByb2Nlc3MgfSBmcm9tICcuL2Jhc2UtcmVsZWFzZS1wcm9jZXNzJztcbmltcG9ydCB7IEJhc2VRdWlja0ZpeGVzIH0gZnJvbSAnLi9iYXNlLXF1aWNrLWZpeGVzJztcblxuXG5jb25zdCB0YWtlblBvcnRzID0gW107XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlUHJvamVjdDxcbiAgUFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0ID0gQmFzZVByb2plY3Q8YW55LCBhbnk+LFxuICBUWVBFID0gQmFzZVByb2plY3RUeXBlLFxuPiB7XG5cblxuXG4gIHN0YXRpYyBpbnMgPSBuZXcgQmFzZVByb2plY3RSZXNvbHZlcjxCYXNlUHJvamVjdD4oQmFzZVByb2plY3QpO1xuXG5cblxuXG5cbiAgcHVibGljIGNhY2hlOiBhbnkgPSB7fTtcbiAgcHVibGljIHN0YXRpYyBjYWNoZTogYW55ID0ge307XG4gIHB1YmxpYyBnZXQgZ2xvYmFsQ2FjaGUoKSB7XG4gICAgcmV0dXJuIEJhc2VQcm9qZWN0LmNhY2hlO1xuICB9XG4gIHJlYWRvbmx5IHR5cGU6IFRZUEUgfCBzdHJpbmcgPSAndW5rbm93JztcblxuICAvKipcbiAgICogcmVzb2x2ZSBpbnN0YW5jZVxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgaW5zOiBCYXNlUHJvamVjdFJlc29sdmVyPFBST0pFQ1Q+O1xuICAvKipcbiAgICogVW5pcXVlIGZyZWUgcG9ydCBmb3IgcHJvamVjdCBpbnN0YW5jZVxuICAgKiBvbmx5IGF2YWlsYWJsZSBhZnRlciBleGVjdXRpbmcgKnRoaXMuYXNzaWduRnJlZVBvcnQoKSpcbiAgICovXG4gIHJlYWRvbmx5IHBvcnQ6IHN0cmluZztcblxuICBwdWJsaWMgbGlicmFyeUJ1aWxkOiBCYXNlTGlicmFyeUJ1aWxkPEJhc2VQcm9qZWN0PjtcbiAgcHVibGljIG5wbUhlbHBlcnM6IEJhc2VOcG1IZWxwZXJzO1xuICBwdWJsaWMgbGlua2VkUHJvamVjdHM6IEJhc2VMaW5rZWRQcm9qZWN0cztcbiAgcHVibGljIHZzQ29kZUhlbHBlcnM6IEJhc2VWc2NvZGVIZWxwZXJzO1xuICBwdWJsaWMgcmVsZWFzZVByb2Nlc3M6IEJhc2VSZWxlYXNlUHJvY2VzcztcbiAgcHVibGljIGdpdDogQmFzZUdpdDtcbiAgcHVibGljIHF1aWNrRml4ZXM6IEJhc2VRdWlja0ZpeGVzO1xuXG5cbiAgcHJpdmF0ZSBfX2xvY2F0aW9uOiBzdHJpbmc7XG4gIGdldCBsb2NhdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9fbG9jYXRpb247XG4gIH1cbiAgc2V0IGxvY2F0aW9uKHY6IHN0cmluZykge1xuICAgIHRoaXMuX19sb2NhdGlvbiA9IGNyb3NzUGxhdGZvcm1QYXRoKHYpO1xuICB9XG5cblxuICAvLyBAdHMtaWdub3JlXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIGRvZXNuJ3QgbmVlZCB0byBiZSByZWFsIHBhdGggLT4gY2FuIGJlIGxpbmtcbiAgICAgKi9cbiAgICBsb2NhdGlvbjogc3RyaW5nLFxuICApIHtcbiAgICB0aGlzLmxvY2F0aW9uID0gbG9jYXRpb247XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBnZXQgaXNNb25vcmVwbygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIG9yZGVyQ29yZVByb2plY3RzKGNvcmVQcm9qZWN0czogQ29yZVByb2plY3RbXSk6IENvcmVQcm9qZWN0W10ge1xuICAgIGNvbnN0IHByb2plY3RNYXAgPSBuZXcgTWFwPENvcmVQcm9qZWN0LCBDb3JlUHJvamVjdFtdPigpO1xuXG5cbiAgICBmb3IgKGNvbnN0IHByb2plY3Qgb2YgY29yZVByb2plY3RzKSB7XG4gICAgICBwcm9qZWN0TWFwLnNldChwcm9qZWN0LCBbXSk7XG4gICAgfVxuXG5cbiAgICBmb3IgKGNvbnN0IHByb2plY3Qgb2YgY29yZVByb2plY3RzKSB7XG4gICAgICBpZiAoIXByb2plY3RNYXAuaGFzKHByb2plY3QuZXh0ZW5kcykpIHtcbiAgICAgICAgcHJvamVjdE1hcC5zZXQocHJvamVjdC5leHRlbmRzLCBbXSk7XG4gICAgICB9XG4gICAgICBwcm9qZWN0TWFwLmdldChwcm9qZWN0LmV4dGVuZHMpIS5wdXNoKHByb2plY3QpO1xuICAgIH1cblxuICAgIGNvbnN0IG9yZGVyZWRQcm9qZWN0czogQ29yZVByb2plY3RbXSA9IFtdO1xuICAgIGNvbnN0IHZpc2l0ZWQgPSBuZXcgU2V0PENvcmVQcm9qZWN0PigpO1xuXG4gICAgY29uc3QgdmlzaXQgPSAocHJvamVjdDogQ29yZVByb2plY3QpID0+IHtcbiAgICAgIGlmICghdmlzaXRlZC5oYXMocHJvamVjdCkpIHtcbiAgICAgICAgdmlzaXRlZC5hZGQocHJvamVjdCk7XG4gICAgICAgIGNvbnN0IGRlcGVuZGVuY2llcyA9IHByb2plY3RNYXAuZ2V0KHByb2plY3QpO1xuICAgICAgICBpZiAoZGVwZW5kZW5jaWVzKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBkZXAgb2YgZGVwZW5kZW5jaWVzKSB7XG4gICAgICAgICAgICB2aXNpdChkZXApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBvcmRlcmVkUHJvamVjdHMucHVzaChwcm9qZWN0KTtcbiAgICAgIH1cbiAgICB9O1xuXG5cbiAgICBmb3IgKGNvbnN0IHByb2plY3Qgb2YgY29yZVByb2plY3RzKSB7XG4gICAgICB2aXNpdChwcm9qZWN0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3JkZXJlZFByb2plY3RzLnJldmVyc2UoKTtcbiAgfVxuXG5cblxuXG4gIGdldCBjb3JlKCk6IENvcmVQcm9qZWN0IHtcbiAgICBpZiAoIV8uaXNVbmRlZmluZWQodGhpcy5jYWNoZVsnY29yZSddKSkge1xuICAgICAgcmV0dXJuIHRoaXMuY2FjaGVbJ2NvcmUnXTtcbiAgICB9XG5cbiAgICBsZXQgY29yZVByb2plY3RzID0gQ29yZVByb2plY3QuY29yZVByb2plY3RzLmZpbHRlcihwID0+XG4gICAgICBwLnJlY29nbml6ZWRGbih0aGlzIGFzIGFueSksXG4gICAgKTtcbiAgICBjb3JlUHJvamVjdHMgPSB0aGlzLm9yZGVyQ29yZVByb2plY3RzKGNvcmVQcm9qZWN0cyk7XG5cblxuICAgIHRoaXMuY2FjaGVbJ2NvcmUnXSA9IF8uZmlyc3QoY29yZVByb2plY3RzKTtcbiAgICByZXR1cm4gdGhpcy5jYWNoZVsnY29yZSddO1xuICB9XG5cblxuXG4gIGdldCBsaW5rZWRQcm9qZWN0c0V4aXN0ZWQoKTogUFJPSkVDVFtdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHB1YmxpYyBzZXRUeXBlKHR5cGU6IFRZUEUpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG5cblxuICBwdWJsaWMgdHlwZUlzKC4uLnR5cGVzOiBUWVBFW10pIHtcbiAgICByZXR1cm4gdGhpcy50eXBlICYmIHR5cGVzLmluY2x1ZGVzKHRoaXMudHlwZSBhcyBhbnkpO1xuICB9XG5cblxuXG4gIHB1YmxpYyB0eXBlSXNOb3QoLi4udHlwZXM6IFRZUEVbXSkge1xuICAgIHJldHVybiAhdGhpcy50eXBlSXMoLi4udHlwZXMpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBwcm9qZWN0IGZvbGRlciBiYXNlbmFtZVxuICAgKi9cbiAgZ2V0IGJhc2VuYW1lKCk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIG5hbWUgZnJvbSBwYWNrYWdlLmpzb25cbiAgICovXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubnBtSGVscGVycz8ubmFtZSB8fCB0aGlzLm5hbWVGcm9tUG9tWE1MO1xuICB9XG5cbiAgZ2V0IG5hbWVGb3JDbGkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lPy5lbmRzV2l0aCgnLWNsaScpID8gdGhpcy5uYW1lIDogYCR7dGhpcy5uYW1lfS1jbGlgO1xuICB9XG5cbiAgZ2V0IG5hbWVGcm9tUG9tWE1MKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYXJ0aWZhY3RJZFBhdHRlcm4gPSAvPGFydGlmYWN0SWQ+KFtePF0rKTxcXC9hcnRpZmFjdElkPi87XG4gICAgY29uc3QgbWF0Y2ggPSAodGhpcy5yZWFkRmlsZSgncG9tLnhtbCcpIHx8ICcnKS5tYXRjaChhcnRpZmFjdElkUGF0dGVybik7XG4gICAgaWYgKG1hdGNoICYmIG1hdGNoWzFdKSB7XG4gICAgICByZXR1cm4gbWF0Y2hbMV07XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgZ2V0Rm9sZGVyc0ZvclBvc3NpYmxlUHJvamVjdENoaWxkcmVuKCk6IHN0cmluZ1tdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGdldEFsbENoaWxkcmVuKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogYWxpYXMgdG8gZ2V0QWxsQ2hpbGRyZW5cbiAgICovXG4gIGdldCBjaGlsZHJlbigpOiBQUk9KRUNUW10ge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldENoaWxkQnkobmFtZU9yQmFzZW5hbWU6IHN0cmluZywgZXJyb3JzID0gdHJ1ZSk6IFBST0pFQ1Qge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IHBhcmVudCgpOiBQUk9KRUNUIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgbmVhcmVzdFBhcmVudCgpOiBQUk9KRUNUIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBncmFuZHBhKCk6IFBST0pFQ1Qge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgYWxsTnBtUGFja2FnZXNOYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFt0aGlzLm5hbWVdO1xuICB9XG5cbiAgZ2V0IHRpdGxlQmFyTmFtZSgpIHtcbiAgICBjb25zdCBhbGxQYWNrYWdlc05hbWVzID1cbiAgICAgIHRoaXMuYWxsTnBtUGFja2FnZXNOYW1lcy5maWx0ZXIoZiA9PiBmICE9PSB0aGlzLmJhc2VuYW1lKS5sZW5ndGggPT09IDBcbiAgICAgICAgPyAnJ1xuICAgICAgICA6IGAoJHt0aGlzLmFsbE5wbVBhY2thZ2VzTmFtZXMuZmlsdGVyKGYgPT4gZiAhPT0gdGhpcy5iYXNlbmFtZSkuam9pbignLCcpfSlgO1xuXG4gICAgaWYgKHRoaXMucGFyZW50KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBgJHtwYXRoLmJhc2VuYW1lKHBhdGguZGlybmFtZSh0aGlzLnBhcmVudC5sb2NhdGlvbikpfS8ke3RoaXMucGFyZW50Lm5hbWV9L2AgK1xuICAgICAgICBgJHt0aGlzLmJhc2VuYW1lfSAke2FsbFBhY2thZ2VzTmFtZXN9IFsgXFwke2FjdGl2ZUVkaXRvclNob3J0fSBdYFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIGAke3BhdGguYmFzZW5hbWUocGF0aC5kaXJuYW1lKHRoaXMubG9jYXRpb24pKX0vYCArXG4gICAgICBgJHt0aGlzLmJhc2VuYW1lfSAoJHthbGxQYWNrYWdlc05hbWVzfSkgWyBcXCR7YWN0aXZlRWRpdG9yU2hvcnR9XWBcbiAgICApO1xuICB9XG5cbiAgZ2V0IGdlbmVyaWNOYW1lKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGNoZWNrQW5kQm9sZGVuUGF0aChmdWxsUGF0aDogc3RyaW5nKSB7XG4gICAgY29uc3QgcGFydHMgPSBmdWxsUGF0aC5zcGxpdCgnLycpO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gcGFydHMubWFwKChwYXJ0LCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgcGF0aFRvY2hlY2sgPSBwYXJ0cy5zbGljZSgwLCBpbmRleCArIDEpLmpvaW4oJy8nKTtcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgICByZXR1cm4gcGFydDtcbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHQuam9pbignLycpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBzYW1lIGhhcyBwcm9qZWN0Lmhhc0ZpbGUoKTtcbiAgICovXG4gIHBhdGhFeGlzdHMocmVsYXRpdmVQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhc0ZpbGUocmVsYXRpdmVQYXRoKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogc2FtZSBhcyBwcm9qZWN0LnBhdGhFeGlzdHMoKTtcbiAgICovXG4gIGhhc0ZpbGUocmVsYXRpdmVQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuICBoYXNGb2xkZXIocmVsYXRpdmVQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICByZWxhdGl2ZShhYnNvdWx0ZVBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiBjcm9zc1BsYXRmb3JtUGF0aChwYXRoLnJlbGF0aXZlKHRoaXMubG9jYXRpb24sIGFic291bHRlUGF0aCkpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSByZWxhdGl2ZVBhdGhcbiAgICogQHBhcmFtIG92ZXJyaWRlIGl0IHdpbGwgcmVtb3ZlIGV4XG4gICAqL1xuICBjcmVhdGVGb2xkZXIoXG4gICAgcmVsYXRpdmVQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBvcHRpb25zPzoge1xuICAgICAgb3ZlcnJpZGU/OiBib29sZWFuO1xuICAgIH0sXG4gICkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIHNhbWUgYXMgcHJvamVjdC5wYXRoaGFzRmlsZUV4aXN0cygpO1xuICAgKiBidXQgd2l0aCBwYXRoLnJlc29sdmVcbiAgICovXG4gIGNvbnRhaW5zRmlsZShmaWxlUmVsYXRpdmVUb1Byb2plY3RQYXRoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBmdWxsUGF0aCA9IHBhdGgucmVzb2x2ZShcbiAgICAgIHBhdGguam9pbih0aGlzLmxvY2F0aW9uLCBmaWxlUmVsYXRpdmVUb1Byb2plY3RQYXRoKSxcbiAgICApO1xuICAgIHJldHVybiBIZWxwZXJzLmV4aXN0cyhmdWxsUGF0aCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIGFic29sdXRlIHBhdGg6XG4gICAqIGNvbmNhdGVkIHByb2plY3QgbG9jYXRpb24gd2l0aCByZWxhdGl2ZSBwYXRoXG4gICAqL1xuICBwYXRoRm9yKHJlbGF0aXZlUGF0aDogc3RyaW5nIHwgc3RyaW5nW10pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICB3cml0ZUpzb24ocmVsYXRpdmVQYXRoOiBzdHJpbmcsIGpzb246IG9iamVjdCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHdyaXRlSnNvbkMocmVsYXRpdmVQYXRoOiBzdHJpbmcsIGpzb246IG9iamVjdCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1cyBleGVjdXRlIGluc3RlYWRcbiAgICogdXNlIG91dHB1dCBmcm9tIG9yIG1vcmUgcHJlY2llc2UgY3JhZnRlZCBhcGlcbiAgICovXG4gIHJ1bihjb21tYW5kOiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PENvcmVNb2RlbHMuUnVuT3B0aW9ucywgJ2N3ZCc+KSB7XG4gICAgbGV0IG9wdDogQ29yZU1vZGVscy5SdW5PcHRpb25zO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIHJldHVybiBIZWxwZXJzLnJ1bihjb21tYW5kLCBvcHQpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBzYW1lIGFzIHJ1biBidXQgYXN5bmNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBleGVjdXRlKFxuICAgIGNvbW1hbmQ6IHN0cmluZyxcbiAgICBvcHRpb25zPzogQ29yZU1vZGVscy5FeGVjdXRlT3B0aW9ucyAmIHsgc2hvd0NvbW1hbmQ/OiBib29sZWFuIH0sXG4gICk6IFByb21pc2U8YW55PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogdHJ5IHJ1biBidXQgY29udGludWUgd2hlbiBpdCBmYWlsc1xuICAgKiBAcGFyYW0gY29tbWFuZFxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgdHJ5UnVuU3luYyhcbiAgICBjb21tYW5kOiBzdHJpbmcsXG4vKiAqL1xuLyogKi9cbiAgXG4gICk6IHZvaWQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBvdXRwdXRGcm9tKFxuICAgIGNvbW1hbmQ6IHN0cmluZyxcbi8qICovXG4vKiAqL1xuICBcbiAgKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcmVtb3ZlRmlsZShmaWxlUmVsYXRpdmVUb1Byb2plY3RQYXRoOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICByZWFkRmlsZShmaWxlUmVsYXRpdmVUb1Byb2plY3RQYXRoOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIHJlYWQganNvbiBmaWxlXG4gICAqIGhhbmRsZSBhbGwganNvbiBmaWxlc1xuICAgKiBqc29uYywganNvbjUgLCBqc29uXG4gICAqIEBwYXJhbSBmaWxlUmVsYXRpdmVUb1Byb2plY3RQYXRoXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICByZWFkSnNvbjxUID0ge30+KGZpbGVSZWxhdGl2ZVRvUHJvamVjdFBhdGg6IHN0cmluZyk6IFQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBjb3B5IGZpbGVzIG9yIGZvbGRlcnMgZnJvbVxuICAgKiBwcm9qZWN0IHRvIGRlc3RpbmF0aW9uXG4gICAqL1xuICBjb3B5KGZpbGVzT3JGb2xkZXJSZWxhdGl2ZVBhdGhlczogc3RyaW5nW10pOiB7XG4gICAgdG86IChkZXN0aW5hdGlvbjogc3RyaW5nKSA9PiB2b2lkO1xuICB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgdG86IChkZXN0aW5hdGlvbjogc3RyaW5nKTogdm9pZCA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICAgICAgcmV0dXJuICh2b2lkIDApO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cblxuXG4gIHJlbW92ZShyZWxhdGl2ZVBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLCBleGFjdFBhdGggPSB0cnVlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHJlbW92ZUZvbGRlckJ5UmVsYXRpdmVQYXRoKHJlbGF0aXZlUGF0aFRvRm9sZGVyOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBhc3luYyBhc3NpZ25GcmVlUG9ydChcbiAgICBzdGFydEZyb206IG51bWJlciA9IDQyMDAsXG4gICAgaG93TWFueUZyZWVQb3J0c0FmdGVyVGhhdFBvcnQ6IG51bWJlciA9IDAsXG4gICk6IFByb21pc2U8bnVtYmVyPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHJlbW92ZUl0c2VsZigpIHtcbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICAvKipcbiAgICogUHVycG9zZTogbm90IGluaXRpYWxpemluZyBhbGwgY2xhc3NlcyBhdCB0aGUgYmVnaW5uaW5nXG4gICAqIE9ubHkgZm9yIEJhc2VGZWF0dXJlRm9yUHJvamVjdCBjbGFzc1xuICAgKi9cbiAgZGVmaW5lUHJvcGVydHk8UFJPSkVDVD4oXG4gICAgdmFyaWFibGVOYW1lOiBrZXlvZiBQUk9KRUNULFxuICAgIGNsYXNzRm46IEZ1bmN0aW9uLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBjdXN0b21JbnN0YW5jZVJldHVybj86ICgpID0+IG9iamVjdDtcbiAgICB9LFxuICApIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBmcy5jb3B5IG9wdGlvbiBmaWx0ZXIgZnVuY3Rpb24gZm9yIGNvcHlpbmcgb25seSBzZWxlY3RlZCBmb2xkZXJzIGZyb20gcHJvamVjdFxuICAgKi9cbiAgZmlsdGVyT25seUNvcHkoYmFzZVBhdGhGb2xkZXJzT25seVRvSW5jbHVkZTogc3RyaW5nW10pIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogZnMuY29weSBvcHRpb24gZmlsdGVyIGZ1bmN0aW9uIGZvciBjb3B5aW5nIG9ubHkgbm90IHNlbGVjdGVkIGZvbGRlcnMgZnJvbSBwcm9qZWN0XG4gICAqL1xuICBmaWx0ZXJEb250Q29weShiYXNlUGF0aEZvbGRlcnNUb3NTa2lwOiBzdHJpbmdbXSkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBnZW5lcmFsIGRlZmF1bHQgZGV2ZWxvcG1lbnQgYnJhbmNoIGZvciBhbGwga2luZHMgb2YgcHJvamVjdHNcbiAgICovXG4gIGdldERlZmF1bHREZXZlbG9wbWVudEJyYW5jaCgpIHtcbiAgICByZXR1cm4gJ2RldmVsb3AnO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBtYWluL2RlZmF1bHQgaGFyZGNvZGVkIGJyYW5jaGVzXG4gICAqL1xuICBnZXRNYWluQnJhbmNoZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbJ21hc3RlcicsICdkZXZlbG9wJywgJ3N0YWdlJywgJ3Byb2QnLCAndGVzdCddO1xuICB9XG5cblxuXG4gIGlzVW5zaW5nQWN0aW9uQ29tbWl0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG5cbiAgdXNlRmVhdHVyZUluQnJhbmNoTmFtZUZvclRlc3RzKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG5cbiAgYXN5bmMgcmVzZXRQcm9jZXNzKG92ZXJyaWRlQnJhbmNoPzogc3RyaW5nLCByZWNydXNpdmUgPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIGxpbmtUbyhkZXN0UGFja2FnZUxvY2F0aW9uOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBzZXRWYWx1ZVRvSlNPTihcbiAgICByZWxhdGl2ZVBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgIGxvZGFzaEdldFBhdGg6IHN0cmluZyxcbiAgICB2YWx1ZTogYW55LFxuICApOiB2b2lkIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzZXRWYWx1ZVRvSlNPTkMoXG4gICAgcmVsYXRpdmVQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBsb2Rhc2hHZXRQYXRoOiBzdHJpbmcsXG4gICAgdmFsdWU6IGFueSxcbiAgKTogdm9pZCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc2V0VmFsdWVUb0pTT041KFxuICAgIHJlbGF0aXZlUGF0aDogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgbG9kYXNoR2V0UGF0aDogc3RyaW5nLFxuICAgIHZhbHVlOiBhbnksXG4gICk6IHZvaWQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldFZhbHVlRnJvbUpTT04oXG4gICAgcmVsYXRpdmVQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBsb2Rhc2hHZXRQYXRoOiBzdHJpbmcsXG4gICAgZGVmYXVsdFZhbHVlOiBhbnkgPSB2b2lkIDAsXG4gICk6IGFueSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldFZhbHVlRnJvbUpTT05DKFxuICAgIHJlbGF0aXZlUGF0aDogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgbG9kYXNoR2V0UGF0aDogc3RyaW5nLFxuICAgIGRlZmF1bHRWYWx1ZTogYW55ID0gdm9pZCAwLFxuICApOiBhbnkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuXG4gIHdyaXRlRmlsZShyZWxhdGl2ZVBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLCBjb250ZW50OiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBwdWJsaWMgcnVuQ29tbWFuZEdldFN0cmluZyh0aGlzOiBCYXNlUHJvamVjdCwgY29tbWFuZDogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICB0b1N0cmluZyA9ICgpID0+IHtcbiAgICByZXR1cm4gYCR7dGhpcy5uYW1lfT0+JHt0aGlzLmxvY2F0aW9ufWA7XG4gIH07XG5cblxuXG4gIGdldCBwYXJlbnRzTmFtZXMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG4gIG9wZW5Mb2NhdGlvbihyZWxhdGl2ZUZvbGRlclBhdGg6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICBwcml2YXRlIGZpbmRQYXJlbnRzTmFtZXMoXG4gICAgcHJvamVjdD86IFBST0pFQ1QsXG4gICAgcGFyZW50PzogUFJPSkVDVCxcbiAgICByZXN1bHQgPSBbXSxcbiAgKTogc3RyaW5nW10ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHRyeUtpbGxBbGxFbGVjdHJvbkluc3RhbmNlcygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBpbml0IHByb2plY3QgZmlsZXMgc3RydWN0dXJlIGFuZCBkZXBlZGVuY2llc1xuICAgKi9cbiAgYXN5bmMgaW5pdChpbml0T3B0aW9ucz86IGFueSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVE9ETyBJTVBMRU1FTlQnKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogZ2xvYmFsbHkgbGluayBucG0gYXMgcGFja2FnZVxuICAgKi9cbiAgYXN5bmMgbGluaygpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RPRE8gSU1QTEVNRU5UJyk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIGluaXQgcHJvamVjdCBmaWxlcyBzdHJ1Y3R1cmUgd2l0aG91dCBkZXBlZGVuY2llc1xuICAgKi9cbiAgYXN5bmMgc3RydWN0KGluaXRPcHRpb25zPzogYW55KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUT0RPIElNUExFTUVOVCcpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBpbml0IGFuZCBidWlsZCgpIHByb2plY3RcbiAgICovXG4gIGFzeW5jIHRlc3QodGVzdE9wdGlvbnM/OiBhbnkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RPRE8gSU1QTEVNRU5UJyk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIGluaXQgYW5kIGJ1aWxkKCkgcHJvamVjdFxuICAgKi9cbiAgYXN5bmMgYnVpbGQoYnVpbGRPcHRpb25zPzogYW55KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUT0RPIElNUExFTUVOVCcpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBwdWJsaXNoIHByb2plY3QgdG8gbnBtXG4gICAqL1xuICBhc3luYyBwdWJsaXNoKHB1Ymxpc2hPcHRpb25zPzogYW55KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUT0RPIElNUExFTUVOVCcpO1xuICB9XG5cblxuXG4gIGFzeW5jIHJlbGVhc2UocmVsZWFzZU9wdGlvbnM/OiBhbnkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RPRE8gSU1QTEVNRU5UJyk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIGxpbnQgcG9yamVjdFxuICAgKi9cbiAgYXN5bmMgbGludChsaW50T3B0aW9ucz86IGFueSkge1xuICAgIEhlbHBlcnMuaW5mbyhgXG5cblxuICAgIENPTU1JVCBMSU5UIE5PVCBJTVBMRU1FTlRFRFxuXG5cbiAgICBgKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogZ2V0IGluZm8gYWJvdXQgcG9yamVjdFxuICAgKi9cbiAgYXN5bmMgaW5mbygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2Jhc2UtcHJvamVjdC50cyJdfQ==
911
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2Jhc2UtcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBSUwsT0FBTyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTNELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyQyxPQUFPLEVBQWtCLFdBQVcsRUFBSSxPQUFPLEdBQStFLE1BQU0sVUFBVSxDQUFDLENBQUEsS0FBSztBQUNwSixLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFpQjlELE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztBQUV0QixNQUFNLE9BQWdCLFdBQVc7YUFPeEIsUUFBRyxHQUFHLElBQUksbUJBQW1CLENBQWMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxBQUE1RCxDQUE2RDthQU96RCxVQUFLLEdBQVEsRUFBRSxBQUFWLENBQVc7SUFDOUIsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBd0JELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsQ0FBUztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFHRCxhQUFhO0lBQ2I7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QyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7O0FBSUYsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpRUFBaUUiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IENvcmVNb2RlbHMgfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IENMSSB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgcGF0aCwgY3Jvc3NQbGF0Zm9ybVBhdGggfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyAgIENvbW1pdERhdGEsICAgQ29yZVByb2plY3QsICAgSGVscGVycywgICBMaW5rZWRQb3JqZWN0c0NvbmZpZywgICBMaW5rZWRQcm9qZWN0LCAgIFR5cGVPZkNvbW1pdCwgICBVdGlsc1R5cGVzY3JpcHQsIH0gZnJvbSAnLi4vaW5kZXgnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBCYXNlUHJvamVjdFJlc29sdmVyIH0gZnJvbSAnLi9iYXNlLXByb2plY3QtcmVzb2x2ZXInO1xuaW1wb3J0IHsgICBCYXNlUHJvamVjdFR5cGUsICAgTGlicmFyaWVzQnVpbGRPcHRpb25zLCAgIExpYnJhcnlCdWlsZENvbW1hbmRPcHRpb25zLCAgIE5nUHJvamVjdCwgfSBmcm9tICcuLi9tb2RlbHMnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgdHlwZSB7IEJhc2VMaWJyYXJ5QnVpbGQgfSBmcm9tICcuL2Jhc2UtbGlicmFyeS1idWlsZCc7XG5pbXBvcnQgeyBCYXNlTnBtSGVscGVycyB9IGZyb20gJy4vYmFzZS1ucG0taGVscGVycyc7XG5pbXBvcnQgeyBCYXNlTGlua2VkUHJvamVjdHMgfSBmcm9tICcuL2Jhc2UtbGlua2VkLXByb2plY3RzJztcbmltcG9ydCB7IEJhc2VHaXQgfSBmcm9tICcuL2Jhc2UtZ2l0JztcbmltcG9ydCB7IEJhc2VWc2NvZGVIZWxwZXJzIH0gZnJvbSAnLi9iYXNlLXZzY29kZSc7XG5pbXBvcnQgeyBCYXNlUmVsZWFzZVByb2Nlc3MgfSBmcm9tICcuL2Jhc2UtcmVsZWFzZS1wcm9jZXNzJztcbmltcG9ydCB7IEJhc2VRdWlja0ZpeGVzIH0gZnJvbSAnLi9iYXNlLXF1aWNrLWZpeGVzJztcbmltcG9ydCB7IEJhc2VHaXRodWJQYWdlcyB9IGZyb20gJy4vYmFzZS1naXRodWItcGFnZXMnO1xuXG5cbmNvbnN0IHRha2VuUG9ydHMgPSBbXTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VQcm9qZWN0PFxuICBQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3QgPSBCYXNlUHJvamVjdDxhbnksIGFueT4sXG4gIFRZUEUgPSBCYXNlUHJvamVjdFR5cGUsXG4+IHtcblxuXG5cbiAgc3RhdGljIGlucyA9IG5ldyBCYXNlUHJvamVjdFJlc29sdmVyPEJhc2VQcm9qZWN0PihCYXNlUHJvamVjdCwgJ3Rhb24nKTtcblxuXG5cblxuXG4gIHB1YmxpYyBjYWNoZTogYW55ID0ge307XG4gIHB1YmxpYyBzdGF0aWMgY2FjaGU6IGFueSA9IHt9O1xuICBwdWJsaWMgZ2V0IGdsb2JhbENhY2hlKCkge1xuICAgIHJldHVybiBCYXNlUHJvamVjdC5jYWNoZTtcbiAgfVxuICByZWFkb25seSB0eXBlOiBUWVBFIHwgc3RyaW5nID0gJ3Vua25vdyc7XG5cbiAgLyoqXG4gICAqIHJlc29sdmUgaW5zdGFuY2VcbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IGluczogQmFzZVByb2plY3RSZXNvbHZlcjxQUk9KRUNUPjtcbiAgLyoqXG4gICAqIFVuaXF1ZSBmcmVlIHBvcnQgZm9yIHByb2plY3QgaW5zdGFuY2VcbiAgICogb25seSBhdmFpbGFibGUgYWZ0ZXIgZXhlY3V0aW5nICp0aGlzLmFzc2lnbkZyZWVQb3J0KCkqXG4gICAqL1xuICByZWFkb25seSBwb3J0OiBzdHJpbmc7XG5cbiAgcHVibGljIGxpYnJhcnlCdWlsZD86IEJhc2VMaWJyYXJ5QnVpbGQ8QmFzZVByb2plY3Q+O1xuICBwdWJsaWMgbnBtSGVscGVycz86IEJhc2VOcG1IZWxwZXJzO1xuICBwdWJsaWMgbGlua2VkUHJvamVjdHM/OiBCYXNlTGlua2VkUHJvamVjdHM7XG4gIHB1YmxpYyB2c0NvZGVIZWxwZXJzPzogQmFzZVZzY29kZUhlbHBlcnM7XG4gIHB1YmxpYyByZWxlYXNlUHJvY2Vzcz86IEJhc2VSZWxlYXNlUHJvY2VzcztcbiAgcHVibGljIGdpdD86IEJhc2VHaXQ7XG4gIHB1YmxpYyBxdWlja0ZpeGVzPzogQmFzZVF1aWNrRml4ZXM7XG4gIHB1YmxpYyBnaXRodWJQYWdlcz86IEJhc2VHaXRodWJQYWdlcztcblxuXG4gIHByaXZhdGUgX19sb2NhdGlvbjogc3RyaW5nO1xuICBnZXQgbG9jYXRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fX2xvY2F0aW9uO1xuICB9XG4gIHNldCBsb2NhdGlvbih2OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9fbG9jYXRpb24gPSBjcm9zc1BsYXRmb3JtUGF0aCh2KTtcbiAgfVxuXG5cbiAgLy8gQHRzLWlnbm9yZVxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBkb2Vzbid0IG5lZWQgdG8gYmUgcmVhbCBwYXRoIC0+IGNhbiBiZSBsaW5rXG4gICAgICovXG4gICAgbG9jYXRpb246IHN0cmluZyxcbiAgKSB7XG4gICAgdGhpcy5sb2NhdGlvbiA9IGxvY2F0aW9uO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cbiAgZ2V0IGlzTW9ub3JlcG8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBvcmRlckNvcmVQcm9qZWN0cyhjb3JlUHJvamVjdHM6IENvcmVQcm9qZWN0W10pOiBDb3JlUHJvamVjdFtdIHtcbiAgICBjb25zdCBwcm9qZWN0TWFwID0gbmV3IE1hcDxDb3JlUHJvamVjdCwgQ29yZVByb2plY3RbXT4oKTtcblxuXG4gICAgZm9yIChjb25zdCBwcm9qZWN0IG9mIGNvcmVQcm9qZWN0cykge1xuICAgICAgcHJvamVjdE1hcC5zZXQocHJvamVjdCwgW10pO1xuICAgIH1cblxuXG4gICAgZm9yIChjb25zdCBwcm9qZWN0IG9mIGNvcmVQcm9qZWN0cykge1xuICAgICAgaWYgKCFwcm9qZWN0TWFwLmhhcyhwcm9qZWN0LmV4dGVuZHMpKSB7XG4gICAgICAgIHByb2plY3RNYXAuc2V0KHByb2plY3QuZXh0ZW5kcywgW10pO1xuICAgICAgfVxuICAgICAgcHJvamVjdE1hcC5nZXQocHJvamVjdC5leHRlbmRzKSEucHVzaChwcm9qZWN0KTtcbiAgICB9XG5cbiAgICBjb25zdCBvcmRlcmVkUHJvamVjdHM6IENvcmVQcm9qZWN0W10gPSBbXTtcbiAgICBjb25zdCB2aXNpdGVkID0gbmV3IFNldDxDb3JlUHJvamVjdD4oKTtcblxuICAgIGNvbnN0IHZpc2l0ID0gKHByb2plY3Q6IENvcmVQcm9qZWN0KSA9PiB7XG4gICAgICBpZiAoIXZpc2l0ZWQuaGFzKHByb2plY3QpKSB7XG4gICAgICAgIHZpc2l0ZWQuYWRkKHByb2plY3QpO1xuICAgICAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSBwcm9qZWN0TWFwLmdldChwcm9qZWN0KTtcbiAgICAgICAgaWYgKGRlcGVuZGVuY2llcykge1xuICAgICAgICAgIGZvciAoY29uc3QgZGVwIG9mIGRlcGVuZGVuY2llcykge1xuICAgICAgICAgICAgdmlzaXQoZGVwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgb3JkZXJlZFByb2plY3RzLnB1c2gocHJvamVjdCk7XG4gICAgICB9XG4gICAgfTtcblxuXG4gICAgZm9yIChjb25zdCBwcm9qZWN0IG9mIGNvcmVQcm9qZWN0cykge1xuICAgICAgdmlzaXQocHJvamVjdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9yZGVyZWRQcm9qZWN0cy5yZXZlcnNlKCk7XG4gIH1cblxuXG5cblxuICBnZXQgY29yZSgpOiBDb3JlUHJvamVjdCB7XG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKHRoaXMuY2FjaGVbJ2NvcmUnXSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhY2hlWydjb3JlJ107XG4gICAgfVxuXG4gICAgbGV0IGNvcmVQcm9qZWN0cyA9IENvcmVQcm9qZWN0LmNvcmVQcm9qZWN0cy5maWx0ZXIocCA9PlxuICAgICAgcC5yZWNvZ25pemVkRm4odGhpcyBhcyBhbnkpLFxuICAgICk7XG4gICAgY29yZVByb2plY3RzID0gdGhpcy5vcmRlckNvcmVQcm9qZWN0cyhjb3JlUHJvamVjdHMpO1xuXG5cbiAgICB0aGlzLmNhY2hlWydjb3JlJ10gPSBfLmZpcnN0KGNvcmVQcm9qZWN0cyk7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVbJ2NvcmUnXTtcbiAgfVxuXG5cblxuICBnZXQgbGlua2VkUHJvamVjdHNFeGlzdGVkKCk6IFBST0pFQ1RbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwdWJsaWMgc2V0VHlwZSh0eXBlOiBUWVBFKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gIH1cblxuXG5cbiAgcHVibGljIHR5cGVJcyguLi50eXBlczogVFlQRVtdKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSAmJiB0eXBlcy5pbmNsdWRlcyh0aGlzLnR5cGUgYXMgYW55KTtcbiAgfVxuXG5cblxuICBwdWJsaWMgdHlwZUlzTm90KC4uLnR5cGVzOiBUWVBFW10pIHtcbiAgICByZXR1cm4gIXRoaXMudHlwZUlzKC4uLnR5cGVzKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogcHJvamVjdCBmb2xkZXIgYmFzZW5hbWVcbiAgICovXG4gIGdldCBiYXNlbmFtZSgpOiBzdHJpbmcge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBuYW1lIGZyb20gcGFja2FnZS5qc29uXG4gICAqL1xuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5wbUhlbHBlcnM/Lm5hbWUgfHwgdGhpcy5uYW1lRnJvbVBvbVhNTDtcbiAgfVxuXG4gIGdldCBuYW1lRm9yQ2xpKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmFtZT8uZW5kc1dpdGgoJy1jbGknKSA/IHRoaXMubmFtZSA6IGAke3RoaXMubmFtZX0tY2xpYDtcbiAgfVxuXG4gIGdldCBuYW1lRnJvbVBvbVhNTCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFydGlmYWN0SWRQYXR0ZXJuID0gLzxhcnRpZmFjdElkPihbXjxdKyk8XFwvYXJ0aWZhY3RJZD4vO1xuICAgIGNvbnN0IG1hdGNoID0gKHRoaXMucmVhZEZpbGUoJ3BvbS54bWwnKSB8fCAnJykubWF0Y2goYXJ0aWZhY3RJZFBhdHRlcm4pO1xuICAgIGlmIChtYXRjaCAmJiBtYXRjaFsxXSkge1xuICAgICAgcmV0dXJuIG1hdGNoWzFdO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGdldEZvbGRlcnNGb3JQb3NzaWJsZVByb2plY3RDaGlsZHJlbigpOiBzdHJpbmdbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCBnZXRBbGxDaGlsZHJlbigpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIGFsaWFzIHRvIGdldEFsbENoaWxkcmVuXG4gICAqL1xuICBnZXQgY2hpbGRyZW4oKTogUFJPSkVDVFtdIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXRDaGlsZEJ5KG5hbWVPckJhc2VuYW1lOiBzdHJpbmcsIGVycm9ycyA9IHRydWUpOiBQUk9KRUNUIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBwYXJlbnQoKTogUFJPSkVDVCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IG5lYXJlc3RQYXJlbnQoKTogUFJPSkVDVCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgZ3JhbmRwYSgpOiBQUk9KRUNUIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGFsbE5wbVBhY2thZ2VzTmFtZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbdGhpcy5uYW1lXTtcbiAgfVxuXG4gIGdldCB0aXRsZUJhck5hbWUoKSB7XG4gICAgY29uc3QgYWxsUGFja2FnZXNOYW1lcyA9XG4gICAgICB0aGlzLmFsbE5wbVBhY2thZ2VzTmFtZXMuZmlsdGVyKGYgPT4gZiAhPT0gdGhpcy5iYXNlbmFtZSkubGVuZ3RoID09PSAwXG4gICAgICAgID8gJydcbiAgICAgICAgOiBgKCR7dGhpcy5hbGxOcG1QYWNrYWdlc05hbWVzLmZpbHRlcihmID0+IGYgIT09IHRoaXMuYmFzZW5hbWUpLmpvaW4oJywnKX0pYDtcblxuICAgIGlmICh0aGlzLnBhcmVudCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgYCR7cGF0aC5iYXNlbmFtZShwYXRoLmRpcm5hbWUodGhpcy5wYXJlbnQubG9jYXRpb24pKX0vJHt0aGlzLnBhcmVudC5uYW1lfS9gICtcbiAgICAgICAgYCR7dGhpcy5iYXNlbmFtZX0gJHthbGxQYWNrYWdlc05hbWVzfSBbIFxcJHthY3RpdmVFZGl0b3JTaG9ydH0gXWBcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICBgJHtwYXRoLmJhc2VuYW1lKHBhdGguZGlybmFtZSh0aGlzLmxvY2F0aW9uKSl9L2AgK1xuICAgICAgYCR7dGhpcy5iYXNlbmFtZX0gKCR7YWxsUGFja2FnZXNOYW1lc30pIFsgXFwke2FjdGl2ZUVkaXRvclNob3J0fV1gXG4gICAgKTtcbiAgfVxuXG4gIGdldCBnZW5lcmljTmFtZSgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBjaGVja0FuZEJvbGRlblBhdGgoZnVsbFBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IHBhcnRzID0gZnVsbFBhdGguc3BsaXQoJy8nKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IHBhcnRzLm1hcCgocGFydCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHBhdGhUb2NoZWNrID0gcGFydHMuc2xpY2UoMCwgaW5kZXggKyAxKS5qb2luKCcvJyk7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgICAgcmV0dXJuIHBhcnQ7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0LmpvaW4oJy8nKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogc2FtZSBoYXMgcHJvamVjdC5oYXNGaWxlKCk7XG4gICAqL1xuICBwYXRoRXhpc3RzKHJlbGF0aXZlUGF0aDogc3RyaW5nIHwgc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXNGaWxlKHJlbGF0aXZlUGF0aCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIHNhbWUgYXMgcHJvamVjdC5wYXRoRXhpc3RzKCk7XG4gICAqL1xuICBoYXNGaWxlKHJlbGF0aXZlUGF0aDogc3RyaW5nIHwgc3RyaW5nW10pOiBib29sZWFuIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cbiAgaGFzRm9sZGVyKHJlbGF0aXZlUGF0aDogc3RyaW5nIHwgc3RyaW5nW10pOiBib29sZWFuIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogRnVuY3Rpb24gd2lsbCByZXR1cm4gcmVsYXRpdmUgcGF0aCBmcm9tIHByb2plY3QgbG9jYXRpb25cbiAgICovXG4gIHJlbGF0aXZlKGFic291bHRlUGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGNyb3NzUGxhdGZvcm1QYXRoKHBhdGgucmVsYXRpdmUodGhpcy5sb2NhdGlvbiwgYWJzb3VsdGVQYXRoKSk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSByZWxhdGl2ZVBhdGhcbiAgICogQHBhcmFtIG92ZXJyaWRlIGl0IHdpbGwgcmVtb3ZlIGV4XG4gICAqL1xuICBjcmVhdGVGb2xkZXIoXG4gICAgcmVsYXRpdmVQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBvcHRpb25zPzoge1xuICAgICAgb3ZlcnJpZGU/OiBib29sZWFuO1xuICAgIH0sXG4gICkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBmb3JtYXRGaWxlKHNwZWNpZmljUmVsYXRpdmVQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBmb3JtYXRBbGxGaWxlcygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIHNhbWUgYXMgcHJvamVjdC5wYXRoaGFzRmlsZUV4aXN0cygpO1xuICAgKiBidXQgd2l0aCBwYXRoLnJlc29sdmVcbiAgICovXG4gIGNvbnRhaW5zRmlsZShmaWxlUmVsYXRpdmVUb1Byb2plY3RQYXRoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBmdWxsUGF0aCA9IHBhdGgucmVzb2x2ZShcbiAgICAgIHBhdGguam9pbih0aGlzLmxvY2F0aW9uLCBmaWxlUmVsYXRpdmVUb1Byb2plY3RQYXRoKSxcbiAgICApO1xuICAgIHJldHVybiBIZWxwZXJzLmV4aXN0cyhmdWxsUGF0aCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIGFic29sdXRlIHBhdGg6XG4gICAqIGNvbmNhdGVkIHByb2plY3QgbG9jYXRpb24gd2l0aCByZWxhdGl2ZSBwYXRoXG4gICAqL1xuICBwYXRoRm9yKHJlbGF0aXZlUGF0aDogc3RyaW5nIHwgc3RyaW5nW10pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICB3cml0ZUpzb24ocmVsYXRpdmVQYXRoOiBzdHJpbmcsIGpzb246IG9iamVjdCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHdyaXRlSnNvbkMocmVsYXRpdmVQYXRoOiBzdHJpbmcsIGpzb246IG9iamVjdCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1cyBleGVjdXRlIGluc3RlYWRcbiAgICogdXNlIG91dHB1dCBmcm9tIG9yIG1vcmUgcHJlY2llc2UgY3JhZnRlZCBhcGlcbiAgICovXG4gIHJ1bihjb21tYW5kOiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PENvcmVNb2RlbHMuUnVuT3B0aW9ucywgJ2N3ZCc+KSB7XG4gICAgbGV0IG9wdDogQ29yZU1vZGVscy5SdW5PcHRpb25zO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIHJldHVybiBIZWxwZXJzLnJ1bihjb21tYW5kLCBvcHQpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBzYW1lIGFzIHJ1biBidXQgYXN5bmNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBleGVjdXRlKFxuICAgIGNvbW1hbmQ6IHN0cmluZyxcbiAgICBvcHRpb25zPzogQ29yZU1vZGVscy5FeGVjdXRlT3B0aW9ucyAmIHsgc2hvd0NvbW1hbmQ/OiBib29sZWFuIH0sXG4gICk6IFByb21pc2U8YW55PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogdHJ5IHJ1biBidXQgY29udGludWUgd2hlbiBpdCBmYWlsc1xuICAgKiBAcGFyYW0gY29tbWFuZFxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgdHJ5UnVuU3luYyhcbiAgICBjb21tYW5kOiBzdHJpbmcsXG4vKiAqL1xuLyogKi9cbiAgXG4gICk6IHZvaWQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBvdXRwdXRGcm9tKFxuICAgIGNvbW1hbmQ6IHN0cmluZyxcbi8qICovXG4vKiAqL1xuICBcbiAgKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcmVtb3ZlRmlsZShmaWxlUmVsYXRpdmVUb1Byb2plY3RQYXRoOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICByZWFkRmlsZShmaWxlUmVsYXRpdmVUb1Byb2plY3RQYXRoOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIHJlYWQganNvbiBmaWxlXG4gICAqIGhhbmRsZSBhbGwganNvbiBmaWxlc1xuICAgKiBqc29uYywganNvbjUgLCBqc29uXG4gICAqIEBwYXJhbSBmaWxlUmVsYXRpdmVUb1Byb2plY3RQYXRoXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICByZWFkSnNvbjxUID0ge30+KGZpbGVSZWxhdGl2ZVRvUHJvamVjdFBhdGg6IHN0cmluZyk6IFQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBjb3B5IGZpbGVzIG9yIGZvbGRlcnMgZnJvbVxuICAgKiBwcm9qZWN0IHRvIGRlc3RpbmF0aW9uXG4gICAqL1xuICBjb3B5KGZpbGVzT3JGb2xkZXJSZWxhdGl2ZVBhdGhlczogc3RyaW5nW10pOiB7XG4gICAgdG86IChkZXN0aW5hdGlvbjogc3RyaW5nKSA9PiB2b2lkO1xuICB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgdG86IChkZXN0aW5hdGlvbjogc3RyaW5nKTogdm9pZCA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICAgICAgcmV0dXJuICh2b2lkIDApO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cblxuXG4gIHJlbW92ZShyZWxhdGl2ZVBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLCBleGFjdFBhdGggPSB0cnVlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHJlbW92ZUZvbGRlckJ5UmVsYXRpdmVQYXRoKHJlbGF0aXZlUGF0aFRvRm9sZGVyOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cbiAgYXN5bmMgcmVnaXN0ZXJBbmRBc3NpZ25Qb3J0KCk6IFByb21pc2U8bnVtYmVyPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGFzeW5jIGFzc2lnbkZyZWVQb3J0KFxuICAgIHN0YXJ0RnJvbTogbnVtYmVyID0gNDIwMCxcbiAgICBob3dNYW55RnJlZVBvcnRzQWZ0ZXJUaGF0UG9ydDogbnVtYmVyID0gMCxcbiAgKTogUHJvbWlzZTxudW1iZXI+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcmVtb3ZlSXRzZWxmKCkge1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIC8qKlxuICAgKiBQdXJwb3NlOiBub3QgaW5pdGlhbGl6aW5nIGFsbCBjbGFzc2VzIGF0IHRoZSBiZWdpbm5pbmdcbiAgICogT25seSBmb3IgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IGNsYXNzXG4gICAqL1xuICBkZWZpbmVQcm9wZXJ0eTxQUk9KRUNUPihcbiAgICB2YXJpYWJsZU5hbWU6IGtleW9mIFBST0pFQ1QsXG4gICAgY2xhc3NGbjogRnVuY3Rpb24sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGN1c3RvbUluc3RhbmNlUmV0dXJuPzogKCkgPT4gb2JqZWN0O1xuICAgIH0sXG4gICkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIGZzLmNvcHkgb3B0aW9uIGZpbHRlciBmdW5jdGlvbiBmb3IgY29weWluZyBvbmx5IHNlbGVjdGVkIGZvbGRlcnMgZnJvbSBwcm9qZWN0XG4gICAqL1xuICBmaWx0ZXJPbmx5Q29weShiYXNlUGF0aEZvbGRlcnNPbmx5VG9JbmNsdWRlOiBzdHJpbmdbXSkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBmcy5jb3B5IG9wdGlvbiBmaWx0ZXIgZnVuY3Rpb24gZm9yIGNvcHlpbmcgb25seSBub3Qgc2VsZWN0ZWQgZm9sZGVycyBmcm9tIHByb2plY3RcbiAgICovXG4gIGZpbHRlckRvbnRDb3B5KGJhc2VQYXRoRm9sZGVyc1Rvc1NraXA6IHN0cmluZ1tdKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIGdlbmVyYWwgZGVmYXVsdCBkZXZlbG9wbWVudCBicmFuY2ggZm9yIGFsbCBraW5kcyBvZiBwcm9qZWN0c1xuICAgKi9cbiAgZ2V0RGVmYXVsdERldmVsb3BtZW50QnJhbmNoKCkge1xuICAgIHJldHVybiAnZGV2ZWxvcCc7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIG1haW4vZGVmYXVsdCBoYXJkY29kZWQgYnJhbmNoZXNcbiAgICovXG4gIGdldE1haW5CcmFuY2hlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsnbWFzdGVyJywgJ2RldmVsb3AnLCAnc3RhZ2UnLCAncHJvZCcsICd0ZXN0J107XG4gIH1cblxuXG5cbiAgaXNVbnNpbmdBY3Rpb25Db21taXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cblxuXG4gIHVzZUZlYXR1cmVJbkJyYW5jaE5hbWVGb3JUZXN0cygpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuXG5cbiAgYXN5bmMgcmVzZXRQcm9jZXNzKG92ZXJyaWRlQnJhbmNoPzogc3RyaW5nLCByZWNydXNpdmUgPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIGxpbmtUbyhkZXN0UGFja2FnZUxvY2F0aW9uOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBzZXRWYWx1ZVRvSlNPTihcbiAgICByZWxhdGl2ZVBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgIGxvZGFzaEdldFBhdGg6IHN0cmluZyxcbiAgICB2YWx1ZTogYW55LFxuICApOiB2b2lkIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzZXRWYWx1ZVRvSlNPTkMoXG4gICAgcmVsYXRpdmVQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBsb2Rhc2hHZXRQYXRoOiBzdHJpbmcsXG4gICAgdmFsdWU6IGFueSxcbiAgKTogdm9pZCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc2V0VmFsdWVUb0pTT041KFxuICAgIHJlbGF0aXZlUGF0aDogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgbG9kYXNoR2V0UGF0aDogc3RyaW5nLFxuICAgIHZhbHVlOiBhbnksXG4gICk6IHZvaWQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldFZhbHVlRnJvbUpTT04oXG4gICAgcmVsYXRpdmVQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBsb2Rhc2hHZXRQYXRoOiBzdHJpbmcsXG4gICAgZGVmYXVsdFZhbHVlOiBhbnkgPSB2b2lkIDAsXG4gICk6IGFueSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldFZhbHVlRnJvbUpTT05DKFxuICAgIHJlbGF0aXZlUGF0aDogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgbG9kYXNoR2V0UGF0aDogc3RyaW5nLFxuICAgIGRlZmF1bHRWYWx1ZTogYW55ID0gdm9pZCAwLFxuICApOiBhbnkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuXG4gIHdyaXRlRmlsZShyZWxhdGl2ZVBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLCBjb250ZW50OiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBwdWJsaWMgcnVuQ29tbWFuZEdldFN0cmluZyh0aGlzOiBCYXNlUHJvamVjdCwgY29tbWFuZDogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICB0b1N0cmluZyA9ICgpID0+IHtcbiAgICByZXR1cm4gYCR7dGhpcy5uYW1lfT0+JHt0aGlzLmxvY2F0aW9ufWA7XG4gIH07XG5cblxuXG4gIGdldCBwYXJlbnRzTmFtZXMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG4gIG9wZW5Mb2NhdGlvbihyZWxhdGl2ZUZvbGRlclBhdGg6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICBwcml2YXRlIGZpbmRQYXJlbnRzTmFtZXMoXG4gICAgcHJvamVjdD86IFBST0pFQ1QsXG4gICAgcGFyZW50PzogUFJPSkVDVCxcbiAgICByZXN1bHQgPSBbXSxcbiAgKTogc3RyaW5nW10ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHRyeUtpbGxBbGxFbGVjdHJvbkluc3RhbmNlcygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBpbml0IHByb2plY3QgZmlsZXMgc3RydWN0dXJlIGFuZCBkZXBlZGVuY2llc1xuICAgKi9cbiAgYXN5bmMgaW5pdChpbml0T3B0aW9ucz86IGFueSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVE9ETyBJTVBMRU1FTlQnKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogZ2xvYmFsbHkgbGluayBucG0gYXMgcGFja2FnZVxuICAgKi9cbiAgYXN5bmMgbGluaygpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RPRE8gSU1QTEVNRU5UJyk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIGluaXQgcHJvamVjdCBmaWxlcyBzdHJ1Y3R1cmUgd2l0aG91dCBkZXBlZGVuY2llc1xuICAgKi9cbiAgYXN5bmMgc3RydWN0KGluaXRPcHRpb25zPzogYW55KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUT0RPIElNUExFTUVOVCcpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBpbml0IGFuZCBidWlsZCgpIHByb2plY3RcbiAgICovXG4gIGFzeW5jIHRlc3QodGVzdE9wdGlvbnM/OiBhbnkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RPRE8gSU1QTEVNRU5UJyk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIGluaXQgYW5kIGJ1aWxkKCkgcHJvamVjdFxuICAgKi9cbiAgYXN5bmMgYnVpbGQoYnVpbGRPcHRpb25zPzogYW55KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUT0RPIElNUExFTUVOVCcpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBwdWJsaXNoIHByb2plY3QgdG8gbnBtXG4gICAqL1xuICBhc3luYyBwdWJsaXNoKHB1Ymxpc2hPcHRpb25zPzogYW55KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUT0RPIElNUExFTUVOVCcpO1xuICB9XG5cblxuXG4gIGFzeW5jIHJlbGVhc2UocmVsZWFzZU9wdGlvbnM/OiBhbnkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RPRE8gSU1QTEVNRU5UJyk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIGxpbnQgcG9yamVjdFxuICAgKi9cbiAgYXN5bmMgbGludChsaW50T3B0aW9ucz86IGFueSkge1xuICAgIEhlbHBlcnMuaW5mbyhgXG5cblxuICAgIENPTU1JVCBMSU5UIE5PVCBJTVBMRU1FTlRFRFxuXG5cbiAgICBgKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogZ2V0IGluZm8gYWJvdXQgcG9yamVjdFxuICAgKi9cbiAgYXN5bmMgaW5mbygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2Jhc2UtcHJvamVjdC50cyJdfQ==
@@ -21,4 +21,4 @@ export class BaseQuickFixes extends BaseFeatureForProject {
21
21
  }
22
22
  ;
23
23
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-quick-fixes.ts
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1xdWljay1maXhlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS9iYXNlLXF1aWNrLWZpeGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBTW5FLE1BQU0sT0FBTyxjQUVYLFNBQVEscUJBQXFCO0lBQzdCLFlBQVksT0FBZ0I7UUFDMUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUdELDZCQUE2QjtRQUMvQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscUVBQXFFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLWZlYXR1cmUtZm9yLXByb2plY3QnO1xuaW1wb3J0IHR5cGUgeyBCYXNlUHJvamVjdCB9IGZyb20gJy4vYmFzZS1wcm9qZWN0JztcbmltcG9ydCB7IEhlbHBlcnMsIFV0aWxzUXVpY2tGaXhlcyB9IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5cblxuZXhwb3J0IGNsYXNzIEJhc2VRdWlja0ZpeGVzPFxuICBQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3QgPSBhbnksXG4+IGV4dGVuZHMgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUFJPSkVDVCkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuICAgIHRoaXMucHJvamVjdCA9IHByb2plY3Q7XG4gIH1cblxuXG4gIGZpeFNRTExpdGVNb2R1bGVJbk5vZGVNb2R1bGVzKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2Jhc2UtcXVpY2stZml4ZXMudHMiXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1xdWljay1maXhlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS9iYXNlLXF1aWNrLWZpeGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBTW5FLE1BQU0sT0FBTyxjQUVYLFNBQVEscUJBQXFCO0lBQzdCLFlBQVksT0FBZ0I7UUFDMUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUdELDZCQUE2QjtRQUMvQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscUVBQXFFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLWZlYXR1cmUtZm9yLXByb2plY3QnO1xuaW1wb3J0IHR5cGUgeyBCYXNlUHJvamVjdCB9IGZyb20gJy4vYmFzZS1wcm9qZWN0JztcbmltcG9ydCB7IEhlbHBlcnMsIFV0aWxzUXVpY2tGaXhlcyB9IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5cblxuZXhwb3J0IGNsYXNzIEJhc2VRdWlja0ZpeGVzPFxuICBQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3Q8YW55LGFueT4gPSBCYXNlUHJvamVjdDxhbnksYW55Pixcbj4gZXh0ZW5kcyBCYXNlRmVhdHVyZUZvclByb2plY3Qge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQUk9KRUNUKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gICAgdGhpcy5wcm9qZWN0ID0gcHJvamVjdDtcbiAgfVxuXG5cbiAgZml4U1FMTGl0ZU1vZHVsZUluTm9kZU1vZHVsZXMoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvYmFzZS1xdWljay1maXhlcy50cyJdfQ==
@@ -598,4 +598,4 @@ ${await this.getLastChangesFromCommits({
598
598
  }
599
599
  ;
600
600
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-release-process.ts
601
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yZWxlYXNlLXByb2Nlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvYmFzZS1yZWxlYXNlLXByb2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBYyxLQUFLLEVBQWlCLE1BQU0sa0JBQWtCLENBQUM7QUFPcEUsTUFBTSxPQUFPLGtCQUVYLFNBQVEscUJBQXFCO0lBRi9COztRQUtFOztXQUVHO1FBQ0gscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBSWxDLHdCQUFtQixHQUdiLEVBQUUsQ0FBQztJQWd0QlgsQ0FBQztJQTdzQkMsZUFBZTtRQUNiLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBR00sS0FBSyxDQUFDLFlBQVksQ0FDdkIsT0FLQztRQUVMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxL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O1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxpQkFBaUI7UUFDekIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlPLEtBQUssQ0FBQyxpQkFBaUI7UUFDakMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSVMsS0FBSyxDQUFDLG1DQUFtQyxDQUNqRCxPQUFlO1FB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QUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHlFQUF5RSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgeyBCYXNlRmVhdHVyZUZvclByb2plY3QgfSBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuaW1wb3J0IHsgQ29yZU1vZGVscywgY2hhbGssIGRhdGVmb3JtYXQsIF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB0eXBlIHsgQ2hhbmdlbG9nRGF0YSB9IGZyb20gJy4uLy4vbW9kZWxzJztcbmltcG9ydCB7IENvbW1pdERhdGEgfSBmcm9tICcuL2NvbW1pdC1kYXRhJztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5cblxuXG5leHBvcnQgY2xhc3MgQmFzZVJlbGVhc2VQcm9jZXNzPFxuICBQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3QgPSBhbnksXG4+IGV4dGVuZHMgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IHtcblxuICBwcm9qZWN0OiBQUk9KRUNUO1xuICAvKipcbiAgICogQXV0b21hdGljIHJlbGVhc2UgcHJvY2VzcyBvZiBwYXRjaCBwbHVzIG9uZSB2ZXJzaW9uXG4gICAqL1xuICBhdXRvbWF0aWNSZWxlYXNlOiBib29sZWFuID0gZmFsc2U7XG4gIHR5cGU6IENvcmVNb2RlbHMuUmVsZWFzZVR5cGU7XG4gIGxhc3RDaGFuZ2VzU3VtbWFyeTogc3RyaW5nO1xuICBuZXdWZXJzaW9uOiBzdHJpbmc7XG4gIGNvbW1pdHNGb3JDaGFuZ2Vsb2c6IHtcbiAgICBjb21taXRNZXNzYWdlczogc3RyaW5nO1xuICAgIGluZGV4OiBudW1iZXI7XG4gIH1bXSA9IFtdO1xuXG5cbiAgZ2V0UmVsZWFzZVdvcmRzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWydyZWxlYXNlJ107XG4gIH1cblxuXG4gIHB1YmxpYyBhc3luYyBzdGFydFJlbGVhc2UoXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8XG4gICAgICBQaWNrPFxuICAgICAgICBCYXNlUmVsZWFzZVByb2Nlc3M8UFJPSkVDVD4sXG4gICAgICAgICdhdXRvbWF0aWNSZWxlYXNlJyB8ICd0eXBlJyB8ICduZXdWZXJzaW9uJ1xuICAgICAgPlxuICAgID4sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgcmVpbnN0YWxsTm9kZU1vZHVsZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgSGVscGVycy50YXNrU3RhcnRlZChcbiAgICAgIGBSZWluc3RhbGxpbmcgbm9kZV9tb2R1bGVzIHRvIHJlY3JlYXRlIHBhY2thZ2UtbG9jay5qc29uYCxcbiAgICApO1xuICAgIGF3YWl0IHRoaXMucHJvamVjdC5ucG1IZWxwZXJzLnJlaW5zdGFsbE5vZGVNb2R1bGVzKCk7XG4gICAgSGVscGVycy50YXNrRG9uZShgUmVpbnN0YWxsaW5nIG5vZGVfbW9kdWxlcyB0byByZWNyZWF0ZSBwYWNrYWdlLWxvY2suanNvbmApO1xuICB9XG5cblxuXG4gIGFzeW5jIHNlbGVjdENoYW5nZWxvZ0NvbW1pdHMoKTogUHJvbWlzZTxcbiAgICB7XG4gICAgICBjb21taXRNZXNzYWdlczogc3RyaW5nO1xuICAgICAgaW5kZXg6IG51bWJlcjtcbiAgICB9W11cbiAgPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGFzeW5jIGdldENvbW1pdHNVcFRvUmVsZWFzZUNvbW1pdCgpOiBQcm9taXNlPFxuICAgIHtcbiAgICAgIGNvbW1pdE1lc3NhZ2VzOiBzdHJpbmc7XG4gICAgICBpbmRleDogbnVtYmVyO1xuICAgIH1bXVxuICA+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgcHVibGlzaFRvTnBtKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgdGVzdEFmdGVyUHVibGlzaCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgdGVzdEJlZm9yZVB1Ymxpc2goKTogUHJvbWlzZTxib29sZWFuPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGFzeW5jIGNvbW1pdEFuZFB1c2goKTogUHJvbWlzZTx2b2lkPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCByZWxlYXNlQ29tbWl0VGVtcGxhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFJlbGVhc2UgdiR7dGhpcy5uZXdWZXJzaW9ufSArIGNoYW5nZWxvZy5tZCB1cGRhdGVgO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgdGVzdExpYnJhcmllcygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5wcm9qZWN0LnJ1bignbnBtIHJ1biB0ZXN0JywgeyBvdXRwdXQ6IHRydWUgfSkuc3luYygpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIEhlbHBlcnMuaW5mbyhgVGVzdCBmYWlsZWQsIHlvdSBjYW4gcnVuIHRlc3QgbWFudWFsbHlgKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuXG5cbiAgYXN5bmMgYnVpbGRBbGxMaWJyYXJpZXMoKSB7XG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0LmxpYnJhcnlCdWlsZC5idWlsZExpYnJhcmllcyh7XG4gICAgICB3YXRjaDogZmFsc2UsXG4gICAgICByZWxlYXNlQnVpbGQ6IHRydWUsXG4gICAgICBidWlsZFR5cGU6ICdhbmd1bGFyJyxcbiAgICB9KTtcbiAgfVxuXG5cblxuICBhc3luYyByZXNldFJlbGVhc2VGaWxlcygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IHRvQnVtcFByb2plY3RzKCkge1xuICAgIGNvbnN0IHRvQnVtcFByb2plY3RzID0gW1xuICAgICAgdGhpcy5wcm9qZWN0LFxuICAgICAgLi4udGhpcy5wcm9qZWN0LmxpYnJhcnlCdWlsZC5saWJyYXJpZXMsXG4gICAgXSBhcyBQUk9KRUNUW107XG5cbiAgICByZXR1cm4gdG9CdW1wUHJvamVjdHM7XG4gIH1cblxuXG5cbiAgYXN5bmMgYnVtcE5ld1ZlcnNpb25FdmVyeXdoZXJlKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgY29uZmlybU5ld1ZlcnNpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgc2VsZWN0UmVsZWFzZVR5cGUoKTogUHJvbWlzZTxDb3JlTW9kZWxzLlJlbGVhc2VUeXBlPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNvbW1pdE1lc3NhZ2VJbkNoYW5nZWxvZ1RyYW5zZm9ybUZuKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfVxuXG5cblxuICBhc3luYyBnZXRDaGFuZ2Vsb2dDb250ZW50VG9BcHBlbmQoYXNrRm9yRXZlcnlJdGVtOiBib29sZWFuKTogUHJvbWlzZTxzdHJpbmc+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIFRPRE8gZXh0ZW5kIHRoaXMgdG8gYWxsIGNvbW1pdHMgZnJvbSBsYXN0IHJlbGVhc2VcbiAgICovXG4gIGFzeW5jIHVwZGF0ZUNoYW5nZUxvZ0Zyb21Db21taXRzKCk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgZXh0cmFjdENoYW5nZWRMaWJyYXJpZXNJbkNvbW1pdChcbiAgICBoYXNoT3JJbmRleDogc3RyaW5nIHwgbnVtYmVyLFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgY2hhbmdlbG9nSXRlbVRlbXBsYXRlKFxuICAgIGhhc2hPckluZGV4OiBzdHJpbmcgfCBudW1iZXIsXG4gICAgY29uZmlybUV2ZXJ5SXRlbTogYm9vbGVhbiA9IGZhbHNlLFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGdlbmVyYXRlTGFzdENoYW5nZXNTdW1tYXJ5KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgbGFzdFJlbGVhc2VDb21taXREYXRhID0gYXdhaXQgdGhpcy5nZXRMYXN0UmVsZWFzZUNvbW1pdERhdGEoKTtcbiAgICBjb25zdCBoYXNMYXN0UmVsZWFzZUNvbW1pdCA9IGxhc3RSZWxlYXNlQ29tbWl0RGF0YS5pbmRleCAhPT0gLTE7XG4gICAgY29uc3QgbGFzdFJlbGVhc2VDb21taXRNc2cgPSAhaGFzTGFzdFJlbGVhc2VDb21taXRcbiAgICAgID8gJzwgbm90aGluZyByZWxlYXNlIHlldCA+J1xuICAgICAgOiBsYXN0UmVsZWFzZUNvbW1pdERhdGEubGFzdFJlbGFzZUNvbW1pdE1zZztcblxuICAgIHJldHVybiBgJHtjaGFsay5ib2xkLmdyYXkoJ0xhc3QgY2hhbmdlbG9nLm1kIG5vdGVzIHN1bW1hcnknKX06XG4ke2F3YWl0IHRoaXMuZ2V0TGFzdFBhY2thZ2VWZXJzaW9uQ2hhbmdlc0Zyb21DaG5hZ2Vsb2coKX1cblxuJHtjaGFsay5ib2xkLmdyYXkoXG4gIGhhc0xhc3RSZWxlYXNlQ29tbWl0ID8gJ0xhc3QgY29tbWl0cyB1cCB0byByZWxhc2UgY29tbWl0JyA6ICdMYXN0IDMgY29tbWl0cycsXG4pfTpcbiR7YXdhaXQgdGhpcy5nZXRMYXN0Q2hhbmdlc0Zyb21Db21taXRzKHtcbiAgbWF4TWVzc2FnZXNUb0NoZWNrOiBoYXNMYXN0UmVsZWFzZUNvbW1pdCA/IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA6IDMsXG4gIHN0b3BPbkNvbW1pdE1lc3NhZ2U6IGhhc0xhc3RSZWxlYXNlQ29tbWl0XG4gICAgPyBsYXN0UmVsZWFzZUNvbW1pdERhdGEubGFzdFJlbGFzZUNvbW1pdE1zZ1xuICAgIDogJycsXG59KX1cbiAgICBgO1xuICB9XG5cblxuXG4gIGFzeW5jIGdldExhc3RDaGFuZ2VzRnJvbUNvbW1pdHMoe1xuICAgIG1heE1lc3NhZ2VzVG9DaGVjayA9IDMsXG4gICAgc3RvcE9uQ29tbWl0TWVzc2FnZSA9ICcnLFxuICB9OiB7XG4gICAgLyoqXG4gICAgICogZGVmYXVsdCAzXG4gICAgICovXG4gICAgbWF4TWVzc2FnZXNUb0NoZWNrPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIHN0b3Agc2VyY2hpbmcgb24gY29tbWl0IG1lc3NhZ2VcbiAgICAgKi9cbiAgICBzdG9wT25Db21taXRNZXNzYWdlPzogc3RyaW5nO1xuICB9ID0ge30pOiBQcm9taXNlPHN0cmluZz4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgZ2V0TGFzdFJlbGVhc2VDb21taXREYXRhKCk6IFByb21pc2U8e1xuICAgIGxhc3RSZWxhc2VDb21taXRNc2c6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiAtMSBpZiBub3QgZm91bmRcbiAgICAgKi9cbiAgICBpbmRleDogbnVtYmVyO1xuICB9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGdldExhc3RQYWNrYWdlVmVyc2lvbkNoYW5nZXNGcm9tQ2huYWdlbG9nKCk6IFByb21pc2U8c3RyaW5nPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGdldCBjaGFuZ2VMb2dQYXRoKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGNoYW5nZWxvZ0NvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvamVjdC5yZWFkRmlsZSh0aGlzLmNoYW5nZUxvZ1BhdGgpIHx8ICcnO1xuICB9XG5cblxuXG4gIGNoYW5nZUxvZ0tleVdvcmQoKSB7XG4gICAgcmV0dXJuICdDaGFuZ2VzIGluIHZlcnNpb24nO1xuICB9XG5cblxuXG4gIGdldENobmFnZWxvZ0RhdGEoKTogQ2hhbmdlbG9nRGF0YVtdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9iYXNlLXJlbGVhc2UtcHJvY2Vzcy50cyJdfQ==
601
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yZWxlYXNlLXByb2Nlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvYmFzZS1yZWxlYXNlLXByb2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBYyxLQUFLLEVBQWlCLE1BQU0sa0JBQWtCLENBQUM7QUFPcEUsTUFBTSxPQUFPLGtCQUVYLFNBQVEscUJBQXFCO0lBRi9COztRQUtFOztXQUVHO1FBQ0gscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBSWxDLHdCQUFtQixHQUdiLEVBQUUsQ0FBQztJQWd0QlgsQ0FBQztJQTdzQkMsZUFBZTtRQUNiLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBR00sS0FBSyxDQUFDLFlBQVksQ0FDdkIsT0FLQztRQUVMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxL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O1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxpQkFBaUI7UUFDekIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlPLEtBQUssQ0FBQyxpQkFBaUI7UUFDakMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSVMsS0FBSyxDQUFDLG1DQUFtQyxDQUNqRCxPQUFlO1FB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QUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHlFQUF5RSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgeyBCYXNlRmVhdHVyZUZvclByb2plY3QgfSBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuaW1wb3J0IHsgQ29yZU1vZGVscywgY2hhbGssIGRhdGVmb3JtYXQsIF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB0eXBlIHsgQ2hhbmdlbG9nRGF0YSB9IGZyb20gJy4uLy4vbW9kZWxzJztcbmltcG9ydCB7IENvbW1pdERhdGEgfSBmcm9tICcuL2NvbW1pdC1kYXRhJztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5cblxuXG5leHBvcnQgY2xhc3MgQmFzZVJlbGVhc2VQcm9jZXNzPFxuICBQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3Q8YW55LGFueT4gPSBhbnksXG4+IGV4dGVuZHMgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IHtcblxuICBwcm9qZWN0OiBQUk9KRUNUO1xuICAvKipcbiAgICogQXV0b21hdGljIHJlbGVhc2UgcHJvY2VzcyBvZiBwYXRjaCBwbHVzIG9uZSB2ZXJzaW9uXG4gICAqL1xuICBhdXRvbWF0aWNSZWxlYXNlOiBib29sZWFuID0gZmFsc2U7XG4gIHR5cGU6IENvcmVNb2RlbHMuUmVsZWFzZVR5cGU7XG4gIGxhc3RDaGFuZ2VzU3VtbWFyeTogc3RyaW5nO1xuICBuZXdWZXJzaW9uOiBzdHJpbmc7XG4gIGNvbW1pdHNGb3JDaGFuZ2Vsb2c6IHtcbiAgICBjb21taXRNZXNzYWdlczogc3RyaW5nO1xuICAgIGluZGV4OiBudW1iZXI7XG4gIH1bXSA9IFtdO1xuXG5cbiAgZ2V0UmVsZWFzZVdvcmRzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWydyZWxlYXNlJ107XG4gIH1cblxuXG4gIHB1YmxpYyBhc3luYyBzdGFydFJlbGVhc2UoXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8XG4gICAgICBQaWNrPFxuICAgICAgICBCYXNlUmVsZWFzZVByb2Nlc3M8UFJPSkVDVD4sXG4gICAgICAgICdhdXRvbWF0aWNSZWxlYXNlJyB8ICd0eXBlJyB8ICduZXdWZXJzaW9uJ1xuICAgICAgPlxuICAgID4sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgcmVpbnN0YWxsTm9kZU1vZHVsZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgSGVscGVycy50YXNrU3RhcnRlZChcbiAgICAgIGBSZWluc3RhbGxpbmcgbm9kZV9tb2R1bGVzIHRvIHJlY3JlYXRlIHBhY2thZ2UtbG9jay5qc29uYCxcbiAgICApO1xuICAgIGF3YWl0IHRoaXMucHJvamVjdC5ucG1IZWxwZXJzLnJlaW5zdGFsbE5vZGVNb2R1bGVzKCk7XG4gICAgSGVscGVycy50YXNrRG9uZShgUmVpbnN0YWxsaW5nIG5vZGVfbW9kdWxlcyB0byByZWNyZWF0ZSBwYWNrYWdlLWxvY2suanNvbmApO1xuICB9XG5cblxuXG4gIGFzeW5jIHNlbGVjdENoYW5nZWxvZ0NvbW1pdHMoKTogUHJvbWlzZTxcbiAgICB7XG4gICAgICBjb21taXRNZXNzYWdlczogc3RyaW5nO1xuICAgICAgaW5kZXg6IG51bWJlcjtcbiAgICB9W11cbiAgPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGFzeW5jIGdldENvbW1pdHNVcFRvUmVsZWFzZUNvbW1pdCgpOiBQcm9taXNlPFxuICAgIHtcbiAgICAgIGNvbW1pdE1lc3NhZ2VzOiBzdHJpbmc7XG4gICAgICBpbmRleDogbnVtYmVyO1xuICAgIH1bXVxuICA+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgcHVibGlzaFRvTnBtKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgdGVzdEFmdGVyUHVibGlzaCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgdGVzdEJlZm9yZVB1Ymxpc2goKTogUHJvbWlzZTxib29sZWFuPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGFzeW5jIGNvbW1pdEFuZFB1c2goKTogUHJvbWlzZTx2b2lkPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb3RlY3RlZCByZWxlYXNlQ29tbWl0VGVtcGxhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFJlbGVhc2UgdiR7dGhpcy5uZXdWZXJzaW9ufSArIGNoYW5nZWxvZy5tZCB1cGRhdGVgO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgdGVzdExpYnJhcmllcygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5wcm9qZWN0LnJ1bignbnBtIHJ1biB0ZXN0JywgeyBvdXRwdXQ6IHRydWUgfSkuc3luYygpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIEhlbHBlcnMuaW5mbyhgVGVzdCBmYWlsZWQsIHlvdSBjYW4gcnVuIHRlc3QgbWFudWFsbHlgKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuXG5cbiAgYXN5bmMgYnVpbGRBbGxMaWJyYXJpZXMoKSB7XG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0LmxpYnJhcnlCdWlsZC5idWlsZExpYnJhcmllcyh7XG4gICAgICB3YXRjaDogZmFsc2UsXG4gICAgICByZWxlYXNlQnVpbGQ6IHRydWUsXG4gICAgICBidWlsZFR5cGU6ICdhbmd1bGFyJyxcbiAgICB9KTtcbiAgfVxuXG5cblxuICBhc3luYyByZXNldFJlbGVhc2VGaWxlcygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IHRvQnVtcFByb2plY3RzKCkge1xuICAgIGNvbnN0IHRvQnVtcFByb2plY3RzID0gW1xuICAgICAgdGhpcy5wcm9qZWN0LFxuICAgICAgLi4udGhpcy5wcm9qZWN0LmxpYnJhcnlCdWlsZC5saWJyYXJpZXMsXG4gICAgXSBhcyBQUk9KRUNUW107XG5cbiAgICByZXR1cm4gdG9CdW1wUHJvamVjdHM7XG4gIH1cblxuXG5cbiAgYXN5bmMgYnVtcE5ld1ZlcnNpb25FdmVyeXdoZXJlKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgY29uZmlybU5ld1ZlcnNpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgYXN5bmMgc2VsZWN0UmVsZWFzZVR5cGUoKTogUHJvbWlzZTxDb3JlTW9kZWxzLlJlbGVhc2VUeXBlPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNvbW1pdE1lc3NhZ2VJbkNoYW5nZWxvZ1RyYW5zZm9ybUZuKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfVxuXG5cblxuICBhc3luYyBnZXRDaGFuZ2Vsb2dDb250ZW50VG9BcHBlbmQoYXNrRm9yRXZlcnlJdGVtOiBib29sZWFuKTogUHJvbWlzZTxzdHJpbmc+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIFRPRE8gZXh0ZW5kIHRoaXMgdG8gYWxsIGNvbW1pdHMgZnJvbSBsYXN0IHJlbGVhc2VcbiAgICovXG4gIGFzeW5jIHVwZGF0ZUNoYW5nZUxvZ0Zyb21Db21taXRzKCk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgZXh0cmFjdENoYW5nZWRMaWJyYXJpZXNJbkNvbW1pdChcbiAgICBoYXNoT3JJbmRleDogc3RyaW5nIHwgbnVtYmVyLFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgY2hhbmdlbG9nSXRlbVRlbXBsYXRlKFxuICAgIGhhc2hPckluZGV4OiBzdHJpbmcgfCBudW1iZXIsXG4gICAgY29uZmlybUV2ZXJ5SXRlbTogYm9vbGVhbiA9IGZhbHNlLFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGdlbmVyYXRlTGFzdENoYW5nZXNTdW1tYXJ5KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgbGFzdFJlbGVhc2VDb21taXREYXRhID0gYXdhaXQgdGhpcy5nZXRMYXN0UmVsZWFzZUNvbW1pdERhdGEoKTtcbiAgICBjb25zdCBoYXNMYXN0UmVsZWFzZUNvbW1pdCA9IGxhc3RSZWxlYXNlQ29tbWl0RGF0YS5pbmRleCAhPT0gLTE7XG4gICAgY29uc3QgbGFzdFJlbGVhc2VDb21taXRNc2cgPSAhaGFzTGFzdFJlbGVhc2VDb21taXRcbiAgICAgID8gJzwgbm90aGluZyByZWxlYXNlIHlldCA+J1xuICAgICAgOiBsYXN0UmVsZWFzZUNvbW1pdERhdGEubGFzdFJlbGFzZUNvbW1pdE1zZztcblxuICAgIHJldHVybiBgJHtjaGFsay5ib2xkLmdyYXkoJ0xhc3QgY2hhbmdlbG9nLm1kIG5vdGVzIHN1bW1hcnknKX06XG4ke2F3YWl0IHRoaXMuZ2V0TGFzdFBhY2thZ2VWZXJzaW9uQ2hhbmdlc0Zyb21DaG5hZ2Vsb2coKX1cblxuJHtjaGFsay5ib2xkLmdyYXkoXG4gIGhhc0xhc3RSZWxlYXNlQ29tbWl0ID8gJ0xhc3QgY29tbWl0cyB1cCB0byByZWxhc2UgY29tbWl0JyA6ICdMYXN0IDMgY29tbWl0cycsXG4pfTpcbiR7YXdhaXQgdGhpcy5nZXRMYXN0Q2hhbmdlc0Zyb21Db21taXRzKHtcbiAgbWF4TWVzc2FnZXNUb0NoZWNrOiBoYXNMYXN0UmVsZWFzZUNvbW1pdCA/IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA6IDMsXG4gIHN0b3BPbkNvbW1pdE1lc3NhZ2U6IGhhc0xhc3RSZWxlYXNlQ29tbWl0XG4gICAgPyBsYXN0UmVsZWFzZUNvbW1pdERhdGEubGFzdFJlbGFzZUNvbW1pdE1zZ1xuICAgIDogJycsXG59KX1cbiAgICBgO1xuICB9XG5cblxuXG4gIGFzeW5jIGdldExhc3RDaGFuZ2VzRnJvbUNvbW1pdHMoe1xuICAgIG1heE1lc3NhZ2VzVG9DaGVjayA9IDMsXG4gICAgc3RvcE9uQ29tbWl0TWVzc2FnZSA9ICcnLFxuICB9OiB7XG4gICAgLyoqXG4gICAgICogZGVmYXVsdCAzXG4gICAgICovXG4gICAgbWF4TWVzc2FnZXNUb0NoZWNrPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIHN0b3Agc2VyY2hpbmcgb24gY29tbWl0IG1lc3NhZ2VcbiAgICAgKi9cbiAgICBzdG9wT25Db21taXRNZXNzYWdlPzogc3RyaW5nO1xuICB9ID0ge30pOiBQcm9taXNlPHN0cmluZz4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgZ2V0TGFzdFJlbGVhc2VDb21taXREYXRhKCk6IFByb21pc2U8e1xuICAgIGxhc3RSZWxhc2VDb21taXRNc2c6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiAtMSBpZiBub3QgZm91bmRcbiAgICAgKi9cbiAgICBpbmRleDogbnVtYmVyO1xuICB9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGdldExhc3RQYWNrYWdlVmVyc2lvbkNoYW5nZXNGcm9tQ2huYWdlbG9nKCk6IFByb21pc2U8c3RyaW5nPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGdldCBjaGFuZ2VMb2dQYXRoKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGNoYW5nZWxvZ0NvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvamVjdC5yZWFkRmlsZSh0aGlzLmNoYW5nZUxvZ1BhdGgpIHx8ICcnO1xuICB9XG5cblxuXG4gIGNoYW5nZUxvZ0tleVdvcmQoKSB7XG4gICAgcmV0dXJuICdDaGFuZ2VzIGluIHZlcnNpb24nO1xuICB9XG5cblxuXG4gIGdldENobmFnZWxvZ0RhdGEoKTogQ2hhbmdlbG9nRGF0YVtdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9iYXNlLXJlbGVhc2UtcHJvY2Vzcy50cyJdfQ==
@@ -88,6 +88,32 @@ export class BaseVscodeHelpers extends BaseFeatureForProject {
88
88
  /* */
89
89
  /* */
90
90
  /* */
91
+ /* */
92
+ /* */
93
+ /* */
94
+ /* */
95
+ /* */
96
+ /* */
97
+ /* */
98
+ /* */
99
+ /* */
100
+ /* */
101
+ /* */
102
+ /* */
103
+ /* */
104
+ /* */
105
+ /* */
106
+ /* */
107
+ /* */
108
+ /* */
109
+ /* */
110
+ /* */
111
+ /* */
112
+ /* */
113
+ /* */
114
+ /* */
115
+ /* */
116
+ /* */
91
117
  ]);
92
118
  }
93
119
  recreateExtensions() {
@@ -116,4 +142,4 @@ export class BaseVscodeHelpers extends BaseFeatureForProject {
116
142
  }
117
143
  ;
118
144
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-vscode.ts
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12c2NvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvYmFzZS12c2NvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVuQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxNQUFNLE9BQU8saUJBRVgsU0FBUSxxQkFBOEI7SUFGeEM7O1FBR0U7O1dBRUc7UUFDYSxpQkFBWSxHQUFHLHVCQUF1QixDQUFDO1FBQ3ZDLG1CQUFjLEdBQUcseUJBQXlCLENBQUM7SUFxSDdELENBQUM7SUFsSEMsSUFBWSxVQUFVO1FBQ3BCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUM3QixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztTQUVBLENBQUMsQ0FBQztJQUNMLENBQUM7SUFJRCxrQkFBa0I7UUFDcEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsbUJBQW1CO1FBQ3JCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FJRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0VBQWdFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuaW1wb3J0IHsgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLWZlYXR1cmUtZm9yLXByb2plY3QnO1xuXG5leHBvcnQgY2xhc3MgQmFzZVZzY29kZUhlbHBlcnM8XG4gIFBST0pFQ1QgZXh0ZW5kcyBCYXNlUHJvamVjdCA9IGFueSxcbj4gZXh0ZW5kcyBCYXNlRmVhdHVyZUZvclByb2plY3Q8UFJPSkVDVD4ge1xuICAvKipcbiAgICogc2V0dGluZ3MuanNvbiByZWxhdGl2ZSBwYXRoXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2V0dGluZ3NKc29uID0gJy52c2NvZGUvc2V0dGluZ3MuanNvbic7XG4gIHB1YmxpYyByZWFkb25seSBleHRlbnNpb25zSnNvbiA9ICcudnNjb2RlL2V4dGVuc2lvbnMuanNvbic7XG5cblxuICBwcml2YXRlIGdldCBleHRlbnNpb25zKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gSGVscGVycy51bmlxQXJyYXkoW1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIF0pO1xuICB9XG5cblxuXG4gIHJlY3JlYXRlRXh0ZW5zaW9ucygpOiB2b2lkIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICByZWNyZWF0ZVdpbmRvd1RpdGxlKCk6IHZvaWQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvYmFzZS12c2NvZGUudHMiXX0=
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12c2NvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvYmFzZS12c2NvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVuQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxNQUFNLE9BQU8saUJBRVgsU0FBUSxxQkFBOEI7SUFGeEM7O1FBR0U7O1dBRUc7UUFDYSxpQkFBWSxHQUFHLHVCQUF1QixDQUFDO1FBQ3ZDLG1CQUFjLEdBQUcseUJBQXlCLENBQUM7SUE2STdELENBQUM7SUExSUMsSUFBWSxVQUFVO1FBQ3BCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUM3QixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1NBRUEsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELGtCQUFrQjtRQUNwQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxtQkFBbUI7UUFDckIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztDQUVGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxnRUFBZ0UiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCB0eXBlIHsgQmFzZVByb2plY3QgfSBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5pbXBvcnQgeyBCYXNlRmVhdHVyZUZvclByb2plY3QgfSBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5cbmV4cG9ydCBjbGFzcyBCYXNlVnNjb2RlSGVscGVyczxcbiAgUFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0ID0gYW55LFxuPiBleHRlbmRzIEJhc2VGZWF0dXJlRm9yUHJvamVjdDxQUk9KRUNUPiB7XG4gIC8qKlxuICAgKiBzZXR0aW5ncy5qc29uIHJlbGF0aXZlIHBhdGhcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzZXR0aW5nc0pzb24gPSAnLnZzY29kZS9zZXR0aW5ncy5qc29uJztcbiAgcHVibGljIHJlYWRvbmx5IGV4dGVuc2lvbnNKc29uID0gJy52c2NvZGUvZXh0ZW5zaW9ucy5qc29uJztcblxuXG4gIHByaXZhdGUgZ2V0IGV4dGVuc2lvbnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBIZWxwZXJzLnVuaXFBcnJheShbXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICBdKTtcbiAgfVxuXG5cblxuICByZWNyZWF0ZUV4dGVuc2lvbnMoKTogdm9pZCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcmVjcmVhdGVXaW5kb3dUaXRsZSgpOiB2b2lkIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvYmFzZS12c2NvZGUudHMiXX0=
@@ -112,4 +112,4 @@ export const CoreAngularProject = CoreProject.from({
112
112
  });
113
113
  ;
114
114
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/core-project.ts
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2NvcmUtcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBcUIsTUFBTSxrQkFBa0IsQ0FBQztBQWlCOUQsTUFBTSxTQUFTLEdBQUc7SUFDaEIsUUFBUSxFQUFFLEVBQUU7Q0FDYixDQUFDO0FBd0NGLE1BQU0sT0FBTyxXQUFXO2FBSVIsaUJBQVksR0FBdUIsRUFBRSxBQUF6QixDQUEwQjtJQUlwRCxNQUFNLENBQUMsSUFBSSxDQUNULE9BQTJEO1FBRS9ELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBTUQ7UUE0QkE7O1dBRUc7UUFDSCxpQkFBWSxHQUE4QixFQUFFLENBQUM7SUEvQnRCLENBQUM7SUErQ3hCOztPQUVHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxHQUFHO1FBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0QsQ0FBQzs7QUFJSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFjO0lBRWpFLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7SUFDL0IsT0FBTyxFQUFFLHlDQUF5QztJQUNsRCxZQUFZLEVBQUUsRUFBRTtJQUNoQixZQUFZLEVBQUUsT0FBTyxDQUFDLEVBQUU7UUFDMUIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUNELEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDaEMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtRQUN2QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FHRixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFjO0lBRTlELE9BQU8sRUFBRSxxQkFBcUI7SUFDOUIsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztJQUMvQixPQUFPLEVBQUUsd0NBQXdDO0lBQ2pELFlBQVksRUFBRSxFQUFFO0lBQ2hCLFlBQVksRUFBRSxPQUFPLENBQUMsRUFBRTtRQUN0QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDNUIsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDeEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUNELEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDNUIsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7Q0FFRixDQUFDLENBQUM7QUFFRixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlFQUFpRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IF8sIHBhdGgsIGNyb3NzUGxhdGZvcm1QYXRoIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuaW1wb3J0IHsgQ0xBU1MgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzLCBMaWJyYXJpZXNCdWlsZE9wdGlvbnMsIFRlc3RCdWlsZE9wdGlvbnMgfSBmcm9tICcuLi9pbmRleCc7XG5cblxuXG5leHBvcnQgdHlwZSBDb3JlUHJvamVjdEVudmlyb25tZW50ID0ge1xuICBzaG9ydE5hbWU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBvbmxpbmVMaW5rPzogc3RyaW5nO1xufTtcblxuXG5cblxuY29uc3QgZGVmYXVsdERiID0ge1xuICBwcm9qZWN0czogW10sXG59O1xuXG5cblxuXG5leHBvcnQgdHlwZSBDb3JlQ29tbWFuZEFyZ09wdGlvbnM8UFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0PiA9IHtcbiAgcHJvamVjdD86IFBST0pFQ1Q7XG4gIC8qKlxuICAgKiB3YXRjaCBtb2RlXG4gICAqL1xuICB3YXRjaD86IGJvb2xlYW47XG4gIHByb2Q/OiBib29sZWFuO1xuICBkZWJ1Zz86IGJvb2xlYW47XG4gIGlzSW5SZWxlYXNlUHJvY2Vzcz86IGJvb2xlYW47XG4gIGxpYnJhcnlCdWlsZE9wdGlvbnM/OiBMaWJyYXJpZXNCdWlsZE9wdGlvbnM7XG4gIHRlc3RCdWlsZE9wdGlvbnM/OiBUZXN0QnVpbGRPcHRpb25zO1xuICAvKipcbiAgICogZmlyc3QgYXJnIGZyb20gY29tbWFuZCBsaW5lXG4gICAqL1xuICBmaXJzdEFyZzogc3RyaW5nO1xuICAvKipcbiAgICogTm90IHF1ZXN0aW9uIGZvciB1c2VyIGV4LlxuICAgKiAtIGF1dG9tYXRpYyBwcm9jZXNzIG9mIHBhdGNoIHJlbGVhc2VcbiAgICogLSBhdXRvbWF0aWMgZGVwbG95bWVudCBmb3IgZGVmYXVsdCBzZXJ2ZXJcbiAgICovXG4gIGF1dG9tYXRpY1Byb2Nlc3M/OiBib29sZWFuO1xuICAvKipcbiAgICogb3JpZ25hbCBhcmdzIHdpdGggcGFyYW1zXG4gICAqL1xuICBhcmdzV2l0aFBhcmFtczogc3RyaW5nO1xuICBjb3B5dG8/OiBzdHJpbmdbXTtcbiAgY29weXRvYWxsPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIGFyZ3MgZnJvbSBjb21tYW5kIGxpbmUgKGNsZWFybiBmcm9tIHBhcmFtcylcbiAgICovXG4gIGFyZ3M6IHN0cmluZ1tdO1xuICBleGl0Q2FsbGJhY2s6ICgpID0+IHZvaWQ7XG59O1xuXG5cbmV4cG9ydCBjbGFzcyBDb3JlUHJvamVjdDxQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3QgPSBCYXNlUHJvamVjdD4ge1xuXG5cblxuICBwdWJsaWMgc3RhdGljIGNvcmVQcm9qZWN0czogQ29yZVByb2plY3Q8YW55PltdID0gW107XG5cblxuXG4gIHN0YXRpYyBmcm9tPFByb2ogZXh0ZW5kcyBCYXNlUHJvamVjdCA9IEJhc2VQcm9qZWN0PihcbiAgICBvcHRpb25zOiBPbWl0PENvcmVQcm9qZWN0PFByb2o+LCAnbmFtZScgfCAndXJsJyB8ICdicmFuY2gnPixcbiAgKTogQ29yZVByb2plY3Q8UHJvaj4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fVxuXG5cblxuICBleHRlbmRzPzogQ29yZVByb2plY3Q8YW55PjtcbiAgY29sb3I/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBzZWNvbmQgY29sb3IgZm9yIHByb2plY3QgKG9wdGlvbmFsKVxuICAgKi9cbiAgc2Vjb25kQ29sb3I/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBzZWNvbmQgY29sb3IgZm9yIHByb2plY3QgKG9wdGlvbmFsKVxuICAgKi9cbiAgdGhpcmRDb2xvcj86IHN0cmluZztcbiAgbnBtUmVnaXN0cnk/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogc3NoIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIHVybFNTSD86IHN0cmluZztcbiAgLyoqXG4gICAqIGh0dHBzIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIHVybEh0dHA/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBtYWluIGJyYW5jaGVzIC0gZmlyc3QgaXMgZGVmYXVsdFxuICAgKi9cbiAgYnJhbmNoZXM6IHN0cmluZ1tdO1xuICAvKipcbiAgICogcHJvamVjdCBlbnZpcm9ubWVudHNcbiAgICovXG4gIGVudmlyb25tZW50cz86IENvcmVQcm9qZWN0RW52aXJvbm1lbnRbXSA9IFtdO1xuXG5cblxuICBzdGFydENvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICByZWxhc2VDb21tYW5kPzogKG9wdGlvbnM6IENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUPikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcHVibGlzaENvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBkZXBsb3lDb21tYW5kPzogKG9wdGlvbnM6IENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUPikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgdGVzdENvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBidWlsZENvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBkb2NzQ29tbWFuZD86IChvcHRpb25zOiBDb3JlQ29tbWFuZEFyZ09wdGlvbnM8UFJPSkVDVD4pID0+IFByb21pc2U8dm9pZD47XG4gIC8qKlxuICAgKiBmdW5jdGlvbiB0byByZWNvZ25pemUgcHJvamVjdFxuICAgKi9cbiAgcmVjb2duaXplZEZuOiAocHJvamVjdDogUFJPSkVDVCkgPT4gYm9vbGVhbjtcblxuICAvKipcbiAgICogY29yZSBwb3JqZWN0IG5hbWUgZnJvbSByZXBvIGJhc2VuYW1lXG4gICAqL1xuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gcGF0aC5iYXNlbmFtZSh0aGlzLnVybCkucmVwbGFjZSgvXFwuZ2l0JC8sICcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBtYWluIChkZWZhdWx0IGZvciByZXNldCkgYnJhbmNoXG4gICAqL1xuICBnZXQgYnJhbmNoKCkge1xuICAgIHJldHVybiBfLmZpcnN0KHRoaXMuYnJhbmNoZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIGdldCB1cmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMudXJsSHR0cCA/IHRoaXMudXJsSHR0cCA6IHRoaXMudXJsU1NIKSB8fCAnJztcbiAgfVxuXG59XG5cbmV4cG9ydCBjb25zdCBDb3JlVHlwZXNjcmlwdFByb2plY3QgPSBDb3JlUHJvamVjdC5mcm9tPEJhc2VQcm9qZWN0Pih7XG5cbiAgYnJhbmNoZXM6IFsnbWFzdGVyJywgJ2RldmVsb3AnXSxcbiAgdXJsSHR0cDogJ2h0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdCcsXG4gIGVudmlyb25tZW50czogW10sXG4gIHJlY29nbml6ZWRGbjogcHJvamVjdCA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9LFxuICBhc3luYyBzdGFydENvbW1hbmQoeyBwcm9qZWN0IH0pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9LFxuICBhc3luYyBidWlsZENvbW1hbmQoeyBwcm9qZWN0LCB3YXRjaCB9KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH0sXG5cblxufSk7XG5cbmV4cG9ydCBjb25zdCBDb3JlQW5ndWxhclByb2plY3QgPSBDb3JlUHJvamVjdC5mcm9tPEJhc2VQcm9qZWN0Pih7XG5cbiAgZXh0ZW5kczogQ29yZVR5cGVzY3JpcHRQcm9qZWN0LFxuICBicmFuY2hlczogWydtYXN0ZXInLCAnZGV2ZWxvcCddLFxuICB1cmxIdHRwOiAnaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci1jbGknLFxuICBlbnZpcm9ubWVudHM6IFtdLFxuICByZWNvZ25pemVkRm46IHByb2plY3QgPT4ge1xuICAgIHJldHVybiBwcm9qZWN0Lmhhc0ZpbGUoJ2FuZ3VsYXIuanNvbicpO1xuICB9LFxuICBhc3luYyBzdGFydENvbW1hbmQoeyBwcm9qZWN0IH0pIHtcbiAgICBhd2FpdCBwcm9qZWN0Lm5wbUhlbHBlcnMubWFrZVN1cmVOb2RlTW9kdWxlc0luc3RhbGxlZCgpO1xuICAgIGNvbnN0IHBvcnQgPSBhd2FpdCBwcm9qZWN0LmFzc2lnbkZyZWVQb3J0KDQyMDApO1xuICAgIHByb2plY3QucnVuKGBucG0tcnVuIG5nIHNlcnZlIC0tcG9ydCAke3BvcnR9YCkuc3luYygpO1xuICB9LFxuICBhc3luYyBidWlsZENvbW1hbmQoeyBwcm9qZWN0IH0pIHtcbiAgICBhd2FpdCBwcm9qZWN0Lm5wbUhlbHBlcnMubWFrZVN1cmVOb2RlTW9kdWxlc0luc3RhbGxlZCgpO1xuICAgIHByb2plY3QucnVuKGBucG0tcnVuIG5nIGJ1aWxkYCkuc3luYygpO1xuICB9LFxuXG59KTtcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2NvcmUtcHJvamVjdC50cyJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2NvcmUtcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBcUIsTUFBTSxrQkFBa0IsQ0FBQztBQWlCOUQsTUFBTSxTQUFTLEdBQUc7SUFDaEIsUUFBUSxFQUFFLEVBQUU7Q0FDYixDQUFDO0FBd0NGLE1BQU0sT0FBTyxXQUFXO2FBSVIsaUJBQVksR0FBdUIsRUFBRSxBQUF6QixDQUEwQjtJQUlwRCxNQUFNLENBQUMsSUFBSSxDQUNULE9BQTJEO1FBRS9ELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBTUQ7UUE0QkE7O1dBRUc7UUFDSCxpQkFBWSxHQUE4QixFQUFFLENBQUM7SUEvQnRCLENBQUM7SUErQ3hCOztPQUVHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxHQUFHO1FBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0QsQ0FBQzs7QUFJSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFjO0lBRWpFLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7SUFDL0IsT0FBTyxFQUFFLHlDQUF5QztJQUNsRCxZQUFZLEVBQUUsRUFBRTtJQUNoQixZQUFZLEVBQUUsT0FBTyxDQUFDLEVBQUU7UUFDMUIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUNELEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDaEMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtRQUN2QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FHRixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFjO0lBRTlELE9BQU8sRUFBRSxxQkFBcUI7SUFDOUIsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztJQUMvQixPQUFPLEVBQUUsd0NBQXdDO0lBQ2pELFlBQVksRUFBRSxFQUFFO0lBQ2hCLFlBQVksRUFBRSxPQUFPLENBQUMsRUFBRTtRQUN0QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDNUIsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDeEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUNELEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDNUIsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7Q0FFRixDQUFDLENBQUM7QUFFRixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlFQUFpRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IF8sIHBhdGgsIGNyb3NzUGxhdGZvcm1QYXRoIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuaW1wb3J0IHsgQ0xBU1MgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzLCBMaWJyYXJpZXNCdWlsZE9wdGlvbnMsIFRlc3RCdWlsZE9wdGlvbnMgfSBmcm9tICcuLi9pbmRleCc7XG5cblxuXG5leHBvcnQgdHlwZSBDb3JlUHJvamVjdEVudmlyb25tZW50ID0ge1xuICBzaG9ydE5hbWU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBvbmxpbmVMaW5rPzogc3RyaW5nO1xufTtcblxuXG5cblxuY29uc3QgZGVmYXVsdERiID0ge1xuICBwcm9qZWN0czogW10sXG59O1xuXG5cblxuXG5leHBvcnQgdHlwZSBDb3JlQ29tbWFuZEFyZ09wdGlvbnM8UFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0PGFueSxhbnk+PiA9IHtcbiAgcHJvamVjdD86IFBST0pFQ1Q7XG4gIC8qKlxuICAgKiB3YXRjaCBtb2RlXG4gICAqL1xuICB3YXRjaD86IGJvb2xlYW47XG4gIHByb2Q/OiBib29sZWFuO1xuICBkZWJ1Zz86IGJvb2xlYW47XG4gIGlzSW5SZWxlYXNlUHJvY2Vzcz86IGJvb2xlYW47XG4gIGxpYnJhcnlCdWlsZE9wdGlvbnM/OiBMaWJyYXJpZXNCdWlsZE9wdGlvbnM7XG4gIHRlc3RCdWlsZE9wdGlvbnM/OiBUZXN0QnVpbGRPcHRpb25zO1xuICAvKipcbiAgICogZmlyc3QgYXJnIGZyb20gY29tbWFuZCBsaW5lXG4gICAqL1xuICBmaXJzdEFyZzogc3RyaW5nO1xuICAvKipcbiAgICogTm90IHF1ZXN0aW9uIGZvciB1c2VyIGV4LlxuICAgKiAtIGF1dG9tYXRpYyBwcm9jZXNzIG9mIHBhdGNoIHJlbGVhc2VcbiAgICogLSBhdXRvbWF0aWMgZGVwbG95bWVudCBmb3IgZGVmYXVsdCBzZXJ2ZXJcbiAgICovXG4gIGF1dG9tYXRpY1Byb2Nlc3M/OiBib29sZWFuO1xuICAvKipcbiAgICogb3JpZ25hbCBhcmdzIHdpdGggcGFyYW1zXG4gICAqL1xuICBhcmdzV2l0aFBhcmFtczogc3RyaW5nO1xuICBjb3B5dG8/OiBzdHJpbmdbXTtcbiAgY29weXRvYWxsPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIGFyZ3MgZnJvbSBjb21tYW5kIGxpbmUgKGNsZWFybiBmcm9tIHBhcmFtcylcbiAgICovXG4gIGFyZ3M6IHN0cmluZ1tdO1xuICBleGl0Q2FsbGJhY2s6ICgpID0+IHZvaWQ7XG59O1xuXG5cbmV4cG9ydCBjbGFzcyBDb3JlUHJvamVjdDxQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3QgPSBCYXNlUHJvamVjdD4ge1xuXG5cblxuICBwdWJsaWMgc3RhdGljIGNvcmVQcm9qZWN0czogQ29yZVByb2plY3Q8YW55PltdID0gW107XG5cblxuXG4gIHN0YXRpYyBmcm9tPFByb2ogZXh0ZW5kcyBCYXNlUHJvamVjdCA9IEJhc2VQcm9qZWN0PGFueSxhbnk+PihcbiAgICBvcHRpb25zOiBPbWl0PENvcmVQcm9qZWN0PFByb2o+LCAnbmFtZScgfCAndXJsJyB8ICdicmFuY2gnPixcbiAgKTogQ29yZVByb2plY3Q8UHJvaj4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fVxuXG5cblxuICBleHRlbmRzPzogQ29yZVByb2plY3Q8YW55PjtcbiAgY29sb3I/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBzZWNvbmQgY29sb3IgZm9yIHByb2plY3QgKG9wdGlvbmFsKVxuICAgKi9cbiAgc2Vjb25kQ29sb3I/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBzZWNvbmQgY29sb3IgZm9yIHByb2plY3QgKG9wdGlvbmFsKVxuICAgKi9cbiAgdGhpcmRDb2xvcj86IHN0cmluZztcbiAgbnBtUmVnaXN0cnk/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogc3NoIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIHVybFNTSD86IHN0cmluZztcbiAgLyoqXG4gICAqIGh0dHBzIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIHVybEh0dHA/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBtYWluIGJyYW5jaGVzIC0gZmlyc3QgaXMgZGVmYXVsdFxuICAgKi9cbiAgYnJhbmNoZXM6IHN0cmluZ1tdO1xuICAvKipcbiAgICogcHJvamVjdCBlbnZpcm9ubWVudHNcbiAgICovXG4gIGVudmlyb25tZW50cz86IENvcmVQcm9qZWN0RW52aXJvbm1lbnRbXSA9IFtdO1xuXG5cblxuICBzdGFydENvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICByZWxhc2VDb21tYW5kPzogKG9wdGlvbnM6IENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUPikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcHVibGlzaENvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBkZXBsb3lDb21tYW5kPzogKG9wdGlvbnM6IENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUPikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgdGVzdENvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBidWlsZENvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBkb2NzQ29tbWFuZD86IChvcHRpb25zOiBDb3JlQ29tbWFuZEFyZ09wdGlvbnM8UFJPSkVDVD4pID0+IFByb21pc2U8dm9pZD47XG4gIC8qKlxuICAgKiBmdW5jdGlvbiB0byByZWNvZ25pemUgcHJvamVjdFxuICAgKi9cbiAgcmVjb2duaXplZEZuOiAocHJvamVjdDogUFJPSkVDVCkgPT4gYm9vbGVhbjtcblxuICAvKipcbiAgICogY29yZSBwb3JqZWN0IG5hbWUgZnJvbSByZXBvIGJhc2VuYW1lXG4gICAqL1xuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gcGF0aC5iYXNlbmFtZSh0aGlzLnVybCkucmVwbGFjZSgvXFwuZ2l0JC8sICcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBtYWluIChkZWZhdWx0IGZvciByZXNldCkgYnJhbmNoXG4gICAqL1xuICBnZXQgYnJhbmNoKCkge1xuICAgIHJldHVybiBfLmZpcnN0KHRoaXMuYnJhbmNoZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIGdldCB1cmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMudXJsSHR0cCA/IHRoaXMudXJsSHR0cCA6IHRoaXMudXJsU1NIKSB8fCAnJztcbiAgfVxuXG59XG5cbmV4cG9ydCBjb25zdCBDb3JlVHlwZXNjcmlwdFByb2plY3QgPSBDb3JlUHJvamVjdC5mcm9tPEJhc2VQcm9qZWN0Pih7XG5cbiAgYnJhbmNoZXM6IFsnbWFzdGVyJywgJ2RldmVsb3AnXSxcbiAgdXJsSHR0cDogJ2h0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdCcsXG4gIGVudmlyb25tZW50czogW10sXG4gIHJlY29nbml6ZWRGbjogcHJvamVjdCA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9LFxuICBhc3luYyBzdGFydENvbW1hbmQoeyBwcm9qZWN0IH0pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9LFxuICBhc3luYyBidWlsZENvbW1hbmQoeyBwcm9qZWN0LCB3YXRjaCB9KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH0sXG5cblxufSk7XG5cbmV4cG9ydCBjb25zdCBDb3JlQW5ndWxhclByb2plY3QgPSBDb3JlUHJvamVjdC5mcm9tPEJhc2VQcm9qZWN0Pih7XG5cbiAgZXh0ZW5kczogQ29yZVR5cGVzY3JpcHRQcm9qZWN0LFxuICBicmFuY2hlczogWydtYXN0ZXInLCAnZGV2ZWxvcCddLFxuICB1cmxIdHRwOiAnaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci1jbGknLFxuICBlbnZpcm9ubWVudHM6IFtdLFxuICByZWNvZ25pemVkRm46IHByb2plY3QgPT4ge1xuICAgIHJldHVybiBwcm9qZWN0Lmhhc0ZpbGUoJ2FuZ3VsYXIuanNvbicpO1xuICB9LFxuICBhc3luYyBzdGFydENvbW1hbmQoeyBwcm9qZWN0IH0pIHtcbiAgICBhd2FpdCBwcm9qZWN0Lm5wbUhlbHBlcnMubWFrZVN1cmVOb2RlTW9kdWxlc0luc3RhbGxlZCgpO1xuICAgIGNvbnN0IHBvcnQgPSBhd2FpdCBwcm9qZWN0LmFzc2lnbkZyZWVQb3J0KDQyMDApO1xuICAgIHByb2plY3QucnVuKGBucG0tcnVuIG5nIHNlcnZlIC0tcG9ydCAke3BvcnR9YCkuc3luYygpO1xuICB9LFxuICBhc3luYyBidWlsZENvbW1hbmQoeyBwcm9qZWN0IH0pIHtcbiAgICBhd2FpdCBwcm9qZWN0Lm5wbUhlbHBlcnMubWFrZVN1cmVOb2RlTW9kdWxlc0luc3RhbGxlZCgpO1xuICAgIHByb2plY3QucnVuKGBucG0tcnVuIG5nIGJ1aWxkYCkuc3luYygpO1xuICB9LFxuXG59KTtcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2NvcmUtcHJvamVjdC50cyJdfQ==
@@ -10,6 +10,9 @@ export * from './base-release-process';
10
10
  export * from './base-compiler-for-project';
11
11
  export * from './base-debounce-compiler-for-project';
12
12
  export * from './base-quick-fixes';
13
+ export * from './base-cli-worker-controller';
14
+ export * from './base-cli-worker';
15
+ export * from './base-cli-worker-config';
13
16
  export * from './commit-data';
14
17
  export * from './core-project';
15
18
  export * from './linked-project';
@@ -20,4 +23,4 @@ export * from './linked-project';
20
23
  /* */
21
24
  ;
22
25
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/index.ts
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHSixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDBEQUEwRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtcHJvamVjdC1yZXNvbHZlcic7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtbGlicmFyeS1idWlsZCc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtbnBtLWhlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWxpbmtlZC1wcm9qZWN0cyc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtZ2l0JztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS12c2NvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLXJlbGVhc2UtcHJvY2Vzcyc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtY29tcGlsZXItZm9yLXByb2plY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWRlYm91bmNlLWNvbXBpbGVyLWZvci1wcm9qZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1xdWljay1maXhlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1pdC1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS1wcm9qZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGlua2VkLXByb2plY3QnO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvaW5kZXgudHMiXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHSixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDBEQUEwRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtcHJvamVjdC1yZXNvbHZlcic7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtbGlicmFyeS1idWlsZCc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtbnBtLWhlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWxpbmtlZC1wcm9qZWN0cyc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtZ2l0JztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS12c2NvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLXJlbGVhc2UtcHJvY2Vzcyc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtY29tcGlsZXItZm9yLXByb2plY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWRlYm91bmNlLWNvbXBpbGVyLWZvci1wcm9qZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1xdWljay1maXhlcyc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtY2xpLXdvcmtlci1jb250cm9sbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1jbGktd29ya2VyJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1jbGktd29ya2VyLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1pdC1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS1wcm9qZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGlua2VkLXByb2plY3QnO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvaW5kZXgudHMiXX0=
@@ -55,6 +55,23 @@ export class LinkedProject {
55
55
  }
56
56
  return this.repoUrlSsh;
57
57
  }
58
+ remoteUrlTransformed(setOrigin) {
59
+ /* */
60
+ /* */
61
+ /* */
62
+ /* */
63
+ /* */
64
+ /* */
65
+ /* */
66
+ /* */
67
+ /* */
68
+ /* */
69
+ /* */
70
+ /* */
71
+ /* */
72
+ /* */
73
+ return (void 0);
74
+ }
58
75
  }
59
76
  export class LinkedPorjectsConfig {
60
77
  static from(options) {
@@ -70,4 +87,4 @@ export class LinkedPorjectsConfig {
70
87
  }
71
88
  ;
72
89
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/linked-project.ts
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvbGlua2VkLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBcUIsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHOUQsTUFBTSxPQUFPLGFBQWE7SUFJeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUErQjtRQUN6QyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUN4QixJQUFLLGFBQXFCLEVBQUUsRUFDNUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FDSixDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNsQyxVQUFVLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FDMUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQzNDLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5QixVQUFVLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUlELE1BQU0sQ0FBQyxRQUFRLENBQ2IsV0FBbUIsRUFDbkIsZ0JBQXlCLEVBQ3pCLGFBQXNCO1FBRXRCLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQztZQUN4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQy9CLEdBQUcsV0FBVyxNQUFNLENBQ3JCO1lBQ0QsYUFBYSxFQUFFLGFBQWE7WUFDNUIsaUJBQWlCLEVBQUUsV0FBVztTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBSUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFzQixFQUFFLFNBQVMsR0FBRyxLQUFLO1FBQ3pELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQXNCRDs7T0FFRztJQUNJLFNBQVM7UUFDZCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7Q0FJRjtBQUVELE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFzQztRQUNoRCxPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUNqRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNsRCxDQUFDO1lBQ0QsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFJSCxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSyxvQkFBNEIsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0NBUUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1FQUFtRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBfLCBjcm9zc1BsYXRmb3JtUGF0aCwgcGF0aCB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4uL2luZGV4JztcblxuZXhwb3J0IGNsYXNzIExpbmtlZFByb2plY3Qge1xuXG5cblxuICBzdGF0aWMgZnJvbShvcHRpb25zOiBQYXJ0aWFsPExpbmtlZFByb2plY3Q+KSB7XG4gICAgY29uc3QgbGlua2VkUHJvaiA9IF8ubWVyZ2UoXG4gICAgICBuZXcgKExpbmtlZFByb2plY3QgYXMgYW55KSgpLFxuICAgICAgXy5jbG9uZURlZXAob3B0aW9ucyksXG4gICAgKSBhcyBMaW5rZWRQcm9qZWN0O1xuICAgIGlmICghbGlua2VkUHJvai5yZWxhdGl2ZUNsb25lUGF0aCkge1xuICAgICAgbGlua2VkUHJvai5yZWxhdGl2ZUNsb25lUGF0aCA9IHBhdGguYmFzZW5hbWUoXG4gICAgICAgIGxpbmtlZFByb2oucmVtb3RlVXJsKCkucmVwbGFjZSgnLmdpdCcsICcnKSxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghbGlua2VkUHJvai5kZWFmdWx0QnJhbmNoKSB7XG4gICAgICBsaW5rZWRQcm9qLmRlYWZ1bHRCcmFuY2ggPSAnbWFzdGVyJztcbiAgICB9XG4gICAgcmV0dXJuIGxpbmtlZFByb2o7XG4gIH1cblxuXG5cbiAgc3RhdGljIGZyb21OYW1lKFxuICAgIHByb2plY3ROYW1lOiBzdHJpbmcsXG4gICAgY3VycmVudFJlbW90ZVVybD86IHN0cmluZyxcbiAgICBjdXJyZW50QnJhbmNoPzogc3RyaW5nLFxuICApIHtcbiAgICByZXR1cm4gTGlua2VkUHJvamVjdC5mcm9tKHtcbiAgICAgIHJlcG9Vcmw6IGN1cnJlbnRSZW1vdGVVcmw/LnJlcGxhY2UoXG4gICAgICAgIHBhdGguYmFzZW5hbWUoY3VycmVudFJlbW90ZVVybCksXG4gICAgICAgIGAke3Byb2plY3ROYW1lfS5naXRgLFxuICAgICAgKSxcbiAgICAgIGRlYWZ1bHRCcmFuY2g6IGN1cnJlbnRCcmFuY2gsXG4gICAgICByZWxhdGl2ZUNsb25lUGF0aDogcHJvamVjdE5hbWUsXG4gICAgfSk7XG4gIH1cblxuXG5cbiAgc3RhdGljIGRldGVjdChpbnNpZGVMb2NhdGlvbjogc3RyaW5nLCByZWN1cnNpdmUgPSBmYWxzZSk6IExpbmtlZFByb2plY3RbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuICAvKipcbiAgICogc29tZXRpbWUgdGhlcmUgaXMgcHJvamVjdCB0aGF0IGhhcyBvbmUgcHJvamVjdFxuICAgKiBlbWJlZGUgaW5zaWRlIGFub3RoZXIgcHJvamVjdFxuICAgKi9cbiAgaW50ZXJuYWxSZWFsdGl2ZVByb2plY3RQYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogZG9uJ3QgYWNjZXNzIGRpcmVjdGx5LCB1c2UgcmVtb3RlVXJsKCkgaW5zdGVhZFxuICAgKi9cbiAgcmVwb1VybFNzaD86IHN0cmluZztcbiAgLyoqXG4gICAqIGRvbid0IGFjY2VzcyBkaXJlY3RseSwgdXNlIHJlbW90ZVVybCgpIGluc3RlYWRcbiAgICovXG4gIHJlcG9VcmxIdHRwPzogc3RyaW5nO1xuICAvKipcbiAgICogZG9uJ3QgYWNjZXNzIGRpcmVjdGx5LCB1c2UgcmVtb3RlVXJsKCkgaW5zdGVhZFxuICAgKi9cbiAgcmVwb1VybD86IHN0cmluZztcbiAgLyoqXG4gICAqIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIHB1YmxpYyByZW1vdGVVcmwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5yZXBvVXJsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXBvVXJsO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXBvVXJsSHR0cCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVwb1VybEh0dHA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJlcG9VcmxTc2g7XG4gIH1cbiAgZGVhZnVsdEJyYW5jaD86IHN0cmluZztcbiAgcHVycG9zZT86IHN0cmluZztcbiAgcmVsYXRpdmVDbG9uZVBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5rZWRQb3JqZWN0c0NvbmZpZyB7XG5cblxuXG4gIHN0YXRpYyBmcm9tKG9wdGlvbnM6IFBhcnRpYWw8TGlua2VkUG9yamVjdHNDb25maWc+KSB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgb3B0aW9ucy5wcm9qZWN0cyA9IChvcHRpb25zLnByb2plY3RzIHx8IFtdKS5tYXAobGlua2VkUHJvak9ybmFtZSA9PiB7XG4gICAgICBpZiAoXy5pc1N0cmluZyhsaW5rZWRQcm9qT3JuYW1lKSkge1xuICAgICAgICByZXR1cm4gTGlua2VkUHJvamVjdC5mcm9tTmFtZShsaW5rZWRQcm9qT3JuYW1lKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBMaW5rZWRQcm9qZWN0LmZyb20obGlua2VkUHJvak9ybmFtZSk7XG4gICAgfSk7XG5cblxuXG4gICAgcmV0dXJuIF8ubWVyZ2UobmV3IChMaW5rZWRQb3JqZWN0c0NvbmZpZyBhcyBhbnkpKCksIF8uY2xvbmVEZWVwKG9wdGlvbnMpKTtcbiAgfVxuXG5cblxuICBwcmVmaXg/OiBzdHJpbmc7XG4gIHNraXBSZWNydXNpdmVQdXNoPzogYm9vbGVhbjtcbiAgcmVzZXRPbmx5Q2hpbGRyZW4/OiBib29sZWFuO1xuICBwcm9qZWN0czogTGlua2VkUHJvamVjdFtdO1xufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvbGlua2VkLXByb2plY3QudHMiXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvbGlua2VkLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBcUIsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHOUQsTUFBTSxPQUFPLGFBQWE7SUFJeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUErQjtRQUN6QyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUN4QixJQUFLLGFBQXFCLEVBQUUsRUFDNUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FDSixDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNsQyxVQUFVLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FDMUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQzNDLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5QixVQUFVLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUlELE1BQU0sQ0FBQyxRQUFRLENBQ2IsV0FBbUIsRUFDbkIsZ0JBQXlCLEVBQ3pCLGFBQXNCO1FBRXRCLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQztZQUN4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQy9CLEdBQUcsV0FBVyxNQUFNLENBQ3JCO1lBQ0QsYUFBYSxFQUFFLGFBQWE7WUFDNUIsaUJBQWlCLEVBQUUsV0FBVztTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBSUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFzQixFQUFFLFNBQVMsR0FBRyxLQUFLO1FBQ3pELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQXNCRDs7T0FFRztJQUNJLFNBQVM7UUFDZCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxTQUF5QjtRQUN2RCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FLRjtBQUVELE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFzQztRQUNoRCxPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUNqRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNsRCxDQUFDO1lBQ0QsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFJSCxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSyxvQkFBNEIsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0NBUUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1FQUFtRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBfLCBjcm9zc1BsYXRmb3JtUGF0aCwgcGF0aCB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4uL2luZGV4JztcblxuZXhwb3J0IGNsYXNzIExpbmtlZFByb2plY3Qge1xuXG5cblxuICBzdGF0aWMgZnJvbShvcHRpb25zOiBQYXJ0aWFsPExpbmtlZFByb2plY3Q+KSB7XG4gICAgY29uc3QgbGlua2VkUHJvaiA9IF8ubWVyZ2UoXG4gICAgICBuZXcgKExpbmtlZFByb2plY3QgYXMgYW55KSgpLFxuICAgICAgXy5jbG9uZURlZXAob3B0aW9ucyksXG4gICAgKSBhcyBMaW5rZWRQcm9qZWN0O1xuICAgIGlmICghbGlua2VkUHJvai5yZWxhdGl2ZUNsb25lUGF0aCkge1xuICAgICAgbGlua2VkUHJvai5yZWxhdGl2ZUNsb25lUGF0aCA9IHBhdGguYmFzZW5hbWUoXG4gICAgICAgIGxpbmtlZFByb2oucmVtb3RlVXJsKCkucmVwbGFjZSgnLmdpdCcsICcnKSxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghbGlua2VkUHJvai5kZWFmdWx0QnJhbmNoKSB7XG4gICAgICBsaW5rZWRQcm9qLmRlYWZ1bHRCcmFuY2ggPSAnbWFzdGVyJztcbiAgICB9XG4gICAgcmV0dXJuIGxpbmtlZFByb2o7XG4gIH1cblxuXG5cbiAgc3RhdGljIGZyb21OYW1lKFxuICAgIHByb2plY3ROYW1lOiBzdHJpbmcsXG4gICAgY3VycmVudFJlbW90ZVVybD86IHN0cmluZyxcbiAgICBjdXJyZW50QnJhbmNoPzogc3RyaW5nLFxuICApIHtcbiAgICByZXR1cm4gTGlua2VkUHJvamVjdC5mcm9tKHtcbiAgICAgIHJlcG9Vcmw6IGN1cnJlbnRSZW1vdGVVcmw/LnJlcGxhY2UoXG4gICAgICAgIHBhdGguYmFzZW5hbWUoY3VycmVudFJlbW90ZVVybCksXG4gICAgICAgIGAke3Byb2plY3ROYW1lfS5naXRgLFxuICAgICAgKSxcbiAgICAgIGRlYWZ1bHRCcmFuY2g6IGN1cnJlbnRCcmFuY2gsXG4gICAgICByZWxhdGl2ZUNsb25lUGF0aDogcHJvamVjdE5hbWUsXG4gICAgfSk7XG4gIH1cblxuXG5cbiAgc3RhdGljIGRldGVjdChpbnNpZGVMb2NhdGlvbjogc3RyaW5nLCByZWN1cnNpdmUgPSBmYWxzZSk6IExpbmtlZFByb2plY3RbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuICAvKipcbiAgICogc29tZXRpbWUgdGhlcmUgaXMgcHJvamVjdCB0aGF0IGhhcyBvbmUgcHJvamVjdFxuICAgKiBlbWJlZGUgaW5zaWRlIGFub3RoZXIgcHJvamVjdFxuICAgKi9cbiAgaW50ZXJuYWxSZWFsdGl2ZVByb2plY3RQYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogZG9uJ3QgYWNjZXNzIGRpcmVjdGx5LCB1c2UgcmVtb3RlVXJsKCkgaW5zdGVhZFxuICAgKi9cbiAgcmVwb1VybFNzaD86IHN0cmluZztcbiAgLyoqXG4gICAqIGRvbid0IGFjY2VzcyBkaXJlY3RseSwgdXNlIHJlbW90ZVVybCgpIGluc3RlYWRcbiAgICovXG4gIHJlcG9VcmxIdHRwPzogc3RyaW5nO1xuICAvKipcbiAgICogZG9uJ3QgYWNjZXNzIGRpcmVjdGx5LCB1c2UgcmVtb3RlVXJsKCkgaW5zdGVhZFxuICAgKi9cbiAgcmVwb1VybD86IHN0cmluZztcbiAgLyoqXG4gICAqIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIHB1YmxpYyByZW1vdGVVcmwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5yZXBvVXJsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXBvVXJsO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXBvVXJsSHR0cCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVwb1VybEh0dHA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJlcG9VcmxTc2g7XG4gIH1cblxuICBwdWJsaWMgcmVtb3RlVXJsVHJhbnNmb3JtZWQoc2V0T3JpZ2luOiAnc3NoJyB8ICdodHRwJyk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBkZWFmdWx0QnJhbmNoPzogc3RyaW5nO1xuICBwdXJwb3NlPzogc3RyaW5nO1xuICByZWxhdGl2ZUNsb25lUGF0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIExpbmtlZFBvcmplY3RzQ29uZmlnIHtcblxuXG5cbiAgc3RhdGljIGZyb20ob3B0aW9uczogUGFydGlhbDxMaW5rZWRQb3JqZWN0c0NvbmZpZz4pIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICBvcHRpb25zLnByb2plY3RzID0gKG9wdGlvbnMucHJvamVjdHMgfHwgW10pLm1hcChsaW5rZWRQcm9qT3JuYW1lID0+IHtcbiAgICAgIGlmIChfLmlzU3RyaW5nKGxpbmtlZFByb2pPcm5hbWUpKSB7XG4gICAgICAgIHJldHVybiBMaW5rZWRQcm9qZWN0LmZyb21OYW1lKGxpbmtlZFByb2pPcm5hbWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIExpbmtlZFByb2plY3QuZnJvbShsaW5rZWRQcm9qT3JuYW1lKTtcbiAgICB9KTtcblxuXG5cbiAgICByZXR1cm4gXy5tZXJnZShuZXcgKExpbmtlZFBvcmplY3RzQ29uZmlnIGFzIGFueSkoKSwgXy5jbG9uZURlZXAob3B0aW9ucykpO1xuICB9XG5cblxuXG4gIHByZWZpeD86IHN0cmluZztcbiAgc2tpcFJlY3J1c2l2ZVB1c2g/OiBib29sZWFuO1xuICByZXNldE9ubHlDaGlsZHJlbj86IGJvb2xlYW47XG4gIHByb2plY3RzOiBMaW5rZWRQcm9qZWN0W107XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9saW5rZWQtcHJvamVjdC50cyJdfQ==