@o3r/rules-engine 10.0.0-next.9 → 11.0.0-next.0

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 (195) hide show
  1. package/README.md +16 -17
  2. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.d.ts +1 -1
  3. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.d.ts.map +1 -1
  4. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.interfaces.d.ts +2 -0
  5. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.interfaces.d.ts.map +1 -1
  6. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.js +10 -2
  7. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.js.map +1 -1
  8. package/builders/rules-engine-extractor/index.js.map +1 -1
  9. package/builders/rules-engine-extractor/schema.json +1 -1
  10. package/components/rules-engine/rule-condition/rule-condition-pres.component.d.ts +2 -2
  11. package/components/rules-engine/rule-condition/rule-condition-pres.component.d.ts.map +1 -1
  12. package/components/rules-engine/rule-key-value/rule-key-value-pres.component.d.ts +1 -1
  13. package/components/rules-engine/rule-key-value/rule-key-value-pres.component.d.ts.map +1 -1
  14. package/components/rules-engine/ruleset-history/ruleset-history-pres.component.d.ts +1 -3
  15. package/components/rules-engine/ruleset-history/ruleset-history-pres.component.d.ts.map +1 -1
  16. package/components/rules-engine/shared/ruleset-history.helper.d.ts +0 -2
  17. package/components/rules-engine/shared/ruleset-history.helper.d.ts.map +1 -1
  18. package/devkit/rules-engine-devtools.console.service.d.ts +0 -7
  19. package/devkit/rules-engine-devtools.console.service.d.ts.map +1 -1
  20. package/devkit/rules-engine-devtools.message.service.d.ts +4 -6
  21. package/devkit/rules-engine-devtools.message.service.d.ts.map +1 -1
  22. package/devkit/rules-engine-devtools.module.d.ts +0 -1
  23. package/devkit/rules-engine-devtools.module.d.ts.map +1 -1
  24. package/devkit/rules-engine-devtools.service.d.ts +3 -10
  25. package/devkit/rules-engine-devtools.service.d.ts.map +1 -1
  26. package/engine/debug/engine.debug.d.ts +4 -12
  27. package/engine/debug/engine.debug.d.ts.map +1 -1
  28. package/engine/debug/helpers.d.ts +2 -4
  29. package/engine/debug/helpers.d.ts.map +1 -1
  30. package/engine/engine.d.ts +4 -13
  31. package/engine/engine.d.ts.map +1 -1
  32. package/engine/engine.interface.d.ts +2 -6
  33. package/engine/engine.interface.d.ts.map +1 -1
  34. package/engine/fact/fact.interfaces.d.ts +2 -0
  35. package/engine/fact/fact.interfaces.d.ts.map +1 -1
  36. package/engine/helpers/filter-ruleset-event.operator.d.ts +0 -1
  37. package/engine/helpers/filter-ruleset-event.operator.d.ts.map +1 -1
  38. package/engine/operator/operator.helpers.d.ts +10 -9
  39. package/engine/operator/operator.helpers.d.ts.map +1 -1
  40. package/engine/operator/operator.interface.d.ts +4 -1
  41. package/engine/operator/operator.interface.d.ts.map +1 -1
  42. package/engine/operator/operators/array-based.operators.d.ts +0 -23
  43. package/engine/operator/operators/array-based.operators.d.ts.map +1 -1
  44. package/engine/operator/operators/basic.operators.d.ts +5 -8
  45. package/engine/operator/operators/basic.operators.d.ts.map +1 -1
  46. package/engine/operator/operators/date-based.operators.d.ts +13 -6
  47. package/engine/operator/operators/date-based.operators.d.ts.map +1 -1
  48. package/engine/operator/operators/index.d.ts +1 -1
  49. package/engine/operator/operators/index.d.ts.map +1 -1
  50. package/engine/operator/operators/number-based.operators.d.ts +0 -4
  51. package/engine/operator/operators/number-based.operators.d.ts.map +1 -1
  52. package/engine/rule/rule.helpers.d.ts +0 -7
  53. package/engine/rule/rule.helpers.d.ts.map +1 -1
  54. package/engine/ruleset-executor.d.ts +15 -13
  55. package/engine/ruleset-executor.d.ts.map +1 -1
  56. package/engine/structure.d.ts +9 -5
  57. package/engine/structure.d.ts.map +1 -1
  58. package/esm2022/components/rules-engine/rule-actions/rule-actions-pres.component.mjs +4 -4
  59. package/esm2022/components/rules-engine/rule-condition/rule-condition-pres.component.mjs +8 -13
  60. package/esm2022/components/rules-engine/rule-key-value/rule-key-value-pres.component.mjs +5 -5
  61. package/esm2022/components/rules-engine/rule-tree/rule-tree-pres.component.mjs +5 -5
  62. package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.component.mjs +6 -8
  63. package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.module.mjs +4 -4
  64. package/esm2022/components/rules-engine/shared/fallback-to.pipe.mjs +3 -3
  65. package/esm2022/components/rules-engine/shared/ruleset-history.helper.mjs +1 -3
  66. package/esm2022/devkit/rules-engine-devtools.console.service.mjs +6 -13
  67. package/esm2022/devkit/rules-engine-devtools.message.service.mjs +6 -8
  68. package/esm2022/devkit/rules-engine-devtools.module.mjs +5 -6
  69. package/esm2022/devkit/rules-engine-devtools.service.mjs +7 -14
  70. package/esm2022/engine/debug/engine.debug.mjs +2 -10
  71. package/esm2022/engine/debug/helpers.mjs +1 -4
  72. package/esm2022/engine/engine.interface.mjs +1 -1
  73. package/esm2022/engine/engine.mjs +1 -9
  74. package/esm2022/engine/fact/fact.interfaces.mjs +1 -1
  75. package/esm2022/engine/helpers/filter-ruleset-event.operator.mjs +1 -2
  76. package/esm2022/engine/operator/index.mjs +1 -1
  77. package/esm2022/engine/operator/operator.helpers.mjs +33 -13
  78. package/esm2022/engine/operator/operator.interface.mjs +1 -1
  79. package/esm2022/engine/operator/operators/array-based.operators.mjs +6 -29
  80. package/esm2022/engine/operator/operators/basic.operators.mjs +16 -11
  81. package/esm2022/engine/operator/operators/date-based.operators.mjs +48 -8
  82. package/esm2022/engine/operator/operators/number-based.operators.mjs +1 -5
  83. package/esm2022/engine/rule/rule.helpers.mjs +1 -8
  84. package/esm2022/engine/ruleset-executor.mjs +58 -32
  85. package/esm2022/engine/structure.mjs +1 -1
  86. package/esm2022/fact/fact.abstract-service.mjs +1 -1
  87. package/esm2022/facts/current-time/current-time.facts.mjs +2 -0
  88. package/esm2022/facts/current-time/index.mjs +2 -0
  89. package/esm2022/facts/index.mjs +2 -0
  90. package/esm2022/fixtures/jasmine/index.mjs +2 -2
  91. package/esm2022/fixtures/jasmine/rules-engine.runner.service.fixture.jasmine.mjs +14 -0
  92. package/esm2022/fixtures/jest/index.mjs +2 -2
  93. package/esm2022/fixtures/jest/rules-engine.runner.service.fixture.jest.mjs +14 -0
  94. package/esm2022/interfaces/action.interfaces.mjs +1 -1
  95. package/esm2022/public_api.mjs +2 -1
  96. package/esm2022/services/index.mjs +2 -3
  97. package/esm2022/services/rules-engine.token.mjs +2 -1
  98. package/esm2022/services/runner/index.mjs +3 -0
  99. package/esm2022/services/runner/rules-engine.runner.module.mjs +37 -0
  100. package/esm2022/services/runner/rules-engine.runner.service.mjs +119 -0
  101. package/esm2022/stores/rulesets/rulesets.effect.mjs +4 -4
  102. package/esm2022/stores/rulesets/rulesets.module.mjs +4 -4
  103. package/esm2022/stores/rulesets/rulesets.selectors.mjs +3 -4
  104. package/fact/fact.abstract-service.d.ts +3 -3
  105. package/fact/fact.abstract-service.d.ts.map +1 -1
  106. package/facts/current-time/current-time.facts.d.ts +11 -0
  107. package/facts/current-time/current-time.facts.d.ts.map +1 -0
  108. package/facts/current-time/index.d.ts +2 -0
  109. package/facts/current-time/index.d.ts.map +1 -0
  110. package/facts/index.d.ts +2 -0
  111. package/facts/index.d.ts.map +1 -0
  112. package/fesm2022/o3r-rules-engine-fixtures-jasmine.mjs +3 -6
  113. package/fesm2022/o3r-rules-engine-fixtures-jasmine.mjs.map +1 -1
  114. package/fesm2022/o3r-rules-engine-fixtures-jest.mjs +3 -6
  115. package/fesm2022/o3r-rules-engine-fixtures-jest.mjs.map +1 -1
  116. package/fesm2022/o3r-rules-engine.mjs +264 -560
  117. package/fesm2022/o3r-rules-engine.mjs.map +1 -1
  118. package/fixtures/jasmine/index.d.ts +1 -1
  119. package/fixtures/jasmine/index.d.ts.map +1 -1
  120. package/fixtures/jasmine/rules-engine.runner.service.fixture.jasmine.d.ts +14 -0
  121. package/fixtures/jasmine/rules-engine.runner.service.fixture.jasmine.d.ts.map +1 -0
  122. package/fixtures/jest/index.d.ts +1 -1
  123. package/fixtures/jest/index.d.ts.map +1 -1
  124. package/fixtures/jest/index.js +1 -1
  125. package/fixtures/jest/index.js.map +1 -1
  126. package/fixtures/jest/rules-engine.runner.service.fixture.jest.d.ts +14 -0
  127. package/fixtures/jest/rules-engine.runner.service.fixture.jest.d.ts.map +1 -0
  128. package/fixtures/jest/{rules-engine.service.fixture.jest.js → rules-engine.runner.service.fixture.jest.js} +3 -6
  129. package/fixtures/jest/rules-engine.runner.service.fixture.jest.js.map +1 -0
  130. package/interfaces/action.interfaces.d.ts +5 -0
  131. package/interfaces/action.interfaces.d.ts.map +1 -1
  132. package/migration.json +10 -0
  133. package/package.json +57 -46
  134. package/public_api.d.ts +1 -0
  135. package/public_api.d.ts.map +1 -1
  136. package/rules.facts.metadata.json +7 -1
  137. package/rules.operators.metadata.json +61 -0
  138. package/schemas/rulesets.schema.json +6 -110
  139. package/schematics/cms-adapter/index.d.ts +0 -1
  140. package/schematics/cms-adapter/index.d.ts.map +1 -1
  141. package/schematics/cms-adapter/index.js +5 -9
  142. package/schematics/cms-adapter/index.js.map +1 -1
  143. package/schematics/facts-service/schema.json +1 -1
  144. package/schematics/ng-add/helpers/devtools-registration.d.ts +11 -0
  145. package/schematics/ng-add/helpers/devtools-registration.d.ts.map +1 -0
  146. package/schematics/ng-add/helpers/devtools-registration.js +36 -0
  147. package/schematics/ng-add/helpers/devtools-registration.js.map +1 -0
  148. package/schematics/ng-add/index.d.ts +1 -0
  149. package/schematics/ng-add/index.d.ts.map +1 -1
  150. package/schematics/ng-add/index.js +8 -4
  151. package/schematics/ng-add/index.js.map +1 -1
  152. package/schematics/ng-add/schema.json +1 -1
  153. package/schematics/ng-update/index.d.ts +6 -0
  154. package/schematics/ng-update/index.d.ts.map +1 -0
  155. package/schematics/ng-update/index.js +22 -0
  156. package/schematics/ng-update/index.js.map +1 -0
  157. package/schematics/ng-update/v10.0/action-module-split.d.ts +6 -0
  158. package/schematics/ng-update/v10.0/action-module-split.d.ts.map +1 -0
  159. package/schematics/ng-update/v10.0/action-module-split.js +21 -0
  160. package/schematics/ng-update/v10.0/action-module-split.js.map +1 -0
  161. package/schematics/operator/schema.json +1 -1
  162. package/schematics/rules-engine-to-component/index.d.ts +0 -1
  163. package/schematics/rules-engine-to-component/index.d.ts.map +1 -1
  164. package/schematics/rules-engine-to-component/index.js +7 -8
  165. package/schematics/rules-engine-to-component/index.js.map +1 -1
  166. package/schematics/rules-engine-to-component/schema.json +1 -1
  167. package/services/index.d.ts +1 -2
  168. package/services/index.d.ts.map +1 -1
  169. package/services/rules-engine.token.d.ts +1 -0
  170. package/services/rules-engine.token.d.ts.map +1 -1
  171. package/services/runner/index.d.ts +3 -0
  172. package/services/runner/index.d.ts.map +1 -0
  173. package/services/runner/rules-engine.runner.module.d.ts +13 -0
  174. package/services/runner/rules-engine.runner.module.d.ts.map +1 -0
  175. package/services/runner/rules-engine.runner.service.d.ts +60 -0
  176. package/services/runner/rules-engine.runner.service.d.ts.map +1 -0
  177. package/stores/rulesets/rulesets.selectors.d.ts.map +1 -1
  178. package/builders/package.json +0 -3
  179. package/esm2022/fixtures/jasmine/rules-engine.service.fixture.jasmine.mjs +0 -17
  180. package/esm2022/fixtures/jest/rules-engine.service.fixture.jest.mjs +0 -17
  181. package/esm2022/services/rules-engine.effect.mjs +0 -162
  182. package/esm2022/services/rules-engine.module.mjs +0 -50
  183. package/esm2022/services/rules-engine.service.mjs +0 -272
  184. package/fixtures/jasmine/rules-engine.service.fixture.jasmine.d.ts +0 -17
  185. package/fixtures/jasmine/rules-engine.service.fixture.jasmine.d.ts.map +0 -1
  186. package/fixtures/jest/rules-engine.service.fixture.jest.d.ts +0 -18
  187. package/fixtures/jest/rules-engine.service.fixture.jest.d.ts.map +0 -1
  188. package/fixtures/jest/rules-engine.service.fixture.jest.js.map +0 -1
  189. package/schematics/package.json +0 -3
  190. package/services/rules-engine.effect.d.ts +0 -53
  191. package/services/rules-engine.effect.d.ts.map +0 -1
  192. package/services/rules-engine.module.d.ts +0 -16
  193. package/services/rules-engine.module.d.ts.map +0 -1
  194. package/services/rules-engine.service.d.ts +0 -90
  195. package/services/rules-engine.service.d.ts.map +0 -1
@@ -25,7 +25,6 @@ export class RulesEngineDevtoolsMessageService {
25
25
  }
26
26
  /**
27
27
  * Function to trigger a re-send a requested messages to the Otter Chrome DevTools extension
28
- *
29
28
  * @param only restricted list of messages to re-send
30
29
  */
31
30
  handleReEmitRequest(only) {
@@ -35,7 +34,6 @@ export class RulesEngineDevtoolsMessageService {
35
34
  }
36
35
  /**
37
36
  * Function to handle the incoming messages from Otter Chrome DevTools extension
38
- *
39
37
  * @param event Event coming from the Otter Chrome DevTools extension
40
38
  * @param message
41
39
  */
@@ -79,18 +77,18 @@ export class RulesEngineDevtoolsMessageService {
79
77
  ngOnDestroy() {
80
78
  this.subscriptions.unsubscribe();
81
79
  }
82
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: RulesEngineDevtoolsMessageService, deps: [{ token: i1.OtterRulesEngineDevtools }, { token: i2.LoggerService }, { token: OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
83
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: RulesEngineDevtoolsMessageService, providedIn: 'root' }); }
80
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RulesEngineDevtoolsMessageService, deps: [{ token: i1.OtterRulesEngineDevtools }, { token: i2.LoggerService }, { token: OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
81
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RulesEngineDevtoolsMessageService, providedIn: 'root' }); }
84
82
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: RulesEngineDevtoolsMessageService, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RulesEngineDevtoolsMessageService, decorators: [{
86
84
  type: Injectable,
87
85
  args: [{
88
86
  providedIn: 'root'
89
87
  }]
90
- }], ctorParameters: function () { return [{ type: i1.OtterRulesEngineDevtools }, { type: i2.LoggerService }, { type: undefined, decorators: [{
88
+ }], ctorParameters: () => [{ type: i1.OtterRulesEngineDevtools }, { type: i2.LoggerService }, { type: undefined, decorators: [{
91
89
  type: Optional
92
90
  }, {
93
91
  type: Inject,
94
92
  args: [OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS]
95
- }] }]; } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLWRldnRvb2xzLm1lc3NhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvcnVsZXMtZW5naW5lLWRldnRvb2xzLm1lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUE0QixvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFLakksTUFBTSxPQUFPLGlDQUFpQztJQVM1QyxZQUNtQixtQkFBNkMsRUFDdEQsTUFBcUIsRUFDNEIsT0FBMkM7UUFGbkYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEwQjtRQUN0RCxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBUnZCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVuQywrQkFBMEIsR0FBRyxJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUVsRSxnQkFBVyxHQUFHLENBQUEsZ0JBQXFELENBQUEsQ0FBQztRQU0xRSxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsR0FBRywyQ0FBMkM7WUFDOUMsR0FBRyxPQUFPO1NBQ1gsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtZQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLG1CQUFtQixDQUFDLElBQW9DO1FBQzlELElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO1lBQy9DLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLFlBQVksQ0FBQyxPQUE0QztRQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUU1RSxRQUFRLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDeEIsS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDZCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JCLE1BQU07YUFDUDtZQUNELEtBQUssaUJBQWlCLENBQUMsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdkMsTUFBTTthQUNQO1lBQ0QsT0FBTyxDQUFDLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsOENBQThDLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDM0U7U0FDRjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLHNCQUFzQjtRQUM1QixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsRUFBRTtZQUMvQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUNyRyxDQUFDLENBQUMsRUFBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsQ0FDN0QsQ0FDRixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxhQUFhO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxrQ0FBa0M7SUFDM0IsUUFBUTtRQUNiLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBRTlCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNwQixTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3JILENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsV0FBVztRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7aUlBM0ZVLGlDQUFpQyx1RkFZdEIsbUNBQW1DO3FJQVo5QyxpQ0FBaUMsY0FGaEMsTUFBTTs7MkZBRVAsaUNBQWlDO2tCQUg3QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBYUksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERldnRvb2xzU2VydmljZUludGVyZmFjZSwgZmlsdGVyTWVzc2FnZUNvbnRlbnQsIHNlbmRPdHRlck1lc3NhZ2UgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJ0BvM3IvbG9nZ2VyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEF2YWlsYWJsZVJ1bGVzRW5naW5lTWVzc2FnZUNvbnRlbnRzLCBSdWxlc0VuZ2luZURldnRvb2xzU2VydmljZU9wdGlvbnMsIFJ1bGVzRW5naW5lTWVzc2FnZURhdGFUeXBlcyB9IGZyb20gJy4vcnVsZXMtZW5naW5lLWRldmtpdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgaXNSdWxlc0VuZ2luZU1lc3NhZ2UgfSBmcm9tICcuL3J1bGVzLWVuZ2luZS1kZXZraXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IE90dGVyUnVsZXNFbmdpbmVEZXZ0b29scyB9IGZyb20gJy4vcnVsZXMtZW5naW5lLWRldnRvb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX09QVElPTlMgfSBmcm9tICcuL3J1bGVzLWVuZ2luZS1kZXZ0b29scy50b2tlbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFJ1bGVzRW5naW5lRGV2dG9vbHNNZXNzYWdlU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgRGV2dG9vbHNTZXJ2aWNlSW50ZXJmYWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBSdWxlc0VuZ2luZURldnRvb2xzU2VydmljZU9wdGlvbnM7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIHByaXZhdGUgZm9yY2VFbWl0UnVsZXNFbmdpbmVSZXBvcnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBzZW5kTWVzc2FnZSA9IHNlbmRPdHRlck1lc3NhZ2U8QXZhaWxhYmxlUnVsZXNFbmdpbmVNZXNzYWdlQ29udGVudHM+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcnVsZXNFbmdpbmVEZXZ0b29sczogT3R0ZXJSdWxlc0VuZ2luZURldnRvb2xzLFxuICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX09QVElPTlMpIG9wdGlvbnM/OiBSdWxlc0VuZ2luZURldnRvb2xzU2VydmljZU9wdGlvbnMpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICAuLi5PVFRFUl9SVUxFU19FTkdJTkVfREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH07XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmlzQWN0aXZhdGVkT25Cb290c3RyYXApIHtcbiAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gdHJpZ2dlciBhIHJlLXNlbmQgYSByZXF1ZXN0ZWQgbWVzc2FnZXMgdG8gdGhlIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICpcbiAgICogQHBhcmFtIG9ubHkgcmVzdHJpY3RlZCBsaXN0IG9mIG1lc3NhZ2VzIHRvIHJlLXNlbmRcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlUmVFbWl0UmVxdWVzdChvbmx5PzogUnVsZXNFbmdpbmVNZXNzYWdlRGF0YVR5cGVzW10pIHtcbiAgICBpZiAoIW9ubHkgfHwgb25seS5pbmNsdWRlcygncnVsZXNFbmdpbmVFdmVudHMnKSkge1xuICAgICAgdGhpcy5mb3JjZUVtaXRSdWxlc0VuZ2luZVJlcG9ydC5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGhhbmRsZSB0aGUgaW5jb21pbmcgbWVzc2FnZXMgZnJvbSBPdHRlciBDaHJvbWUgRGV2VG9vbHMgZXh0ZW5zaW9uXG4gICAqXG4gICAqIEBwYXJhbSBldmVudCBFdmVudCBjb21pbmcgZnJvbSB0aGUgT3R0ZXIgQ2hyb21lIERldlRvb2xzIGV4dGVuc2lvblxuICAgKiBAcGFyYW0gbWVzc2FnZVxuICAgKi9cbiAgcHJpdmF0ZSBoYW5kbGVFdmVudHMobWVzc2FnZTogQXZhaWxhYmxlUnVsZXNFbmdpbmVNZXNzYWdlQ29udGVudHMpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTWVzc2FnZSBoYW5kbGluZyBieSB0aGUgY29uZmlndXJhdGlvbiBzZXJ2aWNlJywgbWVzc2FnZSk7XG5cbiAgICBzd2l0Y2ggKG1lc3NhZ2UuZGF0YVR5cGUpIHtcbiAgICAgIGNhc2UgJ2Nvbm5lY3QnOiB7XG4gICAgICAgIHRoaXMuY29ubmVjdFBsdWdpbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3JlcXVlc3RNZXNzYWdlcyc6IHtcbiAgICAgICAgdGhpcy5oYW5kbGVSZUVtaXRSZXF1ZXN0KG1lc3NhZ2Uub25seSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICB0aGlzLmxvZ2dlci53YXJuKCdNZXNzYWdlIGlnbm9yZWQgYnkgdGhlIGNvbmZpZ3VyYXRpb24gc2VydmljZScsIG1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBzdGFydCB0aGUgcnVsZXMgZW5naW5lIHJlcG9ydGluZyB0byB0aGUgT3R0ZXIgQ2hyb21lIERldlRvb2xzIGV4dGVuc2lvblxuICAgKi9cbiAgcHJpdmF0ZSBzdGFydFJ1bGVzRW5naW5lUmVwb3J0KCkge1xuICAgIGlmICh0aGlzLnJ1bGVzRW5naW5lRGV2dG9vbHMucnVsZXNFbmdpbmVSZXBvcnQkKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmZvcmNlRW1pdFJ1bGVzRW5naW5lUmVwb3J0LCB0aGlzLnJ1bGVzRW5naW5lRGV2dG9vbHMucnVsZXNFbmdpbmVSZXBvcnQkXSkuc3Vic2NyaWJlKFxuICAgICAgICAgIChbLHJlcG9ydF0pID0+IHRoaXMuc2VuZE1lc3NhZ2UoJ3J1bGVzRW5naW5lRXZlbnRzJywgcmVwb3J0KVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBjb25uZWN0IHRoZSBwbHVnaW4gdG8gdGhlIE90dGVyIERldlRvb2xzIGV4dGVuc2lvblxuICAgKi9cbiAgcHJpdmF0ZSBjb25uZWN0UGx1Z2luKCkge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ090dGVyIERldlRvb2xzIGlzIHBsdWdnZWQgdG8gdGhlIGFwcGxpY2F0aW9uJyk7XG4gICAgdGhpcy5mb3JjZUVtaXRSdWxlc0VuZ2luZVJlcG9ydC5uZXh0KCk7XG4gIH1cblxuICAvKiogQWN0aXZhdGUgdGhlIE90dGVyIERldlRvb2xzICovXG4gIHB1YmxpYyBhY3RpdmF0ZSgpIHtcbiAgICB0aGlzLnN0YXJ0UnVsZXNFbmdpbmVSZXBvcnQoKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBmcm9tRXZlbnQod2luZG93LCAnbWVzc2FnZScpLnBpcGUoZmlsdGVyTWVzc2FnZUNvbnRlbnQoaXNSdWxlc0VuZ2luZU1lc3NhZ2UpKS5zdWJzY3JpYmUoKGUpID0+IHRoaXMuaGFuZGxlRXZlbnRzKGUpKVxuICAgICk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
93
+ }] }] });
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLWRldnRvb2xzLm1lc3NhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvcnVsZXMtZW5naW5lLWRldnRvb2xzLm1lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUE0QixvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFLakksTUFBTSxPQUFPLGlDQUFpQztJQVM1QyxZQUNtQixtQkFBNkMsRUFDN0MsTUFBcUIsRUFDbUIsT0FBMkM7UUFGbkYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEwQjtRQUM3QyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBUnZCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVuQywrQkFBMEIsR0FBRyxJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUVsRSxnQkFBVyxHQUFHLENBQUEsZ0JBQXFELENBQUEsQ0FBQztRQU1uRixJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsR0FBRywyQ0FBMkM7WUFDOUMsR0FBRyxPQUFPO1NBQ1gsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtZQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssbUJBQW1CLENBQUMsSUFBb0M7UUFDOUQsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxZQUFZLENBQUMsT0FBNEM7UUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsK0NBQStDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFNUUsUUFBUSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3hCLEtBQUssU0FBUyxDQUFDLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixNQUFNO2FBQ1A7WUFDRCxLQUFLLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07YUFDUDtZQUNELE9BQU8sQ0FBQyxDQUFDO2dCQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDhDQUE4QyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQzNFO1NBQ0Y7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxzQkFBc0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDckcsQ0FBQyxDQUFDLEVBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLENBQzdELENBQ0YsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssYUFBYTtRQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsa0NBQWtDO0lBQzNCLFFBQVE7UUFDYixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUU5QixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNySCxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO2lJQXpGVSxpQ0FBaUMsdUZBWXRCLG1DQUFtQztxSUFaOUMsaUNBQWlDLGNBRmhDLE1BQU07OzJGQUVQLGlDQUFpQztrQkFIN0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQWFJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUNBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXZ0b29sc1NlcnZpY2VJbnRlcmZhY2UsIGZpbHRlck1lc3NhZ2VDb250ZW50LCBzZW5kT3R0ZXJNZXNzYWdlIH0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICdAbzNyL2xvZ2dlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdmFpbGFibGVSdWxlc0VuZ2luZU1lc3NhZ2VDb250ZW50cywgUnVsZXNFbmdpbmVEZXZ0b29sc1NlcnZpY2VPcHRpb25zLCBSdWxlc0VuZ2luZU1lc3NhZ2VEYXRhVHlwZXMgfSBmcm9tICcuL3J1bGVzLWVuZ2luZS1kZXZraXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IGlzUnVsZXNFbmdpbmVNZXNzYWdlIH0gZnJvbSAnLi9ydWxlcy1lbmdpbmUtZGV2a2l0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBPdHRlclJ1bGVzRW5naW5lRGV2dG9vbHMgfSBmcm9tICcuL3J1bGVzLWVuZ2luZS1kZXZ0b29scy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19PUFRJT05TIH0gZnJvbSAnLi9ydWxlcy1lbmdpbmUtZGV2dG9vbHMudG9rZW4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSdWxlc0VuZ2luZURldnRvb2xzTWVzc2FnZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIERldnRvb2xzU2VydmljZUludGVyZmFjZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogUnVsZXNFbmdpbmVEZXZ0b29sc1NlcnZpY2VPcHRpb25zO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGZvcmNlRW1pdFJ1bGVzRW5naW5lUmVwb3J0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2VuZE1lc3NhZ2UgPSBzZW5kT3R0ZXJNZXNzYWdlPEF2YWlsYWJsZVJ1bGVzRW5naW5lTWVzc2FnZUNvbnRlbnRzPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJ1bGVzRW5naW5lRGV2dG9vbHM6IE90dGVyUnVsZXNFbmdpbmVEZXZ0b29scyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19PUFRJT05TKSBvcHRpb25zPzogUnVsZXNFbmdpbmVEZXZ0b29sc1NlcnZpY2VPcHRpb25zKSB7XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgLi4uT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUyxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5pc0FjdGl2YXRlZE9uQm9vdHN0cmFwKSB7XG4gICAgICB0aGlzLmFjdGl2YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIHRyaWdnZXIgYSByZS1zZW5kIGEgcmVxdWVzdGVkIG1lc3NhZ2VzIHRvIHRoZSBPdHRlciBDaHJvbWUgRGV2VG9vbHMgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSBvbmx5IHJlc3RyaWN0ZWQgbGlzdCBvZiBtZXNzYWdlcyB0byByZS1zZW5kXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZVJlRW1pdFJlcXVlc3Qob25seT86IFJ1bGVzRW5naW5lTWVzc2FnZURhdGFUeXBlc1tdKSB7XG4gICAgaWYgKCFvbmx5IHx8IG9ubHkuaW5jbHVkZXMoJ3J1bGVzRW5naW5lRXZlbnRzJykpIHtcbiAgICAgIHRoaXMuZm9yY2VFbWl0UnVsZXNFbmdpbmVSZXBvcnQubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBoYW5kbGUgdGhlIGluY29taW5nIG1lc3NhZ2VzIGZyb20gT3R0ZXIgQ2hyb21lIERldlRvb2xzIGV4dGVuc2lvblxuICAgKiBAcGFyYW0gZXZlbnQgRXZlbnQgY29taW5nIGZyb20gdGhlIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICogQHBhcmFtIG1lc3NhZ2VcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlRXZlbnRzKG1lc3NhZ2U6IEF2YWlsYWJsZVJ1bGVzRW5naW5lTWVzc2FnZUNvbnRlbnRzKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ01lc3NhZ2UgaGFuZGxpbmcgYnkgdGhlIGNvbmZpZ3VyYXRpb24gc2VydmljZScsIG1lc3NhZ2UpO1xuXG4gICAgc3dpdGNoIChtZXNzYWdlLmRhdGFUeXBlKSB7XG4gICAgICBjYXNlICdjb25uZWN0Jzoge1xuICAgICAgICB0aGlzLmNvbm5lY3RQbHVnaW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdyZXF1ZXN0TWVzc2FnZXMnOiB7XG4gICAgICAgIHRoaXMuaGFuZGxlUmVFbWl0UmVxdWVzdChtZXNzYWdlLm9ubHkpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhpcy5sb2dnZXIud2FybignTWVzc2FnZSBpZ25vcmVkIGJ5IHRoZSBjb25maWd1cmF0aW9uIHNlcnZpY2UnLCBtZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gc3RhcnQgdGhlIHJ1bGVzIGVuZ2luZSByZXBvcnRpbmcgdG8gdGhlIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICovXG4gIHByaXZhdGUgc3RhcnRSdWxlc0VuZ2luZVJlcG9ydCgpIHtcbiAgICBpZiAodGhpcy5ydWxlc0VuZ2luZURldnRvb2xzLnJ1bGVzRW5naW5lUmVwb3J0JCkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5mb3JjZUVtaXRSdWxlc0VuZ2luZVJlcG9ydCwgdGhpcy5ydWxlc0VuZ2luZURldnRvb2xzLnJ1bGVzRW5naW5lUmVwb3J0JF0pLnN1YnNjcmliZShcbiAgICAgICAgICAoWyxyZXBvcnRdKSA9PiB0aGlzLnNlbmRNZXNzYWdlKCdydWxlc0VuZ2luZUV2ZW50cycsIHJlcG9ydClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gY29ubmVjdCB0aGUgcGx1Z2luIHRvIHRoZSBPdHRlciBEZXZUb29scyBleHRlbnNpb25cbiAgICovXG4gIHByaXZhdGUgY29ubmVjdFBsdWdpbigpIHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdPdHRlciBEZXZUb29scyBpcyBwbHVnZ2VkIHRvIHRoZSBhcHBsaWNhdGlvbicpO1xuICAgIHRoaXMuZm9yY2VFbWl0UnVsZXNFbmdpbmVSZXBvcnQubmV4dCgpO1xuICB9XG5cbiAgLyoqIEFjdGl2YXRlIHRoZSBPdHRlciBEZXZUb29scyAqL1xuICBwdWJsaWMgYWN0aXZhdGUoKSB7XG4gICAgdGhpcy5zdGFydFJ1bGVzRW5naW5lUmVwb3J0KCk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ21lc3NhZ2UnKS5waXBlKGZpbHRlck1lc3NhZ2VDb250ZW50KGlzUnVsZXNFbmdpbmVNZXNzYWdlKSkuc3Vic2NyaWJlKChlKSA9PiB0aGlzLmhhbmRsZUV2ZW50cyhlKSlcbiAgICApO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
@@ -8,7 +8,6 @@ import * as i0 from "@angular/core";
8
8
  export class RulesEngineDevtoolsModule {
9
9
  /**
10
10
  * Initialize Otter Devtools
11
- *
12
11
  * @param options
13
12
  */
14
13
  static instrument(options) {
@@ -21,17 +20,17 @@ export class RulesEngineDevtoolsModule {
21
20
  ]
22
21
  };
23
22
  }
