sidesys-generic-ui 2.4.6 → 2.4.8

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 (129) hide show
  1. package/esm2022/lib/animation/animation.component.mjs +6 -3
  2. package/esm2022/lib/avatar/components/profile-group/s-profile-group.component.mjs +1 -1
  3. package/esm2022/lib/avatar/s-avatar.component.mjs +13 -16
  4. package/esm2022/lib/badge/s-badge.component.mjs +7 -6
  5. package/esm2022/lib/bottom-status-bar/bottom-status-bar.component.mjs +7 -11
  6. package/esm2022/lib/breadcrum/s-breadcrum.component.mjs +7 -4
  7. package/esm2022/lib/button/components/button/s-button.component.mjs +7 -3
  8. package/esm2022/lib/card/s-card.component.mjs +10 -7
  9. package/esm2022/lib/checkbox/checkbox-new/s-checkbox.component.mjs +12 -5
  10. package/esm2022/lib/checkbox/s-checkbox.component.mjs +8 -8
  11. package/esm2022/lib/collapse/s-collapse.component.mjs +7 -4
  12. package/esm2022/lib/company-logo/s-company-logo.component.mjs +9 -5
  13. package/esm2022/lib/container/s-container.component.mjs +6 -3
  14. package/esm2022/lib/content/s-content.component.mjs +6 -3
  15. package/esm2022/lib/dynamic-form/s-dynamic-form.component.mjs +1 -1
  16. package/esm2022/lib/empty/empty.component.mjs +4 -3
  17. package/esm2022/lib/footer/s-footer.component.mjs +3 -3
  18. package/esm2022/lib/grid-multi-inputs/grid-multi-inputs.component.mjs +1 -1
  19. package/esm2022/lib/icon-material/s-icon-material.component.mjs +6 -3
  20. package/esm2022/lib/input/components/calendar/s-calendar.component.mjs +11 -14
  21. package/esm2022/lib/input/components/color/s-color.component.mjs +10 -8
  22. package/esm2022/lib/input/components/error-control/s-error-control.component.mjs +18 -15
  23. package/esm2022/lib/input/components/input/s-input-model.mjs +2 -6
  24. package/esm2022/lib/input/components/input/s-input.component.mjs +18 -6
  25. package/esm2022/lib/input/components/input-number/s-input-number.component.mjs +12 -12
  26. package/esm2022/lib/input/components/input-textarea/s-input-textarea.component.mjs +11 -8
  27. package/esm2022/lib/input/components/slider/s-slider.component.mjs +21 -13
  28. package/esm2022/lib/input/components/time/s-time.component.mjs +11 -14
  29. package/esm2022/lib/input/components/validation-error/s-validation-error.component.mjs +7 -4
  30. package/esm2022/lib/link/s-link.component.mjs +6 -3
  31. package/esm2022/lib/list/s-list.component.mjs +6 -3
  32. package/esm2022/lib/list-simple/s-list-simple.component.mjs +6 -3
  33. package/esm2022/lib/modal/modal-confirm/modal-confirm.component.mjs +6 -13
  34. package/esm2022/lib/modal/modal-confirm/models/modal-confirm.interface.mjs +1 -1
  35. package/esm2022/lib/modal/modal-confirm/services/modal-confirm.service.mjs +1 -1
  36. package/esm2022/lib/navbar/components/icon-menu/components/s-notificaction.component.mjs +1 -1
  37. package/esm2022/lib/navbar/components/icon-menu/s-icon-menu.component.mjs +1 -1
  38. package/esm2022/lib/navbar/components/menu-main/s-menu-main.component.mjs +1 -1
  39. package/esm2022/lib/navbar/s-navbar.component.mjs +9 -3
  40. package/esm2022/lib/pagination/s-pagination.component.mjs +7 -4
  41. package/esm2022/lib/popup/s-popup.component.mjs +22 -19
  42. package/esm2022/lib/precode/s-precode.component.mjs +9 -7
  43. package/esm2022/lib/progressbar/s-progressbar.component.mjs +6 -3
  44. package/esm2022/lib/radio/s-radio.component.mjs +13 -11
  45. package/esm2022/lib/select/select/s-select.component.mjs +12 -8
  46. package/esm2022/lib/select/select-multiple/s-select-multiple-model.mjs +1 -1
  47. package/esm2022/lib/select/select-multiple/s-select-multiple.component.mjs +12 -10
  48. package/esm2022/lib/select/select-multiple-old/s-select-multiple-old.component.mjs +1 -1
  49. package/esm2022/lib/select/select-simple/s-select-simple.component.mjs +1 -1
  50. package/esm2022/lib/sidebar/s-sidebar.component.mjs +6 -3
  51. package/esm2022/lib/spinner/s-spinner.component.mjs +1 -1
  52. package/esm2022/lib/sub-menu/s-sub-menu.component.mjs +1 -1
  53. package/esm2022/lib/table-complete/table-complete.component.mjs +7 -3
  54. package/esm2022/lib/table-double/table-double.component.mjs +4 -3
  55. package/esm2022/lib/table-double/table-double.model.mjs +1 -1
  56. package/esm2022/lib/table-double-complete/table-double-complete.component.mjs +6 -4
  57. package/esm2022/lib/table-double-complete/table-double-complete.model.mjs +1 -1
  58. package/esm2022/lib/table-t/s-tablet.component.mjs +6 -3
  59. package/esm2022/lib/table-t/table-actions-buttons/interfaces/TypeActions.interface.mjs +1 -1
  60. package/esm2022/lib/table-t/table-actions-buttons/table-actions-buttons.component.mjs +6 -3
  61. package/esm2022/lib/tabs/models/configTabs.interface.mjs +1 -1
  62. package/esm2022/lib/tabs/s-tabs.component.mjs +8 -4
  63. package/esm2022/lib/tag/s-tag.component.mjs +6 -3
  64. package/esm2022/lib/timeline/s-timeline.component.mjs +6 -3
  65. package/esm2022/lib/toast/s-toast-service.mjs +3 -3
  66. package/esm2022/lib/toast/s-toast.component.mjs +3 -3
  67. package/esm2022/lib/toggle-switch/s-toggle-switch.component.mjs +1 -1
  68. package/esm2022/lib/toggle-switch/toggle-switch-form/toggle-switch-form.component.mjs +12 -10
  69. package/esm2022/lib/toolbar-top/toolbar-top.component.mjs +4 -3
  70. package/esm2022/lib/tooltip/s-tooltip.component.mjs +32 -16
  71. package/esm2022/lib/tree-list/s-tree-list.component.mjs +6 -3
  72. package/fesm2022/sidesys-generic-ui.mjs +588 -462
  73. package/fesm2022/sidesys-generic-ui.mjs.map +1 -1
  74. package/lib/animation/animation.component.d.ts +2 -1
  75. package/lib/avatar/s-avatar.component.d.ts +2 -2
  76. package/lib/badge/s-badge.component.d.ts +3 -5
  77. package/lib/bottom-status-bar/bottom-status-bar.component.d.ts +2 -0
  78. package/lib/breadcrum/s-breadcrum.component.d.ts +2 -1
  79. package/lib/button/components/button/s-button.component.d.ts +6 -5
  80. package/lib/card/s-card.component.d.ts +3 -2
  81. package/lib/checkbox/checkbox-new/s-checkbox.component.d.ts +5 -3
  82. package/lib/collapse/s-collapse.component.d.ts +2 -1
  83. package/lib/company-logo/s-company-logo.component.d.ts +2 -1
  84. package/lib/container/s-container.component.d.ts +2 -1
  85. package/lib/content/s-content.component.d.ts +2 -1
  86. package/lib/empty/empty.component.d.ts +2 -0
  87. package/lib/icon-material/s-icon-material.component.d.ts +2 -1
  88. package/lib/input/components/calendar/s-calendar.component.d.ts +4 -3
  89. package/lib/input/components/color/s-color.component.d.ts +4 -3
  90. package/lib/input/components/error-control/s-error-control.component.d.ts +2 -1
  91. package/lib/input/components/input/s-input-model.d.ts +0 -1
  92. package/lib/input/components/input/s-input.component.d.ts +3 -1
  93. package/lib/input/components/input-number/s-input-number.component.d.ts +4 -2
  94. package/lib/input/components/input-textarea/s-input-textarea.component.d.ts +4 -2
  95. package/lib/input/components/time/s-time.component.d.ts +4 -3
  96. package/lib/input/components/validation-error/s-validation-error.component.d.ts +2 -1
  97. package/lib/link/s-link.component.d.ts +2 -1
  98. package/lib/list/s-list.component.d.ts +2 -1
  99. package/lib/list-simple/s-list-simple.component.d.ts +2 -1
  100. package/lib/modal/modal-confirm/modal-confirm.component.d.ts +1 -0
  101. package/lib/modal/modal-confirm/models/modal-confirm.interface.d.ts +1 -0
  102. package/lib/navbar/s-navbar.component.d.ts +5 -3
  103. package/lib/pagination/s-pagination.component.d.ts +2 -1
  104. package/lib/popup/s-popup.component.d.ts +2 -1
  105. package/lib/precode/s-precode.component.d.ts +3 -5
  106. package/lib/progressbar/s-progressbar.component.d.ts +2 -1
  107. package/lib/radio/s-radio.component.d.ts +3 -2
  108. package/lib/select/select/s-select.component.d.ts +5 -3
  109. package/lib/select/select-multiple/s-select-multiple-model.d.ts +1 -0
  110. package/lib/select/select-multiple/s-select-multiple.component.d.ts +5 -3
  111. package/lib/sidebar/s-sidebar.component.d.ts +2 -1
  112. package/lib/table-complete/table-complete.component.d.ts +3 -1
  113. package/lib/table-double/table-double.component.d.ts +1 -0
  114. package/lib/table-double/table-double.model.d.ts +1 -0
  115. package/lib/table-double-complete/table-double-complete.component.d.ts +1 -0
  116. package/lib/table-double-complete/table-double-complete.model.d.ts +1 -0
  117. package/lib/table-t/s-tablet.component.d.ts +2 -1
  118. package/lib/table-t/table-actions-buttons/interfaces/TypeActions.interface.d.ts +1 -0
  119. package/lib/table-t/table-actions-buttons/table-actions-buttons.component.d.ts +2 -1
  120. package/lib/tabs/models/configTabs.interface.d.ts +1 -0
  121. package/lib/tabs/s-tabs.component.d.ts +2 -2
  122. package/lib/tag/s-tag.component.d.ts +2 -1
  123. package/lib/timeline/s-timeline.component.d.ts +2 -1
  124. package/lib/toast/s-toast-service.d.ts +3 -3
  125. package/lib/toggle-switch/toggle-switch-form/toggle-switch-form.component.d.ts +6 -3
  126. package/lib/toolbar-top/toolbar-top.component.d.ts +2 -0
  127. package/lib/tooltip/s-tooltip.component.d.ts +2 -1
  128. package/lib/tree-list/s-tree-list.component.d.ts +2 -1
  129. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { Component, EventEmitter, Input, Output, ViewEncapsulation, signal, inject, } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation, signal, inject } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { STabsModule } from '../tabs';
4
4
  import { STableDoubleComponent } from '../table-double/table-double.component';
@@ -25,6 +25,7 @@ export class STableDoubleCompleteComponent {
25
25
  this._sTranslateService = inject(STranslateService);
26
26
  }
27
27
  ngOnInit() {
28
+ this.id = this.config.id ?? `s-table-double-complete`;
28
29
  this.rightTableState = [...(this.config.tableConfig.tableRightItems ?? [])];
29
30
  const selectedTab = this.config.tabs.find(t => t.selected);
30
31
  if (selectedTab) {
@@ -118,6 +119,7 @@ export class STableDoubleCompleteComponent {
118
119
  },
119
120
  tableLeftItems: leftItems,
120
121
  tableRightItems: rightItems,
122
+ id: this.id,
121
123
  };
122
124
  }
