@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
@@ -13,7 +13,6 @@ export class RulesEngine {
13
13
  }
14
14
  /**
15
15
  * Rules engine
16
- *
17
16
  * @param options rules engine options
18
17
  * @param logger
19
18
  */
@@ -46,7 +45,6 @@ export class RulesEngine {
46
45
  }
47
46
  /**
48
47
  * Attach debug events to actions stream if debug engine is activated
49
- *
50
48
  * @param actionsStream
51
49
  */
52
50
  handleActionsStreamOutput() {
@@ -54,7 +52,6 @@ export class RulesEngine {
54
52
  }
55
53
  /**
56
54
  * Create the actions stream event based on provided active rulesets ids; Handle debug too
57
- *
58
55
  * @param ruleSets
59
56
  */
60
57
  prepareActionsStream(ruleSets) {
@@ -65,7 +62,6 @@ export class RulesEngine {
65
62
  /**
66
63
  * Create or retrieve a fact stream
67
64
  * The fact stream created will be registered in the engine
68
- *
69
65
  * @param id ID of the fact to retrieve
70
66
  * @param factValue$ Value stream for the fact
71
67
  */
@@ -92,7 +88,6 @@ export class RulesEngine {
92
88
  /**
93
89
  * Retrieve the promise of the latest value of a fact.
94
90
  * Return undefined if the fact is not defined.
95
- *
96
91
  * @param id ID of the fact to retrieve
97
92
  */
98
93
  retrieveFactValue(id) {
@@ -100,7 +95,6 @@ export class RulesEngine {
100
95
  }
101
96
  /**
102
97
  * Update or insert fact in rules engine
103
- *
104
98
  * @param facts fact list to add / update
105
99
  */
106
100
  upsertFacts(facts) {
@@ -108,7 +102,6 @@ export class RulesEngine {
108
102
  }
109
103
  /**
110
104
  * Update or insert rule in rules engine
111
- *
112
105
  * @param rules rule list to add / update
113
106
  * @param rulesets
114
107
  */
@@ -121,7 +114,6 @@ export class RulesEngine {
121
114
  }
122
115
  /**
123
116
  * Update or insert operator in rules engine
124
- *
125
117
  * @param operators operator list to add / update
126
118
  */
127
119
  upsertOperators(operators) {
@@ -142,4 +134,4 @@ export class RulesEngine {
142
134
  return Object.keys(this.factMap);
143
135
  }
144
136
  }
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VuZ2luZS9lbmdpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BGLE9BQU8sRUFBWSxZQUFZLEVBQWlCLE1BQU0sa0JBQWtCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXJELG1CQUFtQjtBQUNuQixNQUFNLE9BQU8sV0FBVztJQW9DdEI7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxZQUFZLE9BQTRCO1FBL0N4QyxrRkFBa0Y7UUFDMUUsWUFBTyxHQUFvQyxFQUFFLENBQUM7UUFFdEQsNERBQTREO1FBQzNDLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFrQyxFQUFFLENBQUMsQ0FBQztRQTRDNUYsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLEVBQUUsV0FBVyxJQUFJLENBQUMsT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sRUFBRSxRQUFRLENBQUM7UUFDckMsSUFBSSxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJ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Q3RDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzVELE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUMsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBQyxDQUFDLENBQ3RDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGVBQWUsQ0FBQyxTQUF1QztRQUM1RCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDbEQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDOUIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxjQUFjO1FBQ25CLE9BQU8sQ0FBQyxZQUE4QyxFQUFFLEVBQUUsQ0FDeEQsWUFBWSxDQUFDLElBQUksQ0FDZixTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFDNUYsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQsNkNBQTZDO0lBQ3RDLHVCQUF1QjtRQUM1QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlyc3RWYWx1ZUZyb20sIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXksIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVuZ2luZURlYnVnZ2VyIH0gZnJvbSAnLi9kZWJ1Zy9lbmdpbmUuZGVidWcnO1xuaW1wb3J0IHsgRmFjdE9iamVjdCwgRmFjdHMsIFJ1bGVzRW5naW5lT3B0aW9ucyB9IGZyb20gJy4vZW5naW5lLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGYWN0IH0gZnJvbSAnLi9mYWN0L2luZGV4JztcbmltcG9ydCB7IGZpbHRlclJ1bGVzZXRzRXZlbnRTdHJlYW0gfSBmcm9tICcuL2hlbHBlcnMvZmlsdGVyLXJ1bGVzZXQtZXZlbnQub3BlcmF0b3InO1xuaW1wb3J0IHsgT3BlcmF0b3IsIG9wZXJhdG9yTGlzdCwgVW5hcnlPcGVyYXRvciB9IGZyb20gJy4vb3BlcmF0b3IvaW5kZXgnO1xuaW1wb3J0IHsgUnVsZXNldEV4ZWN1dG9yIH0gZnJvbSAnLi9ydWxlc2V0LWV4ZWN1dG9yJztcbmltcG9ydCB7IEFjdGlvbkJsb2NrLCBSdWxlc2V0IH0gZnJvbSAnLi9zdHJ1Y3R1cmUnO1xuaW1wb3J0IHR5cGUgeyBMb2dnZXJ9IGZyb20gJ0BvM3IvbG9nZ2VyJztcblxuLyoqIFJ1bGVzIGVuZ2luZSAqL1xuZXhwb3J0IGNsYXNzIFJ1bGVzRW5naW5lIHtcblxuICAvKiogTWFwIG9mIHJlZ2lzdGVyZWQgZmFjdCBzdHJlYW0sIHRoaXMgbWFwIGlzIG11dGF0ZWQgYnkgdGhlIHJ1bGVzZXQgZXhlY3V0b3JzICovXG4gIHByaXZhdGUgZmFjdE1hcDogUmVjb3JkPHN0cmluZywgRmFjdE9iamVjdDxhbnk+PiA9IHt9O1xuXG4gIC8qKiBTdWJqZWN0IGNvbnRhaW5pbmcgdGhlIHJ1bGVzZXRzIGFuZCB0aGUgcmVzdWx0cyBzdHJlYW0qL1xuICBwcml2YXRlIHJlYWRvbmx5IHJ1bGVzZXRNYXBTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSZWNvcmQ8c3RyaW5nLCBSdWxlc2V0RXhlY3V0b3I+Pih7fSk7XG5cbiAgLyoqIE1hcCBvZiBhdmFpbGFibGUgb3BlcmF0b3JzICovXG4gIHB1YmxpYyBvcGVyYXRvcnM6IFJlY29yZDxzdHJpbmcsIE9wZXJhdG9yPHVua25vd24sIHVua25vd24+PjtcblxuICAvKiogTGlzdCBvZiBldmVudHMgZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBydWxlcyBlbmdpbmUgKi9cbiAgcHVibGljIHJlYWRvbmx5IGV2ZW50cyQ6IE9ic2VydmFibGU8QWN0aW9uQmxvY2tbXT47XG5cbiAgLyoqIERlbGF5IGJlZm9yZSBmYWN0IHN0cmVhbSBkZWZhdWx0aW5nIHZhbHVlICovXG4gIHB1YmxpYyBmYWN0RGVmYXVsdERlbGF5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbnN0YW5jZSBvZiBlbmdpbmUgZGVidWcgb2JqZWN0OyBVbmRlZmluZWQgaWYgZGVidWdNb2RlIGlzIG5vdCBhY3RpdmVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBlbmdpbmVEZWJ1Zz86IEVuZ2luZURlYnVnZ2VyO1xuXG4gIC8qKiBOYW1lIG9mIHRoZSBydWxlcyBlbmdpbmUgaW5zdGFuY2UgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJ1bGVzRW5naW5lSW5zdGFuY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1hbmNlIHJlcG9ydGVyIHRvIHVzZSBmb3IgcGVyZm9ybWFuY2UgbWVhc3VyZW1lbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB3aW5kb3cucGVyZm9ybWFuY2Ugb24gYnJvd3NlciBvbmx5LCB1bmRlZmluZWQgb24gbm9kZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBlcmZvcm1hbmNlO1xuXG4gIC8qKlxuICAgKiBMb2cgdGhlIGVuZ2luZSBlcnJvcnNcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsb2dnZXI/OiBMb2dnZXI7XG4gIC8qKlxuICAgKiBGbGFnIHRvIGNoZWNrIGlmIHRoZSBydW4gaXMgaW4gZGVidWcgbW9kZSBvciBub3RcbiAgICovXG4gIHB1YmxpYyBnZXQgZGVidWdNb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZW5naW5lRGVidWc7XG4gIH1cblxuICAvKipcbiAgICogUnVsZXMgZW5naW5lXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIHJ1bGVzIGVuZ2luZSBvcHRpb25zXG4gICAqIEBwYXJhbSBsb2dnZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBSdWxlc0VuZ2luZU9wdGlvbnMpIHtcbiAgICB0aGlzLnBlcmZvcm1hbmNlID0gb3B0aW9ucz8ucGVyZm9ybWFuY2UgfHwgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LnBlcmZvcm1hbmNlIDogdW5kZWZpbmVkKTtcbiAgICB0aGlzLmVuZ2luZURlYnVnID0gb3B0aW9ucz8uZGVidWdnZXI7XG4gICAgdGhpcy5lbmdpbmVEZWJ1Zz8ucmVnaXN0ZXJSdWxlRW5naW5lKHRoaXMpO1xuICAgIHRoaXMubG9nZ2VyID0gb3B0aW9ucz8ubG9nZ2VyO1xuICAgIHRoaXMucnVsZXNFbmdpbmVJbnN0YW5jZU5hbWUgPSBvcHRpb25zPy5ydWxlc0VuZ2luZUluc3RhbmNlTmFtZSB8fCAnUnVsZXNFbmdpbmUnO1xuICAgIHRoaXMuZmFjdERlZmF1bHREZWxheSA9IG9wdGlvbnM/LmZhY3REZWZhdWx0RGVsYXk7XG4gICAgLy8gTG9hZCBkZWZhdWx0IG9wZXJhdG9yc1xuICAgIHRoaXMub3BlcmF0b3JzID0gb3BlcmF0b3JMaXN0LnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBPcGVyYXRvcjxhbnksIGFueT4+PigoYWNjLCBvcGVyYXRvcikgPT4ge1xuICAgICAgYWNjW29wZXJhdG9yLm5hbWVdID0gb3BlcmF0b3I7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgICB0aGlzLmV2ZW50cyQgPSB0aGlzLnJ1bGVzZXRNYXBTdWJqZWN0LnBpcGUoXG4gICAgICB0aGlzLnByZXBhcmVBY3Rpb25zU3RyZWFtKCksXG4gICAgICB0aGlzLmhhbmRsZUFjdGlvbnNTdHJlYW1PdXRwdXQoKVxuICAgICk7XG4gICAgaWYgKG9wdGlvbnM/LmZhY3RzKSB7XG4gICAgICB0aGlzLnVwc2VydEZhY3RzKG9wdGlvbnMuZmFjdHMpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucz8ucnVsZXMpIHtcbiAgICAgIHRoaXMudXBzZXJ0UnVsZXNldHMob3B0aW9ucy5ydWxlcyk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zPy5vcGVyYXRvcnMpIHtcbiAgICAgIHRoaXMudXBzZXJ0T3BlcmF0b3JzKG9wdGlvbnMub3BlcmF0b3JzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoIGRlYnVnIGV2ZW50cyB0byBhY3Rpb25zIHN0cmVhbSBpZiBkZWJ1ZyBlbmdpbmUgaXMgYWN0aXZhdGVkXG4gICAqXG4gICAqIEBwYXJhbSBhY3Rpb25zU3RyZWFtXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZUFjdGlvbnNTdHJlYW1PdXRwdXQ8VCBleHRlbmRzIEFjdGlvbkJsb2NrID0gQWN0aW9uQmxvY2s+KCk6IChhY3Rpb25zU3RyZWFtJDogT2JzZXJ2YWJsZTxUW10+KSA9PiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiAoYWN0aW9uc1N0cmVhbSQ6IE9ic2VydmFibGU8VFtdPikgPT4gdGhpcy5lbmdpbmVEZWJ1ZyA/IGFjdGlvbnNTdHJlYW0kLnBpcGUodGFwKChhbGxBY3Rpb25zKSA9PiB0aGlzLmVuZ2luZURlYnVnIS5hbGxBY3Rpb25zQ2hhbmdlKGFsbEFjdGlvbnMpKSkgOiBhY3Rpb25zU3RyZWFtJDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIGFjdGlvbnMgc3RyZWFtIGV2ZW50IGJhc2VkIG9uIHByb3ZpZGVkIGFjdGl2ZSBydWxlc2V0cyBpZHM7IEhhbmRsZSBkZWJ1ZyB0b29cbiAgICpcbiAgICogQHBhcmFtIHJ1bGVTZXRzXG4gICAqL1xuICBwcml2YXRlIHByZXBhcmVBY3Rpb25zU3RyZWFtPFQgZXh0ZW5kcyBBY3Rpb25CbG9jayA9IEFjdGlvbkJsb2NrPihydWxlU2V0cz86IHN0cmluZ1tdKTogKHJ1bGVzZXRNYXBTdWJqZWN0JDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBSdWxlc2V0RXhlY3V0b3I+PikgPT4gT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gKHJ1bGVzZXRNYXBTdWJqZWN0JDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBSdWxlc2V0RXhlY3V0b3I+PikgPT4gKHRoaXMuZW5naW5lRGVidWcgP1xuICAgICAgcnVsZXNldE1hcFN1YmplY3QkLnBpcGUoXG4gICAgICAgIHRhcCgocnVsZVNldEV4ZWN1dG9yTWFwKSA9PiB0aGlzLmVuZ2luZURlYnVnIS5hY3RpdmVSdWxlc2V0c0NoYW5nZShydWxlU2V0RXhlY3V0b3JNYXAsIHJ1bGVTZXRzKSksXG4gICAgICAgIGZpbHRlclJ1bGVzZXRzRXZlbnRTdHJlYW0ocnVsZVNldHMpKVxuICAgICAgOiBydWxlc2V0TWFwU3ViamVjdCQucGlwZShmaWx0ZXJSdWxlc2V0c0V2ZW50U3RyZWFtKHJ1bGVTZXRzKSkpIGFzIE9ic2VydmFibGU8VFtdPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgb3IgcmV0cmlldmUgYSBmYWN0IHN0cmVhbVxuICAgKiBUaGUgZmFjdCBzdHJlYW0gY3JlYXRlZCB3aWxsIGJlIHJlZ2lzdGVyZWQgaW4gdGhlIGVuZ2luZVxuICAgKlxuICAgKiBAcGFyYW0gaWQgSUQgb2YgdGhlIGZhY3QgdG8gcmV0cmlldmVcbiAgICogQHBhcmFtIGZhY3RWYWx1ZSQgVmFsdWUgc3RyZWFtIGZvciB0aGUgZmFjdFxuICAgKi9cbiAgcHVibGljIHJldHJpZXZlT3JDcmVhdGVGYWN0U3RyZWFtPFQgPSBGYWN0cz4oaWQ6IHN0cmluZywgZmFjdFZhbHVlJD86IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICAvLyB0cmljayB0byBlbWl0IHVuZGVmaW5lZCBpZiB0aGUgb2JzZXJ2YWJsZSBpcyBub3QgaW1tZWRpYXRlbHkgZW1pdHRpbmcgKHRvIG5vdCBibG9jIGV4ZWN1dGlvbilcbiAgICBjb25zdCBvYnMkID0gZmFjdFZhbHVlJCA/XG4gICAgICBtZXJnZShmYWN0VmFsdWUkLCBvZih1bmRlZmluZWQpLnBpcGUoZGVsYXkodGhpcy5mYWN0RGVmYXVsdERlbGF5IHx8IDApLCB0YWtlVW50aWwoZmFjdFZhbHVlJCkpKSA6XG4gICAgICBmYWN0VmFsdWUkO1xuICAgIGNvbnN0IGZhY3RPYmogPSB0aGlzLmZhY3RNYXBbaWRdO1xuICAgIGlmIChmYWN0T2JqKSB7XG4gICAgICBpZiAoZmFjdFZhbHVlJCkge1xuICAgICAgICBmYWN0T2JqLnN1YmplY3QubmV4dChvYnMkKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWN0T2JqLnZhbHVlJDtcbiAgICB9XG5cbiAgICBjb25zdCBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+IHwgdW5kZWZpbmVkPihvYnMkKTtcbiAgICBjb25zdCB2YWx1ZSQgPSBzdWJqZWN0LnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PiB2YWx1ZSB8fCBvZih1bmRlZmluZWQpKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG5cbiAgICB0aGlzLmZhY3RNYXBbaWRdID0ge1xuICAgICAgc3ViamVjdCxcbiAgICAgIHZhbHVlJFxuICAgIH07XG5cbiAgICByZXR1cm4gdmFsdWUkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSBwcm9taXNlIG9mIHRoZSBsYXRlc3QgdmFsdWUgb2YgYSBmYWN0LlxuICAgKiBSZXR1cm4gdW5kZWZpbmVkIGlmIHRoZSBmYWN0IGlzIG5vdCBkZWZpbmVkLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgSUQgb2YgdGhlIGZhY3QgdG8gcmV0cmlldmVcbiAgICovXG4gIHB1YmxpYyByZXRyaWV2ZUZhY3RWYWx1ZTxUID0gdW5rbm93bj4oaWQ6IHN0cmluZyk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZhY3RNYXBbaWRdLnZhbHVlJCAmJiBmaXJzdFZhbHVlRnJvbSh0aGlzLnJldHJpZXZlT3JDcmVhdGVGYWN0U3RyZWFtPFQ+KGlkKSwgeyBkZWZhdWx0VmFsdWU6IHVuZGVmaW5lZCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgb3IgaW5zZXJ0IGZhY3QgaW4gcnVsZXMgZW5naW5lXG4gICAqXG4gICAqIEBwYXJhbSBmYWN0cyBmYWN0IGxpc3QgdG8gYWRkIC8gdXBkYXRlXG4gICAqL1xuICBwdWJsaWMgdXBzZXJ0RmFjdHM8VCA9IHVua25vd24+KGZhY3RzOiBGYWN0PFQ+IHwgRmFjdDxUPltdKSB7XG4gICAgKEFycmF5LmlzQXJyYXkoZmFjdHMpID8gZmFjdHMgOiBbZmFjdHNdKS5mb3JFYWNoKCh7aWQsIHZhbHVlJH0pID0+XG4gICAgICB0aGlzLnJldHJpZXZlT3JDcmVhdGVGYWN0U3RyZWFtKGlkLCB2YWx1ZSQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgb3IgaW5zZXJ0IHJ1bGUgaW4gcnVsZXMgZW5naW5lXG4gICAqXG4gICAqIEBwYXJhbSBydWxlcyBydWxlIGxpc3QgdG8gYWRkIC8gdXBkYXRlXG4gICAqIEBwYXJhbSBydWxlc2V0c1xuICAgKi9cbiAgcHVibGljIHVwc2VydFJ1bGVzZXRzKHJ1bGVzZXRzOiBSdWxlc2V0W10pIHtcbiAgICB0aGlzLmVuZ2luZURlYnVnPy5hZGRBdmFpbGFibGVSdWxlc2V0cyhydWxlc2V0cyk7XG5cbiAgICB0aGlzLnJ1bGVzZXRNYXBTdWJqZWN0Lm5leHQoXG4gICAgICBydWxlc2V0cy5yZWR1Y2UoKGFjY1J1bGVzZXQsIHJ1bGVzZXQpID0+IHtcbiAgICAgICAgYWNjUnVsZXNldFtydWxlc2V0LmlkXSA9IG5ldyBSdWxlc2V0RXhlY3V0b3IocnVsZXNldCwgdGhpcyk7XG4gICAgICAgIHJldHVybiBhY2NSdWxlc2V0O1xuICAgICAgfSwgey4uLnRoaXMucnVsZXNldE1hcFN1YmplY3QudmFsdWV9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIG9yIGluc2VydCBvcGVyYXRvciBpbiBydWxlcyBlbmdpbmVcbiAgICpcbiAgICogQHBhcmFtIG9wZXJhdG9ycyBvcGVyYXRvciBsaXN0IHRvIGFkZCAvIHVwZGF0ZVxuICAgKi9cbiAgcHVibGljIHVwc2VydE9wZXJhdG9ycyhvcGVyYXRvcnM6IChPcGVyYXRvciB8IFVuYXJ5T3BlcmF0b3IpW10pIHtcbiAgICB0aGlzLm9wZXJhdG9ycyA9IG9wZXJhdG9ycy5yZWR1Y2UoKGFjYywgb3BlcmF0b3IpID0+IHtcbiAgICAgIGFjY1tvcGVyYXRvci5uYW1lXSA9IG9wZXJhdG9yO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7Li4udGhpcy5vcGVyYXRvcnN9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVyYXRvciB0byBhcHBseSBvbiBhIHN0cmVhbSBvZiBydWxlc2V0cyBpZHNcbiAgICogUmV0dXJucyBhIHN0cmVhbSBvZiBhY3Rpb25zIG91dHB1dHRlZCBieSB0aGUgcnVsZXMgZW5naW5lLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBydWxlc2V0c0lkc1xuICAgKi9cbiAgcHVibGljIGdldEV2ZW50U3RyZWFtPFQgZXh0ZW5kcyBBY3Rpb25CbG9jayA9IEFjdGlvbkJsb2NrPigpOiAocnVsZXNldHNJZHMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdIHwgdW5kZWZpbmVkPikgPT4gT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gKHJ1bGVzZXRzSWRzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXSB8IHVuZGVmaW5lZD4pID0+XG4gICAgICBydWxlc2V0c0lkcyQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChydWxlU2V0cykgPT4gdGhpcy5ydWxlc2V0TWFwU3ViamVjdC5waXBlKHRoaXMucHJlcGFyZUFjdGlvbnNTdHJlYW08VD4ocnVsZVNldHMpKSksXG4gICAgICAgIHRoaXMuaGFuZGxlQWN0aW9uc1N0cmVhbU91dHB1dCgpXG4gICAgICApO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgbGlzdCBvZiByZWdpc3RlcmVkIGZhY3RzIG5hbWVzICovXG4gIHB1YmxpYyBnZXRSZWdpc3RlcmVkRmFjdHNOYW1lcygpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5mYWN0TWFwKTtcbiAgfVxuXG59XG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VuZ2luZS9lbmdpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BGLE9BQU8sRUFBWSxZQUFZLEVBQWlCLE1BQU0sa0JBQWtCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3JELG1CQUFtQjtBQUNuQixNQUFNLE9BQU8sV0FBVztJQW1DdEI7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFlBQVksT0FBNEI7UUE3Q3hDLGtGQUFrRjtRQUNqRSxZQUFPLEdBQW9DLEVBQUUsQ0FBQztRQUUvRCw0REFBNEQ7UUFDM0Msc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQWtDLEVBQUUsQ0FBQyxDQUFDO1FBMEM1RixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sRUFBRSxXQUFXLElBQUksQ0FBQyxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVHLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxFQUFFLFFBQVEsQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQUks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VSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUQsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQyxFQUFFLEVBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FDdEMsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLENBQUMsU0FBdUM7UUFDNUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ2xELEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDO1lBQzlCLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksY0FBYztRQUNuQixPQUFPLENBQUMsWUFBOEMsRUFBRSxFQUFFLENBQ3hELFlBQVksQ0FBQyxJQUFJLENBQ2YsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQzVGLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELDZDQUE2QztJQUN0Qyx1QkFBdUI7UUFDNUIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExvZ2dlciB9IGZyb20gJ0BvM3IvbG9nZ2VyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlyc3RWYWx1ZUZyb20sIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXksIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVuZ2luZURlYnVnZ2VyIH0gZnJvbSAnLi9kZWJ1Zy9lbmdpbmUuZGVidWcnO1xuaW1wb3J0IHsgRmFjdE9iamVjdCwgUnVsZXNFbmdpbmVPcHRpb25zIH0gZnJvbSAnLi9lbmdpbmUuaW50ZXJmYWNlJztcbmltcG9ydCB0eXBlIHsgRmFjdCwgRmFjdHMgfSBmcm9tICcuL2ZhY3QvaW5kZXgnO1xuaW1wb3J0IHsgZmlsdGVyUnVsZXNldHNFdmVudFN0cmVhbSB9IGZyb20gJy4vaGVscGVycy9maWx0ZXItcnVsZXNldC1ldmVudC5vcGVyYXRvcic7XG5pbXBvcnQgeyBPcGVyYXRvciwgb3BlcmF0b3JMaXN0LCBVbmFyeU9wZXJhdG9yIH0gZnJvbSAnLi9vcGVyYXRvci9pbmRleCc7XG5pbXBvcnQgeyBSdWxlc2V0RXhlY3V0b3IgfSBmcm9tICcuL3J1bGVzZXQtZXhlY3V0b3InO1xuaW1wb3J0IHsgQWN0aW9uQmxvY2ssIFJ1bGVzZXQgfSBmcm9tICcuL3N0cnVjdHVyZSc7XG5cbi8qKiBSdWxlcyBlbmdpbmUgKi9cbmV4cG9ydCBjbGFzcyBSdWxlc0VuZ2luZSB7XG5cbiAgLyoqIE1hcCBvZiByZWdpc3RlcmVkIGZhY3Qgc3RyZWFtLCB0aGlzIG1hcCBpcyBtdXRhdGVkIGJ5IHRoZSBydWxlc2V0IGV4ZWN1dG9ycyAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGZhY3RNYXA6IFJlY29yZDxzdHJpbmcsIEZhY3RPYmplY3Q8YW55Pj4gPSB7fTtcblxuICAvKiogU3ViamVjdCBjb250YWluaW5nIHRoZSBydWxlc2V0cyBhbmQgdGhlIHJlc3VsdHMgc3RyZWFtKi9cbiAgcHJpdmF0ZSByZWFkb25seSBydWxlc2V0TWFwU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmVjb3JkPHN0cmluZywgUnVsZXNldEV4ZWN1dG9yPj4oe30pO1xuXG4gIC8qKiBNYXAgb2YgYXZhaWxhYmxlIG9wZXJhdG9ycyAqL1xuICBwdWJsaWMgb3BlcmF0b3JzOiBSZWNvcmQ8c3RyaW5nLCBPcGVyYXRvcjx1bmtub3duLCB1bmtub3duPj47XG5cbiAgLyoqIExpc3Qgb2YgZXZlbnRzIGZvciB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcnVsZXMgZW5naW5lICovXG4gIHB1YmxpYyByZWFkb25seSBldmVudHMkOiBPYnNlcnZhYmxlPEFjdGlvbkJsb2NrW10+O1xuXG4gIC8qKiBEZWxheSBiZWZvcmUgZmFjdCBzdHJlYW0gZGVmYXVsdGluZyB2YWx1ZSAqL1xuICBwdWJsaWMgZmFjdERlZmF1bHREZWxheT86IG51bWJlcjtcblxuICAvKipcbiAgICogSW5zdGFuY2Ugb2YgZW5naW5lIGRlYnVnIG9iamVjdDsgVW5kZWZpbmVkIGlmIGRlYnVnTW9kZSBpcyBub3QgYWN0aXZlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZW5naW5lRGVidWc/OiBFbmdpbmVEZWJ1Z2dlcjtcblxuICAvKiogTmFtZSBvZiB0aGUgcnVsZXMgZW5naW5lIGluc3RhbmNlICovXG4gIHB1YmxpYyByZWFkb25seSBydWxlc0VuZ2luZUluc3RhbmNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQZXJmb3JtYW5jZSByZXBvcnRlciB0byB1c2UgZm9yIHBlcmZvcm1hbmNlIG1lYXN1cmVtZW50cy5cbiAgICogQGRlZmF1bHQgd2luZG93LnBlcmZvcm1hbmNlIG9uIGJyb3dzZXIgb25seSwgdW5kZWZpbmVkIG9uIG5vZGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwZXJmb3JtYW5jZTtcblxuICAvKipcbiAgICogTG9nIHRoZSBlbmdpbmUgZXJyb3JzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbG9nZ2VyPzogTG9nZ2VyO1xuICAvKipcbiAgICogRmxhZyB0byBjaGVjayBpZiB0aGUgcnVuIGlzIGluIGRlYnVnIG1vZGUgb3Igbm90XG4gICAqL1xuICBwdWJsaWMgZ2V0IGRlYnVnTW9kZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmVuZ2luZURlYnVnO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bGVzIGVuZ2luZVxuICAgKiBAcGFyYW0gb3B0aW9ucyBydWxlcyBlbmdpbmUgb3B0aW9uc1xuICAgKiBAcGFyYW0gbG9nZ2VyXG4gICAqL1xuICBjb25zdHJ1Y3RvcihvcHRpb25zPzogUnVsZXNFbmdpbmVPcHRpb25zKSB7XG4gICAgdGhpcy5wZXJmb3JtYW5jZSA9IG9wdGlvbnM/LnBlcmZvcm1hbmNlIHx8ICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdy5wZXJmb3JtYW5jZSA6IHVuZGVmaW5lZCk7XG4gICAgdGhpcy5lbmdpbmVEZWJ1ZyA9IG9wdGlvbnM/LmRlYnVnZ2VyO1xuICAgIHRoaXMuZW5naW5lRGVidWc/LnJlZ2lzdGVyUnVsZUVuZ2luZSh0aGlzKTtcbiAgICB0aGlzLmxvZ2dlciA9IG9wdGlvbnM/LmxvZ2dlcjtcbiAgICB0aGlzLnJ1bGVzRW5naW5lSW5zdGFuY2VOYW1lID0gb3B0aW9ucz8ucnVsZXNFbmdpbmVJbnN0YW5jZU5hbWUgfHwgJ1J1bGVzRW5naW5lJztcbiAgICB0aGlzLmZhY3REZWZhdWx0RGVsYXkgPSBvcHRpb25zPy5mYWN0RGVmYXVsdERlbGF5O1xuICAgIC8vIExvYWQgZGVmYXVsdCBvcGVyYXRvcnNcbiAgICB0aGlzLm9wZXJhdG9ycyA9IG9wZXJhdG9yTGlzdC5yZWR1Y2U8UmVjb3JkPHN0cmluZywgT3BlcmF0b3I8YW55LCBhbnk+Pj4oKGFjYywgb3BlcmF0b3IpID0+IHtcbiAgICAgIGFjY1tvcGVyYXRvci5uYW1lXSA9IG9wZXJhdG9yO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSk7XG4gICAgdGhpcy5ldmVudHMkID0gdGhpcy5ydWxlc2V0TWFwU3ViamVjdC5waXBlKFxuICAgICAgdGhpcy5wcmVwYXJlQWN0aW9uc1N0cmVhbSgpLFxuICAgICAgdGhpcy5oYW5kbGVBY3Rpb25zU3RyZWFtT3V0cHV0KClcbiAgICApO1xuICAgIGlmIChvcHRpb25zPy5mYWN0cykge1xuICAgICAgdGhpcy51cHNlcnRGYWN0cyhvcHRpb25zLmZhY3RzKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/LnJ1bGVzKSB7XG4gICAgICB0aGlzLnVwc2VydFJ1bGVzZXRzKG9wdGlvbnMucnVsZXMpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucz8ub3BlcmF0b3JzKSB7XG4gICAgICB0aGlzLnVwc2VydE9wZXJhdG9ycyhvcHRpb25zLm9wZXJhdG9ycyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCBkZWJ1ZyBldmVudHMgdG8gYWN0aW9ucyBzdHJlYW0gaWYgZGVidWcgZW5naW5lIGlzIGFjdGl2YXRlZFxuICAgKiBAcGFyYW0gYWN0aW9uc1N0cmVhbVxuICAgKi9cbiAgcHJpdmF0ZSBoYW5kbGVBY3Rpb25zU3RyZWFtT3V0cHV0PFQgZXh0ZW5kcyBBY3Rpb25CbG9jayA9IEFjdGlvbkJsb2NrPigpOiAoYWN0aW9uc1N0cmVhbSQ6IE9ic2VydmFibGU8VFtdPikgPT4gT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gKGFjdGlvbnNTdHJlYW0kOiBPYnNlcnZhYmxlPFRbXT4pID0+IHRoaXMuZW5naW5lRGVidWcgPyBhY3Rpb25zU3RyZWFtJC5waXBlKHRhcCgoYWxsQWN0aW9ucykgPT4gdGhpcy5lbmdpbmVEZWJ1ZyEuYWxsQWN0aW9uc0NoYW5nZShhbGxBY3Rpb25zKSkpIDogYWN0aW9uc1N0cmVhbSQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBhY3Rpb25zIHN0cmVhbSBldmVudCBiYXNlZCBvbiBwcm92aWRlZCBhY3RpdmUgcnVsZXNldHMgaWRzOyBIYW5kbGUgZGVidWcgdG9vXG4gICAqIEBwYXJhbSBydWxlU2V0c1xuICAgKi9cbiAgcHJpdmF0ZSBwcmVwYXJlQWN0aW9uc1N0cmVhbTxUIGV4dGVuZHMgQWN0aW9uQmxvY2sgPSBBY3Rpb25CbG9jaz4ocnVsZVNldHM/OiBzdHJpbmdbXSk6IChydWxlc2V0TWFwU3ViamVjdCQ6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgUnVsZXNldEV4ZWN1dG9yPj4pID0+IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIChydWxlc2V0TWFwU3ViamVjdCQ6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgUnVsZXNldEV4ZWN1dG9yPj4pID0+ICh0aGlzLmVuZ2luZURlYnVnID9cbiAgICAgIHJ1bGVzZXRNYXBTdWJqZWN0JC5waXBlKFxuICAgICAgICB0YXAoKHJ1bGVTZXRFeGVjdXRvck1hcCkgPT4gdGhpcy5lbmdpbmVEZWJ1ZyEuYWN0aXZlUnVsZXNldHNDaGFuZ2UocnVsZVNldEV4ZWN1dG9yTWFwLCBydWxlU2V0cykpLFxuICAgICAgICBmaWx0ZXJSdWxlc2V0c0V2ZW50U3RyZWFtKHJ1bGVTZXRzKSlcbiAgICAgIDogcnVsZXNldE1hcFN1YmplY3QkLnBpcGUoZmlsdGVyUnVsZXNldHNFdmVudFN0cmVhbShydWxlU2V0cykpKSBhcyBPYnNlcnZhYmxlPFRbXT47XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIG9yIHJldHJpZXZlIGEgZmFjdCBzdHJlYW1cbiAgICogVGhlIGZhY3Qgc3RyZWFtIGNyZWF0ZWQgd2lsbCBiZSByZWdpc3RlcmVkIGluIHRoZSBlbmdpbmVcbiAgICogQHBhcmFtIGlkIElEIG9mIHRoZSBmYWN0IHRvIHJldHJpZXZlXG4gICAqIEBwYXJhbSBmYWN0VmFsdWUkIFZhbHVlIHN0cmVhbSBmb3IgdGhlIGZhY3RcbiAgICovXG4gIHB1YmxpYyByZXRyaWV2ZU9yQ3JlYXRlRmFjdFN0cmVhbTxUID0gRmFjdHM+KGlkOiBzdHJpbmcsIGZhY3RWYWx1ZSQ/OiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB7XG4gICAgLy8gdHJpY2sgdG8gZW1pdCB1bmRlZmluZWQgaWYgdGhlIG9ic2VydmFibGUgaXMgbm90IGltbWVkaWF0ZWx5IGVtaXR0aW5nICh0byBub3QgYmxvYyBleGVjdXRpb24pXG4gICAgY29uc3Qgb2JzJCA9IGZhY3RWYWx1ZSQgP1xuICAgICAgbWVyZ2UoZmFjdFZhbHVlJCwgb2YodW5kZWZpbmVkKS5waXBlKGRlbGF5KHRoaXMuZmFjdERlZmF1bHREZWxheSB8fCAwKSwgdGFrZVVudGlsKGZhY3RWYWx1ZSQpKSkgOlxuICAgICAgZmFjdFZhbHVlJDtcbiAgICBjb25zdCBmYWN0T2JqID0gdGhpcy5mYWN0TWFwW2lkXTtcbiAgICBpZiAoZmFjdE9iaikge1xuICAgICAgaWYgKGZhY3RWYWx1ZSQpIHtcbiAgICAgICAgZmFjdE9iai5zdWJqZWN0Lm5leHQob2JzJCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFjdE9iai52YWx1ZSQ7XG4gICAgfVxuXG4gICAgY29uc3Qgc3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB8IHVuZGVmaW5lZD4ob2JzJCk7XG4gICAgY29uc3QgdmFsdWUkID0gc3ViamVjdC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT4gdmFsdWUgfHwgb2YodW5kZWZpbmVkKSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuXG4gICAgdGhpcy5mYWN0TWFwW2lkXSA9IHtcbiAgICAgIHN1YmplY3QsXG4gICAgICB2YWx1ZSRcbiAgICB9O1xuXG4gICAgcmV0dXJuIHZhbHVlJDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgcHJvbWlzZSBvZiB0aGUgbGF0ZXN0IHZhbHVlIG9mIGEgZmFjdC5cbiAgICogUmV0dXJuIHVuZGVmaW5lZCBpZiB0aGUgZmFjdCBpcyBub3QgZGVmaW5lZC5cbiAgICogQHBhcmFtIGlkIElEIG9mIHRoZSBmYWN0IHRvIHJldHJpZXZlXG4gICAqL1xuICBwdWJsaWMgcmV0cmlldmVGYWN0VmFsdWU8VCA9IHVua25vd24+KGlkOiBzdHJpbmcpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mYWN0TWFwW2lkXS52YWx1ZSQgJiYgZmlyc3RWYWx1ZUZyb20odGhpcy5yZXRyaWV2ZU9yQ3JlYXRlRmFjdFN0cmVhbTxUPihpZCksIHsgZGVmYXVsdFZhbHVlOiB1bmRlZmluZWQgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIG9yIGluc2VydCBmYWN0IGluIHJ1bGVzIGVuZ2luZVxuICAgKiBAcGFyYW0gZmFjdHMgZmFjdCBsaXN0IHRvIGFkZCAvIHVwZGF0ZVxuICAgKi9cbiAgcHVibGljIHVwc2VydEZhY3RzPFQgPSB1bmtub3duPihmYWN0czogRmFjdDxUPiB8IEZhY3Q8VD5bXSkge1xuICAgIChBcnJheS5pc0FycmF5KGZhY3RzKSA/IGZhY3RzIDogW2ZhY3RzXSkuZm9yRWFjaCgoe2lkLCB2YWx1ZSR9KSA9PlxuICAgICAgdGhpcy5yZXRyaWV2ZU9yQ3JlYXRlRmFjdFN0cmVhbShpZCwgdmFsdWUkKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIG9yIGluc2VydCBydWxlIGluIHJ1bGVzIGVuZ2luZVxuICAgKiBAcGFyYW0gcnVsZXMgcnVsZSBsaXN0IHRvIGFkZCAvIHVwZGF0ZVxuICAgKiBAcGFyYW0gcnVsZXNldHNcbiAgICovXG4gIHB1YmxpYyB1cHNlcnRSdWxlc2V0cyhydWxlc2V0czogUnVsZXNldFtdKSB7XG4gICAgdGhpcy5lbmdpbmVEZWJ1Zz8uYWRkQXZhaWxhYmxlUnVsZXNldHMocnVsZXNldHMpO1xuXG4gICAgdGhpcy5ydWxlc2V0TWFwU3ViamVjdC5uZXh0KFxuICAgICAgcnVsZXNldHMucmVkdWNlKChhY2NSdWxlc2V0LCBydWxlc2V0KSA9PiB7XG4gICAgICAgIGFjY1J1bGVzZXRbcnVsZXNldC5pZF0gPSBuZXcgUnVsZXNldEV4ZWN1dG9yKHJ1bGVzZXQsIHRoaXMpO1xuICAgICAgICByZXR1cm4gYWNjUnVsZXNldDtcbiAgICAgIH0sIHsuLi50aGlzLnJ1bGVzZXRNYXBTdWJqZWN0LnZhbHVlfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBvciBpbnNlcnQgb3BlcmF0b3IgaW4gcnVsZXMgZW5naW5lXG4gICAqIEBwYXJhbSBvcGVyYXRvcnMgb3BlcmF0b3IgbGlzdCB0byBhZGQgLyB1cGRhdGVcbiAgICovXG4gIHB1YmxpYyB1cHNlcnRPcGVyYXRvcnMob3BlcmF0b3JzOiAoT3BlcmF0b3IgfCBVbmFyeU9wZXJhdG9yKVtdKSB7XG4gICAgdGhpcy5vcGVyYXRvcnMgPSBvcGVyYXRvcnMucmVkdWNlKChhY2MsIG9wZXJhdG9yKSA9PiB7XG4gICAgICBhY2Nbb3BlcmF0b3IubmFtZV0gPSBvcGVyYXRvcjtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgey4uLnRoaXMub3BlcmF0b3JzfSk7XG4gIH1cblxuICAvKipcbiAgICogT3BlcmF0b3IgdG8gYXBwbHkgb24gYSBzdHJlYW0gb2YgcnVsZXNldHMgaWRzXG4gICAqIFJldHVybnMgYSBzdHJlYW0gb2YgYWN0aW9ucyBvdXRwdXR0ZWQgYnkgdGhlIHJ1bGVzIGVuZ2luZSwgY29ycmVzcG9uZGluZyB0byB0aGUgcnVsZXNldHNJZHNcbiAgICovXG4gIHB1YmxpYyBnZXRFdmVudFN0cmVhbTxUIGV4dGVuZHMgQWN0aW9uQmxvY2sgPSBBY3Rpb25CbG9jaz4oKTogKHJ1bGVzZXRzSWRzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXSB8IHVuZGVmaW5lZD4pID0+IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIChydWxlc2V0c0lkcyQ6IE9ic2VydmFibGU8c3RyaW5nW10gfCB1bmRlZmluZWQ+KSA9PlxuICAgICAgcnVsZXNldHNJZHMkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgocnVsZVNldHMpID0+IHRoaXMucnVsZXNldE1hcFN1YmplY3QucGlwZSh0aGlzLnByZXBhcmVBY3Rpb25zU3RyZWFtPFQ+KHJ1bGVTZXRzKSkpLFxuICAgICAgICB0aGlzLmhhbmRsZUFjdGlvbnNTdHJlYW1PdXRwdXQoKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIGxpc3Qgb2YgcmVnaXN0ZXJlZCBmYWN0cyBuYW1lcyAqL1xuICBwdWJsaWMgZ2V0UmVnaXN0ZXJlZEZhY3RzTmFtZXMoKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuZmFjdE1hcCk7XG4gIH1cblxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdC5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VuZ2luZS9mYWN0L2ZhY3QuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKiogRmFjdCBiYXNpYyB2YWx1ZSB0eXBlICovXG5leHBvcnQgdHlwZSBGYWN0QmFzaWNWYWx1ZXMgPSBudW1iZXIgfCBib29sZWFuIHwgc3RyaW5nIHwgc3RyaW5nW10gfCBib29sZWFuW10gfCBudW1iZXIgW10gfCB1bmRlZmluZWQ7XG5cbi8qKiBNYXAgb2YgZmFjdCBuYW1lIC8gdHlwZSBwYWlycyAqL1xuZXhwb3J0IGludGVyZmFjZSBGYWN0RGVmaW5pdGlvbnMge1xuICBbZmFjdE5hbWU6IHN0cmluZ106IHVua25vd247XG59XG5cbi8qKiBSZXR1cm4gdHlwZSBvZiBhIGZhY3QgZmFjdG9yeSAqL1xuZXhwb3J0IHR5cGUgRmFjdEZhY3RvcnlSZXR1cm48VD4gPSBPYnNlcnZhYmxlPFQ+IHwgUHJvbWlzZTxUPiB8IFQ7XG5cbi8qKiBTZXQgb2YgZmFjdHMgKi9cbmV4cG9ydCB0eXBlIEZhY3RTZXQ8VCBleHRlbmRzIEZhY3REZWZpbml0aW9ucz4gPSB7XG4gIFtQIGluIGtleW9mIFRdOiBGYWN0RmFjdG9yeVJldHVybjxUW1BdIHwgdW5kZWZpbmVkIHwgbnVsbD47XG59O1xuXG4vKiogRmFjdCBzdHJlYW0gdHlwZSAqL1xuZXhwb3J0IHR5cGUgRmFjdFZhbHVlU3RyZWFtPFQgPSB1bmtub3duPiA9IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD47XG5cbi8qKiBGYWN0IHN0cmVhbSAqL1xuZXhwb3J0IGludGVyZmFjZSBGYWN0PFQgPSB1bmtub3duPiB7XG4gIC8qKiBGYWN0IElEICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqIFN0cmVhbSBvZiB0aGUgZmFjdCBmYWN0IHZhbHVlICovXG4gIHZhbHVlJDogRmFjdFZhbHVlU3RyZWFtPFQ+O1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdC5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VuZ2luZS9mYWN0L2ZhY3QuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKiogUmVwcmVzZW50cyBhbGwgdGhlIHN1cHBvcnRlZCBmYWN0cyB0eXBlcyBUT0NIRUNLIHV0aWxzLkRhdGUgdnMgRGF0ZSAqL1xuZXhwb3J0IHR5cGUgRmFjdHMgPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB8IERhdGUgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVua25vd25bXTtcblxuLyoqIEZhY3QgYmFzaWMgdmFsdWUgdHlwZSAqL1xuZXhwb3J0IHR5cGUgRmFjdEJhc2ljVmFsdWVzID0gbnVtYmVyIHwgYm9vbGVhbiB8IHN0cmluZyB8IHN0cmluZ1tdIHwgYm9vbGVhbltdIHwgbnVtYmVyIFtdIHwgdW5kZWZpbmVkO1xuXG4vKiogTWFwIG9mIGZhY3QgbmFtZSAvIHR5cGUgcGFpcnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFjdERlZmluaXRpb25zIHtcbiAgW2ZhY3ROYW1lOiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vKiogUmV0dXJuIHR5cGUgb2YgYSBmYWN0IGZhY3RvcnkgKi9cbmV4cG9ydCB0eXBlIEZhY3RGYWN0b3J5UmV0dXJuPFQ+ID0gT2JzZXJ2YWJsZTxUPiB8IFByb21pc2U8VD4gfCBUO1xuXG4vKiogU2V0IG9mIGZhY3RzICovXG5leHBvcnQgdHlwZSBGYWN0U2V0PFQgZXh0ZW5kcyBGYWN0RGVmaW5pdGlvbnM+ID0ge1xuICBbUCBpbiBrZXlvZiBUXTogRmFjdEZhY3RvcnlSZXR1cm48VFtQXSB8IHVuZGVmaW5lZCB8IG51bGw+O1xufTtcblxuLyoqIEZhY3Qgc3RyZWFtIHR5cGUgKi9cbmV4cG9ydCB0eXBlIEZhY3RWYWx1ZVN0cmVhbTxUID0gdW5rbm93bj4gPSBPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+O1xuXG4vKiogRmFjdCBzdHJlYW0gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFjdDxUID0gdW5rbm93bj4ge1xuICAvKiogRmFjdCBJRCAqL1xuICBpZDogc3RyaW5nO1xuXG4gIC8qKiBTdHJlYW0gb2YgdGhlIGZhY3QgZmFjdCB2YWx1ZSAqL1xuICB2YWx1ZSQ6IEZhY3RWYWx1ZVN0cmVhbTxUPjtcbn1cbiJdfQ==
@@ -2,7 +2,6 @@ import { combineLatest } from 'rxjs';
2
2
  import { map, shareReplay, switchMap } from 'rxjs/operators';
3
3
  /**
4
4
  * Filter the actions outputted by the rules engine, based on active rulesets
5
- *
6
5
  * @param restrictiveRuleSets list of rules sets to get the event stream for
7
6
  */
8
7
  export function filterRulesetsEventStream(restrictiveRuleSets) {
@@ -17,4 +16,4 @@ export function filterRulesetsEventStream(restrictiveRuleSets) {
17
16
  }, [])));
18
17
  }), shareReplay(1));
19
18
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXJ1bGVzZXQtZXZlbnQub3BlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZW5naW5lL2hlbHBlcnMvZmlsdGVyLXJ1bGVzZXQtZXZlbnQub3BlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLG1CQUE4QjtJQUN0RSxPQUFPLENBQUMsT0FBb0QsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDM0UsU0FBUyxDQUFDLENBQUMsa0JBQWtCLEVBQUUsRUFBRTtRQUMvQixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqSCxNQUFNLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzRixNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFCLE9BQU8sYUFBYSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN0RixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLEVBQUU7WUFDOUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO1lBQzFCLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNiLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJ1bGVzZXRFeGVjdXRvciB9IGZyb20gJy4uL3J1bGVzZXQtZXhlY3V0b3InO1xuXG4vKipcbiAqIEZpbHRlciB0aGUgYWN0aW9ucyBvdXRwdXR0ZWQgYnkgdGhlIHJ1bGVzIGVuZ2luZSwgYmFzZWQgb24gYWN0aXZlIHJ1bGVzZXRzXG4gKlxuICogQHBhcmFtIHJlc3RyaWN0aXZlUnVsZVNldHMgbGlzdCBvZiBydWxlcyBzZXRzIHRvIGdldCB0aGUgZXZlbnQgc3RyZWFtIGZvclxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyUnVsZXNldHNFdmVudFN0cmVhbShyZXN0cmljdGl2ZVJ1bGVTZXRzPzogc3RyaW5nW10pIHtcbiAgcmV0dXJuIChzb3VyY2UkOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIFJ1bGVzZXRFeGVjdXRvcj4+KSA9PiBzb3VyY2UkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChydWxlU2V0RXhlY3V0b3JNYXApID0+IHtcbiAgICAgIGNvbnN0IHJ1bGVzZXRzID0gT2JqZWN0LmtleXMocnVsZVNldEV4ZWN1dG9yTWFwKS5tYXAoKHJ1bGVzZXRJZCkgPT4gcnVsZVNldEV4ZWN1dG9yTWFwW3J1bGVzZXRJZF0uZW5naW5lUnVsZXNldCk7XG4gICAgICBjb25zdCBhY3RpdmVSdWxlc2V0cyA9IHJlc3RyaWN0aXZlUnVsZVNldHMgP1xuICAgICAgICBPYmplY3QudmFsdWVzKHJ1bGVzZXRzKS5maWx0ZXIoKHJ1bGVTZXQpID0+IHJlc3RyaWN0aXZlUnVsZVNldHMuaW5kZXhPZihydWxlU2V0LmlkKSA+IC0xKSA6XG4gICAgICAgIE9iamVjdC52YWx1ZXMocnVsZXNldHMpO1xuXG4gICAgICByZXR1cm4gY29tYmluZUxhdGVzdChhY3RpdmVSdWxlc2V0cy5tYXAoKHJ1bGVzZXQpID0+IHJ1bGVzZXQucnVsZXNSZXN1bHRzU3ViamVjdCQpKS5waXBlKFxuICAgICAgICBtYXAoKGl0ZW0pID0+IGl0ZW0ucmVkdWNlKChhY2MsIGN1cnJlbnRWYWx1ZSkgPT4ge1xuICAgICAgICAgIGFjYy5wdXNoKC4uLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwgW10pKSk7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbn1cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXJ1bGVzZXQtZXZlbnQub3BlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZW5naW5lL2hlbHBlcnMvZmlsdGVyLXJ1bGVzZXQtZXZlbnQub3BlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQUMsbUJBQThCO0lBQ3RFLE9BQU8sQ0FBQyxPQUFvRCxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUMzRSxTQUFTLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFO1FBQy9CLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pILE1BQU0sY0FBYyxHQUFHLG1CQUFtQixDQUFDLENBQUM7WUFDMUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNGLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFMUIsT0FBTyxhQUFhLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3RGLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsRUFBRTtZQUM5QyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7WUFDMUIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2IsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUnVsZXNldEV4ZWN1dG9yIH0gZnJvbSAnLi4vcnVsZXNldC1leGVjdXRvcic7XG5cbi8qKlxuICogRmlsdGVyIHRoZSBhY3Rpb25zIG91dHB1dHRlZCBieSB0aGUgcnVsZXMgZW5naW5lLCBiYXNlZCBvbiBhY3RpdmUgcnVsZXNldHNcbiAqIEBwYXJhbSByZXN0cmljdGl2ZVJ1bGVTZXRzIGxpc3Qgb2YgcnVsZXMgc2V0cyB0byBnZXQgdGhlIGV2ZW50IHN0cmVhbSBmb3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlclJ1bGVzZXRzRXZlbnRTdHJlYW0ocmVzdHJpY3RpdmVSdWxlU2V0cz86IHN0cmluZ1tdKSB7XG4gIHJldHVybiAoc291cmNlJDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBSdWxlc2V0RXhlY3V0b3I+PikgPT4gc291cmNlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgocnVsZVNldEV4ZWN1dG9yTWFwKSA9PiB7XG4gICAgICBjb25zdCBydWxlc2V0cyA9IE9iamVjdC5rZXlzKHJ1bGVTZXRFeGVjdXRvck1hcCkubWFwKChydWxlc2V0SWQpID0+IHJ1bGVTZXRFeGVjdXRvck1hcFtydWxlc2V0SWRdLmVuZ2luZVJ1bGVzZXQpO1xuICAgICAgY29uc3QgYWN0aXZlUnVsZXNldHMgPSByZXN0cmljdGl2ZVJ1bGVTZXRzID9cbiAgICAgICAgT2JqZWN0LnZhbHVlcyhydWxlc2V0cykuZmlsdGVyKChydWxlU2V0KSA9PiByZXN0cmljdGl2ZVJ1bGVTZXRzLmluZGV4T2YocnVsZVNldC5pZCkgPiAtMSkgOlxuICAgICAgICBPYmplY3QudmFsdWVzKHJ1bGVzZXRzKTtcblxuICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoYWN0aXZlUnVsZXNldHMubWFwKChydWxlc2V0KSA9PiBydWxlc2V0LnJ1bGVzUmVzdWx0c1N1YmplY3QkKSkucGlwZShcbiAgICAgICAgbWFwKChpdGVtKSA9PiBpdGVtLnJlZHVjZSgoYWNjLCBjdXJyZW50VmFsdWUpID0+IHtcbiAgICAgICAgICBhY2MucHVzaCguLi5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIFtdKSkpO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
1
  export * from './operator.helpers';
2
2
  export * from './operator.interface';
3
3
  export * from './operators/index';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZW5naW5lL29wZXJhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9vcGVyYXRvci5oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vb3BlcmF0b3IuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vb3BlcmF0b3JzL2luZGV4JztcblxuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZW5naW5lL29wZXJhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9vcGVyYXRvci5oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vb3BlcmF0b3IuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vb3BlcmF0b3JzL2luZGV4JztcbiJdfQ==
@@ -1,25 +1,36 @@
1
1
  /**
2
2
  * Execute Operator
3
- *
4
3
  * @param lhs Left hand side
5
4
  * @param rhs Right hand side
6
5
  * @param operator Operator to compare values
6
+ * @param operatorFacts Facts that operator can depend on
7
7
  */
8
- export function executeOperator(lhs, rhs, operator) {
8
+ export function executeOperator(lhs, rhs, operator, operatorFacts) {
9
9
  const validLhs = (!operator.validateLhs || operator.validateLhs(lhs));
10
10
  const validRhs = (!operator.validateRhs || operator.validateRhs(rhs));
11
+ let operatorFactValues;
12
+ if (operatorFacts && operator.factImplicitDependencies) {
13
+ operatorFactValues = operator.factImplicitDependencies.reduce((acc, dep) => {
14
+ if (operatorFacts[dep]) {
15
+ acc[dep] = operatorFacts[dep];
16
+ }
17
+ else {
18
+ throw new Error(`The fact "${dep}" requested by ${operator.name} cannot be found.`);
19
+ }
20
+ return acc;
21
+ }, {});
22
+ }
11
23
  if (!validLhs) {
12
- throw new Error(`Invalid left operand : ${JSON.stringify(lhs)}`);
24
+ throw new Error(`Invalid left operand: ${JSON.stringify(lhs)}`);
13
25
  }
14
26
  if (!validRhs) {
15
- throw new Error(`Invalid right operand : ${JSON.stringify(rhs)}`);
27
+ throw new Error(`Invalid right operand: ${JSON.stringify(rhs)}`);
16
28
  }
17
- const obs = operator.evaluator(lhs, rhs);
29
+ const obs = operator.evaluator(lhs, rhs, operatorFactValues);
18
30
  return obs;
19
31
  }
20
32
  /**
21
33
  * Validate a number operand
22
- *
23
34
  * @param operand value of one of the operands
24
35
  */
25
36
  export function numberValidator(operand) {
@@ -28,7 +39,6 @@ export function numberValidator(operand) {
28
39
  }
29
40
  /**
30
41
  * Validate an operand is a range of numbers
31
- *
32
42
  * @param operatorInput value of one of the operands
33
43
  */
34
44
  export function isRangeNumber(operatorInput) {
@@ -40,7 +50,6 @@ export function isRangeNumber(operatorInput) {
40
50
  }
41
51
  /**
42
52
  * Verifies if the parameter is a valid date for the operator (getTime function available returning a number)
43
- *
44
53
  * @param operatorInput
45
54
  */
46
55
  export const isValidDate = (operatorInput) => {
@@ -52,7 +61,6 @@ export const isValidDate = (operatorInput) => {
52
61
  };
53
62
  /**
54
63
  * Verifies if the parameter is a valid input for Date constructor (new Date returns a valid date)
55
- *
56
64
  * @param operatorInput
57
65
  */
58
66
  export const isValidDateInput = (operatorInput) => {
@@ -60,7 +68,6 @@ export const isValidDateInput = (operatorInput) => {
60
68
  };
61
69
  /**
62
70
  * Verifies if the parameter is a valid date range
63
- *
64
71
  * @param operatorInput
65
72
  */
66
73
  export const isValidDateRange = (operatorInput) => {
@@ -72,7 +79,6 @@ export const isValidDateRange = (operatorInput) => {
72
79
  };
73
80
  /**
74
81
  * Validate that a value is a supported simple type
75
- *
76
82
  * @param value value to validate
77
83
  */
78
84
  export function isSupportedSimpleTypes(value) {
@@ -80,10 +86,24 @@ export function isSupportedSimpleTypes(value) {
80
86
  }
81
87
  /**
82
88
  * Validate that a value is a string
83
- *
84
89
  * @param value
85
90
  */
86
91
  export function isString(value) {
87
92
  return typeof value === 'string';
88
93
  }
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3IuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbmdpbmUvb3BlcmF0b3Ivb3BlcmF0b3IuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUEyQixHQUFNLEVBQUUsR0FBTSxFQUFFLFFBQXdCO0lBQ2hHLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RSxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEUsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ2xFO0lBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ25FO0lBQ0QsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekMsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsT0FBZ0I7SUFDOUMsNEVBQTRFO0lBQzVFLE9BQU8sT0FBTyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLGFBQXNCO0lBQ2xELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDakMsYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQzFCLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsYUFBa0IsRUFBeUIsRUFBRTtJQUN2RSxJQUFJLENBQUMsYUFBYSxJQUFJLE9BQU8sYUFBYSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUU7UUFDakUsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM5QyxPQUFPLE9BQU8sYUFBYSxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNwRSxDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxhQUFrQixFQUE4QixFQUFFO0lBQ2pGLE9BQU8sYUFBYSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxJQUFJLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0FBQ3hGLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLGFBQWtCLEVBQTJDLEVBQUU7SUFDOUYsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUNqQyxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUM7UUFDMUIsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEtBQWM7SUFDbkQsT0FBTyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFjO0lBQ3JDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDO0FBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGVJbnB1dCwgT3BlcmF0b3IsIFN1cHBvcnRlZFNpbXBsZVR5cGVzfSBmcm9tICcuL29wZXJhdG9yLmludGVyZmFjZSc7XG5cbi8qKlxuICogRXhlY3V0ZSBPcGVyYXRvclxuICpcbiAqIEBwYXJhbSBsaHMgTGVmdCBoYW5kIHNpZGVcbiAqIEBwYXJhbSByaHMgUmlnaHQgaGFuZCBzaWRlXG4gKiBAcGFyYW0gb3BlcmF0b3IgT3BlcmF0b3IgdG8gY29tcGFyZSB2YWx1ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4ZWN1dGVPcGVyYXRvcjxMID0gdW5rbm93biwgUiA9IHVua25vd24+KGxoczogTCwgcmhzOiBSLCBvcGVyYXRvcjogT3BlcmF0b3I8TCwgUj4pIHtcbiAgY29uc3QgdmFsaWRMaHMgPSAoIW9wZXJhdG9yLnZhbGlkYXRlTGhzIHx8IG9wZXJhdG9yLnZhbGlkYXRlTGhzKGxocykpO1xuICBjb25zdCB2YWxpZFJocyA9ICghb3BlcmF0b3IudmFsaWRhdGVSaHMgfHwgb3BlcmF0b3IudmFsaWRhdGVSaHMocmhzKSk7XG4gIGlmICghdmFsaWRMaHMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbGVmdCBvcGVyYW5kIDogJHtKU09OLnN0cmluZ2lmeShsaHMpfWApO1xuICB9XG4gIGlmICghdmFsaWRSaHMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmlnaHQgb3BlcmFuZCA6ICR7SlNPTi5zdHJpbmdpZnkocmhzKX1gKTtcbiAgfVxuICBjb25zdCBvYnMgPSBvcGVyYXRvci5ldmFsdWF0b3IobGhzLCByaHMpO1xuICByZXR1cm4gb2JzO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIGEgbnVtYmVyIG9wZXJhbmRcbiAqXG4gKiBAcGFyYW0gb3BlcmFuZCB2YWx1ZSBvZiBvbmUgb2YgdGhlIG9wZXJhbmRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBudW1iZXJWYWxpZGF0b3Iob3BlcmFuZDogdW5rbm93bik6IG9wZXJhbmQgaXMgbnVtYmVyIHwgc3RyaW5nIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICByZXR1cm4gb3BlcmFuZCAhPT0gJycgJiYgIUFycmF5LmlzQXJyYXkob3BlcmFuZCkgJiYgIWlzTmFOKCtgJHtvcGVyYW5kfWApO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIGFuIG9wZXJhbmQgaXMgYSByYW5nZSBvZiBudW1iZXJzXG4gKlxuICogQHBhcmFtIG9wZXJhdG9ySW5wdXQgdmFsdWUgb2Ygb25lIG9mIHRoZSBvcGVyYW5kc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNSYW5nZU51bWJlcihvcGVyYXRvcklucHV0OiB1bmtub3duKTogb3BlcmF0b3JJbnB1dCBpcyBbbnVtYmVyIHwgc3RyaW5nLCBudW1iZXIgfCBzdHJpbmddIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkob3BlcmF0b3JJbnB1dCkgJiZcbiAgICBvcGVyYXRvcklucHV0Lmxlbmd0aCA9PT0gMiAmJlxuICAgIG51bWJlclZhbGlkYXRvcihvcGVyYXRvcklucHV0WzBdKSAmJlxuICAgIG51bWJlclZhbGlkYXRvcihvcGVyYXRvcklucHV0WzFdKSAmJlxuICAgIG9wZXJhdG9ySW5wdXRbMF0gPD0gb3BlcmF0b3JJbnB1dFsxXTtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyBpZiB0aGUgcGFyYW1ldGVyIGlzIGEgdmFsaWQgZGF0ZSBmb3IgdGhlIG9wZXJhdG9yIChnZXRUaW1lIGZ1bmN0aW9uIGF2YWlsYWJsZSByZXR1cm5pbmcgYSBudW1iZXIpXG4gKlxuICogQHBhcmFtIG9wZXJhdG9ySW5wdXRcbiAqL1xuZXhwb3J0IGNvbnN0IGlzVmFsaWREYXRlID0gKG9wZXJhdG9ySW5wdXQ6IGFueSk6IG9wZXJhdG9ySW5wdXQgaXMgRGF0ZSA9PiB7XG4gIGlmICghb3BlcmF0b3JJbnB1dCB8fCB0eXBlb2Ygb3BlcmF0b3JJbnB1dC5nZXRUaW1lICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGdldFRpbWVSZXN1bHQgPSBvcGVyYXRvcklucHV0LmdldFRpbWUoKTtcbiAgcmV0dXJuIHR5cGVvZiBnZXRUaW1lUmVzdWx0ID09PSAnbnVtYmVyJyAmJiAhaXNOYU4oZ2V0VGltZVJlc3VsdCk7XG59O1xuXG4vKipcbiAqIFZlcmlmaWVzIGlmIHRoZSBwYXJhbWV0ZXIgaXMgYSB2YWxpZCBpbnB1dCBmb3IgRGF0ZSBjb25zdHJ1Y3RvciAobmV3IERhdGUgcmV0dXJucyBhIHZhbGlkIGRhdGUpXG4gKlxuICogQHBhcmFtIG9wZXJhdG9ySW5wdXRcbiAqL1xuZXhwb3J0IGNvbnN0IGlzVmFsaWREYXRlSW5wdXQgPSAob3BlcmF0b3JJbnB1dDogYW55KTogb3BlcmF0b3JJbnB1dCBpcyBEYXRlSW5wdXQgPT4ge1xuICByZXR1cm4gb3BlcmF0b3JJbnB1dCA9PT0gMCB8fCAhIW9wZXJhdG9ySW5wdXQgJiYgaXNWYWxpZERhdGUobmV3IERhdGUob3BlcmF0b3JJbnB1dCkpO1xufTtcblxuLyoqXG4gKiBWZXJpZmllcyBpZiB0aGUgcGFyYW1ldGVyIGlzIGEgdmFsaWQgZGF0ZSByYW5nZVxuICpcbiAqIEBwYXJhbSBvcGVyYXRvcklucHV0XG4gKi9cbmV4cG9ydCBjb25zdCBpc1ZhbGlkRGF0ZVJhbmdlID0gKG9wZXJhdG9ySW5wdXQ6IGFueSk6IG9wZXJhdG9ySW5wdXQgaXMgW0RhdGVJbnB1dCwgRGF0ZUlucHV0XSA9PiB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KG9wZXJhdG9ySW5wdXQpICYmXG4gICAgb3BlcmF0b3JJbnB1dC5sZW5ndGggPT09IDIgJiZcbiAgICBpc1ZhbGlkRGF0ZUlucHV0KG9wZXJhdG9ySW5wdXRbMF0pICYmXG4gICAgaXNWYWxpZERhdGVJbnB1dChvcGVyYXRvcklucHV0WzFdKSAmJlxuICAgIG5ldyBEYXRlKG9wZXJhdG9ySW5wdXRbMF0pIDw9IG5ldyBEYXRlKG9wZXJhdG9ySW5wdXRbMV0pO1xufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGF0IGEgdmFsdWUgaXMgYSBzdXBwb3J0ZWQgc2ltcGxlIHR5cGVcbiAqXG4gKiBAcGFyYW0gdmFsdWUgdmFsdWUgdG8gdmFsaWRhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3VwcG9ydGVkU2ltcGxlVHlwZXModmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBTdXBwb3J0ZWRTaW1wbGVUeXBlcyB7XG4gIHJldHVybiBbJ3N0cmluZycsICdib29sZWFuJywgJ251bWJlcicsICd1bmRlZmluZWQnXS5pbmNsdWRlcyh0eXBlb2YgdmFsdWUpIHx8IHZhbHVlID09PSBudWxsIHx8IGlzVmFsaWREYXRlKHZhbHVlKTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGF0IGEgdmFsdWUgaXMgYSBzdHJpbmdcbiAqXG4gKiBAcGFyYW0gdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgc3RyaW5nIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZyc7XG59XG4iXX0=
94
+ /**
95
+ * Parse input to return RegExp
96
+ * @param value value to test whether pattern exists (can be string or array of strings)
97
+ * @param inputString regexp pattern
98
+ * @param inputRegExp
99
+ */
100
+ export function parseRegExp(inputRegExp) {
101
+ if (inputRegExp.startsWith('/')) {
102
+ const finalSlash = inputRegExp.lastIndexOf('/');
103
+ const regexpPattern = inputRegExp.slice(1, finalSlash);
104
+ const regexpFlags = inputRegExp.slice(finalSlash + 1);
105
+ return new RegExp(regexpPattern, regexpFlags);
106
+ }
107
+ return new RegExp(inputRegExp);
108
+ }
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3IuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbmdpbmUvb3BlcmF0b3Ivb3BlcmF0b3IuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUEyQixHQUFNLEVBQUUsR0FBTSxFQUFFLFFBQXdCLEVBQUUsYUFBaUQ7SUFDbkosTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RSxJQUFJLGtCQUFxRCxDQUFDO0lBQzFELElBQUksYUFBYSxJQUFJLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRTtRQUN0RCxrQkFBa0IsR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3pFLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN0QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBRSxDQUFDO2FBQ2hDO2lCQUFNO2dCQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxHQUFHLGtCQUFrQixRQUFRLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO2FBQ3JGO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBMkIsQ0FBQyxDQUFDO0tBQ2pDO0lBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ2pFO0lBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ2xFO0lBQ0QsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDN0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxPQUFnQjtJQUM5Qyw0RUFBNEU7SUFDNUUsT0FBTyxPQUFPLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUM1RSxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxhQUFzQjtJQUNsRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ2pDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUMxQixlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsYUFBa0IsRUFBeUIsRUFBRTtJQUN2RSxJQUFJLENBQUMsYUFBYSxJQUFJLE9BQU8sYUFBYSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUU7UUFDakUsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM5QyxPQUFPLE9BQU8sYUFBYSxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNwRSxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLGFBQWtCLEVBQThCLEVBQUU7SUFDakYsT0FBTyxhQUFhLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7QUFDeEYsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxhQUFrQixFQUEyQyxFQUFFO0lBQzlGLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDakMsYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQzFCLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0QsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEtBQWM7SUFDbkQsT0FBTyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JILENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQWM7SUFDckMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7QUFDbkMsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxXQUFtQjtJQUM3QyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDL0IsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN2RCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0RCxPQUFPLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztLQUMvQztJQUNELE9BQU8sSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0ZUlucHV0LCBPcGVyYXRvciwgU3VwcG9ydGVkU2ltcGxlVHlwZXN9IGZyb20gJy4vb3BlcmF0b3IuaW50ZXJmYWNlJztcbmltcG9ydCB0eXBlIHtGYWN0c30gZnJvbSAnLi4vZmFjdCc7XG5cbi8qKlxuICogRXhlY3V0ZSBPcGVyYXRvclxuICogQHBhcmFtIGxocyBMZWZ0IGhhbmQgc2lkZVxuICogQHBhcmFtIHJocyBSaWdodCBoYW5kIHNpZGVcbiAqIEBwYXJhbSBvcGVyYXRvciBPcGVyYXRvciB0byBjb21wYXJlIHZhbHVlc1xuICogQHBhcmFtIG9wZXJhdG9yRmFjdHMgRmFjdHMgdGhhdCBvcGVyYXRvciBjYW4gZGVwZW5kIG9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleGVjdXRlT3BlcmF0b3I8TCA9IHVua25vd24sIFIgPSB1bmtub3duPihsaHM6IEwsIHJoczogUiwgb3BlcmF0b3I6IE9wZXJhdG9yPEwsIFI+LCBvcGVyYXRvckZhY3RzPzogUmVjb3JkPHN0cmluZywgRmFjdHMgfCB1bmRlZmluZWQ+KSB7XG4gIGNvbnN0IHZhbGlkTGhzID0gKCFvcGVyYXRvci52YWxpZGF0ZUxocyB8fCBvcGVyYXRvci52YWxpZGF0ZUxocyhsaHMpKTtcbiAgY29uc3QgdmFsaWRSaHMgPSAoIW9wZXJhdG9yLnZhbGlkYXRlUmhzIHx8IG9wZXJhdG9yLnZhbGlkYXRlUmhzKHJocykpO1xuICBsZXQgb3BlcmF0b3JGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4gfCB1bmRlZmluZWQ7XG4gIGlmIChvcGVyYXRvckZhY3RzICYmIG9wZXJhdG9yLmZhY3RJbXBsaWNpdERlcGVuZGVuY2llcykge1xuICAgIG9wZXJhdG9yRmFjdFZhbHVlcyA9IG9wZXJhdG9yLmZhY3RJbXBsaWNpdERlcGVuZGVuY2llcy5yZWR1Y2UoKGFjYywgZGVwKSA9PiB7XG4gICAgICBpZiAob3BlcmF0b3JGYWN0c1tkZXBdKSB7XG4gICAgICAgIGFjY1tkZXBdID0gb3BlcmF0b3JGYWN0c1tkZXBdITtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIGZhY3QgXCIke2RlcH1cIiByZXF1ZXN0ZWQgYnkgJHtvcGVyYXRvci5uYW1lfSBjYW5ub3QgYmUgZm91bmQuYCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIEZhY3RzPik7XG4gIH1cbiAgaWYgKCF2YWxpZExocykge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBsZWZ0IG9wZXJhbmQ6ICR7SlNPTi5zdHJpbmdpZnkobGhzKX1gKTtcbiAgfVxuICBpZiAoIXZhbGlkUmhzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJpZ2h0IG9wZXJhbmQ6ICR7SlNPTi5zdHJpbmdpZnkocmhzKX1gKTtcbiAgfVxuICBjb25zdCBvYnMgPSBvcGVyYXRvci5ldmFsdWF0b3IobGhzLCByaHMsIG9wZXJhdG9yRmFjdFZhbHVlcyk7XG4gIHJldHVybiBvYnM7XG59XG5cbi8qKlxuICogVmFsaWRhdGUgYSBudW1iZXIgb3BlcmFuZFxuICogQHBhcmFtIG9wZXJhbmQgdmFsdWUgb2Ygb25lIG9mIHRoZSBvcGVyYW5kc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbnVtYmVyVmFsaWRhdG9yKG9wZXJhbmQ6IHVua25vd24pOiBvcGVyYW5kIGlzIG51bWJlciB8IHN0cmluZyB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgcmV0dXJuIG9wZXJhbmQgIT09ICcnICYmICFBcnJheS5pc0FycmF5KG9wZXJhbmQpICYmICFpc05hTigrYCR7b3BlcmFuZH1gKTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSBhbiBvcGVyYW5kIGlzIGEgcmFuZ2Ugb2YgbnVtYmVyc1xuICogQHBhcmFtIG9wZXJhdG9ySW5wdXQgdmFsdWUgb2Ygb25lIG9mIHRoZSBvcGVyYW5kc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNSYW5nZU51bWJlcihvcGVyYXRvcklucHV0OiB1bmtub3duKTogb3BlcmF0b3JJbnB1dCBpcyBbbnVtYmVyIHwgc3RyaW5nLCBudW1iZXIgfCBzdHJpbmddIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkob3BlcmF0b3JJbnB1dCkgJiZcbiAgICBvcGVyYXRvcklucHV0Lmxlbmd0aCA9PT0gMiAmJlxuICAgIG51bWJlclZhbGlkYXRvcihvcGVyYXRvcklucHV0WzBdKSAmJlxuICAgIG51bWJlclZhbGlkYXRvcihvcGVyYXRvcklucHV0WzFdKSAmJlxuICAgIG9wZXJhdG9ySW5wdXRbMF0gPD0gb3BlcmF0b3JJbnB1dFsxXTtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyBpZiB0aGUgcGFyYW1ldGVyIGlzIGEgdmFsaWQgZGF0ZSBmb3IgdGhlIG9wZXJhdG9yIChnZXRUaW1lIGZ1bmN0aW9uIGF2YWlsYWJsZSByZXR1cm5pbmcgYSBudW1iZXIpXG4gKiBAcGFyYW0gb3BlcmF0b3JJbnB1dFxuICovXG5leHBvcnQgY29uc3QgaXNWYWxpZERhdGUgPSAob3BlcmF0b3JJbnB1dDogYW55KTogb3BlcmF0b3JJbnB1dCBpcyBEYXRlID0+IHtcbiAgaWYgKCFvcGVyYXRvcklucHV0IHx8IHR5cGVvZiBvcGVyYXRvcklucHV0LmdldFRpbWUgIT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgZ2V0VGltZVJlc3VsdCA9IG9wZXJhdG9ySW5wdXQuZ2V0VGltZSgpO1xuICByZXR1cm4gdHlwZW9mIGdldFRpbWVSZXN1bHQgPT09ICdudW1iZXInICYmICFpc05hTihnZXRUaW1lUmVzdWx0KTtcbn07XG5cbi8qKlxuICogVmVyaWZpZXMgaWYgdGhlIHBhcmFtZXRlciBpcyBhIHZhbGlkIGlucHV0IGZvciBEYXRlIGNvbnN0cnVjdG9yIChuZXcgRGF0ZSByZXR1cm5zIGEgdmFsaWQgZGF0ZSlcbiAqIEBwYXJhbSBvcGVyYXRvcklucHV0XG4gKi9cbmV4cG9ydCBjb25zdCBpc1ZhbGlkRGF0ZUlucHV0ID0gKG9wZXJhdG9ySW5wdXQ6IGFueSk6IG9wZXJhdG9ySW5wdXQgaXMgRGF0ZUlucHV0ID0+IHtcbiAgcmV0dXJuIG9wZXJhdG9ySW5wdXQgPT09IDAgfHwgISFvcGVyYXRvcklucHV0ICYmIGlzVmFsaWREYXRlKG5ldyBEYXRlKG9wZXJhdG9ySW5wdXQpKTtcbn07XG5cbi8qKlxuICogVmVyaWZpZXMgaWYgdGhlIHBhcmFtZXRlciBpcyBhIHZhbGlkIGRhdGUgcmFuZ2VcbiAqIEBwYXJhbSBvcGVyYXRvcklucHV0XG4gKi9cbmV4cG9ydCBjb25zdCBpc1ZhbGlkRGF0ZVJhbmdlID0gKG9wZXJhdG9ySW5wdXQ6IGFueSk6IG9wZXJhdG9ySW5wdXQgaXMgW0RhdGVJbnB1dCwgRGF0ZUlucHV0XSA9PiB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KG9wZXJhdG9ySW5wdXQpICYmXG4gICAgb3BlcmF0b3JJbnB1dC5sZW5ndGggPT09IDIgJiZcbiAgICBpc1ZhbGlkRGF0ZUlucHV0KG9wZXJhdG9ySW5wdXRbMF0pICYmXG4gICAgaXNWYWxpZERhdGVJbnB1dChvcGVyYXRvcklucHV0WzFdKSAmJlxuICAgIG5ldyBEYXRlKG9wZXJhdG9ySW5wdXRbMF0pIDw9IG5ldyBEYXRlKG9wZXJhdG9ySW5wdXRbMV0pO1xufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGF0IGEgdmFsdWUgaXMgYSBzdXBwb3J0ZWQgc2ltcGxlIHR5cGVcbiAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSB0byB2YWxpZGF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTdXBwb3J0ZWRTaW1wbGVUeXBlcyh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFN1cHBvcnRlZFNpbXBsZVR5cGVzIHtcbiAgcmV0dXJuIFsnc3RyaW5nJywgJ2Jvb2xlYW4nLCAnbnVtYmVyJywgJ3VuZGVmaW5lZCddLmluY2x1ZGVzKHR5cGVvZiB2YWx1ZSkgfHwgdmFsdWUgPT09IG51bGwgfHwgaXNWYWxpZERhdGUodmFsdWUpO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIHRoYXQgYSB2YWx1ZSBpcyBhIHN0cmluZ1xuICogQHBhcmFtIHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIHN0cmluZyB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnO1xufVxuXG4vKipcbiAqIFBhcnNlIGlucHV0IHRvIHJldHVybiBSZWdFeHBcbiAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSB0byB0ZXN0IHdoZXRoZXIgcGF0dGVybiBleGlzdHMgKGNhbiBiZSBzdHJpbmcgb3IgYXJyYXkgb2Ygc3RyaW5ncylcbiAqIEBwYXJhbSBpbnB1dFN0cmluZyByZWdleHAgcGF0dGVyblxuICogQHBhcmFtIGlucHV0UmVnRXhwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVJlZ0V4cChpbnB1dFJlZ0V4cDogc3RyaW5nKSB7XG4gIGlmIChpbnB1dFJlZ0V4cC5zdGFydHNXaXRoKCcvJykpIHtcbiAgICBjb25zdCBmaW5hbFNsYXNoID0gaW5wdXRSZWdFeHAubGFzdEluZGV4T2YoJy8nKTtcbiAgICBjb25zdCByZWdleHBQYXR0ZXJuID0gaW5wdXRSZWdFeHAuc2xpY2UoMSwgZmluYWxTbGFzaCk7XG4gICAgY29uc3QgcmVnZXhwRmxhZ3MgPSBpbnB1dFJlZ0V4cC5zbGljZShmaW5hbFNsYXNoICsgMSk7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAocmVnZXhwUGF0dGVybiwgcmVnZXhwRmxhZ3MpO1xuICB9XG4gIHJldHVybiBuZXcgUmVnRXhwKGlucHV0UmVnRXhwKTtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3IuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VuZ2luZS9vcGVyYXRvci9vcGVyYXRvci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUnVsZSBFbmdpbmUgb3BlcmF0b3JcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVyYXRvcjxMZWZ0RXhwb3NlZCA9IHVua25vd24sIFJpZ2h0RXhwb3NlZCA9IHVua25vd24sIExlZnRTdXBwb3J0ZWQgPSBMZWZ0RXhwb3NlZCwgUmlnaHRTdXBwb3J0ZWQgPSBSaWdodEV4cG9zZWQ+IHtcbiAgLyoqIE9wZXJhdG9yIG5hbWUgdG8gdXNlIGluIGNvbmRpdGlvbiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBQcmlvcml0eSBpbiB0aGUgZHJvcGRvd24gZGlzcGxheSAqL1xuICBvcmRlcmluZ1dlaWdodD86IG51bWJlcjtcbiAgLyoqIExlZnQgSGFuZCBWYWx1ZSB2YWxpZGF0b3IgZnVuY3Rpb24gKi9cbiAgdmFsaWRhdGVMaHM/OiB1bmtub3duIGV4dGVuZHMgTGVmdFN1cHBvcnRlZCA/IChvcGVyYW5kOiB1bmtub3duKSA9PiBib29sZWFuIDogKG9wZXJhbmQ6IHVua25vd24pID0+IG9wZXJhbmQgaXMgTGVmdFN1cHBvcnRlZDtcbiAgLyoqIFJpZ2h0IEhhbmQgVmFsdWUgdmFsaWRhdG9yIGZ1bmN0aW9uICovXG4gIHZhbGlkYXRlUmhzPzogdW5rbm93biBleHRlbmRzIFJpZ2h0U3VwcG9ydGVkID8gKG9wZXJhbmQ6IHVua25vd24pID0+IGJvb2xlYW4gOiAob3BlcmFuZDogdW5rbm93bikgPT4gb3BlcmFuZCBpcyBSaWdodFN1cHBvcnRlZDtcbiAgLyoqIEV2YWx1YXRlIHRoZSB2YWx1ZXMgKi9cbiAgZXZhbHVhdG9yOiAobGhzOiBMZWZ0U3VwcG9ydGVkLCByaHM6IFJpZ2h0U3VwcG9ydGVkKSA9PiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJ1bGUgRW5naW5lIHVuYXJ5IG9wZXJhdG9yXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVW5hcnlPcGVyYXRvcjxMID0gdW5rbm93bj4ge1xuICAvKiogT3BlcmF0b3IgbmFtZSB0byB1c2UgaW4gY29uZGl0aW9uICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIExlZnQgSGFuZCBWYWx1ZSB2YWxpZGF0b3IgZnVuY3Rpb24gKi9cbiAgdmFsaWRhdGVMaHM/OiB1bmtub3duIGV4dGVuZHMgTCA/IChvcGVyYW5kOiB1bmtub3duKSA9PiBib29sZWFuIDogKG9wZXJhbmQ6IHVua25vd24pID0+IG9wZXJhbmQgaXMgTDtcbiAgLyoqIEV2YWx1YXRlIHRoZSB2YWx1ZXMgKi9cbiAgZXZhbHVhdG9yOiAobGhzOiBMKSA9PiBib29sZWFuO1xufVxuXG4vKipcbiAqIEFsaWFzIGZvciBzdXBwb3J0ZWQgc2ltcGxlIHR5cGVzIGluIEFFTSB0byBiZSB1c2VkIGluIHRoZSBvcGVyYXRvcnMgdG8gYXZvaWQgcmVwZXRpdGlvbiBvZiB0aGVcbiAqIChzdHJpbmcgfCBib29sZWFuIHwgRGF0ZSB8IG51bWJlcilcbiAqIFRoaXMgdHlwZSByZWZlcmVuY2UgaXMgc3BlY2lmaWNhbGx5IGhhbmRsZWQgYnkgdGhlIHJ1bGUgb3BlcmF0b3IgZXh0cmFjdG9yLlxuICovXG5leHBvcnQgdHlwZSBTdXBwb3J0ZWRTaW1wbGVUeXBlcyA9IHN0cmluZyB8IGJvb2xlYW4gfCBEYXRlIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBBbnkgaW5wdXQgdGhhdCBjYW4gYmUgdXNlZCBhcyBzaW5nbGUgcGFyYW1ldGVyIGZvciBEYXRlIGNvbnN0cnVjdG9yIChEYXRlLCBzdHJpbmcsIG51bWJlcilcbiAqL1xuZXhwb3J0IHR5cGUgRGF0ZUlucHV0ID0gRGF0ZSB8IHN0cmluZyB8IG51bWJlcjtcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3IuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VuZ2luZS9vcGVyYXRvci9vcGVyYXRvci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmFjdHMgfSBmcm9tICcuLi9mYWN0L2ZhY3QuaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogUnVsZSBFbmdpbmUgb3BlcmF0b3JcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVyYXRvcjxMZWZ0RXhwb3NlZCA9IHVua25vd24sIFJpZ2h0RXhwb3NlZCA9IHVua25vd24sIExlZnRTdXBwb3J0ZWQgPSBMZWZ0RXhwb3NlZCwgUmlnaHRTdXBwb3J0ZWQgPSBSaWdodEV4cG9zZWQ+IHtcbiAgLyoqIE9wZXJhdG9yIG5hbWUgdG8gdXNlIGluIGNvbmRpdGlvbiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBQcmlvcml0eSBpbiB0aGUgZHJvcGRvd24gZGlzcGxheSAqL1xuICBvcmRlcmluZ1dlaWdodD86IG51bWJlcjtcbiAgLyoqIExlZnQgSGFuZCBWYWx1ZSB2YWxpZGF0b3IgZnVuY3Rpb24gKi9cbiAgdmFsaWRhdGVMaHM/OiB1bmtub3duIGV4dGVuZHMgTGVmdFN1cHBvcnRlZCA/IChvcGVyYW5kOiB1bmtub3duKSA9PiBib29sZWFuIDogKG9wZXJhbmQ6IHVua25vd24pID0+IG9wZXJhbmQgaXMgTGVmdFN1cHBvcnRlZDtcbiAgLyoqIFJpZ2h0IEhhbmQgVmFsdWUgdmFsaWRhdG9yIGZ1bmN0aW9uICovXG4gIHZhbGlkYXRlUmhzPzogdW5rbm93biBleHRlbmRzIFJpZ2h0U3VwcG9ydGVkID8gKG9wZXJhbmQ6IHVua25vd24pID0+IGJvb2xlYW4gOiAob3BlcmFuZDogdW5rbm93bikgPT4gb3BlcmFuZCBpcyBSaWdodFN1cHBvcnRlZDtcbiAgLyoqIEV2YWx1YXRlIHRoZSB2YWx1ZXMgKi9cbiAgZXZhbHVhdG9yOiAobGhzOiBMZWZ0U3VwcG9ydGVkLCByaHM6IFJpZ2h0U3VwcG9ydGVkLCBvcGVyYXRvckZhY3RWYWx1ZXM/OiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4pID0+IGJvb2xlYW47XG4gIC8qKiBMaXN0IG9mIGZhY3RzIG5hbWVzIHRoYXQgdGhlIG9wZXJhdG9yIGNhbiBkZXBlbmQgb24gKi9cbiAgZmFjdEltcGxpY2l0RGVwZW5kZW5jaWVzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogUnVsZSBFbmdpbmUgdW5hcnkgb3BlcmF0b3JcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVbmFyeU9wZXJhdG9yPEwgPSB1bmtub3duPiB7XG4gIC8qKiBPcGVyYXRvciBuYW1lIHRvIHVzZSBpbiBjb25kaXRpb24gKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogTGVmdCBIYW5kIFZhbHVlIHZhbGlkYXRvciBmdW5jdGlvbiAqL1xuICB2YWxpZGF0ZUxocz86IHVua25vd24gZXh0ZW5kcyBMID8gKG9wZXJhbmQ6IHVua25vd24pID0+IGJvb2xlYW4gOiAob3BlcmFuZDogdW5rbm93bikgPT4gb3BlcmFuZCBpcyBMO1xuICAvKiogRXZhbHVhdGUgdGhlIHZhbHVlcyAqL1xuICBldmFsdWF0b3I6IChsaHM6IEwpID0+IGJvb2xlYW47XG59XG5cbi8qKlxuICogQWxpYXMgZm9yIHN1cHBvcnRlZCBzaW1wbGUgdHlwZXMgaW4gQUVNIHRvIGJlIHVzZWQgaW4gdGhlIG9wZXJhdG9ycyB0byBhdm9pZCByZXBldGl0aW9uIG9mIHRoZVxuICogKHN0cmluZyB8IGJvb2xlYW4gfCBEYXRlIHwgbnVtYmVyKVxuICogVGhpcyB0eXBlIHJlZmVyZW5jZSBpcyBzcGVjaWZpY2FsbHkgaGFuZGxlZCBieSB0aGUgcnVsZSBvcGVyYXRvciBleHRyYWN0b3IuXG4gKi9cbmV4cG9ydCB0eXBlIFN1cHBvcnRlZFNpbXBsZVR5cGVzID0gc3RyaW5nIHwgYm9vbGVhbiB8IERhdGUgfCBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4vKipcbiAqIEFueSBpbnB1dCB0aGF0IGNhbiBiZSB1c2VkIGFzIHNpbmdsZSBwYXJhbWV0ZXIgZm9yIERhdGUgY29uc3RydWN0b3IgKERhdGUsIHN0cmluZywgbnVtYmVyKVxuICovXG5leHBvcnQgdHlwZSBEYXRlSW5wdXQgPSBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyO1xuIl19
@@ -1,7 +1,6 @@
1
- import { isRangeNumber, isString, isSupportedSimpleTypes, numberValidator } from '../operator.helpers';
1
+ import { isRangeNumber, isString, isSupportedSimpleTypes, numberValidator, parseRegExp } from '../operator.helpers';
2
2
  /**
3
3
  * Check if any of the variable's value is equal to a specific value
4
- *
5
4
  * @title contains
6
5
  */
7
6
  export const arrayContains = {
@@ -12,7 +11,6 @@ export const arrayContains = {
12
11
  };
13
12
  /**
14
13
  * Check if the specified text value is included in the text variable
15
- *
16
14
  * @title contains
17
15
  */
18
16
  export const stringContains = {
@@ -23,7 +21,6 @@ export const stringContains = {
23
21
  };
24
22
  /**
25
23
  * Check if every value of the variable is different from a specific value
26
- *
27
24
  * @title does not contain
28
25
  */
29
26
  export const notArrayContains = {
@@ -34,7 +31,6 @@ export const notArrayContains = {
34
31
  };
35
32
  /**
36
33
  * Check if the specified text value is not included in the text variable
37
- *
38
34
  * @title does not contain
39
35
  */
40
36
  export const notStringContains = {
@@ -45,7 +41,6 @@ export const notStringContains = {
45
41
  };
46
42
  /**
47
43
  * Check if every value of the variable equals a specific value
48
- *
49
44
  * @title all equal to
50
45
  */
51
46
  export const allEqual = {
@@ -57,7 +52,6 @@ export const allEqual = {
57
52
  };
58
53
  /**
59
54
  * Check if every numerical value of the variable is greater than a specific value
60
- *
61
55
  * @title all >
62
56
  */
63
57
  export const allGreater = {
@@ -68,7 +62,6 @@ export const allGreater = {
68
62
  };
69
63
  /**
70
64
  * Check if every value of the variable is in a specific list
71
- *
72
65
  * @title all in
73
66
  */
74
67
  export const allIn = {
@@ -79,7 +72,6 @@ export const allIn = {
79
72
  };
80
73
  /**
81
74
  * Check if every value of the variable is not in a specific list
82
- *
83
75
  * @title none in
84
76
  */
85
77
  export const allNotIn = {
@@ -90,7 +82,6 @@ export const allNotIn = {
90
82
  };
91
83
  /**
92
84
  * Check if every numerical value of the variable is lower than a specific value
93
- *
94
85
  * @title all <
95
86
  */
96
87
  export const allLower = {
@@ -101,13 +92,12 @@ export const allLower = {
101
92
  };
102
93
  /**
103
94
  * Check if every string value of the variable matches a specific pattern
104
- *
105
95
  * @title all match
106
96
  */
107
97
  export const allMatch = {
108
98
  name: 'allMatch',
109
- evaluator: (array, inputString) => {
110
- const regExp = new RegExp(inputString);
99
+ evaluator: (array, inputRegExp) => {
100
+ const regExp = parseRegExp(inputRegExp);
111
101
  return array.every((elementValue) => regExp.test(elementValue));
112
102
  },
113
103
  validateLhs: Array.isArray,
@@ -115,7 +105,6 @@ export const allMatch = {
115
105
  };
116
106
  /**
117
107
  * Check if every value of the variable is included in a specified range
118
- *
119
108
  * @title all between
120
109
  */
121
110
  export const allRangeNumber = {
@@ -126,7 +115,6 @@ export const allRangeNumber = {
126
115
  };
127
116
  /**
128
117
  * Check if at least one of the values of the variable equals a specific value
129
- *
130
118
  * @title one equal to
131
119
  */
132
120
  export const oneEquals = {
@@ -138,7 +126,6 @@ export const oneEquals = {
138
126
  };
139
127
  /**
140
128
  * Check if one of the values of the variable is greater than a specific value
141
- *
142
129
  * @title one >
143
130
  */
144
131
  export const oneGreater = {
@@ -149,7 +136,6 @@ export const oneGreater = {
149
136
  };
150
137
  /**
151
138
  * Check if at least one of the values of the variable is equal to one in a specified list
152
- *
153
139
  * @title one in
154
140
  */
155
141
  export const oneIn = {
@@ -160,7 +146,6 @@ export const oneIn = {
160
146
  };
161
147
  /**
162
148
  * Check if one of the values of the variable is lower than a specific value
163
- *
164
149
  * @title one <
165
150
  */
166
151
  export const oneLower = {
@@ -171,13 +156,12 @@ export const oneLower = {
171
156
  };
172
157
  /**
173
158
  * Check if one of the values of the variable matches a specific pattern
174
- *
175
159
  * @title one matches
176
160
  */
177
161
  export const oneMatches = {
178
162
  name: 'oneMatches',
179
- evaluator: (arrayString, value) => {
180
- const regExp = new RegExp(value);
163
+ evaluator: (arrayString, inputRegExp) => {
164
+ const regExp = parseRegExp(inputRegExp);
181
165
  return arrayString.some((elementValue) => regExp.test(elementValue));
182
166
  },
183
167
  validateLhs: Array.isArray,
@@ -185,7 +169,6 @@ export const oneMatches = {
185
169
  };
186
170
  /**
187
171
  * Check if one of the values of the variable is included in a specified range
188
- *
189
172
  * @title one between
190
173
  */
191
174
  export const oneRangeNumber = {
@@ -196,7 +179,6 @@ export const oneRangeNumber = {
196
179
  };
197
180
  /**
198
181
  * Check if the number of values of the variable is equal to a specific value
199
- *
200
182
  * @title number of =
201
183
  */
202
184
  export const lengthEquals = {
@@ -207,7 +189,6 @@ export const lengthEquals = {
207
189
  };
208
190
  /**
209
191
  * Check if the number of values of the variable is different from a specific value
210
- *
211
192
  * @title number of ≠
212
193
  */
213
194
  export const lengthNotEquals = {
@@ -218,7 +199,6 @@ export const lengthNotEquals = {
218
199
  };
219
200
  /**
220
201
  * Check if the number of values of the variable is lower or equal to a specific value
221
- *
222
202
  * @title number of ≤
223
203
  */
224
204
  export const lengthLessThanOrEquals = {
@@ -229,7 +209,6 @@ export const lengthLessThanOrEquals = {
229
209
  };
230
210
  /**
231
211
  * Check if the number of values of the variable is lower than a specific value
232
- *
233
212
  * @title number of <
234
213
  */
235
214
  export const lengthLessThan = {
@@ -240,7 +219,6 @@ export const lengthLessThan = {
240
219
  };
241
220
  /**
242
221
  * Check if the number of values of the variable is greater or equal to a specific value
243
- *
244
222
  * @title number of ≥
245
223
  */
246
224
  export const lengthGreaterThanOrEquals = {
@@ -251,7 +229,6 @@ export const lengthGreaterThanOrEquals = {
251
229
  };
252
230
  /**
253
231
  * Check if the number of values of the variable is greater than a specific value
254
- *
255
232
  * @title number of >
256
233
  */
257
234
  export const lengthGreaterThan = {
@@ -286,4 +263,4 @@ export const arrayBasedOperators = [
286
263
  oneRangeNumber,
287
264
  stringContains
288
265
  ];
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktYmFzZWQub3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VuZ2luZS9vcGVyYXRvci9vcGVyYXRvcnMvYXJyYXktYmFzZWQub3BlcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR3JHOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTJEO0lBQ25GLElBQUksRUFBRSxlQUFlO0lBQ3JCLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLFdBQVcsRUFBRSxLQUFLLENBQUMsT0FBTztJQUMxQixXQUFXLEVBQUUsc0JBQXNCO0NBQ3BDLENBQUM7QUFHRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUE2QjtJQUN0RCxJQUFJLEVBQUUsZ0JBQWdCO0lBQ3RCLFNBQVMsRUFBRSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFFLFdBQVcsRUFBRSxRQUFRO0lBQ3JCLFdBQVcsRUFBRSxRQUFRO0NBQ3RCLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQTJEO0lBQ3RGLElBQUksRUFBRSxrQkFBa0I7SUFDeEIsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEQsV0FBVyxFQUFFLEtBQUssQ0FBQyxPQUFPO0lBQzFCLFdBQVcsRUFBRSxz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O0lBQ2pCLFNBQVM7SUFDVCxVQUFVO0lBQ1YsS0FBSztJQUNMLFFBQVE7SUFDUixVQUFVO0lBQ1YsY0FBYztJQUNkLGNBQWM7Q0FDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc1JhbmdlTnVtYmVyLCBpc1N0cmluZywgaXNTdXBwb3J0ZWRTaW1wbGVUeXBlcywgbnVtYmVyVmFsaWRhdG9yfSBmcm9tICcuLi9vcGVyYXRvci5oZWxwZXJzJztcbmltcG9ydCB7IE9wZXJhdG9yLCBTdXBwb3J0ZWRTaW1wbGVUeXBlcyB9IGZyb20gJy4uL29wZXJhdG9yLmludGVyZmFjZSc7XG5cbi8qKlxuICogQ2hlY2sgaWYgYW55IG9mIHRoZSB2YXJpYWJsZSdzIHZhbHVlIGlzIGVxdWFsIHRvIGEgc3BlY2lmaWMgdmFsdWVcbiAqXG4gKiBAdGl0bGUgY29udGFpbnNcbiAqL1xuZXhwb3J0IGNvbnN0IGFycmF5Q29udGFpbnM6IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzPiA9IHtcbiAgbmFtZTogJ2FycmF5Q29udGFpbnMnLFxuICBldmFsdWF0b3I6ICh2YWx1ZSwgYikgPT4gdmFsdWUuaW5kZXhPZihiKSA+IC0xLFxuICB2YWxpZGF0ZUxoczogQXJyYXkuaXNBcnJheSxcbiAgdmFsaWRhdGVSaHM6IGlzU3VwcG9ydGVkU2ltcGxlVHlwZXNcbn07XG5cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgc3BlY2lmaWVkIHRleHQgdmFsdWUgaXMgaW5jbHVkZWQgaW4gdGhlIHRleHQgdmFyaWFibGVcbiAqXG4gKiBAdGl0bGUgY29udGFpbnNcbiAqL1xuZXhwb3J0IGNvbnN0IHN0cmluZ0NvbnRhaW5zOiBPcGVyYXRvcjxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIG5hbWU6ICdzdHJpbmdDb250YWlucycsXG4gIGV2YWx1YXRvcjogKGlucHV0U3RyaW5nLCBzdWJzdHJpbmcpID0+IGlucHV0U3RyaW5nLmluZGV4T2Yoc3Vic3RyaW5nKSA+IC0xLFxuICB2YWxpZGF0ZUxoczogaXNTdHJpbmcsXG4gIHZhbGlkYXRlUmhzOiBpc1N0cmluZ1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBldmVyeSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgaXMgZGlmZmVyZW50IGZyb20gYSBzcGVjaWZpYyB2YWx1ZVxuICpcbiAqIEB0aXRsZSBkb2VzIG5vdCBjb250YWluXG4gKi9cbmV4cG9ydCBjb25zdCBub3RBcnJheUNvbnRhaW5zOiBPcGVyYXRvcjxTdXBwb3J0ZWRTaW1wbGVUeXBlc1tdLCBTdXBwb3J0ZWRTaW1wbGVUeXBlcz4gPSB7XG4gIG5hbWU6ICdub3RBcnJheUNvbnRhaW5zJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIHZhbHVlKSA9PiBhcnJheS5pbmRleE9mKHZhbHVlKSA9PT0gLTEsXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogaXNTdXBwb3J0ZWRTaW1wbGVUeXBlc1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgc3BlY2lmaWVkIHRleHQgdmFsdWUgaXMgbm90IGluY2x1ZGVkIGluIHRoZSB0ZXh0IHZhcmlhYmxlXG4gKlxuICogQHRpdGxlIGRvZXMgbm90IGNvbnRhaW5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vdFN0cmluZ0NvbnRhaW5zOiBPcGVyYXRvcjxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIG5hbWU6ICdub3RTdHJpbmdDb250YWlucycsXG4gIGV2YWx1YXRvcjogKGlucHV0U3RyaW5nLCBzdWJzdHJpbmc6IGFueSkgPT4gaW5wdXRTdHJpbmcuaW5kZXhPZihzdWJzdHJpbmcpID09PSAtMSxcbiAgdmFsaWRhdGVMaHM6IGlzU3RyaW5nLFxuICB2YWxpZGF0ZVJoczogaXNTdHJpbmdcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgZXZlcnkgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGVxdWFscyBhIHNwZWNpZmljIHZhbHVlXG4gKlxuICogQHRpdGxlIGFsbCBlcXVhbCB0b1xuICovXG5leHBvcnQgY29uc3QgYWxsRXF1YWw6IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzPiA9IHtcbiAgbmFtZTogJ2FsbEVxdWFsJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVxZXFlcVxuICBldmFsdWF0b3I6IChhcnJheSwgdmFsdWUpID0+IGFycmF5LmV2ZXJ5KChlbGVtZW50VmFsdWUpID0+IGVsZW1lbnRWYWx1ZSA9PSB2YWx1ZSksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogaXNTdXBwb3J0ZWRTaW1wbGVUeXBlc1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBldmVyeSBudW1lcmljYWwgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGlzIGdyZWF0ZXIgdGhhbiBhIHNwZWNpZmljIHZhbHVlXG4gKlxuICogQHRpdGxlIGFsbCA+XG4gKi9cbmV4cG9ydCBjb25zdCBhbGxHcmVhdGVyOiBPcGVyYXRvcjxTdXBwb3J0ZWRTaW1wbGVUeXBlc1tdLCBudW1iZXIgfCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnYWxsR3JlYXRlcicsXG4gIGV2YWx1YXRvcjogKGFycmF5LCB2YWx1ZSkgPT4gYXJyYXkuZXZlcnkoKGVsZW1lbnRWYWx1ZSkgPT4gbnVtYmVyVmFsaWRhdG9yKGVsZW1lbnRWYWx1ZSkgJiYgK2VsZW1lbnRWYWx1ZSA+ICt2YWx1ZSksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogbnVtYmVyVmFsaWRhdG9yXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGV2ZXJ5IHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBpcyBpbiBhIHNwZWNpZmljIGxpc3RcbiAqXG4gKiBAdGl0bGUgYWxsIGluXG4gKi9cbmV4cG9ydCBjb25zdCBhbGxJbjogT3BlcmF0b3I8U3VwcG9ydGVkU2ltcGxlVHlwZXNbXSwgU3VwcG9ydGVkU2ltcGxlVHlwZXNbXT4gPSB7XG4gIG5hbWU6ICdhbGxJbicsXG4gIGV2YWx1YXRvcjogKGFycmF5LCB2YWx1ZSkgPT4gYXJyYXkuZXZlcnkoKGVsZW1lbnRWYWx1ZSkgPT4gdmFsdWUuaW5kZXhPZihlbGVtZW50VmFsdWUpID4gLTEpLFxuICB2YWxpZGF0ZUxoczogQXJyYXkuaXNBcnJheSxcbiAgdmFsaWRhdGVSaHM6IEFycmF5LmlzQXJyYXlcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgZXZlcnkgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGlzIG5vdCBpbiBhIHNwZWNpZmljIGxpc3RcbiAqXG4gKiBAdGl0bGUgbm9uZSBpblxuICovXG5leHBvcnQgY29uc3QgYWxsTm90SW46IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzW10+ID0ge1xuICBuYW1lOiAnYWxsTm90SW4nLFxuICBldmFsdWF0b3I6IChhcnJheSwgdmFsdWUpID0+ICFhcnJheS5zb21lKChlbGVtZW50VmFsdWUpID0+IHZhbHVlLmluZGV4T2YoZWxlbWVudFZhbHVlKSA+IC0xKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBBcnJheS5pc0FycmF5XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGV2ZXJ5IG51bWVyaWNhbCB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgaXMgbG93ZXIgdGhhbiBhIHNwZWNpZmljIHZhbHVlXG4gKlxuICogQHRpdGxlIGFsbCA8XG4gKi9cbmV4cG9ydCBjb25zdCBhbGxMb3dlcjogT3BlcmF0b3I8bnVtYmVyW10sIG51bWJlciB8IHN0cmluZz4gPSB7XG4gIG5hbWU6ICdhbGxMb3dlcicsXG4gIGV2YWx1YXRvcjogKGFycmF5TnVtYmVyLCBudW1iZXIpID0+IGFycmF5TnVtYmVyLmV2ZXJ5KChlbGVtZW50TnVtYmVyKSA9PiBlbGVtZW50TnVtYmVyIDwgK251bWJlciksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogbnVtYmVyVmFsaWRhdG9yXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGV2ZXJ5IHN0cmluZyB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgbWF0Y2hlcyBhIHNwZWNpZmljIHBhdHRlcm5cbiAqXG4gKiBAdGl0bGUgYWxsIG1hdGNoXG4gKi9cbmV4cG9ydCBjb25zdCBhbGxNYXRjaDogT3BlcmF0b3I8c3RyaW5nW10sIHN0cmluZz4gPSB7XG4gIG5hbWU6ICdhbGxNYXRjaCcsXG4gIGV2YWx1YXRvcjogKGFycmF5LCBpbnB1dFN0cmluZykgPT4ge1xuICAgIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAoaW5wdXRTdHJpbmcpO1xuICAgIHJldHVybiBhcnJheS5ldmVyeSgoZWxlbWVudFZhbHVlKSA9PiByZWdFeHAudGVzdChlbGVtZW50VmFsdWUpKTtcbiAgfSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBpc1N0cmluZ1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBldmVyeSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgaXMgaW5jbHVkZWQgaW4gYSBzcGVjaWZpZWQgcmFuZ2VcbiAqXG4gKiBAdGl0bGUgYWxsIGJldHdlZW5cbiAqL1xuZXhwb3J0IGNvbnN0IGFsbFJhbmdlTnVtYmVyOiBPcGVyYXRvcjxudW1iZXJbXSwgW251bWJlciB8IHN0cmluZywgbnVtYmVyIHwgc3RyaW5nXT4gPSB7XG4gIG5hbWU6ICdhbGxSYW5nZU51bWJlcicsXG4gIGV2YWx1YXRvcjogKHJhbmdlQXJyYXksIFtmcm9tLCB0b10pID0+XG4gICAgcmFuZ2VBcnJheS5ldmVyeSgoZWxlbWVudFZhbHVlKSA9PiBlbGVtZW50VmFsdWUgPj0gK2Zyb20gJiYgZWxlbWVudFZhbHVlIDw9ICt0byksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogaXNSYW5nZU51bWJlclxufTtcblxuLyoqXG4gKiBDaGVjayBpZiBhdCBsZWFzdCBvbmUgb2YgdGhlIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgZXF1YWxzIGEgc3BlY2lmaWMgdmFsdWVcbiAqXG4gKiBAdGl0bGUgb25lIGVxdWFsIHRvXG4gKi9cbmV4cG9ydCBjb25zdCBvbmVFcXVhbHM6IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzPiA9IHtcbiAgbmFtZTogJ29uZUVxdWFscycsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcWVxZXFcbiAgZXZhbHVhdG9yOiAoYXJyYXksIHZhbHVlKSA9PiBhcnJheS5zb21lKChlbGVtZW50VmFsdWUpID0+IGVsZW1lbnRWYWx1ZSA9PSB2YWx1ZSksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogaXNTdXBwb3J0ZWRTaW1wbGVUeXBlc1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBvbmUgb2YgdGhlIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgaXMgZ3JlYXRlciB0aGFuIGEgc3BlY2lmaWMgdmFsdWVcbiAqXG4gKiBAdGl0bGUgb25lID5cbiAqL1xuZXhwb3J0IGNvbnN0IG9uZUdyZWF0ZXI6IE9wZXJhdG9yPG51bWJlcltdLCBudW1iZXIgfCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnb25lR3JlYXRlcicsXG4gIGV2YWx1YXRvcjogKGFycmF5TnVtYmVyLCBudW1iZXIpID0+IGFycmF5TnVtYmVyLnNvbWUoKGVsZW1lbnRWYWx1ZSkgPT4gZWxlbWVudFZhbHVlID4gK251bWJlciksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogbnVtYmVyVmFsaWRhdG9yXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGF0IGxlYXN0IG9uZSBvZiB0aGUgdmFsdWVzIG9mIHRoZSB2YXJpYWJsZSBpcyBlcXVhbCB0byBvbmUgaW4gYSBzcGVjaWZpZWQgbGlzdFxuICpcbiAqIEB0aXRsZSBvbmUgaW5cbiAqL1xuZXhwb3J0IGNvbnN0IG9uZUluOiBPcGVyYXRvcjxTdXBwb3J0ZWRTaW1wbGVUeXBlc1tdLCBTdXBwb3J0ZWRTaW1wbGVUeXBlc1tdPiA9IHtcbiAgbmFtZTogJ29uZUluJyxcbiAgZXZhbHVhdG9yOiAoZmlyc3RBcnJheSwgc2Vjb25kQXJyYXkpID0+XG4gICAgZmlyc3RBcnJheS5zb21lKChlbGVtZW50VmFsdWUpID0+IHNlY29uZEFycmF5LmluZGV4T2YoZWxlbWVudFZhbHVlKSA+IC0xKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBBcnJheS5pc0FycmF5XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIG9uZSBvZiB0aGUgdmFsdWVzIG9mIHRoZSB2YXJpYWJsZSBpcyBsb3dlciB0aGFuIGEgc3BlY2lmaWMgdmFsdWVcbiAqXG4gKiBAdGl0bGUgb25lIDxcbiAqL1xuZXhwb3J0IGNvbnN0IG9uZUxvd2VyOiBPcGVyYXRvcjxudW1iZXJbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ29uZUxvd2VyJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXlOdW1iZXIsIG51bWJlcikgPT4gYXJyYXlOdW1iZXIuc29tZSgoZWxlbWVudFZhbHVlKSA9PiBlbGVtZW50VmFsdWUgPCArbnVtYmVyKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgb25lIG9mIHRoZSB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIG1hdGNoZXMgYSBzcGVjaWZpYyBwYXR0ZXJuXG4gKlxuICogQHRpdGxlIG9uZSBtYXRjaGVzXG4gKi9cbmV4cG9ydCBjb25zdCBvbmVNYXRjaGVzOiBPcGVyYXRvcjxzdHJpbmdbXSwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ29uZU1hdGNoZXMnLFxuICBldmFsdWF0b3I6IChhcnJheVN0cmluZywgdmFsdWUpID0+IHtcbiAgICBjb25zdCByZWdFeHAgPSBuZXcgUmVnRXhwKHZhbHVlKTtcbiAgICByZXR1cm4gYXJyYXlTdHJpbmcuc29tZSgoZWxlbWVudFZhbHVlKSA9PiByZWdFeHAudGVzdChlbGVtZW50VmFsdWUpKTtcbiAgfSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBpc1N0cmluZ1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBvbmUgb2YgdGhlIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgaXMgaW5jbHVkZWQgaW4gYSBzcGVjaWZpZWQgcmFuZ2VcbiAqXG4gKiBAdGl0bGUgb25lIGJldHdlZW5cbiAqL1xuZXhwb3J0IGNvbnN0IG9uZVJhbmdlTnVtYmVyOiBPcGVyYXRvcjxudW1iZXJbXSwgW251bWJlciB8IHN0cmluZywgbnVtYmVyIHwgc3RyaW5nXT4gPSB7XG4gIG5hbWU6ICdvbmVSYW5nZU51bWJlcicsXG4gIGV2YWx1YXRvcjogKGFycmF5TnVtYmVyLCBbZnJvbSwgdG9dKSA9PlxuICAgIGFycmF5TnVtYmVyLnNvbWUoKGVsZW1lbnRWYWx1ZSkgPT4gZWxlbWVudFZhbHVlID49ICtmcm9tICYmIGVsZW1lbnRWYWx1ZSA8PSArdG8pLFxuICB2YWxpZGF0ZUxoczogQXJyYXkuaXNBcnJheSxcbiAgdmFsaWRhdGVSaHM6IGlzUmFuZ2VOdW1iZXJcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGVxdWFsIHRvIGEgc3BlY2lmaWMgdmFsdWVcbiAqXG4gKiBAdGl0bGUgbnVtYmVyIG9mID1cbiAqL1xuZXhwb3J0IGNvbnN0IGxlbmd0aEVxdWFsczogT3BlcmF0b3I8YW55W10sIG51bWJlciB8IHN0cmluZz4gPSB7XG4gIG5hbWU6ICdsZW5ndGhFcXVhbHMnLFxuICBldmFsdWF0b3I6IChhcnJheSwgbGVuZ3RoKSA9PiBhcnJheS5sZW5ndGggPT09IE51bWJlcihsZW5ndGgpLFxuICB2YWxpZGF0ZUxoczogQXJyYXkuaXNBcnJheSxcbiAgdmFsaWRhdGVSaHM6IG51bWJlclZhbGlkYXRvclxufTtcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgbnVtYmVyIG9mIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgaXMgZGlmZmVyZW50IGZyb20gYSBzcGVjaWZpYyB2YWx1ZVxuICpcbiAqIEB0aXRsZSBudW1iZXIgb2Yg4omgXG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhOb3RFcXVhbHM6IE9wZXJhdG9yPGFueVtdLCBudW1iZXIgfCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnbGVuZ3RoTm90RXF1YWxzJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIGxlbmd0aCkgPT4gYXJyYXkubGVuZ3RoICE9PSBOdW1iZXIobGVuZ3RoKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGxvd2VyIG9yIGVxdWFsIHRvIGEgc3BlY2lmaWMgdmFsdWVcbiAqXG4gKiBAdGl0bGUgbnVtYmVyIG9mIOKJpFxuICovXG5leHBvcnQgY29uc3QgbGVuZ3RoTGVzc1RoYW5PckVxdWFsczogT3BlcmF0b3I8YW55W10sIG51bWJlciB8IHN0cmluZz4gPSB7XG4gIG5hbWU6ICdsZW5ndGhMZXNzVGhhbk9yRXF1YWxzJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIGxlbmd0aCkgPT4gYXJyYXkubGVuZ3RoIDw9ICtsZW5ndGgsXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogbnVtYmVyVmFsaWRhdG9yXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBudW1iZXIgb2YgdmFsdWVzIG9mIHRoZSB2YXJpYWJsZSBpcyBsb3dlciB0aGFuIGEgc3BlY2lmaWMgdmFsdWVcbiAqXG4gKiBAdGl0bGUgbnVtYmVyIG9mIDxcbiAqL1xuZXhwb3J0IGNvbnN0IGxlbmd0aExlc3NUaGFuOiBPcGVyYXRvcjxhbnlbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ2xlbmd0aExlc3NUaGFuJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIGxlbmd0aCkgPT4gYXJyYXkubGVuZ3RoIDwgK2xlbmd0aCxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGdyZWF0ZXIgb3IgZXF1YWwgdG8gYSBzcGVjaWZpYyB2YWx1ZVxuICpcbiAqIEB0aXRsZSBudW1iZXIgb2Yg4omlXG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhHcmVhdGVyVGhhbk9yRXF1YWxzOiBPcGVyYXRvcjxhbnlbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ2xlbmd0aEdyZWF0ZXJUaGFuT3JFcXVhbHMnLFxuICBldmFsdWF0b3I6IChhcnJheSwgbGVuZ3RoKSA9PiBhcnJheS5sZW5ndGggPj0gK2xlbmd0aCxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGdyZWF0ZXIgdGhhbiBhIHNwZWNpZmljIHZhbHVlXG4gKlxuICogQHRpdGxlIG51bWJlciBvZiA+XG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhHcmVhdGVyVGhhbjogT3BlcmF0b3I8YW55W10sIG51bWJlciB8IHN0cmluZz4gPSB7XG4gIG5hbWU6ICdsZW5ndGhHcmVhdGVyVGhhbicsXG4gIGV2YWx1YXRvcjogKGFycmF5LCBsZW5ndGgpID0+IGFycmF5Lmxlbmd0aCA+ICtsZW5ndGgsXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogbnVtYmVyVmFsaWRhdG9yXG59O1xuXG4vKiogTGlzdCBvZiBhbGwgZGVmYXVsdCBhcnJheSBvcGVyYXRvcnMgKi9cbmV4cG9ydCBjb25zdCBhcnJheUJhc2VkT3BlcmF0b3JzID0gW1xuICBhbGxFcXVhbCxcbiAgYWxsR3JlYXRlcixcbiAgYWxsSW4sXG4gIGFsbExvd2VyLFxuICBhbGxNYXRjaCxcbiAgYWxsTm90SW4sXG4gIGFsbFJhbmdlTnVtYmVyLFxuICBhcnJheUNvbnRhaW5zLFxuICBsZW5ndGhFcXVhbHMsXG4gIGxlbmd0aE5vdEVxdWFscyxcbiAgbGVuZ3RoR3JlYXRlclRoYW4sXG4gIGxlbmd0aEdyZWF0ZXJUaGFuT3JFcXVhbHMsXG4gIGxlbmd0aExlc3NUaGFuLFxuICBsZW5ndGhMZXNzVGhhbk9yRXF1YWxzLFxuICBub3RBcnJheUNvbnRhaW5zLFxuICBub3RTdHJpbmdDb250YWlucyxcbiAgb25lRXF1YWxzLFxuICBvbmVHcmVhdGVyLFxuICBvbmVJbixcbiAgb25lTG93ZXIsXG4gIG9uZU1hdGNoZXMsXG4gIG9uZVJhbmdlTnVtYmVyLFxuICBzdHJpbmdDb250YWluc1xuXTtcbiJdfQ==
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktYmFzZWQub3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VuZ2luZS9vcGVyYXRvci9vcGVyYXRvcnMvYXJyYXktYmFzZWQub3BlcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUdsSDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTJEO0lBQ25GLElBQUksRUFBRSxlQUFlO0lBQ3JCLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLFdBQVcsRUFBRSxLQUFLLENBQUMsT0FBTztJQUMxQixXQUFXLEVBQUUsc0JBQXNCO0NBQ3BDLENBQUM7QUFHRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQTZCO0lBQ3RELElBQUksRUFBRSxnQkFBZ0I7SUFDdEIsU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUUsV0FBVyxFQUFFLFFBQVE7SUFDckIsV0FBVyxFQUFFLFFBQVE7Q0FDdEIsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUEyRDtJQUN0RixJQUFJLEVBQUUsa0JBQWtCO0lBQ3hCLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hELFdBQVcsRUFBRSxLQUFLLENBQUMsT0FBTztJQUMxQixXQUFX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QUNWLEtBQUs7SUFDTCxRQUFRO0lBQ1IsVUFBVTtJQUNWLGNBQWM7SUFDZCxjQUFjO0NBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNSYW5nZU51bWJlciwgaXNTdHJpbmcsIGlzU3VwcG9ydGVkU2ltcGxlVHlwZXMsIG51bWJlclZhbGlkYXRvciwgcGFyc2VSZWdFeHB9IGZyb20gJy4uL29wZXJhdG9yLmhlbHBlcnMnO1xuaW1wb3J0IHsgT3BlcmF0b3IsIFN1cHBvcnRlZFNpbXBsZVR5cGVzIH0gZnJvbSAnLi4vb3BlcmF0b3IuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBDaGVjayBpZiBhbnkgb2YgdGhlIHZhcmlhYmxlJ3MgdmFsdWUgaXMgZXF1YWwgdG8gYSBzcGVjaWZpYyB2YWx1ZVxuICogQHRpdGxlIGNvbnRhaW5zXG4gKi9cbmV4cG9ydCBjb25zdCBhcnJheUNvbnRhaW5zOiBPcGVyYXRvcjxTdXBwb3J0ZWRTaW1wbGVUeXBlc1tdLCBTdXBwb3J0ZWRTaW1wbGVUeXBlcz4gPSB7XG4gIG5hbWU6ICdhcnJheUNvbnRhaW5zJyxcbiAgZXZhbHVhdG9yOiAodmFsdWUsIGIpID0+IHZhbHVlLmluZGV4T2YoYikgPiAtMSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBpc1N1cHBvcnRlZFNpbXBsZVR5cGVzXG59O1xuXG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIHNwZWNpZmllZCB0ZXh0IHZhbHVlIGlzIGluY2x1ZGVkIGluIHRoZSB0ZXh0IHZhcmlhYmxlXG4gKiBAdGl0bGUgY29udGFpbnNcbiAqL1xuZXhwb3J0IGNvbnN0IHN0cmluZ0NvbnRhaW5zOiBPcGVyYXRvcjxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIG5hbWU6ICdzdHJpbmdDb250YWlucycsXG4gIGV2YWx1YXRvcjogKGlucHV0U3RyaW5nLCBzdWJzdHJpbmcpID0+IGlucHV0U3RyaW5nLmluZGV4T2Yoc3Vic3RyaW5nKSA+IC0xLFxuICB2YWxpZGF0ZUxoczogaXNTdHJpbmcsXG4gIHZhbGlkYXRlUmhzOiBpc1N0cmluZ1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBldmVyeSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgaXMgZGlmZmVyZW50IGZyb20gYSBzcGVjaWZpYyB2YWx1ZVxuICogQHRpdGxlIGRvZXMgbm90IGNvbnRhaW5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vdEFycmF5Q29udGFpbnM6IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzPiA9IHtcbiAgbmFtZTogJ25vdEFycmF5Q29udGFpbnMnLFxuICBldmFsdWF0b3I6IChhcnJheSwgdmFsdWUpID0+IGFycmF5LmluZGV4T2YodmFsdWUpID09PSAtMSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBpc1N1cHBvcnRlZFNpbXBsZVR5cGVzXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBzcGVjaWZpZWQgdGV4dCB2YWx1ZSBpcyBub3QgaW5jbHVkZWQgaW4gdGhlIHRleHQgdmFyaWFibGVcbiAqIEB0aXRsZSBkb2VzIG5vdCBjb250YWluXG4gKi9cbmV4cG9ydCBjb25zdCBub3RTdHJpbmdDb250YWluczogT3BlcmF0b3I8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnbm90U3RyaW5nQ29udGFpbnMnLFxuICBldmFsdWF0b3I6IChpbnB1dFN0cmluZywgc3Vic3RyaW5nOiBhbnkpID0+IGlucHV0U3RyaW5nLmluZGV4T2Yoc3Vic3RyaW5nKSA9PT0gLTEsXG4gIHZhbGlkYXRlTGhzOiBpc1N0cmluZyxcbiAgdmFsaWRhdGVSaHM6IGlzU3RyaW5nXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGV2ZXJ5IHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBlcXVhbHMgYSBzcGVjaWZpYyB2YWx1ZVxuICogQHRpdGxlIGFsbCBlcXVhbCB0b1xuICovXG5leHBvcnQgY29uc3QgYWxsRXF1YWw6IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzPiA9IHtcbiAgbmFtZTogJ2FsbEVxdWFsJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVxZXFlcVxuICBldmFsdWF0b3I6IChhcnJheSwgdmFsdWUpID0+IGFycmF5LmV2ZXJ5KChlbGVtZW50VmFsdWUpID0+IGVsZW1lbnRWYWx1ZSA9PSB2YWx1ZSksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogaXNTdXBwb3J0ZWRTaW1wbGVUeXBlc1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBldmVyeSBudW1lcmljYWwgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGlzIGdyZWF0ZXIgdGhhbiBhIHNwZWNpZmljIHZhbHVlXG4gKiBAdGl0bGUgYWxsID5cbiAqL1xuZXhwb3J0IGNvbnN0IGFsbEdyZWF0ZXI6IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIG51bWJlciB8IHN0cmluZz4gPSB7XG4gIG5hbWU6ICdhbGxHcmVhdGVyJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIHZhbHVlKSA9PiBhcnJheS5ldmVyeSgoZWxlbWVudFZhbHVlKSA9PiBudW1iZXJWYWxpZGF0b3IoZWxlbWVudFZhbHVlKSAmJiArZWxlbWVudFZhbHVlID4gK3ZhbHVlKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgZXZlcnkgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGlzIGluIGEgc3BlY2lmaWMgbGlzdFxuICogQHRpdGxlIGFsbCBpblxuICovXG5leHBvcnQgY29uc3QgYWxsSW46IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzW10+ID0ge1xuICBuYW1lOiAnYWxsSW4nLFxuICBldmFsdWF0b3I6IChhcnJheSwgdmFsdWUpID0+IGFycmF5LmV2ZXJ5KChlbGVtZW50VmFsdWUpID0+IHZhbHVlLmluZGV4T2YoZWxlbWVudFZhbHVlKSA+IC0xKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBBcnJheS5pc0FycmF5XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGV2ZXJ5IHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBpcyBub3QgaW4gYSBzcGVjaWZpYyBsaXN0XG4gKiBAdGl0bGUgbm9uZSBpblxuICovXG5leHBvcnQgY29uc3QgYWxsTm90SW46IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzW10+ID0ge1xuICBuYW1lOiAnYWxsTm90SW4nLFxuICBldmFsdWF0b3I6IChhcnJheSwgdmFsdWUpID0+ICFhcnJheS5zb21lKChlbGVtZW50VmFsdWUpID0+IHZhbHVlLmluZGV4T2YoZWxlbWVudFZhbHVlKSA+IC0xKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBBcnJheS5pc0FycmF5XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGV2ZXJ5IG51bWVyaWNhbCB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgaXMgbG93ZXIgdGhhbiBhIHNwZWNpZmljIHZhbHVlXG4gKiBAdGl0bGUgYWxsIDxcbiAqL1xuZXhwb3J0IGNvbnN0IGFsbExvd2VyOiBPcGVyYXRvcjxudW1iZXJbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ2FsbExvd2VyJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXlOdW1iZXIsIG51bWJlcikgPT4gYXJyYXlOdW1iZXIuZXZlcnkoKGVsZW1lbnROdW1iZXIpID0+IGVsZW1lbnROdW1iZXIgPCArbnVtYmVyKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgZXZlcnkgc3RyaW5nIHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBtYXRjaGVzIGEgc3BlY2lmaWMgcGF0dGVyblxuICogQHRpdGxlIGFsbCBtYXRjaFxuICovXG5leHBvcnQgY29uc3QgYWxsTWF0Y2g6IE9wZXJhdG9yPHN0cmluZ1tdLCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnYWxsTWF0Y2gnLFxuICBldmFsdWF0b3I6IChhcnJheSwgaW5wdXRSZWdFeHApID0+IHtcbiAgICBjb25zdCByZWdFeHAgPSBwYXJzZVJlZ0V4cChpbnB1dFJlZ0V4cCk7XG4gICAgcmV0dXJuIGFycmF5LmV2ZXJ5KChlbGVtZW50VmFsdWUpID0+IHJlZ0V4cC50ZXN0KGVsZW1lbnRWYWx1ZSkpO1xuICB9LFxuICB2YWxpZGF0ZUxoczogQXJyYXkuaXNBcnJheSxcbiAgdmFsaWRhdGVSaHM6IGlzU3RyaW5nXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGV2ZXJ5IHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBpcyBpbmNsdWRlZCBpbiBhIHNwZWNpZmllZCByYW5nZVxuICogQHRpdGxlIGFsbCBiZXR3ZWVuXG4gKi9cbmV4cG9ydCBjb25zdCBhbGxSYW5nZU51bWJlcjogT3BlcmF0b3I8bnVtYmVyW10sIFtudW1iZXIgfCBzdHJpbmcsIG51bWJlciB8IHN0cmluZ10+ID0ge1xuICBuYW1lOiAnYWxsUmFuZ2VOdW1iZXInLFxuICBldmFsdWF0b3I6IChyYW5nZUFycmF5LCBbZnJvbSwgdG9dKSA9PlxuICAgIHJhbmdlQXJyYXkuZXZlcnkoKGVsZW1lbnRWYWx1ZSkgPT4gZWxlbWVudFZhbHVlID49ICtmcm9tICYmIGVsZW1lbnRWYWx1ZSA8PSArdG8pLFxuICB2YWxpZGF0ZUxoczogQXJyYXkuaXNBcnJheSxcbiAgdmFsaWRhdGVSaHM6IGlzUmFuZ2VOdW1iZXJcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYXQgbGVhc3Qgb25lIG9mIHRoZSB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGVxdWFscyBhIHNwZWNpZmljIHZhbHVlXG4gKiBAdGl0bGUgb25lIGVxdWFsIHRvXG4gKi9cbmV4cG9ydCBjb25zdCBvbmVFcXVhbHM6IE9wZXJhdG9yPFN1cHBvcnRlZFNpbXBsZVR5cGVzW10sIFN1cHBvcnRlZFNpbXBsZVR5cGVzPiA9IHtcbiAgbmFtZTogJ29uZUVxdWFscycsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcWVxZXFcbiAgZXZhbHVhdG9yOiAoYXJyYXksIHZhbHVlKSA9PiBhcnJheS5zb21lKChlbGVtZW50VmFsdWUpID0+IGVsZW1lbnRWYWx1ZSA9PSB2YWx1ZSksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogaXNTdXBwb3J0ZWRTaW1wbGVUeXBlc1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBvbmUgb2YgdGhlIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgaXMgZ3JlYXRlciB0aGFuIGEgc3BlY2lmaWMgdmFsdWVcbiAqIEB0aXRsZSBvbmUgPlxuICovXG5leHBvcnQgY29uc3Qgb25lR3JlYXRlcjogT3BlcmF0b3I8bnVtYmVyW10sIG51bWJlciB8IHN0cmluZz4gPSB7XG4gIG5hbWU6ICdvbmVHcmVhdGVyJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXlOdW1iZXIsIG51bWJlcikgPT4gYXJyYXlOdW1iZXIuc29tZSgoZWxlbWVudFZhbHVlKSA9PiBlbGVtZW50VmFsdWUgPiArbnVtYmVyKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYXQgbGVhc3Qgb25lIG9mIHRoZSB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGVxdWFsIHRvIG9uZSBpbiBhIHNwZWNpZmllZCBsaXN0XG4gKiBAdGl0bGUgb25lIGluXG4gKi9cbmV4cG9ydCBjb25zdCBvbmVJbjogT3BlcmF0b3I8U3VwcG9ydGVkU2ltcGxlVHlwZXNbXSwgU3VwcG9ydGVkU2ltcGxlVHlwZXNbXT4gPSB7XG4gIG5hbWU6ICdvbmVJbicsXG4gIGV2YWx1YXRvcjogKGZpcnN0QXJyYXksIHNlY29uZEFycmF5KSA9PlxuICAgIGZpcnN0QXJyYXkuc29tZSgoZWxlbWVudFZhbHVlKSA9PiBzZWNvbmRBcnJheS5pbmRleE9mKGVsZW1lbnRWYWx1ZSkgPiAtMSksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogQXJyYXkuaXNBcnJheVxufTtcblxuLyoqXG4gKiBDaGVjayBpZiBvbmUgb2YgdGhlIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgaXMgbG93ZXIgdGhhbiBhIHNwZWNpZmljIHZhbHVlXG4gKiBAdGl0bGUgb25lIDxcbiAqL1xuZXhwb3J0IGNvbnN0IG9uZUxvd2VyOiBPcGVyYXRvcjxudW1iZXJbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ29uZUxvd2VyJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXlOdW1iZXIsIG51bWJlcikgPT4gYXJyYXlOdW1iZXIuc29tZSgoZWxlbWVudFZhbHVlKSA9PiBlbGVtZW50VmFsdWUgPCArbnVtYmVyKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgb25lIG9mIHRoZSB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIG1hdGNoZXMgYSBzcGVjaWZpYyBwYXR0ZXJuXG4gKiBAdGl0bGUgb25lIG1hdGNoZXNcbiAqL1xuZXhwb3J0IGNvbnN0IG9uZU1hdGNoZXM6IE9wZXJhdG9yPHN0cmluZ1tdLCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnb25lTWF0Y2hlcycsXG4gIGV2YWx1YXRvcjogKGFycmF5U3RyaW5nLCBpbnB1dFJlZ0V4cCkgPT4ge1xuICAgIGNvbnN0IHJlZ0V4cCA9IHBhcnNlUmVnRXhwKGlucHV0UmVnRXhwKTtcbiAgICByZXR1cm4gYXJyYXlTdHJpbmcuc29tZSgoZWxlbWVudFZhbHVlKSA9PiByZWdFeHAudGVzdChlbGVtZW50VmFsdWUpKTtcbiAgfSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBpc1N0cmluZ1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBvbmUgb2YgdGhlIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgaXMgaW5jbHVkZWQgaW4gYSBzcGVjaWZpZWQgcmFuZ2VcbiAqIEB0aXRsZSBvbmUgYmV0d2VlblxuICovXG5leHBvcnQgY29uc3Qgb25lUmFuZ2VOdW1iZXI6IE9wZXJhdG9yPG51bWJlcltdLCBbbnVtYmVyIHwgc3RyaW5nLCBudW1iZXIgfCBzdHJpbmddPiA9IHtcbiAgbmFtZTogJ29uZVJhbmdlTnVtYmVyJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXlOdW1iZXIsIFtmcm9tLCB0b10pID0+XG4gICAgYXJyYXlOdW1iZXIuc29tZSgoZWxlbWVudFZhbHVlKSA9PiBlbGVtZW50VmFsdWUgPj0gK2Zyb20gJiYgZWxlbWVudFZhbHVlIDw9ICt0byksXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogaXNSYW5nZU51bWJlclxufTtcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgbnVtYmVyIG9mIHZhbHVlcyBvZiB0aGUgdmFyaWFibGUgaXMgZXF1YWwgdG8gYSBzcGVjaWZpYyB2YWx1ZVxuICogQHRpdGxlIG51bWJlciBvZiA9XG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhFcXVhbHM6IE9wZXJhdG9yPGFueVtdLCBudW1iZXIgfCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnbGVuZ3RoRXF1YWxzJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIGxlbmd0aCkgPT4gYXJyYXkubGVuZ3RoID09PSBOdW1iZXIobGVuZ3RoKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGRpZmZlcmVudCBmcm9tIGEgc3BlY2lmaWMgdmFsdWVcbiAqIEB0aXRsZSBudW1iZXIgb2Yg4omgXG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhOb3RFcXVhbHM6IE9wZXJhdG9yPGFueVtdLCBudW1iZXIgfCBzdHJpbmc+ID0ge1xuICBuYW1lOiAnbGVuZ3RoTm90RXF1YWxzJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIGxlbmd0aCkgPT4gYXJyYXkubGVuZ3RoICE9PSBOdW1iZXIobGVuZ3RoKSxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGxvd2VyIG9yIGVxdWFsIHRvIGEgc3BlY2lmaWMgdmFsdWVcbiAqIEB0aXRsZSBudW1iZXIgb2Yg4omkXG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhMZXNzVGhhbk9yRXF1YWxzOiBPcGVyYXRvcjxhbnlbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ2xlbmd0aExlc3NUaGFuT3JFcXVhbHMnLFxuICBldmFsdWF0b3I6IChhcnJheSwgbGVuZ3RoKSA9PiBhcnJheS5sZW5ndGggPD0gK2xlbmd0aCxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGxvd2VyIHRoYW4gYSBzcGVjaWZpYyB2YWx1ZVxuICogQHRpdGxlIG51bWJlciBvZiA8XG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhMZXNzVGhhbjogT3BlcmF0b3I8YW55W10sIG51bWJlciB8IHN0cmluZz4gPSB7XG4gIG5hbWU6ICdsZW5ndGhMZXNzVGhhbicsXG4gIGV2YWx1YXRvcjogKGFycmF5LCBsZW5ndGgpID0+IGFycmF5Lmxlbmd0aCA8ICtsZW5ndGgsXG4gIHZhbGlkYXRlTGhzOiBBcnJheS5pc0FycmF5LFxuICB2YWxpZGF0ZVJoczogbnVtYmVyVmFsaWRhdG9yXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBudW1iZXIgb2YgdmFsdWVzIG9mIHRoZSB2YXJpYWJsZSBpcyBncmVhdGVyIG9yIGVxdWFsIHRvIGEgc3BlY2lmaWMgdmFsdWVcbiAqIEB0aXRsZSBudW1iZXIgb2Yg4omlXG4gKi9cbmV4cG9ydCBjb25zdCBsZW5ndGhHcmVhdGVyVGhhbk9yRXF1YWxzOiBPcGVyYXRvcjxhbnlbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ2xlbmd0aEdyZWF0ZXJUaGFuT3JFcXVhbHMnLFxuICBldmFsdWF0b3I6IChhcnJheSwgbGVuZ3RoKSA9PiBhcnJheS5sZW5ndGggPj0gK2xlbmd0aCxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIG51bWJlciBvZiB2YWx1ZXMgb2YgdGhlIHZhcmlhYmxlIGlzIGdyZWF0ZXIgdGhhbiBhIHNwZWNpZmljIHZhbHVlXG4gKiBAdGl0bGUgbnVtYmVyIG9mID5cbiAqL1xuZXhwb3J0IGNvbnN0IGxlbmd0aEdyZWF0ZXJUaGFuOiBPcGVyYXRvcjxhbnlbXSwgbnVtYmVyIHwgc3RyaW5nPiA9IHtcbiAgbmFtZTogJ2xlbmd0aEdyZWF0ZXJUaGFuJyxcbiAgZXZhbHVhdG9yOiAoYXJyYXksIGxlbmd0aCkgPT4gYXJyYXkubGVuZ3RoID4gK2xlbmd0aCxcbiAgdmFsaWRhdGVMaHM6IEFycmF5LmlzQXJyYXksXG4gIHZhbGlkYXRlUmhzOiBudW1iZXJWYWxpZGF0b3Jcbn07XG5cbi8qKiBMaXN0IG9mIGFsbCBkZWZhdWx0IGFycmF5IG9wZXJhdG9ycyAqL1xuZXhwb3J0IGNvbnN0IGFycmF5QmFzZWRPcGVyYXRvcnMgPSBbXG4gIGFsbEVxdWFsLFxuICBhbGxHcmVhdGVyLFxuICBhbGxJbixcbiAgYWxsTG93ZXIsXG4gIGFsbE1hdGNoLFxuICBhbGxOb3RJbixcbiAgYWxsUmFuZ2VOdW1iZXIsXG4gIGFycmF5Q29udGFpbnMsXG4gIGxlbmd0aEVxdWFscyxcbiAgbGVuZ3RoTm90RXF1YWxzLFxuICBsZW5ndGhHcmVhdGVyVGhhbixcbiAgbGVuZ3RoR3JlYXRlclRoYW5PckVxdWFscyxcbiAgbGVuZ3RoTGVzc1RoYW4sXG4gIGxlbmd0aExlc3NUaGFuT3JFcXVhbHMsXG4gIG5vdEFycmF5Q29udGFpbnMsXG4gIG5vdFN0cmluZ0NvbnRhaW5zLFxuICBvbmVFcXVhbHMsXG4gIG9uZUdyZWF0ZXIsXG4gIG9uZUluLFxuICBvbmVMb3dlcixcbiAgb25lTWF0Y2hlcyxcbiAgb25lUmFuZ2VOdW1iZXIsXG4gIHN0cmluZ0NvbnRhaW5zXG5dO1xuIl19