24
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: RulesEngineDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
25
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: RulesEngineDevtoolsModule, imports: [StoreModule,
23
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RulesEngineDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
24
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: RulesEngineDevtoolsModule, imports: [StoreModule,
26
25
  RulesetsStoreModule] }); }
27
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: RulesEngineDevtoolsModule, providers: [
26
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RulesEngineDevtoolsModule, providers: [
28
27
  { provide: OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS, useValue: OTTER_RULES_ENGINE_DEVTOOLS_DEFAULT_OPTIONS },
29
28
  RulesEngineDevtoolsMessageService,
30
29
  RulesEngineDevtoolsConsoleService
31
30
  ], imports: [StoreModule,
32
31
  RulesetsStoreModule] }); }
33
32
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: RulesEngineDevtoolsModule, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RulesEngineDevtoolsModule, decorators: [{
35
34
  type: NgModule,
36
35
  args: [{
37
36
  imports: [
@@ -45,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
45
44
  ]
46
45
  }]
47
46
  }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLWRldnRvb2xzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvcnVsZXMtZW5naW5lLWRldnRvb2xzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWFqSSxNQUFNLE9BQU8seUJBQXlCO0lBRXBDOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQW1EO1FBQzFFLE9BQU87WUFDTCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxRQUFRLEVBQUUsRUFBQyxHQUFHLDJDQUEyQyxFQUFFLEdBQUcsT0FBTyxFQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtnQkFDdEksaUNBQWlDO2dCQUNqQyxpQ0FBaUM7YUFDbEM7U0FDRixDQUFDO0lBQ0osQ0FBQztpSUFoQlUseUJBQXlCO2tJQUF6Qix5QkFBeUIsWUFUbEMsV0FBVztZQUNYLG1CQUFtQjtrSUFRVix5QkFBeUIsYUFOekI7WUFDVCxFQUFFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxRQUFRLEVBQUUsMkNBQTJDLEVBQUU7WUFDdkcsaUNBQWlDO1lBQ2pDLGlDQUFpQztTQUNsQyxZQVBDLFdBQVc7WUFDWCxtQkFBbUI7OzJGQVFWLHlCQUF5QjtrQkFYckMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVzt3QkFDWCxtQkFBbUI7cUJBQ3BCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxRQUFRLEVBQUUsMkNBQTJDLEVBQUU7d0JBQ3ZHLGlDQUFpQzt3QkFDakMsaUNBQWlDO3FCQUNsQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFJ1bGVzZXRzU3RvcmVNb2R1bGUgfSBmcm9tICcuLi9zdG9yZXMvaW5kZXgnO1xuaW1wb3J0IHR5cGUgeyBSdWxlc0VuZ2luZURldnRvb2xzU2VydmljZU9wdGlvbnMgfSBmcm9tICcuL3J1bGVzLWVuZ2luZS1kZXZraXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJ1bGVzRW5naW5lRGV2dG9vbHNDb25zb2xlU2VydmljZSB9IGZyb20gJy4vcnVsZXMtZW5naW5lLWRldnRvb2xzLmNvbnNvbGUuc2VydmljZSc7XG5pbXBvcnQgeyBSdWxlc0VuZ2luZURldnRvb2xzTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuL3J1bGVzLWVuZ2luZS1kZXZ0b29scy5tZXNzYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX09QVElPTlMgfSBmcm9tICcuL3J1bGVzLWVuZ2luZS1kZXZ0b29scy50b2tlbic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBTdG9yZU1vZHVsZSxcbiAgICBSdWxlc2V0c1N0b3JlTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX09QVElPTlMsIHVzZVZhbHVlOiBPVFRFUl9SVUxFU19FTkdJTkVfREVWVE9PTFNfREVGQVVMVF9PUFRJT05TIH0sXG4gICAgUnVsZXNFbmdpbmVEZXZ0b29sc01lc3NhZ2VTZXJ2aWNlLFxuICAgIFJ1bGVzRW5naW5lRGV2dG9vbHNDb25zb2xlU2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJ1bGVzRW5naW5lRGV2dG9vbHNNb2R1bGUge1xuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIE90dGVyIERldnRvb2xzXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGluc3RydW1lbnQob3B0aW9uczogUGFydGlhbDxSdWxlc0VuZ2luZURldnRvb2xzU2VydmljZU9wdGlvbnM+KTogTW9kdWxlV2l0aFByb3ZpZGVyczxSdWxlc0VuZ2luZURldnRvb2xzTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBSdWxlc0VuZ2luZURldnRvb2xzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX09QVElPTlMsIHVzZVZhbHVlOiB7Li4uT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9uc30sIG11bHRpOiBmYWxzZSB9LFxuICAgICAgICBSdWxlc0VuZ2luZURldnRvb2xzTWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIFJ1bGVzRW5naW5lRGV2dG9vbHNDb25zb2xlU2VydmljZVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLWRldnRvb2xzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvcnVsZXMtZW5naW5lLWRldnRvb2xzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWFqSSxNQUFNLE9BQU8seUJBQXlCO0lBRXBDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBbUQ7UUFDMUUsT0FBTztZQUNMLFFBQVEsRUFBRSx5QkFBeUI7WUFDbkMsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLFFBQVEsRUFBRSxFQUFDLEdBQUcsMkNBQTJDLEVBQUUsR0FBRyxPQUFPLEVBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO2dCQUN0SSxpQ0FBaUM7Z0JBQ2pDLGlDQUFpQzthQUNsQztTQUNGLENBQUM7SUFDSixDQUFDO2lJQWZVLHlCQUF5QjtrSUFBekIseUJBQXlCLFlBVGxDLFdBQVc7WUFDWCxtQkFBbUI7a0lBUVYseUJBQXlCLGFBTnpCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsUUFBUSxFQUFFLDJDQUEyQyxFQUFFO1lBQ3ZHLGlDQUFpQztZQUNqQyxpQ0FBaUM7U0FDbEMsWUFQQyxXQUFXO1lBQ1gsbUJBQW1COzsyRkFRVix5QkFBeUI7a0JBWHJDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsbUJBQW1CO3FCQUNwQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsUUFBUSxFQUFFLDJDQUEyQyxFQUFFO3dCQUN2RyxpQ0FBaUM7d0JBQ2pDLGlDQUFpQztxQkFDbEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBSdWxlc2V0c1N0b3JlTW9kdWxlIH0gZnJvbSAnLi4vc3RvcmVzL2luZGV4JztcbmltcG9ydCB0eXBlIHsgUnVsZXNFbmdpbmVEZXZ0b29sc1NlcnZpY2VPcHRpb25zIH0gZnJvbSAnLi9ydWxlcy1lbmdpbmUtZGV2a2l0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSdWxlc0VuZ2luZURldnRvb2xzQ29uc29sZVNlcnZpY2UgfSBmcm9tICcuL3J1bGVzLWVuZ2luZS1kZXZ0b29scy5jb25zb2xlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUnVsZXNFbmdpbmVEZXZ0b29sc01lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9ydWxlcy1lbmdpbmUtZGV2dG9vbHMubWVzc2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19PUFRJT05TIH0gZnJvbSAnLi9ydWxlcy1lbmdpbmUtZGV2dG9vbHMudG9rZW4nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgU3RvcmVNb2R1bGUsXG4gICAgUnVsZXNldHNTdG9yZU1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19PUFRJT05TLCB1c2VWYWx1ZTogT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUyB9LFxuICAgIFJ1bGVzRW5naW5lRGV2dG9vbHNNZXNzYWdlU2VydmljZSxcbiAgICBSdWxlc0VuZ2luZURldnRvb2xzQ29uc29sZVNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSdWxlc0VuZ2luZURldnRvb2xzTW9kdWxlIHtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBPdHRlciBEZXZ0b29sc1xuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpbnN0cnVtZW50KG9wdGlvbnM6IFBhcnRpYWw8UnVsZXNFbmdpbmVEZXZ0b29sc1NlcnZpY2VPcHRpb25zPik6IE1vZHVsZVdpdGhQcm92aWRlcnM8UnVsZXNFbmdpbmVEZXZ0b29sc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUnVsZXNFbmdpbmVEZXZ0b29sc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19PUFRJT05TLCB1c2VWYWx1ZTogey4uLk9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIC4uLm9wdGlvbnN9LCBtdWx0aTogZmFsc2UgfSxcbiAgICAgICAgUnVsZXNFbmdpbmVEZXZ0b29sc01lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBSdWxlc0VuZ2luZURldnRvb2xzQ29uc29sZVNlcnZpY2VcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -2,7 +2,7 @@ import { Inject, Injectable, Optional } from '@angular/core';
2
2
  import { select, Store } from '@ngrx/store';
3
3
  import { combineLatest, firstValueFrom } from 'rxjs';
4
4
  import { map, scan, shareReplay } from 'rxjs/operators';
5
- import { RulesEngineService } from '../services';
5
+ import { RulesEngineRunnerService } from '../services';
6
6
  import { selectRulesetsEntities } from '../stores';
7
7
  import { OTTER_RULES_ENGINE_DEVTOOLS_DEFAULT_OPTIONS, OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS } from './rules-engine-devtools.token';
8
8
  import * as i0 from "@angular/core";
@@ -54,7 +54,6 @@ export class OtterRulesEngineDevtools {
54
54
  }
55
55
  /**
56
56
  * Get the list of executions for the given ruleset
57
- *
58
57
  * @param rulesetId
59
58
  */
60
59
  async getRulesetExecutions(rulesetId) {
@@ -63,7 +62,6 @@ export class OtterRulesEngineDevtools {
63
62
  }
64
63
  /**
65
64
  * Check if the ruleset is activ in the moment when the function is called
66
- *
67
65
  * @param rulesetId
68
66
  * @returns True if the ruleset is active; False if the ruleset is inactive or it does not exist
69
67
  */
@@ -72,7 +70,6 @@ export class OtterRulesEngineDevtools {
72
70
  }
73
71
  /**
74
72
  * Get the list of rules executed for the specified ruleset
75
- *
76
73
  * @param rulesetId
77
74
  */
78
75
  async getRulesEvaluationsForRuleset(rulesetId) {
@@ -81,7 +78,6 @@ export class OtterRulesEngineDevtools {
81
78
  }
82
79
  /**
83
80
  * Get the list of input facts (name, current value) for the specified ruleset, at the moment when the function is called
84
- *
85
81
  * @param rulesetId
86
82
  */
87
83
  async getInputFactsForRuleset(rulesetId) {
@@ -90,7 +86,6 @@ export class OtterRulesEngineDevtools {
90
86
  }
91
87
  /**
92
88
  * Get the list of triggers for the specified ruleset
93
- *
94
89
  * @param rulesetId
95
90
  */
96
91
  async getTriggersForRuleset(rulesetId) {
@@ -98,7 +93,6 @@ export class OtterRulesEngineDevtools {
98
93
  }
99
94
  /**
100
95
  * Get the list of outputed actions emitted by the given ruleset, at the moment when the function is called
101
- *
102
96
  * @param rulesetId
103
97
  */
104
98
  async getOutputActionsForRuleset(rulesetId) {
@@ -114,24 +108,23 @@ export class OtterRulesEngineDevtools {
114
108
  }
115
109
  /**
116
110
  * Retrieve the ruleset information (rules, linkedComponent, validity range etc.) for a ruleset id
117
- *
118
111
  * @param rulesetId
119
112
  */
120
113
  getRulesetInformation(rulesetId) {
121
114
  return firstValueFrom(this.store.pipe(select(selectRulesetsEntities), map((entities) => entities[rulesetId])));
122
115
  }
123
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: OtterRulesEngineDevtools, deps: [{ token: i1.Store }, { token: i2.RulesEngineService }, { token: OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
124
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: OtterRulesEngineDevtools, providedIn: 'root' }); }
116
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: OtterRulesEngineDevtools, deps: [{ token: i1.Store }, { token: i2.RulesEngineRunnerService }, { token: OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
117
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: OtterRulesEngineDevtools, providedIn: 'root' }); }
125
118
  }
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: OtterRulesEngineDevtools, decorators: [{
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: OtterRulesEngineDevtools, decorators: [{
127
120
  type: Injectable,
128
121
  args: [{
129
122
  providedIn: 'root'
130
123
  }]
131
- }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.RulesEngineService }, { type: undefined, decorators: [{
124
+ }], ctorParameters: () => [{ type: i1.Store }, { type: i2.RulesEngineRunnerService }, { type: undefined, decorators: [{
132
125
  type: Optional
133
126
  }, {
134
127
  type: Inject,
135
128
  args: [OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS]
136
- }] }]; } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLWRldnRvb2xzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L3J1bGVzLWVuZ2luZS1kZXZ0b29scy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFnQyxzQkFBc0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqRixPQUFPLEVBQUUsMkNBQTJDLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQUtqSSxNQUFNLE9BQU8sd0JBQXdCO0lBUW5DOztPQUVHO0lBQ0gsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDcEQsQ0FBQztJQUVELFlBQ1ksS0FBMkIsRUFDN0Isa0JBQXNDLEVBQ1csT0FBMEM7UUFGekYsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFDN0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUc5QyxNQUFNLGdCQUFnQixHQUFHLENBQUMsT0FBTyxJQUFJLDJDQUEyQyxDQUFDLENBQUMscUJBQXFCLENBQUM7UUFDeEcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLFlBQVks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QUMsUUFBUSxDQUFDLFNBQVMsQ0FBd0IsQ0FBQyxDQUM5RCxDQUFDLENBQUM7SUFDTCxDQUFDO2lJQWpKVSx3QkFBd0IseUVBa0JiLG1DQUFtQztxSUFsQjlDLHdCQUF3QixjQUZ2QixNQUFNOzsyRkFFUCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFtQkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2Nhbiwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgdHlwZSB7IEFjdGl2ZVJ1bGVzZXRzRXZlbnQsIEF2YWlsYWJsZVJ1bGVzZXRzLCBCYXNlUnVsZXNldEV4ZWN1dGlvbiwgRGVidWdFdmVudCwgUnVsZXNldCwgUnVsZXNldEV4ZWN1dGlvbkVycm9yRXZlbnQsIFJ1bGVzZXRFeGVjdXRpb25FdmVudCB9IGZyb20gJy4uL2VuZ2luZSc7XG5pbXBvcnQgeyBSdWxlc0VuZ2luZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSdWxlc2V0c01vZGVsLCBSdWxlc2V0c1N0b3JlLCBzZWxlY3RSdWxlc2V0c0VudGl0aWVzIH0gZnJvbSAnLi4vc3RvcmVzJztcbmltcG9ydCB7IFJ1bGVzRW5naW5lRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vcnVsZXMtZW5naW5lLWRldmtpdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX09QVElPTlMgfSBmcm9tICcuL3J1bGVzLWVuZ2luZS1kZXZ0b29scy50b2tlbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE90dGVyUnVsZXNFbmdpbmVEZXZ0b29scyB7XG5cbiAgLyoqIFN0cmVhbSBvZiBydWxlcyBlbmdpbmUgcmVwb3J0ICovXG4gIHB1YmxpYyByZWFkb25seSBydWxlc0VuZ2luZVJlcG9ydCQ/OiBPYnNlcnZhYmxlPHsgZXZlbnRzOiBEZWJ1Z0V2ZW50W107IHJ1bGVzZXRNYXA6IFJlY29yZDxzdHJpbmcsIFJ1bGVzZXQ+IH0+O1xuXG4gIC8qKiBTdHJlYW0gb2YgcnVsZXMgZW5naW5lIGV2ZW50ICovXG4gIHB1YmxpYyByZWFkb25seSBydWxlc0VuZ2luZUV2ZW50cyQ/OiBPYnNlcnZhYmxlPERlYnVnRXZlbnRbXT47XG5cbiAgLyoqXG4gICAqIFJldHVybiB0cnVlIGlmIHRoZSBydWxlcyBlbmdpbmUgZGVidWcgb3B0aW9uIGlzIGFjdGl2YXRlZFxuICAgKi9cbiAgcHVibGljIGdldCBpc1J1bGVzRW5naW5lRGVidWdBY3RpdmF0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5ydWxlc0VuZ2luZVNlcnZpY2UuZW5naW5lLmRlYnVnTW9kZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzdG9yZTogU3RvcmU8UnVsZXNldHNTdG9yZT4sXG4gICAgcHJpdmF0ZSBydWxlc0VuZ2luZVNlcnZpY2U6IFJ1bGVzRW5naW5lU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19PUFRJT05TKSBvcHRpb25zOiBSdWxlc0VuZ2luZURldnRvb2xzU2VydmljZU9wdGlvbnMpIHtcblxuICAgIGNvbnN0IGV2ZW50c1N0YWNrTGltaXQgPSAob3B0aW9ucyB8fCBPVFRFUl9SVUxFU19FTkdJTkVfREVWVE9PTFNfREVGQVVMVF9PUFRJT05TKS5ydWxlc0VuZ2luZVN0YWNrTGltaXQ7XG4gICAgdGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQgPSB0aGlzLnJ1bGVzRW5naW5lU2VydmljZS5lbmdpbmUuZW5naW5lRGVidWc/LmRlYnVnRXZlbnRzJC5waXBlKFxuICAgICAgc2NhbigocHJldmlvdXNFdmVudHMsIGN1cnJlbnRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBzdGFjayA9IGV2ZW50c1N0YWNrTGltaXQgJiYgcHJldmlvdXNFdmVudHMubGVuZ3RoID09PSBldmVudHNTdGFja0xpbWl0ID8gcHJldmlvdXNFdmVudHMuc2xpY2UoMSkgOiBwcmV2aW91c0V2ZW50cztcbiAgICAgICAgcmV0dXJuIFsuLi5zdGFjaywgY3VycmVudEV2ZW50XTtcbiAgICAgIH0sIFtdIGFzIERlYnVnRXZlbnRbXSksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG5cbiAgICB0aGlzLnJ1bGVzRW5naW5lUmVwb3J0JCA9IHRoaXMucnVsZXNFbmdpbmVFdmVudHMkICYmIGNvbWJpbmVMYXRlc3QoW3RoaXMucnVsZXNFbmdpbmVFdmVudHMkLCB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdFJ1bGVzZXRzRW50aXRpZXMpKV0pLnBpcGUoXG4gICAgICBtYXAoKFtldmVudHMsIHJ1bGVzZXRFbnRpdGllc10pID0+IHtcbiAgICAgICAgY29uc3QgcnVsZXNldE1hcDogUmVjb3JkPHN0cmluZywgUnVsZXNldD4gPSBPYmplY3QuZW50cmllcyhydWxlc2V0RW50aXRpZXMpXG4gICAgICAgICAgLnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBSdWxlc2V0c01vZGVsPj4oKGFjYywgW2lkLCBydWxlc2V0XSkgPT4ge1xuICAgICAgICAgICAgaWYgKHJ1bGVzZXQpIHtcbiAgICAgICAgICAgICAgYWNjW2lkXSA9IHJ1bGVzZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgIH0sIHt9KTtcbiAgICAgICAgcmV0dXJuIHsgZXZlbnRzLCBydWxlc2V0TWFwIH07XG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm4gdGhlIGxpc3Qgb2YgZGVidWcgZXZlbnRzIGVtaXR0ZWQgYnkgcnVsZXMgZW5naW5lICovXG4gIHB1YmxpYyBhc3luYyBnZXRDdXJyZW50UnVsZXNFbmdpbmVFdmVudHNTdGFjaygpOiBQcm9taXNlPERlYnVnRXZlbnRbXSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCAmJiBmaXJzdFZhbHVlRnJvbSh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCk7XG4gIH1cblxuICAvKiogUmV0dXJucyB0aGUgbGlzdCBvZiBhY3RpdmUgcnVsZXNldHMgKG5hbWUgYW5kIGlkKSBhdCB0aGUgbW9tZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QWN0aXZlUnVsZXNldHMoKSB7XG4gICAgY29uc3QgbGFzdEFjdGl2ZVJ1bGVzZXRzRXZlbnQgPSAodGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQgJiYgYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQpKT8uZmlsdGVyKGUgPT4gZS50eXBlID09PSAnQWN0aXZlUnVsZXNldHMnKS5yZXZlcnNlKClbMF07XG4gICAgcmV0dXJuIChsYXN0QWN0aXZlUnVsZXNldHNFdmVudCBhcyBBY3RpdmVSdWxlc2V0c0V2ZW50KT8ucnVsZXNldHM7XG4gIH1cblxuICAvKiogUmV0dXJucyB0aGUgbGlzdCBvZiBhdmFpbGFibGUgcnVsZXNldHMgKG5hbWUgYW5kIGlkKSBhdCB0aGUgbW9tZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QXZhaWxhYmxlUnVsZXNldHMoKSB7XG4gICAgY29uc3QgbGFzdEF2YWlsYWJsZVJ1bGVzZXRzRXZlbnQgPSAodGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQgJiYgYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQpKT8uZmlsdGVyKGUgPT4gZS50eXBlID09PSAnQXZhaWxhYmxlUnVsZXNldHMnKS5yZXZlcnNlKClbMF07XG4gICAgcmV0dXJuIChsYXN0QXZhaWxhYmxlUnVsZXNldHNFdmVudCBhcyBBdmFpbGFibGVSdWxlc2V0cyk/LmF2YWlsYWJsZVJ1bGVzZXRzO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIGxpc3Qgb2Ygb3V0cHV0IGFjdGlvbnMgZW1pdHRlZCBieSB0aGUgcnVsZXMgZW5naW5lIGF0IHRoZSBtb21lbnQgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkICovXG4gIHB1YmxpYyBhc3luYyBnZXRBbGxPdXRwdXRBY3Rpb25zKCkge1xuICAgIHJldHVybiAodGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQgJiYgYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQpKT8uZmlsdGVyKGUgPT4gZS50eXBlID09PSAnQWxsQWN0aW9ucycpPy5yZXZlcnNlKClbMF07XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsaXN0IG9mIGV4ZWN1dGlvbnMgZm9yIHRoZSBnaXZlbiBydWxlc2V0XG4gICAqXG4gICAqIEBwYXJhbSBydWxlc2V0SWRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRSdWxlc2V0RXhlY3V0aW9ucyhydWxlc2V0SWQ6IHN0cmluZyk6IFByb21pc2U8KFJ1bGVzZXRFeGVjdXRpb25FdmVudCB8IFJ1bGVzZXRFeGVjdXRpb25FcnJvckV2ZW50KVtdIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuICh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCAmJiBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCkpPy5maWx0ZXIoXG4gICAgICAoZSk6IGUgaXMgUnVsZXNldEV4ZWN1dGlvbkV2ZW50IHwgUnVsZXNldEV4ZWN1dGlvbkVycm9yRXZlbnQgPT5cbiAgICAgICAgKGUudHlwZSA9PT0gJ1J1bGVzZXRFeGVjdXRpb24nIHx8IGUudHlwZSA9PT0gJ1J1bGVzZXRFeGVjdXRpb25FcnJvcicpXG4gICAgICAgICYmIChlIGFzIEJhc2VSdWxlc2V0RXhlY3V0aW9uKS5ydWxlc2V0SWQgPT09IHJ1bGVzZXRJZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIHJ1bGVzZXQgaXMgYWN0aXYgaW4gdGhlIG1vbWVudCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWRcbiAgICpcbiAgICogQHBhcmFtIHJ1bGVzZXRJZFxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBydWxlc2V0IGlzIGFjdGl2ZTsgRmFsc2UgaWYgdGhlIHJ1bGVzZXQgaXMgaW5hY3RpdmUgb3IgaXQgZG9lcyBub3QgZXhpc3RcbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1J1bGVzZXRBY3RpdmUocnVsZXNldElkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gISEoYXdhaXQgdGhpcy5nZXRBY3RpdmVSdWxlc2V0cygpKT8uZmluZChyID0+IHIuaWQgPT09IHJ1bGVzZXRJZCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsaXN0IG9mIHJ1bGVzIGV4ZWN1dGVkIGZvciB0aGUgc3BlY2lmaWVkIHJ1bGVzZXRcbiAgICpcbiAgICogQHBhcmFtIHJ1bGVzZXRJZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFJ1bGVzRXZhbHVhdGlvbnNGb3JSdWxlc2V0KHJ1bGVzZXRJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcnVsZXNldEV4ZWMgPSBhd2FpdCB0aGlzLmdldFJ1bGVzZXRFeGVjdXRpb25zKHJ1bGVzZXRJZCk7XG4gICAgcmV0dXJuIHJ1bGVzZXRFeGVjPy5tYXAoZSA9PiAoZSBhcyBCYXNlUnVsZXNldEV4ZWN1dGlvbik/LnJ1bGVzRXZhbHVhdGlvbnM/LmZpbHRlcihyZSA9PiAhcmUuY2FjaGVkKSkuZmxhdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBpbnB1dCBmYWN0cyAobmFtZSwgY3VycmVudCB2YWx1ZSkgZm9yIHRoZSBzcGVjaWZpZWQgcnVsZXNldCwgYXQgdGhlIG1vbWVudCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWRcbiAgICpcbiAgICogQHBhcmFtIHJ1bGVzZXRJZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldElucHV0RmFjdHNGb3JSdWxlc2V0KHJ1bGVzZXRJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcnVsZXNldEV4ZWN1dGlvbnMgPSBhd2FpdCB0aGlzLmdldFJ1bGVzZXRFeGVjdXRpb25zKHJ1bGVzZXRJZCk7XG4gICAgcmV0dXJuIHJ1bGVzZXRFeGVjdXRpb25zID8gKHJ1bGVzZXRFeGVjdXRpb25zW3J1bGVzZXRFeGVjdXRpb25zLmxlbmd0aCAtIDFdIGFzIEJhc2VSdWxlc2V0RXhlY3V0aW9uKS5pbnB1dEZhY3RzIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiB0cmlnZ2VycyBmb3IgdGhlIHNwZWNpZmllZCBydWxlc2V0XG4gICAqXG4gICAqIEBwYXJhbSBydWxlc2V0SWRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUcmlnZ2Vyc0ZvclJ1bGVzZXQocnVsZXNldElkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0UnVsZXNFdmFsdWF0aW9uc0ZvclJ1bGVzZXQocnVsZXNldElkKSk/Lm1hcChlID0+IGUudHJpZ2dlcnMpLmZsYXQoKS5tYXAodHJpZ2dlcnNNYXAgPT4gT2JqZWN0LnZhbHVlcyh0cmlnZ2Vyc01hcCkpLmZsYXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2Ygb3V0cHV0ZWQgYWN0aW9ucyBlbWl0dGVkIGJ5IHRoZSBnaXZlbiBydWxlc2V0LCBhdCB0aGUgbW9tZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZFxuICAgKlxuICAgKiBAcGFyYW0gcnVsZXNldElkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0T3V0cHV0QWN0aW9uc0ZvclJ1bGVzZXQocnVsZXNldElkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBydWxlc2V0RXhlY3V0aW9ucyA9IGF3YWl0IHRoaXMuZ2V0UnVsZXNldEV4ZWN1dGlvbnMocnVsZXNldElkKTtcbiAgICByZXR1cm4gcnVsZXNldEV4ZWN1dGlvbnMgPyAocnVsZXNldEV4ZWN1dGlvbnNbcnVsZXNldEV4ZWN1dGlvbnMubGVuZ3RoIC0gMV0gYXMgUnVsZXNldEV4ZWN1dGlvbkV2ZW50KS5vdXRwdXRBY3Rpb25zIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgbGlzdCBvZiBmYWN0IG5hbWVzIGFuZCBjb3JyZXNwb25kaW5nIHZhbHVlcyAqL1xuICBwdWJsaWMgZ2V0QWxsRmFjdHNTbmFwc2hvdCgpIHtcbiAgICBjb25zdCByZWdpc3RlcmVkRmFjdHMgPSB0aGlzLnJ1bGVzRW5naW5lU2VydmljZT8uZW5naW5lLmdldFJlZ2lzdGVyZWRGYWN0c05hbWVzKCk7XG4gICAgaWYgKHJlZ2lzdGVyZWRGYWN0cykge1xuICAgICAgcmV0dXJuIHRoaXMucnVsZXNFbmdpbmVTZXJ2aWNlLmVuZ2luZS5lbmdpbmVEZWJ1Zz8uZ2V0RmFjdHNTbmFwc2hvdChyZWdpc3RlcmVkRmFjdHMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgcnVsZXNldCBpbmZvcm1hdGlvbiAocnVsZXMsIGxpbmtlZENvbXBvbmVudCwgdmFsaWRpdHkgcmFuZ2UgZXRjLikgZm9yIGEgcnVsZXNldCBpZFxuICAgKlxuICAgKiBAcGFyYW0gcnVsZXNldElkXG4gICAqL1xuICBwdWJsaWMgZ2V0UnVsZXNldEluZm9ybWF0aW9uKHJ1bGVzZXRJZDogc3RyaW5nKTogUHJvbWlzZTxSdWxlc2V0IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuc3RvcmUucGlwZShcbiAgICAgIHNlbGVjdChzZWxlY3RSdWxlc2V0c0VudGl0aWVzKSxcbiAgICAgIG1hcCgoZW50aXRpZXMpID0+IGVudGl0aWVzW3J1bGVzZXRJZF0gYXMgUnVsZXNldCB8IHVuZGVmaW5lZClcbiAgICApKTtcbiAgfVxufVxuIl19
129
+ }] }] });
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLWRldnRvb2xzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L3J1bGVzLWVuZ2luZS1kZXZ0b29scy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFnQyxzQkFBc0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqRixPQUFPLEVBQUUsMkNBQTJDLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQUtqSSxNQUFNLE9BQU8sd0JBQXdCO0lBUW5DOztPQUVHO0lBQ0gsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDcEQsQ0FBQztJQUVELFlBQ1ksS0FBMkIsRUFDcEIsa0JBQTRDLEVBQ0osT0FBMEM7UUFGekYsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFDcEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUEwQjtRQUc3RCxNQUFNLGdCQUFnQixHQUFHLENBQUMsT0FBTyxJQUFJLDJDQUEyQyxDQUFDLENBQUMscUJBQXFCLENBQUM7UUFDeEcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLFlBQVks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LENBQUMsU0FBUyxDQUF3QixDQUFDLENBQzlELENBQUMsQ0FBQztJQUNMLENBQUM7aUlBMUlVLHdCQUF3QiwrRUFrQmIsbUNBQW1DO3FJQWxCOUMsd0JBQXdCLGNBRnZCLE1BQU07OzJGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQW1CSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzY2FuLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB0eXBlIHsgQWN0aXZlUnVsZXNldHNFdmVudCwgQXZhaWxhYmxlUnVsZXNldHMsIEJhc2VSdWxlc2V0RXhlY3V0aW9uLCBEZWJ1Z0V2ZW50LCBSdWxlc2V0LCBSdWxlc2V0RXhlY3V0aW9uRXJyb3JFdmVudCwgUnVsZXNldEV4ZWN1dGlvbkV2ZW50IH0gZnJvbSAnLi4vZW5naW5lJztcbmltcG9ydCB7IFJ1bGVzRW5naW5lUnVubmVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFJ1bGVzZXRzTW9kZWwsIFJ1bGVzZXRzU3RvcmUsIHNlbGVjdFJ1bGVzZXRzRW50aXRpZXMgfSBmcm9tICcuLi9zdG9yZXMnO1xuaW1wb3J0IHsgUnVsZXNFbmdpbmVEZXZ0b29sc1NlcnZpY2VPcHRpb25zIH0gZnJvbSAnLi9ydWxlcy1lbmdpbmUtZGV2a2l0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBPVFRFUl9SVUxFU19FTkdJTkVfREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLCBPVFRFUl9SVUxFU19FTkdJTkVfREVWVE9PTFNfT1BUSU9OUyB9IGZyb20gJy4vcnVsZXMtZW5naW5lLWRldnRvb2xzLnRva2VuJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgT3R0ZXJSdWxlc0VuZ2luZURldnRvb2xzIHtcblxuICAvKiogU3RyZWFtIG9mIHJ1bGVzIGVuZ2luZSByZXBvcnQgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJ1bGVzRW5naW5lUmVwb3J0JD86IE9ic2VydmFibGU8eyBldmVudHM6IERlYnVnRXZlbnRbXTsgcnVsZXNldE1hcDogUmVjb3JkPHN0cmluZywgUnVsZXNldD4gfT47XG5cbiAgLyoqIFN0cmVhbSBvZiBydWxlcyBlbmdpbmUgZXZlbnQgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJ1bGVzRW5naW5lRXZlbnRzJD86IE9ic2VydmFibGU8RGVidWdFdmVudFtdPjtcblxuICAvKipcbiAgICogUmV0dXJuIHRydWUgaWYgdGhlIHJ1bGVzIGVuZ2luZSBkZWJ1ZyBvcHRpb24gaXMgYWN0aXZhdGVkXG4gICAqL1xuICBwdWJsaWMgZ2V0IGlzUnVsZXNFbmdpbmVEZWJ1Z0FjdGl2YXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnJ1bGVzRW5naW5lU2VydmljZS5lbmdpbmUuZGVidWdNb2RlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZTxSdWxlc2V0c1N0b3JlPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJ1bGVzRW5naW5lU2VydmljZTogUnVsZXNFbmdpbmVSdW5uZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoT1RURVJfUlVMRVNfRU5HSU5FX0RFVlRPT0xTX09QVElPTlMpIG9wdGlvbnM6IFJ1bGVzRW5naW5lRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucykge1xuXG4gICAgY29uc3QgZXZlbnRzU3RhY2tMaW1pdCA9IChvcHRpb25zIHx8IE9UVEVSX1JVTEVTX0VOR0lORV9ERVZUT09MU19ERUZBVUxUX09QVElPTlMpLnJ1bGVzRW5naW5lU3RhY2tMaW1pdDtcbiAgICB0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCA9IHRoaXMucnVsZXNFbmdpbmVTZXJ2aWNlLmVuZ2luZS5lbmdpbmVEZWJ1Zz8uZGVidWdFdmVudHMkLnBpcGUoXG4gICAgICBzY2FuKChwcmV2aW91c0V2ZW50cywgY3VycmVudEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gZXZlbnRzU3RhY2tMaW1pdCAmJiBwcmV2aW91c0V2ZW50cy5sZW5ndGggPT09IGV2ZW50c1N0YWNrTGltaXQgPyBwcmV2aW91c0V2ZW50cy5zbGljZSgxKSA6IHByZXZpb3VzRXZlbnRzO1xuICAgICAgICByZXR1cm4gWy4uLnN0YWNrLCBjdXJyZW50RXZlbnRdO1xuICAgICAgfSwgW10gYXMgRGVidWdFdmVudFtdKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcblxuICAgIHRoaXMucnVsZXNFbmdpbmVSZXBvcnQkID0gdGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQgJiYgY29tYmluZUxhdGVzdChbdGhpcy5ydWxlc0VuZ2luZUV2ZW50cyQsIHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0UnVsZXNldHNFbnRpdGllcykpXSkucGlwZShcbiAgICAgIG1hcCgoW2V2ZW50cywgcnVsZXNldEVudGl0aWVzXSkgPT4ge1xuICAgICAgICBjb25zdCBydWxlc2V0TWFwOiBSZWNvcmQ8c3RyaW5nLCBSdWxlc2V0PiA9IE9iamVjdC5lbnRyaWVzKHJ1bGVzZXRFbnRpdGllcylcbiAgICAgICAgICAucmVkdWNlPFJlY29yZDxzdHJpbmcsIFJ1bGVzZXRzTW9kZWw+PigoYWNjLCBbaWQsIHJ1bGVzZXRdKSA9PiB7XG4gICAgICAgICAgICBpZiAocnVsZXNldCkge1xuICAgICAgICAgICAgICBhY2NbaWRdID0gcnVsZXNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfSwge30pO1xuICAgICAgICByZXR1cm4geyBldmVudHMsIHJ1bGVzZXRNYXAgfTtcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgLyoqIFJldHVybiB0aGUgbGlzdCBvZiBkZWJ1ZyBldmVudHMgZW1pdHRlZCBieSBydWxlcyBlbmdpbmUgKi9cbiAgcHVibGljIGFzeW5jIGdldEN1cnJlbnRSdWxlc0VuZ2luZUV2ZW50c1N0YWNrKCk6IFByb21pc2U8RGVidWdFdmVudFtdIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMucnVsZXNFbmdpbmVFdmVudHMkICYmIGZpcnN0VmFsdWVGcm9tKHRoaXMucnVsZXNFbmdpbmVFdmVudHMkKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBsaXN0IG9mIGFjdGl2ZSBydWxlc2V0cyAobmFtZSBhbmQgaWQpIGF0IHRoZSBtb21lbnQgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkICovXG4gIHB1YmxpYyBhc3luYyBnZXRBY3RpdmVSdWxlc2V0cygpIHtcbiAgICBjb25zdCBsYXN0QWN0aXZlUnVsZXNldHNFdmVudCA9ICh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCAmJiBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCkpPy5maWx0ZXIoZSA9PiBlLnR5cGUgPT09ICdBY3RpdmVSdWxlc2V0cycpLnJldmVyc2UoKVswXTtcbiAgICByZXR1cm4gKGxhc3RBY3RpdmVSdWxlc2V0c0V2ZW50IGFzIEFjdGl2ZVJ1bGVzZXRzRXZlbnQpPy5ydWxlc2V0cztcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBydWxlc2V0cyAobmFtZSBhbmQgaWQpIGF0IHRoZSBtb21lbnQgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkICovXG4gIHB1YmxpYyBhc3luYyBnZXRBdmFpbGFibGVSdWxlc2V0cygpIHtcbiAgICBjb25zdCBsYXN0QXZhaWxhYmxlUnVsZXNldHNFdmVudCA9ICh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCAmJiBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCkpPy5maWx0ZXIoZSA9PiBlLnR5cGUgPT09ICdBdmFpbGFibGVSdWxlc2V0cycpLnJldmVyc2UoKVswXTtcbiAgICByZXR1cm4gKGxhc3RBdmFpbGFibGVSdWxlc2V0c0V2ZW50IGFzIEF2YWlsYWJsZVJ1bGVzZXRzKT8uYXZhaWxhYmxlUnVsZXNldHM7XG4gIH1cblxuICAvKiogUmV0dXJucyB0aGUgbGlzdCBvZiBvdXRwdXQgYWN0aW9ucyBlbWl0dGVkIGJ5IHRoZSBydWxlcyBlbmdpbmUgYXQgdGhlIG1vbWVudCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgKi9cbiAgcHVibGljIGFzeW5jIGdldEFsbE91dHB1dEFjdGlvbnMoKSB7XG4gICAgcmV0dXJuICh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCAmJiBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJ1bGVzRW5naW5lRXZlbnRzJCkpPy5maWx0ZXIoZSA9PiBlLnR5cGUgPT09ICdBbGxBY3Rpb25zJyk/LnJldmVyc2UoKVswXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2YgZXhlY3V0aW9ucyBmb3IgdGhlIGdpdmVuIHJ1bGVzZXRcbiAgICogQHBhcmFtIHJ1bGVzZXRJZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFJ1bGVzZXRFeGVjdXRpb25zKHJ1bGVzZXRJZDogc3RyaW5nKTogUHJvbWlzZTwoUnVsZXNldEV4ZWN1dGlvbkV2ZW50IHwgUnVsZXNldEV4ZWN1dGlvbkVycm9yRXZlbnQpW10gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gKHRoaXMucnVsZXNFbmdpbmVFdmVudHMkICYmIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMucnVsZXNFbmdpbmVFdmVudHMkKSk/LmZpbHRlcihcbiAgICAgIChlKTogZSBpcyBSdWxlc2V0RXhlY3V0aW9uRXZlbnQgfCBSdWxlc2V0RXhlY3V0aW9uRXJyb3JFdmVudCA9PlxuICAgICAgICAoZS50eXBlID09PSAnUnVsZXNldEV4ZWN1dGlvbicgfHwgZS50eXBlID09PSAnUnVsZXNldEV4ZWN1dGlvbkVycm9yJylcbiAgICAgICAgJiYgKGUgYXMgQmFzZVJ1bGVzZXRFeGVjdXRpb24pLnJ1bGVzZXRJZCA9PT0gcnVsZXNldElkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0aGUgcnVsZXNldCBpcyBhY3RpdiBpbiB0aGUgbW9tZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZFxuICAgKiBAcGFyYW0gcnVsZXNldElkXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHJ1bGVzZXQgaXMgYWN0aXZlOyBGYWxzZSBpZiB0aGUgcnVsZXNldCBpcyBpbmFjdGl2ZSBvciBpdCBkb2VzIG5vdCBleGlzdFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzUnVsZXNldEFjdGl2ZShydWxlc2V0SWQ6IHN0cmluZykge1xuICAgIHJldHVybiAhIShhd2FpdCB0aGlzLmdldEFjdGl2ZVJ1bGVzZXRzKCkpPy5maW5kKHIgPT4gci5pZCA9PT0gcnVsZXNldElkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2YgcnVsZXMgZXhlY3V0ZWQgZm9yIHRoZSBzcGVjaWZpZWQgcnVsZXNldFxuICAgKiBAcGFyYW0gcnVsZXNldElkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0UnVsZXNFdmFsdWF0aW9uc0ZvclJ1bGVzZXQocnVsZXNldElkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBydWxlc2V0RXhlYyA9IGF3YWl0IHRoaXMuZ2V0UnVsZXNldEV4ZWN1dGlvbnMocnVsZXNldElkKTtcbiAgICByZXR1cm4gcnVsZXNldEV4ZWM/Lm1hcChlID0+IChlIGFzIEJhc2VSdWxlc2V0RXhlY3V0aW9uKT8ucnVsZXNFdmFsdWF0aW9ucz8uZmlsdGVyKHJlID0+ICFyZS5jYWNoZWQpKS5mbGF0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsaXN0IG9mIGlucHV0IGZhY3RzIChuYW1lLCBjdXJyZW50IHZhbHVlKSBmb3IgdGhlIHNwZWNpZmllZCBydWxlc2V0LCBhdCB0aGUgbW9tZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZFxuICAgKiBAcGFyYW0gcnVsZXNldElkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SW5wdXRGYWN0c0ZvclJ1bGVzZXQocnVsZXNldElkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBydWxlc2V0RXhlY3V0aW9ucyA9IGF3YWl0IHRoaXMuZ2V0UnVsZXNldEV4ZWN1dGlvbnMocnVsZXNldElkKTtcbiAgICByZXR1cm4gcnVsZXNldEV4ZWN1dGlvbnMgPyAocnVsZXNldEV4ZWN1dGlvbnNbcnVsZXNldEV4ZWN1dGlvbnMubGVuZ3RoIC0gMV0gYXMgQmFzZVJ1bGVzZXRFeGVjdXRpb24pLmlucHV0RmFjdHMgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsaXN0IG9mIHRyaWdnZXJzIGZvciB0aGUgc3BlY2lmaWVkIHJ1bGVzZXRcbiAgICogQHBhcmFtIHJ1bGVzZXRJZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFRyaWdnZXJzRm9yUnVsZXNldChydWxlc2V0SWQ6IHN0cmluZykge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRSdWxlc0V2YWx1YXRpb25zRm9yUnVsZXNldChydWxlc2V0SWQpKT8ubWFwKGUgPT4gZS50cmlnZ2VycykuZmxhdCgpLm1hcCh0cmlnZ2Vyc01hcCA9PiBPYmplY3QudmFsdWVzKHRyaWdnZXJzTWFwKSkuZmxhdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBvdXRwdXRlZCBhY3Rpb25zIGVtaXR0ZWQgYnkgdGhlIGdpdmVuIHJ1bGVzZXQsIGF0IHRoZSBtb21lbnQgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkXG4gICAqIEBwYXJhbSBydWxlc2V0SWRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRPdXRwdXRBY3Rpb25zRm9yUnVsZXNldChydWxlc2V0SWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHJ1bGVzZXRFeGVjdXRpb25zID0gYXdhaXQgdGhpcy5nZXRSdWxlc2V0RXhlY3V0aW9ucyhydWxlc2V0SWQpO1xuICAgIHJldHVybiBydWxlc2V0RXhlY3V0aW9ucyA/IChydWxlc2V0RXhlY3V0aW9uc1tydWxlc2V0RXhlY3V0aW9ucy5sZW5ndGggLSAxXSBhcyBSdWxlc2V0RXhlY3V0aW9uRXZlbnQpLm91dHB1dEFjdGlvbnMgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKiogR2V0IHRoZSBsaXN0IG9mIGZhY3QgbmFtZXMgYW5kIGNvcnJlc3BvbmRpbmcgdmFsdWVzICovXG4gIHB1YmxpYyBnZXRBbGxGYWN0c1NuYXBzaG90KCkge1xuICAgIGNvbnN0IHJlZ2lzdGVyZWRGYWN0cyA9IHRoaXMucnVsZXNFbmdpbmVTZXJ2aWNlPy5lbmdpbmUuZ2V0UmVnaXN0ZXJlZEZhY3RzTmFtZXMoKTtcbiAgICBpZiAocmVnaXN0ZXJlZEZhY3RzKSB7XG4gICAgICByZXR1cm4gdGhpcy5ydWxlc0VuZ2luZVNlcnZpY2UuZW5naW5lLmVuZ2luZURlYnVnPy5nZXRGYWN0c1NuYXBzaG90KHJlZ2lzdGVyZWRGYWN0cyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSBydWxlc2V0IGluZm9ybWF0aW9uIChydWxlcywgbGlua2VkQ29tcG9uZW50LCB2YWxpZGl0eSByYW5nZSBldGMuKSBmb3IgYSBydWxlc2V0IGlkXG4gICAqIEBwYXJhbSBydWxlc2V0SWRcbiAgICovXG4gIHB1YmxpYyBnZXRSdWxlc2V0SW5mb3JtYXRpb24ocnVsZXNldElkOiBzdHJpbmcpOiBQcm9taXNlPFJ1bGVzZXQgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5zdG9yZS5waXBlKFxuICAgICAgc2VsZWN0KHNlbGVjdFJ1bGVzZXRzRW50aXRpZXMpLFxuICAgICAgbWFwKChlbnRpdGllcykgPT4gZW50aXRpZXNbcnVsZXNldElkXSBhcyBSdWxlc2V0IHwgdW5kZWZpbmVkKVxuICAgICkpO1xuICB9XG59XG4iXX0=
@@ -11,7 +11,6 @@ export class EngineDebugger {
11
11
  }