123
125
  mapToTableDoubleItems(items) {
@@ -233,11 +235,11 @@ export class STableDoubleCompleteComponent {
233
235
  this.refreshTables();
234
236
  }
235
237
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: STableDoubleCompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
236
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: STableDoubleCompleteComponent, isStandalone: true, selector: "s-table-double-complete", inputs: { config: "config" }, outputs: { updateEvent: "updateEvent", actionPositionEvent: "actionPositionEvent", bottomStatusBarPositionEvent: "bottomStatusBarPositionEvent", checkAllPositionEvent: "checkAllPositionEvent", deletePositionEvent: "deletePositionEvent", emptyPositionEvent: "emptyPositionEvent", filterPositionEvent: "filterPositionEvent", multiSelectPositionEvent: "multiSelectPositionEvent", orderByPositionEvent: "orderByPositionEvent", pillButtonPositionEvent: "pillButtonPositionEvent", scrollPositionEvent: "scrollPositionEvent", selectPositionEvent: "selectPositionEvent", switchChangeEvent: "switchChangeEvent" }, ngImport: i0, template: "<div class=\"s-table-double-complete\">\n <s-tabs\n [tabs]=\"config.tabs\"\n [configTabs]=\"config.configTabs\"\n (eventSelect)=\"onTabSelect($event)\">\n </s-tabs>\n\n <s-table-double\n [config]=\"tableDoubleAdapter\"\n (eventUpdateTables)=\"onUpdateTables($event)\"\n (actionPositionEvent)=\"actionPositionEvent.emit($event)\"\n (bottomStatusBarPositionEvent)=\"bottomStatusBarPositionEvent.emit($event)\"\n (checkAllPositionEvent)=\"checkAllPositionEvent.emit($event)\"\n (deletePositionEvent)=\"deletePositionEvent.emit($event)\"\n (emptyPositionEvent)=\"emptyPositionEvent.emit($event)\"\n (filterPositionEvent)=\"filterPositionEvent.emit($event)\"\n (multiSelectPositionEvent)=\"multiSelectPositionEvent.emit($event)\"\n (orderByPositionEvent)=\"orderByPositionEvent.emit($event)\"\n (pillButtonPositionEvent)=\"pillButtonPositionEvent.emit($event)\"\n (scrollPositionEvent)=\"scrollPositionEvent.emit($event)\"\n (toggleExpandEvent)=\"toggleNodeExpansion($event)\"\n (reorderItemEvent)=\"onReorderItem($event)\"\n (switchChangeEvent)=\"onSwitchChange($event)\">\n</s-table-double>\n</div>\n", styles: [".s-table-double-complete{display:flex;flex-direction:row;gap:.5rem}s-table-double{width:100%}s-tabs{width:15%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: STabsModule }, { kind: "component", type: i1.STabsComponent, selector: "s-tabs", inputs: ["tabs", "configTabs"], outputs: ["eventSelect"] }, { kind: "component", type: STableDoubleComponent, selector: "s-table-double", inputs: ["config"], outputs: ["actionPositionEvent", "bottomStatusBarPositionEvent", "checkAllPositionEvent", "deletePositionEvent", "emptyPositionEvent", "eventUpdateTables", "filterPositionEvent", "multiSelectPositionEvent", "orderByPositionEvent", "pagePositionEvent", "paginationPositionEvent", "pillButtonPositionEvent", "scrollPositionEvent", "selectPositionEvent", "rowSelectPositionEvent", "actionEvent", "toggleExpandEvent", "reorderItemEvent", "switchChangeEvent"] }], encapsulation: i0.ViewEncapsulation.None }); }
238
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: STableDoubleCompleteComponent, isStandalone: true, selector: "s-table-double-complete", inputs: { config: "config" }, outputs: { updateEvent: "updateEvent", actionPositionEvent: "actionPositionEvent", bottomStatusBarPositionEvent: "bottomStatusBarPositionEvent", checkAllPositionEvent: "checkAllPositionEvent", deletePositionEvent: "deletePositionEvent", emptyPositionEvent: "emptyPositionEvent", filterPositionEvent: "filterPositionEvent", multiSelectPositionEvent: "multiSelectPositionEvent", orderByPositionEvent: "orderByPositionEvent", pillButtonPositionEvent: "pillButtonPositionEvent", scrollPositionEvent: "scrollPositionEvent", selectPositionEvent: "selectPositionEvent", switchChangeEvent: "switchChangeEvent" }, ngImport: i0, template: "<div class=\"s-table-double-complete\" [id]=\"id\">\n <s-tabs [tabs]=\"config.tabs\" [configTabs]=\"config.configTabs\" (eventSelect)=\"onTabSelect($event)\"> </s-tabs>\n\n <s-table-double\n [config]=\"tableDoubleAdapter\"\n (eventUpdateTables)=\"onUpdateTables($event)\"\n (actionPositionEvent)=\"actionPositionEvent.emit($event)\"\n (bottomStatusBarPositionEvent)=\"bottomStatusBarPositionEvent.emit($event)\"\n (checkAllPositionEvent)=\"checkAllPositionEvent.emit($event)\"\n (deletePositionEvent)=\"deletePositionEvent.emit($event)\"\n (emptyPositionEvent)=\"emptyPositionEvent.emit($event)\"\n (filterPositionEvent)=\"filterPositionEvent.emit($event)\"\n (multiSelectPositionEvent)=\"multiSelectPositionEvent.emit($event)\"\n (orderByPositionEvent)=\"orderByPositionEvent.emit($event)\"\n (pillButtonPositionEvent)=\"pillButtonPositionEvent.emit($event)\"\n (scrollPositionEvent)=\"scrollPositionEvent.emit($event)\"\n (toggleExpandEvent)=\"toggleNodeExpansion($event)\"\n (reorderItemEvent)=\"onReorderItem($event)\"\n (switchChangeEvent)=\"onSwitchChange($event)\">\n </s-table-double>\n</div>\n", styles: [".s-table-double-complete{display:flex;flex-direction:row;gap:.5rem}s-table-double{width:100%}s-tabs{width:15%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: STabsModule }, { kind: "component", type: i1.STabsComponent, selector: "s-tabs", inputs: ["tabs", "configTabs", "id"], outputs: ["eventSelect"] }, { kind: "component", type: STableDoubleComponent, selector: "s-table-double", inputs: ["config"], outputs: ["actionPositionEvent", "bottomStatusBarPositionEvent", "checkAllPositionEvent", "deletePositionEvent", "emptyPositionEvent", "eventUpdateTables", "filterPositionEvent", "multiSelectPositionEvent", "orderByPositionEvent", "pagePositionEvent", "paginationPositionEvent", "pillButtonPositionEvent", "scrollPositionEvent", "selectPositionEvent", "rowSelectPositionEvent", "actionEvent", "toggleExpandEvent", "reorderItemEvent", "switchChangeEvent"] }], encapsulation: i0.ViewEncapsulation.None }); }
237
239
  }
238
240
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: STableDoubleCompleteComponent, decorators: [{
239
241
  type: Component,
240
- args: [{ selector: 's-table-double-complete', standalone: true, imports: [CommonModule, STabsModule, STableDoubleComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"s-table-double-complete\">\n <s-tabs\n [tabs]=\"config.tabs\"\n [configTabs]=\"config.configTabs\"\n (eventSelect)=\"onTabSelect($event)\">\n </s-tabs>\n\n <s-table-double\n [config]=\"tableDoubleAdapter\"\n (eventUpdateTables)=\"onUpdateTables($event)\"\n (actionPositionEvent)=\"actionPositionEvent.emit($event)\"\n (bottomStatusBarPositionEvent)=\"bottomStatusBarPositionEvent.emit($event)\"\n (checkAllPositionEvent)=\"checkAllPositionEvent.emit($event)\"\n (deletePositionEvent)=\"deletePositionEvent.emit($event)\"\n (emptyPositionEvent)=\"emptyPositionEvent.emit($event)\"\n (filterPositionEvent)=\"filterPositionEvent.emit($event)\"\n (multiSelectPositionEvent)=\"multiSelectPositionEvent.emit($event)\"\n (orderByPositionEvent)=\"orderByPositionEvent.emit($event)\"\n (pillButtonPositionEvent)=\"pillButtonPositionEvent.emit($event)\"\n (scrollPositionEvent)=\"scrollPositionEvent.emit($event)\"\n (toggleExpandEvent)=\"toggleNodeExpansion($event)\"\n (reorderItemEvent)=\"onReorderItem($event)\"\n (switchChangeEvent)=\"onSwitchChange($event)\">\n</s-table-double>\n</div>\n", styles: [".s-table-double-complete{display:flex;flex-direction:row;gap:.5rem}s-table-double{width:100%}s-tabs{width:15%}\n"] }]
242
+ args: [{ selector: 's-table-double-complete', standalone: true, imports: [CommonModule, STabsModule, STableDoubleComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"s-table-double-complete\" [id]=\"id\">\n <s-tabs [tabs]=\"config.tabs\" [configTabs]=\"config.configTabs\" (eventSelect)=\"onTabSelect($event)\"> </s-tabs>\n\n <s-table-double\n [config]=\"tableDoubleAdapter\"\n (eventUpdateTables)=\"onUpdateTables($event)\"\n (actionPositionEvent)=\"actionPositionEvent.emit($event)\"\n (bottomStatusBarPositionEvent)=\"bottomStatusBarPositionEvent.emit($event)\"\n (checkAllPositionEvent)=\"checkAllPositionEvent.emit($event)\"\n (deletePositionEvent)=\"deletePositionEvent.emit($event)\"\n (emptyPositionEvent)=\"emptyPositionEvent.emit($event)\"\n (filterPositionEvent)=\"filterPositionEvent.emit($event)\"\n (multiSelectPositionEvent)=\"multiSelectPositionEvent.emit($event)\"\n (orderByPositionEvent)=\"orderByPositionEvent.emit($event)\"\n (pillButtonPositionEvent)=\"pillButtonPositionEvent.emit($event)\"\n (scrollPositionEvent)=\"scrollPositionEvent.emit($event)\"\n (toggleExpandEvent)=\"toggleNodeExpansion($event)\"\n (reorderItemEvent)=\"onReorderItem($event)\"\n (switchChangeEvent)=\"onSwitchChange($event)\">\n </s-table-double>\n</div>\n", styles: [".s-table-double-complete{display:flex;flex-direction:row;gap:.5rem}s-table-double{width:100%}s-tabs{width:15%}\n"] }]
241
243
  }], propDecorators: { config: [{
242
244
  type: Input
243
245
  }], updateEvent: [{
@@ -267,4 +269,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
267
269
  }], switchChangeEvent: [{
268
270
  type: Output
269
271
  }] } });
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZG91YmxlLWNvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL3RhYmxlLWRvdWJsZS1jb21wbGV0ZS90YWJsZS1kb3VibGUtY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtZG91YmxlLWNvbXBsZXRlL3RhYmxlLWRvdWJsZS1jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixFQUVqQixNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBb0IvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBVTVFLE1BQU0sT0FBTyw2QkFBNkI7SUFSMUM7UUFXWSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFtQyxDQUFDO1FBQ2xFLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDbEQsaUNBQTRCLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDNUUsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDckUsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2pELHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFn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OzhCQUc1QixNQUFNO3NCQUFkLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csNEJBQTRCO3NCQUFyQyxNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyx3QkFBd0I7c0JBQWpDLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLHVCQUF1QjtzQkFBaEMsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgT25Jbml0LFxuICBzaWduYWwsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBTVGFic01vZHVsZSB9IGZyb20gJy4uL3RhYnMnO1xuaW1wb3J0IHsgU1RhYmxlRG91YmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUtZG91YmxlL3RhYmxlLWRvdWJsZS5jb21wb25lbnQnO1xuXG5pbXBvcnQge1xuICBTVGFibGVEb3VibGVDb21wbGV0ZUNvbmZpZyxcbiAgU1RhYmxlRG91YmxlQ29tcGxldGVVcGRhdGVFdmVudCxcbiAgU1RhYmxlRG91YmxlQ29tcGxldGVJdGVtLFxufSBmcm9tICcuL3RhYmxlLWRvdWJsZS1jb21wbGV0ZS5tb2RlbCc7XG5cbmltcG9ydCB7IElUYWIgfSBmcm9tICcuLi90YWJzL21vZGVscyc7XG5pbXBvcnQge1xuICBTVGFibGVEb3VibGUsXG4gIFNUYWJsZXNEYXRhLFxuICBTVGFibGVEb3VibGVJdGVtLFxuICBTVGFibGVEb3VibGVCb29sZWFuRXZlbnQsXG4gIFNUYWJsZURvdWJsZVJlb3JkZXJFdmVudCxcbiAgU1RhYmxlRG91YmxlU3RyaW5nQXJyYXlFdmVudCxcbiAgU1RhYmxlRG91YmxlU29ydEV2ZW50LFxuICBTVGFibGVEb3VibGVTdHJpbmdFdmVudCxcbiAgU1RhYmxlRG91YmxlU3dpdGNoRXZlbnQsXG59IGZyb20gJy4uL3RhYmxlLWRvdWJsZS90YWJsZS1kb3VibGUubW9kZWwnO1xuaW1wb3J0IHsgU1RyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90cmFuc2xhdGUvdHJhbnNsYXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLXRhYmxlLWRvdWJsZS1jb21wbGV0ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNUYWJzTW9kdWxlLCBTVGFibGVEb3VibGVDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtZG91YmxlLWNvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3RhYmxlLWRvdWJsZS1jb21wbGV0ZS5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNUYWJsZURvdWJsZUNvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY29uZmlnITogU1RhYmxlRG91YmxlQ29tcGxldGVDb25maWc7XG5cbiAgQE91dHB1dCgpIHVwZGF0ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxTVGFibGVEb3VibGVDb21wbGV0ZVVwZGF0ZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgYWN0aW9uUG9zaXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGJvdHRvbVN0YXR1c0JhclBvc2l0aW9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFNUYWJsZURvdWJsZUJvb2xlYW5FdmVudD4oKTtcbiAgQE91dHB1dCgpIGNoZWNrQWxsUG9zaXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8U1RhYmxlRG91YmxlQm9vbGVhbkV2ZW50PigpO1xuICBAT3V0cHV0KCkgZGVsZXRlUG9zaXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGVtcHR5UG9zaXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGZpbHRlclBvc2l0aW9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFNUYWJsZURvdWJsZVN0cmluZ0FycmF5RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBtdWx0aVNlbGVjdFBvc2l0aW9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFNUYWJsZURvdWJsZVN0cmluZ0FycmF5RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvcmRlckJ5UG9zaXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8U1RhYmxlRG91YmxlU29ydEV2ZW50PigpO1xuICBAT3V0cHV0KCkgcGlsbEJ1dHRvblBvc2l0aW9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBzY3JvbGxQb3NpdGlvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgc2VsZWN0UG9zaXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8U1RhYmxlRG91YmxlU3RyaW5nRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBzd2l0Y2hDaGFuZ2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8U1RhYmxlRG91YmxlU3dpdGNoRXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSBhY3RpdmVUYWJLZXkhOiBzdHJpbmc7XG4gIHByaXZhdGUgcmlnaHRUYWJsZVN0YXRlOiBTVGFibGVEb3VibGVDb21wbGV0ZUl0ZW1bXSA9IFtdO1xuICBwcml2YXRlIGV4cGFuZGVkTm9kZXMgPSBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc1RyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoU1RyYW5zbGF0ZVNlcnZpY2UpO1xuICBcbiAgdGFibGVEb3VibGVBZGFwdGVyITogU1RhYmxlRG91YmxlO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmlnaHRUYWJsZVN0YXRlID0gWy4uLih0aGlzLmNvbmZpZy50YWJsZUNvbmZpZy50YWJsZVJpZ2h0SXRlbXMgPz8gW10pXTtcblxuICAgIGNvbnN0IHNlbGVjdGVkVGFiID0gdGhpcy5jb25maWcudGFicy5maW5kKHQgPT4gdC5zZWxlY3RlZCk7XG4gICAgaWYgKHNlbGVjdGVkVGFiKSB7XG4gICAgICB0aGlzLnNldEFjdGl2ZVRhYihzZWxlY3RlZFRhYik7XG4gICAgfVxuICB9XG5cbiAgb25UYWJTZWxlY3QodGFiOiBJVGFiKTogdm9pZCB7XG4gICAgdGhpcy5zZXRBY3RpdmVUYWIodGFiKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWN0aXZlVGFiKHRhYjogSVRhYik6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlVGFiS2V5ID0gU3RyaW5nKHRhYi52YWx1ZSA/PyB0YWIudGV4dCk7XG5cbiAgICBjb25zdCBsZWZ0SXRlbXMgPSB0aGlzLmNvbmZpZy5pdGVtc0J5VGFiW3RoaXMuYWN0aXZlVGFiS2V5XSA/PyBbXTtcbiAgICBjb25zdCB0YWJsZUxlZnRJdGVtcyA9IHRoaXMubWFwVG9UYWJsZURvdWJsZUl0ZW1zKGxlZnRJdGVtcyk7XG5cbiAgICBsZXQgdGFibGVSaWdodEl0ZW1zID0gdGhpcy5tYXBUb1RhYmxlRG91YmxlSXRlbXModGhpcy5yaWdodFRhYmxlU3RhdGUpO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLnRyZWVNb2RlKSB7XG4gICAgICB0YWJsZVJpZ2h0SXRlbXMgPSB0aGlzLmZsYXR0ZW5UcmVlKHRoaXMuYnVpbGRUcmVlKHRoaXMucmlnaHRUYWJsZVN0YXRlKSk7XG4gICAgfVxuXG4gICAgdGhpcy50YWJsZURvdWJsZUFkYXB0ZXIgPSB0aGlzLmJ1aWxkVGFibGVEb3VibGVBZGFwdGVyKHRhYmxlTGVmdEl0ZW1zLCB0YWJsZVJpZ2h0SXRlbXMpO1xuICB9XG5cbiAgb25VcGRhdGVUYWJsZXMoZXZlbnQ6IFNUYWJsZXNEYXRhKTogdm9pZCB7XG4gICAgY29uc3QgcHJldlJpZ2h0SWRzID0gbmV3IFNldCh0aGlzLnJpZ2h0VGFibGVTdGF0ZS5tYXAoaSA9PiBpLmlkKSk7XG4gICAgY29uc3Qgc291cmNlTGVmdCA9IHRoaXMuY29uZmlnLml0ZW1zQnlUYWJbdGhpcy5hY3RpdmVUYWJLZXldID8/IFtdO1xuICAgIGNvbnN0IHNlbGVjdGVkUmlnaHRJdGVtcyA9IGV2ZW50LnRhYmxlUmlnaHRJdGVtcy5maWx0ZXIoaSA9PiBpLnNlbGVjdGVkKTtcbiAgICBjb25zdCBwYXJlbnRJZCA9IHRoaXMuY29uZmlnLnRyZWVNb2RlICYmIHNlbGVjdGVkUmlnaHRJdGVtcy5sZW5ndGggPT09IDEgPyBzZWxlY3RlZFJpZ2h0SXRlbXNbMF0uaWQgOiBudWxsO1xuXG4gICAgY29uc3QgbmV4dFJpZ2h0OiBTVGFibGVEb3VibGVDb21wbGV0ZUl0ZW1bXSA9IGV2ZW50LnRhYmxlUmlnaHRJdGVtcy5tYXAoaXRlbSA9PiB7XG4gICAgICBjb25zdCBwcmV2ID0gdGhpcy5yaWdodFRhYmxlU3RhdGUuZmluZChyID0+IHIuaWQgPT09IGl0ZW0uaWQpO1xuICAgICAgY29uc3QgZnJvbUxlZnQgPSBzb3VyY2VMZWZ0LmZpbmQobCA9PiBsLmlkID09PSBpdGVtLmlkKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLihwcmV2ID8/IGZyb21MZWZ0ID8/IHt9KSxcbiAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgICAgY2hlY2tlZDogISFpdGVtLmNoZWNrZWQsXG4gICAgICAgIHBhcmVudElkOiBwcmV2Py5wYXJlbnRJZCA/PyBudWxsLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGFkZGVkSXRlbXMgPSBuZXh0UmlnaHQuZmlsdGVyKGkgPT4gIXByZXZSaWdodElkcy5oYXMoaS5pZCkpO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLnRyZWVNb2RlICYmIHBhcmVudElkKSB7XG4gICAgICBhZGRlZEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGl0ZW0ucGFyZW50SWQgPSBwYXJlbnRJZDtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMucmlnaHRUYWJsZVN0YXRlID0gbmV4dFJpZ2h0O1xuICAgIHRoaXMucmVzZXRTZWxlY3Rpb25zKCk7XG4gICAgdGhpcy5yZWZyZXNoVGFibGVzKCk7XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2hUYWJsZXMoKTogdm9pZCB7XG4gICAgY29uc3QgbGVmdEl0ZW1zID0gdGhpcy5jb25maWcuaXRlbXNCeVRhYlt0aGlzLmFjdGl2ZVRhYktleV0gPz8gW107XG4gICAgY29uc3QgdGFibGVMZWZ0SXRlbXMgPSB0aGlzLm1hcFRvVGFibGVEb3VibGVJdGVtcyhsZWZ0SXRlbXMpO1xuXG4gICAgbGV0IHRhYmxlUmlnaHRJdGVtcyA9IHRoaXMubWFwVG9UYWJsZURvdWJsZUl0ZW1zKHRoaXMucmlnaHRUYWJsZVN0YXRlKTtcblxuICAgIGlmICh0aGlzLmNvbmZpZy50cmVlTW9kZSkge1xuICAgICAgdGFibGVSaWdodEl0ZW1zID0gdGhpcy5mbGF0dGVuVHJlZSh0aGlzLmJ1aWxkVHJlZSh0aGlzLnJpZ2h0VGFibGVTdGF0ZSkpO1xuICAgICAgdGFibGVMZWZ0SXRlbXM7XG4gICAgfVxuXG4gICAgdGhpcy50YWJsZURvdWJsZUFkYXB0ZXIgPSB0aGlzLmJ1aWxkVGFibGVEb3VibGVBZGFwdGVyKHRhYmxlTGVmdEl0ZW1zLCB0YWJsZVJpZ2h0SXRlbXMpO1xuXG4gICAgdGhpcy51cGRhdGVFdmVudC5lbWl0KHtcbiAgICAgIHRhYktleTogdGhpcy5hY3RpdmVUYWJLZXksXG4gICAgICB0YWJsZUxlZnRJdGVtcyxcbiAgICAgIHRhYmxlUmlnaHRJdGVtcyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRUYWJsZURvdWJsZUFkYXB0ZXIobGVmdEl0ZW1zOiBTVGFibGVEb3VibGVJdGVtW10sIHJpZ2h0SXRlbXM6IFNUYWJsZURvdWJsZUl0ZW1bXSk6IFNUYWJsZURvdWJsZSB7XG4gICAgY29uc3QgcmlnaHRDb2x1bW5zID0gWy4uLnRoaXMuY29uZmlnLnRhYmxlQ29uZmlnLnRhYmxlUmlnaHRDb25maWcuY29sdW1uc107XG4gICAgaWYgKHRoaXMuY29uZmlnLnNob3dPcmRlckJ1dHRvbnMgJiYgIXJpZ2h0Q29sdW1ucy5zb21lKGMgPT4gYy5pZCA9PT0gJ2FjdGlvbnMnKSkge1xuICAgICAgcmlnaHRDb2x1bW5zLnB1c2goeyBpZDogJ2FjdGlvbnMnLCB0aXRsZTogdGhpcy5fc1RyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgndWkuZ2VuZXJpYy5hY3Rpb25zJykgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZGl0aW9uQnV0dG9uOiB0cnVlLFxuICAgICAgaXNUcmVlTW9kZTogISF0aGlzLmNvbmZpZy50cmVlTW9kZSxcbiAgICAgIHNob3dPcmRlckJ1dHRvbnM6ICEhdGhpcy5jb25maWcuc2hvd09yZGVyQnV0dG9ucyxcbiAgICAgIGRpc2FibGVMZWZ0Um93U2VsZWN0aW9uOiB0cnVlLFxuICAgICAgdGFibGVMZWZ0Q29uZmlnOiB7XG4gICAgICAgIC4uLnRoaXMuY29uZmlnLnRhYmxlQ29uZmlnLnRhYmxlTGVmdENvbmZpZyxcbiAgICAgICAgdG90YWxJdGVtczogbGVmdEl0ZW1zLmxlbmd0aCxcbiAgICAgICAgaXNUcmVlTW9kZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ0JvdHRvbVN0YXR1c0Jhcjogc2lnbmFsKHtcbiAgICAgICAgICBjb3VudGVyOiBsZWZ0SXRlbXMuZmlsdGVyKGkgPT4gaS5jaGVja2VkKS5sZW5ndGgsXG4gICAgICAgICAgdG90YWw6IGxlZnRJdGVtcy5sZW5ndGgsXG4gICAgICAgICAgZGlzYWJsZWQ6IGxlZnRJdGVtcy5sZW5ndGggPT09IDAsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICAgIHRhYmxlUmlnaHRDb25maWc6IHtcbiAgICAgICAgLi4udGhpcy5jb25maWcudGFibGVDb25maWcudGFibGVSaWdodENvbmZpZyxcbiAgICAgICAgY29sdW1uczogcmlnaHRDb2x1bW5zLFxuICAgICAgICB0b3RhbEl0ZW1zOiByaWdodEl0ZW1zLmxlbmd0aCxcbiAgICAgICAgaXNUcmVlTW9kZTogISF0aGlzLmNvbmZpZy50cmVlTW9kZSxcbiAgICAgICAgY29uZmlnQm90dG9tU3RhdHVzQmFyOiBzaWduYWwoe1xuICAgICAgICAgIGNvdW50ZXI6IHJpZ2h0SXRlbXMuZmlsdGVyKGkgPT4gaS5jaGVja2VkKS5sZW5ndGgsXG4gICAgICAgICAgdG90YWw6IHJpZ2h0SXRlbXMubGVuZ3RoLFxuICAgICAgICAgIGRpc2FibGVkOiByaWdodEl0ZW1zLmxlbmd0aCA9PT0gMCxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgICAgdGFibGVMZWZ0SXRlbXM6IGxlZnRJdGVtcyxcbiAgICAgIHRhYmxlUmlnaHRJdGVtczogcmlnaHRJdGVtcyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBUb1RhYmxlRG91YmxlSXRlbXMoaXRlbXM6IFNUYWJsZURvdWJsZUNvbXBsZXRlSXRlbVtdKTogU1RhYmxlRG91YmxlSXRlbVtdIHtcbiAgICByZXR1cm4gaXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4gKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBuYW1lOiBpdGVtLm5hbWUgPz8gJycsXG4gICAgICBjaGVja2VkOiBpdGVtLmNoZWNrZWQgPz8gZmFsc2UsXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFRyZWUoaXRlbXM6IFNUYWJsZURvdWJsZUNvbXBsZXRlSXRlbVtdKTogU1RhYmxlRG91YmxlQ29tcGxldGVJdGVtW10ge1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBTVGFibGVEb3VibGVDb21wbGV0ZUl0ZW0gJiB7IGNoaWxkcmVuOiBTVGFibGVEb3VibGVDb21wbGV0ZUl0ZW1bXSB9PigpO1xuICAgIGNvbnN0IHJvb3RzOiBTVGFibGVEb3VibGVDb21wbGV0ZUl0ZW1bXSA9IFtdO1xuXG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIG1hcC5zZXQoaXRlbS5pZCwgeyAuLi5pdGVtLCBjaGlsZHJlbjogW10gfSk7XG4gICAgfSk7XG5cbiAgICBtYXAuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmIChpdGVtLnBhcmVudElkKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IG1hcC5nZXQoaXRlbS5wYXJlbnRJZCk7XG4gICAgICAgIGlmIChwYXJlbnQpIHBhcmVudC5jaGlsZHJlbi5wdXNoKGl0ZW0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcm9vdHMucHVzaChpdGVtKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiByb290cztcbiAgfVxuXG4gIHByaXZhdGUgZmxhdHRlblRyZWUobm9kZXM6IFNUYWJsZURvdWJsZUNvbXBsZXRlSXRlbVtdLCBsZXZlbDogbnVtYmVyID0gMCk6IFNUYWJsZURvdWJsZUl0ZW1bXSB7XG4gICAgbGV0IHJlc3VsdDogU1RhYmxlRG91YmxlSXRlbVtdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBub2RlID0gbm9kZXNbaV07XG4gICAgICBjb25zdCBoYXNDaGlsZHJlbiA9ICEhbm9kZS5jaGlsZHJlbj8ubGVuZ3RoO1xuICAgICAgY29uc3QgaXNFeHBhbmRlZCA9IHRoaXMuZXhwYW5kZWROb2Rlcy5nZXQobm9kZS5pZCkgPz8gdHJ1ZTtcblxuICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAuLi5ub2RlLFxuICAgICAgICBuYW1lOiBub2RlLm5hbWUgPz8gJycsXG4gICAgICAgIGNoZWNrZWQ6ICEhbm9kZS5jaGVja2VkLFxuICAgICAgICBwYXJlbnRJZDogbm9kZS5wYXJlbnRJZCA/PyBudWxsLFxuICAgICAgICBsZXZlbDogbGV2ZWwsXG4gICAgICAgIGV4cGFuZGVkOiBpc0V4cGFuZGVkLFxuICAgICAgICBoYXNDaGlsZHJlbjogaGFzQ2hpbGRyZW4sXG4gICAgICB9IGFzIFNUYWJsZURvdWJsZUl0ZW0pO1xuXG4gICAgICBpZiAoaGFzQ2hpbGRyZW4gJiYgaXNFeHBhbmRlZCAmJiBub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQodGhpcy5mbGF0dGVuVHJlZShub2RlLmNoaWxkcmVuLCBsZXZlbCArIDEpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRTZWxlY3Rpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGxlZnRJdGVtcyA9IHRoaXMuY29uZmlnLml0ZW1zQnlUYWJbdGhpcy5hY3RpdmVUYWJLZXldID8/IFtdO1xuICAgIGxlZnRJdGVtcy5mb3JFYWNoKGkgPT4ge1xuICAgICAgaS5jaGVja2VkID0gZmFsc2U7XG4gICAgICBpLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgfSk7XG4gICAgdGhpcy5yaWdodFRhYmxlU3RhdGUuZm9yRWFjaChpID0+IHtcbiAgICAgIGkuY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgaS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgb25Td2l0Y2hDaGFuZ2UoZXZlbnQ6IFNUYWJsZURvdWJsZVN3aXRjaEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmlzTGVmdFRhYmxlKSB7XG4gICAgICBjb25zdCBsZWZ0SXRlbXMgPSB0aGlzLmNvbmZpZy5pdGVtc0J5VGFiW3RoaXMuYWN0aXZlVGFiS2V5XSA/PyBbXTtcbiAgICAgIGNvbnN0IGl0ZW0gPSBsZWZ0SXRlbXMuZmluZChpID0+IGkuaWQgPT09IGV2ZW50Lml0ZW1JZCk7XG4gICAgICBpZiAoaXRlbSkgaXRlbVtldmVudC5jb2x1bW5JZF0gPSBldmVudC52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaXRlbSA9IHRoaXMucmlnaHRUYWJsZVN0YXRlLmZpbmQoaSA9PiBpLmlkID09PSBldmVudC5pdGVtSWQpO1xuICAgICAgaWYgKGl0ZW0pIGl0ZW1bZXZlbnQuY29sdW1uSWRdID0gZXZlbnQudmFsdWU7XG4gICAgfVxuICAgIHRoaXMuc3dpdGNoQ2hhbmdlRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICB0b2dnbGVOb2RlRXhwYW5zaW9uKG5vZGVJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5leHBhbmRlZE5vZGVzLmdldChub2RlSWQpID8/IHRydWU7XG4gICAgdGhpcy5leHBhbmRlZE5vZGVzLnNldChub2RlSWQsICFjdXJyZW50U3RhdGUpO1xuICAgIHRoaXMucmVmcmVzaFRhYmxlcygpO1xuICB9XG5cbiAgb25SZW9yZGVySXRlbShldmVudDogU1RhYmxlRG91YmxlUmVvcmRlckV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgeyBpdGVtSWQsIGRpcmVjdGlvbiB9ID0gZXZlbnQ7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMucmlnaHRUYWJsZVN0YXRlLmZpbmQoaSA9PiBpLmlkID09PSBpdGVtSWQpO1xuICAgIGlmICghaXRlbSkgcmV0dXJuO1xuXG4gICAgY29uc3QgcGFyZW50SWQgPSBpdGVtLnBhcmVudElkID8/IG51bGw7XG4gICAgY29uc3Qgc2libGluZ3MgPSB0aGlzLnJpZ2h0VGFibGVTdGF0ZS5maWx0ZXIoaSA9PiAoaS5wYXJlbnRJZCA/PyBudWxsKSA9PT0gcGFyZW50SWQpO1xuICAgIGNvbnN0IHNpYmxpbmdJbmRleCA9IHNpYmxpbmdzLmZpbmRJbmRleChpID0+IGkuaWQgPT09IGl0ZW1JZCk7XG4gICAgaWYgKHNpYmxpbmdJbmRleCA9PT0gLTEpIHJldHVybjtcblxuICAgIGxldCB0YXJnZXRJbmRleDogbnVtYmVyO1xuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICd0b3AnOlxuICAgICAgICB0YXJnZXRJbmRleCA9IDA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndXAnOlxuICAgICAgICB0YXJnZXRJbmRleCA9IHNpYmxpbmdJbmRleCAtIDE7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZG93bic6XG4gICAgICAgIHRhcmdldEluZGV4ID0gc2libGluZ0luZGV4ICsgMTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICB0YXJnZXRJbmRleCA9IHNpYmxpbmdzLmxlbmd0aCAtIDE7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0YXJnZXRJbmRleCA8IDAgfHwgdGFyZ2V0SW5kZXggPj0gc2libGluZ3MubGVuZ3RoIHx8IHRhcmdldEluZGV4ID09PSBzaWJsaW5nSW5kZXgpIHJldHVybjtcblxuICAgIHNpYmxpbmdzLnNwbGljZShzaWJsaW5nSW5kZXgsIDEpO1xuICAgIHNpYmxpbmdzLnNwbGljZSh0YXJnZXRJbmRleCwgMCwgaXRlbSk7XG5cbiAgICB0aGlzLnJpZ2h0VGFibGVTdGF0ZSA9IHRoaXMucmlnaHRUYWJsZVN0YXRlLmZpbHRlcihpID0+IChpLnBhcmVudElkID8/IG51bGwpICE9PSBwYXJlbnRJZCk7XG4gICAgY29uc3QgaW5zZXJ0UmVmID0gcGFyZW50SWQgPyB0aGlzLnJpZ2h0VGFibGVTdGF0ZS5maW5kSW5kZXgoaSA9PiBpLmlkID09PSBwYXJlbnRJZCkgKyAxIDogMDtcbiAgICB0aGlzLnJpZ2h0VGFibGVTdGF0ZS5zcGxpY2UoaW5zZXJ0UmVmLCAwLCAuLi5zaWJsaW5ncyk7XG5cbiAgICB0aGlzLnJlZnJlc2hUYWJsZXMoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInMtdGFibGUtZG91YmxlLWNvbXBsZXRlXCI+XG4gIDxzLXRhYnNcbiAgICBbdGFic109XCJjb25maWcudGFic1wiXG4gICAgW2NvbmZpZ1RhYnNdPVwiY29uZmlnLmNvbmZpZ1RhYnNcIlxuICAgIChldmVudFNlbGVjdCk9XCJvblRhYlNlbGVjdCgkZXZlbnQpXCI+XG4gIDwvcy10YWJzPlxuXG4gIDxzLXRhYmxlLWRvdWJsZVxuICBbY29uZmlnXT1cInRhYmxlRG91YmxlQWRhcHRlclwiXG4gIChldmVudFVwZGF0ZVRhYmxlcyk9XCJvblVwZGF0ZVRhYmxlcygkZXZlbnQpXCJcbiAgKGFjdGlvblBvc2l0aW9uRXZlbnQpPVwiYWN0aW9uUG9zaXRpb25FdmVudC5lbWl0KCRldmVudClcIlxuICAoYm90dG9tU3RhdHVzQmFyUG9zaXRpb25FdmVudCk9XCJib3R0b21TdGF0dXNCYXJQb3NpdGlvbkV2ZW50LmVtaXQoJGV2ZW50KVwiXG4gIChjaGVja0FsbFBvc2l0aW9uRXZlbnQpPVwiY2hlY2tBbGxQb3NpdGlvbkV2ZW50LmVtaXQoJGV2ZW50KVwiXG4gIChkZWxldGVQb3NpdGlvbkV2ZW50KT1cImRlbGV0ZVBvc2l0aW9uRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgKGVtcHR5UG9zaXRpb25FdmVudCk9XCJlbXB0eVBvc2l0aW9uRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgKGZpbHRlclBvc2l0aW9uRXZlbnQpPVwiZmlsdGVyUG9zaXRpb25FdmVudC5lbWl0KCRldmVudClcIlxuICAobXVsdGlTZWxlY3RQb3NpdGlvbkV2ZW50KT1cIm11bHRpU2VsZWN0UG9zaXRpb25FdmVudC5lbWl0KCRldmVudClcIlxuICAob3JkZXJCeVBvc2l0aW9uRXZlbnQpPVwib3JkZXJCeVBvc2l0aW9uRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgKHBpbGxCdXR0b25Qb3NpdGlvbkV2ZW50KT1cInBpbGxCdXR0b25Qb3NpdGlvbkV2ZW50LmVtaXQoJGV2ZW50KVwiXG4gIChzY3JvbGxQb3NpdGlvbkV2ZW50KT1cInNjcm9sbFBvc2l0aW9uRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgKHRvZ2dsZUV4cGFuZEV2ZW50KT1cInRvZ2dsZU5vZGVFeHBhbnNpb24oJGV2ZW50KVwiXG4gIChyZW9yZGVySXRlbUV2ZW50KT1cIm9uUmVvcmRlckl0ZW0oJGV2ZW50KVwiXG4gIChzd2l0Y2hDaGFuZ2VFdmVudCk9XCJvblN3aXRjaENoYW5nZSgkZXZlbnQpXCI+XG48L3MtdGFibGUtZG91YmxlPlxuPC9kaXY+XG4iXX0=
272
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZG91YmxlLWNvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL3RhYmxlLWRvdWJsZS1jb21wbGV0ZS90YWJsZS1kb3VibGUtY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtZG91YmxlLWNvbXBsZXRlL3RhYmxlLWRvdWJsZS1jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFrQi9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7QUFVNUUsTUFBTSxPQUFPLDZCQUE2QjtJQVIxQztRQVdZLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQW1DLENBQUM7UUFDbEUsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRCxpQ0FBNEIsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUM1RSwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUNyRSx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2xELHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDakQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQWdD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ekMsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsQ0FBQyxpQkFHNUMsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsTUFBTTtzQkFBZCxLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLDRCQUE0QjtzQkFBckMsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csd0JBQXdCO3NCQUFqQyxNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFFRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIE9uSW5pdCwgc2lnbmFsLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTVGFic01vZHVsZSB9IGZyb20gJy4uL3RhYnMnO1xuaW1wb3J0IHsgU1RhYmxlRG91YmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUtZG91YmxlL3RhYmxlLWRvdWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgU1RhYmxlRG91YmxlQ29tcGxldGVDb25maWcsXG4gIFNUYWJsZURvdWJsZUNvbXBsZXRlVXBkYXRlRXZlbnQsXG4gIFNUYWJsZURvdWJsZUNvbXBsZXRlSXRlbSxcbn0gZnJvbSAnLi90YWJsZS1kb3VibGUtY29tcGxldGUubW9kZWwnO1xuaW1wb3J0IHsgSVRhYiB9IGZyb20gJy4uL3RhYnMvbW9kZWxzJztcbmltcG9ydCB7XG4gIFNUYWJsZURvdWJsZSxcbiAgU1RhYmxlc0RhdGEsXG4gIFNUYWJsZURvdWJsZUl0ZW0sXG4gIFNUYWJsZURvdWJsZUJvb2xlYW5FdmVudCxcbiAgU1RhYmxlRG91YmxlUmVvcmRlckV2ZW50LFxuICBTVGFibGVEb3VibGVTdHJpbmdBcnJheUV2ZW50LFxuICBTVGFibGVEb3VibGVTb3J0RXZlbnQsXG4gIFNUYWJsZURvdWJsZVN0cmluZ0V2ZW50LFxuICBTVGFibGVEb3VibGVTd2l0Y2hFdmVudCxcbn0gZnJvbSAnLi4vdGFibGUtZG91YmxlL3RhYmxlLWRvdWJsZS5tb2RlbCc7XG5pbXBvcnQgeyBTVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS90cmFuc2xhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3MtdGFibGUtZG91YmxlLWNvbXBsZXRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU1RhYnNNb2R1bGUsIFNUYWJsZURvdWJsZUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1kb3VibGUtY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdGFibGUtZG91YmxlLWNvbXBsZXRlLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU1RhYmxlRG91YmxlQ29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjb25maWchOiBTVGFibGVEb3VibGVDb21wbGV0ZUNvbmZpZztcblxuICBAT3V0cHV0KCkgdXBkYXRlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFNUYWJsZURvdWJsZUNvbXBsZXRlVXBkYXRlRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBhY3Rpb25Qb3NpdGlvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgYm90dG9tU3RhdHVzQmFyUG9zaXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8U1RhYmxlRG91YmxlQm9vbGVhbkV2ZW50PigpO1xuICBAT3V0cHV0KCkgY2hlY2tBbGxQb3NpdGlvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxTVGFibGVEb3VibGVCb29sZWFuRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBkZWxldGVQb3NpdGlvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgZW1wdHlQb3NpdGlvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgZmlsdGVyUG9zaXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8U1RhYmxlRG91YmxlU3RyaW5nQXJyYXlFdmVudD4oKTtcbiAgQE91dHB1dCgpIG11bHRpU2VsZWN0UG9zaXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8U1RhYmxlRG91YmxlU3RyaW5nQXJyYXlFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9yZGVyQnlQb3NpdGlvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxTVGFibGVEb3VibGVTb3J0RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBwaWxsQnV0dG9uUG9zaXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHNjcm9sbFBvc2l0aW9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RQb3NpdGlvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxTVGFibGVEb3VibGVTdHJpbmdFdmVudD4oKTtcbiAgaWQhOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBzd2l0Y2hDaGFuZ2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8U1RhYmxlRG91YmxlU3dpdGNoRXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSBhY3RpdmVUYWJLZXkhOiBzdHJpbmc7XG4gIHByaXZhdGUgcmlnaHRUYWJsZVN0YXRlOiBTVGFibGVEb3VibGVDb21wbGV0ZUl0ZW1bXSA9IFtdO1xuICBwcml2YXRlIGV4cGFuZGVkTm9kZXMgPSBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc1RyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoU1RyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIHRhYmxlRG91YmxlQWRhcHRlciE6IFNUYWJsZURvdWJsZTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlkID0gdGhpcy5jb25maWcuaWQgPz8gYHMtdGFibGUtZG91YmxlLWNvbXBsZXRlYDtcbiAgICB0aGlzLnJpZ2h0VGFibGVTdGF0ZSA9IFsuLi4odGhpcy5jb25maWcudGFibGVDb25maWcudGFibGVSaWdodEl0ZW1zID8/IFtdKV07XG5cbiAgICBjb25zdCBzZWxlY3RlZFRhYiA9IHRoaXMuY29uZmlnLnRhYnMuZmluZCh0ID0+IHQuc2VsZWN0ZWQpO1xuICAgIGlmIChzZWxlY3RlZFRhYikge1xuICAgICAgdGhpcy5zZXRBY3RpdmVUYWIoc2VsZWN0ZWRUYWIpO1xuICAgIH1cbiAgfVxuXG4gIG9uVGFiU2VsZWN0KHRhYjogSVRhYik6IHZvaWQge1xuICAgIHRoaXMuc2V0QWN0aXZlVGFiKHRhYik7XG4gIH1cblxuICBwcml2YXRlIHNldEFjdGl2ZVRhYih0YWI6IElUYWIpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZVRhYktleSA9IFN0cmluZyh0YWIudmFsdWUgPz8gdGFiLnRleHQpO1xuXG4gICAgY29uc3QgbGVmdEl0ZW1zID0gdGhpcy5jb25maWcuaXRlbXNCeVRhYlt0aGlzLmFjdGl2ZVRhYktleV0gPz8gW107XG4gICAgY29uc3QgdGFibGVMZWZ0SXRlbXMgPSB0aGlzLm1hcFRvVGFibGVEb3VibGVJdGVtcyhsZWZ0SXRlbXMpO1xuXG4gICAgbGV0IHRhYmxlUmlnaHRJdGVtcyA9IHRoaXMubWFwVG9UYWJsZURvdWJsZUl0ZW1zKHRoaXMucmlnaHRUYWJsZVN0YXRlKTtcblxuICAgIGlmICh0aGlzLmNvbmZpZy50cmVlTW9kZSkge1xuICAgICAgdGFibGVSaWdodEl0ZW1zID0gdGhpcy5mbGF0dGVuVHJlZSh0aGlzLmJ1aWxkVHJlZSh0aGlzLnJpZ2h0VGFibGVTdGF0ZSkpO1xuICAgIH1cblxuICAgIHRoaXMudGFibGVEb3VibGVBZGFwdGVyID0gdGhpcy5idWlsZFRhYmxlRG91YmxlQWRhcHRlcih0YWJsZUxlZnRJdGVtcywgdGFibGVSaWdodEl0ZW1zKTtcbiAgfVxuXG4gIG9uVXBkYXRlVGFibGVzKGV2ZW50OiBTVGFibGVzRGF0YSk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZSaWdodElkcyA9IG5ldyBTZXQodGhpcy5yaWdodFRhYmxlU3RhdGUubWFwKGkgPT4gaS5pZCkpO1xuICAgIGNvbnN0IHNvdXJjZUxlZnQgPSB0aGlzLmNvbmZpZy5pdGVtc0J5VGFiW3RoaXMuYWN0aXZlVGFiS2V5XSA/PyBbXTtcbiAgICBjb25zdCBzZWxlY3RlZFJpZ2h0SXRlbXMgPSBldmVudC50YWJsZVJpZ2h0SXRlbXMuZmlsdGVyKGkgPT4gaS5zZWxlY3RlZCk7XG4gICAgY29uc3QgcGFyZW50SWQgPSB0aGlzLmNvbmZpZy50cmVlTW9kZSAmJiBzZWxlY3RlZFJpZ2h0SXRlbXMubGVuZ3RoID09PSAxID8gc2VsZWN0ZWRSaWdodEl0ZW1zWzBdLmlkIDogbnVsbDtcblxuICAgIGNvbnN0IG5leHRSaWdodDogU1RhYmxlRG91YmxlQ29tcGxldGVJdGVtW10gPSBldmVudC50YWJsZVJpZ2h0SXRlbXMubWFwKGl0ZW0gPT4ge1xuICAgICAgY29uc3QgcHJldiA9IHRoaXMucmlnaHRUYWJsZVN0YXRlLmZpbmQociA9PiByLmlkID09PSBpdGVtLmlkKTtcbiAgICAgIGNvbnN0IGZyb21MZWZ0ID0gc291cmNlTGVmdC5maW5kKGwgPT4gbC5pZCA9PT0gaXRlbS5pZCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi4ocHJldiA/PyBmcm9tTGVmdCA/PyB7fSksXG4gICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICAgIGNoZWNrZWQ6ICEhaXRlbS5jaGVja2VkLFxuICAgICAgICBwYXJlbnRJZDogcHJldj8ucGFyZW50SWQgPz8gbnVsbCxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCBhZGRlZEl0ZW1zID0gbmV4dFJpZ2h0LmZpbHRlcihpID0+ICFwcmV2UmlnaHRJZHMuaGFzKGkuaWQpKTtcblxuICAgIGlmICh0aGlzLmNvbmZpZy50cmVlTW9kZSAmJiBwYXJlbnRJZCkge1xuICAgICAgYWRkZWRJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBpdGVtLnBhcmVudElkID0gcGFyZW50SWQ7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnJpZ2h0VGFibGVTdGF0ZSA9IG5leHRSaWdodDtcbiAgICB0aGlzLnJlc2V0U2VsZWN0aW9ucygpO1xuICAgIHRoaXMucmVmcmVzaFRhYmxlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoVGFibGVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGxlZnRJdGVtcyA9IHRoaXMuY29uZmlnLml0ZW1zQnlUYWJbdGhpcy5hY3RpdmVUYWJLZXldID8/IFtdO1xuICAgIGNvbnN0IHRhYmxlTGVmdEl0ZW1zID0gdGhpcy5tYXBUb1RhYmxlRG91YmxlSXRlbXMobGVmdEl0ZW1zKTtcblxuICAgIGxldCB0YWJsZVJpZ2h0SXRlbXMgPSB0aGlzLm1hcFRvVGFibGVEb3VibGVJdGVtcyh0aGlzLnJpZ2h0VGFibGVTdGF0ZSk7XG5cbiAgICBpZiAodGhpcy5jb25maWcudHJlZU1vZGUpIHtcbiAgICAgIHRhYmxlUmlnaHRJdGVtcyA9IHRoaXMuZmxhdHRlblRyZWUodGhpcy5idWlsZFRyZWUodGhpcy5yaWdodFRhYmxlU3RhdGUpKTtcbiAgICAgIHRhYmxlTGVmdEl0ZW1zO1xuICAgIH1cblxuICAgIHRoaXMudGFibGVEb3VibGVBZGFwdGVyID0gdGhpcy5idWlsZFRhYmxlRG91YmxlQWRhcHRlcih0YWJsZUxlZnRJdGVtcywgdGFibGVSaWdodEl0ZW1zKTtcblxuICAgIHRoaXMudXBkYXRlRXZlbnQuZW1pdCh7XG4gICAgICB0YWJLZXk6IHRoaXMuYWN0aXZlVGFiS2V5LFxuICAgICAgdGFibGVMZWZ0SXRlbXMsXG4gICAgICB0YWJsZVJpZ2h0SXRlbXMsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkVGFibGVEb3VibGVBZGFwdGVyKGxlZnRJdGVtczogU1RhYmxlRG91YmxlSXRlbVtdLCByaWdodEl0ZW1zOiBTVGFibGVEb3VibGVJdGVtW10pOiBTVGFibGVEb3VibGUge1xuICAgIGNvbnN0IHJpZ2h0Q29sdW1ucyA9IFsuLi50aGlzLmNvbmZpZy50YWJsZUNvbmZpZy50YWJsZVJpZ2h0Q29uZmlnLmNvbHVtbnNdO1xuICAgIGlmICh0aGlzLmNvbmZpZy5zaG93T3JkZXJCdXR0b25zICYmICFyaWdodENvbHVtbnMuc29tZShjID0+IGMuaWQgPT09ICdhY3Rpb25zJykpIHtcbiAgICAgIHJpZ2h0Q29sdW1ucy5wdXNoKHsgaWQ6ICdhY3Rpb25zJywgdGl0bGU6IHRoaXMuX3NUcmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3VpLmdlbmVyaWMuYWN0aW9ucycpIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhZGRpdGlvbkJ1dHRvbjogdHJ1ZSxcbiAgICAgIGlzVHJlZU1vZGU6ICEhdGhpcy5jb25maWcudHJlZU1vZGUsXG4gICAgICBzaG93T3JkZXJCdXR0b25zOiAhIXRoaXMuY29uZmlnLnNob3dPcmRlckJ1dHRvbnMsXG4gICAgICBkaXNhYmxlTGVmdFJvd1NlbGVjdGlvbjogdHJ1ZSxcbiAgICAgIHRhYmxlTGVmdENvbmZpZzoge1xuICAgICAgICAuLi50aGlzLmNvbmZpZy50YWJsZUNvbmZpZy50YWJsZUxlZnRDb25maWcsXG4gICAgICAgIHRvdGFsSXRlbXM6IGxlZnRJdGVtcy5sZW5ndGgsXG4gICAgICAgIGlzVHJlZU1vZGU6IGZhbHNlLFxuICAgICAgICBjb25maWdCb3R0b21TdGF0dXNCYXI6IHNpZ25hbCh7XG4gICAgICAgICAgY291bnRlcjogbGVmdEl0ZW1zLmZpbHRlcihpID0+IGkuY2hlY2tlZCkubGVuZ3RoLFxuICAgICAgICAgIHRvdGFsOiBsZWZ0SXRlbXMubGVuZ3RoLFxuICAgICAgICAgIGRpc2FibGVkOiBsZWZ0SXRlbXMubGVuZ3RoID09PSAwLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgICB0YWJsZVJpZ2h0Q29uZmlnOiB7XG4gICAgICAgIC4uLnRoaXMuY29uZmlnLnRhYmxlQ29uZmlnLnRhYmxlUmlnaHRDb25maWcsXG4gICAgICAgIGNvbHVtbnM6IHJpZ2h0Q29sdW1ucyxcbiAgICAgICAgdG90YWxJdGVtczogcmlnaHRJdGVtcy5sZW5ndGgsXG4gICAgICAgIGlzVHJlZU1vZGU6ICEhdGhpcy5jb25maWcudHJlZU1vZGUsXG4gICAgICAgIGNvbmZpZ0JvdHRvbVN0YXR1c0Jhcjogc2lnbmFsKHtcbiAgICAgICAgICBjb3VudGVyOiByaWdodEl0ZW1zLmZpbHRlcihpID0+IGkuY2hlY2tlZCkubGVuZ3RoLFxuICAgICAgICAgIHRvdGFsOiByaWdodEl0ZW1zLmxlbmd0aCxcbiAgICAgICAgICBkaXNhYmxlZDogcmlnaHRJdGVtcy5sZW5ndGggPT09IDAsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICAgIHRhYmxlTGVmdEl0ZW1zOiBsZWZ0SXRlbXMsXG4gICAgICB0YWJsZVJpZ2h0SXRlbXM6IHJpZ2h0SXRlbXMsXG4gICAgICBpZDogdGhpcy5pZCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBUb1RhYmxlRG91YmxlSXRlbXMoaXRlbXM6IFNUYWJsZURvdWJsZUNvbXBsZXRlSXRlbVtdKTogU1RhYmxlRG91YmxlSXRlbVtdIHtcbiAgICByZXR1cm4gaXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4gKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBuYW1lOiBpdGVtLm5hbWUgPz8gJycsXG4gICAgICBjaGVja2VkOiBpdGVtLmNoZWNrZWQgPz8gZmFsc2UsXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFRyZWUoaXRlbXM6IFNUYWJsZURvdWJsZUNvbXBsZXRlSXRlbVtdKTogU1RhYmxlRG91YmxlQ29tcGxldGVJdGVtW10ge1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBTVGFibGVEb3VibGVDb21wbGV0ZUl0ZW0gJiB7IGNoaWxkcmVuOiBTVGFibGVEb3VibGVDb21wbGV0ZUl0ZW1bXSB9PigpO1xuICAgIGNvbnN0IHJvb3RzOiBTVGFibGVEb3VibGVDb21wbGV0ZUl0ZW1bXSA9IFtdO1xuXG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIG1hcC5zZXQoaXRlbS5pZCwgeyAuLi5pdGVtLCBjaGlsZHJlbjogW10gfSk7XG4gICAgfSk7XG5cbiAgICBtYXAuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmIChpdGVtLnBhcmVudElkKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IG1hcC5nZXQoaXRlbS5wYXJlbnRJZCk7XG4gICAgICAgIGlmIChwYXJlbnQpIHBhcmVudC5jaGlsZHJlbi5wdXNoKGl0ZW0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcm9vdHMucHVzaChpdGVtKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiByb290cztcbiAgfVxuXG4gIHByaXZhdGUgZmxhdHRlblRyZWUobm9kZXM6IFNUYWJsZURvdWJsZUNvbXBsZXRlSXRlbVtdLCBsZXZlbDogbnVtYmVyID0gMCk6IFNUYWJsZURvdWJsZUl0ZW1bXSB7XG4gICAgbGV0IHJlc3VsdDogU1RhYmxlRG91YmxlSXRlbVtdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBub2RlID0gbm9kZXNbaV07XG4gICAgICBjb25zdCBoYXNDaGlsZHJlbiA9ICEhbm9kZS5jaGlsZHJlbj8ubGVuZ3RoO1xuICAgICAgY29uc3QgaXNFeHBhbmRlZCA9IHRoaXMuZXhwYW5kZWROb2Rlcy5nZXQobm9kZS5pZCkgPz8gdHJ1ZTtcblxuICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAuLi5ub2RlLFxuICAgICAgICBuYW1lOiBub2RlLm5hbWUgPz8gJycsXG4gICAgICAgIGNoZWNrZWQ6ICEhbm9kZS5jaGVja2VkLFxuICAgICAgICBwYXJlbnRJZDogbm9kZS5wYXJlbnRJZCA/PyBudWxsLFxuICAgICAgICBsZXZlbDogbGV2ZWwsXG4gICAgICAgIGV4cGFuZGVkOiBpc0V4cGFuZGVkLFxuICAgICAgICBoYXNDaGlsZHJlbjogaGFzQ2hpbGRyZW4sXG4gICAgICB9IGFzIFNUYWJsZURvdWJsZUl0ZW0pO1xuXG4gICAgICBpZiAoaGFzQ2hpbGRyZW4gJiYgaXNFeHBhbmRlZCAmJiBub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQodGhpcy5mbGF0dGVuVHJlZShub2RlLmNoaWxkcmVuLCBsZXZlbCArIDEpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRTZWxlY3Rpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGxlZnRJdGVtcyA9IHRoaXMuY29uZmlnLml0ZW1zQnlUYWJbdGhpcy5hY3RpdmVUYWJLZXldID8/IFtdO1xuICAgIGxlZnRJdGVtcy5mb3JFYWNoKGkgPT4ge1xuICAgICAgaS5jaGVja2VkID0gZmFsc2U7XG4gICAgICBpLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgfSk7XG4gICAgdGhpcy5yaWdodFRhYmxlU3RhdGUuZm9yRWFjaChpID0+IHtcbiAgICAgIGkuY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgaS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgb25Td2l0Y2hDaGFuZ2UoZXZlbnQ6IFNUYWJsZURvdWJsZVN3aXRjaEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmlzTGVmdFRhYmxlKSB7XG4gICAgICBjb25zdCBsZWZ0SXRlbXMgPSB0aGlzLmNvbmZpZy5pdGVtc0J5VGFiW3RoaXMuYWN0aXZlVGFiS2V5XSA/PyBbXTtcbiAgICAgIGNvbnN0IGl0ZW0gPSBsZWZ0SXRlbXMuZmluZChpID0+IGkuaWQgPT09IGV2ZW50Lml0ZW1JZCk7XG4gICAgICBpZiAoaXRlbSkgaXRlbVtldmVudC5jb2x1bW5JZF0gPSBldmVudC52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaXRlbSA9IHRoaXMucmlnaHRUYWJsZVN0YXRlLmZpbmQoaSA9PiBpLmlkID09PSBldmVudC5pdGVtSWQpO1xuICAgICAgaWYgKGl0ZW0pIGl0ZW1bZXZlbnQuY29sdW1uSWRdID0gZXZlbnQudmFsdWU7XG4gICAgfVxuICAgIHRoaXMuc3dpdGNoQ2hhbmdlRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICB0b2dnbGVOb2RlRXhwYW5zaW9uKG5vZGVJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5leHBhbmRlZE5vZGVzLmdldChub2RlSWQpID8/IHRydWU7XG4gICAgdGhpcy5leHBhbmRlZE5vZGVzLnNldChub2RlSWQsICFjdXJyZW50U3RhdGUpO1xuICAgIHRoaXMucmVmcmVzaFRhYmxlcygpO1xuICB9XG5cbiAgb25SZW9yZGVySXRlbShldmVudDogU1RhYmxlRG91YmxlUmVvcmRlckV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgeyBpdGVtSWQsIGRpcmVjdGlvbiB9ID0gZXZlbnQ7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMucmlnaHRUYWJsZVN0YXRlLmZpbmQoaSA9PiBpLmlkID09PSBpdGVtSWQpO1xuICAgIGlmICghaXRlbSkgcmV0dXJuO1xuXG4gICAgY29uc3QgcGFyZW50SWQgPSBpdGVtLnBhcmVudElkID8/IG51bGw7XG4gICAgY29uc3Qgc2libGluZ3MgPSB0aGlzLnJpZ2h0VGFibGVTdGF0ZS5maWx0ZXIoaSA9PiAoaS5wYXJlbnRJZCA/PyBudWxsKSA9PT0gcGFyZW50SWQpO1xuICAgIGNvbnN0IHNpYmxpbmdJbmRleCA9IHNpYmxpbmdzLmZpbmRJbmRleChpID0+IGkuaWQgPT09IGl0ZW1JZCk7XG4gICAgaWYgKHNpYmxpbmdJbmRleCA9PT0gLTEpIHJldHVybjtcblxuICAgIGxldCB0YXJnZXRJbmRleDogbnVtYmVyO1xuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICd0b3AnOlxuICAgICAgICB0YXJnZXRJbmRleCA9IDA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndXAnOlxuICAgICAgICB0YXJnZXRJbmRleCA9IHNpYmxpbmdJbmRleCAtIDE7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZG93bic6XG4gICAgICAgIHRhcmdldEluZGV4ID0gc2libGluZ0luZGV4ICsgMTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICB0YXJnZXRJbmRleCA9IHNpYmxpbmdzLmxlbmd0aCAtIDE7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0YXJnZXRJbmRleCA8IDAgfHwgdGFyZ2V0SW5kZXggPj0gc2libGluZ3MubGVuZ3RoIHx8IHRhcmdldEluZGV4ID09PSBzaWJsaW5nSW5kZXgpIHJldHVybjtcblxuICAgIHNpYmxpbmdzLnNwbGljZShzaWJsaW5nSW5kZXgsIDEpO1xuICAgIHNpYmxpbmdzLnNwbGljZSh0YXJnZXRJbmRleCwgMCwgaXRlbSk7XG5cbiAgICB0aGlzLnJpZ2h0VGFibGVTdGF0ZSA9IHRoaXMucmlnaHRUYWJsZVN0YXRlLmZpbHRlcihpID0+IChpLnBhcmVudElkID8/IG51bGwpICE9PSBwYXJlbnRJZCk7XG4gICAgY29uc3QgaW5zZXJ0UmVmID0gcGFyZW50SWQgPyB0aGlzLnJpZ2h0VGFibGVTdGF0ZS5maW5kSW5kZXgoaSA9PiBpLmlkID09PSBwYXJlbnRJZCkgKyAxIDogMDtcbiAgICB0aGlzLnJpZ2h0VGFibGVTdGF0ZS5zcGxpY2UoaW5zZXJ0UmVmLCAwLCAuLi5zaWJsaW5ncyk7XG5cbiAgICB0aGlzLnJlZnJlc2hUYWJsZXMoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInMtdGFibGUtZG91YmxlLWNvbXBsZXRlXCIgW2lkXT1cImlkXCI+XG4gIDxzLXRhYnMgW3RhYnNdPVwiY29uZmlnLnRhYnNcIiBbY29uZmlnVGFic109XCJjb25maWcuY29uZmlnVGFic1wiIChldmVudFNlbGVjdCk9XCJvblRhYlNlbGVjdCgkZXZlbnQpXCI+IDwvcy10YWJzPlxuXG4gIDxzLXRhYmxlLWRvdWJsZVxuICAgIFtjb25maWddPVwidGFibGVEb3VibGVBZGFwdGVyXCJcbiAgICAoZXZlbnRVcGRhdGVUYWJsZXMpPVwib25VcGRhdGVUYWJsZXMoJGV2ZW50KVwiXG4gICAgKGFjdGlvblBvc2l0aW9uRXZlbnQpPVwiYWN0aW9uUG9zaXRpb25FdmVudC5lbWl0KCRldmVudClcIlxuICAgIChib3R0b21TdGF0dXNCYXJQb3NpdGlvbkV2ZW50KT1cImJvdHRvbVN0YXR1c0JhclBvc2l0aW9uRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgICAoY2hlY2tBbGxQb3NpdGlvbkV2ZW50KT1cImNoZWNrQWxsUG9zaXRpb25FdmVudC5lbWl0KCRldmVudClcIlxuICAgIChkZWxldGVQb3NpdGlvbkV2ZW50KT1cImRlbGV0ZVBvc2l0aW9uRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgICAoZW1wdHlQb3NpdGlvbkV2ZW50KT1cImVtcHR5UG9zaXRpb25FdmVudC5lbWl0KCRldmVudClcIlxuICAgIChmaWx0ZXJQb3NpdGlvbkV2ZW50KT1cImZpbHRlclBvc2l0aW9uRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgICAobXVsdGlTZWxlY3RQb3NpdGlvbkV2ZW50KT1cIm11bHRpU2VsZWN0UG9zaXRpb25FdmVudC5lbWl0KCRldmVudClcIlxuICAgIChvcmRlckJ5UG9zaXRpb25FdmVudCk9XCJvcmRlckJ5UG9zaXRpb25FdmVudC5lbWl0KCRldmVudClcIlxuICAgIChwaWxsQnV0dG9uUG9zaXRpb25FdmVudCk9XCJwaWxsQnV0dG9uUG9zaXRpb25FdmVudC5lbWl0KCRldmVudClcIlxuICAgIChzY3JvbGxQb3NpdGlvbkV2ZW50KT1cInNjcm9sbFBvc2l0aW9uRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgICAodG9nZ2xlRXhwYW5kRXZlbnQpPVwidG9nZ2xlTm9kZUV4cGFuc2lvbigkZXZlbnQpXCJcbiAgICAocmVvcmRlckl0ZW1FdmVudCk9XCJvblJlb3JkZXJJdGVtKCRldmVudClcIlxuICAgIChzd2l0Y2hDaGFuZ2VFdmVudCk9XCJvblN3aXRjaENoYW5nZSgkZXZlbnQpXCI+XG4gIDwvcy10YWJsZS1kb3VibGU+XG48L2Rpdj5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZG91YmxlLWNvbXBsZXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtZG91YmxlLWNvbXBsZXRlL3RhYmxlLWRvdWJsZS1jb21wbGV0ZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRhYiwgSUNvbmZpZ1RhYnMgfSBmcm9tICcuLi90YWJzL21vZGVscyc7XG5pbXBvcnQgeyBTb3J0VGFibGUsIFNUYWJsZUNvbXBsZXRlLCBTVGFibGVzRGF0YSB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgU1RhYmxlRG91YmxlU3dpdGNoRXZlbnQgfSBmcm9tICcuLi90YWJsZS1kb3VibGUvdGFibGUtZG91YmxlLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBTVGFibGVEb3VibGVDb21wbGV0ZUl0ZW0ge1xuICBpZDogc3RyaW5nO1xuICBzZWxlY3RlZENoZWNrYm94PzogYm9vbGVhbjtcbiAgbmFtZT86IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogYW55O1xuICBwYXJlbnRJZD86IHN0cmluZyB8IG51bGw7XG4gIGNoaWxkcmVuPzogU1RhYmxlRG91YmxlQ29tcGxldGVJdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU1RhYmxlRG91YmxlQ29tcGxldGVUYWJsZSB7XG4gIHRhYmxlTGVmdENvbmZpZzogU1RhYmxlQ29tcGxldGU7XG4gIHRhYmxlUmlnaHRDb25maWc6IFNUYWJsZUNvbXBsZXRlO1xuICB0YWJsZUxlZnRJdGVtczogU1RhYmxlRG91YmxlQ29tcGxldGVJdGVtW107XG4gIHRhYmxlUmlnaHRJdGVtczogU1RhYmxlRG91YmxlQ29tcGxldGVJdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU1RhYmxlRG91YmxlQ29tcGxldGVDb25maWcge1xuICB0YWJzOiBJVGFiW107XG4gIGNvbmZpZ1RhYnM/OiBJQ29uZmlnVGFicztcbiAgdGFibGVDb25maWc6IFNUYWJsZURvdWJsZUNvbXBsZXRlVGFibGU7XG4gIGl0ZW1zQnlUYWI6IFJlY29yZDxzdHJpbmcsIFNUYWJsZURvdWJsZUNvbXBsZXRlSXRlbVtdPjtcbiAgdHJlZU1vZGU/OiBib29sZWFuO1xuICBzaG93T3JkZXJCdXR0b25zPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgU1RhYmxlc0RvdWJsZUNvbXBsZXRlRGF0YSA9IFNUYWJsZXNEYXRhO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNUYWJsZURvdWJsZUNvbXBsZXRlVXBkYXRlRXZlbnRcbiAgZXh0ZW5kcyBTVGFibGVzRGF0YSB7XG4gIHRhYktleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNUYWJsZURvdWJsZUNvbXBsZXRlRXZlbnQ8VD4ge1xuICBpc0xlZnRUYWJsZTogYm9vbGVhbjtcbiAgdmFsdWU6IFQ7XG59XG5cbmV4cG9ydCB0eXBlIFNUYWJsZURvdWJsZUNvbXBsZXRlQm9vbGVhbkV2ZW50ID1cbiAgU1RhYmxlRG91YmxlQ29tcGxldGVFdmVudDxib29sZWFuPjtcblxuZXhwb3J0IHR5cGUgU1RhYmxlRG91YmxlQ29tcGxldGVTdHJpbmdFdmVudCA9XG4gIFNUYWJsZURvdWJsZUNvbXBsZXRlRXZlbnQ8c3RyaW5nPjtcblxuZXhwb3J0IHR5cGUgU1RhYmxlRG91YmxlQ29tcGxldGVTdHJpbmdBcnJheUV2ZW50ID1cbiAgU1RhYmxlRG91YmxlQ29tcGxldGVFdmVudDxzdHJpbmdbXT47XG5cbmV4cG9ydCB0eXBlIFNUYWJsZURvdWJsZUNvbXBsZXRlTnVtYmVyRXZlbnQgPVxuICBTVGFibGVEb3VibGVDb21wbGV0ZUV2ZW50PG51bWJlcj47XG5cbmV4cG9ydCB0eXBlIFNUYWJsZURvdWJsZUNvbXBsZXRlU29ydEV2ZW50ID1cbiAgU1RhYmxlRG91YmxlQ29tcGxldGVFdmVudDxTb3J0VGFibGU+O1xuXG5leHBvcnQgdHlwZSBTVGFibGVEb3VibGVDb21wbGV0ZVN3aXRjaEV2ZW50ID0gU1RhYmxlRG91YmxlU3dpdGNoRXZlbnQ7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZG91YmxlLWNvbXBsZXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtZG91YmxlLWNvbXBsZXRlL3RhYmxlLWRvdWJsZS1jb21wbGV0ZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRhYiwgSUNvbmZpZ1RhYnMgfSBmcm9tICcuLi90YWJzL21vZGVscyc7XG5pbXBvcnQgeyBTb3J0VGFibGUsIFNUYWJsZUNvbXBsZXRlLCBTVGFibGVzRGF0YSB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgU1RhYmxlRG91YmxlU3dpdGNoRXZlbnQgfSBmcm9tICcuLi90YWJsZS1kb3VibGUvdGFibGUtZG91YmxlLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBTVGFibGVEb3VibGVDb21wbGV0ZUl0ZW0ge1xuICBpZDogc3RyaW5nO1xuICBzZWxlY3RlZENoZWNrYm94PzogYm9vbGVhbjtcbiAgbmFtZT86IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogYW55O1xuICBwYXJlbnRJZD86IHN0cmluZyB8IG51bGw7XG4gIGNoaWxkcmVuPzogU1RhYmxlRG91YmxlQ29tcGxldGVJdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU1RhYmxlRG91YmxlQ29tcGxldGVUYWJsZSB7XG4gIHRhYmxlTGVmdENvbmZpZzogU1RhYmxlQ29tcGxldGU7XG4gIHRhYmxlUmlnaHRDb25maWc6IFNUYWJsZUNvbXBsZXRlO1xuICB0YWJsZUxlZnRJdGVtczogU1RhYmxlRG91YmxlQ29tcGxldGVJdGVtW107XG4gIHRhYmxlUmlnaHRJdGVtczogU1RhYmxlRG91YmxlQ29tcGxldGVJdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU1RhYmxlRG91YmxlQ29tcGxldGVDb25maWcge1xuICB0YWJzOiBJVGFiW107XG4gIGNvbmZpZ1RhYnM/OiBJQ29uZmlnVGFicztcbiAgdGFibGVDb25maWc6IFNUYWJsZURvdWJsZUNvbXBsZXRlVGFibGU7XG4gIGlkPzogc3RyaW5nO1xuICBpdGVtc0J5VGFiOiBSZWNvcmQ8c3RyaW5nLCBTVGFibGVEb3VibGVDb21wbGV0ZUl0ZW1bXT47XG4gIHRyZWVNb2RlPzogYm9vbGVhbjtcbiAgc2hvd09yZGVyQnV0dG9ucz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIFNUYWJsZXNEb3VibGVDb21wbGV0ZURhdGEgPSBTVGFibGVzRGF0YTtcblxuZXhwb3J0IGludGVyZmFjZSBTVGFibGVEb3VibGVDb21wbGV0ZVVwZGF0ZUV2ZW50IGV4dGVuZHMgU1RhYmxlc0RhdGEge1xuICB0YWJLZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTVGFibGVEb3VibGVDb21wbGV0ZUV2ZW50PFQ+IHtcbiAgaXNMZWZ0VGFibGU6IGJvb2xlYW47XG4gIHZhbHVlOiBUO1xufVxuXG5leHBvcnQgdHlwZSBTVGFibGVEb3VibGVDb21wbGV0ZUJvb2xlYW5FdmVudCA9IFNUYWJsZURvdWJsZUNvbXBsZXRlRXZlbnQ8Ym9vbGVhbj47XG5cbmV4cG9ydCB0eXBlIFNUYWJsZURvdWJsZUNvbXBsZXRlU3RyaW5nRXZlbnQgPSBTVGFibGVEb3VibGVDb21wbGV0ZUV2ZW50PHN0cmluZz47XG5cbmV4cG9ydCB0eXBlIFNUYWJsZURvdWJsZUNvbXBsZXRlU3RyaW5nQXJyYXlFdmVudCA9IFNUYWJsZURvdWJsZUNvbXBsZXRlRXZlbnQ8c3RyaW5nW10+O1xuXG5leHBvcnQgdHlwZSBTVGFibGVEb3VibGVDb21wbGV0ZU51bWJlckV2ZW50ID0gU1RhYmxlRG91YmxlQ29tcGxldGVFdmVudDxudW1iZXI+O1xuXG5leHBvcnQgdHlwZSBTVGFibGVEb3VibGVDb21wbGV0ZVNvcnRFdmVudCA9IFNUYWJsZURvdWJsZUNvbXBsZXRlRXZlbnQ8U29ydFRhYmxlPjtcblxuZXhwb3J0IHR5cGUgU1RhYmxlRG91YmxlQ29tcGxldGVTd2l0Y2hFdmVudCA9IFNUYWJsZURvdWJsZVN3aXRjaEV2ZW50O1xuIl19
@@ -9,6 +9,7 @@ export class STabletComponent {
9
9
  constructor() {
10
10
  this.loading = false;
11
11
  this.isTreeMode = false;
12
+ this.id = 's-tablet';
12
13
  this.loadingScroll = input(false);
13
14
  this.updateDataEvent = new EventEmitter();
14
15
  this.ordenByEvent = new EventEmitter();
@@ -53,11 +54,11 @@ export class STabletComponent {
53
54
  }
54
55
  }
55
56
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: STabletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: STabletComponent, selector: "s-tablet", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, caption: { classPropertyName: "caption", publicName: "caption", isSignal: false, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: false, isRequired: false, transformFunction: null }, bodyloading: { classPropertyName: "bodyloading", publicName: "bodyloading", isSignal: false, isRequired: false, transformFunction: null }, body: { classPropertyName: "body", publicName: "body", isSignal: false, isRequired: false, transformFunction: null }, configColumn: { classPropertyName: "configColumn", publicName: "configColumn", isSignal: false, isRequired: false, transformFunction: null }, isTreeMode: { classPropertyName: "isTreeMode", publicName: "isTreeMode", isSignal: false, isRequired: false, transformFunction: null }, loadingScroll: { classPropertyName: "loadingScroll", publicName: "loadingScroll", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { updateDataEvent: "updateDataEvent", ordenByEvent: "ordenByEvent", checkAllEvent: "checkAllEvent", scrollEvent: "scrollEvent" }, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"caption\"></ng-container>\n<div class=\"pre-s-tablet s-scroll\" (scroll)=\"onScroll($event)\">\n <table class=\"s-tablet\">\n <thead>\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n <tr *ngIf=\"configColumn && configColumn.length > 0 && !loading\">\n <th\n *ngFor=\"let column of configColumn\"\n [width]=\"column.width\"\n tabindex=\"0\"\n (keydown.enter)=\"orderBy(column)\"\n (click)=\"orderBy(column)\">\n <div\n class=\"s-tablet__header\"\n [ngClass]=\"{\n 's-tablet__header--align-center': column.align === 'center',\n 's-tablet__header--align-right': column.align === 'right',\n 's-tablet__header--align-left': column.align === 'left' || !column.align,\n cursor: column.sortable !== false,\n 's-tablet__disabled': loading,\n }\">\n <ng-container *ngIf=\"column.checkbox\">\n <span *ngIf=\"isTreeMode\" class=\"s-table-double__tree-spacer\"></span>\n <s-checkbox\n [ngClass]=\"{ 'mr-2': column.title }\"\n [config]=\"checkboxConfig\"\n [(ngModel)]=\"column.checkboxValue\"\n (ngModelChange)=\"checkAll($event)\">\n </s-checkbox>\n </ng-container>\n <div\n class=\"s-tablet__header__label\"\n [ngClass]=\"{\n 's-tablet__header__select': fieldSelect && fieldSelect.SortField === column.id,\n }\">\n {{ column.title }}\n </div>\n <span *ngIf=\"fieldSelect && fieldSelect.SortField === column.id\" class=\"s-tablet__header__icon\">\n <s-icon-mat [type]=\"'symbol'\" size=\"sm\" class=\"icon cursor\">{{\n fieldSelect.SortAsc ? 'keyboard_arrow_up' : 'keyboard_arrow_down'\n }}</s-icon-mat>\n </span>\n <span\n *ngIf=\"column.sortable !== false && column.title && fieldSelect && fieldSelect.SortField !== column.id\">\n <s-icon-mat [type]=\"'symbol'\" size=\"sm\" class=\"icon cursor\" class=\"s-tablet__header__icon--standard\"\n >keyboard_arrow_down</s-icon-mat\n >\n </span>\n <span\n *ngIf=\"!fieldSelect && column.sortable !== false && column.title\"\n class=\"s-tablet__header__icon--standard\">\n <s-icon-mat [type]=\"'symbol'\" size=\"sm\" class=\"icon cursor\" class=\"s-tablet__header__icon--standard\"\n >keyboard_arrow_down</s-icon-mat\n >\n </span>\n </div>\n </th>\n </tr>\n </thead>\n <tbody [ngClass]=\"loading ? 's-tablet__empty' : 's-tablet__body'\">\n <ng-container *ngIf=\"loading; else body\">\n <ng-template #body>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #loading *ngTemplateOutlet=\"bodyloading\"></ng-template>\n </ng-container>\n </tbody>\n @if (loadingScroll()) {\n <tbody class=\"s-tablet__body\">\n <tr>\n <td [attr.colspan]=\"configColumn.length || 1\" class=\"s-table-complete__loading\">\n <s-spinner size=\"sm\"></s-spinner>\n </td>\n </tr>\n </tbody>\n }\n </table>\n</div>\n", styles: [".pre-s-tablet{max-width:100%;overflow-x:auto}.pre-s-tablet .s-tablet{background-color:var(--primary-100);border-collapse:collapse;width:100%}.pre-s-tablet .s-tablet thead{background-color:var(--neutrals-1200);font-weight:700}.pre-s-tablet .s-tablet thead th{vertical-align:middle;color:var(--secondary-600);font-size:.875rem;line-height:1.375rem;letter-spacing:.016rem;font-weight:700!important;text-align:left}.pre-s-tablet .s-tablet thead th:last-of-type{text-align:center}.pre-s-tablet .s-tablet__body{background-color:var(--neutrals-1200);color:var(--secondary-600)}.pre-s-tablet .s-tablet__disabled{color:var(--neutrals-700);pointer-events:none}.pre-s-tablet .s-tablet__empty{display:table-caption;caption-side:bottom;width:100%}.pre-s-tablet .s-tablet tbody tr td,.pre-s-tablet .s-tablet thead tr th{padding:.875rem;height:3.5rem;vertical-align:middle;font-size:.875rem}.pre-s-tablet .s-tablet th,.pre-s-tablet .s-tablet td{box-sizing:border-box;border:none;box-shadow:inset 0 -.063rem 0 var(--neutrals-900)}.pre-s-tablet .s-tablet td,.pre-s-tablet .s-tablet thead tr{height:3.5rem}.pre-s-tablet .s-tablet thead tr th{position:sticky;top:0;background-color:var(--neutrals-1200)}.pre-s-tablet .s-tablet__header{display:flex;gap:.5rem;align-items:center}.pre-s-tablet .s-tablet__header__icon{color:var(--primary-600)}.pre-s-tablet .s-tablet__header__icon--standard .s-icon-mat span{color:var(--neutrals-800)}.pre-s-tablet .s-tablet__header--align-left{justify-content:flex-start}.pre-s-tablet .s-tablet__header--align-center{justify-content:center}.pre-s-tablet .s-tablet__header--align-right{justify-content:flex-end}.pre-s-tablet .s-tablet__header__label{color:var(--secondary-500);font-weight:600}.pre-s-tablet .s-tablet__header__select{color:var(--secondary-600);font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "style", "type"] }, { kind: "component", type: i3.SCheckboxComponent, selector: "s-checkbox", inputs: ["config"], outputs: ["blur", "focus"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.SSpinnerComponent, selector: "s-spinner", inputs: ["size", "animation"] }], encapsulation: i0.ViewEncapsulation.None }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: STabletComponent, selector: "s-tablet", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, caption: { classPropertyName: "caption", publicName: "caption", isSignal: false, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: false, isRequired: false, transformFunction: null }, bodyloading: { classPropertyName: "bodyloading", publicName: "bodyloading", isSignal: false, isRequired: false, transformFunction: null }, body: { classPropertyName: "body", publicName: "body", isSignal: false, isRequired: false, transformFunction: null }, configColumn: { classPropertyName: "configColumn", publicName: "configColumn", isSignal: false, isRequired: false, transformFunction: null }, isTreeMode: { classPropertyName: "isTreeMode", publicName: "isTreeMode", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, loadingScroll: { classPropertyName: "loadingScroll", publicName: "loadingScroll", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { updateDataEvent: "updateDataEvent", ordenByEvent: "ordenByEvent", checkAllEvent: "checkAllEvent", scrollEvent: "scrollEvent" }, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"caption\"></ng-container>\n<div class=\"pre-s-tablet s-scroll\" (scroll)=\"onScroll($event)\">\n <table class=\"s-tablet\" [id]=\"id\">\n <thead>\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n <tr *ngIf=\"configColumn && configColumn.length > 0 && !loading\">\n <th\n *ngFor=\"let column of configColumn\"\n [width]=\"column.width\"\n tabindex=\"0\"\n (keydown.enter)=\"orderBy(column)\"\n (click)=\"orderBy(column)\">\n <div\n class=\"s-tablet__header\"\n [ngClass]=\"{\n 's-tablet__header--align-center': column.align === 'center',\n 's-tablet__header--align-right': column.align === 'right',\n 's-tablet__header--align-left': column.align === 'left' || !column.align,\n cursor: column.sortable !== false,\n 's-tablet__disabled': loading,\n }\">\n <ng-container *ngIf=\"column.checkbox\">\n <span *ngIf=\"isTreeMode\" class=\"s-table-double__tree-spacer\"></span>\n <s-checkbox\n [ngClass]=\"{ 'mr-2': column.title }\"\n [config]=\"checkboxConfig\"\n [(ngModel)]=\"column.checkboxValue\"\n (ngModelChange)=\"checkAll($event)\">\n </s-checkbox>\n </ng-container>\n <div\n class=\"s-tablet__header__label\"\n [id]=\"id + '-column-' + column.id\"\n [ngClass]=\"{\n 's-tablet__header__select': fieldSelect && fieldSelect.SortField === column.id,\n }\">\n {{ column.title }}\n </div>\n <span *ngIf=\"fieldSelect && fieldSelect.SortField === column.id\" class=\"s-tablet__header__icon\">\n <s-icon-mat [type]=\"'symbol'\" size=\"sm\" class=\"icon cursor\">{{\n fieldSelect.SortAsc ? 'keyboard_arrow_up' : 'keyboard_arrow_down'\n }}</s-icon-mat>\n </span>\n <span\n *ngIf=\"column.sortable !== false && column.title && fieldSelect && fieldSelect.SortField !== column.id\">\n <s-icon-mat [type]=\"'symbol'\" size=\"sm\" class=\"icon cursor\" class=\"s-tablet__header__icon--standard\"\n >keyboard_arrow_down</s-icon-mat\n >\n </span>\n <span\n *ngIf=\"!fieldSelect && column.sortable !== false && column.title\"\n class=\"s-tablet__header__icon--standard\">\n <s-icon-mat [type]=\"'symbol'\" size=\"sm\" class=\"icon cursor\" class=\"s-tablet__header__icon--standard\"\n >keyboard_arrow_down</s-icon-mat\n >\n </span>\n </div>\n </th>\n </tr>\n </thead>\n <tbody [ngClass]=\"loading ? 's-tablet__empty' : 's-tablet__body'\">\n <ng-container *ngIf=\"loading; else body\">\n <ng-template #body>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #loading *ngTemplateOutlet=\"bodyloading\"></ng-template>\n </ng-container>\n </tbody>\n @if (loadingScroll()) {\n <tbody class=\"s-tablet__body\">\n <tr>\n <td [attr.colspan]=\"configColumn.length || 1\" class=\"s-table-complete__loading\">\n <s-spinner [id]=\"id + '-spinner'\" size=\"sm\"></s-spinner>\n </td>\n </tr>\n </tbody>\n }\n </table>\n</div>\n", styles: [".pre-s-tablet{max-width:100%;overflow-x:auto}.pre-s-tablet .s-tablet{background-color:var(--primary-100);border-collapse:collapse;width:100%}.pre-s-tablet .s-tablet thead{background-color:var(--neutrals-1200);font-weight:700}.pre-s-tablet .s-tablet thead th{vertical-align:middle;color:var(--secondary-600);font-size:.875rem;line-height:1.375rem;letter-spacing:.016rem;font-weight:700!important;text-align:left}.pre-s-tablet .s-tablet thead th:last-of-type{text-align:center}.pre-s-tablet .s-tablet__body{background-color:var(--neutrals-1200);color:var(--secondary-600)}.pre-s-tablet .s-tablet__disabled{color:var(--neutrals-700);pointer-events:none}.pre-s-tablet .s-tablet__empty{display:table-caption;caption-side:bottom;width:100%}.pre-s-tablet .s-tablet tbody tr td,.pre-s-tablet .s-tablet thead tr th{padding:.875rem;height:3.5rem;vertical-align:middle;font-size:.875rem}.pre-s-tablet .s-tablet th,.pre-s-tablet .s-tablet td{box-sizing:border-box;border:none;box-shadow:inset 0 -.063rem 0 var(--neutrals-900)}.pre-s-tablet .s-tablet td,.pre-s-tablet .s-tablet thead tr{height:3.5rem}.pre-s-tablet .s-tablet thead tr th{position:sticky;top:0;background-color:var(--neutrals-1200)}.pre-s-tablet .s-tablet__header{display:flex;gap:.5rem;align-items:center}.pre-s-tablet .s-tablet__header__icon{color:var(--primary-600)}.pre-s-tablet .s-tablet__header__icon--standard .s-icon-mat span{color:var(--neutrals-800)}.pre-s-tablet .s-tablet__header--align-left{justify-content:flex-start}.pre-s-tablet .s-tablet__header--align-center{justify-content:center}.pre-s-tablet .s-tablet__header--align-right{justify-content:flex-end}.pre-s-tablet .s-tablet__header__label{color:var(--secondary-500);font-weight:600}.pre-s-tablet .s-tablet__header__select{color:var(--secondary-600);font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "style", "type", "id"] }, { kind: "component", type: i3.SCheckboxComponent, selector: "s-checkbox", inputs: ["config", "id"], outputs: ["blur", "focus"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.SSpinnerComponent, selector: "s-spinner", inputs: ["size", "animation"] }], encapsulation: i0.ViewEncapsulation.None }); }
57
58
  }
58
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: STabletComponent, decorators: [{
59
60
  type: Component,
60
- args: [{ selector: 's-tablet', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngTemplateOutlet=\"caption\"></ng-container>\n<div class=\"pre-s-tablet s-scroll\" (scroll)=\"onScroll($event)\">\n <table class=\"s-tablet\">\n <thead>\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n <tr *ngIf=\"configColumn && configColumn.length > 0 && !loading\">\n <th\n *ngFor=\"let column of configColumn\"\n [width]=\"column.width\"\n tabindex=\"0\"\n (keydown.enter)=\"orderBy(column)\"\n (click)=\"orderBy(column)\">\n <div\n class=\"s-tablet__header\"\n [ngClass]=\"{\n 's-tablet__header--align-center': column.align === 'center',\n 's-tablet__header--align-right': column.align === 'right',\n 's-tablet__header--align-left': column.align === 'left' || !column.align,\n cursor: column.sortable !== false,\n 's-tablet__disabled': loading,\n }\">\n <ng-container *ngIf=\"column.checkbox\">\n <span *ngIf=\"isTreeMode\" class=\"s-table-double__tree-spacer\"></span>\n <s-checkbox\n [ngClass]=\"{ 'mr-2': column.title }\"\n [config]=\"checkboxConfig\"\n [(ngModel)]=\"column.checkboxValue\"\n (ngModelChange)=\"checkAll($event)\">\n </s-checkbox>\n </ng-container>\n <div\n class=\"s-tablet__header__label\"\n [ngClass]=\"{\n 's-tablet__header__select': fieldSelect && fieldSelect.SortField === column.id,\n }\">\n {{ column.title }}\n </div>\n <span *ngIf=\"fieldSelect && fieldSelect.SortField === column.id\" class=\"s-tablet__header__icon\">\n <s-icon-mat [type]=\"'symbol'\" size=\"sm\" class=\"icon cursor\">{{\n fieldSelect.SortAsc ? 'keyboard_arrow_up' : 'keyboard_arrow_down'\n }}</s-icon-mat>\n </span>\n <span\n *ngIf=\"column.sortable !== false && column.title && fieldSelect && fieldSelect.SortField !== column.id\">\n <s-icon-mat [type]=\"'symbol'\" size=\"sm\" class=\"icon cursor\" class=\"s-tablet__header__icon--standard\"\n >keyboard_arrow_down</s-icon-mat\n >\n </span>\n <span\n *ngIf=\"!fieldSelect && column.sortable !== false && column.title\"\n class=\"s-tablet__header__icon--standard\">\n <s-icon-mat [type]=\"'symbol'\" size=\"sm\" class=\"icon cursor\" class=\"s-tablet__header__icon--standard\"\n >keyboard_arrow_down</s-icon-mat\n >\n </span>\n </div>\n </th>\n </tr>\n </thead>\n <tbody [ngClass]=\"loading ? 's-tablet__empty' : 's-tablet__body'\">\n <ng-container *ngIf=\"loading; else body\">\n <ng-template #body>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #loading *ngTemplateOutlet=\"bodyloading\"></ng-template>\n </ng-container>\n </tbody>\n @if (loadingScroll()) {\n <tbody class=\"s-tablet__body\">\n <tr>\n <td [attr.colspan]=\"configColumn.length || 1\" class=\"s-table-complete__loading\">\n <s-spinner size=\"sm\"></s-spinner>\n </td>\n </tr>\n </tbody>\n }\n </table>\n</div>\n", styles: [".pre-s-tablet{max-width:100%;overflow-x:auto}.pre-s-tablet .s-tablet{background-color:var(--primary-100);border-collapse:collapse;width:100%}.pre-s-tablet .s-tablet thead{background-color:var(--neutrals-1200);font-weight:700}.pre-s-tablet .s-tablet thead th{vertical-align:middle;color:var(--secondary-600);font-size:.875rem;line-height:1.375rem;letter-spacing:.016rem;font-weight:700!important;text-align:left}.pre-s-tablet .s-tablet thead th:last-of-type{text-align:center}.pre-s-tablet .s-tablet__body{background-color:var(--neutrals-1200);color:var(--secondary-600)}.pre-s-tablet .s-tablet__disabled{color:var(--neutrals-700);pointer-events:none}.pre-s-tablet .s-tablet__empty{display:table-caption;caption-side:bottom;width:100%}.pre-s-tablet .s-tablet tbody tr td,.pre-s-tablet .s-tablet thead tr th{padding:.875rem;height:3.5rem;vertical-align:middle;font-size:.875rem}.pre-s-tablet .s-tablet th,.pre-s-tablet .s-tablet td{box-sizing:border-box;border:none;box-shadow:inset 0 -.063rem 0 var(--neutrals-900)}.pre-s-tablet .s-tablet td,.pre-s-tablet .s-tablet thead tr{height:3.5rem}.pre-s-tablet .s-tablet thead tr th{position:sticky;top:0;background-color:var(--neutrals-1200)}.pre-s-tablet .s-tablet__header{display:flex;gap:.5rem;align-items:center}.pre-s-tablet .s-tablet__header__icon{color:var(--primary-600)}.pre-s-tablet .s-tablet__header__icon--standard .s-icon-mat span{color:var(--neutrals-800)}.pre-s-tablet .s-tablet__header--align-left{justify-content:flex-start}.pre-s-tablet .s-tablet__header--align-center{justify-content:center}.pre-s-tablet .s-tablet__header--align-right{justify-content:flex-end}.pre-s-tablet .s-tablet__header__label{color:var(--secondary-500);font-weight:600}.pre-s-tablet .s-tablet__header__select{color:var(--secondary-600);font-weight:700}\n"] }]
61
+ args: [{ selector: 's-tablet', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngTemplateOutlet=\"caption\"></ng-container>\n<div class=\"pre-s-tablet s-scroll\" (scroll)=\"onScroll($event)\">\n <table class=\"s-tablet\" [id]=\"id\">\n <thead>\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n <tr *ngIf=\"configColumn && configColumn.length > 0 && !loading\">\n <th\n *ngFor=\"let column of configColumn\"\n [width]=\"column.width\"\n tabindex=\"0\"\n (keydown.enter)=\"orderBy(column)\"\n (click)=\"orderBy(column)\">\n <div\n class=\"s-tablet__header\"\n [ngClass]=\"{\n 's-tablet__header--align-center': column.align === 'center',\n 's-tablet__header--align-right': column.align === 'right',\n 's-tablet__header--align-left': column.align === 'left' || !column.align,\n cursor: column.sortable !== false,\n 's-tablet__disabled': loading,\n }\">\n <ng-container *ngIf=\"column.checkbox\">\n <span *ngIf=\"isTreeMode\" class=\"s-table-double__tree-spacer\"></span>\n <s-checkbox\n [ngClass]=\"{ 'mr-2': column.title }\"\n [config]=\"checkboxConfig\"\n [(ngModel)]=\"column.checkboxValue\"\n (ngModelChange)=\"checkAll($event)\">\n </s-checkbox>\n </ng-container>\n <div\n class=\"s-tablet__header__label\"\n [id]=\"id + '-column-' + column.id\"\n [ngClass]=\"{\n 's-tablet__header__select': fieldSelect && fieldSelect.SortField === column.id,\n }\">\n {{ column.title }}\n </div>\n <span *ngIf=\"fieldSelect && fieldSelect.SortField === column.id\" class=\"s-tablet__header__icon\">\n <s-icon-mat [type]=\"'symbol'\" size=\"sm\" class=\"icon cursor\">{{\n fieldSelect.SortAsc ? 'keyboard_arrow_up' : 'keyboard_arrow_down'\n }}</s-icon-mat>\n </span>\n <span\n *ngIf=\"column.sortable !== false && column.title && fieldSelect && fieldSelect.SortField !== column.id\">\n <s-icon-mat [type]=\"'symbol'\" size=\"sm\" class=\"icon cursor\" class=\"s-tablet__header__icon--standard\"\n >keyboard_arrow_down</s-icon-mat\n >\n </span>\n <span\n *ngIf=\"!fieldSelect && column.sortable !== false && column.title\"\n class=\"s-tablet__header__icon--standard\">\n <s-icon-mat [type]=\"'symbol'\" size=\"sm\" class=\"icon cursor\" class=\"s-tablet__header__icon--standard\"\n >keyboard_arrow_down</s-icon-mat\n >\n </span>\n </div>\n </th>\n </tr>\n </thead>\n <tbody [ngClass]=\"loading ? 's-tablet__empty' : 's-tablet__body'\">\n <ng-container *ngIf=\"loading; else body\">\n <ng-template #body>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #loading *ngTemplateOutlet=\"bodyloading\"></ng-template>\n </ng-container>\n </tbody>\n @if (loadingScroll()) {\n <tbody class=\"s-tablet__body\">\n <tr>\n <td [attr.colspan]=\"configColumn.length || 1\" class=\"s-table-complete__loading\">\n <s-spinner [id]=\"id + '-spinner'\" size=\"sm\"></s-spinner>\n </td>\n </tr>\n </tbody>\n }\n </table>\n</div>\n", styles: [".pre-s-tablet{max-width:100%;overflow-x:auto}.pre-s-tablet .s-tablet{background-color:var(--primary-100);border-collapse:collapse;width:100%}.pre-s-tablet .s-tablet thead{background-color:var(--neutrals-1200);font-weight:700}.pre-s-tablet .s-tablet thead th{vertical-align:middle;color:var(--secondary-600);font-size:.875rem;line-height:1.375rem;letter-spacing:.016rem;font-weight:700!important;text-align:left}.pre-s-tablet .s-tablet thead th:last-of-type{text-align:center}.pre-s-tablet .s-tablet__body{background-color:var(--neutrals-1200);color:var(--secondary-600)}.pre-s-tablet .s-tablet__disabled{color:var(--neutrals-700);pointer-events:none}.pre-s-tablet .s-tablet__empty{display:table-caption;caption-side:bottom;width:100%}.pre-s-tablet .s-tablet tbody tr td,.pre-s-tablet .s-tablet thead tr th{padding:.875rem;height:3.5rem;vertical-align:middle;font-size:.875rem}.pre-s-tablet .s-tablet th,.pre-s-tablet .s-tablet td{box-sizing:border-box;border:none;box-shadow:inset 0 -.063rem 0 var(--neutrals-900)}.pre-s-tablet .s-tablet td,.pre-s-tablet .s-tablet thead tr{height:3.5rem}.pre-s-tablet .s-tablet thead tr th{position:sticky;top:0;background-color:var(--neutrals-1200)}.pre-s-tablet .s-tablet__header{display:flex;gap:.5rem;align-items:center}.pre-s-tablet .s-tablet__header__icon{color:var(--primary-600)}.pre-s-tablet .s-tablet__header__icon--standard .s-icon-mat span{color:var(--neutrals-800)}.pre-s-tablet .s-tablet__header--align-left{justify-content:flex-start}.pre-s-tablet .s-tablet__header--align-center{justify-content:center}.pre-s-tablet .s-tablet__header--align-right{justify-content:flex-end}.pre-s-tablet .s-tablet__header__label{color:var(--secondary-500);font-weight:600}.pre-s-tablet .s-tablet__header__select{color:var(--secondary-600);font-weight:700}\n"] }]
61
62
  }], propDecorators: { data: [{
62
63
  type: Input
63
64
  }], loading: [{
@@ -74,6 +75,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
74
75
  type: Input
75
76
  }], isTreeMode: [{
76
77
  type: Input
78
+ }], id: [{
79
+ type: Input
77
80
  }], updateDataEvent: [{
78
81
  type: Output
79
82
  }], ordenByEvent: [{
@@ -232,4 +235,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
232
235
  type: Input,
233
236
  args: ['STemplate']
234
237
  }] } });
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicy10YWJsZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtdC9zLXRhYmxldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi90YWJsZS10L3MtdGFibGV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFFTCxNQUFNLEVBRU4saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBU3ZCLE1BQU0sT0FBTyxnQkFBZ0I7SUFON0I7UUFRVyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBTXpCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDckMsa0JBQWEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFNUIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUM3QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBSWpELG1CQUFjLEdBQUc7WUFDZixjQUFjLEVBQUUsS0FBSztTQUN0QixDQUFDO0tBMkNIO0lBekNDLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFvQjtRQUMxQixJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0RSxJQUFJ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O0lBQzdCLENBQUM7SUFFSixrQkFBa0I7UUFDaEIsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkIsS0FBSyxTQUFTO2dCQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQ2xDLE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDakMsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUMvQixNQUFNO1lBQ1IsS0FBSyxhQUFhO2dCQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUN0QyxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDOytHQXpCVSxTQUFTO21HQUFULFNBQVM7OzRGQUFULFNBQVM7a0JBSHJCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7aUJBQ3hCOzRHQUVxQixLQUFLO3NCQUF4QixLQUFLO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIGlucHV0LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWdDb2x1bW4sIFNvcnRUYWJsZSB9IGZyb20gJy4vcy10YWJsZXQtbW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLXRhYmxldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zLXRhYmxldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3MtdGFibGV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNUYWJsZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXRhOiBhbnk7XG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY2FwdGlvbiE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGhlYWRlciE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGJvZHlsb2FkaW5nITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgYm9keSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGNvbmZpZ0NvbHVtbiE6IENvbmZpZ0NvbHVtbltdO1xuICBASW5wdXQoKSBpc1RyZWVNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIGxvYWRpbmdTY3JvbGwgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgQE91dHB1dCgpIHVwZGF0ZURhdGFFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb3JkZW5CeUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxTb3J0VGFibGU+KCk7XG4gIEBPdXRwdXQoKSBjaGVja0FsbEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgc2Nyb2xsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgaW5pdERhdGE6IGFueTtcbiAgZmllbGRTZWxlY3QhOiBTb3J0VGFibGU7XG4gIGNoZWNrYm94Q29uZmlnID0ge1xuICAgIHVzZUZvcm1Db250cm9sOiBmYWxzZSxcbiAgfTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXREYXRhID0gdGhpcy5kYXRhO1xuICB9XG5cbiAgb3JkZXJCeShjb2x1bW46IENvbmZpZ0NvbHVtbikge1xuICAgIGlmIChjb2x1bW4uc29ydGFibGUgIT09IGZhbHNlICYmICFjb2x1bW4uZGlzYWJsZWQgJiYgIWNvbHVtbi5jaGVja2JveCkge1xuICAgICAgaWYgKGNvbHVtbi5pZCkge1xuICAgICAgICAvL2NvbHVtbi5pZCBlcyBlbCBjYW1wbyBhIG9yZGVuYXIuXG4gICAgICAgIGNvbnN0IHNvcnRBc2MgPVxuICAgICAgICAgIHRoaXMuZmllbGRTZWxlY3QgJiYgdGhpcy5maWVsZFNlbGVjdC5Tb3J0RmllbGQgPT09IGNvbHVtbi5pZCAmJiB0aGlzLmZpZWxkU2VsZWN0LlNvcnRBc2MgPT09IHRydWVcbiAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgIDogdHJ1ZTtcbiAgICAgICAgdGhpcy5maWVsZFNlbGVjdCA9IHtcbiAgICAgICAgICBTb3J0QXNjOiBzb3J0QXNjLFxuICAgICAgICAgIFNvcnRGaWVsZDogY29sdW1uLmlkLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLm9yZGVuQnlFdmVudC5lbWl0KHRoaXMuZmllbGRTZWxlY3QpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZURhdGEoX2RhdGFTb3J0PzogYW55KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVEYXRhRXZlbnQubmV4dChfZGF0YVNvcnQpO1xuICB9XG5cbiAgcmVzdGFydERhdGEoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVEYXRhRXZlbnQubmV4dCh0aGlzLmluaXREYXRhKTtcbiAgfVxuXG4gIGNoZWNrQWxsKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmNoZWNrQWxsRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBvblNjcm9sbChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGF0Qm90dG9tID0gZWxlbWVudC5zY3JvbGxIZWlnaHQgLSBlbGVtZW50LnNjcm9sbFRvcCA8PSBlbGVtZW50LmNsaWVudEhlaWdodCArIGVsZW1lbnQuc2Nyb2xsSGVpZ2h0ICogMC4xOyAvLyBhbnRlcyBkZWwgZmluYWwgcGFyYSBkaXNwYXJhciBlbCBldmVudG9cblxuICAgIGlmIChhdEJvdHRvbSkge1xuICAgICAgdGhpcy5zY3JvbGxFdmVudC5lbWl0KCk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tTU29ydGVhYmxlQ29sdW1uXScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3AtZWxlbWVudCcsXG4gICAgJ1tjbGFzcy5wLXNvcnRhYmxlLWNvbHVtbl0nOiAnaXNFbmFibGVkKCknLFxuICAgICdbYXR0ci5hcmlhLXNvcnRdJzogJ3NvcnRPcmRlcicsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFNvcnRhYmxlQ29sdW1uIHtcbiAgQElucHV0KCdTU29ydGVhYmxlQ29sdW1uJykgZmllbGQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBTb3J0YWJsZUNvbHVtbkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgX2RhdGFTb3J0OiBhbnk7XG4gIHNvcnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBzb3J0T3JkZXIhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGRhdGE6IFNUYWJsZXRDb21wb25lbnQpIHtcbiAgICB0aGlzLl9kYXRhU29ydCA9IHRoaXMuZGF0YS5kYXRhO1xuICB9XG5cbiAgY29tcGFyZVZhbHVlcyhrZXk6IGFueSwgb3JkZXIgPSAnYXNjJykge1xuICAgIHJldHVybiBmdW5jdGlvbiBpbm5lclNvcnQoXG4gICAgICBhOiB7IFt4OiBzdHJpbmddOiBhbnk7IGhhc093blByb3BlcnR5OiAoYXJnMDogYW55KSA9PiBhbnkgfSxcbiAgICAgIGI6IHsgW3g6IHN0cmluZ106IGFueTsgaGFzT3duUHJvcGVydHk6IChhcmcwOiBhbnkpID0+IGFueSB9XG4gICAgKSB7XG4gICAgICBpZiAoIWEuaGFzT3duUHJvcGVydHkoa2V5KSB8fCAhYi5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIC8vIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3Qgb24gZWl0aGVyIG9iamVjdFxuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFyQSA9IHR5cGVvZiBhW2tleV0gPT09ICdzdHJpbmcnID8gYVtrZXldLnRvVXBwZXJDYXNlKCkgOiBhW2tleV07XG4gICAgICBjb25zdCB2YXJCID0gdHlwZW9mIGJba2V5XSA9PT0gJ3N0cmluZycgPyBiW2tleV0udG9VcHBlckNhc2UoKSA6IGJba2V5XTtcblxuICAgICAgbGV0IGNvbXBhcmlzb24gPSAwO1xuICAgICAgaWYgKHZhckEgPiB2YXJCKSB7XG4gICAgICAgIGNvbXBhcmlzb24gPSAxO1xuICAgICAgfSBlbHNlIGlmICh2YXJBIDwgdmFyQikge1xuICAgICAgICBjb21wYXJpc29uID0gLTE7XG4gICAgICB9XG4gICAgICByZXR1cm4gb3JkZXIgPT09ICdkZXNjJyA/IGNvbXBhcmlzb24gKiAtMSA6IGNvbXBhcmlzb247XG4gICAgfTtcbiAgfVxuXG4gIHVwZGF0ZVNvcnRTdGF0ZSgpIHtcbiAgICB0aGlzLnNvcnRlZCA9ICF0aGlzLnNvcnRlZDtcbiAgICB0aGlzLnNvcnRlZFxuICAgICAgPyB0aGlzLl9kYXRhU29ydC5zb3J0KHRoaXMuY29tcGFyZVZhbHVlcyh0aGlzLmZpZWxkLCAnYXNjJykpXG4gICAgICA6IHRoaXMuX2RhdGFTb3J0LnNvcnQodGhpcy5jb21wYXJlVmFsdWVzKHRoaXMuZmllbGQsICdkZXNjJykpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBvbkNsaWNrKCkge1xuICAgIGlmICh0aGlzLmlzRW5hYmxlZCgpKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNvcnRTdGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIGlzRW5hYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5wU29ydGFibGVDb2x1bW5EaXNhYmxlZCAhPT0gdHJ1ZTtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbU0lucHV0U2VhcmNoXScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3MtZWxlbWVudC1zZWFyY2gnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFNlYXJjaCB7XG4gIEBJbnB1dCgnU0lucHV0U2VhcmNoJykgZmllbGRzITogc3RyaW5nO1xuXG4gIF9kYXRhRmlsdGVyOiBhbnk7XG4gIGlucHV0VGltZW91dD86IGFueTtcbiAgZGF0YUJlZm9yZVNlYXJjaDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YTogU1RhYmxldENvbXBvbmVudCkge1xuICAgIHRoaXMuX2RhdGFGaWx0ZXIgPSBkYXRhLmRhdGE7XG4gIH1cblxuICBmaWx0ZXJJdGVtcyhxdWVyeTogYW55KSB7XG4gICAgbGV0IHJlc3VsdHMgPSBbXG4gICAgICAuLi50aGlzLmRhdGEuZGF0YS5maWx0ZXIoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICBjb25zdCByZWdleHAgPSBuZXcgUmVnRXhwKHF1ZXJ5LCAnaScpO1xuICAgICAgICBjb25zdCBwcm9wZXJ0aWVzID0gT2JqZWN0LmtleXMoaXRlbSk7XG4gICAgICAgIHJldHVybiBwcm9wZXJ0aWVzLnNvbWUocHJvcGVydHkgPT4gcmVnZXhwLnRlc3QoaXRlbVtwcm9wZXJ0eV0pKTtcbiAgICAgIH0pLFxuICAgIF07XG4gICAgdGhpcy5fZGF0YUZpbHRlciA9IHJlc3VsdHM7XG4gICAgdGhpcy5kYXRhLnVwZGF0ZURhdGEodGhpcy5fZGF0YUZpbHRlcik7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50LnRhcmdldCddKVxuICBvbkVudGVyS2V5KGU6IGFueSkge1xuICAgIGlmICh0aGlzLmlucHV0VGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaW5wdXRUaW1lb3V0KTtcbiAgICB9XG4gICAgdGhpcy5pbnB1dFRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmZpbHRlckl0ZW1zKGUudmFsdWUpO1xuICAgICAgfSxcbiAgICAgIDEwMDAsXG4gICAgICBudWxsXG4gICAgKTtcblxuICAgIGlmIChlLnZhbHVlID09PSAnJykge1xuICAgICAgdGhpcy5kYXRhLnJlc3RhcnREYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignc2VhcmNoJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIHNlYXJjaChlOiBhbnkpIHtcbiAgICBpZiAoZS52YWx1ZSA9PT0gJycpIHtcbiAgICAgIHRoaXMuZGF0YS5yZXN0YXJ0RGF0YSgpO1xuICAgIH1cbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbU1RlbXBsYXRlXScsXG59KVxuZXhwb3J0IGNsYXNzIFNUZW1wbGF0ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoJ1NUZW1wbGF0ZScpIGZpZWxkITogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudDogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwdWJsaWMgdGFibGU6IFNUYWJsZXRDb21wb25lbnRcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHRoaXMuZmllbGQpIHtcbiAgICAgIGNhc2UgJ2NhcHRpb24nOlxuICAgICAgICB0aGlzLnRhYmxlLmNhcHRpb24gPSB0aGlzLmVsZW1lbnQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnaGVhZGVyJzpcbiAgICAgICAgdGhpcy50YWJsZS5oZWFkZXIgPSB0aGlzLmVsZW1lbnQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYm9keSc6XG4gICAgICAgIHRoaXMudGFibGUuYm9keSA9IHRoaXMuZWxlbWVudDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdib2R5bG9hZGluZyc6XG4gICAgICAgIHRoaXMudGFibGUuYm9keWxvYWRpbmcgPSB0aGlzLmVsZW1lbnQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2FwdGlvblwiPjwvbmctY29udGFpbmVyPlxuPGRpdiBjbGFzcz1cInByZS1zLXRhYmxldCBzLXNjcm9sbFwiIChzY3JvbGwpPVwib25TY3JvbGwoJGV2ZW50KVwiPlxuICA8dGFibGUgY2xhc3M9XCJzLXRhYmxldFwiPlxuICAgIDx0aGVhZD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDx0ciAqbmdJZj1cImNvbmZpZ0NvbHVtbiAmJiBjb25maWdDb2x1bW4ubGVuZ3RoID4gMCAmJiAhbG9hZGluZ1wiPlxuICAgICAgICA8dGhcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbmZpZ0NvbHVtblwiXG4gICAgICAgICAgW3dpZHRoXT1cImNvbHVtbi53aWR0aFwiXG4gICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvcmRlckJ5KGNvbHVtbilcIlxuICAgICAgICAgIChjbGljayk9XCJvcmRlckJ5KGNvbHVtbilcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInMtdGFibGV0X19oZWFkZXJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAncy10YWJsZXRfX2hlYWRlci0tYWxpZ24tY2VudGVyJzogY29sdW1uLmFsaWduID09PSAnY2VudGVyJyxcbiAgICAgICAgICAgICAgJ3MtdGFibGV0X19oZWFkZXItLWFsaWduLXJpZ2h0JzogY29sdW1uLmFsaWduID09PSAncmlnaHQnLFxuICAgICAgICAgICAgICAncy10YWJsZXRfX2hlYWRlci0tYWxpZ24tbGVmdCc6IGNvbHVtbi5hbGlnbiA9PT0gJ2xlZnQnIHx8ICFjb2x1bW4uYWxpZ24sXG4gICAgICAgICAgICAgIGN1cnNvcjogY29sdW1uLnNvcnRhYmxlICE9PSBmYWxzZSxcbiAgICAgICAgICAgICAgJ3MtdGFibGV0X19kaXNhYmxlZCc6IGxvYWRpbmcsXG4gICAgICAgICAgICB9XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLmNoZWNrYm94XCI+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNUcmVlTW9kZVwiIGNsYXNzPVwicy10YWJsZS1kb3VibGVfX3RyZWUtc3BhY2VyXCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8cy1jaGVja2JveFxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ21yLTInOiBjb2x1bW4udGl0bGUgfVwiXG4gICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjaGVja2JveENvbmZpZ1wiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb2x1bW4uY2hlY2tib3hWYWx1ZVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hlY2tBbGwoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8L3MtY2hlY2tib3g+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJzLXRhYmxldF9faGVhZGVyX19sYWJlbFwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAncy10YWJsZXRfX2hlYWRlcl9fc2VsZWN0JzogZmllbGRTZWxlY3QgJiYgZmllbGRTZWxlY3QuU29ydEZpZWxkID09PSBjb2x1bW4uaWQsXG4gICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAge3sgY29sdW1uLnRpdGxlIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZmllbGRTZWxlY3QgJiYgZmllbGRTZWxlY3QuU29ydEZpZWxkID09PSBjb2x1bW4uaWRcIiBjbGFzcz1cInMtdGFibGV0X19oZWFkZXJfX2ljb25cIj5cbiAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgW3R5cGVdPVwiJ3N5bWJvbCdcIiBzaXplPVwic21cIiBjbGFzcz1cImljb24gY3Vyc29yXCI+e3tcbiAgICAgICAgICAgICAgICBmaWVsZFNlbGVjdC5Tb3J0QXNjID8gJ2tleWJvYXJkX2Fycm93X3VwJyA6ICdrZXlib2FyZF9hcnJvd19kb3duJ1xuICAgICAgICAgICAgICB9fTwvcy1pY29uLW1hdD5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLnNvcnRhYmxlICE9PSBmYWxzZSAmJiBjb2x1bW4udGl0bGUgJiYgZmllbGRTZWxlY3QgJiYgZmllbGRTZWxlY3QuU29ydEZpZWxkICE9PSBjb2x1bW4uaWRcIj5cbiAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgW3R5cGVdPVwiJ3N5bWJvbCdcIiBzaXplPVwic21cIiBjbGFzcz1cImljb24gY3Vyc29yXCIgY2xhc3M9XCJzLXRhYmxldF9faGVhZGVyX19pY29uLS1zdGFuZGFyZFwiXG4gICAgICAgICAgICAgICAgPmtleWJvYXJkX2Fycm93X2Rvd248L3MtaWNvbi1tYXRcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgKm5nSWY9XCIhZmllbGRTZWxlY3QgJiYgY29sdW1uLnNvcnRhYmxlICE9PSBmYWxzZSAmJiBjb2x1bW4udGl0bGVcIlxuICAgICAgICAgICAgICBjbGFzcz1cInMtdGFibGV0X19oZWFkZXJfX2ljb24tLXN0YW5kYXJkXCI+XG4gICAgICAgICAgICAgIDxzLWljb24tbWF0IFt0eXBlXT1cIidzeW1ib2wnXCIgc2l6ZT1cInNtXCIgY2xhc3M9XCJpY29uIGN1cnNvclwiIGNsYXNzPVwicy10YWJsZXRfX2hlYWRlcl9faWNvbi0tc3RhbmRhcmRcIlxuICAgICAgICAgICAgICAgID5rZXlib2FyZF9hcnJvd19kb3duPC9zLWljb24tbWF0XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90aD5cbiAgICAgIDwvdHI+XG4gICAgPC90aGVhZD5cbiAgICA8dGJvZHkgW25nQ2xhc3NdPVwibG9hZGluZyA/ICdzLXRhYmxldF9fZW1wdHknIDogJ3MtdGFibGV0X19ib2R5J1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmc7IGVsc2UgYm9keVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2JvZHk+XG4gICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2xvYWRpbmcgKm5nVGVtcGxhdGVPdXRsZXQ9XCJib2R5bG9hZGluZ1wiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3Rib2R5PlxuICAgIEBpZiAobG9hZGluZ1Njcm9sbCgpKSB7XG4gICAgICA8dGJvZHkgY2xhc3M9XCJzLXRhYmxldF9fYm9keVwiPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRkIFthdHRyLmNvbHNwYW5dPVwiY29uZmlnQ29sdW1uLmxlbmd0aCB8fCAxXCIgY2xhc3M9XCJzLXRhYmxlLWNvbXBsZXRlX19sb2FkaW5nXCI+XG4gICAgICAgICAgICA8cy1zcGlubmVyIHNpemU9XCJzbVwiPjwvcy1zcGlubmVyPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3Rib2R5PlxuICAgIH1cbiAgPC90YWJsZT5cbjwvZGl2PlxuIl19
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicy10YWJsZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtdC9zLXRhYmxldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi90YWJsZS10L3MtdGFibGV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFFTCxNQUFNLEVBRU4saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBU3ZCLE1BQU0sT0FBTyxnQkFBZ0I7SUFON0I7UUFRVyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBTXpCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsT0FBRSxHQUFZLFVBQVUsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUU1QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBQzdDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM1QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFJakQsbUJBQWMsR0FBRztZQUNmLGNBQWMsRUFBRSxLQUFLO1NBQ3RCLENBQUM7S0EyQ0g7SUF6Q0MsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQW9CO1FBQzFCLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RFLElBQUksTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNkLGtDQUFrQztnQkFDbEMsTUFBTSxPQUFPLEdBQ1gsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxLQUFLLElBQUk7b0JBQy9GLENBQUMsQ0FBQyxLQUFLO29CQUNQLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLFdBQVcsR0FBRztvQkFDakIsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRTtpQkFDckIsQ0FBQztnQkFDRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0MsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQWU7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztRQUM1QyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxDQUFDLDBDQUEwQztRQUUxSixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQzsrR0EvRFUsZ0JBQWdCO21HQUFoQixnQkFBZ0IsODhDQ3JCN0IscTdHQStFQTs7NEZEMURhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxVQUFVLGlCQUdMLGlCQUFpQixDQUFDLElBQUk7OEJBRzVCLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUdJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07O0FBMkRULE1BQU0sT0FBTyxjQUFjO0lBUXpCLFlBQW1CLElBQXNCO1FBQXRCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBTmhDLDRCQUF1QixHQUFZLEtBQUssQ0FBQztRQUdsRCxXQUFNLEdBQVksS0FBSyxDQUFDO1FBSXRCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFRLEVBQUUsS0FBSyxHQUFHLEtBQUs7UUFDbkMsT0FBTyxTQUFTLFNBQVMsQ0FDdkIsQ0FBMkQsRUFDM0QsQ0FBMkQ7WUFFM0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JELDBDQUEwQztnQkFDMUMsT0FBTyxDQUFDLENBQUM7WUFDWCxDQUFDO1lBRUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4RSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXhFLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLElBQUksR0FBRyxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNqQixDQUFDO2lCQUFNLElBQUksSUFBSSxHQUFHLElBQUksRUFBRSxDQUFDO2dCQUN2QixVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbEIsQ0FBQztZQUNELE9BQU8sS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDekQsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTTtZQUNULENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDNUQsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFHRCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsdUJBQXVCLEtBQUssSUFBSSxDQUFDO0lBQy9DLENBQUM7K0dBbkRVLGNBQWM7bUdBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFSMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLFdBQVc7d0JBQ2xCLDJCQUEyQixFQUFFLGFBQWE7d0JBQzFDLGtCQUFrQixFQUFFLFdBQVc7cUJBQ2hDO2lCQUNGO2tGQUU0QixLQUFLO3NCQUEvQixLQUFLO3VCQUFDLGtCQUFrQjtnQkFDaEIsdUJBQXVCO3NCQUEvQixLQUFLO2dCQXlDTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztBQWtCbkMsTUFBTSxPQUFPLFdBQVc7SUFPdEIsWUFBb0IsSUFBc0I7UUFBdEIsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLE9BQU8sR0FBRztZQUNaLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDdEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDckMsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xFLENBQUMsQ0FBQztTQUNILENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUdELFVBQVUsQ0FBQyxDQUFNO1FBQ2YsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQzVCLEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsRUFDRCxJQUFJLEVBQ0osSUFBSSxDQUNMLENBQUM7UUFFRixJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUdELE1BQU0sQ0FBQyxDQUFNO1FBQ1gsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7K0dBOUNVLFdBQVc7bUdBQVgsV0FBVzs7NEZBQVgsV0FBVztrQkFOdkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLGtCQUFrQjtxQkFDMUI7aUJBQ0Y7a0ZBRXdCLE1BQU07c0JBQTVCLEtBQUs7dUJBQUMsY0FBYztnQkF1QnJCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBbUJ4QyxNQUFNO3NCQURMLFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsZUFBZSxDQUFDOztBQVczQyxNQUFNLE9BQU8sU0FBUztJQUdwQixZQUNVLE9BQXlCLEVBQzFCLEtBQXVCO1FBRHRCLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQWtCO0lBQzdCLENBQUM7SUFFSixrQkFBa0I7UUFDaEIsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkIsS0FBSyxTQUFTO2dCQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQ2xDLE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDakMsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUMvQixNQUFNO1lBQ1IsS0FBSyxhQUFhO2dCQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUN0QyxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDOytHQXpCVSxTQUFTO21HQUFULFNBQVM7OzRGQUFULFNBQVM7a0JBSHJCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7aUJBQ3hCOzRHQUVxQixLQUFLO3NCQUF4QixLQUFLO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIGlucHV0LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWdDb2x1bW4sIFNvcnRUYWJsZSB9IGZyb20gJy4vcy10YWJsZXQtbW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLXRhYmxldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zLXRhYmxldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3MtdGFibGV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNUYWJsZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXRhOiBhbnk7XG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY2FwdGlvbiE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGhlYWRlciE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGJvZHlsb2FkaW5nITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgYm9keSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGNvbmZpZ0NvbHVtbiE6IENvbmZpZ0NvbHVtbltdO1xuICBASW5wdXQoKSBpc1RyZWVNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nID0gJ3MtdGFibGV0JztcbiAgbG9hZGluZ1Njcm9sbCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBAT3V0cHV0KCkgdXBkYXRlRGF0YUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvcmRlbkJ5RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFNvcnRUYWJsZT4oKTtcbiAgQE91dHB1dCgpIGNoZWNrQWxsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBzY3JvbGxFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBpbml0RGF0YTogYW55O1xuICBmaWVsZFNlbGVjdCE6IFNvcnRUYWJsZTtcbiAgY2hlY2tib3hDb25maWcgPSB7XG4gICAgdXNlRm9ybUNvbnRyb2w6IGZhbHNlLFxuICB9O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdERhdGEgPSB0aGlzLmRhdGE7XG4gIH1cblxuICBvcmRlckJ5KGNvbHVtbjogQ29uZmlnQ29sdW1uKSB7XG4gICAgaWYgKGNvbHVtbi5zb3J0YWJsZSAhPT0gZmFsc2UgJiYgIWNvbHVtbi5kaXNhYmxlZCAmJiAhY29sdW1uLmNoZWNrYm94KSB7XG4gICAgICBpZiAoY29sdW1uLmlkKSB7XG4gICAgICAgIC8vY29sdW1uLmlkIGVzIGVsIGNhbXBvIGEgb3JkZW5hci5cbiAgICAgICAgY29uc3Qgc29ydEFzYyA9XG4gICAgICAgICAgdGhpcy5maWVsZFNlbGVjdCAmJiB0aGlzLmZpZWxkU2VsZWN0LlNvcnRGaWVsZCA9PT0gY29sdW1uLmlkICYmIHRoaXMuZmllbGRTZWxlY3QuU29ydEFzYyA9PT0gdHJ1ZVxuICAgICAgICAgICAgPyBmYWxzZVxuICAgICAgICAgICAgOiB0cnVlO1xuICAgICAgICB0aGlzLmZpZWxkU2VsZWN0ID0ge1xuICAgICAgICAgIFNvcnRBc2M6IHNvcnRBc2MsXG4gICAgICAgICAgU29ydEZpZWxkOiBjb2x1bW4uaWQsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMub3JkZW5CeUV2ZW50LmVtaXQodGhpcy5maWVsZFNlbGVjdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlRGF0YShfZGF0YVNvcnQ/OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZURhdGFFdmVudC5uZXh0KF9kYXRhU29ydCk7XG4gIH1cblxuICByZXN0YXJ0RGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZURhdGFFdmVudC5uZXh0KHRoaXMuaW5pdERhdGEpO1xuICB9XG5cbiAgY2hlY2tBbGwoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuY2hlY2tBbGxFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uU2Nyb2xsKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgYXRCb3R0b20gPSBlbGVtZW50LnNjcm9sbEhlaWdodCAtIGVsZW1lbnQuc2Nyb2xsVG9wIDw9IGVsZW1lbnQuY2xpZW50SGVpZ2h0ICsgZWxlbWVudC5zY3JvbGxIZWlnaHQgKiAwLjE7IC8vIGFudGVzIGRlbCBmaW5hbCBwYXJhIGRpc3BhcmFyIGVsIGV2ZW50b1xuXG4gICAgaWYgKGF0Qm90dG9tKSB7XG4gICAgICB0aGlzLnNjcm9sbEV2ZW50LmVtaXQoKTtcbiAgICB9XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW1NTb3J0ZWFibGVDb2x1bW5dJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAncC1lbGVtZW50JyxcbiAgICAnW2NsYXNzLnAtc29ydGFibGUtY29sdW1uXSc6ICdpc0VuYWJsZWQoKScsXG4gICAgJ1thdHRyLmFyaWEtc29ydF0nOiAnc29ydE9yZGVyJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgU29ydGFibGVDb2x1bW4ge1xuICBASW5wdXQoJ1NTb3J0ZWFibGVDb2x1bW4nKSBmaWVsZCE6IHN0cmluZztcbiAgQElucHV0KCkgcFNvcnRhYmxlQ29sdW1uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBfZGF0YVNvcnQ6IGFueTtcbiAgc29ydGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHNvcnRPcmRlciE6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0YTogU1RhYmxldENvbXBvbmVudCkge1xuICAgIHRoaXMuX2RhdGFTb3J0ID0gdGhpcy5kYXRhLmRhdGE7XG4gIH1cblxuICBjb21wYXJlVmFsdWVzKGtleTogYW55LCBvcmRlciA9ICdhc2MnKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGlubmVyU29ydChcbiAgICAgIGE6IHsgW3g6IHN0cmluZ106IGFueTsgaGFzT3duUHJvcGVydHk6IChhcmcwOiBhbnkpID0+IGFueSB9LFxuICAgICAgYjogeyBbeDogc3RyaW5nXTogYW55OyBoYXNPd25Qcm9wZXJ0eTogKGFyZzA6IGFueSkgPT4gYW55IH1cbiAgICApIHtcbiAgICAgIGlmICghYS5oYXNPd25Qcm9wZXJ0eShrZXkpIHx8ICFiLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgLy8gcHJvcGVydHkgZG9lc24ndCBleGlzdCBvbiBlaXRoZXIgb2JqZWN0XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB2YXJBID0gdHlwZW9mIGFba2V5XSA9PT0gJ3N0cmluZycgPyBhW2tleV0udG9VcHBlckNhc2UoKSA6IGFba2V5XTtcbiAgICAgIGNvbnN0IHZhckIgPSB0eXBlb2YgYltrZXldID09PSAnc3RyaW5nJyA/IGJba2V5XS50b1VwcGVyQ2FzZSgpIDogYltrZXldO1xuXG4gICAgICBsZXQgY29tcGFyaXNvbiA9IDA7XG4gICAgICBpZiAodmFyQSA+IHZhckIpIHtcbiAgICAgICAgY29tcGFyaXNvbiA9IDE7XG4gICAgICB9IGVsc2UgaWYgKHZhckEgPCB2YXJCKSB7XG4gICAgICAgIGNvbXBhcmlzb24gPSAtMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvcmRlciA9PT0gJ2Rlc2MnID8gY29tcGFyaXNvbiAqIC0xIDogY29tcGFyaXNvbjtcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlU29ydFN0YXRlKCkge1xuICAgIHRoaXMuc29ydGVkID0gIXRoaXMuc29ydGVkO1xuICAgIHRoaXMuc29ydGVkXG4gICAgICA/IHRoaXMuX2RhdGFTb3J0LnNvcnQodGhpcy5jb21wYXJlVmFsdWVzKHRoaXMuZmllbGQsICdhc2MnKSlcbiAgICAgIDogdGhpcy5fZGF0YVNvcnQuc29ydCh0aGlzLmNvbXBhcmVWYWx1ZXModGhpcy5maWVsZCwgJ2Rlc2MnKSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuaXNFbmFibGVkKCkpIHtcbiAgICAgIHRoaXMudXBkYXRlU29ydFN0YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgaXNFbmFibGVkKCkge1xuICAgIHJldHVybiB0aGlzLnBTb3J0YWJsZUNvbHVtbkRpc2FibGVkICE9PSB0cnVlO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tTSW5wdXRTZWFyY2hdJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAncy1lbGVtZW50LXNlYXJjaCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIElucHV0U2VhcmNoIHtcbiAgQElucHV0KCdTSW5wdXRTZWFyY2gnKSBmaWVsZHMhOiBzdHJpbmc7XG5cbiAgX2RhdGFGaWx0ZXI6IGFueTtcbiAgaW5wdXRUaW1lb3V0PzogYW55O1xuICBkYXRhQmVmb3JlU2VhcmNoOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhOiBTVGFibGV0Q29tcG9uZW50KSB7XG4gICAgdGhpcy5fZGF0YUZpbHRlciA9IGRhdGEuZGF0YTtcbiAgfVxuXG4gIGZpbHRlckl0ZW1zKHF1ZXJ5OiBhbnkpIHtcbiAgICBsZXQgcmVzdWx0cyA9IFtcbiAgICAgIC4uLnRoaXMuZGF0YS5kYXRhLmZpbHRlcigoaXRlbTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZ2V4cCA9IG5ldyBSZWdFeHAocXVlcnksICdpJyk7XG4gICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBPYmplY3Qua2V5cyhpdGVtKTtcbiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXMuc29tZShwcm9wZXJ0eSA9PiByZWdleHAudGVzdChpdGVtW3Byb3BlcnR5XSkpO1xuICAgICAgfSksXG4gICAgXTtcbiAgICB0aGlzLl9kYXRhRmlsdGVyID0gcmVzdWx0cztcbiAgICB0aGlzLmRhdGEudXBkYXRlRGF0YSh0aGlzLl9kYXRhRmlsdGVyKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleXVwJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIG9uRW50ZXJLZXkoZTogYW55KSB7XG4gICAgaWYgKHRoaXMuaW5wdXRUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5pbnB1dFRpbWVvdXQpO1xuICAgIH1cbiAgICB0aGlzLmlucHV0VGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuZmlsdGVySXRlbXMoZS52YWx1ZSk7XG4gICAgICB9LFxuICAgICAgMTAwMCxcbiAgICAgIG51bGxcbiAgICApO1xuXG4gICAgaWYgKGUudmFsdWUgPT09ICcnKSB7XG4gICAgICB0aGlzLmRhdGEucmVzdGFydERhdGEoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdzZWFyY2gnLCBbJyRldmVudC50YXJnZXQnXSlcbiAgc2VhcmNoKGU6IGFueSkge1xuICAgIGlmIChlLnZhbHVlID09PSAnJykge1xuICAgICAgdGhpcy5kYXRhLnJlc3RhcnREYXRhKCk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tTVGVtcGxhdGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgU1RlbXBsYXRlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgnU1RlbXBsYXRlJykgZmllbGQhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50OiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHB1YmxpYyB0YWJsZTogU1RhYmxldENvbXBvbmVudFxuICApIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHN3aXRjaCAodGhpcy5maWVsZCkge1xuICAgICAgY2FzZSAnY2FwdGlvbic6XG4gICAgICAgIHRoaXMudGFibGUuY2FwdGlvbiA9IHRoaXMuZWxlbWVudDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdoZWFkZXInOlxuICAgICAgICB0aGlzLnRhYmxlLmhlYWRlciA9IHRoaXMuZWxlbWVudDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdib2R5JzpcbiAgICAgICAgdGhpcy50YWJsZS5ib2R5ID0gdGhpcy5lbGVtZW50O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvZHlsb2FkaW5nJzpcbiAgICAgICAgdGhpcy50YWJsZS5ib2R5bG9hZGluZyA9IHRoaXMuZWxlbWVudDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjYXB0aW9uXCI+PC9uZy1jb250YWluZXI+XG48ZGl2IGNsYXNzPVwicHJlLXMtdGFibGV0IHMtc2Nyb2xsXCIgKHNjcm9sbCk9XCJvblNjcm9sbCgkZXZlbnQpXCI+XG4gIDx0YWJsZSBjbGFzcz1cInMtdGFibGV0XCIgW2lkXT1cImlkXCI+XG4gICAgPHRoZWFkPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPHRyICpuZ0lmPVwiY29uZmlnQ29sdW1uICYmIGNvbmZpZ0NvbHVtbi5sZW5ndGggPiAwICYmICFsb2FkaW5nXCI+XG4gICAgICAgIDx0aFxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29uZmlnQ29sdW1uXCJcbiAgICAgICAgICBbd2lkdGhdPVwiY29sdW1uLndpZHRoXCJcbiAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9yZGVyQnkoY29sdW1uKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9yZGVyQnkoY29sdW1uKVwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwicy10YWJsZXRfX2hlYWRlclwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdzLXRhYmxldF9faGVhZGVyLS1hbGlnbi1jZW50ZXInOiBjb2x1bW4uYWxpZ24gPT09ICdjZW50ZXInLFxuICAgICAgICAgICAgICAncy10YWJsZXRfX2hlYWRlci0tYWxpZ24tcmlnaHQnOiBjb2x1bW4uYWxpZ24gPT09ICdyaWdodCcsXG4gICAgICAgICAgICAgICdzLXRhYmxldF9faGVhZGVyLS1hbGlnbi1sZWZ0JzogY29sdW1uLmFsaWduID09PSAnbGVmdCcgfHwgIWNvbHVtbi5hbGlnbixcbiAgICAgICAgICAgICAgY3Vyc29yOiBjb2x1bW4uc29ydGFibGUgIT09IGZhbHNlLFxuICAgICAgICAgICAgICAncy10YWJsZXRfX2Rpc2FibGVkJzogbG9hZGluZyxcbiAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4uY2hlY2tib3hcIj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1RyZWVNb2RlXCIgY2xhc3M9XCJzLXRhYmxlLWRvdWJsZV9fdHJlZS1zcGFjZXJcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnbXItMic6IGNvbHVtbi50aXRsZSB9XCJcbiAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNoZWNrYm94Q29uZmlnXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbHVtbi5jaGVja2JveFZhbHVlXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGVja0FsbCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgIDwvcy1jaGVja2JveD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInMtdGFibGV0X19oZWFkZXJfX2xhYmVsXCJcbiAgICAgICAgICAgICAgW2lkXT1cImlkICsgJy1jb2x1bW4tJyArIGNvbHVtbi5pZFwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAncy10YWJsZXRfX2hlYWRlcl9fc2VsZWN0JzogZmllbGRTZWxlY3QgJiYgZmllbGRTZWxlY3QuU29ydEZpZWxkID09PSBjb2x1bW4uaWQsXG4gICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAge3sgY29sdW1uLnRpdGxlIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZmllbGRTZWxlY3QgJiYgZmllbGRTZWxlY3QuU29ydEZpZWxkID09PSBjb2x1bW4uaWRcIiBjbGFzcz1cInMtdGFibGV0X19oZWFkZXJfX2ljb25cIj5cbiAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgW3R5cGVdPVwiJ3N5bWJvbCdcIiBzaXplPVwic21cIiBjbGFzcz1cImljb24gY3Vyc29yXCI+e3tcbiAgICAgICAgICAgICAgICBmaWVsZFNlbGVjdC5Tb3J0QXNjID8gJ2tleWJvYXJkX2Fycm93X3VwJyA6ICdrZXlib2FyZF9hcnJvd19kb3duJ1xuICAgICAgICAgICAgICB9fTwvcy1pY29uLW1hdD5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLnNvcnRhYmxlICE9PSBmYWxzZSAmJiBjb2x1bW4udGl0bGUgJiYgZmllbGRTZWxlY3QgJiYgZmllbGRTZWxlY3QuU29ydEZpZWxkICE9PSBjb2x1bW4uaWRcIj5cbiAgICAgICAgICAgICAgPHMtaWNvbi1tYXQgW3R5cGVdPVwiJ3N5bWJvbCdcIiBzaXplPVwic21cIiBjbGFzcz1cImljb24gY3Vyc29yXCIgY2xhc3M9XCJzLXRhYmxldF9faGVhZGVyX19pY29uLS1zdGFuZGFyZFwiXG4gICAgICAgICAgICAgICAgPmtleWJvYXJkX2Fycm93X2Rvd248L3MtaWNvbi1tYXRcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgKm5nSWY9XCIhZmllbGRTZWxlY3QgJiYgY29sdW1uLnNvcnRhYmxlICE9PSBmYWxzZSAmJiBjb2x1bW4udGl0bGVcIlxuICAgICAgICAgICAgICBjbGFzcz1cInMtdGFibGV0X19oZWFkZXJfX2ljb24tLXN0YW5kYXJkXCI+XG4gICAgICAgICAgICAgIDxzLWljb24tbWF0IFt0eXBlXT1cIidzeW1ib2wnXCIgc2l6ZT1cInNtXCIgY2xhc3M9XCJpY29uIGN1cnNvclwiIGNsYXNzPVwicy10YWJsZXRfX2hlYWRlcl9faWNvbi0tc3RhbmRhcmRcIlxuICAgICAgICAgICAgICAgID5rZXlib2FyZF9hcnJvd19kb3duPC9zLWljb24tbWF0XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90aD5cbiAgICAgIDwvdHI+XG4gICAgPC90aGVhZD5cbiAgICA8dGJvZHkgW25nQ2xhc3NdPVwibG9hZGluZyA/ICdzLXRhYmxldF9fZW1wdHknIDogJ3MtdGFibGV0X19ib2R5J1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmc7IGVsc2UgYm9keVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2JvZHk+XG4gICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2xvYWRpbmcgKm5nVGVtcGxhdGVPdXRsZXQ9XCJib2R5bG9hZGluZ1wiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3Rib2R5PlxuICAgIEBpZiAobG9hZGluZ1Njcm9sbCgpKSB7XG4gICAgICA8dGJvZHkgY2xhc3M9XCJzLXRhYmxldF9fYm9keVwiPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRkIFthdHRyLmNvbHNwYW5dPVwiY29uZmlnQ29sdW1uLmxlbmd0aCB8fCAxXCIgY2xhc3M9XCJzLXRhYmxlLWNvbXBsZXRlX19sb2FkaW5nXCI+XG4gICAgICAgICAgICA8cy1zcGlubmVyIFtpZF09XCJpZCArICctc3Bpbm5lcidcIiBzaXplPVwic21cIj48L3Mtc3Bpbm5lcj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICB9XG4gIDwvdGFibGU+XG48L2Rpdj5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHlwZUFjdGlvbnMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtdC90YWJsZS1hY3Rpb25zLWJ1dHRvbnMvaW50ZXJmYWNlcy9UeXBlQWN0aW9ucy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRIRU1FIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgQWN0aW9uc0J1dHRvbnNUeXBlIH0gZnJvbSAnLi4vZW51bXMvQWN0aW9uc0J1dHRvbnNUeXBlLmVudW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkJ1dHRvbiB7XG4gIGNvbG9yPzogVEhFTUU7XG4gIGN1c3RvbVR5cGU/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgaWNvbj86IHN0cmluZztcbiAgdHlwZT86IEFjdGlvbnNCdXR0b25zVHlwZTtcbiAgdG9vbHRpcFBvc2l0aW9uPzogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdib3R0b20nIHwgJ3RvcCc7XG4gIHRvb2x0aXA6IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHlwZUFjdGlvbnMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdGFibGUtdC90YWJsZS1hY3Rpb25zLWJ1dHRvbnMvaW50ZXJmYWNlcy9UeXBlQWN0aW9ucy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRIRU1FIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgQWN0aW9uc0J1dHRvbnNUeXBlIH0gZnJvbSAnLi4vZW51bXMvQWN0aW9uc0J1dHRvbnNUeXBlLmVudW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkJ1dHRvbiB7XG4gIGNvbG9yPzogVEhFTUU7XG4gIGN1c3RvbVR5cGU/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgaWNvbj86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG4gIHR5cGU/OiBBY3Rpb25zQnV0dG9uc1R5cGU7XG4gIHRvb2x0aXBQb3NpdGlvbj86ICdsZWZ0JyB8ICdyaWdodCcgfCAnYm90dG9tJyB8ICd0b3AnO1xuICB0b29sdGlwOiBzdHJpbmc7XG59XG4iXX0=
@@ -8,6 +8,7 @@ import * as i3 from "../../tooltip/s-tooltip.component";
8
8
  import * as i4 from "../../tooltip/directive/s-tooltip-directive";
9
9
  export class TableActionsButtonsComponent {
10
10
  constructor() {
11
+ this.id = 's-table-actions-buttons';
11
12
  this.clickButtonEvent = new EventEmitter();
12
13
  this.Type = ActionsButtonsType;
13
14
  this.ActionsButtons = ActionsButtons;
@@ -32,14 +33,16 @@ export class TableActionsButtonsComponent {
32
33
  }
33
34
  }
34
35
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableActionsButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableActionsButtonsComponent, selector: "s-table-actions-buttons", inputs: { tableActionsButtons: "tableActionsButtons" }, outputs: { clickButtonEvent: "clickButtonEvent" }, ngImport: i0, template: "<div class=\"d-flex justify-content-center table-actions-buttons\">\n <ng-container *ngFor=\"let button of tableActionsButtons\">\n <s-icon-mat\n tabindex=\"0\"\n class=\"table-actions-buttons__icon px-1 no-select\"\n size=\"md\"\n [ngClass]=\"getButtonsClass(button)\"\n [tooltip]=\"tooltip\"\n (keyup.enter)=\"handleButtonClick(button)\"\n (click)=\"handleButtonClick(button)\">\n {{ button.icon ?? getButtonsType(button.type).icon }}\n </s-icon-mat>\n <s-tooltip #tooltip [title]=\"button.tooltip\" [position]=\"button.tooltipPosition ?? 'top'\" theme=\"dark\"></s-tooltip>\n </ng-container>\n</div>\n", styles: [".table-actions-buttons__icon{color:var(--primary-600);cursor:pointer}.table-actions-buttons__icon__primary{color:var(--primary-600)}.table-actions-buttons__icon__primary--disabled{color:var(--primary-300)}.table-actions-buttons__icon__primary:not(.table-actions-buttons__icon__primary--disabled):hover{color:var(--primary-900)}.table-actions-buttons__icon__secondary{color:var(--primary-600)}.table-actions-buttons__icon__secondary--disabled{color:var(--primary-300)}.table-actions-buttons__icon__secondary:not(.table-actions-buttons__icon__secondary--disabled):hover{color:var(--secondary-900)}.table-actions-buttons__icon__green{color:var(--green-600)}.table-actions-buttons__icon__green--disabled{color:var(--green-300)}.table-actions-buttons__icon__green:not(.table-actions-buttons__icon__green--disabled):hover{color:var(--green-900)}.table-actions-buttons__icon__red{color:var(--red-600)}.table-actions-buttons__icon__red--disabled{color:var(--red-300)}.table-actions-buttons__icon__red:not(.table-actions-buttons__icon__red--disabled):hover{color:var(--red-900)}.table-actions-buttons__icon__yellow{color:var(--yellow-600)}.table-actions-buttons__icon__yellow--disabled{color:var(--yellow-300)}.table-actions-buttons__icon__yellow:not(.table-actions-buttons__icon__yellow--disabled):hover{color:var(--yellow-900)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "style", "type"] }, { kind: "component", type: i3.STooltipComponent, selector: "s-tooltip", inputs: ["title", "description", "theme", "position"] }, { kind: "directive", type: i4.CustomTooltipDirective, selector: "[tooltip]", inputs: ["tooltip"] }] }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableActionsButtonsComponent, selector: "s-table-actions-buttons", inputs: { tableActionsButtons: "tableActionsButtons", id: "id" }, outputs: { clickButtonEvent: "clickButtonEvent" }, ngImport: i0, template: "<div class=\"d-flex justify-content-center table-actions-buttons\">\n <ng-container *ngFor=\"let button of tableActionsButtons\">\n <s-icon-mat\n tabindex=\"0\"\n class=\"table-actions-buttons__icon px-1 no-select\"\n size=\"md\"\n [ngClass]=\"getButtonsClass(button)\"\n [tooltip]=\"tooltip\"\n [id]=\"id + '-' + button.type\"\n (keyup.enter)=\"handleButtonClick(button)\"\n (click)=\"handleButtonClick(button)\">\n {{ button.icon ?? getButtonsType(button.type).icon }}\n </s-icon-mat>\n <s-tooltip #tooltip [title]=\"button.tooltip\" [position]=\"button.tooltipPosition ?? 'top'\" theme=\"dark\"></s-tooltip>\n </ng-container>\n</div>\n", styles: [".table-actions-buttons__icon{color:var(--primary-600);cursor:pointer}.table-actions-buttons__icon__primary{color:var(--primary-600)}.table-actions-buttons__icon__primary--disabled{color:var(--primary-300)}.table-actions-buttons__icon__primary:not(.table-actions-buttons__icon__primary--disabled):hover{color:var(--primary-900)}.table-actions-buttons__icon__secondary{color:var(--primary-600)}.table-actions-buttons__icon__secondary--disabled{color:var(--primary-300)}.table-actions-buttons__icon__secondary:not(.table-actions-buttons__icon__secondary--disabled):hover{color:var(--secondary-900)}.table-actions-buttons__icon__green{color:var(--green-600)}.table-actions-buttons__icon__green--disabled{color:var(--green-300)}.table-actions-buttons__icon__green:not(.table-actions-buttons__icon__green--disabled):hover{color:var(--green-900)}.table-actions-buttons__icon__red{color:var(--red-600)}.table-actions-buttons__icon__red--disabled{color:var(--red-300)}.table-actions-buttons__icon__red:not(.table-actions-buttons__icon__red--disabled):hover{color:var(--red-900)}.table-actions-buttons__icon__yellow{color:var(--yellow-600)}.table-actions-buttons__icon__yellow--disabled{color:var(--yellow-300)}.table-actions-buttons__icon__yellow:not(.table-actions-buttons__icon__yellow--disabled):hover{color:var(--yellow-900)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "style", "type", "id"] }, { kind: "component", type: i3.STooltipComponent, selector: "s-tooltip", inputs: ["title", "description", "theme", "position", "id"] }, { kind: "directive", type: i4.CustomTooltipDirective, selector: "[tooltip]", inputs: ["tooltip"] }] }); }
36
37
  }
37
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableActionsButtonsComponent, decorators: [{
38
39
  type: Component,
39
- args: [{ selector: 's-table-actions-buttons', template: "<div class=\"d-flex justify-content-center table-actions-buttons\">\n <ng-container *ngFor=\"let button of tableActionsButtons\">\n <s-icon-mat\n tabindex=\"0\"\n class=\"table-actions-buttons__icon px-1 no-select\"\n size=\"md\"\n [ngClass]=\"getButtonsClass(button)\"\n [tooltip]=\"tooltip\"\n (keyup.enter)=\"handleButtonClick(button)\"\n (click)=\"handleButtonClick(button)\">\n {{ button.icon ?? getButtonsType(button.type).icon }}\n </s-icon-mat>\n <s-tooltip #tooltip [title]=\"button.tooltip\" [position]=\"button.tooltipPosition ?? 'top'\" theme=\"dark\"></s-tooltip>\n </ng-container>\n</div>\n", styles: [".table-actions-buttons__icon{color:var(--primary-600);cursor:pointer}.table-actions-buttons__icon__primary{color:var(--primary-600)}.table-actions-buttons__icon__primary--disabled{color:var(--primary-300)}.table-actions-buttons__icon__primary:not(.table-actions-buttons__icon__primary--disabled):hover{color:var(--primary-900)}.table-actions-buttons__icon__secondary{color:var(--primary-600)}.table-actions-buttons__icon__secondary--disabled{color:var(--primary-300)}.table-actions-buttons__icon__secondary:not(.table-actions-buttons__icon__secondary--disabled):hover{color:var(--secondary-900)}.table-actions-buttons__icon__green{color:var(--green-600)}.table-actions-buttons__icon__green--disabled{color:var(--green-300)}.table-actions-buttons__icon__green:not(.table-actions-buttons__icon__green--disabled):hover{color:var(--green-900)}.table-actions-buttons__icon__red{color:var(--red-600)}.table-actions-buttons__icon__red--disabled{color:var(--red-300)}.table-actions-buttons__icon__red:not(.table-actions-buttons__icon__red--disabled):hover{color:var(--red-900)}.table-actions-buttons__icon__yellow{color:var(--yellow-600)}.table-actions-buttons__icon__yellow--disabled{color:var(--yellow-300)}.table-actions-buttons__icon__yellow:not(.table-actions-buttons__icon__yellow--disabled):hover{color:var(--yellow-900)}\n"] }]
40
+ args: [{ selector: 's-table-actions-buttons', template: "<div class=\"d-flex justify-content-center table-actions-buttons\">\n <ng-container *ngFor=\"let button of tableActionsButtons\">\n <s-icon-mat\n tabindex=\"0\"\n class=\"table-actions-buttons__icon px-1 no-select\"\n size=\"md\"\n [ngClass]=\"getButtonsClass(button)\"\n [tooltip]=\"tooltip\"\n [id]=\"id + '-' + button.type\"\n (keyup.enter)=\"handleButtonClick(button)\"\n (click)=\"handleButtonClick(button)\">\n {{ button.icon ?? getButtonsType(button.type).icon }}\n </s-icon-mat>\n <s-tooltip #tooltip [title]=\"button.tooltip\" [position]=\"button.tooltipPosition ?? 'top'\" theme=\"dark\"></s-tooltip>\n </ng-container>\n</div>\n", styles: [".table-actions-buttons__icon{color:var(--primary-600);cursor:pointer}.table-actions-buttons__icon__primary{color:var(--primary-600)}.table-actions-buttons__icon__primary--disabled{color:var(--primary-300)}.table-actions-buttons__icon__primary:not(.table-actions-buttons__icon__primary--disabled):hover{color:var(--primary-900)}.table-actions-buttons__icon__secondary{color:var(--primary-600)}.table-actions-buttons__icon__secondary--disabled{color:var(--primary-300)}.table-actions-buttons__icon__secondary:not(.table-actions-buttons__icon__secondary--disabled):hover{color:var(--secondary-900)}.table-actions-buttons__icon__green{color:var(--green-600)}.table-actions-buttons__icon__green--disabled{color:var(--green-300)}.table-actions-buttons__icon__green:not(.table-actions-buttons__icon__green--disabled):hover{color:var(--green-900)}.table-actions-buttons__icon__red{color:var(--red-600)}.table-actions-buttons__icon__red--disabled{color:var(--red-300)}.table-actions-buttons__icon__red:not(.table-actions-buttons__icon__red--disabled):hover{color:var(--red-900)}.table-actions-buttons__icon__yellow{color:var(--yellow-600)}.table-actions-buttons__icon__yellow--disabled{color:var(--yellow-300)}.table-actions-buttons__icon__yellow:not(.table-actions-buttons__icon__yellow--disabled):hover{color:var(--yellow-900)}\n"] }]
40
41
  }], propDecorators: { tableActionsButtons: [{
41
42
  type: Input
43
+ }], id: [{
44
+ type: Input
42
45
  }], clickButtonEvent: [{
43
46
  type: Output
44
47
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9ucy1idXR0b25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL3RhYmxlLXQvdGFibGUtYWN0aW9ucy1idXR0b25zL3RhYmxlLWFjdGlvbnMtYnV0dG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi90YWJsZS10L3RhYmxlLWFjdGlvbnMtYnV0dG9ucy90YWJsZS1hY3Rpb25zLWJ1dHRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7OztBQU83RCxNQUFNLE9BQU8sNEJBQTRCO0lBTHpDO1FBT1kscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV4RCxTQUFJLEdBQUcsa0JBQWtCLENBQUM7UUFDMUIsbUJBQWMsR0FBRyxjQUFjLENBQUM7S0F1QmpDO0lBckJDLGNBQWMsQ0FBQyxJQUF5QjtRQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUM7UUFDekUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFvQjtRQUNsQyxNQUFNLElBQUksR0FBbUMsTUFBTSxDQUFDLElBQUksSUFBSSxTQUFTLENBQUM7UUFDdEUsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQztRQUM3RCxzRUFBc0U7UUFDdEUsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyxnQ0FBZ0MsS0FBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDdkYsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQW9CO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7K0dBM0JVLDRCQUE0QjttR0FBNUIsNEJBQTRCLDBLQ1Z6QyxpcEJBZUE7OzRGRExhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSx5QkFBeUI7OEJBSzFCLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uQnV0dG9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFjdGlvbnNCdXR0b25zVHlwZSB9IGZyb20gJy4vZW51bXMvQWN0aW9uc0J1dHRvbnNUeXBlLmVudW0nO1xuaW1wb3J0IHsgQWN0aW9uc0J1dHRvbnMgfSBmcm9tICcuL2NvbnN0YW50cy9hY3Rpb25zLWJ1dHRvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLXRhYmxlLWFjdGlvbnMtYnV0dG9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1hY3Rpb25zLWJ1dHRvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1hY3Rpb25zLWJ1dHRvbnMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVBY3Rpb25zQnV0dG9uc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRhYmxlQWN0aW9uc0J1dHRvbnMhOiBBY3Rpb25CdXR0b25bXTtcbiAgQE91dHB1dCgpIGNsaWNrQnV0dG9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBUeXBlID0gQWN0aW9uc0J1dHRvbnNUeXBlO1xuICBBY3Rpb25zQnV0dG9ucyA9IEFjdGlvbnNCdXR0b25zO1xuXG4gIGdldEJ1dHRvbnNUeXBlKHR5cGU/OiBBY3Rpb25zQnV0dG9uc1R5cGUpIHtcbiAgICBjb25zdCBidXR0b24gPSB0aGlzLkFjdGlvbnNCdXR0b25zLmZpbHRlcihhY3Rpb24gPT4gYWN0aW9uLnR5cGUgPT0gdHlwZSk7XG4gICAgcmV0dXJuIGJ1dHRvblswXTtcbiAgfVxuXG4gIGdldEJ1dHRvbnNDbGFzcyhidXR0b246IEFjdGlvbkJ1dHRvbik6IHN0cmluZyB7XG4gICAgY29uc3QgdHlwZTogQWN0aW9uc0J1dHRvbnNUeXBlIHwgdW5kZWZpbmVkID0gYnV0dG9uLnR5cGUgPz8gdW5kZWZpbmVkO1xuICAgIGxldCBjb2xvciA9IGJ1dHRvbi5jb2xvciA/PyB0aGlzLmdldEJ1dHRvbnNUeXBlKHR5cGUpPy5jb2xvcjtcbiAgICAvL0N1YW5kbyBubyBleGlzdGUgZWwgY29sb3IgLCBvIGVzIGRlZmF1bHQgc2UgcG9uZSBwb3IgZGVmZWN0byBwcmltYXJ5XG4gICAgaWYgKCFjb2xvciB8fCBjb2xvciA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICBjb2xvciA9ICdwcmltYXJ5JztcbiAgICB9XG4gICAgcmV0dXJuIGB0YWJsZS1hY3Rpb25zLWJ1dHRvbnNfX2ljb25fXyR7Y29sb3J9JHtidXR0b24uZGlzYWJsZWQgPyAnLS1kaXNhYmxlZCcgOiAnJ31gO1xuICB9XG5cbiAgaGFuZGxlQnV0dG9uQ2xpY2soYnV0dG9uOiBBY3Rpb25CdXR0b24pOiB2b2lkIHtcbiAgICBpZiAoIWJ1dHRvbi5kaXNhYmxlZCkge1xuICAgICAgY29uc3QgdHlwZSA9IGJ1dHRvbi5jdXN0b21UeXBlID8/IGJ1dHRvbi50eXBlO1xuICAgICAgdGhpcy5jbGlja0J1dHRvbkV2ZW50LmVtaXQodHlwZSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgdGFibGUtYWN0aW9ucy1idXR0b25zXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiB0YWJsZUFjdGlvbnNCdXR0b25zXCI+XG4gICAgPHMtaWNvbi1tYXRcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBjbGFzcz1cInRhYmxlLWFjdGlvbnMtYnV0dG9uc19faWNvbiBweC0xIG5vLXNlbGVjdFwiXG4gICAgICBzaXplPVwibWRcIlxuICAgICAgW25nQ2xhc3NdPVwiZ2V0QnV0dG9uc0NsYXNzKGJ1dHRvbilcIlxuICAgICAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwiaGFuZGxlQnV0dG9uQ2xpY2soYnV0dG9uKVwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlQnV0dG9uQ2xpY2soYnV0dG9uKVwiPlxuICAgICAge3sgYnV0dG9uLmljb24gPz8gZ2V0QnV0dG9uc1R5cGUoYnV0dG9uLnR5cGUpLmljb24gfX1cbiAgICA8L3MtaWNvbi1tYXQ+XG4gICAgPHMtdG9vbHRpcCAjdG9vbHRpcCBbdGl0bGVdPVwiYnV0dG9uLnRvb2x0aXBcIiBbcG9zaXRpb25dPVwiYnV0dG9uLnRvb2x0aXBQb3NpdGlvbiA/PyAndG9wJ1wiIHRoZW1lPVwiZGFya1wiPjwvcy10b29sdGlwPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9ucy1idXR0b25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL3RhYmxlLXQvdGFibGUtYWN0aW9ucy1idXR0b25zL3RhYmxlLWFjdGlvbnMtYnV0dG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi90YWJsZS10L3RhYmxlLWFjdGlvbnMtYnV0dG9ucy90YWJsZS1hY3Rpb25zLWJ1dHRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7OztBQU83RCxNQUFNLE9BQU8sNEJBQTRCO0lBTHpDO1FBT1csT0FBRSxHQUFZLHlCQUF5QixDQUFDO1FBQ3ZDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFeEQsU0FBSSxHQUFHLGtCQUFrQixDQUFDO1FBQzFCLG1CQUFjLEdBQUcsY0FBYyxDQUFDO0tBdUJqQztJQXJCQyxjQUFjLENBQUMsSUFBeUI7UUFDdEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBb0I7UUFDbEMsTUFBTSxJQUFJLEdBQW1DLE1BQU0sQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDO1FBQ3RFLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUM7UUFDN0Qsc0VBQXNFO1FBQ3RFLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDcEIsQ0FBQztRQUNELE9BQU8sZ0NBQWdDLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFvQjtRQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQztZQUM5QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDOytHQTVCVSw0QkFBNEI7bUdBQTVCLDRCQUE0QixvTENWekMsd3JCQWdCQTs7NEZETmEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLHlCQUF5Qjs4QkFLMUIsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uQnV0dG9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFjdGlvbnNCdXR0b25zVHlwZSB9IGZyb20gJy4vZW51bXMvQWN0aW9uc0J1dHRvbnNUeXBlLmVudW0nO1xuaW1wb3J0IHsgQWN0aW9uc0J1dHRvbnMgfSBmcm9tICcuL2NvbnN0YW50cy9hY3Rpb25zLWJ1dHRvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLXRhYmxlLWFjdGlvbnMtYnV0dG9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1hY3Rpb25zLWJ1dHRvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1hY3Rpb25zLWJ1dHRvbnMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVBY3Rpb25zQnV0dG9uc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRhYmxlQWN0aW9uc0J1dHRvbnMhOiBBY3Rpb25CdXR0b25bXTtcbiAgQElucHV0KCkgaWQ/OiBzdHJpbmcgPSAncy10YWJsZS1hY3Rpb25zLWJ1dHRvbnMnO1xuICBAT3V0cHV0KCkgY2xpY2tCdXR0b25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIFR5cGUgPSBBY3Rpb25zQnV0dG9uc1R5cGU7XG4gIEFjdGlvbnNCdXR0b25zID0gQWN0aW9uc0J1dHRvbnM7XG5cbiAgZ2V0QnV0dG9uc1R5cGUodHlwZT86IEFjdGlvbnNCdXR0b25zVHlwZSkge1xuICAgIGNvbnN0IGJ1dHRvbiA9IHRoaXMuQWN0aW9uc0J1dHRvbnMuZmlsdGVyKGFjdGlvbiA9PiBhY3Rpb24udHlwZSA9PSB0eXBlKTtcbiAgICByZXR1cm4gYnV0dG9uWzBdO1xuICB9XG5cbiAgZ2V0QnV0dG9uc0NsYXNzKGJ1dHRvbjogQWN0aW9uQnV0dG9uKTogc3RyaW5nIHtcbiAgICBjb25zdCB0eXBlOiBBY3Rpb25zQnV0dG9uc1R5cGUgfCB1bmRlZmluZWQgPSBidXR0b24udHlwZSA/PyB1bmRlZmluZWQ7XG4gICAgbGV0IGNvbG9yID0gYnV0dG9uLmNvbG9yID8/IHRoaXMuZ2V0QnV0dG9uc1R5cGUodHlwZSk/LmNvbG9yO1xuICAgIC8vQ3VhbmRvIG5vIGV4aXN0ZSBlbCBjb2xvciAsIG8gZXMgZGVmYXVsdCBzZSBwb25lIHBvciBkZWZlY3RvIHByaW1hcnlcbiAgICBpZiAoIWNvbG9yIHx8IGNvbG9yID09PSAnZGVmYXVsdCcpIHtcbiAgICAgIGNvbG9yID0gJ3ByaW1hcnknO1xuICAgIH1cbiAgICByZXR1cm4gYHRhYmxlLWFjdGlvbnMtYnV0dG9uc19faWNvbl9fJHtjb2xvcn0ke2J1dHRvbi5kaXNhYmxlZCA/ICctLWRpc2FibGVkJyA6ICcnfWA7XG4gIH1cblxuICBoYW5kbGVCdXR0b25DbGljayhidXR0b246IEFjdGlvbkJ1dHRvbik6IHZvaWQge1xuICAgIGlmICghYnV0dG9uLmRpc2FibGVkKSB7XG4gICAgICBjb25zdCB0eXBlID0gYnV0dG9uLmN1c3RvbVR5cGUgPz8gYnV0dG9uLnR5cGU7XG4gICAgICB0aGlzLmNsaWNrQnV0dG9uRXZlbnQuZW1pdCh0eXBlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciB0YWJsZS1hY3Rpb25zLWJ1dHRvbnNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIHRhYmxlQWN0aW9uc0J1dHRvbnNcIj5cbiAgICA8cy1pY29uLW1hdFxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIGNsYXNzPVwidGFibGUtYWN0aW9ucy1idXR0b25zX19pY29uIHB4LTEgbm8tc2VsZWN0XCJcbiAgICAgIHNpemU9XCJtZFwiXG4gICAgICBbbmdDbGFzc109XCJnZXRCdXR0b25zQ2xhc3MoYnV0dG9uKVwiXG4gICAgICBbdG9vbHRpcF09XCJ0b29sdGlwXCJcbiAgICAgIFtpZF09XCJpZCArICctJyArIGJ1dHRvbi50eXBlXCJcbiAgICAgIChrZXl1cC5lbnRlcik9XCJoYW5kbGVCdXR0b25DbGljayhidXR0b24pXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVCdXR0b25DbGljayhidXR0b24pXCI+XG4gICAgICB7eyBidXR0b24uaWNvbiA/PyBnZXRCdXR0b25zVHlwZShidXR0b24udHlwZSkuaWNvbiB9fVxuICAgIDwvcy1pY29uLW1hdD5cbiAgICA8cy10b29sdGlwICN0b29sdGlwIFt0aXRsZV09XCJidXR0b24udG9vbHRpcFwiIFtwb3NpdGlvbl09XCJidXR0b24udG9vbHRpcFBvc2l0aW9uID8/ICd0b3AnXCIgdGhlbWU9XCJkYXJrXCI+PC9zLXRvb2x0aXA+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnVGFicy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi90YWJzL21vZGVscy9jb25maWdUYWJzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJQ29uZmlnVGFicyB7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBiYWNrZ3JvdW5kPzogYm9vbGVhbjtcbiAgcGlsbD86IGJvb2xlYW47XG4gIHNpemU/OiAnc20nIHwgJ21kJztcbiAgb3JpZW50YXRpb24/OiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnO1xuICB1bmRlcmxpbmU/OiBib29sZWFuO1xuICBiYWNrZ3JvdW5kU2VsZWN0ZWQ/OiBib29sZWFuO1xuICBoZWlnaHQ/OiBudW1iZXI7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnVGFicy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi90YWJzL21vZGVscy9jb25maWdUYWJzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJQ29uZmlnVGFicyB7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBiYWNrZ3JvdW5kPzogYm9vbGVhbjtcbiAgcGlsbD86IGJvb2xlYW47XG4gIGlkPzogc3RyaW5nO1xuICBzaXplPzogJ3NtJyB8ICdtZCc7XG4gIG9yaWVudGF0aW9uPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJztcbiAgdW5kZXJsaW5lPzogYm9vbGVhbjtcbiAgYmFja2dyb3VuZFNlbGVjdGVkPzogYm9vbGVhbjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xufVxuIl19