@sbb-esta/lyne-elements 2.4.1 → 2.5.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 (222) hide show
  1. package/button/common/button-common.d.ts +1 -2
  2. package/button/common/button-common.d.ts.map +1 -1
  3. package/button/common.js +4 -4
  4. package/clock/clock.d.ts +8 -0
  5. package/clock/clock.d.ts.map +1 -1
  6. package/clock.js +40 -31
  7. package/core/a11y/focus.d.ts.map +1 -1
  8. package/core/base-elements.js +36 -36
  9. package/core/controllers/inert-controller.d.ts +3 -3
  10. package/core/controllers/inert-controller.d.ts.map +1 -1
  11. package/core/controllers.js +13 -12
  12. package/core/decorators/force-type.d.ts +1 -1
  13. package/core/decorators/force-type.d.ts.map +1 -1
  14. package/core/decorators.js +39 -40
  15. package/core/i18n/i18n.d.ts +1 -0
  16. package/core/i18n/i18n.d.ts.map +1 -1
  17. package/core/i18n.js +95 -89
  18. package/core/mixins/animation-complete-mixin.d.ts +13 -0
  19. package/core/mixins/animation-complete-mixin.d.ts.map +1 -0
  20. package/core/mixins.d.ts +1 -0
  21. package/core/mixins.d.ts.map +1 -1
  22. package/core/mixins.js +192 -152
  23. package/core/styles/core.scss +81 -0
  24. package/core/styles/mixins/link.scss +14 -0
  25. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +3 -0
  26. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +4 -1
  27. package/core.css +51 -1
  28. package/custom-elements.json +3542 -393
  29. package/date-input/date-input.d.ts +11 -3
  30. package/date-input/date-input.d.ts.map +1 -1
  31. package/date-input.js +44 -38
  32. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  33. package/datepicker/datepicker.js +12 -12
  34. package/development/button/common/button-common.d.ts +1 -2
  35. package/development/button/common/button-common.d.ts.map +1 -1
  36. package/development/button/common.js +26 -24
  37. package/development/clock/clock.d.ts +8 -0
  38. package/development/clock/clock.d.ts.map +1 -1
  39. package/development/clock.js +20 -2
  40. package/development/core/a11y/focus.d.ts.map +1 -1
  41. package/development/core/a11y.js +1 -1
  42. package/development/core/base-elements.js +6 -6
  43. package/development/core/controllers/inert-controller.d.ts +3 -3
  44. package/development/core/controllers/inert-controller.d.ts.map +1 -1
  45. package/development/core/controllers.js +6 -7
  46. package/development/core/decorators/force-type.d.ts +1 -1
  47. package/development/core/decorators/force-type.d.ts.map +1 -1
  48. package/development/core/decorators.js +5 -5
  49. package/development/core/i18n/i18n.d.ts +1 -0
  50. package/development/core/i18n/i18n.d.ts.map +1 -1
  51. package/development/core/i18n.js +8 -1
  52. package/development/core/mixins/animation-complete-mixin.d.ts +13 -0
  53. package/development/core/mixins/animation-complete-mixin.d.ts.map +1 -0
  54. package/development/core/mixins.d.ts +1 -0
  55. package/development/core/mixins.d.ts.map +1 -1
  56. package/development/core/mixins.js +50 -1
  57. package/development/date-input/date-input.d.ts +11 -3
  58. package/development/date-input/date-input.d.ts.map +1 -1
  59. package/development/date-input.js +26 -18
  60. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  61. package/development/datepicker/datepicker.js +2 -1
  62. package/development/dialog/dialog-title/dialog-title.d.ts +3 -1
  63. package/development/dialog/dialog-title/dialog-title.d.ts.map +1 -1
  64. package/development/dialog/dialog-title.js +7 -2
  65. package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  66. package/development/flip-card/flip-card-details.js +5 -3
  67. package/development/header/common.js +2 -2
  68. package/development/link/common.js +13 -1
  69. package/development/menu/menu/menu.d.ts.map +1 -1
  70. package/development/menu/menu.js +4 -1
  71. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  72. package/development/navigation/navigation.js +4 -1
  73. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  74. package/development/overlay.js +4 -1
  75. package/development/sbb-tokens-CSAKTXUi.js +1 -1
  76. package/development/sidebar/common.d.ts +1 -0
  77. package/development/sidebar/common.d.ts.map +1 -0
  78. package/development/sidebar/common.js +114 -0
  79. package/development/sidebar/icon-sidebar/icon-sidebar.d.ts +23 -0
  80. package/development/sidebar/icon-sidebar/icon-sidebar.d.ts.map +1 -0
  81. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.d.ts +19 -0
  82. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.d.ts.map +1 -0
  83. package/development/sidebar/icon-sidebar-button.d.ts +2 -0
  84. package/development/sidebar/icon-sidebar-button.d.ts.map +1 -0
  85. package/development/sidebar/icon-sidebar-button.js +28 -0
  86. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.d.ts +23 -0
  87. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.d.ts.map +1 -0
  88. package/development/sidebar/icon-sidebar-container.d.ts +2 -0
  89. package/development/sidebar/icon-sidebar-container.d.ts.map +1 -0
  90. package/development/sidebar/icon-sidebar-container.js +45 -0
  91. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.d.ts +17 -0
  92. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.d.ts.map +1 -0
  93. package/development/sidebar/icon-sidebar-content.d.ts +2 -0
  94. package/development/sidebar/icon-sidebar-content.d.ts.map +1 -0
  95. package/development/sidebar/icon-sidebar-content.js +34 -0
  96. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.d.ts +19 -0
  97. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.d.ts.map +1 -0
  98. package/development/sidebar/icon-sidebar-link.d.ts +2 -0
  99. package/development/sidebar/icon-sidebar-link.d.ts.map +1 -0
  100. package/development/sidebar/icon-sidebar-link.js +28 -0
  101. package/development/sidebar/icon-sidebar.d.ts +2 -0
  102. package/development/sidebar/icon-sidebar.d.ts.map +1 -0
  103. package/development/sidebar/icon-sidebar.js +85 -0
  104. package/development/sidebar/sidebar/sidebar.d.ts +76 -0
  105. package/development/sidebar/sidebar/sidebar.d.ts.map +1 -0
  106. package/development/sidebar/sidebar-close-button/sidebar-close-button.d.ts +22 -0
  107. package/development/sidebar/sidebar-close-button/sidebar-close-button.d.ts.map +1 -0
  108. package/development/sidebar/sidebar-close-button.d.ts +2 -0
  109. package/development/sidebar/sidebar-close-button.d.ts.map +1 -0
  110. package/development/sidebar/sidebar-close-button.js +55 -0
  111. package/development/sidebar/sidebar-container/sidebar-container.d.ts +34 -0
  112. package/development/sidebar/sidebar-container/sidebar-container.d.ts.map +1 -0
  113. package/development/sidebar/sidebar-container.d.ts +2 -0
  114. package/development/sidebar/sidebar-container.d.ts.map +1 -0
  115. package/development/sidebar/sidebar-container.js +153 -0
  116. package/development/sidebar/sidebar-content/sidebar-content.d.ts +18 -0
  117. package/development/sidebar/sidebar-content/sidebar-content.d.ts.map +1 -0
  118. package/development/sidebar/sidebar-content.d.ts +2 -0
  119. package/development/sidebar/sidebar-content.d.ts.map +1 -0
  120. package/development/sidebar/sidebar-content.js +37 -0
  121. package/development/sidebar/sidebar-title/sidebar-title.d.ts +17 -0
  122. package/development/sidebar/sidebar-title/sidebar-title.d.ts.map +1 -0
  123. package/development/sidebar/sidebar-title.d.ts +2 -0
  124. package/development/sidebar/sidebar-title.d.ts.map +1 -0
  125. package/development/sidebar/sidebar-title.js +63 -0
  126. package/development/sidebar/sidebar.d.ts +2 -0
  127. package/development/sidebar/sidebar.d.ts.map +1 -0
  128. package/development/sidebar/sidebar.js +523 -0
  129. package/development/sidebar.d.ts +12 -0
  130. package/development/sidebar.d.ts.map +1 -0
  131. package/development/sidebar.js +12 -0
  132. package/development/stepper/step.js +19 -8
  133. package/development/time-input/time-input.d.ts +3 -2
  134. package/development/time-input/time-input.d.ts.map +1 -1
  135. package/development/time-input.js +19 -10
  136. package/development/title/title-base.d.ts +2 -4
  137. package/development/title/title-base.d.ts.map +1 -1
  138. package/development/title/title.d.ts +3 -1
  139. package/development/title/title.d.ts.map +1 -1
  140. package/development/title.js +8 -8
  141. package/dialog/dialog-title/dialog-title.d.ts +3 -1
  142. package/dialog/dialog-title/dialog-title.d.ts.map +1 -1
  143. package/dialog/dialog-title.js +16 -15
  144. package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  145. package/flip-card/flip-card-details.js +14 -13
  146. package/header/common.js +6 -6
  147. package/index.d.ts +20 -0
  148. package/index.js +20 -0
  149. package/link/common.js +12 -12
  150. package/menu/menu/menu.d.ts.map +1 -1
  151. package/menu/menu.js +1 -1
  152. package/navigation/navigation/navigation.d.ts.map +1 -1
  153. package/navigation/navigation.js +7 -7
  154. package/overlay/overlay-base-element.d.ts.map +1 -1
  155. package/overlay.js +1 -1
  156. package/package.json +61 -1
  157. package/sidebar/common.d.ts +1 -0
  158. package/sidebar/common.d.ts.map +1 -0
  159. package/sidebar/common.js +7 -0
  160. package/sidebar/icon-sidebar/icon-sidebar.d.ts +23 -0
  161. package/sidebar/icon-sidebar/icon-sidebar.d.ts.map +1 -0
  162. package/sidebar/icon-sidebar-button/icon-sidebar-button.d.ts +19 -0
  163. package/sidebar/icon-sidebar-button/icon-sidebar-button.d.ts.map +1 -0
  164. package/sidebar/icon-sidebar-button.d.ts +2 -0
  165. package/sidebar/icon-sidebar-button.d.ts.map +1 -0
  166. package/sidebar/icon-sidebar-button.js +20 -0
  167. package/sidebar/icon-sidebar-container/icon-sidebar-container.d.ts +23 -0
  168. package/sidebar/icon-sidebar-container/icon-sidebar-container.d.ts.map +1 -0
  169. package/sidebar/icon-sidebar-container.d.ts +2 -0
  170. package/sidebar/icon-sidebar-container.d.ts.map +1 -0
  171. package/sidebar/icon-sidebar-container.js +35 -0
  172. package/sidebar/icon-sidebar-content/icon-sidebar-content.d.ts +17 -0
  173. package/sidebar/icon-sidebar-content/icon-sidebar-content.d.ts.map +1 -0
  174. package/sidebar/icon-sidebar-content.d.ts +2 -0
  175. package/sidebar/icon-sidebar-content.d.ts.map +1 -0
  176. package/sidebar/icon-sidebar-content.js +23 -0
  177. package/sidebar/icon-sidebar-link/icon-sidebar-link.d.ts +19 -0
  178. package/sidebar/icon-sidebar-link/icon-sidebar-link.d.ts.map +1 -0
  179. package/sidebar/icon-sidebar-link.d.ts +2 -0
  180. package/sidebar/icon-sidebar-link.d.ts.map +1 -0
  181. package/sidebar/icon-sidebar-link.js +20 -0
  182. package/sidebar/icon-sidebar.d.ts +2 -0
  183. package/sidebar/icon-sidebar.d.ts.map +1 -0
  184. package/sidebar/icon-sidebar.js +47 -0
  185. package/sidebar/sidebar/sidebar.d.ts +76 -0
  186. package/sidebar/sidebar/sidebar.d.ts.map +1 -0
  187. package/sidebar/sidebar-close-button/sidebar-close-button.d.ts +22 -0
  188. package/sidebar/sidebar-close-button/sidebar-close-button.d.ts.map +1 -0
  189. package/sidebar/sidebar-close-button.d.ts +2 -0
  190. package/sidebar/sidebar-close-button.d.ts.map +1 -0
  191. package/sidebar/sidebar-close-button.js +29 -0
  192. package/sidebar/sidebar-container/sidebar-container.d.ts +34 -0
  193. package/sidebar/sidebar-container/sidebar-container.d.ts.map +1 -0
  194. package/sidebar/sidebar-container.d.ts +2 -0
  195. package/sidebar/sidebar-container.d.ts.map +1 -0
  196. package/sidebar/sidebar-container.js +78 -0
  197. package/sidebar/sidebar-content/sidebar-content.d.ts +18 -0
  198. package/sidebar/sidebar-content/sidebar-content.d.ts.map +1 -0
  199. package/sidebar/sidebar-content.d.ts +2 -0
  200. package/sidebar/sidebar-content.d.ts.map +1 -0
  201. package/sidebar/sidebar-content.js +23 -0
  202. package/sidebar/sidebar-title/sidebar-title.d.ts +17 -0
  203. package/sidebar/sidebar-title/sidebar-title.d.ts.map +1 -0
  204. package/sidebar/sidebar-title.d.ts +2 -0
  205. package/sidebar/sidebar-title.d.ts.map +1 -0
  206. package/sidebar/sidebar-title.js +37 -0
  207. package/sidebar/sidebar.d.ts +2 -0
  208. package/sidebar/sidebar.d.ts.map +1 -0
  209. package/sidebar/sidebar.js +214 -0
  210. package/sidebar.d.ts +12 -0
  211. package/sidebar.d.ts.map +1 -0
  212. package/sidebar.js +11 -0
  213. package/standard-theme.css +51 -1
  214. package/stepper/step.js +13 -13
  215. package/time-input/time-input.d.ts +3 -2
  216. package/time-input/time-input.d.ts.map +1 -1
  217. package/time-input.js +44 -36
  218. package/title/title-base.d.ts +2 -4
  219. package/title/title-base.d.ts.map +1 -1
  220. package/title/title.d.ts +3 -1
  221. package/title/title.d.ts.map +1 -1
  222. package/title.js +11 -11
@@ -33,13 +33,8 @@ class SbbInertController {
33
33
  this._inertOverlays = _inertOverlays;
34
34
  (_b = (_a = this._host).addController) == null ? void 0 : _b.call(_a, this);
35
35
  }
36
- hostConnected() {
37
- if (this._host.isOpen) {
38
- this.activate();
39
- }
40
- }
41
36
  hostDisconnected() {
42
- if (this._inertOverlays.has(this._host)) {
37
+ if (this.isInert()) {
43
38
  this.deactivate();
44
39
  }
45
40
  }
@@ -67,6 +62,10 @@ class SbbInertController {
67
62
  this._addInertAttributes();
68
63
  }
69
64
  }
65
+ /** Whether the assigned host is currently inert */
66
+ isInert() {
67
+ return this._inertOverlays.has(this._host);
68
+ }
70
69
  _currentOverlay() {
71
70
  return [...this._inertOverlays].pop() ?? null;
72
71
  }
@@ -316,4 +315,4 @@ export {
316
315
  SbbMediaQueryPointerCoarse,
317
316
  SbbSlotStateController
318
317
  };