12
12
  /**
13
13
  * Instantiate a rules engine debugger
14
- *
15
14
  * @param options Options to configure the debugger
16
15
  */
17
16
  constructor(options) {
@@ -85,7 +84,6 @@ export class EngineDebugger {
85
84
  }
86
85
  /**
87
86
  * Plug the debugger to a Rule Engine
88
- *
89
87
  * @param rulesEngine
90
88
  */
91
89
  registerRuleEngine(rulesEngine) {
@@ -93,7 +91,6 @@ export class EngineDebugger {
93
91
  }
94
92
  /**
95
93
  * Handle ruleset execution debug info
96
- *
97
94
  * @param currRes
98
95
  * @param prevRes
99
96
  * @param allExecutionsValid
@@ -109,6 +106,7 @@ export class EngineDebugger {
109
106
  this.addRulesetExecutionErrorEvent(ruleset, rulesetInputFacts, executionCounter, runtimeFactValues, rulesetTriggers, rulesetOutputExecution);
110
107
  }
111
108
  return {
109
+ executionCounter,
112
110
  rulesetOutputExecution,
113
111
  allExecutionsValid,
114
112
  rulesetTriggers
@@ -116,7 +114,6 @@ export class EngineDebugger {
116
114
  }
117
115
  /**
118
116
  * Emits an 'AvailableRulesets' debug event when rulesets are registered to the rules engine
119
- *
120
117
  * @param rulesets
121
118
  */
122
119
  addAvailableRulesets(rulesets) {
@@ -130,7 +127,6 @@ export class EngineDebugger {
130
127
  }
131
128
  /**
132
129
  * Computes and emits an 'ActiveRulesets' debug event when the active rulesets are changing
133
- *
134
130
  * @param ruleSetExecutorMap map off all rulesets executors
135
131
  * @param restrictiveRuleSets ids of the rulesets to activate; if not provided all registered rulesets will be considered as active
136
132
  */
@@ -148,7 +144,6 @@ export class EngineDebugger {
148
144
  }
149
145
  /**
150
146
  * Emits an 'AllActions' debug event each time the rules engine outputs the list of actions
151
- *
152
147
  * @param actions list of outputed actions
153
148
  */
154
149
  allActionsChange(actions) {
@@ -157,7 +152,6 @@ export class EngineDebugger {
157
152
  }
158
153
  /**
159
154
  * Emits a 'RulesetExecution' debug event at the ouput of a successful ruleset execution
160
- *
161
155
  * @param ruleset
162
156
  * @param executionCounter
163
157
  * @param rulesetInputFacts
@@ -173,7 +167,6 @@ export class EngineDebugger {
173
167
  }
174
168
  /**
175
169
  * Emits a 'RulesetExecutionError' debug event at the ouput of a failing ruleset execution
176
- *
177
170
  * @param ruleset
178
171
  * @param rulesetInputFacts
179
172
  * @param executionCounter
@@ -188,7 +181,6 @@ export class EngineDebugger {
188
181
  }
189
182
  /**
190
183
  * Returns a list of fact name and value pairs
191
- *
192
184
  * @param factsNames List of facts names to get the value for
193
185
  */
194
186
  async getFactsSnapshot(factsNames) {
@@ -202,4 +194,4 @@ export class EngineDebugger {
202
194
  return facts;
203
195
  }
204
196
  }
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmRlYnVnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VuZ2luZS9kZWJ1Zy9lbmdpbmUuZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVdyRTs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBY3pCLHlEQUF5RDtJQUN6RCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxZQUFZLE9BQStCO1FBcEJuQyx1QkFBa0IsR0FBbUMsRUFBRSxDQUFDO1FBcUI5RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxhQUFhLENBQTJDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xILElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDL0MsY0FBYyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUN6QyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLG1CQUFtQixDQUFDLEVBQUUsRUFBRTtZQUNuRCxNQUFNLFVBQVUsR0FBZSxNQUFNLFNBQVMsRUFBRSxDQUFDO1lBQ2pELElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxrQkFBa0IsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLHVCQUF1QixFQUFFO2dCQUN6RixJQUFJLGVBQWUsR0FBRyxDQUFDLENB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QixFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ2hMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLGdCQUFnQixDQUFDLFVBQW9CO1FBQ2hELE1BQU0sS0FBSyxHQUFxQyxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7U0FDNUQ7UUFDRCxLQUFLLE1BQU0sUUFBUSxJQUFJLFVBQVUsRUFBRTtZQUNqQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLENBQUM7U0FDNUY7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdE1hcCwgc2hhcmUsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHRhcCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGVzRW5naW5lIH0gZnJvbSAnLi4vZW5naW5lJztcbmltcG9ydCB7IEJhc2VSdWxlc2V0RXhlY3V0aW9uLCBEZWJ1Z0V2ZW50LCBFdmFsdWF0aW9uUmVhc29uLCBGYWN0cywgUnVsZUV2YWx1YXRpb24sIFJ1bGVFdmFsdWF0aW9uT3V0cHV0LCBSdWxlc2V0RXhlY3V0aW9uRXJyb3JFdmVudCwgUnVsZXNldEV4ZWN1dGlvbkV2ZW50IH0gZnJvbSAnLi4vZW5naW5lLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSdWxlc2V0RXhlY3V0b3IgfSBmcm9tICcuLi9ydWxlc2V0LWV4ZWN1dG9yJztcbmltcG9ydCB0eXBlIHsgQWN0aW9uQmxvY2ssIFJ1bGVzZXQgfSBmcm9tICcuLi9zdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgZmxhZ0NhY2hlZFJ1bGVzLCByZXRyaWV2ZVJ1bGVzZXRUcmlnZ2VycyB9IGZyb20gJy4vaGVscGVycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW5naW5lRGVidWdnZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIExpbWl0IG9mIGV2ZW50cyB0byBrZWVwIGluIHRoZSBzdGFjayBiZWZvcmUgc3Vic2NyaWJpbmcgdG8gdGhlIGRlYnVnRXZlbnRzJCBzdHJlYW0uXG4gICAqXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZCBubyBsaW1pdFxuICAgKi9cbiAgZXZlbnRzU3RhY2tMaW1pdD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSdWxlcyBlbmdpbmUgZGVidWdnZXIgb2JqZWN0IHRvIGVtaXQgZGVidWcgZXZlbnRzXG4gKi9cbmV4cG9ydCBjbGFzcyBFbmdpbmVEZWJ1Z2dlciB7XG5cbiAgcHJpdmF0ZSByZWdpc3RlcmVkUnVsZUVuZ2luZT86IFJ1bGVzRW5naW5lO1xuXG4gIHByaXZhdGUgcmVnaXN0ZXJlZFJ1bGVzZXRzOiBQaWNrPFJ1bGVzZXQsICduYW1lJyB8ICdpZCc+W10gPSBbXTtcblxuICAvLyBLZWVwIGEgc21hbGwgaGlzdG9yeSBpbiBjYXNlIHRoZSBldmVudHMkIHN0cmVhbSBmcm9tIHRoZSBlbmdpbmUgaXMgc3Vic2NyaWJlZCBhZnRlciBydWxlcyBlbmdpbmUgaW5pdGlhbGl6YXRpb25cbiAgcHJpdmF0ZSBkZWJ1Z0V2ZW50c1N1YmplY3QkOiBSZXBsYXlTdWJqZWN0PCgpID0+IChQcm9taXNlPERlYnVnRXZlbnQ+IHwgRGVidWdFdmVudCk+O1xuXG4gIHByaXZhdGUgcGVyZm9ybWFuY2VNZWFzdXJlcyQhOiBPYnNlcnZhYmxlPFBlcmZvcm1hbmNlTWVhc3VyZVtdPjtcblxuICAvKiogU3RyZWFtIGVtaXR0aW5nIGEgZGVidWcgZXZlbnQgd2hlbiBpcyBmaXJlZDsgdGltZWxpbmUgaXMga2VwdCAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVidWdFdmVudHMkOiBPYnNlcnZhYmxlPERlYnVnRXZlbnQ+O1xuXG4gIC8qKiBSZXRyaWV2ZWQgdGhlIHJ1bGVzIGVuZ2luZSBwbHVnZ2VkIHRvIHRoZSBkZWJ1Z2dlciAqL1xuICBwdWJsaWMgZ2V0IHJ1bGVzRW5naW5lKCk6IFJ1bGVzRW5naW5lIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5yZWdpc3RlcmVkUnVsZUVuZ2luZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnN0YW50aWF0ZSBhIHJ1bGVzIGVuZ2luZSBkZWJ1Z2dlclxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIHRvIGNvbmZpZ3VyZSB0aGUgZGVidWdnZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBFbmdpbmVEZWJ1Z2dlck9wdGlvbnMpIHtcbiAgICB0aGlzLmRlYnVnRXZlbnRzU3ViamVjdCQgPSBuZXcgUmVwbGF5U3ViamVjdDwoKSA9PiAoUHJvbWlzZTxEZWJ1Z0V2ZW50PiB8IERlYnVnRXZlbnQpPihvcHRpb25zPy5ldmVudHNTdGFja0xpbWl0KTtcbiAgICB0aGlzLmluaXRpYWxpemVQZXJmb3JtYW5jZU9ic2VydmVyKCk7XG4gICAgdGhpcy5kZWJ1Z0V2ZW50cyQgPSB0aGlzLmRlYnVnRXZlbnRzU3ViamVjdCQucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMucGVyZm9ybWFuY2VNZWFzdXJlcyQpLFxuICAgICAgY29uY2F0TWFwKGFzeW5jIChbZXZlbnRGdW5jLCBwZXJmb3JtYW5jZU1lYXN1cmVzXSkgPT4ge1xuICAgICAgICBjb25zdCBkZWJ1Z0V2ZW50OiBEZWJ1Z0V2ZW50ID0gYXdhaXQgZXZlbnRGdW5jKCk7XG4gICAgICAgIGlmIChkZWJ1Z0V2ZW50LnR5cGUgPT09ICdSdWxlc2V0RXhlY3V0aW9uJyB8fCBkZWJ1Z0V2ZW50LnR5cGUgPT09ICdSdWxlc2V0RXhlY3V0aW9uRXJyb3InKSB7XG4gICAgICAgICAgbGV0IHJ1bGVzZXREdXJhdGlvbiA9IDA7XG4gICAgICAgICAgZGVidWdFdmVudC5ydWxlc0V2YWx1YXRpb25zLmZvckVhY2goKHJ1bGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBgcnVsZXMtZW5naW5lOiR7XG4gICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJlZFJ1bGVFbmdpbmU/LnJ1bGVzRW5naW5lSW5zdGFuY2VOYW1lIHx8ICcnXG4gICAgICAgICAgICB9OiR7ZGVidWdFdmVudC5ydWxlc2V0TmFtZX06JHtydWxlLnJ1bGUubmFtZX1gO1xuICAgICAgICAgICAgY29uc3QgbWVhc3VyZXMgPSBwZXJmb3JtYW5jZU1lYXN1cmVzLmZpbHRlcihtID0+IG0ubmFtZSA9PT0gbWFyayk7XG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IG1lYXN1cmVzW21lYXN1cmVzLmxlbmd0aCAtIDFdPy5kdXJhdGlvbiB8fCAwO1xuICAgICAgICAgICAgcnVsZS5kdXJhdGlvbiA9IGR1cmF0aW9uO1xuICAgICAgICAgICAgcnVsZXNldER1cmF0aW9uICs9IGR1cmF0aW9uO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGRlYnVnRXZlbnQuZHVyYXRpb24gPSBydWxlc2V0RHVyYXRpb247XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlYnVnRXZlbnQ7XG4gICAgICB9KSxcbiAgICAgIHRhcCgoZGVidWdFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZGVidWdFdmVudC50eXBlID09PSAnUnVsZXNldEV4ZWN1dGlvbicpIHtcbiAgICAgICAgICB0aGlzLnJ1bGVzRW5naW5lPy5sb2dnZXI/LmRlYnVnPy4oYCR7ZGVidWdFdmVudC5ydWxlc2V0TmFtZX0gaGFzIGJlZW4gdHJpZ2dlcmVkIGFuZCByZXN1bHRlZCBpbiAke0pTT04uc3RyaW5naWZ5KGRlYnVnRXZlbnQub3V0cHV0QWN0aW9ucyl9YCk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgc2hhcmUoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVQZXJmb3JtYW5jZU9ic2VydmVyKCkge1xuICAgIHRoaXMucGVyZm9ybWFuY2VNZWFzdXJlcyQgPSBuZXcgT2JzZXJ2YWJsZTxQZXJmb3JtYW5jZU1lYXN1cmVbXT4oc3Vic2NyaWJlciA9PiB7XG4gICAgICBjb25zdCBwZXJmb3JtYW5jZU9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHtcbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KGxpc3QuZ2V0RW50cmllcygpIGFzIFBlcmZvcm1hbmNlTWVhc3VyZVtdKTtcbiAgICAgIH0pO1xuICAgICAgcGVyZm9ybWFuY2VPYnNlcnZlci5vYnNlcnZlKHsgZW50cnlUeXBlczogWydtZWFzdXJlJ10gfSk7XG4gICAgICByZXR1cm4gcGVyZm9ybWFuY2VPYnNlcnZlci5kaXNjb25uZWN0O1xuICAgIH0pLnBpcGUoc3RhcnRXaXRoKFtdKSwgc2hhcmVSZXBsYXkoMSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVCYXNlRXhlY3V0aW9uT3V0cHV0T2JqZWN0KHJ1bGVzZXQ6IFJ1bGVzZXQsIGV4ZWN1dGlvbkNvdW50ZXI6IG51bWJlcixcbiAgICBydWxlc2V0SW5wdXRGYWN0czogc3RyaW5nW10sIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4sXG4gICAgcnVsZXNldFRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj4sIHJ1bGVzRXhlY3V0aW9uczogUnVsZUV2YWx1YXRpb25bXSkge1xuXG4gICAgY29uc3QgaW5wdXRGYWN0cyA9IGF3YWl0IHRoaXMuZ2V0RmFjdHNTbmFwc2hvdChydWxlc2V0SW5wdXRGYWN0cyk7XG5cbiAgICBjb25zdCBiYXNlUnVsZXNldE91dHB1dEV4ZWN1dGlvbjogQmFzZVJ1bGVzZXRFeGVjdXRpb24gPSB7XG4gICAgICBleGVjdXRpb25Db3VudGVyLFxuICAgICAgZXhlY3V0aW9uSWQ6IGAke3J1bGVzZXQuaWR9LSR7ZXhlY3V0aW9uQ291bnRlcn1gLFxuICAgICAgcnVsZXNldElkOiBydWxlc2V0LmlkLFxuICAgICAgcnVsZXNldE5hbWU6IHJ1bGVzZXQubmFtZSxcbiAgICAgIGlucHV0RmFjdHMsXG4gICAgICB0cmlnZ2VyczogcnVsZXNldFRyaWdnZXJzLFxuICAgICAgcnVsZXNFdmFsdWF0aW9uczogZmxhZ0NhY2hlZFJ1bGVzKHJ1bGVzRXhlY3V0aW9ucz8uc29ydCgoYSwgYikgPT4gYS50aW1lc3RhbXAgLSBiLnRpbWVzdGFtcCkgfHwgW10sIHJ1bGVzZXRUcmlnZ2VycyksXG4gICAgICB0ZW1wb3JhcnlGYWN0czogcnVudGltZUZhY3RWYWx1ZXNcbiAgICB9O1xuICAgIHJldHVybiBiYXNlUnVsZXNldE91dHB1dEV4ZWN1dGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVsZXNldEV4ZWN1dGlvbihcbiAgICB0aW1lc3RhbXA6IG51bWJlcixcbiAgICBydWxlc2V0OiBSdWxlc2V0LFxuICAgIGV4ZWN1dGlvbkNvdW50ZXI6IG51bWJlcixcbiAgICBydWxlc2V0SW5wdXRGYWN0czogc3RyaW5nW10sXG4gICAgYWxsT3V0cHV0QWN0aW9uczogQWN0aW9uQmxvY2tbXSxcbiAgICBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+LFxuICAgIHJ1bGVzZXRUcmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+LFxuICAgIHJ1bGVzRXhlY3V0aW9uczogUnVsZUV2YWx1YXRpb25bXSkge1xuXG4gICAgY29uc3QgYmFzZVJ1bGVzZXRPdXRwdXRFeGVjdXRpb24gPVxuICAgICAgYXdhaXQgdGhpcy5jcmVhdGVCYXNlRXhlY3V0aW9uT3V0cHV0T2JqZWN0KHJ1bGVzZXQsIGV4ZWN1dGlvbkNvdW50ZXIsIHJ1bGVzZXRJbnB1dEZhY3RzLCBydW50aW1lRmFjdFZhbHVlcywgcnVsZXNldFRyaWdnZXJzLCBydWxlc0V4ZWN1dGlvbnMpO1xuXG4gICAgY29uc3QgcnVsZXNldE91dHB1dEV4ZWN1dGlvbjogUnVsZXNldEV4ZWN1dGlvbkV2ZW50ID0ge1xuICAgICAgdGltZXN0YW1wLFxuICAgICAgdHlwZTogJ1J1bGVzZXRFeGVjdXRpb24nLFxuICAgICAgb3V0cHV0QWN0aW9uczogYWxsT3V0cHV0QWN0aW9ucyxcbiAgICAgIC4uLmJhc2VSdWxlc2V0T3V0cHV0RXhlY3V0aW9uXG4gICAgfTtcblxuICAgIHJldHVybiBydWxlc2V0T3V0cHV0RXhlY3V0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBydWxlc2V0RXhlY3V0aW9uRXJyb3IoXG4gICAgdGltZXN0YW1wOiBudW1iZXIsXG4gICAgcnVsZXNldDogUnVsZXNldCxcbiAgICBydWxlc2V0SW5wdXRGYWN0czogc3RyaW5nW10sXG4gICAgZXhlY3V0aW9uQ291bnRlcjogbnVtYmVyLFxuICAgIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4sXG4gICAgcnVsZXNldFRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj4sXG4gICAgcnVsZXNFeGVjdXRpb25zOiBSdWxlRXZhbHVhdGlvbltdXG4gICkge1xuICAgIGNvbnN0IGJhc2VSdWxlc2V0T3V0cHV0RXhlY3V0aW9uID1cbiAgICAgIGF3YWl0IHRoaXMuY3JlYXRlQmFzZUV4ZWN1dGlvbk91dHB1dE9iamVjdChydWxlc2V0LCBleGVjdXRpb25Db3VudGVyLCBydWxlc2V0SW5wdXRGYWN0cywgcnVudGltZUZhY3RWYWx1ZXMsIHJ1bGVzZXRUcmlnZ2VycywgcnVsZXNFeGVjdXRpb25zKTtcblxuICAgIGNvbnN0IHJ1bGVzRXhlY1dpdGhFcnJvcnMgPSBydWxlc0V4ZWN1dGlvbnMuZmlsdGVyKGV4ID0+ICEhZXggJiYgISFleC5lcnJvcik7XG4gICAgY29uc3QgcnVsZXNldE91dHB1dEV4ZWN1dGlvblNraXA6IFJ1bGVzZXRFeGVjdXRpb25FcnJvckV2ZW50ID0ge1xuICAgICAgdGltZXN0YW1wLFxuICAgICAgdHlwZTogJ1J1bGVzZXRFeGVjdXRpb25FcnJvcicsXG4gICAgICBydWxlc0NhdXNpbmdUaGVFcnJvcjogcnVsZXNFeGVjV2l0aEVycm9ycy5tYXAoZSA9PiBlLnJ1bGUpIHx8IFtdLFxuICAgICAgZXJyb3JzOiBydWxlc0V4ZWNXaXRoRXJyb3JzLm1hcChlID0+IGUuZXJyb3IpLFxuICAgICAgLi4uYmFzZVJ1bGVzZXRPdXRwdXRFeGVjdXRpb25cbiAgICB9O1xuICAgIHJldHVybiBydWxlc2V0T3V0cHV0RXhlY3V0aW9uU2tpcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbHVnIHRoZSBkZWJ1Z2dlciB0byBhIFJ1bGUgRW5naW5lXG4gICAqXG4gICAqIEBwYXJhbSBydWxlc0VuZ2luZVxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyUnVsZUVuZ2luZShydWxlc0VuZ2luZTogUnVsZXNFbmdpbmUpIHtcbiAgICB0aGlzLnJlZ2lzdGVyZWRSdWxlRW5naW5lID0gcnVsZXNFbmdpbmU7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHJ1bGVzZXQgZXhlY3V0aW9uIGRlYnVnIGluZm9cbiAgICpcbiAgICogQHBhcmFtIGN1cnJSZXNcbiAgICogQHBhcmFtIHByZXZSZXNcbiAgICogQHBhcmFtIGFsbEV4ZWN1dGlvbnNWYWxpZFxuICAgKiBAcGFyYW0gcnVsZXNldElucHV0RmFjdHNcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gICAqIEBwYXJhbSBleGVjdXRpb25Db3VudGVyXG4gICAqIEBwYXJhbSBydWxlc2V0XG4gICAqL1xuICBwdWJsaWMgaGFuZGxlRGVidWdSdWxlc2V0RXhlY3V0aW9uSW5mbyhcbiAgICBjdXJyUmVzOiBSdWxlRXZhbHVhdGlvbk91dHB1dFtdLFxuICAgIHByZXZSZXM6IFJ1bGVFdmFsdWF0aW9uT3V0cHV0W10gfCB1bmRlZmluZWQsXG4gICAgYWxsRXhlY3V0aW9uc1ZhbGlkOiBib29sZWFuLFxuICAgIHJ1bGVzZXRJbnB1dEZhY3RzOiBzdHJpbmdbXSxcbiAgICBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+LFxuICAgIGV4ZWN1dGlvbkNvdW50ZXI6IG51bWJlcixcbiAgICBydWxlc2V0OiBSdWxlc2V0KSB7XG5cbiAgICBjb25zdCBydWxlc2V0VHJpZ2dlcnMgPSByZXRyaWV2ZVJ1bGVzZXRUcmlnZ2VycyhjdXJyUmVzLCBwcmV2UmVzKTtcbiAgICBjb25zdCBydWxlc2V0T3V0cHV0RXhlY3V0aW9uID0gY3VyclJlcy5tYXAociA9PiByLmV2YWx1YXRpb24hKTtcblxuICAgIGlmICghYWxsRXhlY3V0aW9uc1ZhbGlkKSB7XG4gICAgICB0aGlzLmFkZFJ1bGVzZXRFeGVjdXRpb25FcnJvckV2ZW50KHJ1bGVzZXQsIHJ1bGVzZXRJbnB1dEZhY3RzLCBleGVjdXRpb25Db3VudGVyLCBydW50aW1lRmFjdFZhbHVlcywgcnVsZXNldFRyaWdnZXJzLCBydWxlc2V0T3V0cHV0RXhlY3V0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcnVsZXNldE91dHB1dEV4ZWN1dGlvbixcbiAgICAgIGFsbEV4ZWN1dGlvbnNWYWxpZCxcbiAgICAgIHJ1bGVzZXRUcmlnZ2Vyc1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYW4gJ0F2YWlsYWJsZVJ1bGVzZXRzJyBkZWJ1ZyBldmVudCB3aGVuIHJ1bGVzZXRzIGFyZSByZWdpc3RlcmVkIHRvIHRoZSBydWxlcyBlbmdpbmVcbiAgICpcbiAgICogQHBhcmFtIHJ1bGVzZXRzXG4gICAqL1xuICBwdWJsaWMgYWRkQXZhaWxhYmxlUnVsZXNldHMocnVsZXNldHM6IFJ1bGVzZXRbXSkge1xuICAgIGNvbnN0IHRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gICAgdGhpcy5yZWdpc3RlcmVkUnVsZXNldHMgPSBbLi4udGhpcy5yZWdpc3RlcmVkUnVsZXNldHMsIC4uLnJ1bGVzZXRzLm1hcCgocikgPT4gKHtuYW1lOiByLm5hbWUsIGlkOiByLmlkfSkpXTtcbiAgICB0aGlzLmRlYnVnRXZlbnRzU3ViamVjdCQubmV4dCgoKSA9PiAoe1xuICAgICAgdGltZXN0YW1wLFxuICAgICAgdHlwZTogJ0F2YWlsYWJsZVJ1bGVzZXRzJyxcbiAgICAgIGF2YWlsYWJsZVJ1bGVzZXRzOiB0aGlzLnJlZ2lzdGVyZWRSdWxlc2V0c1xuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyBhbmQgZW1pdHMgYW4gJ0FjdGl2ZVJ1bGVzZXRzJyBkZWJ1ZyBldmVudCB3aGVuIHRoZSBhY3RpdmUgcnVsZXNldHMgYXJlIGNoYW5naW5nXG4gICAqXG4gICAqIEBwYXJhbSBydWxlU2V0RXhlY3V0b3JNYXAgbWFwIG9mZiBhbGwgcnVsZXNldHMgZXhlY3V0b3JzXG4gICAqIEBwYXJhbSByZXN0cmljdGl2ZVJ1bGVTZXRzIGlkcyBvZiB0aGUgcnVsZXNldHMgdG8gYWN0aXZhdGU7IGlmIG5vdCBwcm92aWRlZCBhbGwgcmVnaXN0ZXJlZCBydWxlc2V0cyB3aWxsIGJlIGNvbnNpZGVyZWQgYXMgYWN0aXZlXG4gICAqL1xuICBwdWJsaWMgYWN0aXZlUnVsZXNldHNDaGFuZ2UocnVsZVNldEV4ZWN1dG9yTWFwOiBSZWNvcmQ8c3RyaW5nLCBSdWxlc2V0RXhlY3V0b3I+LCByZXN0cmljdGl2ZVJ1bGVTZXRzPzogc3RyaW5nW10pIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIGNvbnN0IHJ1bGVzZXRzID0gT2JqZWN0LmtleXMocnVsZVNldEV4ZWN1dG9yTWFwKS5tYXAoKHJ1bGVzZXRJZCkgPT4gcnVsZVNldEV4ZWN1dG9yTWFwW3J1bGVzZXRJZF0uZW5naW5lUnVsZXNldCk7XG4gICAgY29uc3QgYWN0aXZlUnVsZXNldHMgPSByZXN0cmljdGl2ZVJ1bGVTZXRzID9cbiAgICAgIE9iamVjdC52YWx1ZXMocnVsZXNldHMpLmZpbHRlcigocnVsZVNldCkgPT4gcmVzdHJpY3RpdmVSdWxlU2V0cy5pbmRleE9mKHJ1bGVTZXQuaWQpID4gLTEpIDpcbiAgICAgIE9iamVjdC52YWx1ZXMocnVsZXNldHMpO1xuXG4gICAgdGhpcy5kZWJ1Z0V2ZW50c1N1YmplY3QkLm5leHQoKCkgPT4gKHtcbiAgICAgIHRpbWVzdGFtcCxcbiAgICAgIHR5cGU6ICdBY3RpdmVSdWxlc2V0cycsXG4gICAgICBydWxlc2V0czogYWN0aXZlUnVsZXNldHMubWFwKGEgPT4gKHtuYW1lOiBydWxlU2V0RXhlY3V0b3JNYXBbYS5pZF0ucnVsZXNldC5uYW1lLCBpZDogcnVsZVNldEV4ZWN1dG9yTWFwW2EuaWRdLnJ1bGVzZXQuaWR9KSlcbiAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYW4gJ0FsbEFjdGlvbnMnIGRlYnVnIGV2ZW50IGVhY2ggdGltZSB0aGUgcnVsZXMgZW5naW5lIG91dHB1dHMgdGhlIGxpc3Qgb2YgYWN0aW9uc1xuICAgKlxuICAgKiBAcGFyYW0gYWN0aW9ucyBsaXN0IG9mIG91dHB1dGVkIGFjdGlvbnNcbiAgICovXG4gIHB1YmxpYyBhbGxBY3Rpb25zQ2hhbmdlKGFjdGlvbnM6IEFjdGlvbkJsb2NrW10pIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIHRoaXMuZGVidWdFdmVudHNTdWJqZWN0JC5uZXh0KCgpID0+ICh7dGltZXN0YW1wLCB0eXBlOiAnQWxsQWN0aW9ucycsIGFjdGlvbnN9KSk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYSAnUnVsZXNldEV4ZWN1dGlvbicgZGVidWcgZXZlbnQgYXQgdGhlIG91cHV0IG9mIGEgc3VjY2Vzc2Z1bCBydWxlc2V0IGV4ZWN1dGlvblxuICAgKlxuICAgKiBAcGFyYW0gcnVsZXNldFxuICAgKiBAcGFyYW0gZXhlY3V0aW9uQ291bnRlclxuICAgKiBAcGFyYW0gcnVsZXNldElucHV0RmFjdHNcbiAgICogQHBhcmFtIGFsbE91dHB1dEFjdGlvbnNcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gICAqIEBwYXJhbSBydWxlc2V0VHJpZ2dlcnNcbiAgICogQHBhcmFtIHJ1bGVzRXhlY3V0aW9uc1xuICAgKiBAcGFyYW0gcmV0cmlldmVGYWN0RnVuY1xuICAgKi9cbiAgcHVibGljIGFkZFJ1bGVzZXRFeGVjdXRpb25FdmVudChydWxlc2V0OiBSdWxlc2V0LCBleGVjdXRpb25Db3VudGVyOiBudW1iZXIsXG4gICAgcnVsZXNldElucHV0RmFjdHM6IHN0cmluZ1tdLCBhbGxPdXRwdXRBY3Rpb25zOiBBY3Rpb25CbG9ja1tdLCBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+LFxuICAgIHJ1bGVzZXRUcmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+LCBydWxlc0V4ZWN1dGlvbnM6IFJ1bGVFdmFsdWF0aW9uW10pIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIHRoaXMuZGVidWdFdmVudHNTdWJqZWN0JC5uZXh0KCgpID0+IHRoaXMucnVsZXNldEV4ZWN1dGlvbih0aW1lc3RhbXAsIHJ1bGVzZXQsIGV4ZWN1dGlvbkNvdW50ZXIsXG4gICAgICBydWxlc2V0SW5wdXRGYWN0cywgYWxsT3V0cHV0QWN0aW9ucywgcnVudGltZUZhY3RWYWx1ZXMsIHJ1bGVzZXRUcmlnZ2VycywgcnVsZXNFeGVjdXRpb25zKSk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYSAnUnVsZXNldEV4ZWN1dGlvbkVycm9yJyBkZWJ1ZyBldmVudCBhdCB0aGUgb3VwdXQgb2YgYSBmYWlsaW5nIHJ1bGVzZXQgZXhlY3V0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBydWxlc2V0XG4gICAqIEBwYXJhbSBydWxlc2V0SW5wdXRGYWN0c1xuICAgKiBAcGFyYW0gZXhlY3V0aW9uQ291bnRlclxuICAgKiBAcGFyYW0gcnVudGltZUZhY3RWYWx1ZXNcbiAgICogQHBhcmFtIHJ1bGVzZXRUcmlnZ2Vyc1xuICAgKiBAcGFyYW0gcnVsZXNFeGVjdXRpb25zXG4gICAqIEBwYXJhbSByZXRyaWV2ZUZhY3RGdW5jXG4gICAqL1xuICBwdWJsaWMgYWRkUnVsZXNldEV4ZWN1dGlvbkVycm9yRXZlbnQoXG4gICAgcnVsZXNldDogUnVsZXNldCxcbiAgICBydWxlc2V0SW5wdXRGYWN0czogc3RyaW5nW10sXG4gICAgZXhlY3V0aW9uQ291bnRlcjogbnVtYmVyLFxuICAgIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4sXG4gICAgcnVsZXNldFRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj4sXG4gICAgcnVsZXNFeGVjdXRpb25zOiBSdWxlRXZhbHVhdGlvbltdXG4gICkge1xuICAgIGNvbnN0IHRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gICAgdGhpcy5kZWJ1Z0V2ZW50c1N1YmplY3QkLm5leHQoKCkgPT4gdGhpcy5ydWxlc2V0RXhlY3V0aW9uRXJyb3IodGltZXN0YW1wLCBydWxlc2V0LCBydWxlc2V0SW5wdXRGYWN0cywgZXhlY3V0aW9uQ291bnRlciwgcnVudGltZUZhY3RWYWx1ZXMsIHJ1bGVzZXRUcmlnZ2VycywgcnVsZXNFeGVjdXRpb25zKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGxpc3Qgb2YgZmFjdCBuYW1lIGFuZCB2YWx1ZSBwYWlyc1xuICAgKlxuICAgKiBAcGFyYW0gZmFjdHNOYW1lcyBMaXN0IG9mIGZhY3RzIG5hbWVzIHRvIGdldCB0aGUgdmFsdWUgZm9yXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RmFjdHNTbmFwc2hvdChmYWN0c05hbWVzOiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IGZhY3RzOiB7ZmFjdE5hbWU6IHN0cmluZzsgdmFsdWU6IGFueX1bXSA9IFtdO1xuICAgIGlmICghdGhpcy5yZWdpc3RlcmVkUnVsZUVuZ2luZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSdWxlIGVuZ2luZSBub3QgcGx1Z2dlZCB0byB0aGUgZGVidWdnZXInKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBmYWN0TmFtZSBvZiBmYWN0c05hbWVzKSB7XG4gICAgICBmYWN0cy5wdXNoKHtmYWN0TmFtZSwgdmFsdWU6IGF3YWl0IHRoaXMucmVnaXN0ZXJlZFJ1bGVFbmdpbmUucmV0cmlldmVGYWN0VmFsdWUoZmFjdE5hbWUpfSk7XG4gICAgfVxuICAgIHJldHVybiBmYWN0cztcbiAgfVxufVxuIl19
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmRlYnVnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VuZ2luZS9kZWJ1Zy9lbmdpbmUuZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVVyRTs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBY3pCLHlEQUF5RDtJQUN6RCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksT0FBK0I7UUFuQm5DLHVCQUFrQixHQUFtQyxFQUFFLENBQUM7UUFvQjlELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLGFBQWEsQ0FBMkMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDbEgsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUMvQyxjQUFjLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQ3pDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxFQUFFO1lBQ25ELE1BQU0sVUFBVSxHQUFlLE1BQU0sU0FBUyxFQUFFLENBQUM7WUFDakQsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLGtCQUFrQixJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssdUJBQXVCLEVBQUU7Z0JBQ3pGLElBQUksZUFBZSxHQUFHLENBQUMsQ0FB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Z0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDaEwsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFvQjtRQUNoRCxNQUFNLEtBQUssR0FBcUMsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1NBQzVEO1FBQ0QsS0FBSyxNQUFNLFFBQVEsSUFBSSxVQUFVLEVBQUU7WUFDakMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1NBQzVGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb25jYXRNYXAsIHNoYXJlLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCB0YXAsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHR5cGUgeyBSdWxlc0VuZ2luZSB9IGZyb20gJy4uL2VuZ2luZSc7XG5pbXBvcnQgeyBCYXNlUnVsZXNldEV4ZWN1dGlvbiwgRGVidWdFdmVudCwgRXZhbHVhdGlvblJlYXNvbiwgUnVsZUV2YWx1YXRpb24sIFJ1bGVFdmFsdWF0aW9uT3V0cHV0LCBSdWxlc2V0RXhlY3V0aW9uRXJyb3JFdmVudCwgUnVsZXNldEV4ZWN1dGlvbkV2ZW50IH0gZnJvbSAnLi4vZW5naW5lLmludGVyZmFjZSc7XG5pbXBvcnQgdHlwZSB7IEZhY3RzIH0gZnJvbSAnLi4vZmFjdCc7XG5pbXBvcnQgeyBSdWxlc2V0RXhlY3V0b3IgfSBmcm9tICcuLi9ydWxlc2V0LWV4ZWN1dG9yJztcbmltcG9ydCB0eXBlIHsgQWN0aW9uQmxvY2ssIFJ1bGVzZXQgfSBmcm9tICcuLi9zdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgZmxhZ0NhY2hlZFJ1bGVzLCByZXRyaWV2ZVJ1bGVzZXRUcmlnZ2VycyB9IGZyb20gJy4vaGVscGVycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW5naW5lRGVidWdnZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIExpbWl0IG9mIGV2ZW50cyB0byBrZWVwIGluIHRoZSBzdGFjayBiZWZvcmUgc3Vic2NyaWJpbmcgdG8gdGhlIGRlYnVnRXZlbnRzJCBzdHJlYW0uXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZCBubyBsaW1pdFxuICAgKi9cbiAgZXZlbnRzU3RhY2tMaW1pdD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSdWxlcyBlbmdpbmUgZGVidWdnZXIgb2JqZWN0IHRvIGVtaXQgZGVidWcgZXZlbnRzXG4gKi9cbmV4cG9ydCBjbGFzcyBFbmdpbmVEZWJ1Z2dlciB7XG5cbiAgcHJpdmF0ZSByZWdpc3RlcmVkUnVsZUVuZ2luZT86IFJ1bGVzRW5naW5lO1xuXG4gIHByaXZhdGUgcmVnaXN0ZXJlZFJ1bGVzZXRzOiBQaWNrPFJ1bGVzZXQsICduYW1lJyB8ICdpZCc+W10gPSBbXTtcblxuICAvLyBLZWVwIGEgc21hbGwgaGlzdG9yeSBpbiBjYXNlIHRoZSBldmVudHMkIHN0cmVhbSBmcm9tIHRoZSBlbmdpbmUgaXMgc3Vic2NyaWJlZCBhZnRlciBydWxlcyBlbmdpbmUgaW5pdGlhbGl6YXRpb25cbiAgcHJpdmF0ZSByZWFkb25seSBkZWJ1Z0V2ZW50c1N1YmplY3QkOiBSZXBsYXlTdWJqZWN0PCgpID0+IChQcm9taXNlPERlYnVnRXZlbnQ+IHwgRGVidWdFdmVudCk+O1xuXG4gIHByaXZhdGUgcGVyZm9ybWFuY2VNZWFzdXJlcyQhOiBPYnNlcnZhYmxlPFBlcmZvcm1hbmNlTWVhc3VyZVtdPjtcblxuICAvKiogU3RyZWFtIGVtaXR0aW5nIGEgZGVidWcgZXZlbnQgd2hlbiBpcyBmaXJlZDsgdGltZWxpbmUgaXMga2VwdCAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVidWdFdmVudHMkOiBPYnNlcnZhYmxlPERlYnVnRXZlbnQ+O1xuXG4gIC8qKiBSZXRyaWV2ZWQgdGhlIHJ1bGVzIGVuZ2luZSBwbHVnZ2VkIHRvIHRoZSBkZWJ1Z2dlciAqL1xuICBwdWJsaWMgZ2V0IHJ1bGVzRW5naW5lKCk6IFJ1bGVzRW5naW5lIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5yZWdpc3RlcmVkUnVsZUVuZ2luZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnN0YW50aWF0ZSBhIHJ1bGVzIGVuZ2luZSBkZWJ1Z2dlclxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIHRvIGNvbmZpZ3VyZSB0aGUgZGVidWdnZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBFbmdpbmVEZWJ1Z2dlck9wdGlvbnMpIHtcbiAgICB0aGlzLmRlYnVnRXZlbnRzU3ViamVjdCQgPSBuZXcgUmVwbGF5U3ViamVjdDwoKSA9PiAoUHJvbWlzZTxEZWJ1Z0V2ZW50PiB8IERlYnVnRXZlbnQpPihvcHRpb25zPy5ldmVudHNTdGFja0xpbWl0KTtcbiAgICB0aGlzLmluaXRpYWxpemVQZXJmb3JtYW5jZU9ic2VydmVyKCk7XG4gICAgdGhpcy5kZWJ1Z0V2ZW50cyQgPSB0aGlzLmRlYnVnRXZlbnRzU3ViamVjdCQucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMucGVyZm9ybWFuY2VNZWFzdXJlcyQpLFxuICAgICAgY29uY2F0TWFwKGFzeW5jIChbZXZlbnRGdW5jLCBwZXJmb3JtYW5jZU1lYXN1cmVzXSkgPT4ge1xuICAgICAgICBjb25zdCBkZWJ1Z0V2ZW50OiBEZWJ1Z0V2ZW50ID0gYXdhaXQgZXZlbnRGdW5jKCk7XG4gICAgICAgIGlmIChkZWJ1Z0V2ZW50LnR5cGUgPT09ICdSdWxlc2V0RXhlY3V0aW9uJyB8fCBkZWJ1Z0V2ZW50LnR5cGUgPT09ICdSdWxlc2V0RXhlY3V0aW9uRXJyb3InKSB7XG4gICAgICAgICAgbGV0IHJ1bGVzZXREdXJhdGlvbiA9IDA7XG4gICAgICAgICAgZGVidWdFdmVudC5ydWxlc0V2YWx1YXRpb25zLmZvckVhY2goKHJ1bGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBgcnVsZXMtZW5naW5lOiR7XG4gICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJlZFJ1bGVFbmdpbmU/LnJ1bGVzRW5naW5lSW5zdGFuY2VOYW1lIHx8ICcnXG4gICAgICAgICAgICB9OiR7ZGVidWdFdmVudC5ydWxlc2V0TmFtZX06JHtydWxlLnJ1bGUubmFtZX1gO1xuICAgICAgICAgICAgY29uc3QgbWVhc3VyZXMgPSBwZXJmb3JtYW5jZU1lYXN1cmVzLmZpbHRlcihtID0+IG0ubmFtZSA9PT0gbWFyayk7XG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IG1lYXN1cmVzW21lYXN1cmVzLmxlbmd0aCAtIDFdPy5kdXJhdGlvbiB8fCAwO1xuICAgICAgICAgICAgcnVsZS5kdXJhdGlvbiA9IGR1cmF0aW9uO1xuICAgICAgICAgICAgcnVsZXNldER1cmF0aW9uICs9IGR1cmF0aW9uO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGRlYnVnRXZlbnQuZHVyYXRpb24gPSBydWxlc2V0RHVyYXRpb247XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlYnVnRXZlbnQ7XG4gICAgICB9KSxcbiAgICAgIHRhcCgoZGVidWdFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZGVidWdFdmVudC50eXBlID09PSAnUnVsZXNldEV4ZWN1dGlvbicpIHtcbiAgICAgICAgICB0aGlzLnJ1bGVzRW5naW5lPy5sb2dnZXI/LmRlYnVnPy4oYCR7ZGVidWdFdmVudC5ydWxlc2V0TmFtZX0gaGFzIGJlZW4gdHJpZ2dlcmVkIGFuZCByZXN1bHRlZCBpbiAke0pTT04uc3RyaW5naWZ5KGRlYnVnRXZlbnQub3V0cHV0QWN0aW9ucyl9YCk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgc2hhcmUoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVQZXJmb3JtYW5jZU9ic2VydmVyKCkge1xuICAgIHRoaXMucGVyZm9ybWFuY2VNZWFzdXJlcyQgPSBuZXcgT2JzZXJ2YWJsZTxQZXJmb3JtYW5jZU1lYXN1cmVbXT4oc3Vic2NyaWJlciA9PiB7XG4gICAgICBjb25zdCBwZXJmb3JtYW5jZU9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QpID0+IHtcbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KGxpc3QuZ2V0RW50cmllcygpIGFzIFBlcmZvcm1hbmNlTWVhc3VyZVtdKTtcbiAgICAgIH0pO1xuICAgICAgcGVyZm9ybWFuY2VPYnNlcnZlci5vYnNlcnZlKHsgZW50cnlUeXBlczogWydtZWFzdXJlJ10gfSk7XG4gICAgICByZXR1cm4gcGVyZm9ybWFuY2VPYnNlcnZlci5kaXNjb25uZWN0O1xuICAgIH0pLnBpcGUoc3RhcnRXaXRoKFtdKSwgc2hhcmVSZXBsYXkoMSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVCYXNlRXhlY3V0aW9uT3V0cHV0T2JqZWN0KHJ1bGVzZXQ6IFJ1bGVzZXQsIGV4ZWN1dGlvbkNvdW50ZXI6IG51bWJlcixcbiAgICBydWxlc2V0SW5wdXRGYWN0czogc3RyaW5nW10sIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4sXG4gICAgcnVsZXNldFRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj4sIHJ1bGVzRXhlY3V0aW9uczogUnVsZUV2YWx1YXRpb25bXSkge1xuXG4gICAgY29uc3QgaW5wdXRGYWN0cyA9IGF3YWl0IHRoaXMuZ2V0RmFjdHNTbmFwc2hvdChydWxlc2V0SW5wdXRGYWN0cyk7XG5cbiAgICBjb25zdCBiYXNlUnVsZXNldE91dHB1dEV4ZWN1dGlvbjogQmFzZVJ1bGVzZXRFeGVjdXRpb24gPSB7XG4gICAgICBleGVjdXRpb25Db3VudGVyLFxuICAgICAgZXhlY3V0aW9uSWQ6IGAke3J1bGVzZXQuaWR9LSR7ZXhlY3V0aW9uQ291bnRlcn1gLFxuICAgICAgcnVsZXNldElkOiBydWxlc2V0LmlkLFxuICAgICAgcnVsZXNldE5hbWU6IHJ1bGVzZXQubmFtZSxcbiAgICAgIGlucHV0RmFjdHMsXG4gICAgICB0cmlnZ2VyczogcnVsZXNldFRyaWdnZXJzLFxuICAgICAgcnVsZXNFdmFsdWF0aW9uczogZmxhZ0NhY2hlZFJ1bGVzKHJ1bGVzRXhlY3V0aW9ucz8uc29ydCgoYSwgYikgPT4gYS50aW1lc3RhbXAgLSBiLnRpbWVzdGFtcCkgfHwgW10sIHJ1bGVzZXRUcmlnZ2VycyksXG4gICAgICB0ZW1wb3JhcnlGYWN0czogcnVudGltZUZhY3RWYWx1ZXNcbiAgICB9O1xuICAgIHJldHVybiBiYXNlUnVsZXNldE91dHB1dEV4ZWN1dGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVsZXNldEV4ZWN1dGlvbihcbiAgICB0aW1lc3RhbXA6IG51bWJlcixcbiAgICBydWxlc2V0OiBSdWxlc2V0LFxuICAgIGV4ZWN1dGlvbkNvdW50ZXI6IG51bWJlcixcbiAgICBydWxlc2V0SW5wdXRGYWN0czogc3RyaW5nW10sXG4gICAgYWxsT3V0cHV0QWN0aW9uczogQWN0aW9uQmxvY2tbXSxcbiAgICBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+LFxuICAgIHJ1bGVzZXRUcmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+LFxuICAgIHJ1bGVzRXhlY3V0aW9uczogUnVsZUV2YWx1YXRpb25bXSkge1xuXG4gICAgY29uc3QgYmFzZVJ1bGVzZXRPdXRwdXRFeGVjdXRpb24gPVxuICAgICAgYXdhaXQgdGhpcy5jcmVhdGVCYXNlRXhlY3V0aW9uT3V0cHV0T2JqZWN0KHJ1bGVzZXQsIGV4ZWN1dGlvbkNvdW50ZXIsIHJ1bGVzZXRJbnB1dEZhY3RzLCBydW50aW1lRmFjdFZhbHVlcywgcnVsZXNldFRyaWdnZXJzLCBydWxlc0V4ZWN1dGlvbnMpO1xuXG4gICAgY29uc3QgcnVsZXNldE91dHB1dEV4ZWN1dGlvbjogUnVsZXNldEV4ZWN1dGlvbkV2ZW50ID0ge1xuICAgICAgdGltZXN0YW1wLFxuICAgICAgdHlwZTogJ1J1bGVzZXRFeGVjdXRpb24nLFxuICAgICAgb3V0cHV0QWN0aW9uczogYWxsT3V0cHV0QWN0aW9ucyxcbiAgICAgIC4uLmJhc2VSdWxlc2V0T3V0cHV0RXhlY3V0aW9uXG4gICAgfTtcblxuICAgIHJldHVybiBydWxlc2V0T3V0cHV0RXhlY3V0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBydWxlc2V0RXhlY3V0aW9uRXJyb3IoXG4gICAgdGltZXN0YW1wOiBudW1iZXIsXG4gICAgcnVsZXNldDogUnVsZXNldCxcbiAgICBydWxlc2V0SW5wdXRGYWN0czogc3RyaW5nW10sXG4gICAgZXhlY3V0aW9uQ291bnRlcjogbnVtYmVyLFxuICAgIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4sXG4gICAgcnVsZXNldFRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj4sXG4gICAgcnVsZXNFeGVjdXRpb25zOiBSdWxlRXZhbHVhdGlvbltdXG4gICkge1xuICAgIGNvbnN0IGJhc2VSdWxlc2V0T3V0cHV0RXhlY3V0aW9uID1cbiAgICAgIGF3YWl0IHRoaXMuY3JlYXRlQmFzZUV4ZWN1dGlvbk91dHB1dE9iamVjdChydWxlc2V0LCBleGVjdXRpb25Db3VudGVyLCBydWxlc2V0SW5wdXRGYWN0cywgcnVudGltZUZhY3RWYWx1ZXMsIHJ1bGVzZXRUcmlnZ2VycywgcnVsZXNFeGVjdXRpb25zKTtcblxuICAgIGNvbnN0IHJ1bGVzRXhlY1dpdGhFcnJvcnMgPSBydWxlc0V4ZWN1dGlvbnMuZmlsdGVyKGV4ID0+ICEhZXggJiYgISFleC5lcnJvcik7XG4gICAgY29uc3QgcnVsZXNldE91dHB1dEV4ZWN1dGlvblNraXA6IFJ1bGVzZXRFeGVjdXRpb25FcnJvckV2ZW50ID0ge1xuICAgICAgdGltZXN0YW1wLFxuICAgICAgdHlwZTogJ1J1bGVzZXRFeGVjdXRpb25FcnJvcicsXG4gICAgICBydWxlc0NhdXNpbmdUaGVFcnJvcjogcnVsZXNFeGVjV2l0aEVycm9ycy5tYXAoZSA9PiBlLnJ1bGUpIHx8IFtdLFxuICAgICAgZXJyb3JzOiBydWxlc0V4ZWNXaXRoRXJyb3JzLm1hcChlID0+IGUuZXJyb3IpLFxuICAgICAgLi4uYmFzZVJ1bGVzZXRPdXRwdXRFeGVjdXRpb25cbiAgICB9O1xuICAgIHJldHVybiBydWxlc2V0T3V0cHV0RXhlY3V0aW9uU2tpcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbHVnIHRoZSBkZWJ1Z2dlciB0byBhIFJ1bGUgRW5naW5lXG4gICAqIEBwYXJhbSBydWxlc0VuZ2luZVxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyUnVsZUVuZ2luZShydWxlc0VuZ2luZTogUnVsZXNFbmdpbmUpIHtcbiAgICB0aGlzLnJlZ2lzdGVyZWRSdWxlRW5naW5lID0gcnVsZXNFbmdpbmU7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHJ1bGVzZXQgZXhlY3V0aW9uIGRlYnVnIGluZm9cbiAgICogQHBhcmFtIGN1cnJSZXNcbiAgICogQHBhcmFtIHByZXZSZXNcbiAgICogQHBhcmFtIGFsbEV4ZWN1dGlvbnNWYWxpZFxuICAgKiBAcGFyYW0gcnVsZXNldElucHV0RmFjdHNcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gICAqIEBwYXJhbSBleGVjdXRpb25Db3VudGVyXG4gICAqIEBwYXJhbSBydWxlc2V0XG4gICAqL1xuICBwdWJsaWMgaGFuZGxlRGVidWdSdWxlc2V0RXhlY3V0aW9uSW5mbyhcbiAgICBjdXJyUmVzOiBSdWxlRXZhbHVhdGlvbk91dHB1dFtdLFxuICAgIHByZXZSZXM6IFJ1bGVFdmFsdWF0aW9uT3V0cHV0W10gfCB1bmRlZmluZWQsXG4gICAgYWxsRXhlY3V0aW9uc1ZhbGlkOiBib29sZWFuLFxuICAgIHJ1bGVzZXRJbnB1dEZhY3RzOiBzdHJpbmdbXSxcbiAgICBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+LFxuICAgIGV4ZWN1dGlvbkNvdW50ZXI6IG51bWJlcixcbiAgICBydWxlc2V0OiBSdWxlc2V0KSB7XG5cbiAgICBjb25zdCBydWxlc2V0VHJpZ2dlcnMgPSByZXRyaWV2ZVJ1bGVzZXRUcmlnZ2VycyhjdXJyUmVzLCBwcmV2UmVzKTtcbiAgICBjb25zdCBydWxlc2V0T3V0cHV0RXhlY3V0aW9uID0gY3VyclJlcy5tYXAociA9PiByLmV2YWx1YXRpb24hKTtcblxuICAgIGlmICghYWxsRXhlY3V0aW9uc1ZhbGlkKSB7XG4gICAgICB0aGlzLmFkZFJ1bGVzZXRFeGVjdXRpb25FcnJvckV2ZW50KHJ1bGVzZXQsIHJ1bGVzZXRJbnB1dEZhY3RzLCBleGVjdXRpb25Db3VudGVyLCBydW50aW1lRmFjdFZhbHVlcywgcnVsZXNldFRyaWdnZXJzLCBydWxlc2V0T3V0cHV0RXhlY3V0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZXhlY3V0aW9uQ291bnRlcixcbiAgICAgIHJ1bGVzZXRPdXRwdXRFeGVjdXRpb24sXG4gICAgICBhbGxFeGVjdXRpb25zVmFsaWQsXG4gICAgICBydWxlc2V0VHJpZ2dlcnNcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuICdBdmFpbGFibGVSdWxlc2V0cycgZGVidWcgZXZlbnQgd2hlbiBydWxlc2V0cyBhcmUgcmVnaXN0ZXJlZCB0byB0aGUgcnVsZXMgZW5naW5lXG4gICAqIEBwYXJhbSBydWxlc2V0c1xuICAgKi9cbiAgcHVibGljIGFkZEF2YWlsYWJsZVJ1bGVzZXRzKHJ1bGVzZXRzOiBSdWxlc2V0W10pIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIHRoaXMucmVnaXN0ZXJlZFJ1bGVzZXRzID0gWy4uLnRoaXMucmVnaXN0ZXJlZFJ1bGVzZXRzLCAuLi5ydWxlc2V0cy5tYXAoKHIpID0+ICh7bmFtZTogci5uYW1lLCBpZDogci5pZH0pKV07XG4gICAgdGhpcy5kZWJ1Z0V2ZW50c1N1YmplY3QkLm5leHQoKCkgPT4gKHtcbiAgICAgIHRpbWVzdGFtcCxcbiAgICAgIHR5cGU6ICdBdmFpbGFibGVSdWxlc2V0cycsXG4gICAgICBhdmFpbGFibGVSdWxlc2V0czogdGhpcy5yZWdpc3RlcmVkUnVsZXNldHNcbiAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZXMgYW5kIGVtaXRzIGFuICdBY3RpdmVSdWxlc2V0cycgZGVidWcgZXZlbnQgd2hlbiB0aGUgYWN0aXZlIHJ1bGVzZXRzIGFyZSBjaGFuZ2luZ1xuICAgKiBAcGFyYW0gcnVsZVNldEV4ZWN1dG9yTWFwIG1hcCBvZmYgYWxsIHJ1bGVzZXRzIGV4ZWN1dG9yc1xuICAgKiBAcGFyYW0gcmVzdHJpY3RpdmVSdWxlU2V0cyBpZHMgb2YgdGhlIHJ1bGVzZXRzIHRvIGFjdGl2YXRlOyBpZiBub3QgcHJvdmlkZWQgYWxsIHJlZ2lzdGVyZWQgcnVsZXNldHMgd2lsbCBiZSBjb25zaWRlcmVkIGFzIGFjdGl2ZVxuICAgKi9cbiAgcHVibGljIGFjdGl2ZVJ1bGVzZXRzQ2hhbmdlKHJ1bGVTZXRFeGVjdXRvck1hcDogUmVjb3JkPHN0cmluZywgUnVsZXNldEV4ZWN1dG9yPiwgcmVzdHJpY3RpdmVSdWxlU2V0cz86IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICBjb25zdCBydWxlc2V0cyA9IE9iamVjdC5rZXlzKHJ1bGVTZXRFeGVjdXRvck1hcCkubWFwKChydWxlc2V0SWQpID0+IHJ1bGVTZXRFeGVjdXRvck1hcFtydWxlc2V0SWRdLmVuZ2luZVJ1bGVzZXQpO1xuICAgIGNvbnN0IGFjdGl2ZVJ1bGVzZXRzID0gcmVzdHJpY3RpdmVSdWxlU2V0cyA/XG4gICAgICBPYmplY3QudmFsdWVzKHJ1bGVzZXRzKS5maWx0ZXIoKHJ1bGVTZXQpID0+IHJlc3RyaWN0aXZlUnVsZVNldHMuaW5kZXhPZihydWxlU2V0LmlkKSA+IC0xKSA6XG4gICAgICBPYmplY3QudmFsdWVzKHJ1bGVzZXRzKTtcblxuICAgIHRoaXMuZGVidWdFdmVudHNTdWJqZWN0JC5uZXh0KCgpID0+ICh7XG4gICAgICB0aW1lc3RhbXAsXG4gICAgICB0eXBlOiAnQWN0aXZlUnVsZXNldHMnLFxuICAgICAgcnVsZXNldHM6IGFjdGl2ZVJ1bGVzZXRzLm1hcChhID0+ICh7bmFtZTogcnVsZVNldEV4ZWN1dG9yTWFwW2EuaWRdLnJ1bGVzZXQubmFtZSwgaWQ6IHJ1bGVTZXRFeGVjdXRvck1hcFthLmlkXS5ydWxlc2V0LmlkfSkpXG4gICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuICdBbGxBY3Rpb25zJyBkZWJ1ZyBldmVudCBlYWNoIHRpbWUgdGhlIHJ1bGVzIGVuZ2luZSBvdXRwdXRzIHRoZSBsaXN0IG9mIGFjdGlvbnNcbiAgICogQHBhcmFtIGFjdGlvbnMgbGlzdCBvZiBvdXRwdXRlZCBhY3Rpb25zXG4gICAqL1xuICBwdWJsaWMgYWxsQWN0aW9uc0NoYW5nZShhY3Rpb25zOiBBY3Rpb25CbG9ja1tdKSB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICB0aGlzLmRlYnVnRXZlbnRzU3ViamVjdCQubmV4dCgoKSA9PiAoe3RpbWVzdGFtcCwgdHlwZTogJ0FsbEFjdGlvbnMnLCBhY3Rpb25zfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgJ1J1bGVzZXRFeGVjdXRpb24nIGRlYnVnIGV2ZW50IGF0IHRoZSBvdXB1dCBvZiBhIHN1Y2Nlc3NmdWwgcnVsZXNldCBleGVjdXRpb25cbiAgICogQHBhcmFtIHJ1bGVzZXRcbiAgICogQHBhcmFtIGV4ZWN1dGlvbkNvdW50ZXJcbiAgICogQHBhcmFtIHJ1bGVzZXRJbnB1dEZhY3RzXG4gICAqIEBwYXJhbSBhbGxPdXRwdXRBY3Rpb25zXG4gICAqIEBwYXJhbSBydW50aW1lRmFjdFZhbHVlc1xuICAgKiBAcGFyYW0gcnVsZXNldFRyaWdnZXJzXG4gICAqIEBwYXJhbSBydWxlc0V4ZWN1dGlvbnNcbiAgICogQHBhcmFtIHJldHJpZXZlRmFjdEZ1bmNcbiAgICovXG4gIHB1YmxpYyBhZGRSdWxlc2V0RXhlY3V0aW9uRXZlbnQocnVsZXNldDogUnVsZXNldCwgZXhlY3V0aW9uQ291bnRlcjogbnVtYmVyLFxuICAgIHJ1bGVzZXRJbnB1dEZhY3RzOiBzdHJpbmdbXSwgYWxsT3V0cHV0QWN0aW9uczogQWN0aW9uQmxvY2tbXSwgcnVudGltZUZhY3RWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIEZhY3RzPixcbiAgICBydWxlc2V0VHJpZ2dlcnM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIEV2YWx1YXRpb25SZWFzb24+PiwgcnVsZXNFeGVjdXRpb25zOiBSdWxlRXZhbHVhdGlvbltdKSB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICB0aGlzLmRlYnVnRXZlbnRzU3ViamVjdCQubmV4dCgoKSA9PiB0aGlzLnJ1bGVzZXRFeGVjdXRpb24odGltZXN0YW1wLCBydWxlc2V0LCBleGVjdXRpb25Db3VudGVyLFxuICAgICAgcnVsZXNldElucHV0RmFjdHMsIGFsbE91dHB1dEFjdGlvbnMsIHJ1bnRpbWVGYWN0VmFsdWVzLCBydWxlc2V0VHJpZ2dlcnMsIHJ1bGVzRXhlY3V0aW9ucykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgJ1J1bGVzZXRFeGVjdXRpb25FcnJvcicgZGVidWcgZXZlbnQgYXQgdGhlIG91cHV0IG9mIGEgZmFpbGluZyBydWxlc2V0IGV4ZWN1dGlvblxuICAgKiBAcGFyYW0gcnVsZXNldFxuICAgKiBAcGFyYW0gcnVsZXNldElucHV0RmFjdHNcbiAgICogQHBhcmFtIGV4ZWN1dGlvbkNvdW50ZXJcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gICAqIEBwYXJhbSBydWxlc2V0VHJpZ2dlcnNcbiAgICogQHBhcmFtIHJ1bGVzRXhlY3V0aW9uc1xuICAgKiBAcGFyYW0gcmV0cmlldmVGYWN0RnVuY1xuICAgKi9cbiAgcHVibGljIGFkZFJ1bGVzZXRFeGVjdXRpb25FcnJvckV2ZW50KFxuICAgIHJ1bGVzZXQ6IFJ1bGVzZXQsXG4gICAgcnVsZXNldElucHV0RmFjdHM6IHN0cmluZ1tdLFxuICAgIGV4ZWN1dGlvbkNvdW50ZXI6IG51bWJlcixcbiAgICBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+LFxuICAgIHJ1bGVzZXRUcmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+LFxuICAgIHJ1bGVzRXhlY3V0aW9uczogUnVsZUV2YWx1YXRpb25bXVxuICApIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIHRoaXMuZGVidWdFdmVudHNTdWJqZWN0JC5uZXh0KCgpID0+IHRoaXMucnVsZXNldEV4ZWN1dGlvbkVycm9yKHRpbWVzdGFtcCwgcnVsZXNldCwgcnVsZXNldElucHV0RmFjdHMsIGV4ZWN1dGlvbkNvdW50ZXIsIHJ1bnRpbWVGYWN0VmFsdWVzLCBydWxlc2V0VHJpZ2dlcnMsIHJ1bGVzRXhlY3V0aW9ucykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBsaXN0IG9mIGZhY3QgbmFtZSBhbmQgdmFsdWUgcGFpcnNcbiAgICogQHBhcmFtIGZhY3RzTmFtZXMgTGlzdCBvZiBmYWN0cyBuYW1lcyB0byBnZXQgdGhlIHZhbHVlIGZvclxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEZhY3RzU25hcHNob3QoZmFjdHNOYW1lczogc3RyaW5nW10pIHtcbiAgICBjb25zdCBmYWN0czoge2ZhY3ROYW1lOiBzdHJpbmc7IHZhbHVlOiBhbnl9W10gPSBbXTtcbiAgICBpZiAoIXRoaXMucmVnaXN0ZXJlZFJ1bGVFbmdpbmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUnVsZSBlbmdpbmUgbm90IHBsdWdnZWQgdG8gdGhlIGRlYnVnZ2VyJyk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgZmFjdE5hbWUgb2YgZmFjdHNOYW1lcykge1xuICAgICAgZmFjdHMucHVzaCh7ZmFjdE5hbWUsIHZhbHVlOiBhd2FpdCB0aGlzLnJlZ2lzdGVyZWRSdWxlRW5naW5lLnJldHJpZXZlRmFjdFZhbHVlKGZhY3ROYW1lKX0pO1xuICAgIH1cbiAgICByZXR1cm4gZmFjdHM7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Function to retrive from 2 sequential executions only the triggers which activated the last ruleset execution
3
- *
4
3
  * @param currRes Current ruleset execution object
5
4
  * @param prevRes Previous ruleset execution object
6
5
  * @returns The triggers list which activates the last ruleset execution
@@ -39,7 +38,6 @@ export function retrieveRulesetTriggers(currRes, prevRes) {
39
38
  }
40
39
  /**
41
40
  * Flag as cached the rules evaluations which are from previous ruleset executions
42
- *
43
41
  * @param rulesEvaluations all rules evaluations list
44
42
  * @param triggers Ruleset triggers object
45
43
  * @returns Rules evaluation list with flagged rules evaluation from previous ruleset executions
@@ -55,7 +53,6 @@ export function flagCachedRules(rulesEvaluations, triggers) {
55
53
  }
56
54
  /**
57
55
  * Create the debug rule evaluation object
58
- *
59
56
  * @param rule
60
57
  * @param rulesetName
61
58
  * @param outputActions
@@ -91,4 +88,4 @@ export function handleRuleEvaluationDebug(rule, rulesetName, outputActions, outp
91
88
  };
92
89
  return ruleEvaluation;
93
90
  }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbmdpbmUvZGVidWcvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsT0FBK0IsRUFBRSxPQUEyQztJQUVsSCxJQUFJLGVBQWUsR0FBcUQsRUFBRSxDQUFDO0lBRTNFLE1BQU0sMEJBQTBCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQXVCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9ILE1BQU0sc0JBQXNCLEdBQXFELEVBQUUsQ0FBQztJQUVwRiwwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUMzQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3BDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQztLQUMxQztTQUFNO1FBRUwsTUFBTSwwQkFBMEIsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBdUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxD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dWxlRXZhbHVhdGlvbiwgUnVsZUV2YWx1YXRpb25PdXRwdXQgfSBmcm9tICcuLi9lbmdpbmUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFjdGlvbkJsb2NrLCBSdWxlIH0gZnJvbSAnLi4vc3RydWN0dXJlJztcblxuLyoqXG4gKiBGdW5jdGlvbiB0byByZXRyaXZlIGZyb20gMiBzZXF1ZW50aWFsIGV4ZWN1dGlvbnMgb25seSB0aGUgdHJpZ2dlcnMgd2hpY2ggYWN0aXZhdGVkIHRoZSBsYXN0IHJ1bGVzZXQgZXhlY3V0aW9uXG4gKlxuICogQHBhcmFtIGN1cnJSZXMgQ3VycmVudCBydWxlc2V0IGV4ZWN1dGlvbiBvYmplY3RcbiAqIEBwYXJhbSBwcmV2UmVzIFByZXZpb3VzIHJ1bGVzZXQgZXhlY3V0aW9uIG9iamVjdFxuICogQHJldHVybnMgVGhlIHRyaWdnZXJzIGxpc3Qgd2hpY2ggYWN0aXZhdGVzIHRoZSBsYXN0IHJ1bGVzZXQgZXhlY3V0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXRyaWV2ZVJ1bGVzZXRUcmlnZ2VycyhjdXJyUmVzOiBSdWxlRXZhbHVhdGlvbk91dHB1dFtdLCBwcmV2UmVzOiBSdWxlRXZhbHVhdGlvbk91dHB1dFtdIHwgdW5kZWZpbmVkKSB7XG5cbiAgbGV0IHJ1bGVzZXRUcmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+ID0ge307XG5cbiAgY29uc3QgYWxsQ3VyclJ1bGVzZXRUcmlnZ2Vyc0xpc3QgPSBjdXJyUmVzLm1hcChyID0+IHIuZXZhbHVhdGlvbikuZmlsdGVyKChlKTogZSBpcyBSdWxlRXZhbHVhdGlvbiA9PiAhIWUpLm1hcChlID0+IGUudHJpZ2dlcnMpO1xuICBjb25zdCBhbGxDdXJyUnVsZXNldFRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj4gPSB7fTtcblxuICBhbGxDdXJyUnVsZXNldFRyaWdnZXJzTGlzdC5mb3JFYWNoKChyVHJpZykgPT4ge1xuICAgIE9iamVjdC5rZXlzKHJUcmlnKS5mb3JFYWNoKChydWxlSWQpID0+IHtcbiAgICAgIGFsbEN1cnJSdWxlc2V0VHJpZ2dlcnNbcnVsZUlkXSA9IHJUcmlnW3J1bGVJZF07XG4gICAgfSk7XG4gIH0pO1xuXG4gIGlmICghcHJldlJlcykge1xuICAgIHJ1bGVzZXRUcmlnZ2VycyA9IGFsbEN1cnJSdWxlc2V0VHJpZ2dlcnM7XG4gIH0gZWxzZSB7XG5cbiAgICBjb25zdCBhbGxQcmV2UnVsZXNldFRyaWdnZXJzTGlzdCA9IHByZXZSZXMubWFwKHIgPT4gci5ldmFsdWF0aW9uKS5maWx0ZXIoKGUpOiBlIGlzIFJ1bGVFdmFsdWF0aW9uID0+ICEhZSkubWFwKGUgPT4gZS50cmlnZ2Vycyk7XG4gICAgY29uc3QgYWxsUHJldlJ1bGVzZXRUcmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+ID0ge307XG5cbiAgICBhbGxQcmV2UnVsZXNldFRyaWdnZXJzTGlzdC5mb3JFYWNoKChyVHJpZykgPT4ge1xuICAgICAgT2JqZWN0LmtleXMoclRyaWcpLmZvckVhY2goKHJ1bGVJZCkgPT4ge1xuICAgICAgICBhbGxQcmV2UnVsZXNldFRyaWdnZXJzW3J1bGVJZF0gPSByVHJpZ1tydWxlSWRdO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBPYmplY3QuZW50cmllcyhhbGxDdXJyUnVsZXNldFRyaWdnZXJzKS5mb3JFYWNoKChbcnVsZUlkLCBydWxlVHJpZ2dlcnNdKSA9PiB7XG4gICAgICBPYmplY3Qua2V5cyhydWxlVHJpZ2dlcnMpLmZvckVhY2goKGZhY3ROYW1lKSA9PiB7XG4gICAgICAgIGlmICghYWxsUHJldlJ1bGVzZXRUcmlnZ2Vyc1tydWxlSWRdIHx8XG4gICAgICAgICAgIWFsbFByZXZSdWxlc2V0VHJpZ2dlcnNbcnVsZUlkXVtmYWN0TmFtZV0gfHxcbiAgICAgICAgICBydWxlVHJpZ2dlcnNbZmFjdE5hbWVdLm5ld1ZhbHVlICE9PSBhbGxQcmV2UnVsZXNldFRyaWdnZXJzW3J1bGVJZF1bZmFjdE5hbWVdLm5ld1ZhbHVlKSB7XG4gICAgICAgICAgKHJ1bGVzZXRUcmlnZ2Vyc1tydWxlSWRdIHx8PSB7fSlbZmFjdE5hbWVdID0gcnVsZVRyaWdnZXJzW2ZhY3ROYW1lXTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgfVxuICByZXR1cm4gcnVsZXNldFRyaWdnZXJzO1xufVxuXG4vKipcbiAqIEZsYWcgYXMgY2FjaGVkIHRoZSBydWxlcyBldmFsdWF0aW9ucyB3aGljaCBhcmUgZnJvbSBwcmV2aW91cyBydWxlc2V0IGV4ZWN1dGlvbnNcbiAqXG4gKiBAcGFyYW0gcnVsZXNFdmFsdWF0aW9ucyBhbGwgcnVsZXMgZXZhbHVhdGlvbnMgbGlzdFxuICogQHBhcmFtIHRyaWdnZXJzIFJ1bGVzZXQgdHJpZ2dlcnMgb2JqZWN0XG4gKiBAcmV0dXJucyBSdWxlcyBldmFsdWF0aW9uIGxpc3Qgd2l0aCBmbGFnZ2VkIHJ1bGVzIGV2YWx1YXRpb24gZnJvbSBwcmV2aW91cyBydWxlc2V0IGV4ZWN1dGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZsYWdDYWNoZWRSdWxlcyhydWxlc0V2YWx1YXRpb25zOiBSdWxlRXZhbHVhdGlvbltdLCB0cmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+KTogKFJ1bGVFdmFsdWF0aW9uICYge2NhY2hlZD86IGJvb2xlYW59KVtdIHtcbiAgY29uc3QgcnVsZXNXaGljaFRyaWdnZXJlZEV4ZWN1dGlvbiA9IE9iamVjdC5rZXlzKHRyaWdnZXJzKTtcblxuICByZXR1cm4gcnVsZXNFdmFsdWF0aW9ucy5tYXAoKGUpID0+IHtcbiAgICBpZiAoZSAmJiBydWxlc1doaWNoVHJpZ2dlcmVkRXhlY3V0aW9uLmluZGV4T2YoZS5ydWxlLmlkKSA9PT0gLTEpIHtcbiAgICAgIHJldHVybiB7Li4uZSwgY2FjaGVkOiB0cnVlfTtcbiAgICB9XG4gICAgcmV0dXJuIHsuLi5lfTtcbiAgfSk7XG59XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBkZWJ1ZyBydWxlIGV2YWx1YXRpb24gb2JqZWN0XG4gKlxuICogQHBhcmFtIHJ1bGVcbiAqIEBwYXJhbSBydWxlc2V0TmFtZVxuICogQHBhcmFtIG91dHB1dEFjdGlvbnNcbiAqIEBwYXJhbSBvdXRwdXRFcnJvclxuICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gKiBAcGFyYW0gZmFjdFZhbHVlc1xuICogQHBhcmFtIG9sZEZhY3RWYWx1ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZVJ1bGVFdmFsdWF0aW9uRGVidWcoXG4gIHJ1bGU6IFJ1bGUsXG4gIHJ1bGVzZXROYW1lOiBzdHJpbmcsXG4gIG91dHB1dEFjdGlvbnM6IEFjdGlvbkJsb2NrW10gfCB1bmRlZmluZWQsXG4gIG91dHB1dEVycm9yOiBhbnksXG4gIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4sXG4gIGZhY3RWYWx1ZXM6IGFueVtdIHwgdW5kZWZpbmVkLFxuICBvbGRGYWN0VmFsdWVzOiBhbnlbXSB8IHVuZGVmaW5lZCkge1xuXG4gIGNvbnN0IGV4ZWN1dGlvbklkID0gYCR7cnVsZXNldE5hbWV9IC0gJHtydWxlLm5hbWV9YDtcblxuICBjb25zdCByZWFzb25zOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj4gPSB7fTtcbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGZhY3RWYWx1ZXMhLmxlbmd0aDsgaW5kZXgrKykge1xuICAgIGlmICghb2xkRmFjdFZhbHVlcykge1xuICAgICAgKHJlYXNvbnNbcnVsZS5pZF0gfHw9IHt9KVtydWxlLmlucHV0RmFjdHNbaW5kZXhdXSA9IHsgZmFjdE5hbWU6IHJ1bGUuaW5wdXRGYWN0c1tpbmRleF0sIG5ld1ZhbHVlOiBmYWN0VmFsdWVzIVtpbmRleF0gfTtcbiAgICB9XG4gICAgZWxzZSBpZiAob2xkRmFjdFZhbHVlc1tpbmRleF0/LnRvU3RyaW5nKCkgIT09IGZhY3RWYWx1ZXMhW2luZGV4XT8udG9TdHJpbmcoKSkge1xuICAgICAgKHJlYXNvbnNbcnVsZS5pZF0gfHw9IHt9KVtydWxlLmlucHV0RmFjdHNbaW5kZXhdXSA9IHsgZmFjdE5hbWU6IHJ1bGUuaW5wdXRGYWN0c1tpbmRleF0sIG9sZFZhbHVlOiBvbGRGYWN0VmFsdWVzW2luZGV4XSwgbmV3VmFsdWU6IGZhY3RWYWx1ZXMhW2luZGV4XSB9O1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJ1bGVFdmFsdWF0aW9uOiBSdWxlRXZhbHVhdGlvbiA9IHtcbiAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgb3V0cHV0QWN0aW9ucyxcbiAgICBpZDogZXhlY3V0aW9uSWQsXG4gICAgdHJpZ2dlcnM6IHJlYXNvbnMsXG4gICAgdGVtcG9yYXJ5RmFjdHM6IHJ1bGUub3V0cHV0UnVudGltZUZhY3RzLmNvbmNhdChydWxlLmlucHV0UnVudGltZUZhY3RzKS5yZWR1Y2U8UmVjb3JkPHN0cmluZywgRmFjdHM+PigoYWNjLCBydW50aW1lRmFjdE5hbWUpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgcnVudGltZUZhY3RWYWx1ZXNbcnVudGltZUZhY3ROYW1lXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgYWNjW3J1bnRpbWVGYWN0TmFtZV0gPSBydW50aW1lRmFjdFZhbHVlc1tydW50aW1lRmFjdE5hbWVdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fVxuICAgICksXG4gICAgcnVsZTogeyBpZDogcnVsZS5pZCwgbmFtZTogcnVsZS5uYW1lIH0sXG4gICAgLi4uKG91dHB1dEVycm9yID8geyBlcnJvcjogb3V0cHV0RXJyb3IgfSA6IHt9KVxuICB9O1xuICByZXR1cm4gcnVsZUV2YWx1YXRpb247XG59XG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbmdpbmUvZGVidWcvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxPQUErQixFQUFFLE9BQTJDO0lBRWxILElBQUksZUFBZSxHQUFxRCxFQUFFLENBQUM7SUFFM0UsTUFBTSwwQkFBMEIsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBdUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0gsTUFBTSxzQkFBc0IsR0FBcUQsRUFBRSxDQUFDO0lBRXBGLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osZUFBZSxHQUFHLHNCQUFzQixDQUFDO0tBQzFDO1NBQU07UUFFTCxNQUFNLDBCQUEwQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUF1QixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENB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aW9uLCBSdWxlRXZhbHVhdGlvbk91dHB1dCB9IGZyb20gJy4uL2VuZ2luZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHR5cGUgeyBGYWN0cyB9IGZyb20gJy4uL2ZhY3QnO1xuaW1wb3J0IHsgQWN0aW9uQmxvY2ssIFJ1bGUgfSBmcm9tICcuLi9zdHJ1Y3R1cmUnO1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIHJldHJpdmUgZnJvbSAyIHNlcXVlbnRpYWwgZXhlY3V0aW9ucyBvbmx5IHRoZSB0cmlnZ2VycyB3aGljaCBhY3RpdmF0ZWQgdGhlIGxhc3QgcnVsZXNldCBleGVjdXRpb25cbiAqIEBwYXJhbSBjdXJyUmVzIEN1cnJlbnQgcnVsZXNldCBleGVjdXRpb24gb2JqZWN0XG4gKiBAcGFyYW0gcHJldlJlcyBQcmV2aW91cyBydWxlc2V0IGV4ZWN1dGlvbiBvYmplY3RcbiAqIEByZXR1cm5zIFRoZSB0cmlnZ2VycyBsaXN0IHdoaWNoIGFjdGl2YXRlcyB0aGUgbGFzdCBydWxlc2V0IGV4ZWN1dGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gcmV0cmlldmVSdWxlc2V0VHJpZ2dlcnMoY3VyclJlczogUnVsZUV2YWx1YXRpb25PdXRwdXRbXSwgcHJldlJlczogUnVsZUV2YWx1YXRpb25PdXRwdXRbXSB8IHVuZGVmaW5lZCkge1xuXG4gIGxldCBydWxlc2V0VHJpZ2dlcnM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIEV2YWx1YXRpb25SZWFzb24+PiA9IHt9O1xuXG4gIGNvbnN0IGFsbEN1cnJSdWxlc2V0VHJpZ2dlcnNMaXN0ID0gY3VyclJlcy5tYXAociA9PiByLmV2YWx1YXRpb24pLmZpbHRlcigoZSk6IGUgaXMgUnVsZUV2YWx1YXRpb24gPT4gISFlKS5tYXAoZSA9PiBlLnRyaWdnZXJzKTtcbiAgY29uc3QgYWxsQ3VyclJ1bGVzZXRUcmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+ID0ge307XG5cbiAgYWxsQ3VyclJ1bGVzZXRUcmlnZ2Vyc0xpc3QuZm9yRWFjaCgoclRyaWcpID0+IHtcbiAgICBPYmplY3Qua2V5cyhyVHJpZykuZm9yRWFjaCgocnVsZUlkKSA9PiB7XG4gICAgICBhbGxDdXJyUnVsZXNldFRyaWdnZXJzW3J1bGVJZF0gPSByVHJpZ1tydWxlSWRdO1xuICAgIH0pO1xuICB9KTtcblxuICBpZiAoIXByZXZSZXMpIHtcbiAgICBydWxlc2V0VHJpZ2dlcnMgPSBhbGxDdXJyUnVsZXNldFRyaWdnZXJzO1xuICB9IGVsc2Uge1xuXG4gICAgY29uc3QgYWxsUHJldlJ1bGVzZXRUcmlnZ2Vyc0xpc3QgPSBwcmV2UmVzLm1hcChyID0+IHIuZXZhbHVhdGlvbikuZmlsdGVyKChlKTogZSBpcyBSdWxlRXZhbHVhdGlvbiA9PiAhIWUpLm1hcChlID0+IGUudHJpZ2dlcnMpO1xuICAgIGNvbnN0IGFsbFByZXZSdWxlc2V0VHJpZ2dlcnM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIEV2YWx1YXRpb25SZWFzb24+PiA9IHt9O1xuXG4gICAgYWxsUHJldlJ1bGVzZXRUcmlnZ2Vyc0xpc3QuZm9yRWFjaCgoclRyaWcpID0+IHtcbiAgICAgIE9iamVjdC5rZXlzKHJUcmlnKS5mb3JFYWNoKChydWxlSWQpID0+IHtcbiAgICAgICAgYWxsUHJldlJ1bGVzZXRUcmlnZ2Vyc1tydWxlSWRdID0gclRyaWdbcnVsZUlkXTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgT2JqZWN0LmVudHJpZXMoYWxsQ3VyclJ1bGVzZXRUcmlnZ2VycykuZm9yRWFjaCgoW3J1bGVJZCwgcnVsZVRyaWdnZXJzXSkgPT4ge1xuICAgICAgT2JqZWN0LmtleXMocnVsZVRyaWdnZXJzKS5mb3JFYWNoKChmYWN0TmFtZSkgPT4ge1xuICAgICAgICBpZiAoIWFsbFByZXZSdWxlc2V0VHJpZ2dlcnNbcnVsZUlkXSB8fFxuICAgICAgICAgICFhbGxQcmV2UnVsZXNldFRyaWdnZXJzW3J1bGVJZF1bZmFjdE5hbWVdIHx8XG4gICAgICAgICAgcnVsZVRyaWdnZXJzW2ZhY3ROYW1lXS5uZXdWYWx1ZSAhPT0gYWxsUHJldlJ1bGVzZXRUcmlnZ2Vyc1tydWxlSWRdW2ZhY3ROYW1lXS5uZXdWYWx1ZSkge1xuICAgICAgICAgIChydWxlc2V0VHJpZ2dlcnNbcnVsZUlkXSB8fD0ge30pW2ZhY3ROYW1lXSA9IHJ1bGVUcmlnZ2Vyc1tmYWN0TmFtZV07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gIH1cbiAgcmV0dXJuIHJ1bGVzZXRUcmlnZ2Vycztcbn1cblxuLyoqXG4gKiBGbGFnIGFzIGNhY2hlZCB0aGUgcnVsZXMgZXZhbHVhdGlvbnMgd2hpY2ggYXJlIGZyb20gcHJldmlvdXMgcnVsZXNldCBleGVjdXRpb25zXG4gKiBAcGFyYW0gcnVsZXNFdmFsdWF0aW9ucyBhbGwgcnVsZXMgZXZhbHVhdGlvbnMgbGlzdFxuICogQHBhcmFtIHRyaWdnZXJzIFJ1bGVzZXQgdHJpZ2dlcnMgb2JqZWN0XG4gKiBAcmV0dXJucyBSdWxlcyBldmFsdWF0aW9uIGxpc3Qgd2l0aCBmbGFnZ2VkIHJ1bGVzIGV2YWx1YXRpb24gZnJvbSBwcmV2aW91cyBydWxlc2V0IGV4ZWN1dGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZsYWdDYWNoZWRSdWxlcyhydWxlc0V2YWx1YXRpb25zOiBSdWxlRXZhbHVhdGlvbltdLCB0cmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+KTogKFJ1bGVFdmFsdWF0aW9uICYge2NhY2hlZD86IGJvb2xlYW59KVtdIHtcbiAgY29uc3QgcnVsZXNXaGljaFRyaWdnZXJlZEV4ZWN1dGlvbiA9IE9iamVjdC5rZXlzKHRyaWdnZXJzKTtcblxuICByZXR1cm4gcnVsZXNFdmFsdWF0aW9ucy5tYXAoKGUpID0+IHtcbiAgICBpZiAoZSAmJiBydWxlc1doaWNoVHJpZ2dlcmVkRXhlY3V0aW9uLmluZGV4T2YoZS5ydWxlLmlkKSA9PT0gLTEpIHtcbiAgICAgIHJldHVybiB7Li4uZSwgY2FjaGVkOiB0cnVlfTtcbiAgICB9XG4gICAgcmV0dXJuIHsuLi5lfTtcbiAgfSk7XG59XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBkZWJ1ZyBydWxlIGV2YWx1YXRpb24gb2JqZWN0XG4gKiBAcGFyYW0gcnVsZVxuICogQHBhcmFtIHJ1bGVzZXROYW1lXG4gKiBAcGFyYW0gb3V0cHV0QWN0aW9uc1xuICogQHBhcmFtIG91dHB1dEVycm9yXG4gKiBAcGFyYW0gcnVudGltZUZhY3RWYWx1ZXNcbiAqIEBwYXJhbSBmYWN0VmFsdWVzXG4gKiBAcGFyYW0gb2xkRmFjdFZhbHVlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlUnVsZUV2YWx1YXRpb25EZWJ1ZyhcbiAgcnVsZTogUnVsZSxcbiAgcnVsZXNldE5hbWU6IHN0cmluZyxcbiAgb3V0cHV0QWN0aW9uczogQWN0aW9uQmxvY2tbXSB8IHVuZGVmaW5lZCxcbiAgb3V0cHV0RXJyb3I6IGFueSxcbiAgcnVudGltZUZhY3RWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIEZhY3RzPixcbiAgZmFjdFZhbHVlczogYW55W10gfCB1bmRlZmluZWQsXG4gIG9sZEZhY3RWYWx1ZXM6IGFueVtdIHwgdW5kZWZpbmVkKSB7XG5cbiAgY29uc3QgZXhlY3V0aW9uSWQgPSBgJHtydWxlc2V0TmFtZX0gLSAke3J1bGUubmFtZX1gO1xuXG4gIGNvbnN0IHJlYXNvbnM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIEV2YWx1YXRpb25SZWFzb24+PiA9IHt9O1xuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZmFjdFZhbHVlcyEubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgaWYgKCFvbGRGYWN0VmFsdWVzKSB7XG4gICAgICAocmVhc29uc1tydWxlLmlkXSB8fD0ge30pW3J1bGUuaW5wdXRGYWN0c1tpbmRleF1dID0geyBmYWN0TmFtZTogcnVsZS5pbnB1dEZhY3RzW2luZGV4XSwgbmV3VmFsdWU6IGZhY3RWYWx1ZXMhW2luZGV4XSB9O1xuICAgIH1cbiAgICBlbHNlIGlmIChvbGRGYWN0VmFsdWVzW2luZGV4XT8udG9TdHJpbmcoKSAhPT0gZmFjdFZhbHVlcyFbaW5kZXhdPy50b1N0cmluZygpKSB7XG4gICAgICAocmVhc29uc1tydWxlLmlkXSB8fD0ge30pW3J1bGUuaW5wdXRGYWN0c1tpbmRleF1dID0geyBmYWN0TmFtZTogcnVsZS5pbnB1dEZhY3RzW2luZGV4XSwgb2xkVmFsdWU6IG9sZEZhY3RWYWx1ZXNbaW5kZXhdLCBuZXdWYWx1ZTogZmFjdFZhbHVlcyFbaW5kZXhdIH07XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcnVsZUV2YWx1YXRpb246IFJ1bGVFdmFsdWF0aW9uID0ge1xuICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKSxcbiAgICBvdXRwdXRBY3Rpb25zLFxuICAgIGlkOiBleGVjdXRpb25JZCxcbiAgICB0cmlnZ2VyczogcmVhc29ucyxcbiAgICB0ZW1wb3JhcnlGYWN0czogcnVsZS5vdXRwdXRSdW50aW1lRmFjdHMuY29uY2F0KHJ1bGUuaW5wdXRSdW50aW1lRmFjdHMpLnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBGYWN0cz4+KChhY2MsIHJ1bnRpbWVGYWN0TmFtZSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBydW50aW1lRmFjdFZhbHVlc1tydW50aW1lRmFjdE5hbWVdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBhY2NbcnVudGltZUZhY3ROYW1lXSA9IHJ1bnRpbWVGYWN0VmFsdWVzW3J1bnRpbWVGYWN0TmFtZV07XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9XG4gICAgKSxcbiAgICBydWxlOiB7IGlkOiBydWxlLmlkLCBuYW1lOiBydWxlLm5hbWUgfSxcbiAgICAuLi4ob3V0cHV0RXJyb3IgPyB7IGVycm9yOiBvdXRwdXRFcnJvciB9IDoge30pXG4gIH07XG4gIHJldHVybiBydWxlRXZhbHVhdGlvbjtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbmdpbmUvZW5naW5lLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMb2dnZXIgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgdHlwZSB7IEVuZ2luZURlYnVnZ2VyIH0gZnJvbSAnLi9kZWJ1Zy9lbmdpbmUuZGVidWcnO1xuaW1wb3J0IHsgRmFjdCB9IGZyb20gJy4vZmFjdCc7XG5pbXBvcnQgeyBPcGVyYXRvciB9IGZyb20gJy4vb3BlcmF0b3InO1xuaW1wb3J0IHsgQWN0aW9uQmxvY2ssIFJ1bGUsIFJ1bGVzZXQgfSBmcm9tICcuL3N0cnVjdHVyZSc7XG5cbi8qKiBQZXJmb3JtYW5jZSBvYmplY3Qgc3VwcG9ydGluZyBOb2RlSnMgUGVyZm9ybWFuY2UgYW5kIFdlYiBQZXJmb3JtYW5jZSByZXBvcnRpbmcgICovXG5leHBvcnQgdHlwZSBDcm9zc1BsYXRmb3JtUGVyZm9ybWFuY2UgPSB7XG4gIC8qKiBAc2VlIFBlcmZvcm1hbmNlLm1hcmsgKi9cbiAgbWFyazogKC4uLng6IFBhcmFtZXRlcnM8UGVyZm9ybWFuY2VbJ21hcmsnXT4pID0+IFJldHVyblR5cGU8UGVyZm9ybWFuY2VbJ21hcmsnXT4gfCB2b2lkO1xuICAvKiogQHNlZSBQZXJmb3JtYW5jZS5tZWFzdXJlICovXG4gIG1lYXN1cmU6IChtZWFzdXJlTmFtZTogc3RyaW5nLCBzdGFydE9yTWVhc3VyZU9wdGlvbnM/OiBzdHJpbmcsIGVuZE1hcms/OiBzdHJpbmcpID0+IFJldHVyblR5cGU8UGVyZm9ybWFuY2VbJ21lYXN1cmUnXT4gfCB2b2lkO1xufTtcblxuLyoqIEZhY3Qgc3RyZWFtIG9iamVjdCB0byBoYW5kbGUgZmFjdCByZWZlcmVuY2UgY2hhbmdlICovXG5leHBvcnQgaW50ZXJmYWNlIEZhY3RPYmplY3Q8VD4ge1xuICAvKiogU3ViamVjdCBvZiBmYWN0IHN0cmVhbSAqL1xuICBzdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8T2JzZXJ2YWJsZTxUPiB8IHVuZGVmaW5lZD47XG4gIC8qKiBTdHJlYW0gb2YgdGhlIGZhY3QgdmFsdWUgKi9cbiAgdmFsdWUkOiBPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+O1xufVxuXG4vKiogUmVwcmVzZW50cyBhbGwgdGhlIHN1cHBvcnRlZCBmYWN0cyB0eXBlcyBUT0NIRUNLIHV0aWxzLkRhdGUgdnMgRGF0ZSAqL1xuZXhwb3J0IHR5cGUgRmFjdHMgPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB8IERhdGUgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVua25vd25bXTtcblxuXG4vKiogUnVsZSBFbmdpbmUgY29uc3RydWN0b3Igb3B0aW9ucyAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlc0VuZ2luZU9wdGlvbnMge1xuICAvKiogTGlzdCBvZiBmYWN0cyAqL1xuICBmYWN0cz86IEZhY3Q8RmFjdHM+W107XG5cbiAgLyoqIExpc3Qgb2YgcnVsZXMgKi9cbiAgcnVsZXM/OiBSdWxlc2V0W107XG5cbiAgLyoqIExpc3Qgb2YgY3VzdG9tIG9wZXJhdG9ycyAqL1xuICBvcGVyYXRvcnM/OiBPcGVyYXRvcjxhbnksIGFueT5bXTtcblxuICAvKiogRGVsYXkgYmVmb3JlIGZhY3Qgc3RyZWFtIGRlZmF1bHRpbmcgdmFsdWUgKi9cbiAgZmFjdERlZmF1bHREZWxheT86IG51bWJlcjtcblxuICAvKipcbiAgICogU2tpcCB0aGUgcnVsZSBhbmQgZmFjdCBjaXJjdWxhciBkZXBlbmRlbmN5IGNoZWNrc1xuICAgKiBUdXJuIHRvIHRydWUgdG8gaW5jcmVhc2UgdGhlIHNwZWVkIG9mIHRoZSB1cHNlcnRpb24gb2YgYSBydWxlXG4gICAqL1xuICBza2lwQ2lyY3VsYXJEZXBlbmRlbmN5Q2hlY2tzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUHJvdmlkZSBkZWJ1Z2dlciBpbnN0YW5jZSB0byB0aGUgcnVsZXMgZW5naW5lXG4gICAqL1xuICBkZWJ1Z2dlcj86IEVuZ2luZURlYnVnZ2VyO1xuXG4gIC8qKlxuICAgKiBJbnN0YW5jZSBvZiB0aGUgcGVyZm9ybWFuY2UgcmVwb3J0ZXIgdG8gdXNlIGZvciBwZXJmb3JtYW5jZSBtZWFzdXJlbWVudHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHdpbmRvdy5wZXJmb3JtYW5jZSBvbiBicm93c2VyIG9ubHksIHVuZGVmaW5lZCBvbiBub2RlXG4gICAqL1xuICBwZXJmb3JtYW5jZT86IENyb3NzUGxhdGZvcm1QZXJmb3JtYW5jZTtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgcnVsZXMgZW5naW5lIGluc3RhbmNlXG4gICAqXG4gICAqIEBkZWZhdWx0IFJ1bGVzRW5naW5lXG4gICAqL1xuICBydWxlc0VuZ2luZUluc3RhbmNlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ2xpZW50IHRvIGxvZyB0aGUgd2FybmluZyBhbmQgZXJyb3IgbWVzc2FnZVxuICAgKi9cbiAgbG9nZ2VyPzogTG9nZ2VyO1xufVxuXG4vKiogUnVsZSBhcyBzdG9yZWQgaW4gdGhlIHJ1bGVzIGVuZ2luZSAqL1xuZXhwb3J0IGludGVyZmFjZSBFbmdpbmVSdWxlIGV4dGVuZHMgUnVsZSB7XG4gIC8qKiBzdHJlYW0gb2YgdGhlIHJ1bGUgY29uZGl0aW9ucyByZXN1bHQgKi9cbiAgcmVzdWx0JDogQmVoYXZpb3JTdWJqZWN0PEFjdGlvbkJsb2NrW10+O1xufVxuXG4vKiogUnVsZSBhcyBzdG9yZWQgaW4gdGhlIHJ1bGVzIGVuZ2luZSAqL1xuZXhwb3J0IGludGVyZmFjZSBFbmdpbmVSdWxlc2V0IHtcbiAgLyoqIE9wdGlvbmFsIGRhdGUgcmFuZ2Ugd2hlcmUgdGhlIHJ1bGVzZXQgd2lsbCBiZSBleGVjdXRlZCwgaXQgc3VwcG9ydHMgYSBkYXRlU3RyaW5nIG9yIGEgdGltZXN0YW1wIGFzIG51bWJlciwgbW9yZSBpbmZvIG9uIGphdmFzY3JpcHQgRGF0ZSgpIGRvY3VtZW50YXRpb24gKi9cbiAgdmFsaWRpdHlSYW5nZT86IHsgZnJvbT86IHN0cmluZyB8IG51bWJlcjsgdG8/OiBzdHJpbmcgfCBudW1iZXIgfTtcbiAgLyoqIENvbXBvbmVudCBsaW5rZWQgdG8gdGhlIHJ1bGVzZXQsIGlmIHNldCBpdCB3aWxsIGRpc2FibGUgdGhlIHJ1bGVzZXQgZXhlY3V0aW9uIHBlciBkZWZhdWx0LCB3YWl0aW5nIHRvIGEgc3Vic2NyaXB0aW9uICovXG4gIGxpbmtlZENvbXBvbmVudD86IHsgbGlicmFyeTogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfTtcbiAgLyoqIFVuaXF1ZSBpZCBvZiB0aGUgcnVsZXNldCovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBTdG9yZXMgdGhlIHJlc3VsdCBvZiBlYWNoIHJ1bGVzIGZyb20gdGhlIHJ1bGVzZXQgKi9cbiAgcnVsZXNSZXN1bHRzU3ViamVjdCQ6IE9ic2VydmFibGU8QWN0aW9uQmxvY2tbXT47XG59XG4vKiogVGltZXN0YW1wIG9mIGEgcnVsZXMgZW5naW5lIG91dHB1dCBldmVudCAqL1xuZXhwb3J0IGludGVyZmFjZSBUaW1lZEV2ZW50IHtcbiAgLyoqIFRpbWVzdGFtcCB2YWx1ZSB3aGVuIHRoZSBldmVudCBvY2N1cnMgKi9cbiAgdGltZXN0YW1wOiBudW1iZXI7XG4gIC8qKiBEdXJhdGlvbiBvZiB0aGUgZXhlY3V0aW9uICovXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xufVxuXG4vKiogRmFjdCBjaGFuZ2UgdHJpZ2dlcmluZyB0aGUgZXZhbHVhdGlvbiBvZiBhIHJ1bGUvZXhlY3V0aW9uIG9mIGEgcnVsZXNldCAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uUmVhc29uIHtcbiAgLyoqIE5hbWUgb2YgdGhlIGZhY3QgdGhhdCBjaGFuZ2VkICovXG4gIGZhY3ROYW1lOiBzdHJpbmc7XG4gIC8qKiBOZXcgdmFsdWUgb2YgdGhlIGZhY3QgKi9cbiAgbmV3VmFsdWU/OiBGYWN0cztcbiAgLyoqIE9sZCB2YWx1ZSBvZiB0aGUgZmFjdCAqL1xuICBvbGRWYWx1ZT86IEZhY3RzO1xufVxuXG4vKiogUmVzdWx0IG9iamVjdCByZXN1bHRlZCBhdCB0aGUgZW5kIG9mIGEgcnVsZSBldmFsdWF0aW9uICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVFdmFsdWF0aW9uIGV4dGVuZHMgVGltZWRFdmVudCB7XG4gIC8qKiBJZGVudGlmaWVyIG9mIHRoZSBldmFsdWF0aW9uIChydWxlc2V0IG5hbWUgKyBydWxlIG5hbWUpICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBFdmFsdWF0ZWQgcnVsZSBpZGVudGlmaWVyICovXG4gIHJ1bGU6IFBpY2s8UnVsZSwgJ2lkJyB8ICduYW1lJz47XG4gIC8qKiBBY3Rpb25zIG91dHB1dGVkIGJ5IHRoZSBydWxlIGV2YWx1YXRpb24gKi9cbiAgb3V0cHV0QWN0aW9uczogQWN0aW9uQmxvY2tbXSB8IHVuZGVmaW5lZDtcbiAgLyoqIE1hcCBjb250YWluaW5nIHRoZSBmYWN0cyBjaGFuZ2VzIHRyaWdnZXJpbmcgdGhlIHJ1bGUgZXZhbHVhdGlvbiAqL1xuICB0cmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+O1xuICAvKiogRXJyb3Igb2JqZWN0IGluIGNhc2Ugb2YgcnVsZSBldmFsdWF0aW9uIGZhaWx1cmUgKi9cbiAgZXJyb3I/OiBhbnk7XG4gIC8qKiBSdW50aW1lIGZhY3RzIHdpdGggdmFsdWVzIGF0IHRoZSBlbmQgb2YgcnVsZSBldmFsdWF0aW9uICAqL1xuICB0ZW1wb3JhcnlGYWN0cz86IFJlY29yZDxzdHJpbmcsIEZhY3RzPjtcbiAgLyoqIEZsYWcgdG8gbm90aWZ5IGlmIHRoZSBydWxlcyBldmFsdWF0aW9uIGNvbWVzIGZyb20gYW4gb2xkIHJ1bGVzZXQgZXhlY3V0aW9uICovXG4gIGNhY2hlZD86IGJvb2xlYW47XG59XG5cbi8qKiBXcmFwcGVkIHJ1bGUgZXZhbHVhdGlvbiBvdXRwdXQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZUV2YWx1YXRpb25PdXRwdXQge1xuICAvKiogQWN0aW9ucyBlbWl0dGVkIGF0IHRoZSBlbmQgb2YgcnVsZSBldmFsdWF0aW9uICovXG4gIGFjdGlvbnM6IEFjdGlvbkJsb2NrW10gfCB1bmRlZmluZWQ7XG4gIC8qKiBSdWxlIGV2YWx1YXRpb24gb3V0cHV0IG9iamVjdCAqL1xuICBldmFsdWF0aW9uPzogUnVsZUV2YWx1YXRpb247XG4gIC8qKiBFcnJvciBvYmplY3QgZW1pdHRlZCBhdCB0aGUgZW5kIG9mIHJ1bGUgZXZhbHVhdGlvbiwgaWYgYW55ICovXG4gIGVycm9yPzogYW55O1xufVxuXG4vKiogQmFzZSBvYmVqZWN0IHJlc3VsdGVkIGF0IHRoZSBlbmQgb2YgYSBydWxlc2V0IGV4ZWN1dGlvbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlUnVsZXNldEV4ZWN1dGlvbiB7XG4gIC8qKiBJZCBvZiB0aGUgcnVsZXNldCBleGVjdXRpb24gKi9cbiAgZXhlY3V0aW9uSWQ6IHN0cmluZztcbiAgLyoqIElkIG9mIHRoZSBydWxlc2V0IHdoaWNoIHdhcyBleGVjdXRlZCAqL1xuICBydWxlc2V0SWQ6IHN0cmluZztcbiAgLyoqIE5hbWUgb2YgdGhlIGV4ZWN1dGVkIHJ1bGVzZXQgKi9cbiAgcnVsZXNldE5hbWU6IHN0cmluZztcbiAgLyoqIENvdW50ZXIgb2YgZXhlY3V0aW9ucyBmb3IgdGhlIHJ1bGVzZXQgKi9cbiAgZXhlY3V0aW9uQ291bnRlcjogbnVtYmVyO1xuICAvKiogQWxsIGlucHV0IGZhY3RzIGFmZmVjdGluZyB0aGUgcnVsZXNldCAqL1xuICBpbnB1dEZhY3RzOiB7ZmFjdE5hbWU6IHN0cmluZzsgdmFsdWU6IEZhY3RzfVtdO1xuICAvKiogUnVudGltZSBmYWN0cyB1c2VkIGFjY3JvcyB0aGUgcnVsZXNldCAqL1xuICB0ZW1wb3JhcnlGYWN0cz86IFJlY29yZDxzdHJpbmcsIEZhY3RzPjtcbiAgLyoqIEZhY3RzIGNoYW5nZXMgdGhhdCB0cmlnZ2VyZWQgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgcnVsZXNldCAqL1xuICB0cmlnZ2VyczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRXZhbHVhdGlvblJlYXNvbj4+O1xuICAvKiogTGlzdCBvZiBldmFsdWF0ZWQgcnVsZXMgYWNjcm9zIHJ1bGVzZXQgZXhlY3V0aW9uICovXG4gIHJ1bGVzRXZhbHVhdGlvbnM6IFJ1bGVFdmFsdWF0aW9uW107XG59XG5cbi8qKiBEZWJ1ZyBldmVudCBlbWl0dGVkIGluIGNhc2Ugb2Ygc3VjY2Vzc2Z1bCBydWxlc2V0IGV4ZWN1dGlvbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlc2V0RXhlY3V0aW9uRXZlbnQgZXh0ZW5kcyBCYXNlUnVsZXNldEV4ZWN1dGlvbiwgVGltZWRFdmVudCB7XG4gIC8qKiBFdmVudCB0eXBlICovXG4gIHR5cGU6ICdSdWxlc2V0RXhlY3V0aW9uJztcbiAgLyoqIExpc3Qgb2YgdGhlIGFjdGlvbnMgZW1pdHRlZCBhdCB0aGUgZW5kIG9mIHJ1bGVzZXQgZXhlY3V0aW9uICovXG4gIG91dHB1dEFjdGlvbnM6IEFjdGlvbkJsb2NrW107XG59XG5cbi8qKiBEZWJ1ZyBldmVudCBlbWl0dGVkIGluIGNhc2Ugb2YgcnVsZXNldCBleGVjdXRpb24gZmFpbHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlc2V0RXhlY3V0aW9uRXJyb3JFdmVudCBleHRlbmRzIEJhc2VSdWxlc2V0RXhlY3V0aW9uLCBUaW1lZEV2ZW50IHtcbiAgLyoqIEV2ZW50IHR5cGUgKi9cbiAgdHlwZTogJ1J1bGVzZXRFeGVjdXRpb25FcnJvcic7XG4gIC8qKiBMaXN0IG9mIHJ1bGVzIGNhdXNpbmcgdGhlIGV4ZWN1dGlvbiBlcnJvciovXG4gIHJ1bGVzQ2F1c2luZ1RoZUVycm9yOiBQaWNrPFJ1bGUsICduYW1lJyB8ICdpZCc+W107XG4gIC8qKiBMaXN0IG9mIG91dHB1dHRlZCBlcnJvcnMgKi9cbiAgZXJyb3JzOiBhbnlbXTtcbn1cblxuLyoqIERlYnVnIGV2ZW50IGVtaXR0ZWQgd2hlbiBhY3RpdmUgcnVsZXNldHMgYXJlIGNoYW5naW5nICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2ZVJ1bGVzZXRzRXZlbnQgZXh0ZW5kcyBUaW1lZEV2ZW50IHtcbiAgLyoqIEV2ZW50IHR5cGUgKi9cbiAgdHlwZTogJ0FjdGl2ZVJ1bGVzZXRzJztcbiAgLyoqIExpc3Qgb2YgYWN0aXZlIHJ1bGVzZXRzICovXG4gIHJ1bGVzZXRzOiBQaWNrPFJ1bGVzZXQsICduYW1lJyB8ICdpZCc+W107XG59XG5cbi8qKiBEZWJ1ZyBldmVudCBlbWl0dGVkIGVhY2ggdGltZSB0aGUgUnVsZXMgRW5naW5lIG91dHB1dHMgYSBsaXN0IG9mIGFjdGlvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxsQWN0aW9uc0V2ZW50IGV4dGVuZHMgVGltZWRFdmVudCB7XG4gIC8qKiBldmVudCB0eXBlICovXG4gIHR5cGU6ICdBbGxBY3Rpb25zJztcbiAgLyoqIExpc3Qgb2YgZW1pdHRlZCBhY3Rpb25zICovXG4gIGFjdGlvbnM6IEFjdGlvbkJsb2NrW107XG59XG5cbi8qKiAgRGVidWcgZXZlbnQgZW1pdHRlZCB3aGVuIHJ1bGVzZXRzIGFyZSByZWdpc3RlcmVkIHRvIHRoZSBydWxlcyBlbmdpbmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXZhaWxhYmxlUnVsZXNldHMgZXh0ZW5kcyBUaW1lZEV2ZW50IHtcbiAgLyoqIEV2ZW50IHR5cGUgKi9cbiAgdHlwZTogJ0F2YWlsYWJsZVJ1bGVzZXRzJztcbiAgLyoqIFJlZ2lzdGVyZWQgcnVsZXNldHMgbGlzdCAqL1xuICBhdmFpbGFibGVSdWxlc2V0czogUGljazxSdWxlc2V0LCAnbmFtZScgfCAnaWQnPltdO1xufVxuXG4vKiogVHlwZSBvZiBwb3NzaWJsZSBkZWJ1ZyBldmVudHMgZW1pdGVkIGJ5IFJ1bGVzIEVuZ2luZSAqL1xuZXhwb3J0IHR5cGUgRGVidWdFdmVudCA9IFJ1bGVzZXRFeGVjdXRpb25FdmVudCB8IFJ1bGVzZXRFeGVjdXRpb25FcnJvckV2ZW50IHwgQWN0aXZlUnVsZXNldHNFdmVudCB8IEFsbEFjdGlvbnNFdmVudCB8IEF2YWlsYWJsZVJ1bGVzZXRzO1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbmdpbmUvZW5naW5lLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMb2dnZXIgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgdHlwZSB7IEVuZ2luZURlYnVnZ2VyIH0gZnJvbSAnLi9kZWJ1Zy9lbmdpbmUuZGVidWcnO1xuaW1wb3J0IHR5cGUgeyBGYWN0LCBGYWN0cyB9IGZyb20gJy4vZmFjdCc7XG5pbXBvcnQgdHlwZSB7IE9wZXJhdG9yIH0gZnJvbSAnLi9vcGVyYXRvcic7XG5pbXBvcnQgeyBBY3Rpb25CbG9jaywgUnVsZSwgUnVsZXNldCB9IGZyb20gJy4vc3RydWN0dXJlJztcblxuLyoqIFBlcmZvcm1hbmNlIG9iamVjdCBzdXBwb3J0aW5nIE5vZGVKcyBQZXJmb3JtYW5jZSBhbmQgV2ViIFBlcmZvcm1hbmNlIHJlcG9ydGluZyAgKi9cbmV4cG9ydCB0eXBlIENyb3NzUGxhdGZvcm1QZXJmb3JtYW5jZSA9IHtcbiAgLyoqIEBzZWUgUGVyZm9ybWFuY2UubWFyayAqL1xuICBtYXJrOiAoLi4ueDogUGFyYW1ldGVyczxQZXJmb3JtYW5jZVsnbWFyayddPikgPT4gUmV0dXJuVHlwZTxQZXJmb3JtYW5jZVsnbWFyayddPiB8IHZvaWQ7XG4gIC8qKiBAc2VlIFBlcmZvcm1hbmNlLm1lYXN1cmUgKi9cbiAgbWVhc3VyZTogKG1lYXN1cmVOYW1lOiBzdHJpbmcsIHN0YXJ0T3JNZWFzdXJlT3B0aW9ucz86IHN0cmluZywgZW5kTWFyaz86IHN0cmluZykgPT4gUmV0dXJuVHlwZTxQZXJmb3JtYW5jZVsnbWVhc3VyZSddPiB8IHZvaWQ7XG59O1xuXG4vKiogRmFjdCBzdHJlYW0gb2JqZWN0IHRvIGhhbmRsZSBmYWN0IHJlZmVyZW5jZSBjaGFuZ2UgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFjdE9iamVjdDxUPiB7XG4gIC8qKiBTdWJqZWN0IG9mIGZhY3Qgc3RyZWFtICovXG4gIHN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxPYnNlcnZhYmxlPFQ+IHwgdW5kZWZpbmVkPjtcbiAgLyoqIFN0cmVhbSBvZiB0aGUgZmFjdCB2YWx1ZSAqL1xuICB2YWx1ZSQ6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD47XG59XG5cbi8qKiBSdWxlIEVuZ2luZSBjb25zdHJ1Y3RvciBvcHRpb25zICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVzRW5naW5lT3B0aW9ucyB7XG4gIC8qKiBMaXN0IG9mIGZhY3RzICovXG4gIGZhY3RzPzogRmFjdDxGYWN0cz5bXTtcblxuICAvKiogTGlzdCBvZiBydWxlcyAqL1xuICBydWxlcz86IFJ1bGVzZXRbXTtcblxuICAvKiogTGlzdCBvZiBjdXN0b20gb3BlcmF0b3JzICovXG4gIG9wZXJhdG9ycz86IE9wZXJhdG9yPGFueSwgYW55PltdO1xuXG4gIC8qKiBEZWxheSBiZWZvcmUgZmFjdCBzdHJlYW0gZGVmYXVsdGluZyB2YWx1ZSAqL1xuICBmYWN0RGVmYXVsdERlbGF5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTa2lwIHRoZSBydWxlIGFuZCBmYWN0IGNpcmN1bGFyIGRlcGVuZGVuY3kgY2hlY2tzXG4gICAqIFR1cm4gdG8gdHJ1ZSB0byBpbmNyZWFzZSB0aGUgc3BlZWQgb2YgdGhlIHVwc2VydGlvbiBvZiBhIHJ1bGVcbiAgICovXG4gIHNraXBDaXJjdWxhckRlcGVuZGVuY3lDaGVja3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlIGRlYnVnZ2VyIGluc3RhbmNlIHRvIHRoZSBydWxlcyBlbmdpbmVcbiAgICovXG4gIGRlYnVnZ2VyPzogRW5naW5lRGVidWdnZXI7XG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIG9mIHRoZSBwZXJmb3JtYW5jZSByZXBvcnRlciB0byB1c2UgZm9yIHBlcmZvcm1hbmNlIG1lYXN1cmVtZW50cy5cbiAgICogQGRlZmF1bHQgd2luZG93LnBlcmZvcm1hbmNlIG9uIGJyb3dzZXIgb25seSwgdW5kZWZpbmVkIG9uIG5vZGVcbiAgICovXG4gIHBlcmZvcm1hbmNlPzogQ3Jvc3NQbGF0Zm9ybVBlcmZvcm1hbmNlO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBydWxlcyBlbmdpbmUgaW5zdGFuY2VcbiAgICogQGRlZmF1bHQgUnVsZXNFbmdpbmVcbiAgICovXG4gIHJ1bGVzRW5naW5lSW5zdGFuY2VOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDbGllbnQgdG8gbG9nIHRoZSB3YXJuaW5nIGFuZCBlcnJvciBtZXNzYWdlXG4gICAqL1xuICBsb2dnZXI/OiBMb2dnZXI7XG59XG5cbi8qKiBSdWxlIGFzIHN0b3JlZCBpbiB0aGUgcnVsZXMgZW5naW5lICovXG5leHBvcnQgaW50ZXJmYWNlIEVuZ2luZVJ1bGUgZXh0ZW5kcyBSdWxlIHtcbiAgLyoqIHN0cmVhbSBvZiB0aGUgcnVsZSBjb25kaXRpb25zIHJlc3VsdCAqL1xuICByZXN1bHQkOiBCZWhhdmlvclN1YmplY3Q8QWN0aW9uQmxvY2tbXT47XG59XG5cbi8qKiBSdWxlIGFzIHN0b3JlZCBpbiB0aGUgcnVsZXMgZW5naW5lICovXG5leHBvcnQgaW50ZXJmYWNlIEVuZ2luZVJ1bGVzZXQge1xuICAvKiogT3B0aW9uYWwgZGF0ZSByYW5nZSB3aGVyZSB0aGUgcnVsZXNldCB3aWxsIGJlIGV4ZWN1dGVkLCBpdCBzdXBwb3J0cyBhIGRhdGVTdHJpbmcgb3IgYSB0aW1lc3RhbXAgYXMgbnVtYmVyLCBtb3JlIGluZm8gb24gamF2YXNjcmlwdCBEYXRlKCkgZG9jdW1lbnRhdGlvbiAqL1xuICB2YWxpZGl0eVJhbmdlPzogeyBmcm9tPzogc3RyaW5nIHwgbnVtYmVyOyB0bz86IHN0cmluZyB8IG51bWJlciB9O1xuICAvKiogQ29tcG9uZW50IGxpbmtlZCB0byB0aGUgcnVsZXNldCwgaWYgc2V0IGl0IHdpbGwgZGlzYWJsZSB0aGUgcnVsZXNldCBleGVjdXRpb24gcGVyIGRlZmF1bHQsIHdhaXRpbmcgdG8gYSBzdWJzY3JpcHRpb24gKi9cbiAgbGlua2VkQ29tcG9uZW50PzogeyBsaWJyYXJ5OiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9O1xuICAvKiogVW5pcXVlIGlkIG9mIHRoZSBydWxlc2V0Ki9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIFN0b3JlcyB0aGUgcmVzdWx0IG9mIGVhY2ggcnVsZXMgZnJvbSB0aGUgcnVsZXNldCAqL1xuICBydWxlc1Jlc3VsdHNTdWJqZWN0JDogT2JzZXJ2YWJsZTxBY3Rpb25CbG9ja1tdPjtcbn1cbi8qKiBUaW1lc3RhbXAgb2YgYSBydWxlcyBlbmdpbmUgb3V0cHV0IGV2ZW50ICovXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVkRXZlbnQge1xuICAvKiogVGltZXN0YW1wIHZhbHVlIHdoZW4gdGhlIGV2ZW50IG9jY3VycyAqL1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgLyoqIER1cmF0aW9uIG9mIHRoZSBleGVjdXRpb24gKi9cbiAgZHVyYXRpb24/OiBudW1iZXI7XG59XG5cbi8qKiBGYWN0IGNoYW5nZSB0cmlnZ2VyaW5nIHRoZSBldmFsdWF0aW9uIG9mIGEgcnVsZS9leGVjdXRpb24gb2YgYSBydWxlc2V0ICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25SZWFzb24ge1xuICAvKiogTmFtZSBvZiB0aGUgZmFjdCB0aGF0IGNoYW5nZWQgKi9cbiAgZmFjdE5hbWU6IHN0cmluZztcbiAgLyoqIE5ldyB2YWx1ZSBvZiB0aGUgZmFjdCAqL1xuICBuZXdWYWx1ZT86IEZhY3RzO1xuICAvKiogT2xkIHZhbHVlIG9mIHRoZSBmYWN0ICovXG4gIG9sZFZhbHVlPzogRmFjdHM7XG59XG5cbi8qKiBSZXN1bHQgb2JqZWN0IHJlc3VsdGVkIGF0IHRoZSBlbmQgb2YgYSBydWxlIGV2YWx1YXRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZUV2YWx1YXRpb24gZXh0ZW5kcyBUaW1lZEV2ZW50IHtcbiAgLyoqIElkZW50aWZpZXIgb2YgdGhlIGV2YWx1YXRpb24gKHJ1bGVzZXQgbmFtZSArIHJ1bGUgbmFtZSkgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIEV2YWx1YXRlZCBydWxlIGlkZW50aWZpZXIgKi9cbiAgcnVsZTogUGljazxSdWxlLCAnaWQnIHwgJ25hbWUnPjtcbiAgLyoqIEFjdGlvbnMgb3V0cHV0ZWQgYnkgdGhlIHJ1bGUgZXZhbHVhdGlvbiAqL1xuICBvdXRwdXRBY3Rpb25zOiBBY3Rpb25CbG9ja1tdIHwgdW5kZWZpbmVkO1xuICAvKiogTWFwIGNvbnRhaW5pbmcgdGhlIGZhY3RzIGNoYW5nZXMgdHJpZ2dlcmluZyB0aGUgcnVsZSBldmFsdWF0aW9uICovXG4gIHRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj47XG4gIC8qKiBFcnJvciBvYmplY3QgaW4gY2FzZSBvZiBydWxlIGV2YWx1YXRpb24gZmFpbHVyZSAqL1xuICBlcnJvcj86IGFueTtcbiAgLyoqIFJ1bnRpbWUgZmFjdHMgd2l0aCB2YWx1ZXMgYXQgdGhlIGVuZCBvZiBydWxlIGV2YWx1YXRpb24gICovXG4gIHRlbXBvcmFyeUZhY3RzPzogUmVjb3JkPHN0cmluZywgRmFjdHM+O1xuICAvKiogRmxhZyB0byBub3RpZnkgaWYgdGhlIHJ1bGVzIGV2YWx1YXRpb24gY29tZXMgZnJvbSBhbiBvbGQgcnVsZXNldCBleGVjdXRpb24gKi9cbiAgY2FjaGVkPzogYm9vbGVhbjtcbn1cblxuLyoqIFdyYXBwZWQgcnVsZSBldmFsdWF0aW9uIG91dHB1dCAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlRXZhbHVhdGlvbk91dHB1dCB7XG4gIC8qKiBBY3Rpb25zIGVtaXR0ZWQgYXQgdGhlIGVuZCBvZiBydWxlIGV2YWx1YXRpb24gKi9cbiAgYWN0aW9uczogQWN0aW9uQmxvY2tbXSB8IHVuZGVmaW5lZDtcbiAgLyoqIFJ1bGUgZXZhbHVhdGlvbiBvdXRwdXQgb2JqZWN0ICovXG4gIGV2YWx1YXRpb24/OiBSdWxlRXZhbHVhdGlvbjtcbiAgLyoqIEVycm9yIG9iamVjdCBlbWl0dGVkIGF0IHRoZSBlbmQgb2YgcnVsZSBldmFsdWF0aW9uLCBpZiBhbnkgKi9cbiAgZXJyb3I/OiBhbnk7XG59XG5cbi8qKiBCYXNlIG9iZWplY3QgcmVzdWx0ZWQgYXQgdGhlIGVuZCBvZiBhIHJ1bGVzZXQgZXhlY3V0aW9uICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VSdWxlc2V0RXhlY3V0aW9uIHtcbiAgLyoqIElkIG9mIHRoZSBydWxlc2V0IGV4ZWN1dGlvbiAqL1xuICBleGVjdXRpb25JZDogc3RyaW5nO1xuICAvKiogSWQgb2YgdGhlIHJ1bGVzZXQgd2hpY2ggd2FzIGV4ZWN1dGVkICovXG4gIHJ1bGVzZXRJZDogc3RyaW5nO1xuICAvKiogTmFtZSBvZiB0aGUgZXhlY3V0ZWQgcnVsZXNldCAqL1xuICBydWxlc2V0TmFtZTogc3RyaW5nO1xuICAvKiogQ291bnRlciBvZiBleGVjdXRpb25zIGZvciB0aGUgcnVsZXNldCAqL1xuICBleGVjdXRpb25Db3VudGVyOiBudW1iZXI7XG4gIC8qKiBBbGwgaW5wdXQgZmFjdHMgYWZmZWN0aW5nIHRoZSBydWxlc2V0ICovXG4gIGlucHV0RmFjdHM6IHtmYWN0TmFtZTogc3RyaW5nOyB2YWx1ZTogRmFjdHN9W107XG4gIC8qKiBSdW50aW1lIGZhY3RzIHVzZWQgYWNjcm9zIHRoZSBydWxlc2V0ICovXG4gIHRlbXBvcmFyeUZhY3RzPzogUmVjb3JkPHN0cmluZywgRmFjdHM+O1xuICAvKiogRmFjdHMgY2hhbmdlcyB0aGF0IHRyaWdnZXJlZCB0aGUgZXhlY3V0aW9uIG9mIHRoZSBydWxlc2V0ICovXG4gIHRyaWdnZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBFdmFsdWF0aW9uUmVhc29uPj47XG4gIC8qKiBMaXN0IG9mIGV2YWx1YXRlZCBydWxlcyBhY2Nyb3MgcnVsZXNldCBleGVjdXRpb24gKi9cbiAgcnVsZXNFdmFsdWF0aW9uczogUnVsZUV2YWx1YXRpb25bXTtcbn1cblxuLyoqIERlYnVnIGV2ZW50IGVtaXR0ZWQgaW4gY2FzZSBvZiBzdWNjZXNzZnVsIHJ1bGVzZXQgZXhlY3V0aW9uICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVzZXRFeGVjdXRpb25FdmVudCBleHRlbmRzIEJhc2VSdWxlc2V0RXhlY3V0aW9uLCBUaW1lZEV2ZW50IHtcbiAgLyoqIEV2ZW50IHR5cGUgKi9cbiAgdHlwZTogJ1J1bGVzZXRFeGVjdXRpb24nO1xuICAvKiogTGlzdCBvZiB0aGUgYWN0aW9ucyBlbWl0dGVkIGF0IHRoZSBlbmQgb2YgcnVsZXNldCBleGVjdXRpb24gKi9cbiAgb3V0cHV0QWN0aW9uczogQWN0aW9uQmxvY2tbXTtcbn1cblxuLyoqIERlYnVnIGV2ZW50IGVtaXR0ZWQgaW4gY2FzZSBvZiBydWxlc2V0IGV4ZWN1dGlvbiBmYWlsdXJlICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVzZXRFeGVjdXRpb25FcnJvckV2ZW50IGV4dGVuZHMgQmFzZVJ1bGVzZXRFeGVjdXRpb24sIFRpbWVkRXZlbnQge1xuICAvKiogRXZlbnQgdHlwZSAqL1xuICB0eXBlOiAnUnVsZXNldEV4ZWN1dGlvbkVycm9yJztcbiAgLyoqIExpc3Qgb2YgcnVsZXMgY2F1c2luZyB0aGUgZXhlY3V0aW9uIGVycm9yKi9cbiAgcnVsZXNDYXVzaW5nVGhlRXJyb3I6IFBpY2s8UnVsZSwgJ25hbWUnIHwgJ2lkJz5bXTtcbiAgLyoqIExpc3Qgb2Ygb3V0cHV0dGVkIGVycm9ycyAqL1xuICBlcnJvcnM6IGFueVtdO1xufVxuXG4vKiogRGVidWcgZXZlbnQgZW1pdHRlZCB3aGVuIGFjdGl2ZSBydWxlc2V0cyBhcmUgY2hhbmdpbmcgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZlUnVsZXNldHNFdmVudCBleHRlbmRzIFRpbWVkRXZlbnQge1xuICAvKiogRXZlbnQgdHlwZSAqL1xuICB0eXBlOiAnQWN0aXZlUnVsZXNldHMnO1xuICAvKiogTGlzdCBvZiBhY3RpdmUgcnVsZXNldHMgKi9cbiAgcnVsZXNldHM6IFBpY2s8UnVsZXNldCwgJ25hbWUnIHwgJ2lkJz5bXTtcbn1cblxuLyoqIERlYnVnIGV2ZW50IGVtaXR0ZWQgZWFjaCB0aW1lIHRoZSBSdWxlcyBFbmdpbmUgb3V0cHV0cyBhIGxpc3Qgb2YgYWN0aW9ucyAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGxBY3Rpb25zRXZlbnQgZXh0ZW5kcyBUaW1lZEV2ZW50IHtcbiAgLyoqIGV2ZW50IHR5cGUgKi9cbiAgdHlwZTogJ0FsbEFjdGlvbnMnO1xuICAvKiogTGlzdCBvZiBlbWl0dGVkIGFjdGlvbnMgKi9cbiAgYWN0aW9uczogQWN0aW9uQmxvY2tbXTtcbn1cblxuLyoqICBEZWJ1ZyBldmVudCBlbWl0dGVkIHdoZW4gcnVsZXNldHMgYXJlIHJlZ2lzdGVyZWQgdG8gdGhlIHJ1bGVzIGVuZ2luZSAqL1xuZXhwb3J0IGludGVyZmFjZSBBdmFpbGFibGVSdWxlc2V0cyBleHRlbmRzIFRpbWVkRXZlbnQge1xuICAvKiogRXZlbnQgdHlwZSAqL1xuICB0eXBlOiAnQXZhaWxhYmxlUnVsZXNldHMnO1xuICAvKiogUmVnaXN0ZXJlZCBydWxlc2V0cyBsaXN0ICovXG4gIGF2YWlsYWJsZVJ1bGVzZXRzOiBQaWNrPFJ1bGVzZXQsICduYW1lJyB8ICdpZCc+W107XG59XG5cbi8qKiBUeXBlIG9mIHBvc3NpYmxlIGRlYnVnIGV2ZW50cyBlbWl0ZWQgYnkgUnVsZXMgRW5naW5lICovXG5leHBvcnQgdHlwZSBEZWJ1Z0V2ZW50ID0gUnVsZXNldEV4ZWN1dGlvbkV2ZW50IHwgUnVsZXNldEV4ZWN1dGlvbkVycm9yRXZlbnQgfCBBY3RpdmVSdWxlc2V0c0V2ZW50IHwgQWxsQWN0aW9uc0V2ZW50IHwgQXZhaWxhYmxlUnVsZXNldHM7XG4iXX0=