319
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlcnMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzL2Nvbm5lY3RlZC1hYm9ydC1jb250cm9sbGVyLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMvaW5lcnQtY29udHJvbGxlci50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzL2xhbmd1YWdlLWNvbnRyb2xsZXIudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9jb250cm9sbGVycy9tZWRpYS1tYXRjaGVycy1jb250cm9sbGVyLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMvZXNjYXBhYmxlLW92ZXJsYXktY29udHJvbGxlci50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzL3Nsb3Qtc3RhdGUtY29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0aXZlQ29udHJvbGxlciwgUmVhY3RpdmVDb250cm9sbGVySG9zdCB9IGZyb20gJ2xpdCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgTm8gcmVwbGFjZW1lbnQgc2hvdWxkIGJlIG5lY2Vzc2FyeSwgYXMgdGhpcyB3YXMgaW50ZW5kZWRcbiAqICAgZm9yIGV2ZW50IGxpc3RlbmVycywgd2hpY2ggc2hvdWxkIGJlIGFwcGxpZWQgaW4gdGhlIGNvbnN0cnVjdG9yLlxuICovXG5leHBvcnQgY2xhc3MgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyIGltcGxlbWVudHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgcHJpdmF0ZSBfYWJvcnRDb250cm9sbGVyPzogQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIHB1YmxpYyBnZXQgc2lnbmFsKCk6IEFib3J0U2lnbmFsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fYWJvcnRDb250cm9sbGVyPy5zaWduYWw7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdCkge1xuICAgIHRoaXMuX2hvc3QuYWRkQ29udHJvbGxlcih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBob3N0Q29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fYWJvcnRDb250cm9sbGVyKSB7XG4gICAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhvc3REaXNjb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fYWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlciA9IHVuZGVmaW5lZDtcbiAgfVxufVxuIiwiaW1wb3J0IHR5cGUgeyBSZWFjdGl2ZUNvbnRyb2xsZXIsIFJlYWN0aXZlQ29udHJvbGxlckhvc3QgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vYmFzZS1lbGVtZW50cy9vcGVuLWNsb3NlLWJhc2UtZWxlbWVudC5qcyc7XG5cbmNvbnN0IElHTk9SRURfRUxFTUVOVFMgPSBbJ3NjcmlwdCcsICdoZWFkJywgJ3RlbXBsYXRlJywgJ3N0eWxlJ107XG5jb25zdCBpbmVydEVsZW1lbnRzID0gbmV3IFNldDxIVE1MRWxlbWVudD4oKTtcbmNvbnN0IGluZXJ0T3ZlcmxheXMgPSBuZXcgU2V0PEhUTUxFbGVtZW50PigpO1xuXG5leHBvcnQgY2xhc3MgU2JiSW5lcnRDb250cm9sbGVyIGltcGxlbWVudHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2hvc3Q6IFJlYWN0aXZlQ29udHJvbGxlckhvc3QgJiBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCxcbiAgICBwcml2YXRlIF9pbmVydEVsZW1lbnRzID0gaW5lcnRFbGVtZW50cyxcbiAgICBwcml2YXRlIF9pbmVydE92ZXJsYXlzID0gaW5lcnRPdmVybGF5cyxcbiAgKSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyPy4odGhpcyk7XG4gIH1cblxuICBwdWJsaWMgaG9zdENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faG9zdC5pc09wZW4pIHtcbiAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaG9zdERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faW5lcnRPdmVybGF5cy5oYXModGhpcy5faG9zdCkpIHtcbiAgICAgIHRoaXMuZGVhY3RpdmF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBcHBsaWVzIGluZXJ0IHN0YXRlIHRvIGV2ZXJ5IG90aGVyIGVsZW1lbnQgb24gdGhlIHBhZ2UgZXhjZXB0IHRoZSBvdmVybGF5LiAqL1xuICBwdWJsaWMgYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgLy8gUmVtb3ZlIGluZXJ0IHN0YXRlIGZyb20gcHJldmlvdXMgb3BlbmVkIG92ZXJsYXlcbiAgICBpZiAodGhpcy5faW5lcnRPdmVybGF5cy5zaXplKSB7XG4gICAgICB0aGlzLl9yZW1vdmVJbmVydEF0dHJpYnV0ZXMoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9pbmVydE92ZXJsYXlzLmFkZCh0aGlzLl9ob3N0KTtcbiAgICB0aGlzLl9hZGRJbmVydEF0dHJpYnV0ZXMoKTtcbiAgfVxuXG4gIC8qKiBSZW1vdmVzIGluZXJ0IHN0YXRlLiAqL1xuICBwdWJsaWMgZGVhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY3VycmVudE92ZXJsYXkoKSAhPT0gdGhpcy5faG9zdCkge1xuICAgICAgLy8gSWYgZS5nLiBhIGNvbXBvbmVudCBnZXRzIGRpc2Nvbm5lY3RlZCwgaXQgY291bGQgYmUgdGhhdCBpdCBpcyBub3QgdGhlIHRvcCBtb3N0LlxuICAgICAgLy8gSW4gdGhpcyBjYXNlLCB3ZSBjYW4gZGlyZWN0bHkgcmVtb3ZlIGl0LCBhcyB0aGVyZSBpcyBjdXJyZW50bHkgbm8gaW5lcnQgc3RhdGUgYXBwbGllZC5cbiAgICAgIGlmICh0aGlzLl9pbmVydE92ZXJsYXlzLmhhcyh0aGlzLl9ob3N0KSkge1xuICAgICAgICB0aGlzLl9pbmVydE92ZXJsYXlzLmRlbGV0ZSh0aGlzLl9ob3N0KTtcbiAgICAgIH0gZWxzZSBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFVikge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgJ1RyeWluZyB0byByZW1vdmUgaW5lcnQgc3RhdGUgb2YgYW4gb3ZlcmxheSB3aGljaCBuZXZlciBoYWQgYW4gYXBwbGllZCBpbmVydCBzdGF0ZS4nLFxuICAgICAgICAgIHRoaXMuX2hvc3QsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9yZW1vdmVJbmVydEF0dHJpYnV0ZXMoKTtcbiAgICB0aGlzLl9pbmVydE92ZXJsYXlzLmRlbGV0ZSh0aGlzLl9ob3N0KTtcblxuICAgIC8vIElmIHRoZXJlIGlzIGFzIHByZXZpb3VzIG9wZW5lZCBvdmVybGF5LCBzZXQgaXRzIGluZXJ0IHN0YXRlIGFnYWluLlxuICAgIGlmICh0aGlzLl9pbmVydE92ZXJsYXlzLnNpemUpIHtcbiAgICAgIHRoaXMuX2FkZEluZXJ0QXR0cmlidXRlcygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2N1cnJlbnRPdmVybGF5KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIFsuLi50aGlzLl9pbmVydE92ZXJsYXlzXS5wb3AoKSA/PyBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlSW5lcnRBdHRyaWJ1dGVzKCk6IHZvaWQge1xuICAgIHRoaXMuX2luZXJ0RWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGF0YS1zYmItaW5lcnQnKSkge1xuICAgICAgICBlbGVtZW50LmluZXJ0ID0gZmFsc2U7XG4gICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXNiYi1pbmVydCcpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2RhdGEtc2JiLWFyaWEtaGlkZGVuJykpIHtcbiAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJyk7XG4gICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXNiYi1hcmlhLWhpZGRlbicpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuX2luZXJ0RWxlbWVudHMuY2xlYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZEluZXJ0QXR0cmlidXRlcygpOiB2b2lkIHtcbiAgICBsZXQgZWxlbWVudDogRWxlbWVudCB8IG51bGwgPSB0aGlzLl9jdXJyZW50T3ZlcmxheSgpO1xuXG4gICAgd2hpbGUgKGVsZW1lbnQgIT09IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiBlbGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBBcnJheS5mcm9tKChlbGVtZW50Py5wYXJlbnRFbGVtZW50ID8/IGVsZW1lbnQ/LmdldFJvb3ROb2RlKCkpPy5jaGlsZE5vZGVzID8/IFtdKVxuICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgIChjaGlsZCk6IGNoaWxkIGlzIEhUTUxFbGVtZW50ID0+XG4gICAgICAgICAgICBjaGlsZCAhPT0gZWxlbWVudCAmJlxuICAgICAgICAgICAgY2hpbGQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQgJiZcbiAgICAgICAgICAgICFJR05PUkVEX0VMRU1FTlRTLmluY2x1ZGVzKGNoaWxkLmxvY2FsTmFtZSksXG4gICAgICAgIClcbiAgICAgICAgLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICB0aGlzLl9pbmVydEVsZW1lbnRzLmFkZChlbGVtZW50KTtcblxuICAgICAgICAgIGlmICghZWxlbWVudC5pbmVydCkge1xuICAgICAgICAgICAgZWxlbWVudC5pbmVydCA9IHRydWU7XG4gICAgICAgICAgICBlbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zYmItaW5lcnQnLCB0cnVlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWVsZW1lbnQuaGFzQXR0cmlidXRlKCdhcmlhLWhpZGRlbicpKSB7XG4gICAgICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgICAgICAgICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc2JiLWFyaWEtaGlkZGVuJywgdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgLy8gV2UgbmVlZCB0byBwaWVyY2UgdGhyb3VnaCBTaGFkb3cgRE9NIGJvdW5kYXJ5XG4gICAgICBlbGVtZW50ID0gZWxlbWVudD8ucGFyZW50RWxlbWVudCA/PyAoZWxlbWVudD8uZ2V0Um9vdE5vZGUoKSBhcyBTaGFkb3dSb290KT8uaG9zdCA/PyBudWxsO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgaXNTZXJ2ZXIsIHR5cGUgUmVhY3RpdmVDb250cm9sbGVyLCB0eXBlIFJlYWN0aXZlQ29udHJvbGxlckhvc3QgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnLmpzJztcblxuLyoqXG4gKiBUaGUgTGFuZ3VhZ2VDb250cm9sbGVyIGlzIGEgcmVhY3RpdmUgY29udHJvbGxlciB0aGF0IG9ic2VydmVzIHRoZSBcImxhbmdcIiBhdHRyaWJ1dGVcbiAqIG9mIHRoZSA8aHRtbD4gdGFnLlxuICogT24gY2hhbmdlIG9mIHRoZSBcImxhbmdcIiBhdHRyaWJ1dGUsIGl0IHdpbGwgcmVxdWVzdCBhbiB1cGRhdGUgb2YgY29ubmVjdGVkXG4gKiBjb21wb25lbnRzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9HbG9iYWxfYXR0cmlidXRlcy9sYW5nXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBfZGVmYXVsdExhbmd1YWdlID0gJ2VuJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgX3N1cHBvcnRlZExvY2FsZXMgPSBbJ2VuJywgJ2RlJywgJ2ZyJywgJ2l0J107XG5cbiAgLyoqIEEgc2V0IG9mIGNvbm5lY3RlZCBjb21wb25lbnRzIHRoYXQgc2hvdWxkIGJlIG5vdGlmaWVkIG9uIGxhbmd1YWdlIGNoYW5nZS4gKi9cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgX2xpc3RlbmVycyA9IG5ldyBTZXQ8U2JiTGFuZ3VhZ2VDb250cm9sbGVyPigpO1xuXG4gIC8qKiBNdXRhdGlvbk9ic2VydmVyIHRoYXQgb2JzZXJ2ZXMgdGhlIFwibGFuZ1wiIGF0dHJpYnV0ZSBvZiB0aGUgPGh0bWw+IGVsZW1lbnQuICovXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IF9vYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuICAgICAgICBpZiAobXV0YXRpb25zWzBdLm9sZFZhbHVlICE9PSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdsYW5nJykpIHtcbiAgICAgICAgICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIuX2xpc3RlbmVycy5mb3JFYWNoKChsKSA9PiBsLl9jYWxsSGFuZGxlcnMoKSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgOiBudWxsO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBfb2JzZXJ2ZXJDb25maWcgPSB7XG4gICAgYXR0cmlidXRlRmlsdGVyOiBbJ2xhbmcnXSxcbiAgICBhdHRyaWJ1dGVPbGRWYWx1ZTogdHJ1ZSxcbiAgfTtcblxuICAvKiogR2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlLiAqL1xuICBwdWJsaWMgc3RhdGljIGdldCBjdXJyZW50KCk6IHN0cmluZyB7XG4gICAgY29uc3QgbGFuZ3VhZ2UgPVxuICAgICAgKHJlYWRDb25maWcoKS5sYW5ndWFnZSA/P1xuICAgICAgICAoaXNTZXJ2ZXJcbiAgICAgICAgICA/IFNiYkxhbmd1YWdlQ29udHJvbGxlci5fZGVmYXVsdExhbmd1YWdlXG4gICAgICAgICAgOiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdsYW5nJykpKSB8fFxuICAgICAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLl9kZWZhdWx0TGFuZ3VhZ2U7XG5cbiAgICAvLyBTdXBwb3J0IGUuZy4gY2FzZXMgbGlrZSBgZGUtY2hgLlxuICAgIGNvbnN0IGxhbmdBdHRyaWJ1dGVOb3JtYWxpemVkID0gbGFuZ3VhZ2Uuc3BsaXQoJy0nKVswXTtcbiAgICByZXR1cm4gU2JiTGFuZ3VhZ2VDb250cm9sbGVyLl9zdXBwb3J0ZWRMb2NhbGVzLmluY2x1ZGVzKGxhbmdBdHRyaWJ1dGVOb3JtYWxpemVkKVxuICAgICAgPyBsYW5nQXR0cmlidXRlTm9ybWFsaXplZFxuICAgICAgOiBTYmJMYW5ndWFnZUNvbnRyb2xsZXIuX2RlZmF1bHRMYW5ndWFnZTtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UuICovXG4gIHB1YmxpYyBnZXQgY3VycmVudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTYmJMYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudDtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXZpb3VzTGFuZ3VhZ2U/OiBzdHJpbmc7XG4gIHByaXZhdGUgX2hhbmRsZXJzOiAoKCkgPT4gdm9pZClbXSA9IFtdO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ob3N0OiBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0KSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgLyoqIEFkZCBhIGxhbmd1YWdlIGNoYW5nZSBoYW5kbGVyLiAqL1xuICBwdWJsaWMgd2l0aEhhbmRsZXIoaGFuZGxlcjogKCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIC8vIFdlIHVzZSB1bnNoaWZ0IGhlcmUsIHRvIHByZXBlbmQgYWRkaXRpb25hbCBoYW5kbGVycy5cbiAgICAvLyBUaGlzIGVuc3VyZXMgdGhhdCByZXF1ZXN0VXBkYXRlIGlzIGNhbGxlZCBhZnRlciB0aGUgb3RoZXIgaGFuZGxlcnMuXG4gICAgdGhpcy5faGFuZGxlcnMudW5zaGlmdChoYW5kbGVyKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBob3N0Q29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIVNiYkxhbmd1YWdlQ29udHJvbGxlci5fbGlzdGVuZXJzLnNpemUpIHtcbiAgICAgIFNiYkxhbmd1YWdlQ29udHJvbGxlci5fb2JzZXJ2ZXIhLm9ic2VydmUoXG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxcbiAgICAgICAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLl9vYnNlcnZlckNvbmZpZyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLl9saXN0ZW5lcnMuYWRkKHRoaXMpO1xuICAgIGlmICh0aGlzLl9wcmV2aW91c0xhbmd1YWdlICE9PSB0aGlzLmN1cnJlbnQpIHtcbiAgICAgIHRoaXMuX2NhbGxIYW5kbGVycyh0aGlzLl9wcmV2aW91c0xhbmd1YWdlICE9PSB1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBob3N0RGlzY29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9wcmV2aW91c0xhbmd1YWdlID0gdGhpcy5jdXJyZW50O1xuICAgIFNiYkxhbmd1YWdlQ29udHJvbGxlci5fbGlzdGVuZXJzLmRlbGV0ZSh0aGlzKTtcbiAgICBpZiAoIVNiYkxhbmd1YWdlQ29udHJvbGxlci5fbGlzdGVuZXJzLnNpemUpIHtcbiAgICAgIFNiYkxhbmd1YWdlQ29udHJvbGxlci5fb2JzZXJ2ZXIhLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jYWxsSGFuZGxlcnMocmVxdWVzdFVwZGF0ZSA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLl9oYW5kbGVycy5mb3JFYWNoKChoKSA9PiBoKCkpO1xuICAgIGlmIChyZXF1ZXN0VXBkYXRlKSB7XG4gICAgICB0aGlzLl9ob3N0LnJlcXVlc3RVcGRhdGUoKTtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7XG4gIFNiYkJyZWFrcG9pbnRNZWRpdW1NaW4sXG4gIFNiYkJyZWFrcG9pbnRTbWFsbE1heCxcbiAgU2JiVHlwb1NjYWxlRGVmYXVsdCxcbn0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZGVzaWduLXRva2Vucyc7XG5pbXBvcnQgeyBpc1NlcnZlciwgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXIsIHR5cGUgUmVhY3RpdmVDb250cm9sbGVySG9zdCB9IGZyb20gJ2xpdCc7XG5cbmNvbnN0IHB4VG9SZW0gPSAocHg6IG51bWJlcik6IG51bWJlciA9PiBweCAvIFNiYlR5cG9TY2FsZURlZmF1bHQ7XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuZXhwb3J0IGNvbnN0IFNiYk1lZGlhUXVlcnlGb3JjZWRDb2xvcnMgPSAnKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSknO1xuZXhwb3J0IGNvbnN0IFNiYk1lZGlhUXVlcnlIb3ZlciA9ICcoYW55LWhvdmVyOiBob3ZlciknO1xuZXhwb3J0IGNvbnN0IFNiYk1lZGlhUXVlcnlQb2ludGVyQ29hcnNlID0gJyhwb2ludGVyOiBjb2Fyc2UpJztcbmV4cG9ydCBjb25zdCBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludE1lZGl1bUFuZEFib3ZlID0gYChtaW4td2lkdGg6ICR7cHhUb1JlbShTYmJCcmVha3BvaW50TWVkaXVtTWluKX1yZW0pYDtcbmV4cG9ydCBjb25zdCBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQmVsb3cgPSBgKG1heC13aWR0aDogJHtweFRvUmVtKFNiYkJyZWFrcG9pbnRTbWFsbE1heCl9cmVtKWA7XG4vKiBlc2xpbnQtZW5hYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuXG4vKipcbiAqIEEgY2FsbGJhY2ssIHdoaWNoIGlzIGludm9rZWQgd2hlbiB0aGUgYXNzb2NpYXRlZCBtZWRpYSBxdWVyeSBtYXRjaFxuICogc3RhdHVzIGNoYW5nZXMuXG4gKi9cbmV4cG9ydCB0eXBlIFNiYk1lZGlhTWF0Y2hlckhhbmRsZXIgPSAobWF0Y2hlczogYm9vbGVhbikgPT4gdm9pZDtcblxuaW50ZXJmYWNlIE1lZGlhUXVlcnlFbnRyeSB7XG4gIG1lZGlhUXVlcnlMaXN0OiBNZWRpYVF1ZXJ5TGlzdDtcbiAgZXZlbnRIYW5kbGVyOiAoZXZlbnQ6IE1lZGlhUXVlcnlMaXN0RXZlbnQpID0+IHZvaWQ7XG4gIGhhbmRsZXJzOiBTZXQ8U2JiTWVkaWFNYXRjaGVySGFuZGxlcj47XG59XG5cbi8qKlxuICogV2Ugd2FudCB0byBjYWNoZSBNZWRpYVF1ZXJ5TGlzdCBpbnN0YW5jZXMgYW5kIGNvcnJlc3BvbmRpbmdcbiAqIGV2ZW50IGhhbmRsZXJzLCBhcyBhIG11bHRpdHVkZSBvZiBldmVudCBoYW5kbGVycyBvbiBnbG9iYWwgb2JqZWN0c1xuICogY2FuIGRlZ3JhZGUgcGVyZm9ybWFuY2Ugd2l0aCB0aW1lLlxuICovXG5jb25zdCBtZWRpYVF1ZXJ5UmVnaXN0cnkgPSBuZXcgTWFwPHN0cmluZywgTWVkaWFRdWVyeUVudHJ5PigpO1xuXG4vKipcbiAqIFRoaXMgY29udHJvbGxlciBhbGxvd3MgbGlzdGVuaW5nIHRvIG1lZGlhIHF1ZXJ5IGNoYW5nZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIG5ldyBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyKHRoaXMsIHtcbiAqICAgW1NiYkZvcmNlZENvbG9yc1F1ZXJ5XTogKG1hdGNoZXMpID0+IGRvU29tZXRoaW5nKG1hdGNoZXMpLFxuICogfSlcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIgaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdCxcbiAgICBwcml2YXRlIF9xdWVyaWVzOiBSZWNvcmQ8c3RyaW5nLCBTYmJNZWRpYU1hdGNoZXJIYW5kbGVyPixcbiAgKSB7XG4gICAgaG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gcXVlcnkgbWF0Y2hlcy4gUmV0dXJucyBudWxsIHdpdGggU1NSLlxuICAgKiBAcGFyYW0gcXVlcnkgVGhlIHF1ZXJ5IHRvIGNoZWNrIGFnYWluc3QuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHF1ZXJ5IG1hdGNoZXMgb3IgbnVsbCB3aXRoIFNTUi5cbiAgICovXG4gIHB1YmxpYyBtYXRjaGVzKHF1ZXJ5OiBzdHJpbmcpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgbWVkaWFRdWVyeSA9IG1lZGlhUXVlcnlSZWdpc3RyeS5nZXQocXVlcnkpO1xuICAgIGlmIChtZWRpYVF1ZXJ5KSB7XG4gICAgICByZXR1cm4gbWVkaWFRdWVyeS5tZWRpYVF1ZXJ5TGlzdC5tYXRjaGVzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbWF0Y2hNZWRpYShxdWVyeSkubWF0Y2hlcztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaG9zdENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFtxdWVyeSwgaGFuZGxlcl0gb2YgT2JqZWN0LmVudHJpZXModGhpcy5fcXVlcmllcykpIHtcbiAgICAgIGNvbnN0IG1lZGlhUXVlcnkgPSBtZWRpYVF1ZXJ5UmVnaXN0cnkuZ2V0KHF1ZXJ5KTtcbiAgICAgIGlmIChtZWRpYVF1ZXJ5KSB7XG4gICAgICAgIG1lZGlhUXVlcnkuaGFuZGxlcnMuYWRkKGhhbmRsZXIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbWVkaWFRdWVyeUxpc3QgPSBtYXRjaE1lZGlhKHF1ZXJ5KTtcbiAgICAgICAgY29uc3QgaGFuZGxlcnMgPSBuZXcgU2V0KFtoYW5kbGVyXSk7XG4gICAgICAgIGNvbnN0IGV2ZW50SGFuZGxlciA9IChlOiBNZWRpYVF1ZXJ5TGlzdEV2ZW50KTogdm9pZCA9PlxuICAgICAgICAgIGhhbmRsZXJzLmZvckVhY2goKGgpID0+IGgoZS5tYXRjaGVzKSk7XG4gICAgICAgIG1lZGlhUXVlcnlMaXN0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGV2ZW50SGFuZGxlcik7XG4gICAgICAgIG1lZGlhUXVlcnlSZWdpc3RyeS5zZXQocXVlcnksIHsgbWVkaWFRdWVyeUxpc3QsIGhhbmRsZXJzLCBldmVudEhhbmRsZXIgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhvc3REaXNjb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBbcXVlcnksIGhhbmRsZXJdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuX3F1ZXJpZXMpKSB7XG4gICAgICBjb25zdCBtZWRpYVF1ZXJ5ID0gbWVkaWFRdWVyeVJlZ2lzdHJ5LmdldChxdWVyeSk7XG4gICAgICBpZiAobWVkaWFRdWVyeSkge1xuICAgICAgICBtZWRpYVF1ZXJ5LmhhbmRsZXJzLmRlbGV0ZShoYW5kbGVyKTtcbiAgICAgICAgaWYgKCFtZWRpYVF1ZXJ5LmhhbmRsZXJzLnNpemUpIHtcbiAgICAgICAgICBtZWRpYVF1ZXJ5UmVnaXN0cnkuZGVsZXRlKHF1ZXJ5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgaXNTZXJ2ZXIsIHR5cGUgUmVhY3RpdmVDb250cm9sbGVyLCB0eXBlIFJlYWN0aXZlQ29udHJvbGxlckhvc3QgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vYmFzZS1lbGVtZW50cy9vcGVuLWNsb3NlLWJhc2UtZWxlbWVudC5qcyc7XG5cbmNvbnN0IG92ZXJsYXlTdGFjayA9IG5ldyBBcnJheTxTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudD4oKTtcblxuaWYgKCFpc1NlcnZlcikge1xuICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnICYmICFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgb3ZlcmxheVN0YWNrLmF0KC0xKT8uY2xvc2UoKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgY2xhc3MgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdCAmIFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50LFxuICAgIHByaXZhdGUgX292ZXJsYXlTdGFjazogU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnRbXSA9IG92ZXJsYXlTdGFjayxcbiAgKSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyPy4odGhpcyk7XG4gIH1cblxuICBwdWJsaWMgaG9zdERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIC8vIFRoaXMgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3ZlcmxheSBpcyBvcGVuZWRcbiAgcHVibGljIGNvbm5lY3QoKTogdm9pZCB7XG4gICAgdGhpcy5fb3ZlcmxheVN0YWNrLnB1c2godGhpcy5faG9zdCk7XG4gIH1cblxuICAvLyBUaGlzIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG92ZXJsYXkgaXMgY2xvc2VkXG4gIHB1YmxpYyBkaXNjb25uZWN0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9vdmVybGF5U3RhY2subGVuZ3RoKSB7XG4gICAgICBjb25zdCBmaW5kRWxJbmRleCA9IHRoaXMuX292ZXJsYXlTdGFjay5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRoaXMuX2hvc3QpO1xuICAgICAgaWYgKGZpbmRFbEluZGV4ICE9PSAtMSkge1xuICAgICAgICB0aGlzLl9vdmVybGF5U3RhY2suc3BsaWNlKGZpbmRFbEluZGV4LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB0eXBlIHsgUmVhY3RpdmVDb250cm9sbGVyLCBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0IH0gZnJvbSAnbGl0JztcblxuLyoqXG4gKiBUaGlzIGNvbnRyb2xsZXIgY2hlY2tzIGZvciBzbG90dGVkIGNoaWxkcmVuLiBGcm9tIHRoZXNlIGl0IGdlbmVyYXRlc1xuICogYSBsaXN0IG9mIHVzZWQgc2xvdCBuYW1lcyAoYHVubmFtZWRgIGZvciBjaGlsZHJlbiB3aXRob3V0IGEgc2xvdCBhdHRyaWJ1dGUpXG4gKiBhbmQgYWRkcyB0aGlzIHRvIHRoZSBgZGF0YS1zbG90LW5hbWVzYCBhdHRyaWJ1dGUsIGFzIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3QuXG4gKlxuICogVGhpcyBhbGxvd3MgQ1NTIGF0dHJpYnV0ZSBzZWxlY3RvciB0byBkaXNwbGF5L2hpZGUvY29uZmlndXJlIGEgc2VjdGlvblxuICogb2YgdGhlIGNvbXBvbmVudCBhcyByZXF1aXJlZCAoc2VlIFthdHRyfj12YWx1ZV0gc2VsZWN0b3Igc3BlY2lmaWNhbGx5KS5cbiAqXG4gKiBAZXhhbXBsZVxuICogLmV4YW1wbGUge1xuICogICBkaXNwbGF5OiBub25lO1xuICpcbiAqICAgOmhvc3QoW2RhdGEtc2xvdC1uYW1lc349XCJpY29uXCJdKSAmIHtcbiAqICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gKiAgIH1cbiAqIH1cbiAqXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvQXR0cmlidXRlX3NlbGVjdG9yc1xuICovXG5leHBvcnQgY2xhc3MgU2JiU2xvdFN0YXRlQ29udHJvbGxlciBpbXBsZW1lbnRzIFJlYWN0aXZlQ29udHJvbGxlciB7XG4gIHB1YmxpYyByZWFkb25seSBzbG90cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9ob3N0OiBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0ICYgSFRNTEVsZW1lbnQsXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2VDYWxsYmFjazogKCgpID0+IHZvaWQpIHwgbnVsbCA9IG51bGwsXG4gICkge1xuICAgIHRoaXMuX2hvc3QuYWRkQ29udHJvbGxlcih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBob3N0Q29ubmVjdGVkKCk6IHZvaWQge1xuICAgIC8vIFRPRE86IENoZWNrIGlmIHRoaXMgaXMgcmVhbGx5IG5lZWRlZCB3aXRoIFNTUi5cbiAgICB0aGlzLl9zeW5jU2xvdHMoLi4udGhpcy5faG9zdC5xdWVyeVNlbGVjdG9yQWxsISgnc2xvdCcpKTtcbiAgICB0aGlzLl9ob3N0LnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCB0aGlzLl9zbG90Y2hhbmdlSGFuZGxlcik7XG4gIH1cblxuICBwdWJsaWMgaG9zdERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9ob3N0LnNoYWRvd1Jvb3Q/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCB0aGlzLl9zbG90Y2hhbmdlSGFuZGxlcik7XG4gIH1cblxuICAvLyBXZSBhdm9pZCB1c2luZyBBYm9ydENvbnRyb2xsZXIgaGVyZSwgYXMgaXQgd291bGQgbWVhbiBjcmVhdGluZ1xuICAvLyBhIG5ldyBpbnN0YW5jZSBmb3IgZXZlcnkgU2JiU2xvdFN0YXRlQ29udHJvbGxlciBpbnN0YW5jZS5cbiAgcHJpdmF0ZSBfc2xvdGNoYW5nZUhhbmRsZXIgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5fc3luY1Nsb3RzKGV2ZW50LnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpO1xuICB9O1xuXG4gIHByaXZhdGUgX3N5bmNTbG90cyguLi5zbG90czogSFRNTFNsb3RFbGVtZW50W10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHNsb3Qgb2Ygc2xvdHMpIHtcbiAgICAgIGNvbnN0IHNsb3ROYW1lID0gc2xvdC5uYW1lIHx8ICd1bm5hbWVkJztcbiAgICAgIC8vIFdlIHdhbnQgdG8gY2hlY2ssIHdoZXRoZXIgYW4gZWxlbWVudCBpcyBzbG90dGVkIG9yIGEgdGV4dCBub2RlIHdpdGggYWN0dWFsIGNvbnRlbnQuXG4gICAgICBpZiAoc2xvdC5hc3NpZ25lZE5vZGVzKCkuc29tZSgobikgPT4gJ3RhZ05hbWUnIGluIG4gfHwgbi50ZXh0Q29udGVudD8udHJpbSgpKSkge1xuICAgICAgICB0aGlzLnNsb3RzLmFkZChzbG90TmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNsb3RzLmRlbGV0ZShzbG90TmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLl9ob3N0LmdldEF0dHJpYnV0ZSgnZGF0YS1zbG90LW5hbWVzJyk7XG4gICAgY29uc3Qgam9pbmVkU2xvdE5hbWVzID0gWy4uLnRoaXMuc2xvdHNdLnNvcnQoKS5qb2luKCcgJyk7XG4gICAgaWYgKCFqb2luZWRTbG90TmFtZXMpIHtcbiAgICAgIHRoaXMuX2hvc3QucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXNsb3QtbmFtZXMnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2hvc3QuZ2V0QXR0cmlidXRlKCdkYXRhLXNsb3QtbmFtZXMnKSAhPT0gam9pbmVkU2xvdE5hbWVzKSB7XG4gICAgICB0aGlzLl9ob3N0LnNldEF0dHJpYnV0ZSgnZGF0YS1zbG90LW5hbWVzJywgam9pbmVkU2xvdE5hbWVzKTtcbiAgICB9XG5cbiAgICBpZiAoam9pbmVkU2xvdE5hbWVzICE9PSBvbGRWYWx1ZSkge1xuICAgICAgdGhpcy5fb25DaGFuZ2VDYWxsYmFjaz8uKCk7XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiZWxlbWVudCIsIl9hIl0sIm1hcHBpbmdzIjoiOzs7TUFNYSw0QkFBMkI7QUFBQSxFQUd0QyxJQUFXLFNBQU07O0FBQ2YsWUFBTyxVQUFLLHFCQUFMLG1CQUF1QjtBQUFBLEVBQUE7QUFBQSxFQUdoQyxZQUEyQixPQUE2QjtBQUE3QixTQUFLLFFBQUw7QUFObkIsU0FBQSxtQkFBcUMsSUFBSSxnQkFBZTtBQU96RCxTQUFBLE1BQU0sY0FBYyxJQUFJO0FBQUEsRUFBQTtBQUFBLEVBR3hCLGdCQUFhO0FBQ2QsUUFBQSxDQUFDLEtBQUssa0JBQWtCO0FBQ3JCLFdBQUEsbUJBQW1CLElBQUk7O0VBQzlCO0FBQUEsRUFHSyxtQkFBZ0I7O0FBQ3JCLGVBQUsscUJBQUwsbUJBQXVCO0FBQ3ZCLFNBQUssbUJBQW1CO0FBQUEsRUFBQTtBQUUzQjtBQ3ZCRCxNQUFNLG1CQUFtQixDQUFDLFVBQVUsUUFBUSxZQUFZLE9BQU87QUFDL0QsTUFBTSxvQ0FBb0I7QUFDMUIsTUFBTSxvQ0FBb0I7TUFFYixtQkFBa0I7QUFBQSxFQUM3QixZQUNVLE9BQ0EsaUJBQWlCLGVBQ2pC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
318
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlcnMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzL2Nvbm5lY3RlZC1hYm9ydC1jb250cm9sbGVyLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMvaW5lcnQtY29udHJvbGxlci50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzL2xhbmd1YWdlLWNvbnRyb2xsZXIudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9jb250cm9sbGVycy9tZWRpYS1tYXRjaGVycy1jb250cm9sbGVyLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMvZXNjYXBhYmxlLW92ZXJsYXktY29udHJvbGxlci50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzL3Nsb3Qtc3RhdGUtY29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0aXZlQ29udHJvbGxlciwgUmVhY3RpdmVDb250cm9sbGVySG9zdCB9IGZyb20gJ2xpdCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgTm8gcmVwbGFjZW1lbnQgc2hvdWxkIGJlIG5lY2Vzc2FyeSwgYXMgdGhpcyB3YXMgaW50ZW5kZWRcbiAqICAgZm9yIGV2ZW50IGxpc3RlbmVycywgd2hpY2ggc2hvdWxkIGJlIGFwcGxpZWQgaW4gdGhlIGNvbnN0cnVjdG9yLlxuICovXG5leHBvcnQgY2xhc3MgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyIGltcGxlbWVudHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgcHJpdmF0ZSBfYWJvcnRDb250cm9sbGVyPzogQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIHB1YmxpYyBnZXQgc2lnbmFsKCk6IEFib3J0U2lnbmFsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fYWJvcnRDb250cm9sbGVyPy5zaWduYWw7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdCkge1xuICAgIHRoaXMuX2hvc3QuYWRkQ29udHJvbGxlcih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBob3N0Q29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fYWJvcnRDb250cm9sbGVyKSB7XG4gICAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhvc3REaXNjb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fYWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlciA9IHVuZGVmaW5lZDtcbiAgfVxufVxuIiwiaW1wb3J0IHR5cGUgeyBSZWFjdGl2ZUNvbnRyb2xsZXIsIFJlYWN0aXZlQ29udHJvbGxlckhvc3QgfSBmcm9tICdsaXQnO1xuXG5jb25zdCBJR05PUkVEX0VMRU1FTlRTID0gWydzY3JpcHQnLCAnaGVhZCcsICd0ZW1wbGF0ZScsICdzdHlsZSddO1xuY29uc3QgaW5lcnRFbGVtZW50cyA9IG5ldyBTZXQ8SFRNTEVsZW1lbnQ+KCk7XG5jb25zdCBpbmVydE92ZXJsYXlzID0gbmV3IFNldDxIVE1MRWxlbWVudD4oKTtcblxuZXhwb3J0IGNsYXNzIFNiYkluZXJ0Q29udHJvbGxlciBpbXBsZW1lbnRzIFJlYWN0aXZlQ29udHJvbGxlciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9ob3N0OiBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0ICYgSFRNTEVsZW1lbnQsXG4gICAgcHJpdmF0ZSBfaW5lcnRFbGVtZW50cyA9IGluZXJ0RWxlbWVudHMsXG4gICAgcHJpdmF0ZSBfaW5lcnRPdmVybGF5cyA9IGluZXJ0T3ZlcmxheXMsXG4gICkge1xuICAgIHRoaXMuX2hvc3QuYWRkQ29udHJvbGxlcj8uKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGhvc3REaXNjb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNJbmVydCgpKSB7XG4gICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQXBwbGllcyBpbmVydCBzdGF0ZSB0byBldmVyeSBvdGhlciBlbGVtZW50IG9uIHRoZSBwYWdlIGV4Y2VwdCB0aGUgb3ZlcmxheS4gKi9cbiAgcHVibGljIGFjdGl2YXRlKCk6IHZvaWQge1xuICAgIC8vIFJlbW92ZSBpbmVydCBzdGF0ZSBmcm9tIHByZXZpb3VzIG9wZW5lZCBvdmVybGF5XG4gICAgaWYgKHRoaXMuX2luZXJ0T3ZlcmxheXMuc2l6ZSkge1xuICAgICAgdGhpcy5fcmVtb3ZlSW5lcnRBdHRyaWJ1dGVzKCk7XG4gICAgfVxuXG4gICAgdGhpcy5faW5lcnRPdmVybGF5cy5hZGQodGhpcy5faG9zdCk7XG4gICAgdGhpcy5fYWRkSW5lcnRBdHRyaWJ1dGVzKCk7XG4gIH1cblxuICAvKiogUmVtb3ZlcyBpbmVydCBzdGF0ZS4gKi9cbiAgcHVibGljIGRlYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2N1cnJlbnRPdmVybGF5KCkgIT09IHRoaXMuX2hvc3QpIHtcbiAgICAgIC8vIElmIGUuZy4gYSBjb21wb25lbnQgZ2V0cyBkaXNjb25uZWN0ZWQsIGl0IGNvdWxkIGJlIHRoYXQgaXQgaXMgbm90IHRoZSB0b3AgbW9zdC5cbiAgICAgIC8vIEluIHRoaXMgY2FzZSwgd2UgY2FuIGRpcmVjdGx5IHJlbW92ZSBpdCwgYXMgdGhlcmUgaXMgY3VycmVudGx5IG5vIGluZXJ0IHN0YXRlIGFwcGxpZWQuXG4gICAgICBpZiAodGhpcy5faW5lcnRPdmVybGF5cy5oYXModGhpcy5faG9zdCkpIHtcbiAgICAgICAgdGhpcy5faW5lcnRPdmVybGF5cy5kZWxldGUodGhpcy5faG9zdCk7XG4gICAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdUcnlpbmcgdG8gcmVtb3ZlIGluZXJ0IHN0YXRlIG9mIGFuIG92ZXJsYXkgd2hpY2ggbmV2ZXIgaGFkIGFuIGFwcGxpZWQgaW5lcnQgc3RhdGUuJyxcbiAgICAgICAgICB0aGlzLl9ob3N0LFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fcmVtb3ZlSW5lcnRBdHRyaWJ1dGVzKCk7XG4gICAgdGhpcy5faW5lcnRPdmVybGF5cy5kZWxldGUodGhpcy5faG9zdCk7XG5cbiAgICAvLyBJZiB0aGVyZSBpcyBhcyBwcmV2aW91cyBvcGVuZWQgb3ZlcmxheSwgc2V0IGl0cyBpbmVydCBzdGF0ZSBhZ2Fpbi5cbiAgICBpZiAodGhpcy5faW5lcnRPdmVybGF5cy5zaXplKSB7XG4gICAgICB0aGlzLl9hZGRJbmVydEF0dHJpYnV0ZXMoKTtcbiAgICB9XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgYXNzaWduZWQgaG9zdCBpcyBjdXJyZW50bHkgaW5lcnQgKi9cbiAgcHVibGljIGlzSW5lcnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2luZXJ0T3ZlcmxheXMuaGFzKHRoaXMuX2hvc3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3VycmVudE92ZXJsYXkoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuX2luZXJ0T3ZlcmxheXNdLnBvcCgpID8/IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9yZW1vdmVJbmVydEF0dHJpYnV0ZXMoKTogdm9pZCB7XG4gICAgdGhpcy5faW5lcnRFbGVtZW50cy5mb3JFYWNoKChlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXNiYi1pbmVydCcpKSB7XG4gICAgICAgIGVsZW1lbnQuaW5lcnQgPSBmYWxzZTtcbiAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtc2JiLWluZXJ0Jyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGF0YS1zYmItYXJpYS1oaWRkZW4nKSkge1xuICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nKTtcbiAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtc2JiLWFyaWEtaGlkZGVuJyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5faW5lcnRFbGVtZW50cy5jbGVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkSW5lcnRBdHRyaWJ1dGVzKCk6IHZvaWQge1xuICAgIGxldCBlbGVtZW50OiBFbGVtZW50IHwgbnVsbCA9IHRoaXMuX2N1cnJlbnRPdmVybGF5KCk7XG5cbiAgICB3aGlsZSAoZWxlbWVudCAhPT0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ICYmIGVsZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIEFycmF5LmZyb20oKGVsZW1lbnQ/LnBhcmVudEVsZW1lbnQgPz8gZWxlbWVudD8uZ2V0Um9vdE5vZGUoKSk/LmNoaWxkTm9kZXMgPz8gW10pXG4gICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgKGNoaWxkKTogY2hpbGQgaXMgSFRNTEVsZW1lbnQgPT5cbiAgICAgICAgICAgIGNoaWxkICE9PSBlbGVtZW50ICYmXG4gICAgICAgICAgICBjaGlsZCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudCAmJlxuICAgICAgICAgICAgIUlHTk9SRURfRUxFTUVOVFMuaW5jbHVkZXMoY2hpbGQubG9jYWxOYW1lKSxcbiAgICAgICAgKVxuICAgICAgICAuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2luZXJ0RWxlbWVudHMuYWRkKGVsZW1lbnQpO1xuXG4gICAgICAgICAgaWYgKCFlbGVtZW50LmluZXJ0KSB7XG4gICAgICAgICAgICBlbGVtZW50LmluZXJ0ID0gdHJ1ZTtcbiAgICAgICAgICAgIGVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCdkYXRhLXNiYi1pbmVydCcsIHRydWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJykpIHtcbiAgICAgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7XG4gICAgICAgICAgICBlbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zYmItYXJpYS1oaWRkZW4nLCB0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAvLyBXZSBuZWVkIHRvIHBpZXJjZSB0aHJvdWdoIFNoYWRvdyBET00gYm91bmRhcnlcbiAgICAgIGVsZW1lbnQgPSBlbGVtZW50Py5wYXJlbnRFbGVtZW50ID8/IChlbGVtZW50Py5nZXRSb290Tm9kZSgpIGFzIFNoYWRvd1Jvb3QpPy5ob3N0ID8/IG51bGw7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBpc1NlcnZlciwgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXIsIHR5cGUgUmVhY3RpdmVDb250cm9sbGVySG9zdCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IHJlYWRDb25maWcgfSBmcm9tICcuLi9jb25maWcuanMnO1xuXG4vKipcbiAqIFRoZSBMYW5ndWFnZUNvbnRyb2xsZXIgaXMgYSByZWFjdGl2ZSBjb250cm9sbGVyIHRoYXQgb2JzZXJ2ZXMgdGhlIFwibGFuZ1wiIGF0dHJpYnV0ZVxuICogb2YgdGhlIDxodG1sPiB0YWcuXG4gKiBPbiBjaGFuZ2Ugb2YgdGhlIFwibGFuZ1wiIGF0dHJpYnV0ZSwgaXQgd2lsbCByZXF1ZXN0IGFuIHVwZGF0ZSBvZiBjb25uZWN0ZWRcbiAqIGNvbXBvbmVudHMuXG4gKlxuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVE1ML0dsb2JhbF9hdHRyaWJ1dGVzL2xhbmdcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkxhbmd1YWdlQ29udHJvbGxlciBpbXBsZW1lbnRzIFJlYWN0aXZlQ29udHJvbGxlciB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IF9kZWZhdWx0TGFuZ3VhZ2UgPSAnZW4nO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBfc3VwcG9ydGVkTG9jYWxlcyA9IFsnZW4nLCAnZGUnLCAnZnInLCAnaXQnXTtcblxuICAvKiogQSBzZXQgb2YgY29ubmVjdGVkIGNvbXBvbmVudHMgdGhhdCBzaG91bGQgYmUgbm90aWZpZWQgb24gbGFuZ3VhZ2UgY2hhbmdlLiAqL1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBfbGlzdGVuZXJzID0gbmV3IFNldDxTYmJMYW5ndWFnZUNvbnRyb2xsZXI+KCk7XG5cbiAgLyoqIE11dGF0aW9uT2JzZXJ2ZXIgdGhhdCBvYnNlcnZlcyB0aGUgXCJsYW5nXCIgYXR0cmlidXRlIG9mIHRoZSA8aHRtbD4gZWxlbWVudC4gKi9cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgX29ic2VydmVyID0gIWlzU2VydmVyXG4gICAgPyBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zKSA9PiB7XG4gICAgICAgIGlmIChtdXRhdGlvbnNbMF0ub2xkVmFsdWUgIT09IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2xhbmcnKSkge1xuICAgICAgICAgIFNiYkxhbmd1YWdlQ29udHJvbGxlci5fbGlzdGVuZXJzLmZvckVhY2goKGwpID0+IGwuX2NhbGxIYW5kbGVycygpKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICA6IG51bGw7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IF9vYnNlcnZlckNvbmZpZyA9IHtcbiAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsnbGFuZyddLFxuICAgIGF0dHJpYnV0ZU9sZFZhbHVlOiB0cnVlLFxuICB9O1xuXG4gIC8qKiBHZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UuICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGN1cnJlbnQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBsYW5ndWFnZSA9XG4gICAgICAocmVhZENvbmZpZygpLmxhbmd1YWdlID8/XG4gICAgICAgIChpc1NlcnZlclxuICAgICAgICAgID8gU2JiTGFuZ3VhZ2VDb250cm9sbGVyLl9kZWZhdWx0TGFuZ3VhZ2VcbiAgICAgICAgICA6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2xhbmcnKSkpIHx8XG4gICAgICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIuX2RlZmF1bHRMYW5ndWFnZTtcblxuICAgIC8vIFN1cHBvcnQgZS5nLiBjYXNlcyBsaWtlIGBkZS1jaGAuXG4gICAgY29uc3QgbGFuZ0F0dHJpYnV0ZU5vcm1hbGl6ZWQgPSBsYW5ndWFnZS5zcGxpdCgnLScpWzBdO1xuICAgIHJldHVybiBTYmJMYW5ndWFnZUNvbnRyb2xsZXIuX3N1cHBvcnRlZExvY2FsZXMuaW5jbHVkZXMobGFuZ0F0dHJpYnV0ZU5vcm1hbGl6ZWQpXG4gICAgICA/IGxhbmdBdHRyaWJ1dGVOb3JtYWxpemVkXG4gICAgICA6IFNiYkxhbmd1YWdlQ29udHJvbGxlci5fZGVmYXVsdExhbmd1YWdlO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgY3VycmVudCBsYW5ndWFnZS4gKi9cbiAgcHVibGljIGdldCBjdXJyZW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFNiYkxhbmd1YWdlQ29udHJvbGxlci5jdXJyZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJldmlvdXNMYW5ndWFnZT86IHN0cmluZztcbiAgcHJpdmF0ZSBfaGFuZGxlcnM6ICgoKSA9PiB2b2lkKVtdID0gW107XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgX2hvc3Q6IFJlYWN0aXZlQ29udHJvbGxlckhvc3QpIHtcbiAgICB0aGlzLl9ob3N0LmFkZENvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICAvKiogQWRkIGEgbGFuZ3VhZ2UgY2hhbmdlIGhhbmRsZXIuICovXG4gIHB1YmxpYyB3aXRoSGFuZGxlcihoYW5kbGVyOiAoKSA9PiB2b2lkKTogdGhpcyB7XG4gICAgLy8gV2UgdXNlIHVuc2hpZnQgaGVyZSwgdG8gcHJlcGVuZCBhZGRpdGlvbmFsIGhhbmRsZXJzLlxuICAgIC8vIFRoaXMgZW5zdXJlcyB0aGF0IHJlcXVlc3RVcGRhdGUgaXMgY2FsbGVkIGFmdGVyIHRoZSBvdGhlciBoYW5kbGVycy5cbiAgICB0aGlzLl9oYW5kbGVycy51bnNoaWZ0KGhhbmRsZXIpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghU2JiTGFuZ3VhZ2VDb250cm9sbGVyLl9saXN0ZW5lcnMuc2l6ZSkge1xuICAgICAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLl9vYnNlcnZlciEub2JzZXJ2ZShcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LFxuICAgICAgICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIuX29ic2VydmVyQ29uZmlnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIuX2xpc3RlbmVycy5hZGQodGhpcyk7XG4gICAgaWYgKHRoaXMuX3ByZXZpb3VzTGFuZ3VhZ2UgIT09IHRoaXMuY3VycmVudCkge1xuICAgICAgdGhpcy5fY2FsbEhhbmRsZXJzKHRoaXMuX3ByZXZpb3VzTGFuZ3VhZ2UgIT09IHVuZGVmaW5lZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhvc3REaXNjb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3ByZXZpb3VzTGFuZ3VhZ2UgPSB0aGlzLmN1cnJlbnQ7XG4gICAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLl9saXN0ZW5lcnMuZGVsZXRlKHRoaXMpO1xuICAgIGlmICghU2JiTGFuZ3VhZ2VDb250cm9sbGVyLl9saXN0ZW5lcnMuc2l6ZSkge1xuICAgICAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLl9vYnNlcnZlciEuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NhbGxIYW5kbGVycyhyZXF1ZXN0VXBkYXRlID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuX2hhbmRsZXJzLmZvckVhY2goKGgpID0+IGgoKSk7XG4gICAgaWYgKHJlcXVlc3RVcGRhdGUpIHtcbiAgICAgIHRoaXMuX2hvc3QucmVxdWVzdFVwZGF0ZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgU2JiQnJlYWtwb2ludE1lZGl1bU1pbixcbiAgU2JiQnJlYWtwb2ludFNtYWxsTWF4LFxuICBTYmJUeXBvU2NhbGVEZWZhdWx0LFxufSBmcm9tICdAc2JiLWVzdGEvbHluZS1kZXNpZ24tdG9rZW5zJztcbmltcG9ydCB7IGlzU2VydmVyLCB0eXBlIFJlYWN0aXZlQ29udHJvbGxlciwgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0IH0gZnJvbSAnbGl0JztcblxuY29uc3QgcHhUb1JlbSA9IChweDogbnVtYmVyKTogbnVtYmVyID0+IHB4IC8gU2JiVHlwb1NjYWxlRGVmYXVsdDtcblxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5leHBvcnQgY29uc3QgU2JiTWVkaWFRdWVyeUZvcmNlZENvbG9ycyA9ICcoZm9yY2VkLWNvbG9yczogYWN0aXZlKSc7XG5leHBvcnQgY29uc3QgU2JiTWVkaWFRdWVyeUhvdmVyID0gJyhhbnktaG92ZXI6IGhvdmVyKSc7XG5leHBvcnQgY29uc3QgU2JiTWVkaWFRdWVyeVBvaW50ZXJDb2Fyc2UgPSAnKHBvaW50ZXI6IGNvYXJzZSknO1xuZXhwb3J0IGNvbnN0IFNiYk1lZGlhUXVlcnlCcmVha3BvaW50TWVkaXVtQW5kQWJvdmUgPSBgKG1pbi13aWR0aDogJHtweFRvUmVtKFNiYkJyZWFrcG9pbnRNZWRpdW1NaW4pfXJlbSlgO1xuZXhwb3J0IGNvbnN0IFNiYk1lZGlhUXVlcnlCcmVha3BvaW50U21hbGxBbmRCZWxvdyA9IGAobWF4LXdpZHRoOiAke3B4VG9SZW0oU2JiQnJlYWtwb2ludFNtYWxsTWF4KX1yZW0pYDtcbi8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5cbi8qKlxuICogQSBjYWxsYmFjaywgd2hpY2ggaXMgaW52b2tlZCB3aGVuIHRoZSBhc3NvY2lhdGVkIG1lZGlhIHF1ZXJ5IG1hdGNoXG4gKiBzdGF0dXMgY2hhbmdlcy5cbiAqL1xuZXhwb3J0IHR5cGUgU2JiTWVkaWFNYXRjaGVySGFuZGxlciA9IChtYXRjaGVzOiBib29sZWFuKSA9PiB2b2lkO1xuXG5pbnRlcmZhY2UgTWVkaWFRdWVyeUVudHJ5IHtcbiAgbWVkaWFRdWVyeUxpc3Q6IE1lZGlhUXVlcnlMaXN0O1xuICBldmVudEhhbmRsZXI6IChldmVudDogTWVkaWFRdWVyeUxpc3RFdmVudCkgPT4gdm9pZDtcbiAgaGFuZGxlcnM6IFNldDxTYmJNZWRpYU1hdGNoZXJIYW5kbGVyPjtcbn1cblxuLyoqXG4gKiBXZSB3YW50IHRvIGNhY2hlIE1lZGlhUXVlcnlMaXN0IGluc3RhbmNlcyBhbmQgY29ycmVzcG9uZGluZ1xuICogZXZlbnQgaGFuZGxlcnMsIGFzIGEgbXVsdGl0dWRlIG9mIGV2ZW50IGhhbmRsZXJzIG9uIGdsb2JhbCBvYmplY3RzXG4gKiBjYW4gZGVncmFkZSBwZXJmb3JtYW5jZSB3aXRoIHRpbWUuXG4gKi9cbmNvbnN0IG1lZGlhUXVlcnlSZWdpc3RyeSA9IG5ldyBNYXA8c3RyaW5nLCBNZWRpYVF1ZXJ5RW50cnk+KCk7XG5cbi8qKlxuICogVGhpcyBjb250cm9sbGVyIGFsbG93cyBsaXN0ZW5pbmcgdG8gbWVkaWEgcXVlcnkgY2hhbmdlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogbmV3IFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIodGhpcywge1xuICogICBbU2JiRm9yY2VkQ29sb3JzUXVlcnldOiAobWF0Y2hlcykgPT4gZG9Tb21ldGhpbmcobWF0Y2hlcyksXG4gKiB9KVxuICovXG5leHBvcnQgY2xhc3MgU2JiTWVkaWFNYXRjaGVyQ29udHJvbGxlciBpbXBsZW1lbnRzIFJlYWN0aXZlQ29udHJvbGxlciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBob3N0OiBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0LFxuICAgIHByaXZhdGUgX3F1ZXJpZXM6IFJlY29yZDxzdHJpbmcsIFNiYk1lZGlhTWF0Y2hlckhhbmRsZXI+LFxuICApIHtcbiAgICBob3N0LmFkZENvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBxdWVyeSBtYXRjaGVzLiBSZXR1cm5zIG51bGwgd2l0aCBTU1IuXG4gICAqIEBwYXJhbSBxdWVyeSBUaGUgcXVlcnkgdG8gY2hlY2sgYWdhaW5zdC5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgcXVlcnkgbWF0Y2hlcyBvciBudWxsIHdpdGggU1NSLlxuICAgKi9cbiAgcHVibGljIG1hdGNoZXMocXVlcnk6IHN0cmluZyk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBtZWRpYVF1ZXJ5ID0gbWVkaWFRdWVyeVJlZ2lzdHJ5LmdldChxdWVyeSk7XG4gICAgaWYgKG1lZGlhUXVlcnkpIHtcbiAgICAgIHJldHVybiBtZWRpYVF1ZXJ5Lm1lZGlhUXVlcnlMaXN0Lm1hdGNoZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBtYXRjaE1lZGlhKHF1ZXJ5KS5tYXRjaGVzO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBob3N0Q29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgW3F1ZXJ5LCBoYW5kbGVyXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLl9xdWVyaWVzKSkge1xuICAgICAgY29uc3QgbWVkaWFRdWVyeSA9IG1lZGlhUXVlcnlSZWdpc3RyeS5nZXQocXVlcnkpO1xuICAgICAgaWYgKG1lZGlhUXVlcnkpIHtcbiAgICAgICAgbWVkaWFRdWVyeS5oYW5kbGVycy5hZGQoaGFuZGxlcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtZWRpYVF1ZXJ5TGlzdCA9IG1hdGNoTWVkaWEocXVlcnkpO1xuICAgICAgICBjb25zdCBoYW5kbGVycyA9IG5ldyBTZXQoW2hhbmRsZXJdKTtcbiAgICAgICAgY29uc3QgZXZlbnRIYW5kbGVyID0gKGU6IE1lZGlhUXVlcnlMaXN0RXZlbnQpOiB2b2lkID0+XG4gICAgICAgICAgaGFuZGxlcnMuZm9yRWFjaCgoaCkgPT4gaChlLm1hdGNoZXMpKTtcbiAgICAgICAgbWVkaWFRdWVyeUxpc3QuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZXZlbnRIYW5kbGVyKTtcbiAgICAgICAgbWVkaWFRdWVyeVJlZ2lzdHJ5LnNldChxdWVyeSwgeyBtZWRpYVF1ZXJ5TGlzdCwgaGFuZGxlcnMsIGV2ZW50SGFuZGxlciB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaG9zdERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IFtxdWVyeSwgaGFuZGxlcl0gb2YgT2JqZWN0LmVudHJpZXModGhpcy5fcXVlcmllcykpIHtcbiAgICAgIGNvbnN0IG1lZGlhUXVlcnkgPSBtZWRpYVF1ZXJ5UmVnaXN0cnkuZ2V0KHF1ZXJ5KTtcbiAgICAgIGlmIChtZWRpYVF1ZXJ5KSB7XG4gICAgICAgIG1lZGlhUXVlcnkuaGFuZGxlcnMuZGVsZXRlKGhhbmRsZXIpO1xuICAgICAgICBpZiAoIW1lZGlhUXVlcnkuaGFuZGxlcnMuc2l6ZSkge1xuICAgICAgICAgIG1lZGlhUXVlcnlSZWdpc3RyeS5kZWxldGUocXVlcnkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBpc1NlcnZlciwgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXIsIHR5cGUgUmVhY3RpdmVDb250cm9sbGVySG9zdCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB0eXBlIHsgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgfSBmcm9tICcuLi9iYXNlLWVsZW1lbnRzL29wZW4tY2xvc2UtYmFzZS1lbGVtZW50LmpzJztcblxuY29uc3Qgb3ZlcmxheVN0YWNrID0gbmV3IEFycmF5PFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50PigpO1xuXG5pZiAoIWlzU2VydmVyKSB7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScgJiYgIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBvdmVybGF5U3RhY2suYXQoLTEpPy5jbG9zZSgpO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBjbGFzcyBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlciBpbXBsZW1lbnRzIFJlYWN0aXZlQ29udHJvbGxlciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9ob3N0OiBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0ICYgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQsXG4gICAgcHJpdmF0ZSBfb3ZlcmxheVN0YWNrOiBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudFtdID0gb3ZlcmxheVN0YWNrLFxuICApIHtcbiAgICB0aGlzLl9ob3N0LmFkZENvbnRyb2xsZXI/Lih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBob3N0RGlzY29ubmVjdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgLy8gVGhpcyBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvdmVybGF5IGlzIG9wZW5lZFxuICBwdWJsaWMgY29ubmVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9vdmVybGF5U3RhY2sucHVzaCh0aGlzLl9ob3N0KTtcbiAgfVxuXG4gIC8vIFRoaXMgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3ZlcmxheSBpcyBjbG9zZWRcbiAgcHVibGljIGRpc2Nvbm5lY3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX292ZXJsYXlTdGFjay5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGZpbmRFbEluZGV4ID0gdGhpcy5fb3ZlcmxheVN0YWNrLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gdGhpcy5faG9zdCk7XG4gICAgICBpZiAoZmluZEVsSW5kZXggIT09IC0xKSB7XG4gICAgICAgIHRoaXMuX292ZXJsYXlTdGFjay5zcGxpY2UoZmluZEVsSW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHR5cGUgeyBSZWFjdGl2ZUNvbnRyb2xsZXIsIFJlYWN0aXZlQ29udHJvbGxlckhvc3QgfSBmcm9tICdsaXQnO1xuXG4vKipcbiAqIFRoaXMgY29udHJvbGxlciBjaGVja3MgZm9yIHNsb3R0ZWQgY2hpbGRyZW4uIEZyb20gdGhlc2UgaXQgZ2VuZXJhdGVzXG4gKiBhIGxpc3Qgb2YgdXNlZCBzbG90IG5hbWVzIChgdW5uYW1lZGAgZm9yIGNoaWxkcmVuIHdpdGhvdXQgYSBzbG90IGF0dHJpYnV0ZSlcbiAqIGFuZCBhZGRzIHRoaXMgdG8gdGhlIGBkYXRhLXNsb3QtbmFtZXNgIGF0dHJpYnV0ZSwgYXMgYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdC5cbiAqXG4gKiBUaGlzIGFsbG93cyBDU1MgYXR0cmlidXRlIHNlbGVjdG9yIHRvIGRpc3BsYXkvaGlkZS9jb25maWd1cmUgYSBzZWN0aW9uXG4gKiBvZiB0aGUgY29tcG9uZW50IGFzIHJlcXVpcmVkIChzZWUgW2F0dHJ+PXZhbHVlXSBzZWxlY3RvciBzcGVjaWZpY2FsbHkpLlxuICpcbiAqIEBleGFtcGxlXG4gKiAuZXhhbXBsZSB7XG4gKiAgIGRpc3BsYXk6IG5vbmU7XG4gKlxuICogICA6aG9zdChbZGF0YS1zbG90LW5hbWVzfj1cImljb25cIl0pICYge1xuICogICAgIGRpc3BsYXk6IGlubGluZTtcbiAqICAgfVxuICogfVxuICpcbiAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9BdHRyaWJ1dGVfc2VsZWN0b3JzXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTbG90U3RhdGVDb250cm9sbGVyIGltcGxlbWVudHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IHNsb3RzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2hvc3Q6IFJlYWN0aXZlQ29udHJvbGxlckhvc3QgJiBIVE1MRWxlbWVudCxcbiAgICBwcml2YXRlIF9vbkNoYW5nZUNhbGxiYWNrOiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbCxcbiAgKSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgLy8gVE9ETzogQ2hlY2sgaWYgdGhpcyBpcyByZWFsbHkgbmVlZGVkIHdpdGggU1NSLlxuICAgIHRoaXMuX3N5bmNTbG90cyguLi50aGlzLl9ob3N0LnF1ZXJ5U2VsZWN0b3JBbGwhKCdzbG90JykpO1xuICAgIHRoaXMuX2hvc3Quc2hhZG93Um9vdD8uYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHRoaXMuX3Nsb3RjaGFuZ2VIYW5kbGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBob3N0RGlzY29ubmVjdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuX2hvc3Quc2hhZG93Um9vdD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHRoaXMuX3Nsb3RjaGFuZ2VIYW5kbGVyKTtcbiAgfVxuXG4gIC8vIFdlIGF2b2lkIHVzaW5nIEFib3J0Q29udHJvbGxlciBoZXJlLCBhcyBpdCB3b3VsZCBtZWFuIGNyZWF0aW5nXG4gIC8vIGEgbmV3IGluc3RhbmNlIGZvciBldmVyeSBTYmJTbG90U3RhdGVDb250cm9sbGVyIGluc3RhbmNlLlxuICBwcml2YXRlIF9zbG90Y2hhbmdlSGFuZGxlciA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICB0aGlzLl9zeW5jU2xvdHMoZXZlbnQudGFyZ2V0IGFzIEhUTUxTbG90RWxlbWVudCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfc3luY1Nsb3RzKC4uLnNsb3RzOiBIVE1MU2xvdEVsZW1lbnRbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc2xvdCBvZiBzbG90cykge1xuICAgICAgY29uc3Qgc2xvdE5hbWUgPSBzbG90Lm5hbWUgfHwgJ3VubmFtZWQnO1xuICAgICAgLy8gV2Ugd2FudCB0byBjaGVjaywgd2hldGhlciBhbiBlbGVtZW50IGlzIHNsb3R0ZWQgb3IgYSB0ZXh0IG5vZGUgd2l0aCBhY3R1YWwgY29udGVudC5cbiAgICAgIGlmIChzbG90LmFzc2lnbmVkTm9kZXMoKS5zb21lKChuKSA9PiAndGFnTmFtZScgaW4gbiB8fCBuLnRleHRDb250ZW50Py50cmltKCkpKSB7XG4gICAgICAgIHRoaXMuc2xvdHMuYWRkKHNsb3ROYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2xvdHMuZGVsZXRlKHNsb3ROYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuX2hvc3QuZ2V0QXR0cmlidXRlKCdkYXRhLXNsb3QtbmFtZXMnKTtcbiAgICBjb25zdCBqb2luZWRTbG90TmFtZXMgPSBbLi4udGhpcy5zbG90c10uc29ydCgpLmpvaW4oJyAnKTtcbiAgICBpZiAoIWpvaW5lZFNsb3ROYW1lcykge1xuICAgICAgdGhpcy5faG9zdC5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtc2xvdC1uYW1lcycpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faG9zdC5nZXRBdHRyaWJ1dGUoJ2RhdGEtc2xvdC1uYW1lcycpICE9PSBqb2luZWRTbG90TmFtZXMpIHtcbiAgICAgIHRoaXMuX2hvc3Quc2V0QXR0cmlidXRlKCdkYXRhLXNsb3QtbmFtZXMnLCBqb2luZWRTbG90TmFtZXMpO1xuICAgIH1cblxuICAgIGlmIChqb2luZWRTbG90TmFtZXMgIT09IG9sZFZhbHVlKSB7XG4gICAgICB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrPy4oKTtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJlbGVtZW50IiwiX2EiXSwibWFwcGluZ3MiOiI7OztNQU1hLDRCQUEyQjtBQUFBLEVBR3RDLElBQVcsU0FBTTs7QUFDZixZQUFPLFVBQUsscUJBQUwsbUJBQXVCO0FBQUEsRUFBQTtBQUFBLEVBR2hDLFlBQTJCLE9BQTZCO0FBQTdCLFNBQUssUUFBTDtBQU5uQixTQUFBLG1CQUFxQyxJQUFJLGdCQUFlO0FBT3pELFNBQUEsTUFBTSxjQUFjLElBQUk7QUFBQSxFQUFBO0FBQUEsRUFHeEIsZ0JBQWE7QUFDZCxRQUFBLENBQUMsS0FBSyxrQkFBa0I7QUFDckIsV0FBQSxtQkFBbUIsSUFBSTs7RUFDOUI7QUFBQSxFQUdLLG1CQUFnQjs7QUFDckIsZUFBSyxxQkFBTCxtQkFBdUI7QUFDdkIsU0FBSyxtQkFBbUI7QUFBQSxFQUFBO0FBRTNCO0FDekJELE1BQU0sbUJBQW1CLENBQUMsVUFBVSxRQUFRLFlBQVksT0FBTztBQUMvRCxNQUFNLG9DQUFvQjtBQUMxQixNQUFNLG9DQUFvQjtNQUViLG1CQUFrQjtBQUFBLEVBQzdCLFlBQ1UsT0FDQSxpQkFBaUIsZUFDakIsaUJBQWlCLGVBQWE7O0FBRjlCLFNBQUssUUFBTDtBQUNBLFNBQWMsaUJBQWQ7QUFDQSxTQUFjLGlCQUFkO0FBRUgscUJBQUEsT0FBTSxrQkFBTiw0QkFBc0I7QUFBQSxFQUFJO0FBQUEsRUFHMUIsbUJBQWdCO0FBQ2pCLFFBQUEsS0FBSyxXQUFXO0FBQ2xCLFdBQUssV0FBVTtBQUFBLElBQUE7QUFBQSxFQUNqQjtBQUFBO0FBQUEsRUFJSyxXQUFRO0FBRVQsUUFBQSxLQUFLLGVBQWUsTUFBTTtBQUM1QixXQUFLLHVCQUFzQjtBQUFBLElBQUE7QUFHeEIsU0FBQSxlQUFlLElBQUksS0FBSyxLQUFLO0FBQ2xDLFNBQUssb0JBQW1CO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJbkIsYUFBVTtBQUNmLFFBQUksS0FBSyxzQkFBc0IsS0FBSyxPQUFPO0FBR3pDLFVBQUksS0FBSyxlQUFlLElBQUksS0FBSyxLQUFLLEdBQUc7QUFDbEMsYUFBQSxlQUFlLE9BQU8sS0FBSyxLQUFLO0FBQUEsTUFBQSxPQUNQO0FBQ3RCLGdCQUFBLEtBQ04sc0ZBQ0EsS0FBSyxLQUFLO0FBQUEsTUFBQTtBQUlkO0FBQUEsSUFBQTtBQUdGLFNBQUssdUJBQXNCO0FBQ3RCLFNBQUEsZUFBZSxPQUFPLEtBQUssS0FBSztBQUdqQyxRQUFBLEtBQUssZUFBZSxNQUFNO0FBQzVCLFdBQUssb0JBQW1CO0FBQUEsSUFBQTtBQUFBLEVBQzFCO0FBQUE7QUFBQSxFQUlLLFVBQU87QUFDWixXQUFPLEtBQUssZUFBZSxJQUFJLEtBQUssS0FBSztBQUFBLEVBQUE7QUFBQSxFQUduQyxrQkFBZTtBQUNyQixXQUFPLENBQUMsR0FBRyxLQUFLLGNBQWMsRUFBRSxJQUFTLEtBQUE7QUFBQSxFQUFBO0FBQUEsRUFHbkMseUJBQXNCO0FBQ3ZCLFNBQUEsZUFBZSxRQUFRLENBQUMsWUFBOEI7QUFDekQsVUFBSSxDQUFDLFNBQVM7QUFDWjtBQUFBLE1BQUE7QUFHRSxVQUFBLFFBQVEsYUFBYSxnQkFBZ0IsR0FBRztBQUMxQyxnQkFBUSxRQUFRO0FBQ2hCLGdCQUFRLGdCQUFnQixnQkFBZ0I7QUFBQSxNQUFBO0FBR3RDLFVBQUEsUUFBUSxhQUFhLHNCQUFzQixHQUFHO0FBQ2hELGdCQUFRLGdCQUFnQixhQUFhO0FBQ3JDLGdCQUFRLGdCQUFnQixzQkFBc0I7QUFBQSxNQUFBO0FBQUEsSUFDaEQsQ0FDRDtBQUNELFNBQUssZUFBZTs7RUFHZCxzQkFBbUI7O0FBQ3JCLFFBQUEsVUFBMEIsS0FBSztBQUVuQyxXQUFPLFlBQVksU0FBUyxtQkFBbUIsWUFBWSxNQUFNO0FBQ3pELFlBQUEsT0FBTSx5Q0FBUyxtQkFBaUIsbUNBQVMsbUJBQW5DLG1CQUFtRCxlQUFjLENBQUEsQ0FBRSxFQUM1RSxPQUNDLENBQUMsVUFDQyxVQUFVLFdBQ1YsaUJBQWlCLE9BQU8sZUFDeEIsQ0FBQyxpQkFBaUIsU0FBUyxNQUFNLFNBQVMsQ0FBQyxFQUU5QyxRQUFRLENBQUNBLGFBQVc7QUFDZCxhQUFBLGVBQWUsSUFBSUEsUUFBTztBQUUzQixZQUFBLENBQUNBLFNBQVEsT0FBTztBQUNsQkEsbUJBQVEsUUFBUTtBQUNSLG1CQUFBLGdCQUFnQixrQkFBa0IsSUFBSTtBQUFBLFFBQUE7QUFHaEQsWUFBSSxDQUFDQSxTQUFRLGFBQWEsYUFBYSxHQUFHO0FBQ2hDLG1CQUFBLGFBQWEsZUFBZSxNQUFNO0FBQ2xDLG1CQUFBLGdCQUFnQix3QkFBd0IsSUFBSTtBQUFBLFFBQUE7QUFBQSxNQUN0RCxDQUNEO0FBR0gsaUJBQVUsbUNBQVMsb0JBQWtCLHdDQUFTLGtCQUFULG1CQUF1QyxTQUFRO0FBQUEsSUFBQTtBQUFBLEVBQ3RGO0FBRUg7TUN2R1ksK0JBQUEsdUJBQXFCO0FBQUE7QUFBQSxFQXFCekIsV0FBVyxVQUFPO0FBQ3ZCLFVBQU0sWUFDSCxXQUFhLEVBQUEsYUFDWCxXQUNHLHVCQUFzQixtQkFDdEIsU0FBUyxnQkFBZ0IsYUFBYSxNQUFNLE9BQ2xELHVCQUFzQjtBQUd4QixVQUFNLDBCQUEwQixTQUFTLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDckQsV0FBTyx1QkFBc0Isa0JBQWtCLFNBQVMsdUJBQXVCLElBQzNFLDBCQUNBLHVCQUFzQjtBQUFBLEVBQUE7QUFBQTtBQUFBLEVBSTVCLElBQVcsVUFBTztBQUNoQixXQUFPLHVCQUFzQjtBQUFBLEVBQUE7QUFBQSxFQU0vQixZQUEyQixPQUE2QjtBQUE3QixTQUFLLFFBQUw7QUFGbkIsU0FBUyxZQUFtQjtBQUc3QixTQUFBLE1BQU0sY0FBYyxJQUFJO0FBQUEsRUFBQTtBQUFBO0FBQUEsRUFJeEIsWUFBWSxTQUFtQjtBQUcvQixTQUFBLFVBQVUsUUFBUSxPQUFPO0FBQ3ZCLFdBQUE7QUFBQSxFQUFBO0FBQUEsRUFHRixnQkFBYTtBQUNsQixRQUFJLFVBQVU7QUFDWjtBQUFBLElBQUE7QUFFRSxRQUFBLENBQUMsdUJBQXNCLFdBQVcsTUFBTTtBQUMxQyw2QkFBc0IsVUFBVyxRQUMvQixTQUFTLGlCQUNULHVCQUFzQixlQUFlO0FBQUEsSUFBQTtBQUluQiwyQkFBQSxXQUFXLElBQUksSUFBSTtBQUNyQyxRQUFBLEtBQUssc0JBQXNCLEtBQUssU0FBUztBQUN0QyxXQUFBLGNBQWMsS0FBSyxzQkFBc0IsTUFBUztBQUFBLElBQUE7QUFBQSxFQUN6RDtBQUFBLEVBR0ssbUJBQWdCO0FBQ3JCLFFBQUksVUFBVTtBQUNaO0FBQUEsSUFBQTtBQUVGLFNBQUssb0JBQW9CLEtBQUs7QUFDUiwyQkFBQSxXQUFXLE9BQU8sSUFBSTtBQUN4QyxRQUFBLENBQUMsdUJBQXNCLFdBQVcsTUFBTTtBQUMxQyw2QkFBc0IsVUFBVzs7RUFDbkM7QUFBQSxFQUdNLGNBQWMsZ0JBQWdCLE1BQUk7QUFDeEMsU0FBSyxVQUFVLFFBQVEsQ0FBQyxNQUFNLEdBQUc7QUFDakMsUUFBSSxlQUFlO0FBQ2pCLFdBQUssTUFBTTs7RUFDYjs7QUF2RnNCLHVCQUFnQixtQkFBRztBQUNuQix1QkFBaUIsb0JBQUcsQ0FBQyxNQUFNLE1BQU0sTUFBTSxJQUFJO0FBRzNDLHVCQUFBLGlDQUFpQixJQUFHO0FBR3BCLHVCQUFTLFlBQUcsQ0FBQyxXQUNqQyxJQUFJLGlCQUFpQixDQUFDLGNBQWE7QUFDN0IsTUFBQSxVQUFVLENBQUMsRUFBRSxhQUFhLFNBQVMsZ0JBQWdCLGFBQWEsTUFBTSxHQUFHO0FBQzNFLDJCQUFzQixXQUFXLFFBQVEsQ0FBQyxNQUFNLEVBQUUsZUFBZTtBQUFBLEVBQUE7QUFFcEUsQ0FBQSxJQUNEO0FBQ29CLHVCQUFBLGtCQUFrQjtBQUFBLEVBQ3hDLGlCQUFpQixDQUFDLE1BQU07QUFBQSxFQUN4QixtQkFBbUI7QUFDcEI7SUFsQlU7QUNMYixNQUFNLFVBQVUsQ0FBQyxPQUF1QixLQUFLO0FBR3RDLE1BQU0sNEJBQTRCO0FBQ2xDLE1BQU0scUJBQXFCO0FBQzNCLE1BQU0sNkJBQTZCO0FBQ25DLE1BQU0sd0NBQXdDLGVBQWUsUUFBUSxzQkFBc0IsQ0FBQztBQUM1RixNQUFNLHVDQUF1QyxlQUFlLFFBQVEscUJBQXFCLENBQUM7QUFvQmpHLE1BQU0seUNBQXlCO01BVWxCLDBCQUF5QjtBQUFBLEVBQ3BDLFlBQ0UsTUFDUSxVQUFnRDtBQUFoRCxTQUFRLFdBQVI7QUFFUixTQUFLLGNBQWMsSUFBSTtBQUFBLEVBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRbEIsUUFBUSxPQUFhO0FBQzFCLFFBQUksVUFBVTtBQUNMLGFBQUE7QUFBQSxJQUFBO0FBRUgsVUFBQSxhQUFhLG1CQUFtQixJQUFJLEtBQUs7QUFDL0MsUUFBSSxZQUFZO0FBQ2QsYUFBTyxXQUFXLGVBQWU7QUFBQSxJQUFBLE9BQzVCO0FBQ0UsYUFBQSxXQUFXLEtBQUssRUFBRTtBQUFBLElBQUE7QUFBQSxFQUMzQjtBQUFBLEVBR0ssZ0JBQWE7QUFDbEIsUUFBSSxVQUFVO0FBQ1o7QUFBQSxJQUFBO0FBR1MsZUFBQSxDQUFDLE9BQU8sT0FBTyxLQUFLLE9BQU8sUUFBUSxLQUFLLFFBQVEsR0FBRztBQUN0RCxZQUFBLGFBQWEsbUJBQW1CLElBQUksS0FBSztBQUMvQyxVQUFJLFlBQVk7QUFDSCxtQkFBQSxTQUFTLElBQUksT0FBTztBQUFBLE1BQUEsT0FDMUI7QUFDQyxjQUFBLGlCQUFpQixXQUFXLEtBQUs7QUFDdkMsY0FBTSxXQUFXLG9CQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDNUIsY0FBQSxlQUFlLENBQUMsTUFDcEIsU0FBUyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxDQUFDO0FBQ3ZCLHVCQUFBLGlCQUFpQixVQUFVLFlBQVk7QUFDdEQsMkJBQW1CLElBQUksT0FBTyxFQUFFLGdCQUFnQixVQUFVLGNBQWM7QUFBQSxNQUFBO0FBQUEsSUFDMUU7QUFBQSxFQUNGO0FBQUEsRUFHSyxtQkFBZ0I7QUFDVixlQUFBLENBQUMsT0FBTyxPQUFPLEtBQUssT0FBTyxRQUFRLEtBQUssUUFBUSxHQUFHO0FBQ3RELFlBQUEsYUFBYSxtQkFBbUIsSUFBSSxLQUFLO0FBQy9DLFVBQUksWUFBWTtBQUNILG1CQUFBLFNBQVMsT0FBTyxPQUFPO0FBQzlCLFlBQUEsQ0FBQyxXQUFXLFNBQVMsTUFBTTtBQUM3Qiw2QkFBbUIsT0FBTyxLQUFLO0FBQUEsUUFBQTtBQUFBLE1BQ2pDO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFFSDtBQ2hHRCxNQUFNLGVBQWUsSUFBSTtBQUV6QixJQUFJLENBQUMsVUFBVTtBQUNOLFNBQUEsaUJBQWlCLFdBQVcsQ0FBQyxVQUF3Qjs7QUFDMUQsUUFBSSxNQUFNLFFBQVEsWUFBWSxDQUFDLE1BQU0sa0JBQWtCO0FBQ3JELFlBQU0sZUFBYztBQUNQLHlCQUFBLEdBQUcsRUFBRSxNQUFMLG1CQUFRO0FBQUEsSUFBSztBQUFBLEVBQzVCLENBQ0Q7QUFDSDtNQUVhLDhCQUE2QjtBQUFBLEVBQ3hDLFlBQ1UsT0FDQSxnQkFBMkMsY0FBWTs7QUFEdkQsU0FBSyxRQUFMO0FBQ0EsU0FBYSxnQkFBYjtBQUVILHFCQUFBLE9BQU0sa0JBQU4sNEJBQXNCO0FBQUEsRUFBSTtBQUFBLEVBRzFCLG1CQUFnQjtBQUNyQixTQUFLLFdBQVU7QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUlWLFVBQU87QUFDUCxTQUFBLGNBQWMsS0FBSyxLQUFLLEtBQUs7QUFBQSxFQUFBO0FBQUE7QUFBQSxFQUk3QixhQUFVO0FBQ1gsUUFBQSxLQUFLLGNBQWMsUUFBUTtBQUN2QixZQUFBLGNBQWMsS0FBSyxjQUFjLFVBQVUsQ0FBQyxNQUFNLE1BQU0sS0FBSyxLQUFLO0FBQ3hFLFVBQUksZ0JBQWdCLElBQUk7QUFDakIsYUFBQSxjQUFjLE9BQU8sYUFBYSxDQUFDO0FBQUEsTUFBQTtBQUFBLElBQzFDO0FBQUEsRUFDRjtBQUVIO01DcEJZLHVCQUFzQjtBQUFBLEVBR2pDLFlBQ1UsT0FDQSxvQkFBeUMsTUFBSTtBQUQ3QyxTQUFLLFFBQUw7QUFDQSxTQUFpQixvQkFBakI7QUFKTSxTQUFBLDRCQUFZLElBQUc7QUFxQnZCLFNBQUEscUJBQXFCLENBQUMsVUFBc0I7QUFDN0MsV0FBQSxXQUFXLE1BQU0sTUFBeUI7QUFBQSxJQUNqRDtBQWpCTyxTQUFBLE1BQU0sY0FBYyxJQUFJO0FBQUEsRUFBQTtBQUFBLEVBR3hCLGdCQUFhOztBQUVsQixTQUFLLFdBQVcsR0FBRyxLQUFLLE1BQU0saUJBQWtCLE1BQU0sQ0FBQztBQUN2RCxlQUFLLE1BQU0sZUFBWCxtQkFBdUIsaUJBQWlCLGNBQWMsS0FBSztBQUFBLEVBQWtCO0FBQUEsRUFHeEUsbUJBQWdCOztBQUNyQixlQUFLLE1BQU0sZUFBWCxtQkFBdUIsb0JBQW9CLGNBQWMsS0FBSztBQUFBLEVBQWtCO0FBQUEsRUFTMUUsY0FBYyxPQUF3Qjs7QUFDNUMsZUFBVyxRQUFRLE9BQU87QUFDbEIsWUFBQSxXQUFXLEtBQUssUUFBUTtBQUU5QixVQUFJLEtBQUssZ0JBQWdCLEtBQUssQ0FBQyxNQUFBOztBQUFNLDRCQUFhLE9BQUtDLE1BQUEsRUFBRSxnQkFBRixnQkFBQUEsSUFBZTtBQUFBLE9BQU0sR0FBRztBQUN4RSxhQUFBLE1BQU0sSUFBSSxRQUFRO0FBQUEsTUFBQSxPQUNsQjtBQUNBLGFBQUEsTUFBTSxPQUFPLFFBQVE7QUFBQSxNQUFBO0FBQUEsSUFDNUI7QUFHRixVQUFNLFdBQVcsS0FBSyxNQUFNLGFBQWEsaUJBQWlCO0FBQ3BELFVBQUEsa0JBQWtCLENBQUMsR0FBRyxLQUFLLEtBQUssRUFBRSxLQUFPLEVBQUEsS0FBSyxHQUFHO0FBQ3ZELFFBQUksQ0FBQyxpQkFBaUI7QUFDZixXQUFBLE1BQU0sZ0JBQWdCLGlCQUFpQjtBQUFBLElBQUEsV0FDbkMsS0FBSyxNQUFNLGFBQWEsaUJBQWlCLE1BQU0saUJBQWlCO0FBQ3BFLFdBQUEsTUFBTSxhQUFhLG1CQUFtQixlQUFlO0FBQUEsSUFBQTtBQUc1RCxRQUFJLG9CQUFvQixVQUFVO0FBQ2hDLGlCQUFLLHNCQUFMO0FBQUEsSUFBd0I7QUFBQSxFQUMxQjtBQUVIOyJ9
@@ -4,5 +4,5 @@ import { Interface, PropertyDecorator } from './base.js';
4
4
  * Decorator that forces the value of a property or getter/setter
5
5
  * to the defined type.
6
6
  */
7
- export declare const forceType: <C extends Interface<ReactiveElement>, V>() => PropertyDecorator;
7
+ export declare const forceType: <C extends Interface<ReactiveElement>, V>(convert?: (v: unknown) => V) => PropertyDecorator;
8
8
  //# sourceMappingURL=force-type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"force-type.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/decorators/force-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,OAAK,iBAsCrE,CAAC"}
1
+ {"version":3,"file":"force-type.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/decorators/force-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,EAC/D,UAAU,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC,KAC1B,iBAwCF,CAAC"}
@@ -19,15 +19,15 @@ function DateOnlyType(value) {
19
19
  const dateAdapter = ((_a = readConfig().datetime) == null ? void 0 : _a.dateAdapter) ?? defaultDateAdapter;
20
20
  return dateAdapter.isDateInstance(value) && dateAdapter.isValid(value) ? dateAdapter.createDate(dateAdapter.getYear(value), dateAdapter.getMonth(value), dateAdapter.getDate(value)) : null;
21
21
  }
22
- const forceType = () => {
22
+ const forceType = (convert) => {
23
23
  return (target, context) => {
24
24
  var _a, _b;
25
25
  const { kind, metadata, name } = context;
26
26
  const type = ((_b = (_a = globalThis.litPropertyMetadata.get(metadata)) == null ? void 0 : _a.get(name)) == null ? void 0 : _b.type) ?? String;
27
- let convert = type;
28
- if (type === String) {
27
+ convert ?? (convert = type);
28
+ if (convert === String) {
29
29
  convert = (v) => v == null ? "" : String(v);
30
- } else if (type === Number) {
30
+ } else if (convert === Number) {
31
31
  convert = (v) => v == null ? NaN : Number(v);
32
32
  }
33
33
  if (kind === "accessor") {
@@ -121,4 +121,4 @@ export {
121
121
  omitEmptyConverter,
122
122
  slotState
123
123
  };
124
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy9kYXRlLWNvbnZlcnRlci50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMvZGF0ZS1vbmx5LXR5cGUudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzL2ZvcmNlLXR5cGUudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzL2dldC1vdmVycmlkZS50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMvaGFuZGxlLWRpc3RpbmN0LWNoYW5nZS50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMvaG9zdC1hdHRyaWJ1dGVzLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy9vbWl0LWVtcHR5LWNvbnZlcnRlci50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMvc2xvdC1zdGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbXBsZXhBdHRyaWJ1dGVDb252ZXJ0ZXIgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnLmpzJztcbmltcG9ydCB7IGRlZmF1bHREYXRlQWRhcHRlciB9IGZyb20gJy4uL2RhdGV0aW1lLmpzJztcblxuLyoqXG4gKiBDb252ZXJ0cyBlbXB0eSB2YWx1ZXMgdG8gbnVsbCwgd2hpY2ggd2lsbCBub3QgYmUgcmVuZGVyZWQgYXMgYXR0cmlidXRlcy5cbiAqIGUuZy4gZm9yIHN0cmluZyBwcm9wZXJ0aWVzLCBhbiBlbXB0eSB2YWx1ZSAnJyB3aWxsIG5vdCBiZSByZW5kZXJlZCBhcyBhblxuICogZW1wdHkgYXR0cmlidXRlLCBhcyB3b3VsZCBiZSB0aGUgZGVmYXVsdCB3aXRoIGxpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IGRhdGVDb252ZXJ0ZXI6IENvbXBsZXhBdHRyaWJ1dGVDb252ZXJ0ZXIgPSB7XG4gIGZyb21BdHRyaWJ1dGUodmFsdWUsIF90eXBlKSB7XG4gICAgY29uc3QgZGF0ZUFkYXB0ZXIgPSByZWFkQ29uZmlnKCkuZGF0ZXRpbWU/LmRhdGVBZGFwdGVyID8/IGRlZmF1bHREYXRlQWRhcHRlcjtcbiAgICByZXR1cm4gZGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKGRhdGVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKSk7XG4gIH0sXG4gIHRvQXR0cmlidXRlKHZhbHVlLCBfdHlwZSkge1xuICAgIGNvbnN0IGRhdGVBZGFwdGVyID0gcmVhZENvbmZpZygpLmRhdGV0aW1lPy5kYXRlQWRhcHRlciA/PyBkZWZhdWx0RGF0ZUFkYXB0ZXI7XG4gICAgcmV0dXJuIGRhdGVBZGFwdGVyLmlzVmFsaWQodmFsdWUpID8gZGF0ZUFkYXB0ZXIudG9Jc284NjAxKHZhbHVlKSA6IG51bGw7XG4gIH0sXG59O1xuIiwiaW1wb3J0IHsgcmVhZENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi9kYXRldGltZS5qcyc7XG5cbi8qKlxuICogQ29udmVydHMgdGhlIGdpdmVuIHZhbHVlIHRvIGEgZGF0ZSBvYmplY3Qgb3IgbnVsbC5cbiAqIFNob3VsZCBiZSB1c2VkIGFzIGEgdHlwZSBoaW50IGZvciB0aGUgQHByb3BlcnR5IGRlY29yYXRvci5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydCB0byBhIGRhdGUgb2JqZWN0LlxuICogQHJldHVybnMgQSBkYXRlIG9iamVjdCBvciBudWxsLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgZnVuY3Rpb24gRGF0ZU9ubHlUeXBlKHZhbHVlOiB1bmtub3duKTogdW5rbm93biB8IG51bGwge1xuICBjb25zdCBkYXRlQWRhcHRlciA9IHJlYWRDb25maWcoKS5kYXRldGltZT8uZGF0ZUFkYXB0ZXIgPz8gZGVmYXVsdERhdGVBZGFwdGVyO1xuICByZXR1cm4gZGF0ZUFkYXB0ZXIuaXNEYXRlSW5zdGFuY2UodmFsdWUpICYmIGRhdGVBZGFwdGVyLmlzVmFsaWQodmFsdWUpXG4gICAgPyBkYXRlQWRhcHRlci5jcmVhdGVEYXRlKFxuICAgICAgICBkYXRlQWRhcHRlci5nZXRZZWFyKHZhbHVlKSxcbiAgICAgICAgZGF0ZUFkYXB0ZXIuZ2V0TW9udGgodmFsdWUpLFxuICAgICAgICBkYXRlQWRhcHRlci5nZXREYXRlKHZhbHVlKSxcbiAgICAgIClcbiAgICA6IG51bGw7XG59XG4iLCJpbXBvcnQgdHlwZSB7IFJlYWN0aXZlRWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB0eXBlIHsgSW50ZXJmYWNlLCBQcm9wZXJ0eURlY29yYXRvciB9IGZyb20gJy4vYmFzZS5qcyc7XG5cbi8qKlxuICogRGVjb3JhdG9yIHRoYXQgZm9yY2VzIHRoZSB2YWx1ZSBvZiBhIHByb3BlcnR5IG9yIGdldHRlci9zZXR0ZXJcbiAqIHRvIHRoZSBkZWZpbmVkIHR5cGUuXG4gKi9cbmV4cG9ydCBjb25zdCBmb3JjZVR5cGUgPSA8QyBleHRlbmRzIEludGVyZmFjZTxSZWFjdGl2ZUVsZW1lbnQ+LCBWPigpOiBQcm9wZXJ0eURlY29yYXRvciA9PiB7XG4gIHJldHVybiAoXG4gICAgdGFyZ2V0OiBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yVGFyZ2V0PEMsIFY+IHwgKCh2YWx1ZTogVikgPT4gdm9pZCksXG4gICAgY29udGV4dDogQ2xhc3NBY2Nlc3NvckRlY29yYXRvckNvbnRleHQ8QywgVj4gfCBDbGFzc1NldHRlckRlY29yYXRvckNvbnRleHQ8QywgVj4sXG4gICk6IGFueSA9PiB7XG4gICAgY29uc3QgeyBraW5kLCBtZXRhZGF0YSwgbmFtZSB9ID0gY29udGV4dDtcblxuICAgIGNvbnN0IHR5cGUgPSAoZ2xvYmFsVGhpcy5saXRQcm9wZXJ0eU1ldGFkYXRhLmdldChtZXRhZGF0YSk/LmdldChuYW1lKT8udHlwZSA/PyBTdHJpbmcpIGFzIChcbiAgICAgIHY6IHVua25vd24sXG4gICAgKSA9PiBWO1xuICAgIGxldCBjb252ZXJ0ID0gdHlwZTtcbiAgICBpZiAoKHR5cGUgYXMgdW5rbm93bikgPT09IFN0cmluZykge1xuICAgICAgLy8gSW4gY2FzZSBvZiBTdHJpbmcsIHdlIHdhbnQgdG8gaGFuZGxlIG51bGwvdW5kZWZpbmVkIGRpZmZlcmVudGx5XG4gICAgICAvLyBmcm9tIHRoZSBuYXRpdmUgYmVoYXZpb3IgaW4gdGhhdCB3ZSB3YW50IHRvIHRyZWF0IHRoZXNlIHZhbHVlc1xuICAgICAgLy8gYXMgZW1wdHkgc3RyaW5ncy5cbiAgICAgIGNvbnZlcnQgPSAodikgPT4gKHYgPT0gbnVsbCA/ICcnIDogU3RyaW5nKHYpKSBhcyBWO1xuICAgIH0gZWxzZSBpZiAoKHR5cGUgYXMgdW5rbm93bikgPT09IE51bWJlcikge1xuICAgICAgLy8gSW4gY2FzZSBvZiBOdW1iZXIsIHdlIHdhbnQgdG8gaGFuZGxlIG51bGwgZGlmZmVyZW50bHlcbiAgICAgIC8vIGZyb20gdGhlIG5hdGl2ZSBiZWhhdmlvciBpbiB0aGF0IHdlIHdhbnQgdG8gdHJlYXQgbnVsbCBhcyBOYU4uXG4gICAgICBjb252ZXJ0ID0gKHYpID0+ICh2ID09IG51bGwgPyBOYU4gOiBOdW1iZXIodikpIGFzIFY7XG4gICAgfVxuICAgIGlmIChraW5kID09PSAnYWNjZXNzb3InKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzZXQodGhpczogQywgdmFsdWUpIHtcbiAgICAgICAgICAodGFyZ2V0IGFzIENsYXNzQWNjZXNzb3JEZWNvcmF0b3JUYXJnZXQ8QywgVj4pLnNldC5jYWxsKFxuICAgICAgICAgICAgdGhpcyBhcyB1bmtub3duIGFzIEMsXG4gICAgICAgICAgICBjb252ZXJ0KHZhbHVlKSBhcyBWLFxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICB9IHNhdGlzZmllcyBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yUmVzdWx0PEMsIFY+O1xuICAgIH0gZWxzZSBpZiAoa2luZCA9PT0gJ3NldHRlcicpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWU6IHVua25vd24pIHtcbiAgICAgICAgKHRhcmdldCBhcyAodmFsdWU6IHVua25vd24pID0+IHZvaWQpLmNhbGwodGhpcywgY29udmVydCh2YWx1ZSkpO1xuICAgICAgfSBzYXRpc2ZpZXMgKHRoaXM6IEMsIHZhbHVlOiBWKSA9PiB2b2lkO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZGVjb3JhdG9yIGxvY2F0aW9uOiAke2tpbmR9YCk7XG4gIH07XG59O1xuIiwiaW1wb3J0IHR5cGUgeyBSZWFjdGl2ZUVsZW1lbnQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IEludGVyZmFjZSB9IGZyb20gJy4vYmFzZS5qcyc7XG5cbi8qKlxuICogRGVjb3JhdG9yIHRoYXQgb3ZlcnJpZGVzIHRoZSB1bmRlcmx5aW5nIGdldHRlciBvZiB0aGUgYWNjZXNzb3IuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRPdmVycmlkZSA9IDxDIGV4dGVuZHMgSW50ZXJmYWNlPFJlYWN0aXZlRWxlbWVudD4sIFY+KFxuICBjYWxsYmFjazogKGluc3RhbmNlOiBDLCBpbm5lclZhbHVlOiBWKSA9PiBWLFxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgdGFyZ2V0OiBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yVGFyZ2V0PEMsIFY+LFxuICAgIGNvbnRleHQ6IENsYXNzQWNjZXNzb3JEZWNvcmF0b3JDb250ZXh0PEMsIFY+LFxuICApOiBhbnkgPT4ge1xuICAgIGNvbnN0IHsga2luZCB9ID0gY29udGV4dDtcbiAgICBpZiAoa2luZCA9PT0gJ2FjY2Vzc29yJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZ2V0KHRoaXM6IEMpIHtcbiAgICAgICAgICBjb25zdCBpbm5lclZhbHVlID0gKHRhcmdldCBhcyBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yVGFyZ2V0PEMsIFY+KS5nZXQuY2FsbChcbiAgICAgICAgICAgIHRoaXMgYXMgdW5rbm93biBhcyBDLFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKHRoaXMsIGlubmVyVmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgfSBzYXRpc2ZpZXMgQ2xhc3NBY2Nlc3NvckRlY29yYXRvclJlc3VsdDxDLCBWPjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGRlY29yYXRvciBsb2NhdGlvbjogJHtraW5kfWApO1xuICB9O1xufTtcbiIsImltcG9ydCB0eXBlIHsgUmVhY3RpdmVFbGVtZW50IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHR5cGUgeyBJbnRlcmZhY2UgfSBmcm9tICcuL2Jhc2UuanMnO1xuXG4vKipcbiAqIERlY29yYXRvciB0aGF0IGNhbGxzIHRoZSBnaXZlbiBjYWxsYmFjayB3aGVuIHRoZSB2YWx1ZVxuICogb2YgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgaXMgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGhhbmRsZURpc3RpbmN0Q2hhbmdlID0gPEMgZXh0ZW5kcyBJbnRlcmZhY2U8UmVhY3RpdmVFbGVtZW50PiwgVj4oXG4gIGNhbGxiYWNrOiAoaW5zdGFuY2U6IEMsIG5ld1ZhbHVlOiBWLCBvbGRWYWx1ZTogViB8IHVuZGVmaW5lZCkgPT4gdm9pZCxcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIHRhcmdldDogQ2xhc3NBY2Nlc3NvckRlY29yYXRvclRhcmdldDxDLCBWPixcbiAgICBjb250ZXh0OiBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yQ29udGV4dDxDLCBWPixcbiAgKTogYW55ID0+IHtcbiAgICBjb25zdCB7IGtpbmQgfSA9IGNvbnRleHQ7XG4gICAgaWYgKGtpbmQgPT09ICdhY2Nlc3NvcicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNldCh0aGlzOiBDLCB2YWx1ZSkge1xuICAgICAgICAgIGNvbnN0IG9sZFZhbHVlID0gY29udGV4dC5hY2Nlc3MuZ2V0KHRoaXMpO1xuICAgICAgICAgICh0YXJnZXQgYXMgQ2xhc3NBY2Nlc3NvckRlY29yYXRvclRhcmdldDxDLCBWPikuc2V0LmNhbGwodGhpcyBhcyB1bmtub3duIGFzIEMsIHZhbHVlKTtcbiAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGNvbnRleHQuYWNjZXNzLmdldCh0aGlzKTtcbiAgICAgICAgICBpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7XG4gICAgICAgICAgICBjYWxsYmFjayh0aGlzLCBuZXdWYWx1ZSwgb2xkVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0gc2F0aXNmaWVzIENsYXNzQWNjZXNzb3JEZWNvcmF0b3JSZXN1bHQ8QywgVj47XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBkZWNvcmF0b3IgbG9jYXRpb246ICR7a2luZH1gKTtcbiAgfTtcbn07XG4iLCJpbXBvcnQgeyBpc1NlcnZlciwgdHlwZSBSZWFjdGl2ZUVsZW1lbnQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuLi9taXhpbnMuanMnO1xuXG5mdW5jdGlvbiBhcHBseUF0dHJpYnV0ZXMoXG4gIGluc3RhbmNlOiBSZWFjdGl2ZUVsZW1lbnQsXG4gIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bGw+LFxuKTogdm9pZCB7XG4gIGZvciAoY29uc3QgW25hbWUsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhhdHRyaWJ1dGVzKSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaW5zdGFuY2Uuc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5zdGFuY2UudG9nZ2xlQXR0cmlidXRlKG5hbWUsIHZhbHVlICE9PSBudWxsKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBcHBsaWVzIHRoZSBnaXZlbiBhdHRyaWJ1dGVzIHRvIHRoZSByZWxhdGVkIGVsZW1lbnQuXG4gKiBJZiBhbiBlbXB0eSBzdHJpbmcgaXMgcGFzc2VkIGFzIGEgdmFsdWUsIHRoZSBhdHRyaWJ1dGUgd2lsbCBiZSBzZXRcbiAqIHdpdGhvdXQgdmFsdWUuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBAY3VzdG9tRWxlbWVudCgnbXktZWxlbWVudClcbiAqIEBob3N0QXR0cmlidXRlcyh7XG4gKiAgIHJvbGU6ICdyZWdpb24nXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIE15RWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICogICAuLi5cbiAqIH1cbiAqXG4gKiBAcGFyYW0gYXR0cmlidXRlcyBBIHJlY29yZCBvZiBhdHRyaWJ1dGVzIHRvIGFwcGx5IHRvIHRoZSBlbGVtZW50LlxuICovXG5leHBvcnQgY29uc3QgaG9zdEF0dHJpYnV0ZXMgPVxuICAoYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVsbD4pID0+ICh0YXJnZXQ6IEFic3RyYWN0Q29uc3RydWN0b3I8UmVhY3RpdmVFbGVtZW50PikgPT5cbiAgICAodGFyZ2V0IGFzIHR5cGVvZiBSZWFjdGl2ZUVsZW1lbnQpLmFkZEluaXRpYWxpemVyKChpbnN0YW5jZTogUmVhY3RpdmVFbGVtZW50KSA9PiB7XG4gICAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgICAgYXBwbHlBdHRyaWJ1dGVzKGluc3RhbmNlLCBhdHRyaWJ1dGVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEl0IGlzIG5vdCBhbGxvd2VkIHRvIHNldCBhdHRyaWJ1dGVzIGR1cmluZyBjb25zdHJ1Y3RvciBwaGFzZS4gRHVlIHRvIHRoaXMgd2UgdXNlIGFcbiAgICAgICAgLy8gY29udHJvbGxlciB0byBhc3NpZ24gdGhlIGF0dHJpYnV0ZXMgZHVyaW5nIGxpdCBpbml0aWFsaXphdGlvbiBwaGFzZS5cbiAgICAgICAgLy8gSG9zdENvbm5lY3RlZCBvciBob3N0VXBkYXRlIGNhbiBiZSBjYWxsZWQgZWl0aGVyIG9yZGVyLiBEdWUgdG8gdGhhdCB3ZSBhcHBseSBpbiB0aGVcbiAgICAgICAgLy8gZmlyc3Qgb2NjdXJyZW5jZSBhbmQgZGlyZWN0bHkgcmVtb3ZlIHRoZSBjb250cm9sbGVyLCBzbyBpdCdzIG9ubHkgY2FsbGVkIG9uY2UuXG4gICAgICAgIGluc3RhbmNlLmFkZENvbnRyb2xsZXIoe1xuICAgICAgICAgIGhvc3RDb25uZWN0ZWQoKSB7XG4gICAgICAgICAgICBhcHBseUF0dHJpYnV0ZXMoaW5zdGFuY2UsIGF0dHJpYnV0ZXMpO1xuICAgICAgICAgICAgaW5zdGFuY2UucmVtb3ZlQ29udHJvbGxlcih0aGlzKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGhvc3RVcGRhdGUoKSB7XG4gICAgICAgICAgICBhcHBseUF0dHJpYnV0ZXMoaW5zdGFuY2UsIGF0dHJpYnV0ZXMpO1xuICAgICAgICAgICAgaW5zdGFuY2UucmVtb3ZlQ29udHJvbGxlcih0aGlzKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiIsImltcG9ydCB7IGRlZmF1bHRDb252ZXJ0ZXIsIHR5cGUgQ29tcGxleEF0dHJpYnV0ZUNvbnZlcnRlciB9IGZyb20gJ2xpdCc7XG5cbi8qKlxuICogQ29udmVydHMgZW1wdHkgdmFsdWVzIHRvIG51bGwsIHdoaWNoIHdpbGwgbm90IGJlIHJlbmRlcmVkIGFzIGF0dHJpYnV0ZXMuXG4gKiBlLmcuIGZvciBzdHJpbmcgcHJvcGVydGllcywgYW4gZW1wdHkgdmFsdWUgJycgd2lsbCBub3QgYmUgcmVuZGVyZWQgYXMgYW5cbiAqIGVtcHR5IGF0dHJpYnV0ZSwgYXMgd291bGQgYmUgdGhlIGRlZmF1bHQgd2l0aCBsaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBvbWl0RW1wdHlDb252ZXJ0ZXI6IENvbXBsZXhBdHRyaWJ1dGVDb252ZXJ0ZXIgPSB7XG4gIHRvQXR0cmlidXRlKHZhbHVlLCB0eXBlKSB7XG4gICAgcmV0dXJuICgodHlwZSA9PT0gU3RyaW5nIHx8IHR5cGUgPT09IHVuZGVmaW5lZCkgJiYgdmFsdWUgPT09ICcnKSB8fFxuICAgICAgKHR5cGUgPT09IE51bWJlciAmJiBpc05hTih2YWx1ZSBhcyBudW1iZXIpKVxuICAgICAgPyBudWxsXG4gICAgICA6IGRlZmF1bHRDb252ZXJ0ZXIudG9BdHRyaWJ1dGUhKHZhbHVlLCB0eXBlKTtcbiAgfSxcbn07XG4iLCJpbXBvcnQgeyBpc1NlcnZlciwgdHlwZSBSZWFjdGl2ZUVsZW1lbnQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJTbG90U3RhdGVDb250cm9sbGVyIH0gZnJvbSAnLi4vY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi4vbWl4aW5zLmpzJztcblxuLyoqXG4gKiBBZGRzIHRoZSB7QGxpbmsgU2JiU2xvdFN0YXRlQ29udHJvbGxlcn0gdG8gdGhlIHJlbGF0ZWQgZWxlbWVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIEBjdXN0b21FbGVtZW50KCdteS1lbGVtZW50KVxuICogQHNsb3RTdGF0ZSgpXG4gKiBleHBvcnQgY2xhc3MgTXlFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gKiAgIC4uLlxuICogfVxuICpcbiAqIEBwYXJhbSBhdHRyaWJ1dGVzIEEgcmVjb3JkIG9mIGF0dHJpYnV0ZXMgdG8gYXBwbHkgdG8gdGhlIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBzbG90U3RhdGUgPSAoKSA9PiAodGFyZ2V0OiBBYnN0cmFjdENvbnN0cnVjdG9yPFJlYWN0aXZlRWxlbWVudD4pID0+IHtcbiAgaWYgKCFpc1NlcnZlcikge1xuICAgICh0YXJnZXQgYXMgdHlwZW9mIFJlYWN0aXZlRWxlbWVudCkuYWRkSW5pdGlhbGl6ZXIoXG4gICAgICAoaW5zdGFuY2U6IFJlYWN0aXZlRWxlbWVudCkgPT4gbmV3IFNiYlNsb3RTdGF0ZUNvbnRyb2xsZXIoaW5zdGFuY2UpLFxuICAgICk7XG4gIH1cbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQVVPLE1BQU0sZ0JBQTJDO0FBQUEsRUFDdEQsY0FBYyxPQUFPLE9BQUs7O0FBQ3hCLFVBQU0sZ0JBQWMsZ0JBQUEsRUFBYSxhQUFiLG1CQUF1QixnQkFBZTtBQUMxRCxXQUFPLFlBQVksbUJBQW1CLFlBQVksWUFBWSxLQUFLLENBQUM7QUFBQSxFQUN0RTtBQUFBLEVBQ0EsWUFBWSxPQUFPLE9BQUs7O0FBQ3RCLFVBQU0sZ0JBQWMsZ0JBQUEsRUFBYSxhQUFiLG1CQUF1QixnQkFBZTtBQUMxRCxXQUFPLFlBQVksUUFBUSxLQUFLLElBQUksWUFBWSxVQUFVLEtBQUssSUFBSTtBQUFBLEVBQUE7O0FDUGpFLFNBQVUsYUFBYSxPQUFjOztBQUN6QyxRQUFNLGdCQUFjLGdCQUFBLEVBQWEsYUFBYixtQkFBdUIsZ0JBQWU7QUFDbkQsU0FBQSxZQUFZLGVBQWUsS0FBSyxLQUFLLFlBQVksUUFBUSxLQUFLLElBQ2pFLFlBQVksV0FDVixZQUFZLFFBQVEsS0FBSyxHQUN6QixZQUFZLFNBQVMsS0FBSyxHQUMxQixZQUFZLFFBQVEsS0FBSyxDQUFDLElBRTVCO0FBQ047QUNYTyxNQUFNLFlBQVksTUFBaUU7QUFDakYsU0FBQSxDQUNMLFFBQ0EsWUFDTzs7QUFDUCxVQUFNLEVBQUUsTUFBTSxVQUFVLEtBQVMsSUFBQTtBQUUzQixVQUFBLFNBQVEsc0JBQVcsb0JBQW9CLElBQUksUUFBUSxNQUEzQyxtQkFBOEMsSUFBSSxVQUFsRCxtQkFBeUQsU0FBUTtBQUcvRSxRQUFJLFVBQVU7QUFDZCxRQUFLLFNBQXFCLFFBQVE7QUFJaEMsZ0JBQVUsQ0FBQyxNQUFPLEtBQUssT0FBTyxLQUFLLE9BQU8sQ0FBQztBQUFBLElBQUEsV0FDakMsU0FBcUIsUUFBUTtBQUd2QyxnQkFBVSxDQUFDLE1BQU8sS0FBSyxPQUFPLE1BQU0sT0FBTyxDQUFDO0FBQUEsSUFBQTtBQUU5QyxRQUFJLFNBQVMsWUFBWTtBQUNoQixhQUFBO0FBQUEsUUFDTCxJQUFhLE9BQUs7QUFDZixpQkFBOEMsSUFBSSxLQUNqRCxNQUNBLFFBQVEsS0FBSyxDQUFNO0FBQUEsUUFBQTtBQUFBO2VBSWhCLFNBQVMsVUFBVTtBQUM1QixhQUFPLFNBQVUsT0FBYztBQUM1QixlQUFvQyxLQUFLLE1BQU0sUUFBUSxLQUFLLENBQUM7QUFBQSxNQUNoRTtBQUFBLElBQUE7QUFHRixVQUFNLElBQUksTUFBTSxtQ0FBbUMsSUFBSSxFQUFFO0FBQUEsRUFDM0Q7QUFDRjtBQ3ZDYSxNQUFBLGNBQWMsQ0FDekIsYUFDRTtBQUNLLFNBQUEsQ0FDTCxRQUNBLFlBQ087QUFDRCxVQUFBLEVBQUUsU0FBUztBQUNqQixRQUFJLFNBQVMsWUFBWTtBQUNoQixhQUFBO0FBQUEsUUFDTCxNQUFHO0FBQ0QsZ0JBQU0sYUFBYyxPQUE4QyxJQUFJLEtBQ3BFLElBQW9CO0FBRWYsaUJBQUEsU0FBUyxNQUFNLFVBQVU7QUFBQSxRQUFBO0FBQUE7O0FBS3RDLFVBQU0sSUFBSSxNQUFNLG1DQUFtQyxJQUFJLEVBQUU7QUFBQSxFQUMzRDtBQUNGO0FDcEJhLE1BQUEsdUJBQXVCLENBQ2xDLGFBQ0U7QUFDSyxTQUFBLENBQ0wsUUFDQSxZQUNPO0FBQ0QsVUFBQSxFQUFFLFNBQVM7QUFDakIsUUFBSSxTQUFTLFlBQVk7QUFDaEIsYUFBQTtBQUFBLFFBQ0wsSUFBYSxPQUFLO0FBQ2hCLGdCQUFNLFdBQVcsUUFBUSxPQUFPLElBQUksSUFBSTtBQUNPLGlCQUFBLElBQUksS0FBSyxNQUFzQixLQUFLO0FBQ25GLGdCQUFNLFdBQVcsUUFBUSxPQUFPLElBQUksSUFBSTtBQUN4QyxjQUFJLGFBQWEsVUFBVTtBQUNoQixxQkFBQSxNQUFNLFVBQVUsUUFBUTtBQUFBLFVBQUE7QUFBQSxRQUNuQztBQUFBOztBQUtOLFVBQU0sSUFBSSxNQUFNLG1DQUFtQyxJQUFJLEVBQUU7QUFBQSxFQUMzRDtBQUNGO0FDM0JBLFNBQVMsZ0JBQ1AsVUFDQSxZQUF5QztBQUV6QyxhQUFXLENBQUMsTUFBTSxLQUFLLEtBQUssT0FBTyxRQUFRLFVBQVUsR0FBRztBQUN0RCxRQUFJLE9BQU87QUFDQSxlQUFBLGFBQWEsTUFBTSxLQUFLO0FBQUEsSUFBQSxPQUM1QjtBQUNJLGVBQUEsZ0JBQWdCLE1BQU0sVUFBVSxJQUFJO0FBQUEsSUFBQTtBQUFBLEVBQy9DO0FBRUo7QUFtQmEsTUFBQSxpQkFDWCxDQUFDLGVBQThDLENBQUMsV0FDN0MsT0FBa0MsZUFBZSxDQUFDLGFBQTZCO0FBQzlFLE1BQUksVUFBVTtBQUNaLG9CQUFnQixVQUFVLFVBQVU7QUFBQSxFQUFBLE9BQy9CO0FBS0wsYUFBUyxjQUFjO0FBQUEsTUFDckIsZ0JBQWE7QUFDWCx3QkFBZ0IsVUFBVSxVQUFVO0FBQ3BDLGlCQUFTLGlCQUFpQixJQUFJO0FBQUEsTUFDaEM7QUFBQSxNQUNBLGFBQVU7QUFDUix3QkFBZ0IsVUFBVSxVQUFVO0FBQ3BDLGlCQUFTLGlCQUFpQixJQUFJO0FBQUEsTUFBQTtBQUFBLElBQ2hDLENBQ0Q7QUFBQSxFQUFBO0FBRUwsQ0FBQztBQ2hERSxNQUFNLHFCQUFnRDtBQUFBLEVBQzNELFlBQVksT0FBTyxNQUFJO0FBQ3JCLFlBQVMsU0FBUyxVQUFVLFNBQVMsV0FBYyxVQUFVLE1BQzFELFNBQVMsVUFBVSxNQUFNLEtBQWUsSUFDdkMsT0FDQSxpQkFBaUIsWUFBYSxPQUFPLElBQUk7QUFBQSxFQUFBOztBQ01wQyxNQUFBLFlBQVksTUFBTSxDQUFDLFdBQWdEO0FBQzlFLE1BQUksQ0FBQyxVQUFVO0FBQ1osV0FBa0MsZUFDakMsQ0FBQyxhQUE4QixJQUFJLHVCQUF1QixRQUFRLENBQUM7QUFBQSxFQUFBO0FBR3pFOyJ9
124
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy9kYXRlLWNvbnZlcnRlci50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMvZGF0ZS1vbmx5LXR5cGUudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzL2ZvcmNlLXR5cGUudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzL2dldC1vdmVycmlkZS50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMvaGFuZGxlLWRpc3RpbmN0LWNoYW5nZS50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMvaG9zdC1hdHRyaWJ1dGVzLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy9vbWl0LWVtcHR5LWNvbnZlcnRlci50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMvc2xvdC1zdGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbXBsZXhBdHRyaWJ1dGVDb252ZXJ0ZXIgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnLmpzJztcbmltcG9ydCB7IGRlZmF1bHREYXRlQWRhcHRlciB9IGZyb20gJy4uL2RhdGV0aW1lLmpzJztcblxuLyoqXG4gKiBDb252ZXJ0cyBlbXB0eSB2YWx1ZXMgdG8gbnVsbCwgd2hpY2ggd2lsbCBub3QgYmUgcmVuZGVyZWQgYXMgYXR0cmlidXRlcy5cbiAqIGUuZy4gZm9yIHN0cmluZyBwcm9wZXJ0aWVzLCBhbiBlbXB0eSB2YWx1ZSAnJyB3aWxsIG5vdCBiZSByZW5kZXJlZCBhcyBhblxuICogZW1wdHkgYXR0cmlidXRlLCBhcyB3b3VsZCBiZSB0aGUgZGVmYXVsdCB3aXRoIGxpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IGRhdGVDb252ZXJ0ZXI6IENvbXBsZXhBdHRyaWJ1dGVDb252ZXJ0ZXIgPSB7XG4gIGZyb21BdHRyaWJ1dGUodmFsdWUsIF90eXBlKSB7XG4gICAgY29uc3QgZGF0ZUFkYXB0ZXIgPSByZWFkQ29uZmlnKCkuZGF0ZXRpbWU/LmRhdGVBZGFwdGVyID8/IGRlZmF1bHREYXRlQWRhcHRlcjtcbiAgICByZXR1cm4gZGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKGRhdGVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKSk7XG4gIH0sXG4gIHRvQXR0cmlidXRlKHZhbHVlLCBfdHlwZSkge1xuICAgIGNvbnN0IGRhdGVBZGFwdGVyID0gcmVhZENvbmZpZygpLmRhdGV0aW1lPy5kYXRlQWRhcHRlciA/PyBkZWZhdWx0RGF0ZUFkYXB0ZXI7XG4gICAgcmV0dXJuIGRhdGVBZGFwdGVyLmlzVmFsaWQodmFsdWUpID8gZGF0ZUFkYXB0ZXIudG9Jc284NjAxKHZhbHVlKSA6IG51bGw7XG4gIH0sXG59O1xuIiwiaW1wb3J0IHsgcmVhZENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi9kYXRldGltZS5qcyc7XG5cbi8qKlxuICogQ29udmVydHMgdGhlIGdpdmVuIHZhbHVlIHRvIGEgZGF0ZSBvYmplY3Qgb3IgbnVsbC5cbiAqIFNob3VsZCBiZSB1c2VkIGFzIGEgdHlwZSBoaW50IGZvciB0aGUgQHByb3BlcnR5IGRlY29yYXRvci5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydCB0byBhIGRhdGUgb2JqZWN0LlxuICogQHJldHVybnMgQSBkYXRlIG9iamVjdCBvciBudWxsLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgZnVuY3Rpb24gRGF0ZU9ubHlUeXBlKHZhbHVlOiB1bmtub3duKTogdW5rbm93biB8IG51bGwge1xuICBjb25zdCBkYXRlQWRhcHRlciA9IHJlYWRDb25maWcoKS5kYXRldGltZT8uZGF0ZUFkYXB0ZXIgPz8gZGVmYXVsdERhdGVBZGFwdGVyO1xuICByZXR1cm4gZGF0ZUFkYXB0ZXIuaXNEYXRlSW5zdGFuY2UodmFsdWUpICYmIGRhdGVBZGFwdGVyLmlzVmFsaWQodmFsdWUpXG4gICAgPyBkYXRlQWRhcHRlci5jcmVhdGVEYXRlKFxuICAgICAgICBkYXRlQWRhcHRlci5nZXRZZWFyKHZhbHVlKSxcbiAgICAgICAgZGF0ZUFkYXB0ZXIuZ2V0TW9udGgodmFsdWUpLFxuICAgICAgICBkYXRlQWRhcHRlci5nZXREYXRlKHZhbHVlKSxcbiAgICAgIClcbiAgICA6IG51bGw7XG59XG4iLCJpbXBvcnQgdHlwZSB7IFJlYWN0aXZlRWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB0eXBlIHsgSW50ZXJmYWNlLCBQcm9wZXJ0eURlY29yYXRvciB9IGZyb20gJy4vYmFzZS5qcyc7XG5cbi8qKlxuICogRGVjb3JhdG9yIHRoYXQgZm9yY2VzIHRoZSB2YWx1ZSBvZiBhIHByb3BlcnR5IG9yIGdldHRlci9zZXR0ZXJcbiAqIHRvIHRoZSBkZWZpbmVkIHR5cGUuXG4gKi9cbmV4cG9ydCBjb25zdCBmb3JjZVR5cGUgPSA8QyBleHRlbmRzIEludGVyZmFjZTxSZWFjdGl2ZUVsZW1lbnQ+LCBWPihcbiAgY29udmVydD86ICh2OiB1bmtub3duKSA9PiBWLFxuKTogUHJvcGVydHlEZWNvcmF0b3IgPT4ge1xuICByZXR1cm4gKFxuICAgIHRhcmdldDogQ2xhc3NBY2Nlc3NvckRlY29yYXRvclRhcmdldDxDLCBWPiB8ICgodmFsdWU6IFYpID0+IHZvaWQpLFxuICAgIGNvbnRleHQ6IENsYXNzQWNjZXNzb3JEZWNvcmF0b3JDb250ZXh0PEMsIFY+IHwgQ2xhc3NTZXR0ZXJEZWNvcmF0b3JDb250ZXh0PEMsIFY+LFxuICApOiBhbnkgPT4ge1xuICAgIGNvbnN0IHsga2luZCwgbWV0YWRhdGEsIG5hbWUgfSA9IGNvbnRleHQ7XG5cbiAgICBjb25zdCB0eXBlID0gKGdsb2JhbFRoaXMubGl0UHJvcGVydHlNZXRhZGF0YS5nZXQobWV0YWRhdGEpPy5nZXQobmFtZSk/LnR5cGUgPz8gU3RyaW5nKSBhcyAoXG4gICAgICB2OiB1bmtub3duLFxuICAgICkgPT4gVjtcblxuICAgIGNvbnZlcnQgPz89IHR5cGU7XG5cbiAgICBpZiAoKGNvbnZlcnQgYXMgdW5rbm93bikgPT09IFN0cmluZykge1xuICAgICAgLy8gSW4gY2FzZSBvZiBTdHJpbmcsIHdlIHdhbnQgdG8gaGFuZGxlIG51bGwvdW5kZWZpbmVkIGRpZmZlcmVudGx5XG4gICAgICAvLyBmcm9tIHRoZSBuYXRpdmUgYmVoYXZpb3IgaW4gdGhhdCB3ZSB3YW50IHRvIHRyZWF0IHRoZXNlIHZhbHVlc1xuICAgICAgLy8gYXMgZW1wdHkgc3RyaW5ncy5cbiAgICAgIGNvbnZlcnQgPSAodikgPT4gKHYgPT0gbnVsbCA/ICcnIDogU3RyaW5nKHYpKSBhcyBWO1xuICAgIH0gZWxzZSBpZiAoKGNvbnZlcnQgYXMgdW5rbm93bikgPT09IE51bWJlcikge1xuICAgICAgLy8gSW4gY2FzZSBvZiBOdW1iZXIsIHdlIHdhbnQgdG8gaGFuZGxlIG51bGwgZGlmZmVyZW50bHlcbiAgICAgIC8vIGZyb20gdGhlIG5hdGl2ZSBiZWhhdmlvciBpbiB0aGF0IHdlIHdhbnQgdG8gdHJlYXQgbnVsbCBhcyBOYU4uXG4gICAgICBjb252ZXJ0ID0gKHYpID0+ICh2ID09IG51bGwgPyBOYU4gOiBOdW1iZXIodikpIGFzIFY7XG4gICAgfVxuICAgIGlmIChraW5kID09PSAnYWNjZXNzb3InKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzZXQodGhpczogQywgdmFsdWUpIHtcbiAgICAgICAgICAodGFyZ2V0IGFzIENsYXNzQWNjZXNzb3JEZWNvcmF0b3JUYXJnZXQ8QywgVj4pLnNldC5jYWxsKFxuICAgICAgICAgICAgdGhpcyBhcyB1bmtub3duIGFzIEMsXG4gICAgICAgICAgICBjb252ZXJ0ISh2YWx1ZSkgYXMgVixcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgfSBzYXRpc2ZpZXMgQ2xhc3NBY2Nlc3NvckRlY29yYXRvclJlc3VsdDxDLCBWPjtcbiAgICB9IGVsc2UgaWYgKGtpbmQgPT09ICdzZXR0ZXInKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlOiB1bmtub3duKSB7XG4gICAgICAgICh0YXJnZXQgYXMgKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkKS5jYWxsKHRoaXMsIGNvbnZlcnQhKHZhbHVlKSk7XG4gICAgICB9IHNhdGlzZmllcyAodGhpczogQywgdmFsdWU6IFYpID0+IHZvaWQ7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBkZWNvcmF0b3IgbG9jYXRpb246ICR7a2luZH1gKTtcbiAgfTtcbn07XG4iLCJpbXBvcnQgdHlwZSB7IFJlYWN0aXZlRWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB0eXBlIHsgSW50ZXJmYWNlIH0gZnJvbSAnLi9iYXNlLmpzJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgdGhhdCBvdmVycmlkZXMgdGhlIHVuZGVybHlpbmcgZ2V0dGVyIG9mIHRoZSBhY2Nlc3Nvci5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldE92ZXJyaWRlID0gPEMgZXh0ZW5kcyBJbnRlcmZhY2U8UmVhY3RpdmVFbGVtZW50PiwgVj4oXG4gIGNhbGxiYWNrOiAoaW5zdGFuY2U6IEMsIGlubmVyVmFsdWU6IFYpID0+IFYsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICB0YXJnZXQ6IENsYXNzQWNjZXNzb3JEZWNvcmF0b3JUYXJnZXQ8QywgVj4sXG4gICAgY29udGV4dDogQ2xhc3NBY2Nlc3NvckRlY29yYXRvckNvbnRleHQ8QywgVj4sXG4gICk6IGFueSA9PiB7XG4gICAgY29uc3QgeyBraW5kIH0gPSBjb250ZXh0O1xuICAgIGlmIChraW5kID09PSAnYWNjZXNzb3InKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBnZXQodGhpczogQykge1xuICAgICAgICAgIGNvbnN0IGlubmVyVmFsdWUgPSAodGFyZ2V0IGFzIENsYXNzQWNjZXNzb3JEZWNvcmF0b3JUYXJnZXQ8QywgVj4pLmdldC5jYWxsKFxuICAgICAgICAgICAgdGhpcyBhcyB1bmtub3duIGFzIEMsXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gY2FsbGJhY2sodGhpcywgaW5uZXJWYWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICB9IHNhdGlzZmllcyBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yUmVzdWx0PEMsIFY+O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZGVjb3JhdG9yIGxvY2F0aW9uOiAke2tpbmR9YCk7XG4gIH07XG59O1xuIiwiaW1wb3J0IHR5cGUgeyBSZWFjdGl2ZUVsZW1lbnQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IEludGVyZmFjZSB9IGZyb20gJy4vYmFzZS5qcyc7XG5cbi8qKlxuICogRGVjb3JhdG9yIHRoYXQgY2FsbHMgdGhlIGdpdmVuIGNhbGxiYWNrIHdoZW4gdGhlIHZhbHVlXG4gKiBvZiB0aGUgYXNzb2NpYXRlZCBwcm9wZXJ0eSBpcyBjaGFuZ2VkLlxuICovXG5leHBvcnQgY29uc3QgaGFuZGxlRGlzdGluY3RDaGFuZ2UgPSA8QyBleHRlbmRzIEludGVyZmFjZTxSZWFjdGl2ZUVsZW1lbnQ+LCBWPihcbiAgY2FsbGJhY2s6IChpbnN0YW5jZTogQywgbmV3VmFsdWU6IFYsIG9sZFZhbHVlOiBWIHwgdW5kZWZpbmVkKSA9PiB2b2lkLFxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgdGFyZ2V0OiBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yVGFyZ2V0PEMsIFY+LFxuICAgIGNvbnRleHQ6IENsYXNzQWNjZXNzb3JEZWNvcmF0b3JDb250ZXh0PEMsIFY+LFxuICApOiBhbnkgPT4ge1xuICAgIGNvbnN0IHsga2luZCB9ID0gY29udGV4dDtcbiAgICBpZiAoa2luZCA9PT0gJ2FjY2Vzc29yJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2V0KHRoaXM6IEMsIHZhbHVlKSB7XG4gICAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSBjb250ZXh0LmFjY2Vzcy5nZXQodGhpcyk7XG4gICAgICAgICAgKHRhcmdldCBhcyBDbGFzc0FjY2Vzc29yRGVjb3JhdG9yVGFyZ2V0PEMsIFY+KS5zZXQuY2FsbCh0aGlzIGFzIHVua25vd24gYXMgQywgdmFsdWUpO1xuICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gY29udGV4dC5hY2Nlc3MuZ2V0KHRoaXMpO1xuICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gb2xkVmFsdWUpIHtcbiAgICAgICAgICAgIGNhbGxiYWNrKHRoaXMsIG5ld1ZhbHVlLCBvbGRWYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSBzYXRpc2ZpZXMgQ2xhc3NBY2Nlc3NvckRlY29yYXRvclJlc3VsdDxDLCBWPjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGRlY29yYXRvciBsb2NhdGlvbjogJHtraW5kfWApO1xuICB9O1xufTtcbiIsImltcG9ydCB7IGlzU2VydmVyLCB0eXBlIFJlYWN0aXZlRWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4uL21peGlucy5qcyc7XG5cbmZ1bmN0aW9uIGFwcGx5QXR0cmlidXRlcyhcbiAgaW5zdGFuY2U6IFJlYWN0aXZlRWxlbWVudCxcbiAgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVsbD4sXG4pOiB2b2lkIHtcbiAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGF0dHJpYnV0ZXMpKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpbnN0YW5jZS5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbnN0YW5jZS50b2dnbGVBdHRyaWJ1dGUobmFtZSwgdmFsdWUgIT09IG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEFwcGxpZXMgdGhlIGdpdmVuIGF0dHJpYnV0ZXMgdG8gdGhlIHJlbGF0ZWQgZWxlbWVudC5cbiAqIElmIGFuIGVtcHR5IHN0cmluZyBpcyBwYXNzZWQgYXMgYSB2YWx1ZSwgdGhlIGF0dHJpYnV0ZSB3aWxsIGJlIHNldFxuICogd2l0aG91dCB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIEBjdXN0b21FbGVtZW50KCdteS1lbGVtZW50KVxuICogQGhvc3RBdHRyaWJ1dGVzKHtcbiAqICAgcm9sZTogJ3JlZ2lvbidcbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgTXlFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gKiAgIC4uLlxuICogfVxuICpcbiAqIEBwYXJhbSBhdHRyaWJ1dGVzIEEgcmVjb3JkIG9mIGF0dHJpYnV0ZXMgdG8gYXBwbHkgdG8gdGhlIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBob3N0QXR0cmlidXRlcyA9XG4gIChhdHRyaWJ1dGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudWxsPikgPT4gKHRhcmdldDogQWJzdHJhY3RDb25zdHJ1Y3RvcjxSZWFjdGl2ZUVsZW1lbnQ+KSA9PlxuICAgICh0YXJnZXQgYXMgdHlwZW9mIFJlYWN0aXZlRWxlbWVudCkuYWRkSW5pdGlhbGl6ZXIoKGluc3RhbmNlOiBSZWFjdGl2ZUVsZW1lbnQpID0+IHtcbiAgICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgICBhcHBseUF0dHJpYnV0ZXMoaW5zdGFuY2UsIGF0dHJpYnV0ZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gSXQgaXMgbm90IGFsbG93ZWQgdG8gc2V0IGF0dHJpYnV0ZXMgZHVyaW5nIGNvbnN0cnVjdG9yIHBoYXNlLiBEdWUgdG8gdGhpcyB3ZSB1c2UgYVxuICAgICAgICAvLyBjb250cm9sbGVyIHRvIGFzc2lnbiB0aGUgYXR0cmlidXRlcyBkdXJpbmcgbGl0IGluaXRpYWxpemF0aW9uIHBoYXNlLlxuICAgICAgICAvLyBIb3N0Q29ubmVjdGVkIG9yIGhvc3RVcGRhdGUgY2FuIGJlIGNhbGxlZCBlaXRoZXIgb3JkZXIuIER1ZSB0byB0aGF0IHdlIGFwcGx5IGluIHRoZVxuICAgICAgICAvLyBmaXJzdCBvY2N1cnJlbmNlIGFuZCBkaXJlY3RseSByZW1vdmUgdGhlIGNvbnRyb2xsZXIsIHNvIGl0J3Mgb25seSBjYWxsZWQgb25jZS5cbiAgICAgICAgaW5zdGFuY2UuYWRkQ29udHJvbGxlcih7XG4gICAgICAgICAgaG9zdENvbm5lY3RlZCgpIHtcbiAgICAgICAgICAgIGFwcGx5QXR0cmlidXRlcyhpbnN0YW5jZSwgYXR0cmlidXRlcyk7XG4gICAgICAgICAgICBpbnN0YW5jZS5yZW1vdmVDb250cm9sbGVyKHRoaXMpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgaG9zdFVwZGF0ZSgpIHtcbiAgICAgICAgICAgIGFwcGx5QXR0cmlidXRlcyhpbnN0YW5jZSwgYXR0cmlidXRlcyk7XG4gICAgICAgICAgICBpbnN0YW5jZS5yZW1vdmVDb250cm9sbGVyKHRoaXMpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuIiwiaW1wb3J0IHsgZGVmYXVsdENvbnZlcnRlciwgdHlwZSBDb21wbGV4QXR0cmlidXRlQ29udmVydGVyIH0gZnJvbSAnbGl0JztcblxuLyoqXG4gKiBDb252ZXJ0cyBlbXB0eSB2YWx1ZXMgdG8gbnVsbCwgd2hpY2ggd2lsbCBub3QgYmUgcmVuZGVyZWQgYXMgYXR0cmlidXRlcy5cbiAqIGUuZy4gZm9yIHN0cmluZyBwcm9wZXJ0aWVzLCBhbiBlbXB0eSB2YWx1ZSAnJyB3aWxsIG5vdCBiZSByZW5kZXJlZCBhcyBhblxuICogZW1wdHkgYXR0cmlidXRlLCBhcyB3b3VsZCBiZSB0aGUgZGVmYXVsdCB3aXRoIGxpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IG9taXRFbXB0eUNvbnZlcnRlcjogQ29tcGxleEF0dHJpYnV0ZUNvbnZlcnRlciA9IHtcbiAgdG9BdHRyaWJ1dGUodmFsdWUsIHR5cGUpIHtcbiAgICByZXR1cm4gKCh0eXBlID09PSBTdHJpbmcgfHwgdHlwZSA9PT0gdW5kZWZpbmVkKSAmJiB2YWx1ZSA9PT0gJycpIHx8XG4gICAgICAodHlwZSA9PT0gTnVtYmVyICYmIGlzTmFOKHZhbHVlIGFzIG51bWJlcikpXG4gICAgICA/IG51bGxcbiAgICAgIDogZGVmYXVsdENvbnZlcnRlci50b0F0dHJpYnV0ZSEodmFsdWUsIHR5cGUpO1xuICB9LFxufTtcbiIsImltcG9ydCB7IGlzU2VydmVyLCB0eXBlIFJlYWN0aXZlRWxlbWVudCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IFNiYlNsb3RTdGF0ZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuLi9taXhpbnMuanMnO1xuXG4vKipcbiAqIEFkZHMgdGhlIHtAbGluayBTYmJTbG90U3RhdGVDb250cm9sbGVyfSB0byB0aGUgcmVsYXRlZCBlbGVtZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogQGN1c3RvbUVsZW1lbnQoJ215LWVsZW1lbnQpXG4gKiBAc2xvdFN0YXRlKClcbiAqIGV4cG9ydCBjbGFzcyBNeUVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAqICAgLi4uXG4gKiB9XG4gKlxuICogQHBhcmFtIGF0dHJpYnV0ZXMgQSByZWNvcmQgb2YgYXR0cmlidXRlcyB0byBhcHBseSB0byB0aGUgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IHNsb3RTdGF0ZSA9ICgpID0+ICh0YXJnZXQ6IEFic3RyYWN0Q29uc3RydWN0b3I8UmVhY3RpdmVFbGVtZW50PikgPT4ge1xuICBpZiAoIWlzU2VydmVyKSB7XG4gICAgKHRhcmdldCBhcyB0eXBlb2YgUmVhY3RpdmVFbGVtZW50KS5hZGRJbml0aWFsaXplcihcbiAgICAgIChpbnN0YW5jZTogUmVhY3RpdmVFbGVtZW50KSA9PiBuZXcgU2JiU2xvdFN0YXRlQ29udHJvbGxlcihpbnN0YW5jZSksXG4gICAgKTtcbiAgfVxufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBVU8sTUFBTSxnQkFBMkM7QUFBQSxFQUN0RCxjQUFjLE9BQU8sT0FBSzs7QUFDeEIsVUFBTSxnQkFBYyxnQkFBQSxFQUFhLGFBQWIsbUJBQXVCLGdCQUFlO0FBQzFELFdBQU8sWUFBWSxtQkFBbUIsWUFBWSxZQUFZLEtBQUssQ0FBQztBQUFBLEVBQ3RFO0FBQUEsRUFDQSxZQUFZLE9BQU8sT0FBSzs7QUFDdEIsVUFBTSxnQkFBYyxnQkFBQSxFQUFhLGFBQWIsbUJBQXVCLGdCQUFlO0FBQzFELFdBQU8sWUFBWSxRQUFRLEtBQUssSUFBSSxZQUFZLFVBQVUsS0FBSyxJQUFJO0FBQUEsRUFBQTs7QUNQakUsU0FBVSxhQUFhLE9BQWM7O0FBQ3pDLFFBQU0sZ0JBQWMsZ0JBQUEsRUFBYSxhQUFiLG1CQUF1QixnQkFBZTtBQUNuRCxTQUFBLFlBQVksZUFBZSxLQUFLLEtBQUssWUFBWSxRQUFRLEtBQUssSUFDakUsWUFBWSxXQUNWLFlBQVksUUFBUSxLQUFLLEdBQ3pCLFlBQVksU0FBUyxLQUFLLEdBQzFCLFlBQVksUUFBUSxLQUFLLENBQUMsSUFFNUI7QUFDTjtBQ1hhLE1BQUEsWUFBWSxDQUN2QixZQUNxQjtBQUNkLFNBQUEsQ0FDTCxRQUNBLFlBQ087O0FBQ1AsVUFBTSxFQUFFLE1BQU0sVUFBVSxLQUFTLElBQUE7QUFFM0IsVUFBQSxTQUFRLHNCQUFXLG9CQUFvQixJQUFJLFFBQVEsTUFBM0MsbUJBQThDLElBQUksVUFBbEQsbUJBQXlELFNBQVE7QUFJbkUsMEJBQUE7QUFFWixRQUFLLFlBQXdCLFFBQVE7QUFJbkMsZ0JBQVUsQ0FBQyxNQUFPLEtBQUssT0FBTyxLQUFLLE9BQU8sQ0FBQztBQUFBLElBQUEsV0FDakMsWUFBd0IsUUFB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
@@ -39,6 +39,7 @@ export declare const i18nCloseNotification: Record<string, string>;
39
39
  export declare const i18nDialog: Record<string, string>;
40
40
  export declare const i18nCloseDialog: Record<string, string>;
41
41
  export declare const i18nCloseNavigation: Record<string, string>;
42
+ export declare const i18nCloseSidebar: Record<string, string>;
42
43
  export declare const i18nClosePopover: Record<string, string>;
43
44
  export declare const i18nGoBack: Record<string, string>;
44
45
  export declare const i18nToday: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/i18n/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/i18n/i18n.ts"],"names":[],"mappings":"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"}
@@ -402,6 +402,12 @@ const i18nCloseNavigation = {
402
402
  fr: "Fermer la navigation",
403
403
  it: "Chiudere la navigazione"
404
404
  };
405
+ const i18nCloseSidebar = {
406
+ de: "Seitenleiste schliessen",
407
+ en: "Close sidebar",
408
+ fr: "Fermer la barre latérale",
409
+ it: "Chiudere la barra laterale"
410
+ };
405
411
  const i18nClosePopover = {
406
412
  de: "Hinweis schliessen",
407
413
  en: "Close note",
@@ -690,6 +696,7 @@ export {
690
696
  i18nCloseNavigation,
691
697
  i18nCloseNotification,
692
698
  i18nClosePopover,
699
+ i18nCloseSidebar,
693
700
  i18nClosedCompartmentLabel,
694
701
  i18nCollapsed,
695
702
  i18nConnectionFrom,
@@ -762,4 +769,4 @@ export {
762
769
  i18nWalkingDistanceDeparture,
763
770
  i18nYearMonthSelection
764
771
  };
765
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvaTE4bi9pMThuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2JiTGFuZ3VhZ2UsIFNiYk9jY3VwYW5jeSB9IGZyb20gJy4uL2ludGVyZmFjZXMuanMnO1xuXG5leHBvcnQgY29uc3QgaTE4bkRpcmVjdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdSaWNodHVuZycsXG4gIGVuOiAnRGlyZWN0aW9uJyxcbiAgZnI6ICdEaXJlY3Rpb24nLFxuICBpdDogJ0RpcmV6aW9uZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkFycml2YWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnQW5rdW5mdCcsXG4gIGVuOiAnQXJyaXZhbCcsXG4gIGZyOiAnQXJyaXbDqWUnLFxuICBpdDogJ0Fycml2bycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blNlY3RvcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdTZWt0b3InLFxuICBlbjogJ1NlY3RvcicsXG4gIGZyOiAnU2VjdGV1cicsXG4gIGl0OiAnU2V0dG9yZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blNlY3RvclNob3J0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1NrdC4nLFxuICBlbjogJ1NlYy4nLFxuICBmcjogJ1NlY3QuJyxcbiAgaXQ6ICdTZXQuJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xhc3M6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0ge1xuICBmaXJzdDoge1xuICAgIGRlOiAnRXJzdGUgS2xhc3NlJyxcbiAgICBlbjogJ0ZpcnN0IENsYXNzJyxcbiAgICBmcjogJ1ByZW1pw6hyZSBjbGFzc2UnLFxuICAgIGl0OiAnUHJpbWEgY2xhc3NlJyxcbiAgfSxcbiAgc2Vjb25kOiB7XG4gICAgZGU6ICdad2VpdGUgS2xhc3NlJyxcbiAgICBlbjogJ1NlY29uZCBDbGFzcycsXG4gICAgZnI6ICdEZXV4acOobWUgY2xhc3NlJyxcbiAgICBpdDogJ1NlY29uZGEgY2xhc3NlJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhaW46IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnWnVnJyxcbiAgZW46ICdUcmFpbicsXG4gIGZyOiAnVHJhaW4nLFxuICBpdDogJ1RyZW5vJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhaW5zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1rDvGdlJyxcbiAgZW46ICdUcmFpbnMnLFxuICBmcjogJ1RyYWlucycsXG4gIGl0OiAnVHJlbmknLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5XYWdvbnNMYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdXYWdlbiBkZXMgWnVnZXMnLFxuICBlbjogJ0NvYWNoZXMgb2YgdGhlIHRyYWluJyxcbiAgZnI6ICdXYWdvbnMgZGUgdHJhaW4nLFxuICBpdDogJ0NhcnJvenplIGRlbCB0cmVubycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bldhZ29uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnV2FnZW4nLFxuICBlbjogJ1RyYWluIGNvYWNoJyxcbiAgZnI6ICdXYWdvbiBkZSB0cmFpbicsXG4gIGl0OiAnQ2Fycm96emEgZGVsIHRyZW5vJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuV2Fnb25MYWJlbE51bWJlcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6IGBOdW1tZXJgLFxuICBlbjogYE51bWJlcmAsXG4gIGZyOiBgTnVtw6lyb2AsXG4gIGl0OiBgTnVtZXJvYCxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VkQ29tcGFydG1lbnRMYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdHZXNjaGxvc3NlbmVyIFp1Z3dhZ2dvbicsXG4gIGVuOiAnQ2xvc2VkIHRyYWluIGNvYWNoJyxcbiAgZnI6ICdXYWdvbiBkZSB0cmFpbiBmZXJtw6knLFxuICBpdDogJ0NhcnJvenphIGRlbCB0cmVubyBjaGl1c28nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5Mb2NvbW90aXZlTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnTG9rb21vdGl2ZScsXG4gIGVuOiAnTG9jb21vdGl2ZScsXG4gIGZyOiAnTG9jb21vdGl2ZScsXG4gIGl0OiAnTG9jb21vdGl2YScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blNsZWVwaW5nV2Fnb25MYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdTY2hsYWZ3YWdlbicsXG4gIGVuOiAnU2xlZXBpbmcgY2FyJyxcbiAgZnI6ICdWb2l0dXJlLWxpdHMnLFxuICBpdDogJ0NhcnJvenphIGxldHRpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ291Y2hldHRlV2Fnb25MYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdMaWVnZXdhZ2VuJyxcbiAgZW46ICdDb3VjaGV0dGUgY2FyJyxcbiAgZnI6ICdWb2l0dXJlLWNvdWNoZXR0ZXMnLFxuICBpdDogJ0NhcnJvenphIGN1Y2NldHRlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuUmVzdGF1cmFudFdhZ29uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnU3BlaXNld2FnZW4nLFxuICBlbjogJ0RpbmluZyBjYXInLFxuICBmcjogJ1ZvaXR1cmUtcmVzdGF1cmFudCcsXG4gIGl0OiAnQ2Fycm96emEgcmlzdG9yYW50ZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkJsb2NrZWRQYXNzYWdlOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IHtcbiAgcHJldmlvdXM6IHtcbiAgICBkZTogJ0tlaW4gRHVyY2hnYW5nIHp1bSB2b3JoZXJpZ2VuIFdhZ2VuJyxcbiAgICBlbjogJ05vIHBhc3NhZ2UgdG8gdGhlIHByZXZpb3VzIHRyYWluIGNvYWNoJyxcbiAgICBmcjogJ1BhcyBkZSBwYXNzYWdlIGF1IHdhZ29uIGR1IHRyYWluIHByw6ljw6lkZW50JyxcbiAgICBpdDogJ05lc3N1biBwYXNzYWdnaW8gYWxsYSBjYXJyb3p6YSBkZWwgdHJlbm8gcHJlY2VkZW50ZScsXG4gIH0sXG4gIG5leHQ6IHtcbiAgICBkZTogJ0tlaW4gRHVyY2hnYW5nIHp1bSBuw6RjaHN0ZW4gV2FnZW4nLFxuICAgIGVuOiAnTm8gcGFzc2FnZSB0byB0aGUgbmV4dCB0cmFpbiBjb2FjaCcsXG4gICAgZnI6ICdQYXMgZGUgcGFzc2FnZSBhdSB3YWdvbiBkZSB0cmFpbiBzdWl2YW50JyxcbiAgICBpdDogJ05lc3N1biBwYXNzYWdnaW8gYWxsYSBjYXJyb3p6YSBkZWwgdHJlbm8gc3VjY2Vzc2l2bycsXG4gIH0sXG4gIGJvdGg6IHtcbiAgICBkZTogJ0tlaW4gRHVyY2hnYW5nIHp1bSBuw6RjaHN0ZW4gdW5kIHZvcmhlcmlnZW4gV2FnZW4nLFxuICAgIGVuOiAnTm8gcGFzc2FnZSB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgdHJhaW4gY29hY2gnLFxuICAgIGZyOiAnUGFzIGRlIHBhc3NhZ2UgYXUgd2Fnb24gZGUgdHJhaW4gc3VpdmFudCBldCBwcsOpY8OpZGVudCcsXG4gICAgaXQ6ICdOZXNzdW4gcGFzc2FnZ2lvIGFsbGEgY2Fycm96emEgZGVsIHRyZW5vIHN1Y2Nlc3Npdm8gZSBwcmVjZWRlbnRlJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQWRkaXRpb25hbFdhZ29uSW5mb3JtYXRpb25IZWFkaW5nOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1c8OkdHpsaWNoZSBXYWdlbmluZm9ybWF0aW9uJyxcbiAgZW46ICdBZGRpdGlvbmFsIHdhZ29uIGluZm9ybWF0aW9uJyxcbiAgZnI6ICdJbmZvcm1hdGlvbnMgc3VwcGzDqW1lbnRhaXJlcyBzdXIgbGVzIHdhZ29ucycsXG4gIGl0OiAnSW5mb3JtYXppb25pIGFnZ2l1bnRpdmUgc3VsbGEgY2Fycm96emEgZGVsIHRyZW5vJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRGVwYXJ0dXJlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0FiZmFocnQnLFxuICBlbjogJ0RlcGFydHVyZScsXG4gIGZyOiAnRMOpcGFydCcsXG4gIGl0OiAnUGFydGVuemEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5EdXJhdGlvbk1pbnV0ZTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4+ID0ge1xuICBzaW5nbGU6IHtcbiAgICBsb25nOiB7XG4gICAgICBkZTogJ01pbnV0ZScsXG4gICAgICBlbjogJ01pbnV0ZScsXG4gICAgICBmcjogJ01pbnV0ZScsXG4gICAgICBpdDogJ01pbnV0bycsXG4gICAgfSxcbiAgICBzaG9ydDoge1xuICAgICAgZGU6ICdtJyxcbiAgICAgIGVuOiAnbScsXG4gICAgICBmcjogJ20nLFxuICAgICAgaXQ6ICdtJyxcbiAgICB9LFxuICB9LFxuICBtdWx0aXBsZToge1xuICAgIGxvbmc6IHtcbiAgICAgIGRlOiAnTWludXRlbicsXG4gICAgICBlbjogJ01pbnV0ZXMnLFxuICAgICAgZnI6ICdNaW51dGVzJyxcbiAgICAgIGl0OiAnTWludXRpJyxcbiAgICB9LFxuICAgIHNob3J0OiB7XG4gICAgICBkZTogJ01pbicsXG4gICAgICBlbjogJ21pbicsXG4gICAgICBmcjogJ21pbi4nLFxuICAgICAgaXQ6ICdtaW5zJyxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5EdXJhdGlvbkhvdXI6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+PiA9IHtcbiAgc2luZ2xlOiB7XG4gICAgbG9uZzoge1xuICAgICAgZGU6ICdTdHVuZGUnLFxuICAgICAgZW46ICdIb3VyJyxcbiAgICAgIGZyOiAnSGV1cmUnLFxuICAgICAgaXQ6ICdPcmEnLFxuICAgIH0sXG4gICAgc2hvcnQ6IHtcbiAgICAgIGRlOiAnU3RkLicsXG4gICAgICBlbjogJ2gnLFxuICAgICAgZnI6ICdvcmUnLFxuICAgICAgaXQ6ICdocnMnLFxuICAgIH0sXG4gIH0sXG4gIG11bHRpcGxlOiB7XG4gICAgbG9uZzoge1xuICAgICAgZGU6ICdTdHVuZGVuJyxcbiAgICAgIGVuOiAnSG91cnMnLFxuICAgICAgZnI6ICdIZXVyZXMnLFxuICAgICAgaXQ6ICdPcmUnLFxuICAgIH0sXG4gICAgc2hvcnQ6IHtcbiAgICAgIGRlOiAnU3RkLicsXG4gICAgICBlbjogJ2gnLFxuICAgICAgZnI6ICdvcmUnLFxuICAgICAgaXQ6ICdocnMnLFxuICAgIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkR1cmF0aW9uRGF5OiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pj4gPSB7XG4gIHNpbmdsZToge1xuICAgIGxvbmc6IHtcbiAgICAgIGRlOiAnVGFnJyxcbiAgICAgIGVuOiAnRGF5JyxcbiAgICAgIGZyOiAnSm91cicsXG4gICAgICBpdDogJ0dpb3JubycsXG4gICAgfSxcbiAgfSxcbiAgbXVsdGlwbGU6IHtcbiAgICBsb25nOiB7XG4gICAgICBkZTogJ1RhZ2UnLFxuICAgICAgZW46ICdEYXlzJyxcbiAgICAgIGZyOiAnSm91cnMnLFxuICAgICAgaXQ6ICdHaW9ybmknLFxuICAgIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blRyaXBRdWF5Q2hhbmdlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0dsZWlzw6RuZGVydW5nIGltIFZlcmxhdWYgZGllc2VyIFZlcmJpbmR1bmcnLFxuICBlbjogJ1RyYWNrIGNoYW5nZSBpbiB0aGUgY291cnNlIG9mIHRoaXMgY29ubmVjdGlvbicsXG4gIGZyOiAnQ2hhbmdlbWVudCBkZSB2b2llIHN1ciBsZSBwYXJjb3VycyBkZSBjZXR0ZSBjb25uZXhpb24nLFxuICBpdDogJ0NhbWJpYW1lbnRvIGRpIGJpbmFyaW8gbmVsIGNvcnNvIGRpIHF1ZXN0YSBjb25uZXNzaW9uZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blRyaXBEdXJhdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdSZWlzZWRhdWVyJyxcbiAgZW46ICdUcmF2ZWwgdGltZScsXG4gIGZyOiAnRHVyw6llIGR1IHZveWFnZScsXG4gIGl0OiAnRHVyYXRhIGRlbCB2aWFnZ2lvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhdmVsaGludHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnUmVpc2VoaW53ZWlzZScsXG4gIGVuOiAnVHJhdmVsaGludHMnLFxuICBmcjogJ0luZGljYXRpb25zIHN1ciBsZSB2b3lhZ2UnLFxuICBpdDogJ0lkaWljYXppb25pIGRpIHZpYWdnaW8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5SZWFsVGltZUluZm86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnRWNodHplaXRpbmZvcm1hdGlvbmVuJyxcbiAgZW46ICdSZWFsIHRpbWUgaW5mb3JtYXRpb24nLFxuICBmcjogJ0luZm9ybWF0aW9ucyBlbiB0ZW1wcyByw6llbCcsXG4gIGl0OiAnSW5mb3JtYXppb25pIGluIHRlbXBvIHJlYWxlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhbnNmZXJQcm9jZWR1cmVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ21hbCB1bXN0ZWlnZW4nLFxuICBlbjogJ2NoYW5nZXMnLFxuICBmcjogJ2NoYW5nZW1lbnQocykgZGUgdHJhaW4nLFxuICBpdDogJ2NhbWJpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuTmV3OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ25ldScsXG4gIGVuOiAnbmV3JyxcbiAgZnI6ICdub3V2ZWF1JyxcbiAgaXQ6ICdudW92bycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkZyb21QbGF0Zm9ybTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdBdWYnLFxuICBlbjogJ29uJyxcbiAgZnI6ICdzdXInLFxuICBpdDogJ3N1Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuU3VwZXJzYXZlcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdTcGFyYmlsbGV0dGUnLFxuICBlbjogJ1N1cGVyc2F2ZXIgdGlja2V0cycsXG4gIGZyOiAnQmlsbGV0cyBkw6lncmlmZsOpcycsXG4gIGl0OiAnQmlnbGlldHRpIHJpc3Bhcm1pbycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bk9jY3VwYW5jeTogUmVjb3JkPFNiYk9jY3VwYW5jeSwgUmVjb3JkPFNiYkxhbmd1YWdlLCBzdHJpbmc+PiA9IHtcbiAgbm9uZToge1xuICAgIGRlOiAnS2VpbmUgQmVsZWd1bmdzcHJvZ25vc2UgdmVyZsO8Z2JhcicsXG4gICAgZW46ICdObyBvY2N1cGFuY3kgZm9yZWNhc3QgYXZhaWxhYmxlJyxcbiAgICBmcjogXCJBdWN1bmUgcHLDqXZpc2lvbiBkJ29jY3VwYXRpb24gZGlzcG9uaWJsZVwiLFxuICAgIGl0OiAnTmVzc3VuYSBwcmV2aXNpb25lIGRpIG9jY3VwYXppb25lIGRpc3BvbmliaWxlJyxcbiAgfSxcbiAgbG93OiB7XG4gICAgZGU6ICdUaWVmZSBiaXMgbWl0dGxlcmUgQmVsZWd1bmcgZXJ3YXJ0ZXQnLFxuICAgIGVuOiAnTG93IHRvIG1lZGl1bSBvY2N1cGFuY3kgZXhwZWN0ZWQnLFxuICAgIGZyOiBcIk9uIHMnYXR0ZW5kIMOgIHVuIHRhdXggZCdvY2N1cGF0aW9uIGZhaWJsZSDDoCBtb3llblwiLFxuICAgIGl0OiBcIlNpIHByZXZlZGUgdW4nb2NjdXBhemlvbmUgbWVkaW8tYmFzc2FcIixcbiAgfSxcbiAgbWVkaXVtOiB7XG4gICAgZGU6ICdIb2hlIEJlbGVndW5nIGVyd2FydGV0JyxcbiAgICBlbjogJ0hpZ2ggb2NjdXBhbmN5IGV4cGVjdGVkJyxcbiAgICBmcjogXCJVbiB0YXV4IGQnb2NjdXBhdGlvbiDDqWxldsOpIGVzdCBhdHRlbmR1XCIsXG4gICAgaXQ6IFwiQ2kgc2kgYXNwZXR0YSB1bidhbHRhIG9jY3VwYXppb25lXCIsXG4gIH0sXG4gIGhpZ2g6IHtcbiAgICBkZTogJ1NlaHIgaG9oZSBCZWxlZ3VuZyBlcndhcnRldCcsXG4gICAgZW46ICdWZXJ5IGhpZ2ggb2NjdXBhbmN5IGV4cGVjdGVkJyxcbiAgICBmcjogXCJVbiB0YXV4IGQnb2NjdXBhdGlvbiB0csOocyDDqWxldsOpIGVzdCBhdHRlbmR1XCIsXG4gICAgaXQ6IFwiQ2kgc2kgYXNwZXR0YSB1bidvY2N1cGF6aW9uZSBtb2x0byBhbHRhXCIsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bk1lYW5zT2ZUcmFuc3BvcnQ6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0ge1xuICBmdW5pY3VsYXI6IHtcbiAgICBkZTogJ1NlaWxiYWhuL1phaG5yYWRiYWhuJyxcbiAgICBlbjogJ0Z1bmljdWxhci9Db2cgcmFpbHdheScsXG4gICAgZnI6ICdGdW5pY3VsYWlyZS9DaGVtaW4gZGUgZmVyIMOgIGNyw6ltYWlsbMOocmUnLFxuICAgIGl0OiAnRnVuaXZpYS9GZXJyb3ZpYSBhIGNyZW1hZ2xpZXJhJyxcbiAgfSxcbiAgZWNfaWQ6IHtcbiAgICBkZTogJ0VDL0lDJyxcbiAgICBlbjogJ0VDL0lDJyxcbiAgICBmcjogJ0VDL0lDJyxcbiAgICBpdDogJ0VDL0lDJyxcbiAgfSxcbiAgYnVzOiB7XG4gICAgZGU6ICdCdXMnLFxuICAgIGVuOiAnQnVzJyxcbiAgICBmcjogJ0J1cycsXG4gICAgaXQ6ICdCdXMnLFxuICB9LFxuICByZToge1xuICAgIGRlOiAnUkUnLFxuICAgIGVuOiAnUkUnLFxuICAgIGZyOiAnUkUnLFxuICAgIGl0OiAnUkUnLFxuICB9LFxuICBhcnpfZXh0OiB7XG4gICAgZGU6ICdBUlovRVhUJyxcbiAgICBlbjogJ0FSWi9FWFQnLFxuICAgIGZyOiAnQVJaL0VYVCcsXG4gICAgaXQ6ICdBUlovRVhUJyxcbiAgfSxcbiAgaWNlX3Rndl9yang6IHtcbiAgICBkZTogJ0lDRS9UR1YvUkpYJyxcbiAgICBlbjogJ0lDRS9UR1YvUkpYJyxcbiAgICBmcjogJ0lDRS9UR1YvUkpYJyxcbiAgICBpdDogJ0lDRS9UR1YvUkpYJyxcbiAgfSxcbiAgaXJfcGU6IHtcbiAgICBkZTogJ0lSL1BFJyxcbiAgICBlbjogJ0lSL1BFJyxcbiAgICBmcjogJ0lSL1BFJyxcbiAgICBpdDogJ0lSL1BFJyxcbiAgfSxcbiAgc19zbl9yOiB7XG4gICAgZGU6ICdTL1NOL1InLFxuICAgIGVuOiAnUy9TTi9SJyxcbiAgICBmcjogJ1MvU04vUicsXG4gICAgaXQ6ICdTL1NOL1InLFxuICB9LFxuICB0cmFtd2F5OiB7XG4gICAgZGU6ICdUcmFtL01ldHJvJyxcbiAgICBlbjogJ1RyYW13YXkvVW5kZXJncm91bmQnLFxuICAgIGZyOiAnVHJhbS9Nw6l0cm8nLFxuICAgIGl0OiAnVHJhbS9NZXRybycsXG4gIH0sXG4gIHNoaXA6IHtcbiAgICBkZTogJ1NjaGlmZicsXG4gICAgZW46ICdTaGlwJyxcbiAgICBmcjogJ0JhdGVhdScsXG4gICAgaXQ6ICdCYXR0ZWxsbycsXG4gIH0sXG4gIHRyYWluOiB7XG4gICAgZGU6ICdadWcnLFxuICAgIGVuOiAnVHJhaW4nLFxuICAgIGZyOiAnVHJhaW4nLFxuICAgIGl0OiAnVHJlbm8nLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5PcHRpb25hbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICcob3B0aW9uYWwpJyxcbiAgZW46ICcob3B0aW9uYWwpJyxcbiAgZnI6ICcoZmFjdWx0YXRpZiknLFxuICBpdDogJyhmYWNvbHRhdGl2byknLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5UYXJnZXRPcGVuc0luTmV3V2luZG93OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0xpbmt6aWVsIMO2ZmZuZXQgaW4gbmV1ZW0gRmVuc3Rlci4nLFxuICBlbjogJ0xpbmsgdGFyZ2V0IG9wZW5zIGluIGEgbmV3IHdpbmRvdy4nLFxuICBmcjogXCJMZSBsaWVuIHMnb3V2cmUgZGFucyB1bmUgbm91dmVsbGUgZmVuw6p0cmUuXCIsXG4gIGl0OiBcIkwnb2JpZXR0aXZvIGRlbCBsaW5rIHNpIGFwcmUgaW4gdW5hIG51b3ZhIGZpbmVzdHJhLlwiLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5XYWxraW5nRGlzdGFuY2VBcnJpdmFsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ01pbnV0ZW4gRnVzc3dlZyBuYWNoIEFua3VuZnQ6JyxcbiAgZW46ICdtaW51dGVzIG9mIHdhbGtpbmcgdGltZSBhZnRlciBhcnJpdmFsOicsXG4gIGZyOiAnbWludXRlcyBkZSB0cmFqZXQgw6AgcGllZCBhcHLDqHMgbOKAmWFycml2w6llOicsXG4gIGl0OiAnbWludXRpIGEgcGllZGkgYWxs4oCZYXJyaXZvOicsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bldhbGtpbmdEaXN0YW5jZURlcGFydHVyZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdNaW51dGVuIEZ1c3N3ZWcgdm9yIEFiZmFocnQ6JyxcbiAgZW46ICdtaW51dGVzIG9mIHdhbGtpbmcgdGltZSBiZWZvcmUgZGVwYXJ0dXJlOicsXG4gIGZyOiAnbWludXRlcyB0cmFqZXQgw6AgcGllZCBhdmFudCBsZSBkw6lwYXJ0OicsXG4gIGl0OiAnbWludXRpIGEgcGllZGkgcHJpbWEgZGVsbGEgcGFydGVuemE6Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VBbGVydDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdNZWxkdW5nIHNjaGxpZXNzZW4nLFxuICBlbjogJ0Nsb3NlIG1lc3NhZ2UnLFxuICBmcjogJ0Zlcm1lciBtZXNzYWdlJyxcbiAgaXQ6ICdDaGl1ZGVyZSBpbCBtZXNzYWdnaW8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5DbG9zZU5vdGlmaWNhdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdOYWNocmljaHQgc2NobGllc3NlbicsXG4gIGVuOiAnQ2xvc2UgbWVzc2FnZScsXG4gIGZyOiAnRmVybWVyIG1lc3NhZ2UnLFxuICBpdDogJ0NoaXVkZXJlIGlsIG1lc3NhZ2dpbycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkRpYWxvZzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdEaWFsb2cnLFxuICBlbjogJ0RpYWxvZycsXG4gIGZyOiAnRGlhbG9ndWUnLFxuICBpdDogJ0RpYWxvZ28nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5DbG9zZURpYWxvZzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICfDnGJlcmdlbGFnZXJ0ZXMgRmVuc3RlciBzY2hsaWVzc2VuJyxcbiAgZW46ICdDbG9zZSBzZWNvbmRhcnkgd2luZG93JyxcbiAgZnI6ICdGZXJtZXIgbGEgZmVuw6p0cmUgc3VwZXJwb3PDqWUnLFxuICBpdDogJ0NoaXVkZXJlIGxhIGZpbmVzdHJhIHNvdnJhcHBvc3RhJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VOYXZpZ2F0aW9uOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ05hdmlnYXRpb24gc2NobGllc3NlbicsXG4gIGVuOiAnQ2xvc2UgbmF2aWdhdGlvbicsXG4gIGZyOiAnRmVybWVyIGxhIG5hdmlnYXRpb24nLFxuICBpdDogJ0NoaXVkZXJlIGxhIG5hdmlnYXppb25lJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VQb3BvdmVyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0hpbndlaXMgc2NobGllc3NlbicsXG4gIGVuOiAnQ2xvc2Ugbm90ZScsXG4gIGZyOiAnRmVybWVyIGxhIG5vdGUnLFxuICBpdDogJ0NoaXVkZXJlIGxhIG5vdGEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5Hb0JhY2s6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnWnVyw7xjaycsXG4gIGVuOiAnR28gYmFjaycsXG4gIGZyOiAnUmV0b3VybmVyJyxcbiAgaXQ6ICdWYWkgaW5kaWV0cm8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5Ub2RheTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdIZXV0ZScsXG4gIGVuOiAnVG9kYXknLFxuICBmcjogJ0F1am91cmTigJlodWknLFxuICBpdDogJ09nZ2knLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5OZXh0TW9udGg6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnWnVtIG7DpGNoc3RlbiBNb25hdCB3ZWNoc2VsbicsXG4gIGVuOiAnQ2hhbmdlIHRvIHRoZSBuZXh0IG1vbnRoJyxcbiAgZnI6ICdQYXNzZXIgYXUgbW9pcyBzdWl2YW50JyxcbiAgaXQ6ICdQYXNzYXJlIGFsIG1lc2Ugc3VjY2Vzc2l2bycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blByZXZpb3VzTW9udGg6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnWnVtIGxldHp0ZW4gTW9uYXQgd2VjaHNlbG4nLFxuICBlbjogJ0NoYW5nZSB0byB0aGUgcHJldmlvdXMgbW9udGgnLFxuICBmcjogJ1Bhc3NlciBhdSBtb2lzIHByw6ljw6lkZW50JyxcbiAgaXQ6ICdQYXNzYXJlIGFsIG1lc2UgcHJlY2VkZW50ZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bk5leHREYXk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnTsOkY2hzdGVyIFRhZycsXG4gIGVuOiAnTmV4dCBkYXknLFxuICBmcjogJ0xlIHByb2NoYWluIGpvdXInLFxuICBpdDogJ0dpb3JubyBzdWNjZXNzaXZvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuUHJldmlvdXNEYXk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnVm9yaGVyaWdlciBUYWcnLFxuICBlbjogJ1ByZXZpb3VzIGRheScsXG4gIGZyOiAnSm91ciBwcsOpY8OpZGVudCcsXG4gIGl0OiAnR2lvcm5vIHByZWNlZGVudGUnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5ZZWFyTW9udGhTZWxlY3Rpb246IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnSmFociB1bmQgTW9uYXQgYXVzd8OkaGxlbicsXG4gIGVuOiAnQ2hvb3NlIHllYXIgYW5kIG1vbnRoJyxcbiAgZnI6IFwiQ2hvaXNpc3NleiBsJ2FubsOpZSBldCBsZSBtb2lzXCIsXG4gIGl0OiAnU2VsZXppb25hIGFubm8gZSBtZXNlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2FsZW5kYXJEYXRlU2VsZWN0aW9uOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0RhdHVtIGF1c3fDpGhsZW4nLFxuICBlbjogJ0Nob29zZSBkYXRlJyxcbiAgZnI6ICdDaG9pc2lyIHVuZSBkYXRlJyxcbiAgaXQ6ICdTZWxlemlvbmEgdW5hIGRhdGEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5OZXh0WWVhclJhbmdlID0gKHllYXJSYW5nZTogbnVtYmVyKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9PiAoe1xuICBkZTogYFdlY2hzZWwgenUgZGVuIG7DpGNoc3RlbiAke3llYXJSYW5nZX0gSmFocmVuYCxcbiAgZW46IGBDaGFuZ2UgdG8gdGhlIG5leHQgJHt5ZWFyUmFuZ2V9IHllYXJzYCxcbiAgZnI6IGBQYXNzZXIgYXV4ICR7eWVhclJhbmdlfSBwcm9jaGFpbmVzIGFubsOpZXNgLFxuICBpdDogYFBhc3NhcmUgYWkgc3VjY2Vzc2l2aSAke3llYXJSYW5nZX0gYW5uaWAsXG59KTtcblxuZXhwb3J0IGNvbnN0IGkxOG5QcmV2aW91c1llYXJSYW5nZSA9ICh5ZWFyUmFuZ2U6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGBXZWNoc2VsIHp1IGRlbiB2b3JoZXJpZ2VuICR7eWVhclJhbmdlfSBKYWhyZW5gLFxuICBlbjogYENoYW5nZSB0byB0aGUgcHJldmlvdXMgJHt5ZWFyUmFuZ2V9IHllYXJzYCxcbiAgZnI6IGBQYXNzYWdlIGF1eCAke3llYXJSYW5nZX0gcHLDqWPDqWRlbnRlcyBhbm7DqWVzYCxcbiAgaXQ6IGBQYXNzYXJlIGFpIHByZWNlZGVudGkgJHt5ZWFyUmFuZ2V9IGFubmlgLFxufSk7XG5cbmV4cG9ydCBjb25zdCBpMThuTmV4dFllYXI6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnWnVtIG7DpGNoc3RlbiBKYWhyIHdlY2hzZWxuJyxcbiAgZW46ICdDaGFuZ2UgdG8gdGhlIG5leHQgeWVhcicsXG4gIGZyOiBcIlBhc3NlciDDoCBsJ2FubsOpZSBzdWl2YW50ZVwiLFxuICBpdDogXCJQYXNzYXJlIGFsbCdhbm5vIHN1Y2Nlc3Npdm9cIixcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuUHJldmlvdXNZZWFyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1bSBsZXR6dGVuIEphaHIgd2VjaHNlbG4nLFxuICBlbjogJ0NoYW5nZSB0byB0aGUgcHJldmlvdXMgeWVhcicsXG4gIGZyOiBcIlBhc3NlciDDoCBsJ2FubsOpZSBwcsOpY8OpZGVudFwiLFxuICBpdDogXCJQYXNzYXJlIGFsbCdhbm5vIHByZWNlZGVudGVcIixcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuU2VsZWN0TmV4dERheSA9IChjdXJyZW50RGF0ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9PiAoe1xuICBkZTogYFp1bSBuw6RjaHN0ZW4gVGFnIHdlY2hzZWxuLCBkZXJ6ZWl0IGF1c2dld8OkaGx0ICR7Y3VycmVudERhdGV9LmAsXG4gIGVuOiBgQ2hhbmdlIHRvIHRoZSBuZXh0IGRheSwgY3VycmVudGx5IHNlbGVjdGVkICR7Y3VycmVudERhdGV9LmAsXG4gIGZyOiBgUGFzc2VyIGF1IGpvdXIgc3VpdmFudCwgYWN0dWVsbGVtZW50IHPDqWxlY3Rpb25uw6kgJHtjdXJyZW50RGF0ZX0uYCxcbiAgaXQ6IGBQYXNzYXJlIGFsIGdpb3JubyBzdWNjZXNzaXZvLCBhdHR1YWxtZW50ZSBzZWxlemlvbmF0byAke2N1cnJlbnREYXRlfS5gLFxufSk7XG5cbmV4cG9ydCBjb25zdCBpMThuU2VsZWN0UHJldmlvdXNEYXkgPSAoY3VycmVudERhdGU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGBadW0gdm9yaGVyaWdlbiBUYWcgd2VjaHNlbG4sIGRlcnplaXQgYXVzZ2V3w6RobHQgJHtjdXJyZW50RGF0ZX0uYCxcbiAgZW46IGBDaGFuZ2UgdG8gdGhlIHByZXZpb3VzIGRheSwgY3VycmVudGx5IHNlbGVjdGVkICR7Y3VycmVudERhdGV9LmAsXG4gIGZyOiBgUGFzc2VyIGF1IGpvdXIgcHLDqWPDqWRlbnQsIGFjdHVlbGxlbWVudCBzw6lsZWN0aW9ubsOpICR7Y3VycmVudERhdGV9LmAsXG4gIGl0OiBgUGFzc2FyZSBhbCBnaW9ybm8gcHJlY2VkZW50ZSwgYXR0dWFsbWVudGUgc2VsZXppb25hdG8gJHtjdXJyZW50RGF0ZX0uYCxcbn0pO1xuXG5leHBvcnQgY29uc3QgaTE4blNob3dDYWxlbmRhcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdLYWxlbmRlciBhbnplaWdlbicsXG4gIGVuOiAnU2hvdyBjYWxlbmRhcicsXG4gIGZyOiAnQWZmaWNoZXIgbGUgY2FsZW5kcmllcicsXG4gIGl0OiAnVmlzdWFsaXp6YXJlIGNhbGVuZGFyaW8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5EYXRlUGlja2VyUGxhY2Vob2xkZXI6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnVFQuTU0uSkpKSicsXG4gIGVuOiAnREQuTU0uWVlZWScsXG4gIGZyOiAnSkouTU0uQUFBQScsXG4gIGl0OiAnR0cuTU0uQUFBQScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkRhdGVDaGFuZ2VkVG86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnRGF0dW0gZ2XDpG5kZXJ0IGF1ZicsXG4gIGVuOiAnRGF0ZSBjaGFuZ2VkIHRvJyxcbiAgZnI6ICdEYXRlIG1vZGlmacOpZSBhdScsXG4gIGl0OiAnRGF0YSBtb2RpZmljYXRhIGluJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ29ubmVjdGlvbkZyb206IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnVmVyYmluZHVuZyB2b24nLFxuICBlbjogJ0Nvbm5lY3Rpb24gZnJvbScsXG4gIGZyOiAnTGlhaXNvbiBkZScsXG4gIGl0OiAnQ29sbGVnYW1lbnRvIGRhJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ29ubmVjdGlvblRvOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ25hY2gnLFxuICBlbjogJ3RvJyxcbiAgZnI6ICfDoCcsXG4gIGl0OiAnYScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNvbm5lY3Rpb25Sb3VuZHRyaXAgPSAocmV0dXJuQ2l0eTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9PiAoe1xuICBkZTogYHVuZCB6dXLDvGNrIG5hY2ggJHtyZXR1cm5DaXR5fS5gLFxuICBlbjogYGFuZCBiYWNrIHRvICR7cmV0dXJuQ2l0eX0uYCxcbiAgZnI6IGBldCByZXRvdXIgw6AgJHtyZXR1cm5DaXR5fS5gLFxuICBpdDogYGUgcml0b3JubyBhICR7cmV0dXJuQ2l0eX0uYCxcbn0pO1xuXG5leHBvcnQgY29uc3QgaTE4bkV4cGFuZGVkOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ2Vyd2VpdGVydCcsXG4gIGVuOiAnZXhwYW5kZWQnLFxuICBmcjogJ2VzdCB0aXLDqScsXG4gIGl0OiAnZXNhcG5zbycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNvbGxhcHNlZDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdyZWR1emllcnQnLFxuICBlbjogJ2NvbGxhcHNlZCcsXG4gIGZyOiAnY29uZGVuc8OpJyxcbiAgaXQ6ICdjb21wcmVzc28nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5NYXBDb250YWluZXJCdXR0b25MYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdLYXJ0ZSB6ZWlnZW4nLFxuICBlbjogJ1Nob3cgbWFwJyxcbiAgZnI6ICdBZmZpY2hlciBsYSBjYXJ0ZScsXG4gIGl0OiAnTW9zdHJhIGxhIG1hcHBhJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQnJlYWRjcnVtYkVsbGlwc2lzQnV0dG9uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnTWVociBCcmVhZGNydW1icyBhbnplaWdlbicsXG4gIGVuOiAnU2hvdyBtb3JlIGJyZWFkY3J1bWJzJyxcbiAgZnI6ICdBZmZpY2hlciBwbHVzIGJyZWFkY3J1bWJzJyxcbiAgaXQ6ICdNb3N0cmEgcGnDuSBicmVhZGNydW1icycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blRpbWVJbnB1dENoYW5nZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdaZWl0IGdlw6RuZGVydCB6dScsXG4gIGVuOiAnVGltZSBjaGFuZ2VkIHRvJyxcbiAgZnI6ICdIZXVyZSBtb2RpZmnDqWU6JyxcbiAgaXQ6ICdPcmFyaW8gbW9kaWZpY2F0YSBhbGxlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xlYXJJbnB1dDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdGZWxkaW5oYWx0IGzDtnNjaGVuJyxcbiAgZW46ICdDbGVhciBpbnB1dCB2YWx1ZScsXG4gIGZyOiAnRWZmYWNlciBsYSB2YWxldXIgZOKAmWVudHLDqWUnLFxuICBpdDogJ0NhbmNlbGxhIGlsIHZhbG9yZSBkZWxs4oCZaW5wdXQnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5GbGlwQ2FyZDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdLbGlja2VuIFNpZSBhdWYgZGllc2UgS2FydGUgZsO8ciBEZXRhaWxzJyxcbiAgZW46ICdDbGljayBvbiB0aGlzIGNhcmQgZm9yIGRldGFpbHMnLFxuICBmcjogJ0NsaXF1ZXogc3VyIGNldHRlIGNhcnRlIHBvdXIgcGx1cyBkZSBkw6l0YWlscycsXG4gIGl0OiAnQ2xpY2NhIHN1IHF1ZXN0YSBzY2hlZGEgcGVyIGkgZGV0dGFnbGknLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5SZXZlcnNlQ2FyZDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdLbGlja2VuIFNpZSBhdWYgZGllc2UgS2FydGUsIHVtIHp1csO8Y2sgenVyIFp1c2FtbWVuZmFzc3VuZyB6dSBnZWxhbmdlbicsXG4gIGVuOiAnQ2xpY2sgb24gdGhpcyBjYXJkIHRvIGdvIGJhY2sgdG8gdGhlIHN1bW1hcnknLFxuICBmcjogJ0NsaXF1ZXogc3VyIGNldHRlIGNhcnRlIHBvdXIgcmV2ZW5pciBhdSByw6lzdW3DqScsXG4gIGl0OiAnQ2xpY2NhIHN1IHF1ZXN0YSBzY2hlZGEgcGVyIHRvcm5hcmUgYWwgc29tbWFyaW8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5GaWxlU2VsZWN0b3JCdXR0b25MYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdEYXRlaSBhdXN3w6RobGVuJyxcbiAgZW46ICdDaG9vc2UgYSBmaWxlJyxcbiAgZnI6ICdDaG9pc2lzc2V6IHVuIGZpY2hpZXInLFxuICBpdDogJ1NjZWdsaSB1biBmaWxlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRmlsZVNlbGVjdG9yU3VidGl0bGVMYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdaaWVoZSBkZWluZSBEYXRlaWVuIGhpZXIgaGluIChEcmFnICYgRHJvcCknLFxuICBlbjogJ0RyYWcgJiBEcm9wIHlvdXIgZmlsZXMgaGVyZScsXG4gIGZyOiAnRmFpdGVzIGdsaXNzZXIgZXQgZMOpcG9zZXogdm9zIGZpY2hpZXJzIGljaScsXG4gIGl0OiAnVHJhc2NpbmEgZSByaWxhc2NpYSBpIHR1b2kgZmlsZSBxdWknLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5GaWxlU2VsZWN0b3JEZWxldGVGaWxlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0RhdGVpIGVudGZlcm5lbicsXG4gIGVuOiAnUmVtb3ZlIGZpbGUnLFxuICBmcjogJ0VmZmFjZXIgbGUgZmljaGllcicsXG4gIGl0OiAnUmltdW92aSBpbCBmaWxlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRmlsZVNlbGVjdG9yQ3VycmVudGx5U2VsZWN0ZWQgPSAoZmlsZXNOYW1lOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4ge1xuICBpZiAoZmlsZXNOYW1lICYmIGZpbGVzTmFtZS5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRlOiBgQWt0dWVsbCBhdXNnZXfDpGhsdGUgRGF0ZWk6ICR7ZmlsZXNOYW1lLmpvaW4oJywgJyl9LmAsXG4gICAgICBlbjogYEN1cnJlbnRseSBzZWxlY3RlZCBmaWxlczogJHtmaWxlc05hbWUuam9pbignLCAnKX0uYCxcbiAgICAgIGZyOiBgRmljaGllciBhY3R1ZWxsZW1lbnQgc8OpbGVjdGlvbm7DqTogJHtmaWxlc05hbWUuam9pbignLCAnKX0uYCxcbiAgICAgIGl0OiBgRmlsZSBhdHR1YWxtZW50ZSBzZWxlemlvbmF0bzogJHtmaWxlc05hbWUuam9pbignLCAnKX0uYCxcbiAgICB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgZGU6ICdLZWluZSBEYXRlaSBhdXNnZXfDpGhsdC4nLFxuICAgIGVuOiAnTm8gZmlsZXMgc2VsZWN0ZWQuJyxcbiAgICBmcjogJ05lc3N1biBmaWNoaWVyIHPDqWxlY3Rpb25uw6kuJyxcbiAgICBpdDogJ05lc3N1biBmaWxlIHNlbGV6aW9uYXRvLicsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgaTE4bk5leHRQYWdlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ07DpGNoc3RlIFNlaXRlJyxcbiAgZW46ICdOZXh0IHBhZ2UnLFxuICBmcjogJ1Byb2NoYWluZSBwYWdlJyxcbiAgaXQ6ICdQYWdpbmEgc3VjY2Vzc2l2YScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blByZXZpb3VzUGFnZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdWb3JoZXJpZ2UgU2VpdGUnLFxuICBlbjogJ1ByZXZpb3VzIHBhZ2UnLFxuICBmcjogJ1BhZ2UgcHLDqWPDqWRlbnRlJyxcbiAgaXQ6ICdQYWdpbmEgcHJlY2VkZW50ZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blBhZ2U6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnU2VpdGUnLFxuICBlbjogJ1BhZ2UnLFxuICBmcjogJ1BhZ2UnLFxuICBpdDogJ1BhZ2luYScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkl0ZW1zUGVyUGFnZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdFaW50csOkZ2UgcHJvIFNlaXRlJyxcbiAgZW46ICdJdGVtcyBwZXIgcGFnZScsXG4gIGZyOiAnRW50csOpZXMgcGFyIHBhZ2UnLFxuICBpdDogJ0VsZW1lbnRpIHBlciBwYWdpbmEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5TZWxlY3RlZFBhZ2UgPSAocGFnZU51bWJlcjogbnVtYmVyKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9PiAoe1xuICBkZTogYFNlaXRlICR7cGFnZU51bWJlcn0gYXVzZ2V3w6RobHQuYCxcbiAgZW46IGBQYWdlICR7cGFnZU51bWJlcn0gc2VsZWN0ZWQuYCxcbiAgZnI6IGBQYWdlICR7cGFnZU51bWJlcn0gc8OpbGVjdGlvbm7DqWUuYCxcbiAgaXQ6IGBQYWdpbmEgJHtwYWdlTnVtYmVyfSBzZWxlemlvbmF0YS5gLFxufSk7XG5cbmV4cG9ydCBjb25zdCBpMThuQ2hlY2tib3hSZXF1aXJlZDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdNdXNzIGdlc2V0enQgc2Vpbi4nLFxuICBlbjogJ011c3QgYmUgY2hlY2tlZC4nLFxuICBmcjogJ0RvaXQgw6p0cmUgZMOpZmluaS4nLFxuICBpdDogJ0RldmUgZXNzZXJlIGltcG9zdGF0by4nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5TZWxlY3Rpb25SZXF1aXJlZDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdBdXN3YWhsIGVyZm9yZGVybGljaC4nLFxuICBlbjogJ1NlbGVjdGlvbiByZXF1aXJlZC4nLFxuICBmcjogJ1PDqWxlY3Rpb24gcmVxdWlzZS4nLFxuICBpdDogJ1NlbGV6aW9uZSBuZWNlc3NhcmlhLicsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bklucHV0UmVxdWlyZWQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnRWluZ2FiZSBlcmZvcmRlcmxpY2guJyxcbiAgZW46ICdJbnB1dCByZXF1aXJlZC4nLFxuICBmcjogJ0VudHLDqWUgb2JsaWdhdG9pcmUuJyxcbiAgaXQ6ICdJbnNlcmltZW50byBuZWNlc3NhcmlvLicsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkRhdGVJbnZhbGlkOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0JpdHRlIGfDvGx0aWdlcyBEYXR1bSBlaW5nZWJlbi4nLFxuICBlbjogJ1BsZWFzZSBwcm92aWRlIGEgdmFsaWQgZGF0ZS4nLFxuICBmcjogJ1ZldWlsbGV6IHNhaXNpciB1bmUgZGF0ZSB2YWxpZGUuJyxcbiAgaXQ6ICdJbnNlcmlyZSB1bmEgZGF0YSB2YWxpZGEuJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRGF0ZU1pbiA9IChtaW46IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGBEYXR1bSBkYXJmIG5pY2h0IHZvciAke21pbn0gc2Vpbi5gLFxuICBlbjogYERhdGUgbXVzdCBub3QgYmUgYmVmb3JlICR7bWlufS5gLFxuICBmcjogYExhIGRhdGUgbmUgZG9pdCBwYXMgw6p0cmUgYW50w6lyaWV1cmUgYXUgJHttaW59LmAsXG4gIGl0OiBgTGEgZGF0YSBub24gZGV2ZSBlc3NlcmUgYW50ZXJpb3JlIGFsICR7bWlufS5gLFxufSk7XG5cbmV4cG9ydCBjb25zdCBpMThuRGF0ZU1heCA9IChtYXg6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGBEYXR1bSBkYXJmIG5pY2h0IG5hY2ggJHttYXh9IHNlaW4uYCxcbiAgZW46IGBEYXRlIG11c3Qgbm90IGJlIGFmdGVyICR7bWF4fS5gLFxuICBmcjogYExhIGRhdGUgbmUgZG9pdCBwYXMgw6p0cmUgcG9zdMOpcmlldXJlIGF1ICR7bWF4fS5gLFxuICBpdDogYExhIGRhdGEgbm9uIGRldmUgZXNzZXJlIHN1Y2Nlc3NpdmEgYWwgJHttYXh9LmAsXG59KTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFTyxNQUFNLGdCQUF3QztBQUFBLEVBQ25ELElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7O0FBR0MsTUFBTSxjQUFzQztBQUFBLEVBQ2pELElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7O0FBR0MsTUFBTSxhQUFxQztBQUFBLEVBQ2hELElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7O0FBR0MsTUFBTSxrQkFBMEM7QUFBQSxFQUNyRCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sWUFBb0Q7QUFBQSxFQUMvRCxPQUFPO0FBQUEsSUFDTCxJQUFJO0FB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O0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixJQUFJO0FBQUEsTUFDSixJQUFJO0FBQUEsTUFDSixJQUFJO0FBQUEsTUFDSixJQUFJO0FBQUEsSUFDTDtBQUFBLElBQ0QsT0FBTztBQUFBLE1BQ0wsSUFBSTtBQUFBLE1BQ0osSUFBSTtBQUFBLE1BQ0osSUFBSTtBQUFBLE1BQ0osSUFBSTtBQUFBLElBQUE7QUFBQSxFQUVQO0FBQUEsRUFDRCxVQUFVO0FBQUEsSUFDUixNQUFNO0FBQUEsTUFDSixJQUFJO0FBQUEsTUFDSixJQUFJO0FBQUEsTUFDSixJQUFJO0FBQUEsTUFDSixJQUFJO0FBQUEsSUFDTDtBQUFBLElBQ0QsT0FBTztBQUFBLE1BQ0wsSUFBSTtBQUFBLE1BQ0osSUFBSTtBQUFBLE1BQ0osSUFBSTtBQUFBLE1BQ0osSUFBSTtBQUFBLElBQUE7QUFBQSxFQUNMOztBQUlFLE1BQU0sa0JBQTBFO0FBQUEsRUFDckYsUUFBUTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osSUFBSTtBQUFBLE1BQ0osSUFBSTtBQUFBLE1BQ0osSUFBSTtBQUFBLE1BQ0osSUFBSTtBQUFBLElBQUE7QUFBQSxFQUVQO0FBQUEsRUFDRCxVQUFVO0FBQUEsSUFDUixNQUFNO0FBQUEsTUFDSixJQUFJO0FBQUEsTUFDSixJQUFJO0FBQUEsTUFDSixJQUFJO0FBQUEsTUFDSixJQUFJO0FBQUEsSUFBQTtBQUFBLEVBQ0w7O0FBSUUsTUFBTSxxQkFBNkM7QUFBQSxFQUN4RCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sbUJBQTJDO0FBQUEsRUFDdEQsSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTs7QUFHQyxNQUFNLGtCQUEwQztBQUFBLEVBQ3JELElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7O0FBR0MsTUFBTSxtQkFBMkM7QUFBQSxFQUN0RCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0seUJBQWlEO0FBQUEsRUFDNUQsSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTs7QUFHQyxNQUFNLFVBQWtDO0FBQUEsRUFDN0MsSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTs7QUFHQyxNQUFNLG1CQUEyQztBQUFBLEVBQ3RELElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7O0FBR0MsTUFBTSxpQkFBeUM7QUFBQSxFQUNwRCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sZ0JBQW1FO0FBQUEsRUFDOUUsTUFBTTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLEVBQ0w7QUFBQSxFQUNELEtBQUs7QUFBQSxJQUNILElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxFQUNMO0FBQUEsRUFDRCxRQUFRO0FBQUEsSUFDTixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsRUFDTDtBQUFBLEVBQ0QsTUFBTTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLEVBQUE7O0FBSUQsTUFBTSx1QkFBK0Q7QUFBQSxFQUMxRSxXQUFXO0FBQUEsSUFDVCxJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsRUFDTDtBQUFBLEVBQ0QsT0FBTztBQUFBLElBQ0wsSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLEVBQ0w7QUFBQSxFQUNELEtBQUs7QUFBQSxJQUNILElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxFQUNMO0FBQUEsRUFDRCxJQUFJO0FBQUEsSUFDRixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsRUFDTDtBQUFBLEVBQ0QsU0FBUztBQUFBLElBQ1AsSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLEVBQ0w7QUFBQSxFQUNELGFBQWE7QUFBQSxJQUNYLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxFQUNMO0FBQUEsRUFDRCxPQUFPO0FBQUEsSUFDTCxJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsRUFDTDtBQUFBLEVBQ0QsUUFBUTtBQUFBLElBQ04sSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLEVBQ0w7QUFBQSxFQUNELFNBQVM7QUFBQSxJQUNQLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxFQUNMO0FBQUEsRUFDRCxNQUFNO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsRUFDTDtBQUFBLEVBQ0QsT0FBTztBQUFBLElBQ0wsSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLEVBQUE7O0FBSUQsTUFBTSxlQUF1QztBQUFBLEVBQ2xELElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7O0FBR0MsTUFBTSw2QkFBcUQ7QUFBQSxFQUNoRSxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJ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
772
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvaTE4bi9pMThuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2JiTGFuZ3VhZ2UsIFNiYk9jY3VwYW5jeSB9IGZyb20gJy4uL2ludGVyZmFjZXMuanMnO1xuXG5leHBvcnQgY29uc3QgaTE4bkRpcmVjdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdSaWNodHVuZycsXG4gIGVuOiAnRGlyZWN0aW9uJyxcbiAgZnI6ICdEaXJlY3Rpb24nLFxuICBpdDogJ0RpcmV6aW9uZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkFycml2YWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnQW5rdW5mdCcsXG4gIGVuOiAnQXJyaXZhbCcsXG4gIGZyOiAnQXJyaXbDqWUnLFxuICBpdDogJ0Fycml2bycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blNlY3RvcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdTZWt0b3InLFxuICBlbjogJ1NlY3RvcicsXG4gIGZyOiAnU2VjdGV1cicsXG4gIGl0OiAnU2V0dG9yZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blNlY3RvclNob3J0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1NrdC4nLFxuICBlbjogJ1NlYy4nLFxuICBmcjogJ1NlY3QuJyxcbiAgaXQ6ICdTZXQuJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xhc3M6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0ge1xuICBmaXJzdDoge1xuICAgIGRlOiAnRXJzdGUgS2xhc3NlJyxcbiAgICBlbjogJ0ZpcnN0IENsYXNzJyxcbiAgICBmcjogJ1ByZW1pw6hyZSBjbGFzc2UnLFxuICAgIGl0OiAnUHJpbWEgY2xhc3NlJyxcbiAgfSxcbiAgc2Vjb25kOiB7XG4gICAgZGU6ICdad2VpdGUgS2xhc3NlJyxcbiAgICBlbjogJ1NlY29uZCBDbGFzcycsXG4gICAgZnI6ICdEZXV4acOobWUgY2xhc3NlJyxcbiAgICBpdDogJ1NlY29uZGEgY2xhc3NlJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhaW46IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnWnVnJyxcbiAgZW46ICdUcmFpbicsXG4gIGZyOiAnVHJhaW4nLFxuICBpdDogJ1RyZW5vJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhaW5zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1rDvGdlJyxcbiAgZW46ICdUcmFpbnMnLFxuICBmcjogJ1RyYWlucycsXG4gIGl0OiAnVHJlbmknLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5XYWdvbnNMYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdXYWdlbiBkZXMgWnVnZXMnLFxuICBlbjogJ0NvYWNoZXMgb2YgdGhlIHRyYWluJyxcbiAgZnI6ICdXYWdvbnMgZGUgdHJhaW4nLFxuICBpdDogJ0NhcnJvenplIGRlbCB0cmVubycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bldhZ29uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnV2FnZW4nLFxuICBlbjogJ1RyYWluIGNvYWNoJyxcbiAgZnI6ICdXYWdvbiBkZSB0cmFpbicsXG4gIGl0OiAnQ2Fycm96emEgZGVsIHRyZW5vJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuV2Fnb25MYWJlbE51bWJlcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6IGBOdW1tZXJgLFxuICBlbjogYE51bWJlcmAsXG4gIGZyOiBgTnVtw6lyb2AsXG4gIGl0OiBgTnVtZXJvYCxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VkQ29tcGFydG1lbnRMYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdHZXNjaGxvc3NlbmVyIFp1Z3dhZ2dvbicsXG4gIGVuOiAnQ2xvc2VkIHRyYWluIGNvYWNoJyxcbiAgZnI6ICdXYWdvbiBkZSB0cmFpbiBmZXJtw6knLFxuICBpdDogJ0NhcnJvenphIGRlbCB0cmVubyBjaGl1c28nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5Mb2NvbW90aXZlTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnTG9rb21vdGl2ZScsXG4gIGVuOiAnTG9jb21vdGl2ZScsXG4gIGZyOiAnTG9jb21vdGl2ZScsXG4gIGl0OiAnTG9jb21vdGl2YScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blNsZWVwaW5nV2Fnb25MYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdTY2hsYWZ3YWdlbicsXG4gIGVuOiAnU2xlZXBpbmcgY2FyJyxcbiAgZnI6ICdWb2l0dXJlLWxpdHMnLFxuICBpdDogJ0NhcnJvenphIGxldHRpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ291Y2hldHRlV2Fnb25MYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdMaWVnZXdhZ2VuJyxcbiAgZW46ICdDb3VjaGV0dGUgY2FyJyxcbiAgZnI6ICdWb2l0dXJlLWNvdWNoZXR0ZXMnLFxuICBpdDogJ0NhcnJvenphIGN1Y2NldHRlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuUmVzdGF1cmFudFdhZ29uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnU3BlaXNld2FnZW4nLFxuICBlbjogJ0RpbmluZyBjYXInLFxuICBmcjogJ1ZvaXR1cmUtcmVzdGF1cmFudCcsXG4gIGl0OiAnQ2Fycm96emEgcmlzdG9yYW50ZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkJsb2NrZWRQYXNzYWdlOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IHtcbiAgcHJldmlvdXM6IHtcbiAgICBkZTogJ0tlaW4gRHVyY2hnYW5nIHp1bSB2b3JoZXJpZ2VuIFdhZ2VuJyxcbiAgICBlbjogJ05vIHBhc3NhZ2UgdG8gdGhlIHByZXZpb3VzIHRyYWluIGNvYWNoJyxcbiAgICBmcjogJ1BhcyBkZSBwYXNzYWdlIGF1IHdhZ29uIGR1IHRyYWluIHByw6ljw6lkZW50JyxcbiAgICBpdDogJ05lc3N1biBwYXNzYWdnaW8gYWxsYSBjYXJyb3p6YSBkZWwgdHJlbm8gcHJlY2VkZW50ZScsXG4gIH0sXG4gIG5leHQ6IHtcbiAgICBkZTogJ0tlaW4gRHVyY2hnYW5nIHp1bSBuw6RjaHN0ZW4gV2FnZW4nLFxuICAgIGVuOiAnTm8gcGFzc2FnZSB0byB0aGUgbmV4dCB0cmFpbiBjb2FjaCcsXG4gICAgZnI6ICdQYXMgZGUgcGFzc2FnZSBhdSB3YWdvbiBkZSB0cmFpbiBzdWl2YW50JyxcbiAgICBpdDogJ05lc3N1biBwYXNzYWdnaW8gYWxsYSBjYXJyb3p6YSBkZWwgdHJlbm8gc3VjY2Vzc2l2bycsXG4gIH0sXG4gIGJvdGg6IHtcbiAgICBkZTogJ0tlaW4gRHVyY2hnYW5nIHp1bSBuw6RjaHN0ZW4gdW5kIHZvcmhlcmlnZW4gV2FnZW4nLFxuICAgIGVuOiAnTm8gcGFzc2FnZSB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgdHJhaW4gY29hY2gnLFxuICAgIGZyOiAnUGFzIGRlIHBhc3NhZ2UgYXUgd2Fnb24gZGUgdHJhaW4gc3VpdmFudCBldCBwcsOpY8OpZGVudCcsXG4gICAgaXQ6ICdOZXNzdW4gcGFzc2FnZ2lvIGFsbGEgY2Fycm96emEgZGVsIHRyZW5vIHN1Y2Nlc3Npdm8gZSBwcmVjZWRlbnRlJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQWRkaXRpb25hbFdhZ29uSW5mb3JtYXRpb25IZWFkaW5nOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1c8OkdHpsaWNoZSBXYWdlbmluZm9ybWF0aW9uJyxcbiAgZW46ICdBZGRpdGlvbmFsIHdhZ29uIGluZm9ybWF0aW9uJyxcbiAgZnI6ICdJbmZvcm1hdGlvbnMgc3VwcGzDqW1lbnRhaXJlcyBzdXIgbGVzIHdhZ29ucycsXG4gIGl0OiAnSW5mb3JtYXppb25pIGFnZ2l1bnRpdmUgc3VsbGEgY2Fycm96emEgZGVsIHRyZW5vJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRGVwYXJ0dXJlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0FiZmFocnQnLFxuICBlbjogJ0RlcGFydHVyZScsXG4gIGZyOiAnRMOpcGFydCcsXG4gIGl0OiAnUGFydGVuemEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5EdXJhdGlvbk1pbnV0ZTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4+ID0ge1xuICBzaW5nbGU6IHtcbiAgICBsb25nOiB7XG4gICAgICBkZTogJ01pbnV0ZScsXG4gICAgICBlbjogJ01pbnV0ZScsXG4gICAgICBmcjogJ01pbnV0ZScsXG4gICAgICBpdDogJ01pbnV0bycsXG4gICAgfSxcbiAgICBzaG9ydDoge1xuICAgICAgZGU6ICdtJyxcbiAgICAgIGVuOiAnbScsXG4gICAgICBmcjogJ20nLFxuICAgICAgaXQ6ICdtJyxcbiAgICB9LFxuICB9LFxuICBtdWx0aXBsZToge1xuICAgIGxvbmc6IHtcbiAgICAgIGRlOiAnTWludXRlbicsXG4gICAgICBlbjogJ01pbnV0ZXMnLFxuICAgICAgZnI6ICdNaW51dGVzJyxcbiAgICAgIGl0OiAnTWludXRpJyxcbiAgICB9LFxuICAgIHNob3J0OiB7XG4gICAgICBkZTogJ01pbicsXG4gICAgICBlbjogJ21pbicsXG4gICAgICBmcjogJ21pbi4nLFxuICAgICAgaXQ6ICdtaW5zJyxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5EdXJhdGlvbkhvdXI6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+PiA9IHtcbiAgc2luZ2xlOiB7XG4gICAgbG9uZzoge1xuICAgICAgZGU6ICdTdHVuZGUnLFxuICAgICAgZW46ICdIb3VyJyxcbiAgICAgIGZyOiAnSGV1cmUnLFxuICAgICAgaXQ6ICdPcmEnLFxuICAgIH0sXG4gICAgc2hvcnQ6IHtcbiAgICAgIGRlOiAnU3RkLicsXG4gICAgICBlbjogJ2gnLFxuICAgICAgZnI6ICdvcmUnLFxuICAgICAgaXQ6ICdocnMnLFxuICAgIH0sXG4gIH0sXG4gIG11bHRpcGxlOiB7XG4gICAgbG9uZzoge1xuICAgICAgZGU6ICdTdHVuZGVuJyxcbiAgICAgIGVuOiAnSG91cnMnLFxuICAgICAgZnI6ICdIZXVyZXMnLFxuICAgICAgaXQ6ICdPcmUnLFxuICAgIH0sXG4gICAgc2hvcnQ6IHtcbiAgICAgIGRlOiAnU3RkLicsXG4gICAgICBlbjogJ2gnLFxuICAgICAgZnI6ICdvcmUnLFxuICAgICAgaXQ6ICdocnMnLFxuICAgIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkR1cmF0aW9uRGF5OiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pj4gPSB7XG4gIHNpbmdsZToge1xuICAgIGxvbmc6IHtcbiAgICAgIGRlOiAnVGFnJyxcbiAgICAgIGVuOiAnRGF5JyxcbiAgICAgIGZyOiAnSm91cicsXG4gICAgICBpdDogJ0dpb3JubycsXG4gICAgfSxcbiAgfSxcbiAgbXVsdGlwbGU6IHtcbiAgICBsb25nOiB7XG4gICAgICBkZTogJ1RhZ2UnLFxuICAgICAgZW46ICdEYXlzJyxcbiAgICAgIGZyOiAnSm91cnMnLFxuICAgICAgaXQ6ICdHaW9ybmknLFxuICAgIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blRyaXBRdWF5Q2hhbmdlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0dsZWlzw6RuZGVydW5nIGltIFZlcmxhdWYgZGllc2VyIFZlcmJpbmR1bmcnLFxuICBlbjogJ1RyYWNrIGNoYW5nZSBpbiB0aGUgY291cnNlIG9mIHRoaXMgY29ubmVjdGlvbicsXG4gIGZyOiAnQ2hhbmdlbWVudCBkZSB2b2llIHN1ciBsZSBwYXJjb3VycyBkZSBjZXR0ZSBjb25uZXhpb24nLFxuICBpdDogJ0NhbWJpYW1lbnRvIGRpIGJpbmFyaW8gbmVsIGNvcnNvIGRpIHF1ZXN0YSBjb25uZXNzaW9uZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blRyaXBEdXJhdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdSZWlzZWRhdWVyJyxcbiAgZW46ICdUcmF2ZWwgdGltZScsXG4gIGZyOiAnRHVyw6llIGR1IHZveWFnZScsXG4gIGl0OiAnRHVyYXRhIGRlbCB2aWFnZ2lvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhdmVsaGludHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnUmVpc2VoaW53ZWlzZScsXG4gIGVuOiAnVHJhdmVsaGludHMnLFxuICBmcjogJ0luZGljYXRpb25zIHN1ciBsZSB2b3lhZ2UnLFxuICBpdDogJ0lkaWljYXppb25pIGRpIHZpYWdnaW8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5SZWFsVGltZUluZm86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnRWNodHplaXRpbmZvcm1hdGlvbmVuJyxcbiAgZW46ICdSZWFsIHRpbWUgaW5mb3JtYXRpb24nLFxuICBmcjogJ0luZm9ybWF0aW9ucyBlbiB0ZW1wcyByw6llbCcsXG4gIGl0OiAnSW5mb3JtYXppb25pIGluIHRlbXBvIHJlYWxlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVHJhbnNmZXJQcm9jZWR1cmVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ21hbCB1bXN0ZWlnZW4nLFxuICBlbjogJ2NoYW5nZXMnLFxuICBmcjogJ2NoYW5nZW1lbnQocykgZGUgdHJhaW4nLFxuICBpdDogJ2NhbWJpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuTmV3OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ25ldScsXG4gIGVuOiAnbmV3JyxcbiAgZnI6ICdub3V2ZWF1JyxcbiAgaXQ6ICdudW92bycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkZyb21QbGF0Zm9ybTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdBdWYnLFxuICBlbjogJ29uJyxcbiAgZnI6ICdzdXInLFxuICBpdDogJ3N1Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuU3VwZXJzYXZlcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdTcGFyYmlsbGV0dGUnLFxuICBlbjogJ1N1cGVyc2F2ZXIgdGlja2V0cycsXG4gIGZyOiAnQmlsbGV0cyBkw6lncmlmZsOpcycsXG4gIGl0OiAnQmlnbGlldHRpIHJpc3Bhcm1pbycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bk9jY3VwYW5jeTogUmVjb3JkPFNiYk9jY3VwYW5jeSwgUmVjb3JkPFNiYkxhbmd1YWdlLCBzdHJpbmc+PiA9IHtcbiAgbm9uZToge1xuICAgIGRlOiAnS2VpbmUgQmVsZWd1bmdzcHJvZ25vc2UgdmVyZsO8Z2JhcicsXG4gICAgZW46ICdObyBvY2N1cGFuY3kgZm9yZWNhc3QgYXZhaWxhYmxlJyxcbiAgICBmcjogXCJBdWN1bmUgcHLDqXZpc2lvbiBkJ29jY3VwYXRpb24gZGlzcG9uaWJsZVwiLFxuICAgIGl0OiAnTmVzc3VuYSBwcmV2aXNpb25lIGRpIG9jY3VwYXppb25lIGRpc3BvbmliaWxlJyxcbiAgfSxcbiAgbG93OiB7XG4gICAgZGU6ICdUaWVmZSBiaXMgbWl0dGxlcmUgQmVsZWd1bmcgZXJ3YXJ0ZXQnLFxuICAgIGVuOiAnTG93IHRvIG1lZGl1bSBvY2N1cGFuY3kgZXhwZWN0ZWQnLFxuICAgIGZyOiBcIk9uIHMnYXR0ZW5kIMOgIHVuIHRhdXggZCdvY2N1cGF0aW9uIGZhaWJsZSDDoCBtb3llblwiLFxuICAgIGl0OiBcIlNpIHByZXZlZGUgdW4nb2NjdXBhemlvbmUgbWVkaW8tYmFzc2FcIixcbiAgfSxcbiAgbWVkaXVtOiB7XG4gICAgZGU6ICdIb2hlIEJlbGVndW5nIGVyd2FydGV0JyxcbiAgICBlbjogJ0hpZ2ggb2NjdXBhbmN5IGV4cGVjdGVkJyxcbiAgICBmcjogXCJVbiB0YXV4IGQnb2NjdXBhdGlvbiDDqWxldsOpIGVzdCBhdHRlbmR1XCIsXG4gICAgaXQ6IFwiQ2kgc2kgYXNwZXR0YSB1bidhbHRhIG9jY3VwYXppb25lXCIsXG4gIH0sXG4gIGhpZ2g6IHtcbiAgICBkZTogJ1NlaHIgaG9oZSBCZWxlZ3VuZyBlcndhcnRldCcsXG4gICAgZW46ICdWZXJ5IGhpZ2ggb2NjdXBhbmN5IGV4cGVjdGVkJyxcbiAgICBmcjogXCJVbiB0YXV4IGQnb2NjdXBhdGlvbiB0csOocyDDqWxldsOpIGVzdCBhdHRlbmR1XCIsXG4gICAgaXQ6IFwiQ2kgc2kgYXNwZXR0YSB1bidvY2N1cGF6aW9uZSBtb2x0byBhbHRhXCIsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bk1lYW5zT2ZUcmFuc3BvcnQ6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0ge1xuICBmdW5pY3VsYXI6IHtcbiAgICBkZTogJ1NlaWxiYWhuL1phaG5yYWRiYWhuJyxcbiAgICBlbjogJ0Z1bmljdWxhci9Db2cgcmFpbHdheScsXG4gICAgZnI6ICdGdW5pY3VsYWlyZS9DaGVtaW4gZGUgZmVyIMOgIGNyw6ltYWlsbMOocmUnLFxuICAgIGl0OiAnRnVuaXZpYS9GZXJyb3ZpYSBhIGNyZW1hZ2xpZXJhJyxcbiAgfSxcbiAgZWNfaWQ6IHtcbiAgICBkZTogJ0VDL0lDJyxcbiAgICBlbjogJ0VDL0lDJyxcbiAgICBmcjogJ0VDL0lDJyxcbiAgICBpdDogJ0VDL0lDJyxcbiAgfSxcbiAgYnVzOiB7XG4gICAgZGU6ICdCdXMnLFxuICAgIGVuOiAnQnVzJyxcbiAgICBmcjogJ0J1cycsXG4gICAgaXQ6ICdCdXMnLFxuICB9LFxuICByZToge1xuICAgIGRlOiAnUkUnLFxuICAgIGVuOiAnUkUnLFxuICAgIGZyOiAnUkUnLFxuICAgIGl0OiAnUkUnLFxuICB9LFxuICBhcnpfZXh0OiB7XG4gICAgZGU6ICdBUlovRVhUJyxcbiAgICBlbjogJ0FSWi9FWFQnLFxuICAgIGZyOiAnQVJaL0VYVCcsXG4gICAgaXQ6ICdBUlovRVhUJyxcbiAgfSxcbiAgaWNlX3Rndl9yang6IHtcbiAgICBkZTogJ0lDRS9UR1YvUkpYJyxcbiAgICBlbjogJ0lDRS9UR1YvUkpYJyxcbiAgICBmcjogJ0lDRS9UR1YvUkpYJyxcbiAgICBpdDogJ0lDRS9UR1YvUkpYJyxcbiAgfSxcbiAgaXJfcGU6IHtcbiAgICBkZTogJ0lSL1BFJyxcbiAgICBlbjogJ0lSL1BFJyxcbiAgICBmcjogJ0lSL1BFJyxcbiAgICBpdDogJ0lSL1BFJyxcbiAgfSxcbiAgc19zbl9yOiB7XG4gICAgZGU6ICdTL1NOL1InLFxuICAgIGVuOiAnUy9TTi9SJyxcbiAgICBmcjogJ1MvU04vUicsXG4gICAgaXQ6ICdTL1NOL1InLFxuICB9LFxuICB0cmFtd2F5OiB7XG4gICAgZGU6ICdUcmFtL01ldHJvJyxcbiAgICBlbjogJ1RyYW13YXkvVW5kZXJncm91bmQnLFxuICAgIGZyOiAnVHJhbS9Nw6l0cm8nLFxuICAgIGl0OiAnVHJhbS9NZXRybycsXG4gIH0sXG4gIHNoaXA6IHtcbiAgICBkZTogJ1NjaGlmZicsXG4gICAgZW46ICdTaGlwJyxcbiAgICBmcjogJ0JhdGVhdScsXG4gICAgaXQ6ICdCYXR0ZWxsbycsXG4gIH0sXG4gIHRyYWluOiB7XG4gICAgZGU6ICdadWcnLFxuICAgIGVuOiAnVHJhaW4nLFxuICAgIGZyOiAnVHJhaW4nLFxuICAgIGl0OiAnVHJlbm8nLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5PcHRpb25hbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICcob3B0aW9uYWwpJyxcbiAgZW46ICcob3B0aW9uYWwpJyxcbiAgZnI6ICcoZmFjdWx0YXRpZiknLFxuICBpdDogJyhmYWNvbHRhdGl2byknLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5UYXJnZXRPcGVuc0luTmV3V2luZG93OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0xpbmt6aWVsIMO2ZmZuZXQgaW4gbmV1ZW0gRmVuc3Rlci4nLFxuICBlbjogJ0xpbmsgdGFyZ2V0IG9wZW5zIGluIGEgbmV3IHdpbmRvdy4nLFxuICBmcjogXCJMZSBsaWVuIHMnb3V2cmUgZGFucyB1bmUgbm91dmVsbGUgZmVuw6p0cmUuXCIsXG4gIGl0OiBcIkwnb2JpZXR0aXZvIGRlbCBsaW5rIHNpIGFwcmUgaW4gdW5hIG51b3ZhIGZpbmVzdHJhLlwiLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5XYWxraW5nRGlzdGFuY2VBcnJpdmFsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ01pbnV0ZW4gRnVzc3dlZyBuYWNoIEFua3VuZnQ6JyxcbiAgZW46ICdtaW51dGVzIG9mIHdhbGtpbmcgdGltZSBhZnRlciBhcnJpdmFsOicsXG4gIGZyOiAnbWludXRlcyBkZSB0cmFqZXQgw6AgcGllZCBhcHLDqHMgbOKAmWFycml2w6llOicsXG4gIGl0OiAnbWludXRpIGEgcGllZGkgYWxs4oCZYXJyaXZvOicsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bldhbGtpbmdEaXN0YW5jZURlcGFydHVyZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdNaW51dGVuIEZ1c3N3ZWcgdm9yIEFiZmFocnQ6JyxcbiAgZW46ICdtaW51dGVzIG9mIHdhbGtpbmcgdGltZSBiZWZvcmUgZGVwYXJ0dXJlOicsXG4gIGZyOiAnbWludXRlcyB0cmFqZXQgw6AgcGllZCBhdmFudCBsZSBkw6lwYXJ0OicsXG4gIGl0OiAnbWludXRpIGEgcGllZGkgcHJpbWEgZGVsbGEgcGFydGVuemE6Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VBbGVydDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdNZWxkdW5nIHNjaGxpZXNzZW4nLFxuICBlbjogJ0Nsb3NlIG1lc3NhZ2UnLFxuICBmcjogJ0Zlcm1lciBtZXNzYWdlJyxcbiAgaXQ6ICdDaGl1ZGVyZSBpbCBtZXNzYWdnaW8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5DbG9zZU5vdGlmaWNhdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdOYWNocmljaHQgc2NobGllc3NlbicsXG4gIGVuOiAnQ2xvc2UgbWVzc2FnZScsXG4gIGZyOiAnRmVybWVyIG1lc3NhZ2UnLFxuICBpdDogJ0NoaXVkZXJlIGlsIG1lc3NhZ2dpbycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkRpYWxvZzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdEaWFsb2cnLFxuICBlbjogJ0RpYWxvZycsXG4gIGZyOiAnRGlhbG9ndWUnLFxuICBpdDogJ0RpYWxvZ28nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5DbG9zZURpYWxvZzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICfDnGJlcmdlbGFnZXJ0ZXMgRmVuc3RlciBzY2hsaWVzc2VuJyxcbiAgZW46ICdDbG9zZSBzZWNvbmRhcnkgd2luZG93JyxcbiAgZnI6ICdGZXJtZXIgbGEgZmVuw6p0cmUgc3VwZXJwb3PDqWUnLFxuICBpdDogJ0NoaXVkZXJlIGxhIGZpbmVzdHJhIHNvdnJhcHBvc3RhJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VOYXZpZ2F0aW9uOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ05hdmlnYXRpb24gc2NobGllc3NlbicsXG4gIGVuOiAnQ2xvc2UgbmF2aWdhdGlvbicsXG4gIGZyOiAnRmVybWVyIGxhIG5hdmlnYXRpb24nLFxuICBpdDogJ0NoaXVkZXJlIGxhIG5hdmlnYXppb25lJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuQ2xvc2VTaWRlYmFyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1NlaXRlbmxlaXN0ZSBzY2hsaWVzc2VuJyxcbiAgZW46ICdDbG9zZSBzaWRlYmFyJyxcbiAgZnI6ICdGZXJtZXIgbGEgYmFycmUgbGF0w6lyYWxlJyxcbiAgaXQ6ICdDaGl1ZGVyZSBsYSBiYXJyYSBsYXRlcmFsZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNsb3NlUG9wb3ZlcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdIaW53ZWlzIHNjaGxpZXNzZW4nLFxuICBlbjogJ0Nsb3NlIG5vdGUnLFxuICBmcjogJ0Zlcm1lciBsYSBub3RlJyxcbiAgaXQ6ICdDaGl1ZGVyZSBsYSBub3RhJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuR29CYWNrOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1csO8Y2snLFxuICBlbjogJ0dvIGJhY2snLFxuICBmcjogJ1JldG91cm5lcicsXG4gIGl0OiAnVmFpIGluZGlldHJvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuVG9kYXk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnSGV1dGUnLFxuICBlbjogJ1RvZGF5JyxcbiAgZnI6ICdBdWpvdXJk4oCZaHVpJyxcbiAgaXQ6ICdPZ2dpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuTmV4dE1vbnRoOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1bSBuw6RjaHN0ZW4gTW9uYXQgd2VjaHNlbG4nLFxuICBlbjogJ0NoYW5nZSB0byB0aGUgbmV4dCBtb250aCcsXG4gIGZyOiAnUGFzc2VyIGF1IG1vaXMgc3VpdmFudCcsXG4gIGl0OiAnUGFzc2FyZSBhbCBtZXNlIHN1Y2Nlc3Npdm8nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5QcmV2aW91c01vbnRoOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1bSBsZXR6dGVuIE1vbmF0IHdlY2hzZWxuJyxcbiAgZW46ICdDaGFuZ2UgdG8gdGhlIHByZXZpb3VzIG1vbnRoJyxcbiAgZnI6ICdQYXNzZXIgYXUgbW9pcyBwcsOpY8OpZGVudCcsXG4gIGl0OiAnUGFzc2FyZSBhbCBtZXNlIHByZWNlZGVudGUnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5OZXh0RGF5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ07DpGNoc3RlciBUYWcnLFxuICBlbjogJ05leHQgZGF5JyxcbiAgZnI6ICdMZSBwcm9jaGFpbiBqb3VyJyxcbiAgaXQ6ICdHaW9ybm8gc3VjY2Vzc2l2bycsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blByZXZpb3VzRGF5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1ZvcmhlcmlnZXIgVGFnJyxcbiAgZW46ICdQcmV2aW91cyBkYXknLFxuICBmcjogJ0pvdXIgcHLDqWPDqWRlbnQnLFxuICBpdDogJ0dpb3JubyBwcmVjZWRlbnRlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuWWVhck1vbnRoU2VsZWN0aW9uOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0phaHIgdW5kIE1vbmF0IGF1c3fDpGhsZW4nLFxuICBlbjogJ0Nob29zZSB5ZWFyIGFuZCBtb250aCcsXG4gIGZyOiBcIkNob2lzaXNzZXogbCdhbm7DqWUgZXQgbGUgbW9pc1wiLFxuICBpdDogJ1NlbGV6aW9uYSBhbm5vIGUgbWVzZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNhbGVuZGFyRGF0ZVNlbGVjdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdEYXR1bSBhdXN3w6RobGVuJyxcbiAgZW46ICdDaG9vc2UgZGF0ZScsXG4gIGZyOiAnQ2hvaXNpciB1bmUgZGF0ZScsXG4gIGl0OiAnU2VsZXppb25hIHVuYSBkYXRhJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuTmV4dFllYXJSYW5nZSA9ICh5ZWFyUmFuZ2U6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGBXZWNoc2VsIHp1IGRlbiBuw6RjaHN0ZW4gJHt5ZWFyUmFuZ2V9IEphaHJlbmAsXG4gIGVuOiBgQ2hhbmdlIHRvIHRoZSBuZXh0ICR7eWVhclJhbmdlfSB5ZWFyc2AsXG4gIGZyOiBgUGFzc2VyIGF1eCAke3llYXJSYW5nZX0gcHJvY2hhaW5lcyBhbm7DqWVzYCxcbiAgaXQ6IGBQYXNzYXJlIGFpIHN1Y2Nlc3NpdmkgJHt5ZWFyUmFuZ2V9IGFubmlgLFxufSk7XG5cbmV4cG9ydCBjb25zdCBpMThuUHJldmlvdXNZZWFyUmFuZ2UgPSAoeWVhclJhbmdlOiBudW1iZXIpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+ICh7XG4gIGRlOiBgV2VjaHNlbCB6dSBkZW4gdm9yaGVyaWdlbiAke3llYXJSYW5nZX0gSmFocmVuYCxcbiAgZW46IGBDaGFuZ2UgdG8gdGhlIHByZXZpb3VzICR7eWVhclJhbmdlfSB5ZWFyc2AsXG4gIGZyOiBgUGFzc2FnZSBhdXggJHt5ZWFyUmFuZ2V9IHByw6ljw6lkZW50ZXMgYW5uw6llc2AsXG4gIGl0OiBgUGFzc2FyZSBhaSBwcmVjZWRlbnRpICR7eWVhclJhbmdlfSBhbm5pYCxcbn0pO1xuXG5leHBvcnQgY29uc3QgaTE4bk5leHRZZWFyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1p1bSBuw6RjaHN0ZW4gSmFociB3ZWNoc2VsbicsXG4gIGVuOiAnQ2hhbmdlIHRvIHRoZSBuZXh0IHllYXInLFxuICBmcjogXCJQYXNzZXIgw6AgbCdhbm7DqWUgc3VpdmFudGVcIixcbiAgaXQ6IFwiUGFzc2FyZSBhbGwnYW5ubyBzdWNjZXNzaXZvXCIsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blByZXZpb3VzWWVhcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdadW0gbGV0enRlbiBKYWhyIHdlY2hzZWxuJyxcbiAgZW46ICdDaGFuZ2UgdG8gdGhlIHByZXZpb3VzIHllYXInLFxuICBmcjogXCJQYXNzZXIgw6AgbCdhbm7DqWUgcHLDqWPDqWRlbnRcIixcbiAgaXQ6IFwiUGFzc2FyZSBhbGwnYW5ubyBwcmVjZWRlbnRlXCIsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4blNlbGVjdE5leHREYXkgPSAoY3VycmVudERhdGU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGBadW0gbsOkY2hzdGVuIFRhZyB3ZWNoc2VsbiwgZGVyemVpdCBhdXNnZXfDpGhsdCAke2N1cnJlbnREYXRlfS5gLFxuICBlbjogYENoYW5nZSB0byB0aGUgbmV4dCBkYXksIGN1cnJlbnRseSBzZWxlY3RlZCAke2N1cnJlbnREYXRlfS5gLFxuICBmcjogYFBhc3NlciBhdSBqb3VyIHN1aXZhbnQsIGFjdHVlbGxlbWVudCBzw6lsZWN0aW9ubsOpICR7Y3VycmVudERhdGV9LmAsXG4gIGl0OiBgUGFzc2FyZSBhbCBnaW9ybm8gc3VjY2Vzc2l2bywgYXR0dWFsbWVudGUgc2VsZXppb25hdG8gJHtjdXJyZW50RGF0ZX0uYCxcbn0pO1xuXG5leHBvcnQgY29uc3QgaTE4blNlbGVjdFByZXZpb3VzRGF5ID0gKGN1cnJlbnREYXRlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+ICh7XG4gIGRlOiBgWnVtIHZvcmhlcmlnZW4gVGFnIHdlY2hzZWxuLCBkZXJ6ZWl0IGF1c2dld8OkaGx0ICR7Y3VycmVudERhdGV9LmAsXG4gIGVuOiBgQ2hhbmdlIHRvIHRoZSBwcmV2aW91cyBkYXksIGN1cnJlbnRseSBzZWxlY3RlZCAke2N1cnJlbnREYXRlfS5gLFxuICBmcjogYFBhc3NlciBhdSBqb3VyIHByw6ljw6lkZW50LCBhY3R1ZWxsZW1lbnQgc8OpbGVjdGlvbm7DqSAke2N1cnJlbnREYXRlfS5gLFxuICBpdDogYFBhc3NhcmUgYWwgZ2lvcm5vIHByZWNlZGVudGUsIGF0dHVhbG1lbnRlIHNlbGV6aW9uYXRvICR7Y3VycmVudERhdGV9LmAsXG59KTtcblxuZXhwb3J0IGNvbnN0IGkxOG5TaG93Q2FsZW5kYXI6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnS2FsZW5kZXIgYW56ZWlnZW4nLFxuICBlbjogJ1Nob3cgY2FsZW5kYXInLFxuICBmcjogJ0FmZmljaGVyIGxlIGNhbGVuZHJpZXInLFxuICBpdDogJ1Zpc3VhbGl6emFyZSBjYWxlbmRhcmlvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRGF0ZVBpY2tlclBsYWNlaG9sZGVyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1RULk1NLkpKSkonLFxuICBlbjogJ0RELk1NLllZWVknLFxuICBmcjogJ0pKLk1NLkFBQUEnLFxuICBpdDogJ0dHLk1NLkFBQUEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5EYXRlQ2hhbmdlZFRvOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0RhdHVtIGdlw6RuZGVydCBhdWYnLFxuICBlbjogJ0RhdGUgY2hhbmdlZCB0bycsXG4gIGZyOiAnRGF0ZSBtb2RpZmnDqWUgYXUnLFxuICBpdDogJ0RhdGEgbW9kaWZpY2F0YSBpbicsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNvbm5lY3Rpb25Gcm9tOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1ZlcmJpbmR1bmcgdm9uJyxcbiAgZW46ICdDb25uZWN0aW9uIGZyb20nLFxuICBmcjogJ0xpYWlzb24gZGUnLFxuICBpdDogJ0NvbGxlZ2FtZW50byBkYScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNvbm5lY3Rpb25UbzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICduYWNoJyxcbiAgZW46ICd0bycsXG4gIGZyOiAnw6AnLFxuICBpdDogJ2EnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5Db25uZWN0aW9uUm91bmR0cmlwID0gKHJldHVybkNpdHk6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGB1bmQgenVyw7xjayBuYWNoICR7cmV0dXJuQ2l0eX0uYCxcbiAgZW46IGBhbmQgYmFjayB0byAke3JldHVybkNpdHl9LmAsXG4gIGZyOiBgZXQgcmV0b3VyIMOgICR7cmV0dXJuQ2l0eX0uYCxcbiAgaXQ6IGBlIHJpdG9ybm8gYSAke3JldHVybkNpdHl9LmAsXG59KTtcblxuZXhwb3J0IGNvbnN0IGkxOG5FeHBhbmRlZDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdlcndlaXRlcnQnLFxuICBlbjogJ2V4cGFuZGVkJyxcbiAgZnI6ICdlc3QgdGlyw6knLFxuICBpdDogJ2VzYXBuc28nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5Db2xsYXBzZWQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAncmVkdXppZXJ0JyxcbiAgZW46ICdjb2xsYXBzZWQnLFxuICBmcjogJ2NvbmRlbnPDqScsXG4gIGl0OiAnY29tcHJlc3NvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuTWFwQ29udGFpbmVyQnV0dG9uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnS2FydGUgemVpZ2VuJyxcbiAgZW46ICdTaG93IG1hcCcsXG4gIGZyOiAnQWZmaWNoZXIgbGEgY2FydGUnLFxuICBpdDogJ01vc3RyYSBsYSBtYXBwYScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkJyZWFkY3J1bWJFbGxpcHNpc0J1dHRvbkxhYmVsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ01laHIgQnJlYWRjcnVtYnMgYW56ZWlnZW4nLFxuICBlbjogJ1Nob3cgbW9yZSBicmVhZGNydW1icycsXG4gIGZyOiAnQWZmaWNoZXIgcGx1cyBicmVhZGNydW1icycsXG4gIGl0OiAnTW9zdHJhIHBpw7kgYnJlYWRjcnVtYnMnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5UaW1lSW5wdXRDaGFuZ2U6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnWmVpdCBnZcOkbmRlcnQgenUnLFxuICBlbjogJ1RpbWUgY2hhbmdlZCB0bycsXG4gIGZyOiAnSGV1cmUgbW9kaWZpw6llOicsXG4gIGl0OiAnT3JhcmlvIG1vZGlmaWNhdGEgYWxsZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkNsZWFySW5wdXQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnRmVsZGluaGFsdCBsw7ZzY2hlbicsXG4gIGVuOiAnQ2xlYXIgaW5wdXQgdmFsdWUnLFxuICBmcjogJ0VmZmFjZXIgbGEgdmFsZXVyIGTigJllbnRyw6llJyxcbiAgaXQ6ICdDYW5jZWxsYSBpbCB2YWxvcmUgZGVsbOKAmWlucHV0Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRmxpcENhcmQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnS2xpY2tlbiBTaWUgYXVmIGRpZXNlIEthcnRlIGbDvHIgRGV0YWlscycsXG4gIGVuOiAnQ2xpY2sgb24gdGhpcyBjYXJkIGZvciBkZXRhaWxzJyxcbiAgZnI6ICdDbGlxdWV6IHN1ciBjZXR0ZSBjYXJ0ZSBwb3VyIHBsdXMgZGUgZMOpdGFpbHMnLFxuICBpdDogJ0NsaWNjYSBzdSBxdWVzdGEgc2NoZWRhIHBlciBpIGRldHRhZ2xpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuUmV2ZXJzZUNhcmQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnS2xpY2tlbiBTaWUgYXVmIGRpZXNlIEthcnRlLCB1bSB6dXLDvGNrIHp1ciBadXNhbW1lbmZhc3N1bmcgenUgZ2VsYW5nZW4nLFxuICBlbjogJ0NsaWNrIG9uIHRoaXMgY2FyZCB0byBnbyBiYWNrIHRvIHRoZSBzdW1tYXJ5JyxcbiAgZnI6ICdDbGlxdWV6IHN1ciBjZXR0ZSBjYXJ0ZSBwb3VyIHJldmVuaXIgYXUgcsOpc3Vtw6knLFxuICBpdDogJ0NsaWNjYSBzdSBxdWVzdGEgc2NoZWRhIHBlciB0b3JuYXJlIGFsIHNvbW1hcmlvJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRmlsZVNlbGVjdG9yQnV0dG9uTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnRGF0ZWkgYXVzd8OkaGxlbicsXG4gIGVuOiAnQ2hvb3NlIGEgZmlsZScsXG4gIGZyOiAnQ2hvaXNpc3NleiB1biBmaWNoaWVyJyxcbiAgaXQ6ICdTY2VnbGkgdW4gZmlsZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkZpbGVTZWxlY3RvclN1YnRpdGxlTGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnWmllaGUgZGVpbmUgRGF0ZWllbiBoaWVyIGhpbiAoRHJhZyAmIERyb3ApJyxcbiAgZW46ICdEcmFnICYgRHJvcCB5b3VyIGZpbGVzIGhlcmUnLFxuICBmcjogJ0ZhaXRlcyBnbGlzc2VyIGV0IGTDqXBvc2V6IHZvcyBmaWNoaWVycyBpY2knLFxuICBpdDogJ1RyYXNjaW5hIGUgcmlsYXNjaWEgaSB0dW9pIGZpbGUgcXVpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuRmlsZVNlbGVjdG9yRGVsZXRlRmlsZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdEYXRlaSBlbnRmZXJuZW4nLFxuICBlbjogJ1JlbW92ZSBmaWxlJyxcbiAgZnI6ICdFZmZhY2VyIGxlIGZpY2hpZXInLFxuICBpdDogJ1JpbXVvdmkgaWwgZmlsZScsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkZpbGVTZWxlY3RvckN1cnJlbnRseVNlbGVjdGVkID0gKGZpbGVzTmFtZTogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+IHtcbiAgaWYgKGZpbGVzTmFtZSAmJiBmaWxlc05hbWUubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiB7XG4gICAgICBkZTogYEFrdHVlbGwgYXVzZ2V3w6RobHRlIERhdGVpOiAke2ZpbGVzTmFtZS5qb2luKCcsICcpfS5gLFxuICAgICAgZW46IGBDdXJyZW50bHkgc2VsZWN0ZWQgZmlsZXM6ICR7ZmlsZXNOYW1lLmpvaW4oJywgJyl9LmAsXG4gICAgICBmcjogYEZpY2hpZXIgYWN0dWVsbGVtZW50IHPDqWxlY3Rpb25uw6k6ICR7ZmlsZXNOYW1lLmpvaW4oJywgJyl9LmAsXG4gICAgICBpdDogYEZpbGUgYXR0dWFsbWVudGUgc2VsZXppb25hdG86ICR7ZmlsZXNOYW1lLmpvaW4oJywgJyl9LmAsXG4gICAgfTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGRlOiAnS2VpbmUgRGF0ZWkgYXVzZ2V3w6RobHQuJyxcbiAgICBlbjogJ05vIGZpbGVzIHNlbGVjdGVkLicsXG4gICAgZnI6ICdOZXNzdW4gZmljaGllciBzw6lsZWN0aW9ubsOpLicsXG4gICAgaXQ6ICdOZXNzdW4gZmlsZSBzZWxlemlvbmF0by4nLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5OZXh0UGFnZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdOw6RjaHN0ZSBTZWl0ZScsXG4gIGVuOiAnTmV4dCBwYWdlJyxcbiAgZnI6ICdQcm9jaGFpbmUgcGFnZScsXG4gIGl0OiAnUGFnaW5hIHN1Y2Nlc3NpdmEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5QcmV2aW91c1BhZ2U6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnVm9yaGVyaWdlIFNlaXRlJyxcbiAgZW46ICdQcmV2aW91cyBwYWdlJyxcbiAgZnI6ICdQYWdlIHByw6ljw6lkZW50ZScsXG4gIGl0OiAnUGFnaW5hIHByZWNlZGVudGUnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5QYWdlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ1NlaXRlJyxcbiAgZW46ICdQYWdlJyxcbiAgZnI6ICdQYWdlJyxcbiAgaXQ6ICdQYWdpbmEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5JdGVtc1BlclBhZ2U6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnRWludHLDpGdlIHBybyBTZWl0ZScsXG4gIGVuOiAnSXRlbXMgcGVyIHBhZ2UnLFxuICBmcjogJ0VudHLDqWVzIHBhciBwYWdlJyxcbiAgaXQ6ICdFbGVtZW50aSBwZXIgcGFnaW5hJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuU2VsZWN0ZWRQYWdlID0gKHBhZ2VOdW1iZXI6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4gKHtcbiAgZGU6IGBTZWl0ZSAke3BhZ2VOdW1iZXJ9IGF1c2dld8OkaGx0LmAsXG4gIGVuOiBgUGFnZSAke3BhZ2VOdW1iZXJ9IHNlbGVjdGVkLmAsXG4gIGZyOiBgUGFnZSAke3BhZ2VOdW1iZXJ9IHPDqWxlY3Rpb25uw6llLmAsXG4gIGl0OiBgUGFnaW5hICR7cGFnZU51bWJlcn0gc2VsZXppb25hdGEuYCxcbn0pO1xuXG5leHBvcnQgY29uc3QgaTE4bkNoZWNrYm94UmVxdWlyZWQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnTXVzcyBnZXNldHp0IHNlaW4uJyxcbiAgZW46ICdNdXN0IGJlIGNoZWNrZWQuJyxcbiAgZnI6ICdEb2l0IMOqdHJlIGTDqWZpbmkuJyxcbiAgaXQ6ICdEZXZlIGVzc2VyZSBpbXBvc3RhdG8uJyxcbn07XG5cbmV4cG9ydCBjb25zdCBpMThuU2VsZWN0aW9uUmVxdWlyZWQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGRlOiAnQXVzd2FobCBlcmZvcmRlcmxpY2guJyxcbiAgZW46ICdTZWxlY3Rpb24gcmVxdWlyZWQuJyxcbiAgZnI6ICdTw6lsZWN0aW9uIHJlcXVpc2UuJyxcbiAgaXQ6ICdTZWxlemlvbmUgbmVjZXNzYXJpYS4nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5JbnB1dFJlcXVpcmVkOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBkZTogJ0VpbmdhYmUgZXJmb3JkZXJsaWNoLicsXG4gIGVuOiAnSW5wdXQgcmVxdWlyZWQuJyxcbiAgZnI6ICdFbnRyw6llIG9ibGlnYXRvaXJlLicsXG4gIGl0OiAnSW5zZXJpbWVudG8gbmVjZXNzYXJpby4nLFxufTtcblxuZXhwb3J0IGNvbnN0IGkxOG5EYXRlSW52YWxpZDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGU6ICdCaXR0ZSBnw7xsdGlnZXMgRGF0dW0gZWluZ2ViZW4uJyxcbiAgZW46ICdQbGVhc2UgcHJvdmlkZSBhIHZhbGlkIGRhdGUuJyxcbiAgZnI6ICdWZXVpbGxleiBzYWlzaXIgdW5lIGRhdGUgdmFsaWRlLicsXG4gIGl0OiAnSW5zZXJpcmUgdW5hIGRhdGEgdmFsaWRhLicsXG59O1xuXG5leHBvcnQgY29uc3QgaTE4bkRhdGVNaW4gPSAobWluOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+ICh7XG4gIGRlOiBgRGF0dW0gZGFyZiBuaWNodCB2b3IgJHttaW59IHNlaW4uYCxcbiAgZW46IGBEYXRlIG11c3Qgbm90IGJlIGJlZm9yZSAke21pbn0uYCxcbiAgZnI6IGBMYSBkYXRlIG5lIGRvaXQgcGFzIMOqdHJlIGFudMOpcmlldXJlIGF1ICR7bWlufS5gLFxuICBpdDogYExhIGRhdGEgbm9uIGRldmUgZXNzZXJlIGFudGVyaW9yZSBhbCAke21pbn0uYCxcbn0pO1xuXG5leHBvcnQgY29uc3QgaTE4bkRhdGVNYXggPSAobWF4OiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+ICh7XG4gIGRlOiBgRGF0dW0gZGFyZiBuaWNodCBuYWNoICR7bWF4fSBzZWluLmAsXG4gIGVuOiBgRGF0ZSBtdXN0IG5vdCBiZSBhZnRlciAke21heH0uYCxcbiAgZnI6IGBMYSBkYXRlIG5lIGRvaXQgcGFzIMOqdHJlIHBvc3TDqXJpZXVyZSBhdSAke21heH0uYCxcbiAgaXQ6IGBMYSBkYXRhIG5vbiBkZXZlIGVzc2VyZSBzdWNjZXNzaXZhIGFsICR7bWF4fS5gLFxufSk7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRU8sTUFBTSxnQkFBd0M7QUFBQSxFQUNuRCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sY0FBc0M7QUFBQSxFQUNqRCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sYUFBcUM7QUFBQSxFQUNoRCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sa0JBQTBDO0FBQUEsRUFDckQsSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTs7QUFHQyxNQUFNLFlBQW9EO0FBQUEsRUFDL0QsT0FBTztBQUFBLElBQ0wsSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLEVBQ0w7QUFBQSxFQUNELFFBQVE7QUFBQSxJQUNOLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxFQUFBOztBQUlELE1BQU0sWUFBb0M7QUFBQSxFQUMvQyxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sYUFBcUM7QUFBQSxFQUNoRCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sa0JBQTBDO0FBQUEsRUFDckQsSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTs7QUFHQyxNQUFNLGlCQUF5QztBQUFBLEVBQ3BELElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7O0FBR0MsTUFBTSx1QkFBK0M7QUFBQSxFQUMxRCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sNkJBQXFEO0FBQUEsRUFDaEUsSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTs7QUFHQyxNQUFNLHNCQUE4QztBQUFBLEVBQ3pELElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7O0FBR0MsTUFBTSx5QkFBaUQ7QUFBQSxFQUM1RCxJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJO0FBQUEsRUFDSixJQUFJOztBQUdDLE1BQU0sMEJBQWtEO0FBQUEsRUFDN0QsSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTs7QUFHQyxNQUFNLDJCQUFtRDtBQUFBLEVBQzlELElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7O0FBR0MsTUFBTSxxQkFBNkQ7QUFBQSxFQUN4RSxVQUFVO0FBQUEsSUFDUixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsRUFDTDtBQUFBLEVBQ0QsTUFBTTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLEVBQ0w7QUFBQSxFQUNELE1BQU07QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxFQUFBOztBQUlELE1BQU0sd0NBQWdFO0FBQUEsRUFDM0UsSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTtBQUFBLEVBQ0osSUFBSTs7QUFHQyxNQUFNLGdCQUF3QztBQUFBLEVBQ25ELElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7QUFBQSxFQUNKLElBQUk7O0FBR0MsTUFBTSxxQkFBNkU7QUFBQSxFQUN4RixRQUFRO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixJQUFJO0FBQUEsTUFDSixJQUFJO0FBQUEsTUFDSixJQUFJO0FBQUEsTUFDSixJQUFJO0FBQUEsSUFDTDtBQUFBLElBQ0QsT0FBTztBQUFBLE1BQ0wsSUFBSTtBQUFBLE1BQ0osSUFBSTtBQUFBLE1BQ0osSUFBSTtBQUFBLE1BQ0osSUFBSTtBQUFBLElBQUE7QUFBQSxFQUVQO0FBQUEsRUFDRCxVQUFVO0FBQUEsSUFDUixNQUFNO0FB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OztBQUlELE1BQU0sdUJBQStEO0FBQUEsRUFDMUUsV0FBVztBQUFBLElBQ1QsSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLEVBQ0w7QUFBQSxFQUNELE9BQU87QUFBQSxJQUNMLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxFQUNMO0FBQUEsRUFDRCxLQUFLO0FBQUEsSUFDSCxJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsRUFDTDtBQUFBLEVBQ0QsSUFBSTtBQUFBLElBQ0YsSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLEVBQ0w7QUFBQSxFQUNELFNBQVM7QUFBQSxJQUNQLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxFQUNMO0FBQUEsRUFDRCxhQUFhO0FBQUEsSUFDWCxJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsRUFDTDtBQUFBLEVBQ0QsT0FBTztBQUFBLElBQ0wsSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLEVBQ0w7QUFBQSxFQUNELFFBQVE7QUFBQSxJQUNOLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxJQUNKLElBQUk7QUFBQSxFQUNMO0FBQUEsRUFDRCxTQUFTO0FBQUEsSUFDUCxJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsSUFDSixJQUFJO0FBQUEsRUFDTDtBQUFBLEVBQ0QsTUFBTTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLElBQ0osSUFBSTtBQUFBLEVBQ0w7QUFBQSxFQUNELE9BQU87QUFBQSxJQUNMLElBQUk7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
@@ -0,0 +1,13 @@
1
+ import { LitElement } from 'lit';
2
+ import { AbstractConstructor } from './constructor.js';
3
+ export declare class SbbAnimationCompleteMixinType {
4
+ isAnimating: boolean;
5
+ get animationComplete(): Promise<void> | null;
6
+ protected startAnimation(): void;
7
+ protected stopAnimation(): void;
8
+ }
9
+ /**
10
+ * Enhances the component with a Promise which resolves whenever an animation ends.
11
+ */
12
+ export declare const SbbAnimationCompleteMixin: <T extends AbstractConstructor<LitElement>>(superClass: T) => AbstractConstructor<SbbAnimationCompleteMixinType> & T;
13
+ //# sourceMappingURL=animation-complete-mixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation-complete-mixin.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/mixins/animation-complete-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,CAAC,OAAO,OAAO,6BAA6B;IACzC,WAAW,EAAE,OAAO,CAAC;IAC5B,IAAW,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrD,SAAS,CAAC,cAAc,IAAI,IAAI;IAChC,SAAS,CAAC,aAAa,IAAI,IAAI;CAChC;AAED;;GAEG;AAEH,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,EACjF,YAAY,CAAC,KACZ,mBAAmB,CAAC,6BAA6B,CAAC,GAAG,CA8DvD,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './mixins/animation-complete-mixin.js';
1
2
  export * from './mixins/constructor.js';
2
3
  export * from './mixins/disabled-mixin.js';
3
4
  export * from './mixins/form-associated-checkbox-mixin.js';
@@ -1 +1 @@
1
- {"version":3,"file":"mixins.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/mixins.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AAEnD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC"}
1
+ {"version":3,"file":"mixins.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/mixins.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AAEnD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uCAAuC,CAAC"}