@seniorsistemas/angular-components 19.9.7-develop-ad878012 → 19.9.8-develop-dbc2f1b4

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 (162) hide show
  1. package/card/lib/card/card.component.d.ts +6 -2
  2. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +0 -1
  3. package/dialog/lib/src/dialog/services/dialog.service.d.ts +2 -0
  4. package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +3 -3
  5. package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +8 -3
  6. package/esm2022/autocomplete/lib/autocomplete/components/autocomplete-chip/autocomplete-chip.component.mjs +4 -3
  7. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +3 -3
  8. package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.mjs +4 -2
  9. package/esm2022/button/lib/button/button.component.mjs +3 -3
  10. package/esm2022/card/lib/card/card.component.mjs +13 -5
  11. package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +3 -3
  12. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +3 -3
  13. package/esm2022/chips/lib/chips/chip-item/chip-item.component.mjs +3 -3
  14. package/esm2022/chips/lib/chips/chips/chips.component.mjs +3 -3
  15. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-style.mjs +3 -2
  16. package/esm2022/collapse-link/lib/collapse-link/collapse-link.component.mjs +3 -3
  17. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +14 -9
  18. package/esm2022/datepicker/lib/datepicker/datepicker.component.mjs +3 -3
  19. package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +3 -3
  20. package/esm2022/dialog/lib/src/dialog/services/dialog.service.mjs +13 -1
  21. package/esm2022/drawer/lib/drawer/drawer.component.mjs +3 -3
  22. package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +3 -3
  23. package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +3 -3
  24. package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +3 -3
  25. package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +3 -3
  26. package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +3 -3
  27. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +3 -3
  28. package/esm2022/editor/lib/editor/editor.component.mjs +3 -3
  29. package/esm2022/editor/lib/editor/toolbar-button/editor-toolbar-button.component.mjs +3 -3
  30. package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +3 -3
  31. package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +3 -3
  32. package/esm2022/gantt/lib/gantt/components/gantt/bar.mjs +2 -1
  33. package/esm2022/gantt/lib/gantt/gantt.component.mjs +3 -3
  34. package/esm2022/global-search/lib/global-search/global-search.component.mjs +16 -25
  35. package/esm2022/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.mjs +3 -3
  36. package/esm2022/input-text/lib/input-text/input-text.directive.mjs +3 -3
  37. package/esm2022/lib/locale/fallback.mjs +5 -2
  38. package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +3 -3
  39. package/esm2022/object-card/lib/object-card/object-card.component.mjs +3 -3
  40. package/esm2022/paginator/lib/paginator/paginator.component.mjs +3 -3
  41. package/esm2022/pin-code-field/lib/pin-code-field/pin-code-field.component.mjs +3 -3
  42. package/esm2022/radio-button/lib/radio-button/radio-button.component.mjs +4 -10
  43. package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +3 -3
  44. package/esm2022/select/lib/select/select.component.mjs +3 -3
  45. package/esm2022/select-button/lib/select-button/components/select-button-item/select-button-item.component.mjs +3 -3
  46. package/esm2022/shared/lib/accessibility/datepicker-no-period-tab.directive.mjs +6 -6
  47. package/esm2022/side-sheet/lib/side-sheet/side-sheet.component.mjs +3 -3
  48. package/esm2022/slider/lib/slider/slider.component.mjs +67 -65
  49. package/esm2022/slider/lib/slider/slider.module.mjs +2 -2
  50. package/esm2022/split-button/lib/split-button/split-button.component.mjs +3 -3
  51. package/esm2022/star-rating/star-rating/star-rating.component.mjs +3 -3
  52. package/esm2022/stepper/lib/stepper/stepper.component.mjs +3 -3
  53. package/esm2022/switch/lib/switch/switch.component.mjs +5 -19
  54. package/esm2022/tabs/lib/tabs/tabs.component.mjs +3 -3
  55. package/esm2022/text-area/lib/text-area/text-area.component.mjs +3 -3
  56. package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +10 -3
  57. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.mjs +3 -3
  58. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +3 -3
  59. package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.global.service.mjs +4 -3
  60. package/esm2022/tile/lib/tile/tile.component.mjs +3 -3
  61. package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +20 -3
  62. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +3 -3
  63. package/fesm2022/seniorsistemas-angular-components-accordion.mjs +2 -2
  64. package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
  65. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +10 -5
  66. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
  67. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +5 -3
  68. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
  69. package/fesm2022/seniorsistemas-angular-components-button.mjs +2 -2
  70. package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
  71. package/fesm2022/seniorsistemas-angular-components-card.mjs +12 -4
  72. package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -1
  73. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +2 -2
  74. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
  75. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +2 -2
  76. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
  77. package/fesm2022/seniorsistemas-angular-components-chips.mjs +4 -4
  78. package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
  79. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +2 -1
  80. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
  81. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +2 -2
  82. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -1
  83. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +13 -8
  84. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
  85. package/fesm2022/seniorsistemas-angular-components-datepicker.mjs +2 -2
  86. package/fesm2022/seniorsistemas-angular-components-datepicker.mjs.map +1 -1
  87. package/fesm2022/seniorsistemas-angular-components-dialog.mjs +14 -2
  88. package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -1
  89. package/fesm2022/seniorsistemas-angular-components-drawer.mjs +2 -2
  90. package/fesm2022/seniorsistemas-angular-components-drawer.mjs.map +1 -1
  91. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +12 -12
  92. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  93. package/fesm2022/seniorsistemas-angular-components-editor.mjs +4 -4
  94. package/fesm2022/seniorsistemas-angular-components-editor.mjs.map +1 -1
  95. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +2 -2
  96. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
  97. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +2 -2
  98. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
  99. package/fesm2022/seniorsistemas-angular-components-gantt.mjs +3 -2
  100. package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
  101. package/fesm2022/seniorsistemas-angular-components-global-search.mjs +14 -23
  102. package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
  103. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +2 -2
  104. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -1
  105. package/fesm2022/seniorsistemas-angular-components-input-text.mjs +2 -2
  106. package/fesm2022/seniorsistemas-angular-components-input-text.mjs.map +1 -1
  107. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +2 -2
  108. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
  109. package/fesm2022/seniorsistemas-angular-components-object-card.mjs +2 -2
  110. package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
  111. package/fesm2022/seniorsistemas-angular-components-paginator.mjs +2 -2
  112. package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
  113. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs +2 -2
  114. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs.map +1 -1
  115. package/fesm2022/seniorsistemas-angular-components-radio-button.mjs +3 -9
  116. package/fesm2022/seniorsistemas-angular-components-radio-button.mjs.map +1 -1
  117. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +2 -2
  118. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -1
  119. package/fesm2022/seniorsistemas-angular-components-select-button.mjs +2 -2
  120. package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
  121. package/fesm2022/seniorsistemas-angular-components-select.mjs +2 -2
  122. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
  123. package/fesm2022/seniorsistemas-angular-components-shared.mjs +5 -5
  124. package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
  125. package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs +2 -2
  126. package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs.map +1 -1
  127. package/fesm2022/seniorsistemas-angular-components-slider.mjs +67 -65
  128. package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
  129. package/fesm2022/seniorsistemas-angular-components-split-button.mjs +2 -2
  130. package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
  131. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +2 -2
  132. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
  133. package/fesm2022/seniorsistemas-angular-components-stepper.mjs +2 -2
  134. package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -1
  135. package/fesm2022/seniorsistemas-angular-components-switch.mjs +4 -18
  136. package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
  137. package/fesm2022/seniorsistemas-angular-components-tabs.mjs +2 -2
  138. package/fesm2022/seniorsistemas-angular-components-tabs.mjs.map +1 -1
  139. package/fesm2022/seniorsistemas-angular-components-text-area.mjs +2 -2
  140. package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
  141. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +9 -2
  142. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
  143. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +2 -2
  144. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -1
  145. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +5 -4
  146. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  147. package/fesm2022/seniorsistemas-angular-components-tile.mjs +2 -2
  148. package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -1
  149. package/fesm2022/seniorsistemas-angular-components-tree.mjs +20 -3
  150. package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
  151. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +2 -2
  152. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
  153. package/fesm2022/seniorsistemas-angular-components.mjs +4 -1
  154. package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
  155. package/global-search/lib/global-search/global-search.component.d.ts +7 -3
  156. package/package.json +1 -1
  157. package/radio-button/lib/radio-button/radio-button.component.d.ts +0 -1
  158. package/slider/lib/slider/slider.component.d.ts +25 -7
  159. package/styles.css +5 -0
  160. package/switch/lib/switch/switch.component.d.ts +0 -2
  161. package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +1 -0
  162. package/tree/lib/tree/components/tree-node-item/tree-node-item.component.d.ts +4 -0
@@ -60,11 +60,11 @@ export class SplitButtonComponent {
60
60
  this.open = false;
61
61
  }
62
62
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SplitButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SplitButtonComponent, isStandalone: true, selector: "s-split-button", inputs: { disabled: "disabled", iconClass: "iconClass", label: "label", type: "type", options: "options", openIcon: "openIcon", closeIcon: "closeIcon" }, outputs: { buttonClicked: "buttonClicked" }, host: { listeners: { "document:click": "onClickout($event)" } }, ngImport: i0, template: "<div\n class=\"split-button\"\n [ngClass]=\"{\n 'split-button--primary': type === 'primary',\n 'split-button--secondary': type === 'secondary',\n 'split-button--default': type === 'default',\n 'split-button--disabled': disabled,\n }\"\n>\n <button\n class=\"button\"\n (click)=\"onButtonClick()\"\n >\n <span\n class=\"button__icon\"\n [ngClass]=\"iconClass\"\n ></span>\n <span class=\"button__label\">{{ label }}</span>\n </button>\n <button\n class=\"dropdown\"\n (click)=\"onDropdownClick()\"\n >\n <span\n class=\"dropdown__icon\"\n [class]=\"open ? closeIcon : openIcon\"\n >\n </span>\n </button>\n</div>\n\n@if (this.open) {\n <ul class=\"options\">\n @for (option of options; track option.title) {\n <li (click)=\"onOptionClick(option)\">\n {{ option.title }}\n </li>\n }\n </ul>\n}\n", styles: [".split-button{display:flex;-webkit-user-select:none;user-select:none;max-height:35px}.split-button .button{align-items:center;border:none;border-radius:4px 0 0 4px;display:flex;padding:8px 8px 8px 12px;transition:all .3s ease-in-out}.split-button .button__icon{font-size:16px;padding:0 4px}.split-button .button__title{font-family:Open Sans,sans-serif;font-size:14px;font-weight:400;line-height:21px}.split-button .dropdown{align-items:center;border:none;border-left:1px solid #608190;border-radius:0 4px 4px 0;display:flex;justify-content:center;padding:12px 8px;transition:all .3s ease-in-out}.split-button--disabled{opacity:.5}.split-button--primary .button,.split-button--primary .dropdown{background-color:#428bca;color:#fff}.split-button--primary:not(.split-button--primary--disabled) .button,.split-button--primary:not(.split-button--primary--disabled) .dropdown{cursor:pointer}.split-button--primary:not(.split-button--primary--disabled) .button:hover,.split-button--primary:not(.split-button--primary--disabled) .dropdown:hover{background-color:#063951}.split-button--secondary .button,.split-button--secondary .dropdown{background-color:#7892a1;color:#fff}.split-button--secondary:not(.split-button--secondary--disabled) .button,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown{cursor:pointer}.split-button--secondary:not(.split-button--secondary--disabled) .button:hover,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown:hover{background-color:#697882}.split-button--default .button,.split-button--default .dropdown{background-color:unset;border:1px solid #d8d8d8;color:#333}.split-button--default:not(.split-button--default--disabled) .button,.split-button--default:not(.split-button--default--disabled) .dropdown{cursor:pointer}.split-button--default:not(.split-button--default--disabled) .button:hover,.split-button--default:not(.split-button--default--disabled) .dropdown:hover{background-color:#d8d8d8}.options{background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #00000040;display:inline-block;list-style:none;margin:2px 0;padding:8px 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:10}.options li{color:#333;cursor:pointer;font-family:Open Sans,sans-serif;font-weight:400;font-size:14px;line-height:21px;padding:8px 16px}.options li:hover{background-color:#d8d8d8}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
63
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SplitButtonComponent, isStandalone: true, selector: "s-split-button", inputs: { disabled: "disabled", iconClass: "iconClass", label: "label", type: "type", options: "options", openIcon: "openIcon", closeIcon: "closeIcon" }, outputs: { buttonClicked: "buttonClicked" }, host: { listeners: { "document:click": "onClickout($event)" } }, ngImport: i0, template: "<div\n class=\"split-button\"\n [ngClass]=\"{\n 'split-button--primary': type === 'primary',\n 'split-button--secondary': type === 'secondary',\n 'split-button--default': type === 'default',\n 'split-button--disabled': disabled,\n }\"\n>\n <button\n class=\"button\"\n (click)=\"onButtonClick()\"\n >\n <span\n class=\"button__icon\"\n [ngClass]=\"iconClass\"\n ></span>\n <span class=\"button__label\">{{ label }}</span>\n </button>\n <button\n class=\"dropdown\"\n (click)=\"onDropdownClick()\"\n >\n <span\n class=\"dropdown__icon\"\n [class]=\"open ? closeIcon : openIcon\"\n >\n </span>\n </button>\n</div>\n\n@if (this.open) {\n <ul class=\"options\">\n @for (option of options; track option.title) {\n <li (click)=\"onOptionClick(option)\">\n {{ option.title }}\n </li>\n }\n </ul>\n}\n", styles: [".split-button{display:flex;-webkit-user-select:none;user-select:none;max-height:35px}.split-button .button{align-items:center;border:none;border-radius:4px 0 0 4px;display:flex;padding:8px 8px 8px 12px;transition:background-color .3s ease-in-out}.split-button .button:focus-visible{outline:2px solid var(--s-focus-ring-color);outline-offset:3px}.split-button .button__icon{font-size:16px;padding:0 4px}.split-button .button__title{font-family:Open Sans,sans-serif;font-size:14px;font-weight:400;line-height:21px}.split-button .dropdown{align-items:center;border:none;border-left:1px solid #608190;border-radius:0 4px 4px 0;display:flex;justify-content:center;padding:12px 8px;transition:background-color .3s ease-in-out}.split-button .dropdown:focus-visible{outline:2px solid var(--s-focus-ring-color);outline-offset:3px}.split-button--disabled{opacity:.5}.split-button--primary .button,.split-button--primary .dropdown{background-color:#428bca;color:#fff}.split-button--primary:not(.split-button--primary--disabled) .button,.split-button--primary:not(.split-button--primary--disabled) .dropdown{cursor:pointer}.split-button--primary:not(.split-button--primary--disabled) .button:hover,.split-button--primary:not(.split-button--primary--disabled) .dropdown:hover{background-color:#063951}.split-button--secondary .button,.split-button--secondary .dropdown{background-color:#7892a1;color:#fff}.split-button--secondary:not(.split-button--secondary--disabled) .button,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown{cursor:pointer}.split-button--secondary:not(.split-button--secondary--disabled) .button:hover,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown:hover{background-color:#697882}.split-button--default .button,.split-button--default .dropdown{background-color:unset;border:1px solid #d8d8d8;color:#333}.split-button--default:not(.split-button--default--disabled) .button,.split-button--default:not(.split-button--default--disabled) .dropdown{cursor:pointer}.split-button--default:not(.split-button--default--disabled) .button:hover,.split-button--default:not(.split-button--default--disabled) .dropdown:hover{background-color:#d8d8d8}.options{background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #00000040;display:inline-block;list-style:none;margin:2px 0;padding:8px 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:10}.options li{color:#333;cursor:pointer;font-family:Open Sans,sans-serif;font-weight:400;font-size:14px;line-height:21px;padding:8px 16px}.options li:hover{background-color:#d8d8d8}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
64
64
  }
65
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SplitButtonComponent, decorators: [{
66
66
  type: Component,
67
- args: [{ selector: 's-split-button', standalone: true, imports: [NgClass], template: "<div\n class=\"split-button\"\n [ngClass]=\"{\n 'split-button--primary': type === 'primary',\n 'split-button--secondary': type === 'secondary',\n 'split-button--default': type === 'default',\n 'split-button--disabled': disabled,\n }\"\n>\n <button\n class=\"button\"\n (click)=\"onButtonClick()\"\n >\n <span\n class=\"button__icon\"\n [ngClass]=\"iconClass\"\n ></span>\n <span class=\"button__label\">{{ label }}</span>\n </button>\n <button\n class=\"dropdown\"\n (click)=\"onDropdownClick()\"\n >\n <span\n class=\"dropdown__icon\"\n [class]=\"open ? closeIcon : openIcon\"\n >\n </span>\n </button>\n</div>\n\n@if (this.open) {\n <ul class=\"options\">\n @for (option of options; track option.title) {\n <li (click)=\"onOptionClick(option)\">\n {{ option.title }}\n </li>\n }\n </ul>\n}\n", styles: [".split-button{display:flex;-webkit-user-select:none;user-select:none;max-height:35px}.split-button .button{align-items:center;border:none;border-radius:4px 0 0 4px;display:flex;padding:8px 8px 8px 12px;transition:all .3s ease-in-out}.split-button .button__icon{font-size:16px;padding:0 4px}.split-button .button__title{font-family:Open Sans,sans-serif;font-size:14px;font-weight:400;line-height:21px}.split-button .dropdown{align-items:center;border:none;border-left:1px solid #608190;border-radius:0 4px 4px 0;display:flex;justify-content:center;padding:12px 8px;transition:all .3s ease-in-out}.split-button--disabled{opacity:.5}.split-button--primary .button,.split-button--primary .dropdown{background-color:#428bca;color:#fff}.split-button--primary:not(.split-button--primary--disabled) .button,.split-button--primary:not(.split-button--primary--disabled) .dropdown{cursor:pointer}.split-button--primary:not(.split-button--primary--disabled) .button:hover,.split-button--primary:not(.split-button--primary--disabled) .dropdown:hover{background-color:#063951}.split-button--secondary .button,.split-button--secondary .dropdown{background-color:#7892a1;color:#fff}.split-button--secondary:not(.split-button--secondary--disabled) .button,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown{cursor:pointer}.split-button--secondary:not(.split-button--secondary--disabled) .button:hover,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown:hover{background-color:#697882}.split-button--default .button,.split-button--default .dropdown{background-color:unset;border:1px solid #d8d8d8;color:#333}.split-button--default:not(.split-button--default--disabled) .button,.split-button--default:not(.split-button--default--disabled) .dropdown{cursor:pointer}.split-button--default:not(.split-button--default--disabled) .button:hover,.split-button--default:not(.split-button--default--disabled) .dropdown:hover{background-color:#d8d8d8}.options{background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #00000040;display:inline-block;list-style:none;margin:2px 0;padding:8px 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:10}.options li{color:#333;cursor:pointer;font-family:Open Sans,sans-serif;font-weight:400;font-size:14px;line-height:21px;padding:8px 16px}.options li:hover{background-color:#d8d8d8}\n"] }]
67
+ args: [{ selector: 's-split-button', standalone: true, imports: [NgClass], template: "<div\n class=\"split-button\"\n [ngClass]=\"{\n 'split-button--primary': type === 'primary',\n 'split-button--secondary': type === 'secondary',\n 'split-button--default': type === 'default',\n 'split-button--disabled': disabled,\n }\"\n>\n <button\n class=\"button\"\n (click)=\"onButtonClick()\"\n >\n <span\n class=\"button__icon\"\n [ngClass]=\"iconClass\"\n ></span>\n <span class=\"button__label\">{{ label }}</span>\n </button>\n <button\n class=\"dropdown\"\n (click)=\"onDropdownClick()\"\n >\n <span\n class=\"dropdown__icon\"\n [class]=\"open ? closeIcon : openIcon\"\n >\n </span>\n </button>\n</div>\n\n@if (this.open) {\n <ul class=\"options\">\n @for (option of options; track option.title) {\n <li (click)=\"onOptionClick(option)\">\n {{ option.title }}\n </li>\n }\n </ul>\n}\n", styles: [".split-button{display:flex;-webkit-user-select:none;user-select:none;max-height:35px}.split-button .button{align-items:center;border:none;border-radius:4px 0 0 4px;display:flex;padding:8px 8px 8px 12px;transition:background-color .3s ease-in-out}.split-button .button:focus-visible{outline:2px solid var(--s-focus-ring-color);outline-offset:3px}.split-button .button__icon{font-size:16px;padding:0 4px}.split-button .button__title{font-family:Open Sans,sans-serif;font-size:14px;font-weight:400;line-height:21px}.split-button .dropdown{align-items:center;border:none;border-left:1px solid #608190;border-radius:0 4px 4px 0;display:flex;justify-content:center;padding:12px 8px;transition:background-color .3s ease-in-out}.split-button .dropdown:focus-visible{outline:2px solid var(--s-focus-ring-color);outline-offset:3px}.split-button--disabled{opacity:.5}.split-button--primary .button,.split-button--primary .dropdown{background-color:#428bca;color:#fff}.split-button--primary:not(.split-button--primary--disabled) .button,.split-button--primary:not(.split-button--primary--disabled) .dropdown{cursor:pointer}.split-button--primary:not(.split-button--primary--disabled) .button:hover,.split-button--primary:not(.split-button--primary--disabled) .dropdown:hover{background-color:#063951}.split-button--secondary .button,.split-button--secondary .dropdown{background-color:#7892a1;color:#fff}.split-button--secondary:not(.split-button--secondary--disabled) .button,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown{cursor:pointer}.split-button--secondary:not(.split-button--secondary--disabled) .button:hover,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown:hover{background-color:#697882}.split-button--default .button,.split-button--default .dropdown{background-color:unset;border:1px solid #d8d8d8;color:#333}.split-button--default:not(.split-button--default--disabled) .button,.split-button--default:not(.split-button--default--disabled) .dropdown{cursor:pointer}.split-button--default:not(.split-button--default--disabled) .button:hover,.split-button--default:not(.split-button--default--disabled) .dropdown:hover{background-color:#d8d8d8}.options{background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #00000040;display:inline-block;list-style:none;margin:2px 0;padding:8px 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:10}.options li{color:#333;cursor:pointer;font-family:Open Sans,sans-serif;font-weight:400;font-size:14px;line-height:21px;padding:8px 16px}.options li:hover{background-color:#d8d8d8}\n"] }]
68
68
  }], propDecorators: { disabled: [{
69
69
  type: Input
70
70
  }], iconClass: [{
@@ -88,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
88
88
  type: HostListener,
89
89
  args: ['document:click', ['$event']]
90
90
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcGxpdC1idXR0b24vc3JjL2xpYi9zcGxpdC1idXR0b24vc3BsaXQtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcGxpdC1idXR0b24vc3JjL2xpYi9zcGxpdC1idXR0b24vc3BsaXQtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt6Rzs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFRSCxNQUFNLE9BQU8sb0JBQW9CO0lBQ1osS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUU1Qyw2RUFBNkU7SUFFdEUsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUV4QixrRkFBa0Y7SUFFM0UsU0FBUyxDQUFVO0lBRTFCLGlFQUFpRTtJQUUxRCxLQUFLLENBQVU7SUFFdEIsNkZBQTZGO0lBRXRGLElBQUksR0FBb0IsU0FBUyxDQUFDO0lBRXpDLDRFQUE0RTtJQUVyRSxPQUFPLENBQXVCO0lBRXJDLDBHQUEwRztJQUVuRyxRQUFRLEdBQUcscUJBQXFCLENBQUM7SUFFeEMsdUdBQXVHO0lBRWhHLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQztJQUV2Qyx3RkFBd0Y7SUFFakYsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbkMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUdiLFVBQVUsQ0FBQyxLQUFpQjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQUVNLGFBQWE7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztJQUVNLGFBQWEsQ0FBQyxNQUF5QjtRQUMxQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGNBQWM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQzt3R0FoRVEsb0JBQW9COzRGQUFwQixvQkFBb0Isa1ZDN0JqQyw2L0JBd0NBLHUzRURiYyxPQUFPOzs0RkFFUixvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksZ0JBQWdCLGNBR2QsSUFBSSxXQUNQLENBQUMsT0FBTyxDQUFDOzhCQU9YLFFBQVE7c0JBRGQsS0FBSztnQkFLQyxTQUFTO3NCQURmLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtsQixLQUFLO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtsQixJQUFJO3NCQURWLEtBQUs7Z0JBS0MsT0FBTztzQkFEYixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLbEIsUUFBUTtzQkFEZCxLQUFLO2dCQUtDLFNBQVM7c0JBRGYsS0FBSztnQkFLQyxhQUFhO3NCQURuQixNQUFNO2dCQU1BLFVBQVU7c0JBRGhCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTcGxpdEJ1dHRvbk9wdGlvbiB9IGZyb20gJy4vbW9kZWxzL3NwbGl0LWJ1dHRvbi1vcHRpb24nO1xyXG5pbXBvcnQgeyBTcGxpdEJ1dHRvblR5cGUgfSBmcm9tICcuL21vZGVscy9zcGxpdC1idXR0b24tdHlwZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uIEJvdMOjbyBjb21wb3N0byBjb20gYcOnw6NvIHByaW5jaXBhbCBlIGRyb3Bkb3duIGRlIG9ww6fDtWVzIGFkaWNpb25haXMuXHJcbiAqIEFvIGNsaWNhciBubyBib3TDo28gcHJpbmNpcGFsIGVtaXRlIGBidXR0b25DbGlja2VkYDsgYW8gY2xpY2FyIG5vIMOtY29uZSBkZSBzZXRhXHJcbiAqIGFicmUvZmVjaGEgbyBkcm9wZG93biBjb20gYSBsaXN0YSBkZSBgb3B0aW9uc2AuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPHMtc3BsaXQtYnV0dG9uXHJcbiAqICAgbGFiZWw9XCJTYWx2YXJcIlxyXG4gKiAgIGljb25DbGFzcz1cImZhcyBmYS1zYXZlXCJcclxuICogICBbb3B0aW9uc109XCJtZW51T3Bjb2VzXCJcclxuICogICAoYnV0dG9uQ2xpY2tlZCk9XCJvblNhbHZhcigpXCIgLz5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBJbnB1dHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzLXNwbGl0LWJ1dHRvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3BsaXQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3NwbGl0LWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0NsYXNzXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwbGl0QnV0dG9uQ29tcG9uZW50IHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBEZXNhYmlsaXRhIG8gYm90w6NvIHByaW5jaXBhbCBlIG8gZHJvcGRvd24uIEBkZWZhdWx0IGZhbHNlICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDbGFzc2UgZG8gw61jb25lIGV4aWJpZG8gbm8gYm90w6NvIHByaW5jaXBhbC4gQ2FtcG8gb2JyaWdhdMOzcmlvLiAqL1xyXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICAgIHB1YmxpYyBpY29uQ2xhc3MhOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBSw7N0dWxvIGRvIGJvdMOjbyBwcmluY2lwYWwuIENhbXBvIG9icmlnYXTDs3Jpby4gKi9cclxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXHJcbiAgICBwdWJsaWMgbGFiZWwhOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFc3RpbG8gdmlzdWFsIGRvIGJvdMOjbyAoYCdwcmltYXJ5J2Agb3UgYCdzZWNvbmRhcnknYCkuIEBkZWZhdWx0ICdwcmltYXJ5JyAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0eXBlOiBTcGxpdEJ1dHRvblR5cGUgPSAncHJpbWFyeSc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBMaXN0YSBkZSBvcMOnw7VlcyBleGliaWRhcyBubyBkcm9wZG93bi4gQ2FtcG8gb2JyaWdhdMOzcmlvLiAqL1xyXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICAgIHB1YmxpYyBvcHRpb25zITogU3BsaXRCdXR0b25PcHRpb25bXTtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIENsYXNzZSBkbyDDrWNvbmUgZXhpYmlkbyBxdWFuZG8gbyBkcm9wZG93biBlc3TDoSBmZWNoYWRvLiBAZGVmYXVsdCAnZmFyIGZhLWNoZXZyb24tZG93bicgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgb3Blbkljb24gPSAnZmFyIGZhLWNoZXZyb24tZG93bic7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDbGFzc2UgZG8gw61jb25lIGV4aWJpZG8gcXVhbmRvIG8gZHJvcGRvd24gZXN0w6EgYWJlcnRvLiBAZGVmYXVsdCAnZmFyIGZhLWNoZXZyb24tdXAnICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNsb3NlSWNvbiA9ICdmYXIgZmEtY2hldnJvbi11cCc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBvIHVzdcOhcmlvIGNsaWNhIG5vIGJvdMOjbyBwcmluY2lwYWwgKG7Do28gbm8gZHJvcGRvd24pLiAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgYnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBwdWJsaWMgb3BlbiA9IGZhbHNlO1xyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICAgIHB1YmxpYyBvbkNsaWNrb3V0KGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9lUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jbG9zZURyb3Bkb3duKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkJ1dHRvbkNsaWNrKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmJ1dHRvbkNsaWNrZWQuZW1pdCgpO1xyXG4gICAgICAgICAgICB0aGlzLl9jbG9zZURyb3Bkb3duKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkRyb3Bkb3duQ2xpY2soKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbk9wdGlvbkNsaWNrKG9wdGlvbjogU3BsaXRCdXR0b25PcHRpb24pIHtcclxuICAgICAgICBvcHRpb24uYWN0aW9uPy4oKTtcclxuICAgICAgICB0aGlzLl9jbG9zZURyb3Bkb3duKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY2xvc2VEcm9wZG93bigpIHtcclxuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJzcGxpdC1idXR0b25cIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3NwbGl0LWJ1dHRvbi0tcHJpbWFyeSc6IHR5cGUgPT09ICdwcmltYXJ5JyxcbiAgICAgICAgJ3NwbGl0LWJ1dHRvbi0tc2Vjb25kYXJ5JzogdHlwZSA9PT0gJ3NlY29uZGFyeScsXG4gICAgICAgICdzcGxpdC1idXR0b24tLWRlZmF1bHQnOiB0eXBlID09PSAnZGVmYXVsdCcsXG4gICAgICAgICdzcGxpdC1idXR0b24tLWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgfVwiXG4+XG4gICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKClcIlxuICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uX19pY29uXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImljb25DbGFzc1wiXG4gICAgICAgID48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uX19sYWJlbFwiPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJkcm9wZG93blwiXG4gICAgICAgIChjbGljayk9XCJvbkRyb3Bkb3duQ2xpY2soKVwiXG4gICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bl9faWNvblwiXG4gICAgICAgICAgICBbY2xhc3NdPVwib3BlbiA/IGNsb3NlSWNvbiA6IG9wZW5JY29uXCJcbiAgICAgICAgPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cblxuQGlmICh0aGlzLm9wZW4pIHtcbiAgICA8dWwgY2xhc3M9XCJvcHRpb25zXCI+XG4gICAgICAgIEBmb3IgKG9wdGlvbiBvZiBvcHRpb25zOyB0cmFjayBvcHRpb24udGl0bGUpIHtcbiAgICAgICAgICAgIDxsaSAoY2xpY2spPVwib25PcHRpb25DbGljayhvcHRpb24pXCI+XG4gICAgICAgICAgICAgICAge3sgb3B0aW9uLnRpdGxlIH19XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgPC91bD5cbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcGxpdC1idXR0b24vc3JjL2xpYi9zcGxpdC1idXR0b24vc3BsaXQtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcGxpdC1idXR0b24vc3JjL2xpYi9zcGxpdC1idXR0b24vc3BsaXQtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt6Rzs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFRSCxNQUFNLE9BQU8sb0JBQW9CO0lBQ1osS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUU1Qyw2RUFBNkU7SUFFdEUsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUV4QixrRkFBa0Y7SUFFM0UsU0FBUyxDQUFVO0lBRTFCLGlFQUFpRTtJQUUxRCxLQUFLLENBQVU7SUFFdEIsNkZBQTZGO0lBRXRGLElBQUksR0FBb0IsU0FBUyxDQUFDO0lBRXpDLDRFQUE0RTtJQUVyRSxPQUFPLENBQXVCO0lBRXJDLDBHQUEwRztJQUVuRyxRQUFRLEdBQUcscUJBQXFCLENBQUM7SUFFeEMsdUdBQXVHO0lBRWhHLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQztJQUV2Qyx3RkFBd0Y7SUFFakYsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbkMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUdiLFVBQVUsQ0FBQyxLQUFpQjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQUVNLGFBQWE7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztJQUVNLGFBQWEsQ0FBQyxNQUF5QjtRQUMxQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGNBQWM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQzt3R0FoRVEsb0JBQW9COzRGQUFwQixvQkFBb0Isa1ZDN0JqQyw2L0JBd0NBLHlsRkRiYyxPQUFPOzs0RkFFUixvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksZ0JBQWdCLGNBR2QsSUFBSSxXQUNQLENBQUMsT0FBTyxDQUFDOzhCQU9YLFFBQVE7c0JBRGQsS0FBSztnQkFLQyxTQUFTO3NCQURmLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtsQixLQUFLO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtsQixJQUFJO3NCQURWLEtBQUs7Z0JBS0MsT0FBTztzQkFEYixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLbEIsUUFBUTtzQkFEZCxLQUFLO2dCQUtDLFNBQVM7c0JBRGYsS0FBSztnQkFLQyxhQUFhO3NCQURuQixNQUFNO2dCQU1BLFVBQVU7c0JBRGhCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTcGxpdEJ1dHRvbk9wdGlvbiB9IGZyb20gJy4vbW9kZWxzL3NwbGl0LWJ1dHRvbi1vcHRpb24nO1xyXG5pbXBvcnQgeyBTcGxpdEJ1dHRvblR5cGUgfSBmcm9tICcuL21vZGVscy9zcGxpdC1idXR0b24tdHlwZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uIEJvdMOjbyBjb21wb3N0byBjb20gYcOnw6NvIHByaW5jaXBhbCBlIGRyb3Bkb3duIGRlIG9ww6fDtWVzIGFkaWNpb25haXMuXHJcbiAqIEFvIGNsaWNhciBubyBib3TDo28gcHJpbmNpcGFsIGVtaXRlIGBidXR0b25DbGlja2VkYDsgYW8gY2xpY2FyIG5vIMOtY29uZSBkZSBzZXRhXHJcbiAqIGFicmUvZmVjaGEgbyBkcm9wZG93biBjb20gYSBsaXN0YSBkZSBgb3B0aW9uc2AuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPHMtc3BsaXQtYnV0dG9uXHJcbiAqICAgbGFiZWw9XCJTYWx2YXJcIlxyXG4gKiAgIGljb25DbGFzcz1cImZhcyBmYS1zYXZlXCJcclxuICogICBbb3B0aW9uc109XCJtZW51T3Bjb2VzXCJcclxuICogICAoYnV0dG9uQ2xpY2tlZCk9XCJvblNhbHZhcigpXCIgLz5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBJbnB1dHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzLXNwbGl0LWJ1dHRvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3BsaXQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3NwbGl0LWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0NsYXNzXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwbGl0QnV0dG9uQ29tcG9uZW50IHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBEZXNhYmlsaXRhIG8gYm90w6NvIHByaW5jaXBhbCBlIG8gZHJvcGRvd24uIEBkZWZhdWx0IGZhbHNlICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDbGFzc2UgZG8gw61jb25lIGV4aWJpZG8gbm8gYm90w6NvIHByaW5jaXBhbC4gQ2FtcG8gb2JyaWdhdMOzcmlvLiAqL1xyXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICAgIHB1YmxpYyBpY29uQ2xhc3MhOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBSw7N0dWxvIGRvIGJvdMOjbyBwcmluY2lwYWwuIENhbXBvIG9icmlnYXTDs3Jpby4gKi9cclxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXHJcbiAgICBwdWJsaWMgbGFiZWwhOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFc3RpbG8gdmlzdWFsIGRvIGJvdMOjbyAoYCdwcmltYXJ5J2Agb3UgYCdzZWNvbmRhcnknYCkuIEBkZWZhdWx0ICdwcmltYXJ5JyAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0eXBlOiBTcGxpdEJ1dHRvblR5cGUgPSAncHJpbWFyeSc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBMaXN0YSBkZSBvcMOnw7VlcyBleGliaWRhcyBubyBkcm9wZG93bi4gQ2FtcG8gb2JyaWdhdMOzcmlvLiAqL1xyXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICAgIHB1YmxpYyBvcHRpb25zITogU3BsaXRCdXR0b25PcHRpb25bXTtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIENsYXNzZSBkbyDDrWNvbmUgZXhpYmlkbyBxdWFuZG8gbyBkcm9wZG93biBlc3TDoSBmZWNoYWRvLiBAZGVmYXVsdCAnZmFyIGZhLWNoZXZyb24tZG93bicgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgb3Blbkljb24gPSAnZmFyIGZhLWNoZXZyb24tZG93bic7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDbGFzc2UgZG8gw61jb25lIGV4aWJpZG8gcXVhbmRvIG8gZHJvcGRvd24gZXN0w6EgYWJlcnRvLiBAZGVmYXVsdCAnZmFyIGZhLWNoZXZyb24tdXAnICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNsb3NlSWNvbiA9ICdmYXIgZmEtY2hldnJvbi11cCc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBvIHVzdcOhcmlvIGNsaWNhIG5vIGJvdMOjbyBwcmluY2lwYWwgKG7Do28gbm8gZHJvcGRvd24pLiAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgYnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBwdWJsaWMgb3BlbiA9IGZhbHNlO1xyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICAgIHB1YmxpYyBvbkNsaWNrb3V0KGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9lUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jbG9zZURyb3Bkb3duKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkJ1dHRvbkNsaWNrKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmJ1dHRvbkNsaWNrZWQuZW1pdCgpO1xyXG4gICAgICAgICAgICB0aGlzLl9jbG9zZURyb3Bkb3duKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkRyb3Bkb3duQ2xpY2soKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbk9wdGlvbkNsaWNrKG9wdGlvbjogU3BsaXRCdXR0b25PcHRpb24pIHtcclxuICAgICAgICBvcHRpb24uYWN0aW9uPy4oKTtcclxuICAgICAgICB0aGlzLl9jbG9zZURyb3Bkb3duKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY2xvc2VEcm9wZG93bigpIHtcclxuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJzcGxpdC1idXR0b25cIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3NwbGl0LWJ1dHRvbi0tcHJpbWFyeSc6IHR5cGUgPT09ICdwcmltYXJ5JyxcbiAgICAgICAgJ3NwbGl0LWJ1dHRvbi0tc2Vjb25kYXJ5JzogdHlwZSA9PT0gJ3NlY29uZGFyeScsXG4gICAgICAgICdzcGxpdC1idXR0b24tLWRlZmF1bHQnOiB0eXBlID09PSAnZGVmYXVsdCcsXG4gICAgICAgICdzcGxpdC1idXR0b24tLWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgfVwiXG4+XG4gICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKClcIlxuICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uX19pY29uXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImljb25DbGFzc1wiXG4gICAgICAgID48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uX19sYWJlbFwiPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJkcm9wZG93blwiXG4gICAgICAgIChjbGljayk9XCJvbkRyb3Bkb3duQ2xpY2soKVwiXG4gICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bl9faWNvblwiXG4gICAgICAgICAgICBbY2xhc3NdPVwib3BlbiA/IGNsb3NlSWNvbiA6IG9wZW5JY29uXCJcbiAgICAgICAgPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cblxuQGlmICh0aGlzLm9wZW4pIHtcbiAgICA8dWwgY2xhc3M9XCJvcHRpb25zXCI+XG4gICAgICAgIEBmb3IgKG9wdGlvbiBvZiBvcHRpb25zOyB0cmFjayBvcHRpb24udGl0bGUpIHtcbiAgICAgICAgICAgIDxsaSAoY2xpY2spPVwib25PcHRpb25DbGljayhvcHRpb24pXCI+XG4gICAgICAgICAgICAgICAge3sgb3B0aW9uLnRpdGxlIH19XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgPC91bD5cbn1cbiJdfQ==
@@ -64,7 +64,7 @@ export class StarRatingComponent {
64
64
  useExisting: StarRatingComponent,
65
65
  multi: true,
66
66
  },
67
- ], ngImport: i0, template: "@let justifyContentClassName = 'justify-' + justifyContent();\n<section [class]=\"justifyContentClassName\" class=\"flex gap-2\" [class.opacity-50]=\"disabled()\">\n @for(item of elementsRender(); track item) {\n @let isActivated = selectedStar() <= item;\n <i\n [class.fas]=\"!isActivated\"\n [class.far]=\"isActivated\"\n [class.cursor-pointer]=\"!disabled()\"\n class=\"fa-star text-buttercup-500 cursor-pointer\"\n [disabled]=\"disabled()\"\n (sInteractiveContent)=\"onSelectStar(item + 1)\">\n </i>\n }\n</section>\n", dependencies: [{ kind: "directive", type: InteractiveContentDirective, selector: "[sInteractiveContent]", inputs: ["focusable", "disabled", "stopPropagation"], outputs: ["sInteractiveContent"] }] });
67
+ ], ngImport: i0, template: "@let justifyContentClassName = 'justify-' + justifyContent();\n<section [class]=\"justifyContentClassName\" class=\"flex gap-2\" [class.opacity-50]=\"disabled()\">\n @for(item of elementsRender(); track item) {\n @let isActivated = selectedStar() <= item;\n <i\n [class.fas]=\"!isActivated\"\n [class.far]=\"isActivated\"\n [class.cursor-pointer]=\"!disabled()\"\n class=\"fa-star text-buttercup-500 cursor-pointer rounded-[50%] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[3px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)]\"\n [disabled]=\"disabled()\"\n (sInteractiveContent)=\"onSelectStar(item + 1)\">\n </i>\n }\n</section>\n", dependencies: [{ kind: "directive", type: InteractiveContentDirective, selector: "[sInteractiveContent]", inputs: ["focusable", "disabled", "stopPropagation"], outputs: ["sInteractiveContent"] }] });
68
68
  }
69
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StarRatingComponent, decorators: [{
70
70
  type: Component,
@@ -74,6 +74,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
74
74
  useExisting: StarRatingComponent,
75
75
  multi: true,
76
76
  },
77
- ], template: "@let justifyContentClassName = 'justify-' + justifyContent();\n<section [class]=\"justifyContentClassName\" class=\"flex gap-2\" [class.opacity-50]=\"disabled()\">\n @for(item of elementsRender(); track item) {\n @let isActivated = selectedStar() <= item;\n <i\n [class.fas]=\"!isActivated\"\n [class.far]=\"isActivated\"\n [class.cursor-pointer]=\"!disabled()\"\n class=\"fa-star text-buttercup-500 cursor-pointer\"\n [disabled]=\"disabled()\"\n (sInteractiveContent)=\"onSelectStar(item + 1)\">\n </i>\n }\n</section>\n" }]
77
+ ], template: "@let justifyContentClassName = 'justify-' + justifyContent();\n<section [class]=\"justifyContentClassName\" class=\"flex gap-2\" [class.opacity-50]=\"disabled()\">\n @for(item of elementsRender(); track item) {\n @let isActivated = selectedStar() <= item;\n <i\n [class.fas]=\"!isActivated\"\n [class.far]=\"isActivated\"\n [class.cursor-pointer]=\"!disabled()\"\n class=\"fa-star text-buttercup-500 cursor-pointer rounded-[50%] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[3px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)]\"\n [disabled]=\"disabled()\"\n (sInteractiveContent)=\"onSelectStar(item + 1)\">\n </i>\n }\n</section>\n" }]
78
78
  }] });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1yYXRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3N0YXItcmF0aW5nL3NyYy9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3Rhci1yYXRpbmcvc3JjL3N0YXItcmF0aW5nL3N0YXItcmF0aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQUdyRzs7Ozs7Ozs7Ozs7R0FXRztBQWNILE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsUUFBUSxHQUE0QixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDN0MsU0FBUyxHQUE0QixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFOUMsa0ZBQWtGO0lBQ2xGLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsaUVBQWlFO0lBQ2pFLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsMEVBQTBFO0lBQzFFLGNBQWMsR0FBRyxLQUFLLENBQWUsUUFBUSxDQUFDLENBQUM7SUFDL0Msb0VBQW9FO0lBQ3BFLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFTCxjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxVQUFVLENBQUMsR0FBVztRQUNsQixJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBMkI7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxZQUFZLENBQUMsYUFBcUI7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sVUFBVSxDQUFDLGFBQXFCO1FBQ3BDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLGFBQWEsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztZQUN4QyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsQyxDQUFDO3dHQWxEUSxtQkFBbUI7NEZBQW5CLG1CQUFtQiw2ckJBUmpCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLG1CQUFtQjtnQkFDaEMsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLDBCQzVCTCx3bUJBY0EsNENETWMsMkJBQTJCOzs0RkFVNUIsbUJBQW1CO2tCQWIvQixTQUFTOytCQUNJLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQywyQkFBMkIsQ0FBQyxhQUUzQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHFCQUFxQjs0QkFDaEMsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEludGVyYWN0aXZlQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvaW50ZXJhY3RpdmUtY29udGVudCc7XG5pbXBvcnQgeyBKdXN0aWZ5VHlwZXMgfSBmcm9tICcuL3N0YXItcmF0aW5nLW1vZGVscyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgYXZhbGlhw6fDo28gcG9yIGVzdHJlbGFzIGNvbSBzdXBvcnRlIGEgYENvbnRyb2xWYWx1ZUFjY2Vzc29yYFxuICogcGFyYSBpbnRlZ3Jhw6fDo28gY29tIGZvcm11bMOhcmlvcyBBbmd1bGFyLiBQZXJtaXRlIGNvbmZpZ3VyYXIgbyBuw7ptZXJvIGRlIGVzdHJlbGFzLFxuICogYWxpbmhhbWVudG8gZSBlc3RhZG8gZGVzYWJpbGl0YWRvLiBDbGljYXIgbmEgZXN0cmVsYSBqw6Egc2VsZWNpb25hZGEgYSBkZXNlbGVjaW9uYS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtc3Rhci1yYXRpbmcgW3N0YXJzUmFuZ2VdPVwiNVwiIGZvcm1Db250cm9sTmFtZT1cImF2YWxpYWNhb1wiIC8+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgSW5wdXRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1zdGFyLXJhdGluZycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3Rhci1yYXRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTdGFyUmF0aW5nQ29tcG9uZW50LFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3RhclJhdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBvbkNoYW5nZTogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICBvblRvdWNoZWQ6ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIMONbmRpY2UgZGEgZXN0cmVsYSBhdHVhbG1lbnRlIHNlbGVjaW9uYWRhICgxLWJhc2VkKS4gQGRlZmF1bHQgMCAqL1xuICAgIHNlbGVjdGVkU3RhciA9IG1vZGVsKDApO1xuICAgIC8qKiBAZGVzY3JpcHRpb24gTsO6bWVybyB0b3RhbCBkZSBlc3RyZWxhcyBleGliaWRhcy4gQGRlZmF1bHQgNSAqL1xuICAgIHN0YXJzUmFuZ2UgPSBpbnB1dCg1KTtcbiAgICAvKiogQGRlc2NyaXB0aW9uIEFsaW5oYW1lbnRvIGhvcml6b250YWwgZGFzIGVzdHJlbGFzLiBAZGVmYXVsdCAnY2VudGVyJyAqL1xuICAgIGp1c3RpZnlDb250ZW50ID0gaW5wdXQ8SnVzdGlmeVR5cGVzPignY2VudGVyJyk7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBEZXNhYmlsaXRhIGEgc2VsZcOnw6NvIGRlIGVzdHJlbGFzLiBAZGVmYXVsdCBmYWxzZSAqL1xuICAgIGRpc2FibGVkID0gbW9kZWwoZmFsc2UpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRzUmVuZGVyID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuc3RhcnNSYW5nZSgpO1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogZWxlbWVudHMgfSkubWFwKChfeCwgJGluZGV4KSA9PiAkaW5kZXgpO1xuICAgIH0pO1xuXG4gICAgd3JpdGVWYWx1ZShvYmo6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAob2JqICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkU3Rhci5zZXQob2JqKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdFN0YXIoc2VsZWN0ZWRJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc3RvcmVWYWx1ZShzZWxlY3RlZEluZGV4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0b3JlVmFsdWUoc2VsZWN0ZWRJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA9PT0gdGhpcy5zZWxlY3RlZFN0YXIoKSkge1xuICAgICAgICAgICAgc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHNlbGVjdGVkSW5kZXgpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHNlbGVjdGVkSW5kZXgpO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZChzZWxlY3RlZEluZGV4KTtcbiAgICB9XG59XG5cbiIsIkBsZXQganVzdGlmeUNvbnRlbnRDbGFzc05hbWUgPSAnanVzdGlmeS0nICsganVzdGlmeUNvbnRlbnQoKTtcbjxzZWN0aW9uIFtjbGFzc109XCJqdXN0aWZ5Q29udGVudENsYXNzTmFtZVwiIGNsYXNzPVwiZmxleCBnYXAtMlwiIFtjbGFzcy5vcGFjaXR5LTUwXT1cImRpc2FibGVkKClcIj5cbiAgICBAZm9yKGl0ZW0gb2YgZWxlbWVudHNSZW5kZXIoKTsgdHJhY2sgaXRlbSkge1xuICAgICAgICBAbGV0IGlzQWN0aXZhdGVkID0gc2VsZWN0ZWRTdGFyKCkgPD0gaXRlbTtcbiAgICAgICAgPGlcbiAgICAgICAgICAgIFtjbGFzcy5mYXNdPVwiIWlzQWN0aXZhdGVkXCJcbiAgICAgICAgICAgIFtjbGFzcy5mYXJdPVwiaXNBY3RpdmF0ZWRcIlxuICAgICAgICAgICAgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cIiFkaXNhYmxlZCgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmEtc3RhciB0ZXh0LWJ1dHRlcmN1cC01MDAgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICAgICAgKHNJbnRlcmFjdGl2ZUNvbnRlbnQpPVwib25TZWxlY3RTdGFyKGl0ZW0gKyAxKVwiPlxuICAgICAgICA8L2k+XG4gICAgfVxuPC9zZWN0aW9uPlxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1yYXRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3N0YXItcmF0aW5nL3NyYy9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3Rhci1yYXRpbmcvc3JjL3N0YXItcmF0aW5nL3N0YXItcmF0aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQUdyRzs7Ozs7Ozs7Ozs7R0FXRztBQWNILE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsUUFBUSxHQUE0QixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDN0MsU0FBUyxHQUE0QixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFOUMsa0ZBQWtGO0lBQ2xGLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsaUVBQWlFO0lBQ2pFLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsMEVBQTBFO0lBQzFFLGNBQWMsR0FBRyxLQUFLLENBQWUsUUFBUSxDQUFDLENBQUM7SUFDL0Msb0VBQW9FO0lBQ3BFLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFTCxjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxVQUFVLENBQUMsR0FBVztRQUNsQixJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBMkI7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxZQUFZLENBQUMsYUFBcUI7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sVUFBVSxDQUFDLGFBQXFCO1FBQ3BDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLGFBQWEsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztZQUN4QyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsQyxDQUFDO3dHQWxEUSxtQkFBbUI7NEZBQW5CLG1CQUFtQiw2ckJBUmpCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLG1CQUFtQjtnQkFDaEMsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLDBCQzVCTCxpd0JBY0EsNENETWMsMkJBQTJCOzs0RkFVNUIsbUJBQW1CO2tCQWIvQixTQUFTOytCQUNJLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQywyQkFBMkIsQ0FBQyxhQUUzQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHFCQUFxQjs0QkFDaEMsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEludGVyYWN0aXZlQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvaW50ZXJhY3RpdmUtY29udGVudCc7XG5pbXBvcnQgeyBKdXN0aWZ5VHlwZXMgfSBmcm9tICcuL3N0YXItcmF0aW5nLW1vZGVscyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgYXZhbGlhw6fDo28gcG9yIGVzdHJlbGFzIGNvbSBzdXBvcnRlIGEgYENvbnRyb2xWYWx1ZUFjY2Vzc29yYFxuICogcGFyYSBpbnRlZ3Jhw6fDo28gY29tIGZvcm11bMOhcmlvcyBBbmd1bGFyLiBQZXJtaXRlIGNvbmZpZ3VyYXIgbyBuw7ptZXJvIGRlIGVzdHJlbGFzLFxuICogYWxpbmhhbWVudG8gZSBlc3RhZG8gZGVzYWJpbGl0YWRvLiBDbGljYXIgbmEgZXN0cmVsYSBqw6Egc2VsZWNpb25hZGEgYSBkZXNlbGVjaW9uYS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtc3Rhci1yYXRpbmcgW3N0YXJzUmFuZ2VdPVwiNVwiIGZvcm1Db250cm9sTmFtZT1cImF2YWxpYWNhb1wiIC8+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgSW5wdXRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1zdGFyLXJhdGluZycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3Rhci1yYXRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTdGFyUmF0aW5nQ29tcG9uZW50LFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3RhclJhdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBvbkNoYW5nZTogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICBvblRvdWNoZWQ6ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIMONbmRpY2UgZGEgZXN0cmVsYSBhdHVhbG1lbnRlIHNlbGVjaW9uYWRhICgxLWJhc2VkKS4gQGRlZmF1bHQgMCAqL1xuICAgIHNlbGVjdGVkU3RhciA9IG1vZGVsKDApO1xuICAgIC8qKiBAZGVzY3JpcHRpb24gTsO6bWVybyB0b3RhbCBkZSBlc3RyZWxhcyBleGliaWRhcy4gQGRlZmF1bHQgNSAqL1xuICAgIHN0YXJzUmFuZ2UgPSBpbnB1dCg1KTtcbiAgICAvKiogQGRlc2NyaXB0aW9uIEFsaW5oYW1lbnRvIGhvcml6b250YWwgZGFzIGVzdHJlbGFzLiBAZGVmYXVsdCAnY2VudGVyJyAqL1xuICAgIGp1c3RpZnlDb250ZW50ID0gaW5wdXQ8SnVzdGlmeVR5cGVzPignY2VudGVyJyk7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBEZXNhYmlsaXRhIGEgc2VsZcOnw6NvIGRlIGVzdHJlbGFzLiBAZGVmYXVsdCBmYWxzZSAqL1xuICAgIGRpc2FibGVkID0gbW9kZWwoZmFsc2UpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRzUmVuZGVyID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuc3RhcnNSYW5nZSgpO1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogZWxlbWVudHMgfSkubWFwKChfeCwgJGluZGV4KSA9PiAkaW5kZXgpO1xuICAgIH0pO1xuXG4gICAgd3JpdGVWYWx1ZShvYmo6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAob2JqICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkU3Rhci5zZXQob2JqKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdFN0YXIoc2VsZWN0ZWRJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc3RvcmVWYWx1ZShzZWxlY3RlZEluZGV4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0b3JlVmFsdWUoc2VsZWN0ZWRJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA9PT0gdGhpcy5zZWxlY3RlZFN0YXIoKSkge1xuICAgICAgICAgICAgc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHNlbGVjdGVkSW5kZXgpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHNlbGVjdGVkSW5kZXgpO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZChzZWxlY3RlZEluZGV4KTtcbiAgICB9XG59XG5cbiIsIkBsZXQganVzdGlmeUNvbnRlbnRDbGFzc05hbWUgPSAnanVzdGlmeS0nICsganVzdGlmeUNvbnRlbnQoKTtcbjxzZWN0aW9uIFtjbGFzc109XCJqdXN0aWZ5Q29udGVudENsYXNzTmFtZVwiIGNsYXNzPVwiZmxleCBnYXAtMlwiIFtjbGFzcy5vcGFjaXR5LTUwXT1cImRpc2FibGVkKClcIj5cbiAgICBAZm9yKGl0ZW0gb2YgZWxlbWVudHNSZW5kZXIoKTsgdHJhY2sgaXRlbSkge1xuICAgICAgICBAbGV0IGlzQWN0aXZhdGVkID0gc2VsZWN0ZWRTdGFyKCkgPD0gaXRlbTtcbiAgICAgICAgPGlcbiAgICAgICAgICAgIFtjbGFzcy5mYXNdPVwiIWlzQWN0aXZhdGVkXCJcbiAgICAgICAgICAgIFtjbGFzcy5mYXJdPVwiaXNBY3RpdmF0ZWRcIlxuICAgICAgICAgICAgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cIiFkaXNhYmxlZCgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmEtc3RhciB0ZXh0LWJ1dHRlcmN1cC01MDAgY3Vyc29yLXBvaW50ZXIgcm91bmRlZC1bNTAlXSBmb2N1cy12aXNpYmxlOm91dGxpbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC1bM3B4XSBmb2N1cy12aXNpYmxlOm91dGxpbmUtW3ZhcigtLXMtZm9jdXMtcmluZy1jb2xvciwjMDA5MGZmKV1cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICAgICAgKHNJbnRlcmFjdGl2ZUNvbnRlbnQpPVwib25TZWxlY3RTdGFyKGl0ZW0gKyAxKVwiPlxuICAgICAgICA8L2k+XG4gICAgfVxuPC9zZWN0aW9uPlxuIl19
@@ -63,7 +63,7 @@ export class StepperComponent {
63
63
  removalVersion: '20.0.0',
64
64
  },
65
65
  },
66
- ], hostDirectives: [{ directive: i1.DeprecatedSelectorDirective }], ngImport: i0, template: "<div\r\n [id]=\"id\"\r\n class=\"s-stepper-container\"\r\n>\r\n @for (step of visibledStep; track step; let i = $index; let isFirst = $first; let isLast = $last) {\r\n @if (!isFirst) {\r\n <div\r\n class=\"s-step-progress-bar\"\r\n [@activeDesative]=\"barAnimation(i, activeIndex) ? 'active' : 'desactive'\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-disabled': step.disabled,\r\n 's-step-visited': i < activeIndex,\r\n 's-step-active': i === activeIndex,\r\n }\"\r\n ></div>\r\n }\r\n <div\r\n [id]=\"id + '-step-' + (step.id || i)\"\r\n class=\"s-step-header\"\r\n (click)=\"stepClick(step, i, $event)\"\r\n role=\"tab\"\r\n tabindex=\"0\"\r\n [attr.aria-label]=\"step.ariaLabel || null\"\r\n [attr.aria-controls]=\"step.ariaControls\"\r\n [attr.aria-labelledby]=\"!step.ariaLabel ? 'step-label-' + i : null\"\r\n [attr.aria-posinset]=\"i + 1\"\r\n [attr.aria-setsize]=\"visibledStep.length\"\r\n [attr.aria-selected]=\"activeIndex === i\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-visited': i < activeIndex,\r\n 's-step-active': i === activeIndex,\r\n 's-step-previous': i === activeIndex - 1,\r\n }\"\r\n >\r\n @if (!isFirst) {\r\n <div\r\n [@beforeActiveDesative]=\"barAnimation(i, activeIndex) ? 'active' : 'desactive'\"\r\n class=\"s-step-progress-bar-before\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-disabled': step.disabled,\r\n 's-step-visited': i < activeIndex,\r\n 's-step-active': i === activeIndex,\r\n }\"\r\n ></div>\r\n }\r\n @if (!isLast) {\r\n <div\r\n [@afterActiveDesative]=\"afterBarAnimation(i, activeIndex) ? 'active' : 'desactive'\"\r\n class=\"s-step-progress-bar-after\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-disabled': visibledStep[i + 1].disabled,\r\n 's-step-visited': i + 1 < activeIndex,\r\n 's-step-active': i === activeIndex - 1,\r\n }\"\r\n ></div>\r\n }\r\n <div\r\n class=\"s-step-index\"\r\n [ngClass]=\"{ 's-step-disabled': step.disabled }\"\r\n [sTooltip]=\"step.tooltip\"\r\n >\r\n <div class=\"s-step-index-content\">\r\n @if (step.state !== stepState.Warning && (step.state === stepState.Success || activeIndex > i)) {\r\n <span\r\n class=\"fas fa-check\"\r\n aria-hidden=\"true\"\r\n [attr.aria-label]=\"i + 1\"\r\n >\r\n </span>\r\n }\r\n @if (step.state === stepState.Warning) {\r\n <span\r\n class=\"fas fa-exclamation-triangle\"\r\n aria-hidden=\"true\"\r\n [attr.aria-label]=\"i + 1\"\r\n >\r\n </span>\r\n }\r\n @if (step.state !== stepState.Success && step.state !== stepState.Warning && activeIndex <= i) {\r\n <span>{{ i + 1 }}</span>\r\n }\r\n </div>\r\n </div>\r\n <div\r\n [id]=\"'step-label-' + i\"\r\n class=\"s-step-label\"\r\n [ngClass]=\"{ 's-step-disabled': step.disabled }\"\r\n >\r\n <span>\r\n {{ step.label }}\r\n </span>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@-webkit-keyframes scale-up-center{0%{-webkit-transform:scale(.5);transform:scale(.5)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-up-center{0%{-webkit-transform:scale(.5);transform:scale(.5)}to{-webkit-transform:scale(1);transform:scale(1)}}.s-stepper-container{display:flex;white-space:nowrap;align-items:flex-start;overflow:hidden;padding:15px 10px}.s-step-header{box-sizing:border-box;flex-direction:column;height:auto;cursor:pointer;position:relative;display:flex;align-items:center;height:66px}.s-step-header .s-step-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all;color:#999;font-size:14px;font-weight:400;padding-top:5px}.s-step-header .s-step-progress-bar-before{margin:0;position:absolute;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;left:0}.s-step-header .s-step-progress-bar-before.s-step-visited,.s-step-header .s-step-progress-bar-before.s-step-active{background-position:left bottom}.s-step-header .s-step-progress-bar-after{margin:0;position:absolute;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;right:0}.s-step-header .s-step-progress-bar-after.s-step-visited,.s-step-header .s-step-progress-bar-after.s-step-active{background-position:left bottom}.s-step-progress-bar{margin:0;position:relative;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:100%;background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%}.s-step-disabled{opacity:.5;filter:Alpha(Opacity=50)}.s-step-disabled,.s-step-disabled *{cursor:text!important}.s-step-active.s-step-disabled{opacity:1}.s-step-index{background-color:#fff;border:3px solid #ccc;border-radius:50%;color:#999;display:inline-block;font-weight:700;position:relative;transition:background-color .2s ease-out;height:40px;width:40px;flex:none}.s-step-index .s-step-index-content{line-height:18px;font-size:18px;padding-top:8.5px;text-align:center;position:relative;cursor:pointer}.s-step-index:hover{background-color:highlight(#ddd)}.s-step-warning .s-step-index .s-step-index-content{padding-top:7px}.s-step-visited .s-step-index{border-color:#7892a1;background-color:#7892a1}.s-step-visited .s-step-index-content>span{color:#fff}.s-step-visited.s-step-progress-bar,.s-step-active.s-step-progress-bar{background-position:left bottom}.s-step-active .s-step-index{border-color:#7892a1;color:#7892a1;cursor:default}.s-step-active .s-step-label{color:#333;font-weight:700}@media (max-width: 767px){.s-step-label{display:none}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }], animations: [
66
+ ], hostDirectives: [{ directive: i1.DeprecatedSelectorDirective }], ngImport: i0, template: "<div\r\n [id]=\"id\"\r\n class=\"s-stepper-container\"\r\n>\r\n @for (step of visibledStep; track step; let i = $index; let isFirst = $first; let isLast = $last) {\r\n @if (!isFirst) {\r\n <div\r\n class=\"s-step-progress-bar\"\r\n [@activeDesative]=\"barAnimation(i, activeIndex) ? 'active' : 'desactive'\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-disabled': step.disabled,\r\n 's-step-visited': i < activeIndex,\r\n 's-step-active': i === activeIndex,\r\n }\"\r\n ></div>\r\n }\r\n <div\r\n [id]=\"id + '-step-' + (step.id || i)\"\r\n class=\"s-step-header\"\r\n (click)=\"stepClick(step, i, $event)\"\r\n role=\"tab\"\r\n [attr.tabindex]=\"step.disabled ? -1 : 0\"\r\n [attr.aria-disabled]=\"step.disabled ? 'true' : null\"\r\n [attr.aria-label]=\"step.ariaLabel || null\"\r\n [attr.aria-controls]=\"step.ariaControls\"\r\n [attr.aria-labelledby]=\"!step.ariaLabel ? 'step-label-' + i : null\"\r\n [attr.aria-posinset]=\"i + 1\"\r\n [attr.aria-setsize]=\"visibledStep.length\"\r\n [attr.aria-selected]=\"activeIndex === i\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-visited': i < activeIndex,\r\n 's-step-active': i === activeIndex,\r\n 's-step-previous': i === activeIndex - 1,\r\n 's-step-disabled': step.disabled,\r\n }\"\r\n >\r\n @if (!isFirst) {\r\n <div\r\n [@beforeActiveDesative]=\"barAnimation(i, activeIndex) ? 'active' : 'desactive'\"\r\n class=\"s-step-progress-bar-before\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-disabled': step.disabled,\r\n 's-step-visited': i < activeIndex,\r\n 's-step-active': i === activeIndex,\r\n }\"\r\n ></div>\r\n }\r\n @if (!isLast) {\r\n <div\r\n [@afterActiveDesative]=\"afterBarAnimation(i, activeIndex) ? 'active' : 'desactive'\"\r\n class=\"s-step-progress-bar-after\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-disabled': visibledStep[i + 1].disabled,\r\n 's-step-visited': i + 1 < activeIndex,\r\n 's-step-active': i === activeIndex - 1,\r\n }\"\r\n ></div>\r\n }\r\n <div\r\n class=\"s-step-index\"\r\n [ngClass]=\"{ 's-step-disabled': step.disabled }\"\r\n [sTooltip]=\"step.tooltip\"\r\n >\r\n <div class=\"s-step-index-content\">\r\n @if (step.state !== stepState.Warning && (step.state === stepState.Success || activeIndex > i)) {\r\n <span\r\n class=\"fas fa-check\"\r\n aria-hidden=\"true\"\r\n [attr.aria-label]=\"i + 1\"\r\n >\r\n </span>\r\n }\r\n @if (step.state === stepState.Warning) {\r\n <span\r\n class=\"fas fa-exclamation-triangle\"\r\n aria-hidden=\"true\"\r\n [attr.aria-label]=\"i + 1\"\r\n >\r\n </span>\r\n }\r\n @if (step.state !== stepState.Success && step.state !== stepState.Warning && activeIndex <= i) {\r\n <span>{{ i + 1 }}</span>\r\n }\r\n </div>\r\n </div>\r\n <div\r\n [id]=\"'step-label-' + i\"\r\n class=\"s-step-label\"\r\n [ngClass]=\"{ 's-step-disabled': step.disabled }\"\r\n >\r\n <span>\r\n {{ step.label }}\r\n </span>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@-webkit-keyframes scale-up-center{0%{-webkit-transform:scale(.5);transform:scale(.5)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-up-center{0%{-webkit-transform:scale(.5);transform:scale(.5)}to{-webkit-transform:scale(1);transform:scale(1)}}.s-stepper-container{display:flex;white-space:nowrap;align-items:flex-start;overflow:hidden;padding:15px 10px}.s-step-header{box-sizing:border-box;flex-direction:column;height:auto;cursor:pointer;position:relative;display:flex;align-items:center;height:66px;border-radius:4px}.s-step-header:focus-visible{outline:2px solid var(--s-focus-ring-color);outline-offset:3px}.s-step-header.s-step-disabled{pointer-events:none}.s-step-header .s-step-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all;color:#999;font-size:14px;font-weight:400;padding-top:5px}.s-step-header .s-step-progress-bar-before{margin:0;position:absolute;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;left:0}.s-step-header .s-step-progress-bar-before.s-step-visited,.s-step-header .s-step-progress-bar-before.s-step-active{background-position:left bottom}.s-step-header .s-step-progress-bar-after{margin:0;position:absolute;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;right:0}.s-step-header .s-step-progress-bar-after.s-step-visited,.s-step-header .s-step-progress-bar-after.s-step-active{background-position:left bottom}.s-step-progress-bar{margin:0;position:relative;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:100%;background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%}.s-step-disabled{opacity:.5;filter:Alpha(Opacity=50)}.s-step-disabled,.s-step-disabled *{cursor:text!important}.s-step-active.s-step-disabled{opacity:1}.s-step-index{background-color:#fff;border:3px solid #ccc;border-radius:50%;color:#999;display:inline-block;font-weight:700;position:relative;transition:background-color .2s ease-out;height:40px;width:40px;flex:none}.s-step-index .s-step-index-content{line-height:18px;font-size:18px;padding-top:8.5px;text-align:center;position:relative;cursor:pointer}.s-step-index:hover{background-color:highlight(#ddd)}.s-step-warning .s-step-index .s-step-index-content{padding-top:7px}.s-step-visited .s-step-index{border-color:#7892a1;background-color:#7892a1}.s-step-visited .s-step-index-content>span{color:#fff}.s-step-visited.s-step-progress-bar,.s-step-active.s-step-progress-bar{background-position:left bottom}.s-step-active .s-step-index{border-color:#7892a1;color:#7892a1;cursor:default}.s-step-active .s-step-label{color:#333;font-weight:700}@media (max-width: 767px){.s-step-label{display:none}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }], animations: [
67
67
  trigger('beforeActiveDesative', [
68
68
  state('active', style({
69
69
  'background-position': 'left bottom',
@@ -142,7 +142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
142
142
  transition('active => desactive', [animate('50ms 250ms linear')]),
143
143
  transition('desactive => active', [animate('50ms 100ms linear')]),
144
144
  ]),
145
- ], standalone: true, imports: [NgClass, TooltipDirective], template: "<div\r\n [id]=\"id\"\r\n class=\"s-stepper-container\"\r\n>\r\n @for (step of visibledStep; track step; let i = $index; let isFirst = $first; let isLast = $last) {\r\n @if (!isFirst) {\r\n <div\r\n class=\"s-step-progress-bar\"\r\n [@activeDesative]=\"barAnimation(i, activeIndex) ? 'active' : 'desactive'\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-disabled': step.disabled,\r\n 's-step-visited': i < activeIndex,\r\n 's-step-active': i === activeIndex,\r\n }\"\r\n ></div>\r\n }\r\n <div\r\n [id]=\"id + '-step-' + (step.id || i)\"\r\n class=\"s-step-header\"\r\n (click)=\"stepClick(step, i, $event)\"\r\n role=\"tab\"\r\n tabindex=\"0\"\r\n [attr.aria-label]=\"step.ariaLabel || null\"\r\n [attr.aria-controls]=\"step.ariaControls\"\r\n [attr.aria-labelledby]=\"!step.ariaLabel ? 'step-label-' + i : null\"\r\n [attr.aria-posinset]=\"i + 1\"\r\n [attr.aria-setsize]=\"visibledStep.length\"\r\n [attr.aria-selected]=\"activeIndex === i\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-visited': i < activeIndex,\r\n 's-step-active': i === activeIndex,\r\n 's-step-previous': i === activeIndex - 1,\r\n }\"\r\n >\r\n @if (!isFirst) {\r\n <div\r\n [@beforeActiveDesative]=\"barAnimation(i, activeIndex) ? 'active' : 'desactive'\"\r\n class=\"s-step-progress-bar-before\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-disabled': step.disabled,\r\n 's-step-visited': i < activeIndex,\r\n 's-step-active': i === activeIndex,\r\n }\"\r\n ></div>\r\n }\r\n @if (!isLast) {\r\n <div\r\n [@afterActiveDesative]=\"afterBarAnimation(i, activeIndex) ? 'active' : 'desactive'\"\r\n class=\"s-step-progress-bar-after\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-disabled': visibledStep[i + 1].disabled,\r\n 's-step-visited': i + 1 < activeIndex,\r\n 's-step-active': i === activeIndex - 1,\r\n }\"\r\n ></div>\r\n }\r\n <div\r\n class=\"s-step-index\"\r\n [ngClass]=\"{ 's-step-disabled': step.disabled }\"\r\n [sTooltip]=\"step.tooltip\"\r\n >\r\n <div class=\"s-step-index-content\">\r\n @if (step.state !== stepState.Warning && (step.state === stepState.Success || activeIndex > i)) {\r\n <span\r\n class=\"fas fa-check\"\r\n aria-hidden=\"true\"\r\n [attr.aria-label]=\"i + 1\"\r\n >\r\n </span>\r\n }\r\n @if (step.state === stepState.Warning) {\r\n <span\r\n class=\"fas fa-exclamation-triangle\"\r\n aria-hidden=\"true\"\r\n [attr.aria-label]=\"i + 1\"\r\n >\r\n </span>\r\n }\r\n @if (step.state !== stepState.Success && step.state !== stepState.Warning && activeIndex <= i) {\r\n <span>{{ i + 1 }}</span>\r\n }\r\n </div>\r\n </div>\r\n <div\r\n [id]=\"'step-label-' + i\"\r\n class=\"s-step-label\"\r\n [ngClass]=\"{ 's-step-disabled': step.disabled }\"\r\n >\r\n <span>\r\n {{ step.label }}\r\n </span>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@-webkit-keyframes scale-up-center{0%{-webkit-transform:scale(.5);transform:scale(.5)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-up-center{0%{-webkit-transform:scale(.5);transform:scale(.5)}to{-webkit-transform:scale(1);transform:scale(1)}}.s-stepper-container{display:flex;white-space:nowrap;align-items:flex-start;overflow:hidden;padding:15px 10px}.s-step-header{box-sizing:border-box;flex-direction:column;height:auto;cursor:pointer;position:relative;display:flex;align-items:center;height:66px}.s-step-header .s-step-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all;color:#999;font-size:14px;font-weight:400;padding-top:5px}.s-step-header .s-step-progress-bar-before{margin:0;position:absolute;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;left:0}.s-step-header .s-step-progress-bar-before.s-step-visited,.s-step-header .s-step-progress-bar-before.s-step-active{background-position:left bottom}.s-step-header .s-step-progress-bar-after{margin:0;position:absolute;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;right:0}.s-step-header .s-step-progress-bar-after.s-step-visited,.s-step-header .s-step-progress-bar-after.s-step-active{background-position:left bottom}.s-step-progress-bar{margin:0;position:relative;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:100%;background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%}.s-step-disabled{opacity:.5;filter:Alpha(Opacity=50)}.s-step-disabled,.s-step-disabled *{cursor:text!important}.s-step-active.s-step-disabled{opacity:1}.s-step-index{background-color:#fff;border:3px solid #ccc;border-radius:50%;color:#999;display:inline-block;font-weight:700;position:relative;transition:background-color .2s ease-out;height:40px;width:40px;flex:none}.s-step-index .s-step-index-content{line-height:18px;font-size:18px;padding-top:8.5px;text-align:center;position:relative;cursor:pointer}.s-step-index:hover{background-color:highlight(#ddd)}.s-step-warning .s-step-index .s-step-index-content{padding-top:7px}.s-step-visited .s-step-index{border-color:#7892a1;background-color:#7892a1}.s-step-visited .s-step-index-content>span{color:#fff}.s-step-visited.s-step-progress-bar,.s-step-active.s-step-progress-bar{background-position:left bottom}.s-step-active .s-step-index{border-color:#7892a1;color:#7892a1;cursor:default}.s-step-active .s-step-label{color:#333;font-weight:700}@media (max-width: 767px){.s-step-label{display:none}}\n"] }]
145
+ ], standalone: true, imports: [NgClass, TooltipDirective], template: "<div\r\n [id]=\"id\"\r\n class=\"s-stepper-container\"\r\n>\r\n @for (step of visibledStep; track step; let i = $index; let isFirst = $first; let isLast = $last) {\r\n @if (!isFirst) {\r\n <div\r\n class=\"s-step-progress-bar\"\r\n [@activeDesative]=\"barAnimation(i, activeIndex) ? 'active' : 'desactive'\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-disabled': step.disabled,\r\n 's-step-visited': i < activeIndex,\r\n 's-step-active': i === activeIndex,\r\n }\"\r\n ></div>\r\n }\r\n <div\r\n [id]=\"id + '-step-' + (step.id || i)\"\r\n class=\"s-step-header\"\r\n (click)=\"stepClick(step, i, $event)\"\r\n role=\"tab\"\r\n [attr.tabindex]=\"step.disabled ? -1 : 0\"\r\n [attr.aria-disabled]=\"step.disabled ? 'true' : null\"\r\n [attr.aria-label]=\"step.ariaLabel || null\"\r\n [attr.aria-controls]=\"step.ariaControls\"\r\n [attr.aria-labelledby]=\"!step.ariaLabel ? 'step-label-' + i : null\"\r\n [attr.aria-posinset]=\"i + 1\"\r\n [attr.aria-setsize]=\"visibledStep.length\"\r\n [attr.aria-selected]=\"activeIndex === i\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-visited': i < activeIndex,\r\n 's-step-active': i === activeIndex,\r\n 's-step-previous': i === activeIndex - 1,\r\n 's-step-disabled': step.disabled,\r\n }\"\r\n >\r\n @if (!isFirst) {\r\n <div\r\n [@beforeActiveDesative]=\"barAnimation(i, activeIndex) ? 'active' : 'desactive'\"\r\n class=\"s-step-progress-bar-before\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-disabled': step.disabled,\r\n 's-step-visited': i < activeIndex,\r\n 's-step-active': i === activeIndex,\r\n }\"\r\n ></div>\r\n }\r\n @if (!isLast) {\r\n <div\r\n [@afterActiveDesative]=\"afterBarAnimation(i, activeIndex) ? 'active' : 'desactive'\"\r\n class=\"s-step-progress-bar-after\"\r\n [ngClass]=\"{\r\n 's-step-success': step.state === stepState.Success,\r\n 's-step-warning': step.state === stepState.Warning,\r\n 's-step-disabled': visibledStep[i + 1].disabled,\r\n 's-step-visited': i + 1 < activeIndex,\r\n 's-step-active': i === activeIndex - 1,\r\n }\"\r\n ></div>\r\n }\r\n <div\r\n class=\"s-step-index\"\r\n [ngClass]=\"{ 's-step-disabled': step.disabled }\"\r\n [sTooltip]=\"step.tooltip\"\r\n >\r\n <div class=\"s-step-index-content\">\r\n @if (step.state !== stepState.Warning && (step.state === stepState.Success || activeIndex > i)) {\r\n <span\r\n class=\"fas fa-check\"\r\n aria-hidden=\"true\"\r\n [attr.aria-label]=\"i + 1\"\r\n >\r\n </span>\r\n }\r\n @if (step.state === stepState.Warning) {\r\n <span\r\n class=\"fas fa-exclamation-triangle\"\r\n aria-hidden=\"true\"\r\n [attr.aria-label]=\"i + 1\"\r\n >\r\n </span>\r\n }\r\n @if (step.state !== stepState.Success && step.state !== stepState.Warning && activeIndex <= i) {\r\n <span>{{ i + 1 }}</span>\r\n }\r\n </div>\r\n </div>\r\n <div\r\n [id]=\"'step-label-' + i\"\r\n class=\"s-step-label\"\r\n [ngClass]=\"{ 's-step-disabled': step.disabled }\"\r\n >\r\n <span>\r\n {{ step.label }}\r\n </span>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@-webkit-keyframes scale-up-center{0%{-webkit-transform:scale(.5);transform:scale(.5)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-up-center{0%{-webkit-transform:scale(.5);transform:scale(.5)}to{-webkit-transform:scale(1);transform:scale(1)}}.s-stepper-container{display:flex;white-space:nowrap;align-items:flex-start;overflow:hidden;padding:15px 10px}.s-step-header{box-sizing:border-box;flex-direction:column;height:auto;cursor:pointer;position:relative;display:flex;align-items:center;height:66px;border-radius:4px}.s-step-header:focus-visible{outline:2px solid var(--s-focus-ring-color);outline-offset:3px}.s-step-header.s-step-disabled{pointer-events:none}.s-step-header .s-step-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all;color:#999;font-size:14px;font-weight:400;padding-top:5px}.s-step-header .s-step-progress-bar-before{margin:0;position:absolute;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;left:0}.s-step-header .s-step-progress-bar-before.s-step-visited,.s-step-header .s-step-progress-bar-before.s-step-active{background-position:left bottom}.s-step-header .s-step-progress-bar-after{margin:0;position:absolute;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;right:0}.s-step-header .s-step-progress-bar-after.s-step-visited,.s-step-header .s-step-progress-bar-after.s-step-active{background-position:left bottom}.s-step-progress-bar{margin:0;position:relative;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:100%;background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%}.s-step-disabled{opacity:.5;filter:Alpha(Opacity=50)}.s-step-disabled,.s-step-disabled *{cursor:text!important}.s-step-active.s-step-disabled{opacity:1}.s-step-index{background-color:#fff;border:3px solid #ccc;border-radius:50%;color:#999;display:inline-block;font-weight:700;position:relative;transition:background-color .2s ease-out;height:40px;width:40px;flex:none}.s-step-index .s-step-index-content{line-height:18px;font-size:18px;padding-top:8.5px;text-align:center;position:relative;cursor:pointer}.s-step-index:hover{background-color:highlight(#ddd)}.s-step-warning .s-step-index .s-step-index-content{padding-top:7px}.s-step-visited .s-step-index{border-color:#7892a1;background-color:#7892a1}.s-step-visited .s-step-index-content>span{color:#fff}.s-step-visited.s-step-progress-bar,.s-step-active.s-step-progress-bar{background-position:left bottom}.s-step-active .s-step-index{border-color:#7892a1;color:#7892a1;cursor:default}.s-step-active .s-step-label{color:#333;font-weight:700}@media (max-width: 767px){.s-step-label{display:none}}\n"] }]
146
146
  }], propDecorators: { id: [{
147
147
  type: Input
148
148
  }], steps: [{
@@ -154,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
154
154
  }], stepSelected: [{
155
155
  type: Output
156
156
  }] } });
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RlcHBlci9zcmMvbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RlcHBlci9zcmMvbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDbEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFJNUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7O0FBRTlFOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBMEVILE1BQU0sT0FBTyxnQkFBZ0I7SUFDbEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFekIsc0dBQXNHO0lBRS9GLEVBQUUsR0FBRyxXQUFXLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFFbkQsMkVBQTJFO0lBRXBFLEtBQUssQ0FBVTtJQUV0QixrRkFBa0Y7SUFFM0UsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUV2QixpRkFBaUY7SUFFMUUsWUFBWSxHQUFxQyxJ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RUFBRSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7NEJBQ2xFLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7eUJBQ3JFLENBQUM7d0JBQ0YsT0FBTyxDQUFDLHFCQUFxQixFQUFFOzRCQUMzQixLQUFLLENBQ0QsUUFBUSxFQUNSLEtBQUssQ0FBQztnQ0FDRixxQkFBcUIsRUFBRSxhQUFhOzZCQUN2QyxDQUFDLENBQ0w7NEJBQ0QsS0FBSyxDQUNELFdBQVcsRUFDWCxLQUFLLENBQUM7Z0NBQ0YscUJBQXFCLEVBQUUsY0FBYzs2QkFDeEMsQ0FBQyxDQUNMOzRCQUNELFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7NEJBQ2pFLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7eUJBQ3BFLENBQUM7cUJBQ0wsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7OEJBTzdCLEVBQUU7c0JBRFIsS0FBSztnQkFLQyxLQUFLO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtsQixXQUFXO3NCQURqQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLbEIsWUFBWTtzQkFEbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgREVQUkVDQVRFRF9DT05GSUcgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2NvbW1vbi9kZXByZWNhdGVkLXNlbGVjdG9yJztcclxuaW1wb3J0IHsgRGVwcmVjYXRlZFNlbGVjdG9yRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9jb21tb24vZGVwcmVjYXRlZC1zZWxlY3Rvcic7XHJcblxyXG5pbXBvcnQgeyBTdGVwIH0gZnJvbSAnLi9tb2RlbHMvc3RlcCc7XHJcbmltcG9ydCB7IFN0ZXBTZWxlY3Rpb25FdmVudCB9IGZyb20gJy4vbW9kZWxzL3N0ZXAtc2VsZWN0aW9uLWV2ZW50JztcclxuaW1wb3J0IHsgU3RlcFN0YXRlIH0gZnJvbSAnLi9tb2RlbHMvc3RlcC1zdGF0ZSc7XHJcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90b29sdGlwJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBkZSBwcm9ncmVzc28gZW0gZXRhcGFzIChzdGVwcGVyKSBjb20gYW5pbWHDp8O1ZXMuXHJcbiAqIEV4aWJlIHVtYSBsaW5oYSBkbyB0ZW1wbyBob3Jpem9udGFsIGRlIHBhc3NvcywgcGVybWl0aW5kbyBuYXZlZ2FyIGVudHJlIGVsZXMuXHJcbiAqIFN1cG9ydGEgcGFzc29zIG9jdWx0b3MgZSBkZXNhYmlsaXRhZG9zLiBUYW1iw6ltIHJlc3BvbmRlIGFvIHNlbGV0b3IgbGVnYWRvIGBzLXN0ZXBzYC5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgaHRtbFxyXG4gKiA8cy1zdGVwcGVyXHJcbiAqICAgW3N0ZXBzXT1cImV0YXBhc1wiXHJcbiAqICAgW2FjdGl2ZUluZGV4XT1cImV0YXBhQXRpdmFcIlxyXG4gKiAgIChzdGVwU2VsZWN0ZWQpPVwib25FdGFwYVNlbGVjaW9uYWRhKCRldmVudClcIiAvPlxyXG4gKiBgYGBcclxuICpcclxuICogQGNhdGVnb3J5IFN0cnVjdHVyZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Mtc3RlcHBlciwgcy1zdGVwcycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3RlcHBlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zdGVwcGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBob3N0RGlyZWN0aXZlczogW0RlcHJlY2F0ZWRTZWxlY3RvckRpcmVjdGl2ZV0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IERFUFJFQ0FURURfQ09ORklHLFxyXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xyXG4gICAgICAgICAgICAgICAgb2xkU2VsZWN0b3I6ICdzLXN0ZXBzJyxcclxuICAgICAgICAgICAgICAgIG5ld1NlbGVjdG9yOiAncy1zdGVwcGVyJyxcclxuICAgICAgICAgICAgICAgIHJlbW92YWxWZXJzaW9uOiAnMjAuMC4wJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxuICAgIGhvc3Q6IHtcclxuICAgICAgICAnYXJpYS1vcmllbnRhdGlvbic6ICdob3Jpem9udGFsJyxcclxuICAgICAgICByb2xlOiAndGFibGlzdCcsXHJcbiAgICAgICAgJ3RhYi1pbmRleCc6ICcwJyxcclxuICAgIH0sXHJcbiAgICBhbmltYXRpb25zOiBbXHJcbiAgICAgICAgdHJpZ2dlcignYmVmb3JlQWN0aXZlRGVzYXRpdmUnLCBbXHJcbiAgICAgICAgICAgIHN0YXRlKFxyXG4gICAgICAgICAgICAgICAgJ2FjdGl2ZScsXHJcbiAgICAgICAgICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAnbGVmdCBib3R0b20nLFxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIHN0YXRlKFxyXG4gICAgICAgICAgICAgICAgJ2Rlc2FjdGl2ZScsXHJcbiAgICAgICAgICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAncmlnaHQgYm90dG9tJyxcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdhY3RpdmUgPT4gZGVzYWN0aXZlJywgW2FuaW1hdGUoJzUwbXMgMTAwbXMgbGluZWFyJyldKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbignZGVzYWN0aXZlID0+IGFjdGl2ZScsIFthbmltYXRlKCc1MG1zIDI1MG1zIGxpbmVhcicpXSksXHJcbiAgICAgICAgXSksXHJcbiAgICAgICAgdHJpZ2dlcignYWN0aXZlRGVzYXRpdmUnLCBbXHJcbiAgICAgICAgICAgIHN0YXRlKFxyXG4gICAgICAgICAgICAgICAgJ2FjdGl2ZScsXHJcbiAgICAgICAgICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAnbGVmdCBib3R0b20nLFxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIHN0YXRlKFxyXG4gICAgICAgICAgICAgICAgJ2Rlc2FjdGl2ZScsXHJcbiAgICAgICAgICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAncmlnaHQgYm90dG9tJyxcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdhY3RpdmUgPT4gZGVzYWN0aXZlJywgW2FuaW1hdGUoJzEwMG1zIDE1MG1zIGxpbmVhcicpXSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2Rlc2FjdGl2ZSA9PiBhY3RpdmUnLCBbYW5pbWF0ZSgnMTAwbXMgMTUwbXMgbGluZWFyJyldKSxcclxuICAgICAgICBdKSxcclxuICAgICAgICB0cmlnZ2VyKCdhZnRlckFjdGl2ZURlc2F0aXZlJywgW1xyXG4gICAgICAgICAgICBzdGF0ZShcclxuICAgICAgICAgICAgICAgICdhY3RpdmUnLFxyXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJ2xlZnQgYm90dG9tJyxcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBzdGF0ZShcclxuICAgICAgICAgICAgICAgICdkZXNhY3RpdmUnLFxyXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJ3JpZ2h0IGJvdHRvbScsXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbignYWN0aXZlID0+IGRlc2FjdGl2ZScsIFthbmltYXRlKCc1MG1zIDI1MG1zIGxpbmVhcicpXSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2Rlc2FjdGl2ZSA9PiBhY3RpdmUnLCBbYW5pbWF0ZSgnNTBtcyAxMDBtcyBsaW5lYXInKV0pLFxyXG4gICAgICAgIF0pLFxyXG4gICAgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgVG9vbHRpcERpcmVjdGl2ZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGVwcGVyQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyBzdGF0aWMgbmV4dElkID0gMDtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIElkZW50aWZpY2Fkb3Igw7puaWNvIGRvIGNvbXBvbmVudGUgbm8gRE9NLiBHZXJhZG8gYXV0b21hdGljYW1lbnRlIHNlIG7Do28gaW5mb3JtYWRvLiAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpZCA9IGBzLXN0ZXBzLSR7U3RlcHBlckNvbXBvbmVudC5uZXh0SWQrK31gO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gTGlzdGEgZGUgZXRhcGFzIGV4aWJpZGFzIG5vIHN0ZXBwZXIuIENhbXBvIG9icmlnYXTDs3Jpby4gKi9cclxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXHJcbiAgICBwdWJsaWMgc3RlcHMhOiBTdGVwW107XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiDDjW5kaWNlICgwLWJhc2VkKSBkYSBldGFwYSBhdHVhbG1lbnRlIGF0aXZhLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXHJcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxyXG4gICAgcHVibGljIGFjdGl2ZUluZGV4ID0gMDtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gdXN1w6FyaW8gY2xpY2EgZW0gdW1hIGV0YXBhIG7Do28gZGVzYWJpbGl0YWRhLiAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgc3RlcFNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8U3RlcFNlbGVjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IHN0ZXBTdGF0ZSgpIHtcclxuICAgICAgICByZXR1cm4gU3RlcFN0YXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdmlzaWJsZWRTdGVwKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBzLmZpbHRlcigoc3RlcDogU3RlcCkgPT4gIXN0ZXAuaGlkZGVuKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RlcENsaWNrKHN0ZXA6IFN0ZXAsIGluZGV4OiBudW1iZXIsIGV2ZW50OiBhbnkpIHtcclxuICAgICAgICBpZiAoc3RlcC5kaXNhYmxlZCB8fCBpbmRleCA9PT0gdGhpcy5hY3RpdmVJbmRleCkgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuc3RlcFNlbGVjdGVkLmVtaXQoeyBzdGVwLCBpbmRleCwgZXZlbnQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGJhckFuaW1hdGlvbihpbmRleDogbnVtYmVyLCBhY3RpdmVJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgdmlzaXRlZCA9IGluZGV4IDwgYWN0aXZlSW5kZXg7XHJcbiAgICAgICAgY29uc3QgYWN0aXZhdGVkID0gaW5kZXggPT09IGFjdGl2ZUluZGV4O1xyXG4gICAgICAgIHJldHVybiB2aXNpdGVkIHx8IGFjdGl2YXRlZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWZ0ZXJCYXJBbmltYXRpb24oaW5kZXg6IG51bWJlciwgYWN0aXZlSW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IHZpc2l0ZWQgPSBpbmRleCA8IGFjdGl2ZUluZGV4O1xyXG4gICAgICAgIGNvbnN0IGFjdGl2YXRlZCA9IGluZGV4ID09PSBhY3RpdmVJbmRleCAtIDE7XHJcbiAgICAgICAgcmV0dXJuIHZpc2l0ZWQgfHwgYWN0aXZhdGVkO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAgIFtpZF09XCJpZFwiXHJcbiAgICBjbGFzcz1cInMtc3RlcHBlci1jb250YWluZXJcIlxyXG4+XHJcbiAgICBAZm9yIChzdGVwIG9mIHZpc2libGVkU3RlcDsgdHJhY2sgc3RlcDsgbGV0IGkgPSAkaW5kZXg7IGxldCBpc0ZpcnN0ID0gJGZpcnN0OyBsZXQgaXNMYXN0ID0gJGxhc3QpIHtcclxuICAgICAgICBAaWYgKCFpc0ZpcnN0KSB7XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGVwLXByb2dyZXNzLWJhclwiXHJcbiAgICAgICAgICAgICAgICBbQGFjdGl2ZURlc2F0aXZlXT1cImJhckFuaW1hdGlvbihpLCBhY3RpdmVJbmRleCkgPyAnYWN0aXZlJyA6ICdkZXNhY3RpdmUnXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAncy1zdGVwLXN1Y2Nlc3MnOiBzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuU3VjY2VzcyxcclxuICAgICAgICAgICAgICAgICAgICAncy1zdGVwLXdhcm5pbmcnOiBzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuV2FybmluZyxcclxuICAgICAgICAgICAgICAgICAgICAncy1zdGVwLWRpc2FibGVkJzogc3RlcC5kaXNhYmxlZCxcclxuICAgICAgICAgICAgICAgICAgICAncy1zdGVwLXZpc2l0ZWQnOiBpIDwgYWN0aXZlSW5kZXgsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1hY3RpdmUnOiBpID09PSBhY3RpdmVJbmRleCxcclxuICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgW2lkXT1cImlkICsgJy1zdGVwLScgKyAoc3RlcC5pZCB8fCBpKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwicy1zdGVwLWhlYWRlclwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzdGVwQ2xpY2soc3RlcCwgaSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIHJvbGU9XCJ0YWJcIlxyXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInN0ZXAuYXJpYUxhYmVsIHx8IG51bGxcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cInN0ZXAuYXJpYUNvbnRyb2xzXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIiFzdGVwLmFyaWFMYWJlbCA/ICdzdGVwLWxhYmVsLScgKyBpIDogbnVsbFwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtcG9zaW5zZXRdPVwiaSArIDFcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXNldHNpemVdPVwidmlzaWJsZWRTdGVwLmxlbmd0aFwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiYWN0aXZlSW5kZXggPT09IGlcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAncy1zdGVwLXN1Y2Nlc3MnOiBzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuU3VjY2VzcyxcclxuICAgICAgICAgICAgICAgICdzLXN0ZXAtd2FybmluZyc6IHN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5XYXJuaW5nLFxyXG4gICAgICAgICAgICAgICAgJ3Mtc3RlcC12aXNpdGVkJzogaSA8IGFjdGl2ZUluZGV4LFxyXG4gICAgICAgICAgICAgICAgJ3Mtc3RlcC1hY3RpdmUnOiBpID09PSBhY3RpdmVJbmRleCxcclxuICAgICAgICAgICAgICAgICdzLXN0ZXAtcHJldmlvdXMnOiBpID09PSBhY3RpdmVJbmRleCAtIDEsXHJcbiAgICAgICAgICAgIH1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgQGlmICghaXNGaXJzdCkge1xyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIFtAYmVmb3JlQWN0aXZlRGVzYXRpdmVdPVwiYmFyQW5pbWF0aW9uKGksIGFjdGl2ZUluZGV4KSA/ICdhY3RpdmUnIDogJ2Rlc2FjdGl2ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGVwLXByb2dyZXNzLWJhci1iZWZvcmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1zdWNjZXNzJzogc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLlN1Y2Nlc3MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtd2FybmluZyc6IHN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5XYXJuaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAncy1zdGVwLWRpc2FibGVkJzogc3RlcC5kaXNhYmxlZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC12aXNpdGVkJzogaSA8IGFjdGl2ZUluZGV4LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAncy1zdGVwLWFjdGl2ZSc6IGkgPT09IGFjdGl2ZUluZGV4LFxyXG4gICAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoIWlzTGFzdCkge1xyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIFtAYWZ0ZXJBY3RpdmVEZXNhdGl2ZV09XCJhZnRlckJhckFuaW1hdGlvbihpLCBhY3RpdmVJbmRleCkgPyAnYWN0aXZlJyA6ICdkZXNhY3RpdmUnXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInMtc3RlcC1wcm9ncmVzcy1iYXItYWZ0ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1zdWNjZXNzJzogc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLlN1Y2Nlc3MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtd2FybmluZyc6IHN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5XYXJuaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAncy1zdGVwLWRpc2FibGVkJzogdmlzaWJsZWRTdGVwW2kgKyAxXS5kaXNhYmxlZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC12aXNpdGVkJzogaSArIDEgPCBhY3RpdmVJbmRleCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1hY3RpdmUnOiBpID09PSBhY3RpdmVJbmRleCAtIDEsXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzLXN0ZXAtaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncy1zdGVwLWRpc2FibGVkJzogc3RlcC5kaXNhYmxlZCB9XCJcclxuICAgICAgICAgICAgICAgIFtzVG9vbHRpcF09XCJzdGVwLnRvb2x0aXBcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdGVwLWluZGV4LWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKHN0ZXAuc3RhdGUgIT09IHN0ZXBTdGF0ZS5XYXJuaW5nICYmIChzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuU3VjY2VzcyB8fCBhY3RpdmVJbmRleCA+IGkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhcyBmYS1jaGVja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpICsgMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKHN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5XYXJuaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhcyBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpICsgMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKHN0ZXAuc3RhdGUgIT09IHN0ZXBTdGF0ZS5TdWNjZXNzICYmIHN0ZXAuc3RhdGUgIT09IHN0ZXBTdGF0ZS5XYXJuaW5nICYmIGFjdGl2ZUluZGV4IDw9IGkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaSArIDEgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBbaWRdPVwiJ3N0ZXAtbGFiZWwtJyArIGlcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzLXN0ZXAtbGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncy1zdGVwLWRpc2FibGVkJzogc3RlcC5kaXNhYmxlZCB9XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgc3RlcC5sYWJlbCB9fVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIH1cclxuPC9kaXY+XHJcbiJdfQ==
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RlcHBlci9zcmMvbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RlcHBlci9zcmMvbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDbEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFJNUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7O0FBRTlFOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBMEVILE1BQU0sT0FBTyxnQkFBZ0I7SUFDbEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFekIsc0dBQXNHO0lBRS9GLEVBQUUsR0FBRyxXQUFXLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFFbkQsMkVBQTJFO0lBRXBFLEtBQUssQ0FBVTtJQUV0QixrRkFBa0Y7SUFFM0UsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUV2QixpRkFBaUY7SUFFMUUsWUFBWSxHQUFxQyxJ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RUFBRSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7NEJBQ2xFLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7eUJBQ3JFLENBQUM7d0JBQ0YsT0FBTyxDQUFDLHFCQUFxQixFQUFFOzRCQUMzQixLQUFLLENBQ0QsUUFBUSxFQUNSLEtBQUssQ0FBQztnQ0FDRixxQkFBcUIsRUFBRSxhQUFhOzZCQUN2QyxDQUFDLENBQ0w7NEJBQ0QsS0FBSyxDQUNELFdBQVcsRUFDWCxLQUFLLENBQUM7Z0NBQ0YscUJBQXFCLEVBQUUsY0FBYzs2QkFDeEMsQ0FBQyxDQUNMOzRCQUNELFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7NEJBQ2pFLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7eUJBQ3BFLENBQUM7cUJBQ0wsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7OEJBTzdCLEVBQUU7c0JBRFIsS0FBSztnQkFLQyxLQUFLO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtsQixXQUFXO3NCQURqQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLbEIsWUFBWTtzQkFEbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgREVQUkVDQVRFRF9DT05GSUcgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2NvbW1vbi9kZXByZWNhdGVkLXNlbGVjdG9yJztcclxuaW1wb3J0IHsgRGVwcmVjYXRlZFNlbGVjdG9yRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9jb21tb24vZGVwcmVjYXRlZC1zZWxlY3Rvcic7XHJcblxyXG5pbXBvcnQgeyBTdGVwIH0gZnJvbSAnLi9tb2RlbHMvc3RlcCc7XHJcbmltcG9ydCB7IFN0ZXBTZWxlY3Rpb25FdmVudCB9IGZyb20gJy4vbW9kZWxzL3N0ZXAtc2VsZWN0aW9uLWV2ZW50JztcclxuaW1wb3J0IHsgU3RlcFN0YXRlIH0gZnJvbSAnLi9tb2RlbHMvc3RlcC1zdGF0ZSc7XHJcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90b29sdGlwJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBkZSBwcm9ncmVzc28gZW0gZXRhcGFzIChzdGVwcGVyKSBjb20gYW5pbWHDp8O1ZXMuXHJcbiAqIEV4aWJlIHVtYSBsaW5oYSBkbyB0ZW1wbyBob3Jpem9udGFsIGRlIHBhc3NvcywgcGVybWl0aW5kbyBuYXZlZ2FyIGVudHJlIGVsZXMuXHJcbiAqIFN1cG9ydGEgcGFzc29zIG9jdWx0b3MgZSBkZXNhYmlsaXRhZG9zLiBUYW1iw6ltIHJlc3BvbmRlIGFvIHNlbGV0b3IgbGVnYWRvIGBzLXN0ZXBzYC5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgaHRtbFxyXG4gKiA8cy1zdGVwcGVyXHJcbiAqICAgW3N0ZXBzXT1cImV0YXBhc1wiXHJcbiAqICAgW2FjdGl2ZUluZGV4XT1cImV0YXBhQXRpdmFcIlxyXG4gKiAgIChzdGVwU2VsZWN0ZWQpPVwib25FdGFwYVNlbGVjaW9uYWRhKCRldmVudClcIiAvPlxyXG4gKiBgYGBcclxuICpcclxuICogQGNhdGVnb3J5IFN0cnVjdHVyZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Mtc3RlcHBlciwgcy1zdGVwcycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3RlcHBlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zdGVwcGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBob3N0RGlyZWN0aXZlczogW0RlcHJlY2F0ZWRTZWxlY3RvckRpcmVjdGl2ZV0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IERFUFJFQ0FURURfQ09ORklHLFxyXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xyXG4gICAgICAgICAgICAgICAgb2xkU2VsZWN0b3I6ICdzLXN0ZXBzJyxcclxuICAgICAgICAgICAgICAgIG5ld1NlbGVjdG9yOiAncy1zdGVwcGVyJyxcclxuICAgICAgICAgICAgICAgIHJlbW92YWxWZXJzaW9uOiAnMjAuMC4wJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxuICAgIGhvc3Q6IHtcclxuICAgICAgICAnYXJpYS1vcmllbnRhdGlvbic6ICdob3Jpem9udGFsJyxcclxuICAgICAgICByb2xlOiAndGFibGlzdCcsXHJcbiAgICAgICAgJ3RhYi1pbmRleCc6ICcwJyxcclxuICAgIH0sXHJcbiAgICBhbmltYXRpb25zOiBbXHJcbiAgICAgICAgdHJpZ2dlcignYmVmb3JlQWN0aXZlRGVzYXRpdmUnLCBbXHJcbiAgICAgICAgICAgIHN0YXRlKFxyXG4gICAgICAgICAgICAgICAgJ2FjdGl2ZScsXHJcbiAgICAgICAgICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAnbGVmdCBib3R0b20nLFxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIHN0YXRlKFxyXG4gICAgICAgICAgICAgICAgJ2Rlc2FjdGl2ZScsXHJcbiAgICAgICAgICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAncmlnaHQgYm90dG9tJyxcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdhY3RpdmUgPT4gZGVzYWN0aXZlJywgW2FuaW1hdGUoJzUwbXMgMTAwbXMgbGluZWFyJyldKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbignZGVzYWN0aXZlID0+IGFjdGl2ZScsIFthbmltYXRlKCc1MG1zIDI1MG1zIGxpbmVhcicpXSksXHJcbiAgICAgICAgXSksXHJcbiAgICAgICAgdHJpZ2dlcignYWN0aXZlRGVzYXRpdmUnLCBbXHJcbiAgICAgICAgICAgIHN0YXRlKFxyXG4gICAgICAgICAgICAgICAgJ2FjdGl2ZScsXHJcbiAgICAgICAgICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAnbGVmdCBib3R0b20nLFxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIHN0YXRlKFxyXG4gICAgICAgICAgICAgICAgJ2Rlc2FjdGl2ZScsXHJcbiAgICAgICAgICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAncmlnaHQgYm90dG9tJyxcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdhY3RpdmUgPT4gZGVzYWN0aXZlJywgW2FuaW1hdGUoJzEwMG1zIDE1MG1zIGxpbmVhcicpXSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2Rlc2FjdGl2ZSA9PiBhY3RpdmUnLCBbYW5pbWF0ZSgnMTAwbXMgMTUwbXMgbGluZWFyJyldKSxcclxuICAgICAgICBdKSxcclxuICAgICAgICB0cmlnZ2VyKCdhZnRlckFjdGl2ZURlc2F0aXZlJywgW1xyXG4gICAgICAgICAgICBzdGF0ZShcclxuICAgICAgICAgICAgICAgICdhY3RpdmUnLFxyXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJ2xlZnQgYm90dG9tJyxcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBzdGF0ZShcclxuICAgICAgICAgICAgICAgICdkZXNhY3RpdmUnLFxyXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJ3JpZ2h0IGJvdHRvbScsXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbignYWN0aXZlID0+IGRlc2FjdGl2ZScsIFthbmltYXRlKCc1MG1zIDI1MG1zIGxpbmVhcicpXSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2Rlc2FjdGl2ZSA9PiBhY3RpdmUnLCBbYW5pbWF0ZSgnNTBtcyAxMDBtcyBsaW5lYXInKV0pLFxyXG4gICAgICAgIF0pLFxyXG4gICAgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgVG9vbHRpcERpcmVjdGl2ZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGVwcGVyQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyBzdGF0aWMgbmV4dElkID0gMDtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIElkZW50aWZpY2Fkb3Igw7puaWNvIGRvIGNvbXBvbmVudGUgbm8gRE9NLiBHZXJhZG8gYXV0b21hdGljYW1lbnRlIHNlIG7Do28gaW5mb3JtYWRvLiAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpZCA9IGBzLXN0ZXBzLSR7U3RlcHBlckNvbXBvbmVudC5uZXh0SWQrK31gO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gTGlzdGEgZGUgZXRhcGFzIGV4aWJpZGFzIG5vIHN0ZXBwZXIuIENhbXBvIG9icmlnYXTDs3Jpby4gKi9cclxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXHJcbiAgICBwdWJsaWMgc3RlcHMhOiBTdGVwW107XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiDDjW5kaWNlICgwLWJhc2VkKSBkYSBldGFwYSBhdHVhbG1lbnRlIGF0aXZhLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXHJcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxyXG4gICAgcHVibGljIGFjdGl2ZUluZGV4ID0gMDtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gdXN1w6FyaW8gY2xpY2EgZW0gdW1hIGV0YXBhIG7Do28gZGVzYWJpbGl0YWRhLiAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgc3RlcFNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8U3RlcFNlbGVjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IHN0ZXBTdGF0ZSgpIHtcclxuICAgICAgICByZXR1cm4gU3RlcFN0YXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdmlzaWJsZWRTdGVwKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBzLmZpbHRlcigoc3RlcDogU3RlcCkgPT4gIXN0ZXAuaGlkZGVuKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RlcENsaWNrKHN0ZXA6IFN0ZXAsIGluZGV4OiBudW1iZXIsIGV2ZW50OiBhbnkpIHtcclxuICAgICAgICBpZiAoc3RlcC5kaXNhYmxlZCB8fCBpbmRleCA9PT0gdGhpcy5hY3RpdmVJbmRleCkgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuc3RlcFNlbGVjdGVkLmVtaXQoeyBzdGVwLCBpbmRleCwgZXZlbnQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGJhckFuaW1hdGlvbihpbmRleDogbnVtYmVyLCBhY3RpdmVJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgdmlzaXRlZCA9IGluZGV4IDwgYWN0aXZlSW5kZXg7XHJcbiAgICAgICAgY29uc3QgYWN0aXZhdGVkID0gaW5kZXggPT09IGFjdGl2ZUluZGV4O1xyXG4gICAgICAgIHJldHVybiB2aXNpdGVkIHx8IGFjdGl2YXRlZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWZ0ZXJCYXJBbmltYXRpb24oaW5kZXg6IG51bWJlciwgYWN0aXZlSW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IHZpc2l0ZWQgPSBpbmRleCA8IGFjdGl2ZUluZGV4O1xyXG4gICAgICAgIGNvbnN0IGFjdGl2YXRlZCA9IGluZGV4ID09PSBhY3RpdmVJbmRleCAtIDE7XHJcbiAgICAgICAgcmV0dXJuIHZpc2l0ZWQgfHwgYWN0aXZhdGVkO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAgIFtpZF09XCJpZFwiXHJcbiAgICBjbGFzcz1cInMtc3RlcHBlci1jb250YWluZXJcIlxyXG4+XHJcbiAgICBAZm9yIChzdGVwIG9mIHZpc2libGVkU3RlcDsgdHJhY2sgc3RlcDsgbGV0IGkgPSAkaW5kZXg7IGxldCBpc0ZpcnN0ID0gJGZpcnN0OyBsZXQgaXNMYXN0ID0gJGxhc3QpIHtcclxuICAgICAgICBAaWYgKCFpc0ZpcnN0KSB7XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGVwLXByb2dyZXNzLWJhclwiXHJcbiAgICAgICAgICAgICAgICBbQGFjdGl2ZURlc2F0aXZlXT1cImJhckFuaW1hdGlvbihpLCBhY3RpdmVJbmRleCkgPyAnYWN0aXZlJyA6ICdkZXNhY3RpdmUnXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAncy1zdGVwLXN1Y2Nlc3MnOiBzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuU3VjY2VzcyxcclxuICAgICAgICAgICAgICAgICAgICAncy1zdGVwLXdhcm5pbmcnOiBzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuV2FybmluZyxcclxuICAgICAgICAgICAgICAgICAgICAncy1zdGVwLWRpc2FibGVkJzogc3RlcC5kaXNhYmxlZCxcclxuICAgICAgICAgICAgICAgICAgICAncy1zdGVwLXZpc2l0ZWQnOiBpIDwgYWN0aXZlSW5kZXgsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1hY3RpdmUnOiBpID09PSBhY3RpdmVJbmRleCxcclxuICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgW2lkXT1cImlkICsgJy1zdGVwLScgKyAoc3RlcC5pZCB8fCBpKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwicy1zdGVwLWhlYWRlclwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzdGVwQ2xpY2soc3RlcCwgaSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIHJvbGU9XCJ0YWJcIlxyXG4gICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJzdGVwLmRpc2FibGVkID8gLTEgOiAwXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJzdGVwLmRpc2FibGVkID8gJ3RydWUnIDogbnVsbFwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic3RlcC5hcmlhTGFiZWwgfHwgbnVsbFwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwic3RlcC5hcmlhQ29udHJvbHNcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiIXN0ZXAuYXJpYUxhYmVsID8gJ3N0ZXAtbGFiZWwtJyArIGkgOiBudWxsXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1wb3NpbnNldF09XCJpICsgMVwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtc2V0c2l6ZV09XCJ2aXNpYmxlZFN0ZXAubGVuZ3RoXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJhY3RpdmVJbmRleCA9PT0gaVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICdzLXN0ZXAtc3VjY2Vzcyc6IHN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5TdWNjZXNzLFxyXG4gICAgICAgICAgICAgICAgJ3Mtc3RlcC13YXJuaW5nJzogc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLldhcm5pbmcsXHJcbiAgICAgICAgICAgICAgICAncy1zdGVwLXZpc2l0ZWQnOiBpIDwgYWN0aXZlSW5kZXgsXHJcbiAgICAgICAgICAgICAgICAncy1zdGVwLWFjdGl2ZSc6IGkgPT09IGFjdGl2ZUluZGV4LFxyXG4gICAgICAgICAgICAgICAgJ3Mtc3RlcC1wcmV2aW91cyc6IGkgPT09IGFjdGl2ZUluZGV4IC0gMSxcclxuICAgICAgICAgICAgICAgICdzLXN0ZXAtZGlzYWJsZWQnOiBzdGVwLmRpc2FibGVkLFxyXG4gICAgICAgICAgICB9XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIEBpZiAoIWlzRmlyc3QpIHtcclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBbQGJlZm9yZUFjdGl2ZURlc2F0aXZlXT1cImJhckFuaW1hdGlvbihpLCBhY3RpdmVJbmRleCkgPyAnYWN0aXZlJyA6ICdkZXNhY3RpdmUnXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInMtc3RlcC1wcm9ncmVzcy1iYXItYmVmb3JlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtc3VjY2Vzcyc6IHN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5TdWNjZXNzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAncy1zdGVwLXdhcm5pbmcnOiBzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuV2FybmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1kaXNhYmxlZCc6IHN0ZXAuZGlzYWJsZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtdmlzaXRlZCc6IGkgPCBhY3RpdmVJbmRleCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1hY3RpdmUnOiBpID09PSBhY3RpdmVJbmRleCxcclxuICAgICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCFpc0xhc3QpIHtcclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBbQGFmdGVyQWN0aXZlRGVzYXRpdmVdPVwiYWZ0ZXJCYXJBbmltYXRpb24oaSwgYWN0aXZlSW5kZXgpID8gJ2FjdGl2ZScgOiAnZGVzYWN0aXZlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzLXN0ZXAtcHJvZ3Jlc3MtYmFyLWFmdGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtc3VjY2Vzcyc6IHN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5TdWNjZXNzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAncy1zdGVwLXdhcm5pbmcnOiBzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuV2FybmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1kaXNhYmxlZCc6IHZpc2libGVkU3RlcFtpICsgMV0uZGlzYWJsZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtdmlzaXRlZCc6IGkgKyAxIDwgYWN0aXZlSW5kZXgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtYWN0aXZlJzogaSA9PT0gYWN0aXZlSW5kZXggLSAxLFxyXG4gICAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGVwLWluZGV4XCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3Mtc3RlcC1kaXNhYmxlZCc6IHN0ZXAuZGlzYWJsZWQgfVwiXHJcbiAgICAgICAgICAgICAgICBbc1Rvb2x0aXBdPVwic3RlcC50b29sdGlwXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInMtc3RlcC1pbmRleC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChzdGVwLnN0YXRlICE9PSBzdGVwU3RhdGUuV2FybmluZyAmJiAoc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLlN1Y2Nlc3MgfHwgYWN0aXZlSW5kZXggPiBpKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYXMgZmEtY2hlY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaSArIDFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuV2FybmluZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYXMgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaSArIDFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChzdGVwLnN0YXRlICE9PSBzdGVwU3RhdGUuU3VjY2VzcyAmJiBzdGVwLnN0YXRlICE9PSBzdGVwU3RhdGUuV2FybmluZyAmJiBhY3RpdmVJbmRleCA8PSBpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGkgKyAxIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgW2lkXT1cIidzdGVwLWxhYmVsLScgKyBpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGVwLWxhYmVsXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3Mtc3RlcC1kaXNhYmxlZCc6IHN0ZXAuZGlzYWJsZWQgfVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IHN0ZXAubGFiZWwgfX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, EventEmitter, HostListener, Input, Output, ViewChild, forwardRef } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, ViewChild, forwardRef } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { TranslateModule } from '@ngx-translate/core';
4
4
  import * as i0 from "@angular/core";
@@ -39,14 +39,6 @@ export class SwitchComponent {
39
39
  switchRef;
40
40
  _onChange;
41
41
  _onTouched;
42
- onFocusIn() {
43
- const switchElement = this.switchRef.nativeElement;
44
- switchElement.classList.add('switch--focus');
45
- }
46
- onFocusOut() {
47
- const switchElement = this.switchRef.nativeElement;
48
- switchElement.classList.remove('switch--focus');
49
- }
50
42
  writeValue(value) {
51
43
  if (!this.disabled) {
52
44
  this.value = value;
@@ -75,13 +67,13 @@ export class SwitchComponent {
75
67
  }
76
68
  }
77
69
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
78
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SwitchComponent, isStandalone: true, selector: "s-switch", inputs: { readonly: "readonly", trueLabel: "trueLabel", falseLabel: "falseLabel", inputId: "inputId", label: "label", inputName: "inputName", disabled: "disabled", value: "value", showStatusLabel: "showStatusLabel" }, outputs: { valueChanged: "valueChanged" }, host: { listeners: { "focusin": "onFocusIn()", "focusout": "onFocusOut()" } }, providers: [
70
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SwitchComponent, isStandalone: true, selector: "s-switch", inputs: { readonly: "readonly", trueLabel: "trueLabel", falseLabel: "falseLabel", inputId: "inputId", label: "label", inputName: "inputName", disabled: "disabled", value: "value", showStatusLabel: "showStatusLabel" }, outputs: { valueChanged: "valueChanged" }, providers: [
79
71
  {
80
72
  provide: NG_VALUE_ACCESSOR,
81
73
  useExisting: forwardRef(() => SwitchComponent),
82
74
  multi: true,
83
75
  },
84
- ], viewQueries: [{ propertyName: "switchRef", first: true, predicate: ["switch"], descendants: true, static: true }], ngImport: i0, template: "<div\n #switch\n class=\"inline-flex items-center\"\n role=\"group\"\n [attr.aria-label]=\"label || ('platform.angular_components.switch_toggle' | translate)\"\n [class.opacity-50]=\"disabled\"\n [attr.aria-disabled]=\"disabled || null\"\n>\n <label class=\"inline-block h-6 m-0 relative w-10\">\n <span class=\"sr-only\">{{ label || ('platform.angular_components.switch_toggle' | translate) }}</span>\n <input\n #input\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"checkbox\"\n role=\"switch\"\n class=\"h-0 opacity-0 w-0\"\n [attr.aria-checked]=\"value\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-readonly]=\"readonly || null\"\n (change)=\"toggleCheck()\"\n />\n <span\n class=\"slider bg-grayscale-40 rounded-[15px] inset-0 absolute cursor-pointer transition-all duration-[400ms]\"\n aria-hidden=\"true\"\n ></span>\n </label>\n @if (showStatusLabel) {\n <span class=\"text-grayscale-90 font-open-sans text-sm font-normal leading-[150%] ml-3\">{{ value ? trueLabel : falseLabel }}</span>\n }\n</div>\n\n", styles: [".slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:\"\";height:16px;left:4px;position:absolute;transition:.4s;width:16px}input:checked+.slider{background-color:#428bca}input:checked+.slider:before{transform:translate(16px)}input:focus-visible+.slider{box-shadow:0 0 0 2px #000;outline:2px solid #000;outline-offset:1px}.switch--focus .slider{box-shadow:0 0 0 2px #428bca80}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
76
+ ], viewQueries: [{ propertyName: "switchRef", first: true, predicate: ["switch"], descendants: true, static: true }], ngImport: i0, template: "<div\n #switch\n class=\"inline-flex items-center\"\n role=\"group\"\n [attr.aria-label]=\"label || ('platform.angular_components.switch_toggle' | translate)\"\n [class.opacity-50]=\"disabled\"\n [attr.aria-disabled]=\"disabled || null\"\n>\n <label class=\"inline-block h-6 m-0 relative w-10\">\n <span class=\"sr-only\">{{ label || ('platform.angular_components.switch_toggle' | translate) }}</span>\n <input\n #input\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"checkbox\"\n role=\"switch\"\n class=\"h-0 opacity-0 w-0\"\n [attr.aria-checked]=\"value\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-readonly]=\"readonly || null\"\n (change)=\"toggleCheck()\"\n />\n <span\n class=\"slider bg-grayscale-40 rounded-[15px] inset-0 absolute transition-all duration-[400ms]\"\n [class.cursor-pointer]=\"!disabled\"\n [class.cursor-default]=\"disabled\"\n aria-hidden=\"true\"\n ></span>\n </label>\n @if (showStatusLabel) {\n <span class=\"text-grayscale-90 font-open-sans text-sm font-normal leading-[150%] ml-3\">{{ value ? trueLabel : falseLabel }}</span>\n }\n</div>\n\n", styles: [".slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:\"\";height:16px;left:4px;position:absolute;transition:.4s;width:16px}input:checked+.slider{background-color:#428bca}input:checked+.slider:before{transform:translate(16px)}input:focus-visible+.slider{outline:2px solid var(--s-focus-ring-color);outline-offset:2px;transition-property:background-color}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
85
77
  }
86
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchComponent, decorators: [{
87
79
  type: Component,
@@ -91,7 +83,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
91
83
  useExisting: forwardRef(() => SwitchComponent),
92
84
  multi: true,
93
85
  },
94
- ], standalone: true, imports: [TranslateModule], template: "<div\n #switch\n class=\"inline-flex items-center\"\n role=\"group\"\n [attr.aria-label]=\"label || ('platform.angular_components.switch_toggle' | translate)\"\n [class.opacity-50]=\"disabled\"\n [attr.aria-disabled]=\"disabled || null\"\n>\n <label class=\"inline-block h-6 m-0 relative w-10\">\n <span class=\"sr-only\">{{ label || ('platform.angular_components.switch_toggle' | translate) }}</span>\n <input\n #input\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"checkbox\"\n role=\"switch\"\n class=\"h-0 opacity-0 w-0\"\n [attr.aria-checked]=\"value\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-readonly]=\"readonly || null\"\n (change)=\"toggleCheck()\"\n />\n <span\n class=\"slider bg-grayscale-40 rounded-[15px] inset-0 absolute cursor-pointer transition-all duration-[400ms]\"\n aria-hidden=\"true\"\n ></span>\n </label>\n @if (showStatusLabel) {\n <span class=\"text-grayscale-90 font-open-sans text-sm font-normal leading-[150%] ml-3\">{{ value ? trueLabel : falseLabel }}</span>\n }\n</div>\n\n", styles: [".slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:\"\";height:16px;left:4px;position:absolute;transition:.4s;width:16px}input:checked+.slider{background-color:#428bca}input:checked+.slider:before{transform:translate(16px)}input:focus-visible+.slider{box-shadow:0 0 0 2px #000;outline:2px solid #000;outline-offset:1px}.switch--focus .slider{box-shadow:0 0 0 2px #428bca80}\n"] }]
86
+ ], standalone: true, imports: [TranslateModule], template: "<div\n #switch\n class=\"inline-flex items-center\"\n role=\"group\"\n [attr.aria-label]=\"label || ('platform.angular_components.switch_toggle' | translate)\"\n [class.opacity-50]=\"disabled\"\n [attr.aria-disabled]=\"disabled || null\"\n>\n <label class=\"inline-block h-6 m-0 relative w-10\">\n <span class=\"sr-only\">{{ label || ('platform.angular_components.switch_toggle' | translate) }}</span>\n <input\n #input\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"checkbox\"\n role=\"switch\"\n class=\"h-0 opacity-0 w-0\"\n [attr.aria-checked]=\"value\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-readonly]=\"readonly || null\"\n (change)=\"toggleCheck()\"\n />\n <span\n class=\"slider bg-grayscale-40 rounded-[15px] inset-0 absolute transition-all duration-[400ms]\"\n [class.cursor-pointer]=\"!disabled\"\n [class.cursor-default]=\"disabled\"\n aria-hidden=\"true\"\n ></span>\n </label>\n @if (showStatusLabel) {\n <span class=\"text-grayscale-90 font-open-sans text-sm font-normal leading-[150%] ml-3\">{{ value ? trueLabel : falseLabel }}</span>\n }\n</div>\n\n", styles: [".slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:\"\";height:16px;left:4px;position:absolute;transition:.4s;width:16px}input:checked+.slider{background-color:#428bca}input:checked+.slider:before{transform:translate(16px)}input:focus-visible+.slider{outline:2px solid var(--s-focus-ring-color);outline-offset:2px;transition-property:background-color}\n"] }]
95
87
  }], propDecorators: { readonly: [{
96
88
  type: Input
97
89
  }], trueLabel: [{
@@ -115,11 +107,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
115
107
  }], switchRef: [{
116
108
  type: ViewChild,
117
109
  args: ['switch', { static: true }]
118
- }], onFocusIn: [{
119
- type: HostListener,
120
- args: ['focusin']
121
- }], onFocusOut: [{
122
- type: HostListener,
123
- args: ['focusout']
124
110
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zd2l0Y2gvc3JjL2xpYi9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zd2l0Y2gvc3JjL2xpYi9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBRXREOzs7Ozs7Ozs7OztHQVdHO0FBZUgsTUFBTSxPQUFPLGVBQWU7SUFDeEIsMEZBQTBGO0lBRW5GLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFeEIsNkVBQTZFO0lBRXRFLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFFNUIsaUZBQWlGO0lBRTFFLFVBQVUsR0FBRyxXQUFXLENBQUM7SUFFaEMscUZBQXFGO0lBRTlFLE9BQU8sQ0FBVTtJQUN4QixpR0FBaUc7SUFFMUYsS0FBSyxDQUFVO0lBRXRCLHlEQUF5RDtJQUVsRCxTQUFTLENBQVU7SUFFMUIsNkZBQTZGO0lBRXRGLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFeEIsc0ZBQXNGO0lBRS9FLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRWxELHlEQUF5RDtJQUVsRCxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRXJCLHVGQUF1RjtJQUVoRixlQUFlLEdBQUcsSUFBSSxDQUFDO0lBR3ZCLFNBQVMsQ0FBYztJQUV0QixTQUFTLENBQTRCO0lBQ3JDLFVBQVUsQ0FBNEI7SUFHdkMsU0FBUztRQUNaLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBK0IsQ0FBQztRQUNyRSxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBR00sVUFBVTtRQUNiLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBK0IsQ0FBQztRQUNyRSxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFFBQWtDO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxTQUFtQztRQUN4RCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sZ0JBQWdCLENBQUUsUUFBaUI7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNMLENBQUM7d0dBMUZRLGVBQWU7NEZBQWYsZUFBZSwyWUFWYjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUM5QyxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osNklDMUJMLGd1Q0FpQ0EsdWNETGMsZUFBZTs7NEZBRWhCLGVBQWU7a0JBZDNCLFNBQVM7K0JBQ0ksVUFBVSxhQUdUO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSixjQUNXLElBQUksV0FDUCxDQUFDLGVBQWUsQ0FBQzs4QkFLbkIsUUFBUTtzQkFEZCxLQUFLO2dCQUtDLFNBQVM7c0JBRGYsS0FBSztnQkFLQyxVQUFVO3NCQURoQixLQUFLO2dCQUtDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBS0MsU0FBUztzQkFEZixLQUFLO2dCQUtDLFFBQVE7c0JBRGQsS0FBSztnQkFLQyxZQUFZO3NCQURsQixNQUFNO2dCQUtBLEtBQUs7c0JBRFgsS0FBSztnQkFLQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU85QixTQUFTO3NCQURmLFlBQVk7dUJBQUMsU0FBUztnQkFPaEIsVUFBVTtzQkFEaEIsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgY2hhdmUgdGlwbyBzd2l0Y2ggKGxpZ2EvZGVzbGlnYSkgcXVlIGltcGxlbWVudGFcclxuICogYENvbnRyb2xWYWx1ZUFjY2Vzc29yYCBwYXJhIHVzbyBlbSBmb3JtdWzDoXJpb3MgQW5ndWxhci4gU3Vwb3J0YSByw7N0dWxvc1xyXG4gKiBwZXJzb25hbGl6YWRvcyBwYXJhIG9zIGVzdGFkb3MgdmVyZGFkZWlybyBlIGZhbHNvLCBhbMOpbSBkZSBtb2RvIHNvbWVudGUgbGVpdHVyYS5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgaHRtbFxyXG4gKiA8cy1zd2l0Y2ggZm9ybUNvbnRyb2xOYW1lPVwiYXRpdm9cIiB0cnVlTGFiZWw9XCJBdGl2b1wiIGZhbHNlTGFiZWw9XCJJbmF0aXZvXCIgLz5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBJbnB1dHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzLXN3aXRjaCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3dpdGNoLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3N3aXRjaC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3dpdGNoQ29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1RyYW5zbGF0ZU1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTd2l0Y2hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIEltcGVkZSBhbHRlcmHDp8O1ZXMgcGVsbyB1c3XDoXJpbyBzZW0gZGVzYWJpbGl0YXIgbyBjYW1wby4gQGRlZmF1bHQgZmFsc2UgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgPSBmYWxzZTtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFLDs3R1bG8gZXhpYmlkbyBxdWFuZG8gbyB2YWxvciDDqSBgdHJ1ZWAuIEBkZWZhdWx0ICdMaWdhZG8nICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHRydWVMYWJlbCA9ICdMaWdhZG8nO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gUsOzdHVsbyBleGliaWRvIHF1YW5kbyBvIHZhbG9yIMOpIGBmYWxzZWAuIEBkZWZhdWx0ICdEZXNsaWdhZG8nICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZhbHNlTGFiZWwgPSAnRGVzbGlnYWRvJztcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIGBpZGAgZG8gZWxlbWVudG8gYDxpbnB1dD5gIGludGVybm8gcGFyYSBhc3NvY2lhw6fDo28gY29tIGA8bGFiZWw+YC4gKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaW5wdXRJZD86IHN0cmluZztcclxuICAgIC8qKiBAZGVzY3JpcHRpb24gTm9tZSBhY2Vzc8OtdmVsIGRlc2NyaXRpdm8gZG8gc3dpdGNoIHBhcmEgdGVjbm9sb2dpYXMgYXNzaXN0aXZhcyAoYXJpYS1sYWJlbCkuICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxhYmVsPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gQXRyaWJ1dG8gYG5hbWVgIGRvIGA8aW5wdXQ+YCBpbnRlcm5vLiAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpbnB1dE5hbWU/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBEZXNhYmlsaXRhIG8gY29tcG9uZW50ZSwgaW1wZWRpbmRvIGludGVyYcOnw6NvIGUgYWx0ZXJhw6fDtWVzLiBAZGVmYXVsdCBmYWxzZSAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyB2YWxvciBkbyBzd2l0Y2ggbXVkYSwgY29tIG8gbm92byBlc3RhZG8gYm9vbGVhbm8uICovXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB2YWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBWYWxvciBhdHVhbCBkbyBzd2l0Y2guIEBkZWZhdWx0IGZhbHNlICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHZhbHVlID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDb250cm9sYSBzZSBkZXZlIG91IG7Do28gZXhpYmlyIG8gdmFsdWUgZG8gY29tcG9uZW50ZS4gQGRlZmF1bHQgdHJ1ZSAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaG93U3RhdHVzTGFiZWwgPSB0cnVlO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3N3aXRjaCcsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgICBwdWJsaWMgc3dpdGNoUmVmITogRWxlbWVudFJlZjtcclxuXHJcbiAgICBwcml2YXRlIF9vbkNoYW5nZT86ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgX29uVG91Y2hlZD86ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdmb2N1c2luJylcclxuICAgIHB1YmxpYyBvbkZvY3VzSW4oKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc3dpdGNoRWxlbWVudCA9IHRoaXMuc3dpdGNoUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQ7XHJcbiAgICAgICAgc3dpdGNoRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdzd2l0Y2gtLWZvY3VzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXNvdXQnKVxyXG4gICAgcHVibGljIG9uRm9jdXNPdXQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc3dpdGNoRWxlbWVudCA9IHRoaXMuc3dpdGNoUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQ7XHJcbiAgICAgICAgc3dpdGNoRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdzd2l0Y2gtLWZvY3VzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBvbkNoYW5nZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vblRvdWNoZWQgPSBvblRvdWNoZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldERpc2FibGVkU3RhdGU/KGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0b2dnbGVDaGVjaygpIHtcclxuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWUgPSAhdGhpcy52YWx1ZTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlZC5lbWl0KHRoaXMudmFsdWUpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fb25DaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5fb25Ub3VjaGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX29uVG91Y2hlZCh0aGlzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdlxuICAgICNzd2l0Y2hcbiAgICBjbGFzcz1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlclwiXG4gICAgcm9sZT1cImdyb3VwXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsIHx8ICgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnN3aXRjaF90b2dnbGUnIHwgdHJhbnNsYXRlKVwiXG4gICAgW2NsYXNzLm9wYWNpdHktNTBdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbnVsbFwiXG4+XG4gICAgPGxhYmVsIGNsYXNzPVwiaW5saW5lLWJsb2NrIGgtNiBtLTAgcmVsYXRpdmUgdy0xMFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj57eyBsYWJlbCB8fCAoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zd2l0Y2hfdG9nZ2xlJyB8IHRyYW5zbGF0ZSkgfX08L3NwYW4+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgI2lucHV0XG4gICAgICAgICAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgICAgICAgICBbbmFtZV09XCJpbnB1dE5hbWVcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIHJvbGU9XCJzd2l0Y2hcIlxuICAgICAgICAgICAgY2xhc3M9XCJoLTAgb3BhY2l0eS0wIHctMFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwidmFsdWVcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwidmFsdWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtcmVhZG9ubHldPVwicmVhZG9ubHkgfHwgbnVsbFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZUNoZWNrKClcIlxuICAgICAgICAvPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzbGlkZXIgYmctZ3JheXNjYWxlLTQwIHJvdW5kZWQtWzE1cHhdIGluc2V0LTAgYWJzb2x1dGUgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tWzQwMG1zXVwiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+PC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gICAgQGlmIChzaG93U3RhdHVzTGFiZWwpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWdyYXlzY2FsZS05MCBmb250LW9wZW4tc2FucyB0ZXh0LXNtIGZvbnQtbm9ybWFsIGxlYWRpbmctWzE1MCVdIG1sLTNcIj57eyB2YWx1ZSA/IHRydWVMYWJlbCA6IGZhbHNlTGFiZWwgfX08L3NwYW4+XG4gICAgfVxuPC9kaXY+XG5cbiJdfQ==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zd2l0Y2gvc3JjL2xpYi9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zd2l0Y2gvc3JjL2xpYi9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFFdEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFlSCxNQUFNLE9BQU8sZUFBZTtJQUN4QiwwRkFBMEY7SUFFbkYsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUV4Qiw2RUFBNkU7SUFFdEUsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUU1QixpRkFBaUY7SUFFMUUsVUFBVSxHQUFHLFdBQVcsQ0FBQztJQUVoQyxxRkFBcUY7SUFFOUUsT0FBTyxDQUFVO0lBQ3hCLGlHQUFpRztJQUUxRixLQUFLLENBQVU7SUFFdEIseURBQXlEO0lBRWxELFNBQVMsQ0FBVTtJQUUxQiw2RkFBNkY7SUFFdEYsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUV4QixzRkFBc0Y7SUFFL0UsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFbEQseURBQXlEO0lBRWxELEtBQUssR0FBRyxLQUFLLENBQUM7SUFFckIsdUZBQXVGO0lBRWhGLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFHdkIsU0FBUyxDQUFjO0lBRXRCLFNBQVMsQ0FBNEI7SUFDckMsVUFBVSxDQUE0QjtJQUV2QyxVQUFVLENBQUMsS0FBYztRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsUUFBa0M7UUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFNBQW1DO1FBQ3hELElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBRSxRQUFpQjtRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5DLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0wsQ0FBQzt3R0E5RVEsZUFBZTs0RkFBZixlQUFlLDRUQVZiO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBQzlDLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSiw2SUMxQkwsb3pDQW1DQSxpYkRQYyxlQUFlOzs0RkFFaEIsZUFBZTtrQkFkM0IsU0FBUzsrQkFDSSxVQUFVLGFBR1Q7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKLGNBQ1csSUFBSSxXQUNQLENBQUMsZUFBZSxDQUFDOzhCQUtuQixRQUFRO3NCQURkLEtBQUs7Z0JBS0MsU0FBUztzQkFEZixLQUFLO2dCQUtDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBS0MsT0FBTztzQkFEYixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFLQyxTQUFTO3NCQURmLEtBQUs7Z0JBS0MsUUFBUTtzQkFEZCxLQUFLO2dCQUtDLFlBQVk7c0JBRGxCLE1BQU07Z0JBS0EsS0FBSztzQkFEWCxLQUFLO2dCQUtDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgY2hhdmUgdGlwbyBzd2l0Y2ggKGxpZ2EvZGVzbGlnYSkgcXVlIGltcGxlbWVudGFcclxuICogYENvbnRyb2xWYWx1ZUFjY2Vzc29yYCBwYXJhIHVzbyBlbSBmb3JtdWzDoXJpb3MgQW5ndWxhci4gU3Vwb3J0YSByw7N0dWxvc1xyXG4gKiBwZXJzb25hbGl6YWRvcyBwYXJhIG9zIGVzdGFkb3MgdmVyZGFkZWlybyBlIGZhbHNvLCBhbMOpbSBkZSBtb2RvIHNvbWVudGUgbGVpdHVyYS5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgaHRtbFxyXG4gKiA8cy1zd2l0Y2ggZm9ybUNvbnRyb2xOYW1lPVwiYXRpdm9cIiB0cnVlTGFiZWw9XCJBdGl2b1wiIGZhbHNlTGFiZWw9XCJJbmF0aXZvXCIgLz5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBJbnB1dHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzLXN3aXRjaCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3dpdGNoLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3N3aXRjaC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3dpdGNoQ29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1RyYW5zbGF0ZU1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTd2l0Y2hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIEltcGVkZSBhbHRlcmHDp8O1ZXMgcGVsbyB1c3XDoXJpbyBzZW0gZGVzYWJpbGl0YXIgbyBjYW1wby4gQGRlZmF1bHQgZmFsc2UgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgPSBmYWxzZTtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFLDs3R1bG8gZXhpYmlkbyBxdWFuZG8gbyB2YWxvciDDqSBgdHJ1ZWAuIEBkZWZhdWx0ICdMaWdhZG8nICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHRydWVMYWJlbCA9ICdMaWdhZG8nO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gUsOzdHVsbyBleGliaWRvIHF1YW5kbyBvIHZhbG9yIMOpIGBmYWxzZWAuIEBkZWZhdWx0ICdEZXNsaWdhZG8nICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZhbHNlTGFiZWwgPSAnRGVzbGlnYWRvJztcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIGBpZGAgZG8gZWxlbWVudG8gYDxpbnB1dD5gIGludGVybm8gcGFyYSBhc3NvY2lhw6fDo28gY29tIGA8bGFiZWw+YC4gKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaW5wdXRJZD86IHN0cmluZztcclxuICAgIC8qKiBAZGVzY3JpcHRpb24gTm9tZSBhY2Vzc8OtdmVsIGRlc2NyaXRpdm8gZG8gc3dpdGNoIHBhcmEgdGVjbm9sb2dpYXMgYXNzaXN0aXZhcyAoYXJpYS1sYWJlbCkuICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxhYmVsPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gQXRyaWJ1dG8gYG5hbWVgIGRvIGA8aW5wdXQ+YCBpbnRlcm5vLiAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpbnB1dE5hbWU/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBEZXNhYmlsaXRhIG8gY29tcG9uZW50ZSwgaW1wZWRpbmRvIGludGVyYcOnw6NvIGUgYWx0ZXJhw6fDtWVzLiBAZGVmYXVsdCBmYWxzZSAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyB2YWxvciBkbyBzd2l0Y2ggbXVkYSwgY29tIG8gbm92byBlc3RhZG8gYm9vbGVhbm8uICovXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB2YWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBWYWxvciBhdHVhbCBkbyBzd2l0Y2guIEBkZWZhdWx0IGZhbHNlICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHZhbHVlID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDb250cm9sYSBzZSBkZXZlIG91IG7Do28gZXhpYmlyIG8gdmFsdWUgZG8gY29tcG9uZW50ZS4gQGRlZmF1bHQgdHJ1ZSAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaG93U3RhdHVzTGFiZWwgPSB0cnVlO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3N3aXRjaCcsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgICBwdWJsaWMgc3dpdGNoUmVmITogRWxlbWVudFJlZjtcclxuXHJcbiAgICBwcml2YXRlIF9vbkNoYW5nZT86ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgX29uVG91Y2hlZD86ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcclxuXHJcbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IG9uQ2hhbmdlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX29uVG91Y2hlZCA9IG9uVG91Y2hlZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHRvZ2dsZUNoZWNrKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnJlYWRvbmx5KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9ICF0aGlzLnZhbHVlO1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VkLmVtaXQodGhpcy52YWx1ZSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9vbkNoYW5nZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9vblRvdWNoZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fb25Ub3VjaGVkKHRoaXMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2XG4gICAgI3N3aXRjaFxuICAgIGNsYXNzPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyXCJcbiAgICByb2xlPVwiZ3JvdXBcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWwgfHwgKCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuc3dpdGNoX3RvZ2dsZScgfCB0cmFuc2xhdGUpXCJcbiAgICBbY2xhc3Mub3BhY2l0eS01MF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBudWxsXCJcbj5cbiAgICA8bGFiZWwgY2xhc3M9XCJpbmxpbmUtYmxvY2sgaC02IG0tMCByZWxhdGl2ZSB3LTEwXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPnt7IGxhYmVsIHx8ICgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnN3aXRjaF90b2dnbGUnIHwgdHJhbnNsYXRlKSB9fTwvc3Bhbj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjaW5wdXRcbiAgICAgICAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgICAgICAgIFtuYW1lXT1cImlucHV0TmFtZVwiXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgcm9sZT1cInN3aXRjaFwiXG4gICAgICAgICAgICBjbGFzcz1cImgtMCBvcGFjaXR5LTAgdy0wXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJ2YWx1ZVwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJ2YWx1ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1yZWFkb25seV09XCJyZWFkb25seSB8fCBudWxsXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlQ2hlY2soKVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInNsaWRlciBiZy1ncmF5c2NhbGUtNDAgcm91bmRlZC1bMTVweF0gaW5zZXQtMCBhYnNvbHV0ZSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi1bNDAwbXNdXCJcbiAgICAgICAgICAgIFtjbGFzcy5jdXJzb3ItcG9pbnRlcl09XCIhZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2NsYXNzLmN1cnNvci1kZWZhdWx0XT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgPC9sYWJlbD5cbiAgICBAaWYgKHNob3dTdGF0dXNMYWJlbCkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZ3JheXNjYWxlLTkwIGZvbnQtb3Blbi1zYW5zIHRleHQtc20gZm9udC1ub3JtYWwgbGVhZGluZy1bMTUwJV0gbWwtM1wiPnt7IHZhbHVlID8gdHJ1ZUxhYmVsIDogZmFsc2VMYWJlbCB9fTwvc3Bhbj5cbiAgICB9XG48L2Rpdj5cblxuIl19
@@ -78,10 +78,10 @@ export class TabsComponent {
78
78
  this.activeTab.set(tab.value());
79
79
  }
80
80
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
81
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TabsComponent, isStandalone: true, selector: "s-tabs", inputs: { activeTab: { classPropertyName: "activeTab", publicName: "activeTab", isSignal: true, isRequired: false, transformFunction: null }, layoutType: { classPropertyName: "layoutType", publicName: "layoutType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeTab: "activeTabChange" }, queries: [{ propertyName: "tabItems", predicate: TabItemComponent, isSignal: true }], ngImport: i0, template: "@let layout = layoutType();\n@let isHorizontal = layout === 'horizontal';\n@let isVertical = layout === 'vertical';\n<ng-template #buttonsRender>\n @for (tab of tabItems(); track $index) {\n @let isActiveTab = tab.value() === activeTab();\n @let disabledTab = tab.disabled();\n <button\n #tabButton\n (sInteractiveContent)=\"onActiveTab(tab)\"\n [disabled]=\"disabledTab\"\n class=\"flex min-h-11 min-w-24 justify-start p-2 hover:transition-all\"\n [class.active-tab]=\"isActiveTab\"\n [ngClass]=\"{\n 'font-bold': isActiveTab,\n 'text-primary': !isActiveTab && !disabledTab,\n 'text-grayscale-30': disabledTab,\n 'border-b-4': isHorizontal,\n 'border-r-4': isVertical,\n 'border-primary': isActiveTab && !disabledTab,\n 'border-transparent': !isActiveTab || disabledTab,\n 'hover:border-primary': !disabledTab && !isActiveTab,\n 'flex items-center gap-2': tab.icon(),\n 'cursor-default': disabledTab,\n }\"\n >\n @let headerElement = tab.headerElement();\n @if (headerElement) {\n <ng-container *ngTemplateOutlet=\"headerElement\"></ng-container>\n } @else {\n @if (tab.icon()) {\n <i\n class=\"text-grayscale-100\"\n [class]=\"tab.icon()\"\n ></i>\n }\n <span\n class=\"block text-left\"\n [ngClass]=\"{\n 'cursor-default': disabledTab,\n }\"\n >\n {{ tab.header() }}\n </span>\n }\n </button>\n }\n</ng-template>\n\n<ng-template #renderComponent>\n @let _activeTab = activeTabComponent();\n @let template = _activeTab?.templateContent()!;\n @if (_activeTab && template && !_activeTab.disabled() && _activeTab.destroyOnHide()) {\n <section class=\"h-full min-h-10 bg-grayscale-0 p-2\">\n <ng-container *ngTemplateOutlet=\"template\" />\n </section>\n }\n @for (keepAliveTab of keepAliveTabsContent(); track $index) {\n @let isActiveTab = keepAliveTab.value() === activeTab();\n\n <section\n class=\"h-full min-h-10 bg-grayscale-0 p-2\"\n [class.hidden]=\"!isActiveTab\"\n [class.block]=\"isActiveTab\"\n >\n @if (keepAliveTab.template() && keepAliveTab.alreadyOpened) {\n <ng-container *ngTemplateOutlet=\"keepAliveTab.template()!\"></ng-container>\n }\n </section>\n }\n</ng-template>\n\n@if (isHorizontal) {\n <section class=\"p-2\">\n <div class=\"flex grid-flow-col overflow-auto border-b-[1px] border-b-grayscale-20\">\n <ng-container *ngTemplateOutlet=\"buttonsRender\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"renderComponent\"></ng-container>\n </section>\n} @else if (isVertical) {\n <section class=\"vertical-tab flex w-full flex-wrap gap-2\">\n <aside class=\"flex max-h-96 flex-col overflow-auto\">\n <ng-container *ngTemplateOutlet=\"buttonsRender\"></ng-container>\n </aside>\n <aside class=\"vertical-tab-content flex-1\">\n <ng-container *ngTemplateOutlet=\"renderComponent\"></ng-container>\n </aside>\n </section>\n}\n\n", styles: [".vertical-tab{container:vertical-tab/inline-size}.vertical-tab-content{min-width:20rem}@container vertical-tab (max-width: 552px){.vertical-tab-buttons{width:100%;flex-direction:row}.vertical-tab-buttons .active-tab,.vertical-tab-buttons button:hover{border-right:none;border-bottom-width:4px}}\n"], dependencies: [{ kind: "directive", type: InteractiveContentDirective, selector: "[sInteractiveContent]", inputs: ["focusable", "disabled", "stopPropagation"], outputs: ["sInteractiveContent"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
81
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TabsComponent, isStandalone: true, selector: "s-tabs", inputs: { activeTab: { classPropertyName: "activeTab", publicName: "activeTab", isSignal: true, isRequired: false, transformFunction: null }, layoutType: { classPropertyName: "layoutType", publicName: "layoutType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeTab: "activeTabChange" }, queries: [{ propertyName: "tabItems", predicate: TabItemComponent, isSignal: true }], ngImport: i0, template: "@let layout = layoutType();\n@let isHorizontal = layout === 'horizontal';\n@let isVertical = layout === 'vertical';\n<ng-template #buttonsRender>\n @for (tab of tabItems(); track $index) {\n @let isActiveTab = tab.value() === activeTab();\n @let disabledTab = tab.disabled();\n <button\n #tabButton\n (sInteractiveContent)=\"onActiveTab(tab)\"\n [disabled]=\"disabledTab\"\n class=\"flex min-h-11 min-w-24 justify-start p-2 hover:transition-colors focus-visible:rounded-medium focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[3px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)]\"\n [class.active-tab]=\"isActiveTab\"\n [ngClass]=\"{\n 'font-bold': isActiveTab,\n 'text-primary': !isActiveTab && !disabledTab,\n 'text-grayscale-30': disabledTab,\n 'border-b-4': isHorizontal,\n 'border-r-4': isVertical,\n 'border-primary': isActiveTab && !disabledTab,\n 'border-transparent': !isActiveTab || disabledTab,\n 'hover:border-primary': !disabledTab && !isActiveTab,\n 'flex items-center gap-2': tab.icon(),\n 'cursor-default': disabledTab,\n }\"\n >\n @let headerElement = tab.headerElement();\n @if (headerElement) {\n <ng-container *ngTemplateOutlet=\"headerElement\"></ng-container>\n } @else {\n @if (tab.icon()) {\n <i\n class=\"text-grayscale-100\"\n [class]=\"tab.icon()\"\n ></i>\n }\n <span\n class=\"block text-left\"\n [ngClass]=\"{\n 'cursor-default': disabledTab,\n }\"\n >\n {{ tab.header() }}\n </span>\n }\n </button>\n }\n</ng-template>\n\n<ng-template #renderComponent>\n @let _activeTab = activeTabComponent();\n @let template = _activeTab?.templateContent()!;\n @if (_activeTab && template && !_activeTab.disabled() && _activeTab.destroyOnHide()) {\n <section class=\"h-full min-h-10 bg-grayscale-0 p-2\">\n <ng-container *ngTemplateOutlet=\"template\" />\n </section>\n }\n @for (keepAliveTab of keepAliveTabsContent(); track $index) {\n @let isActiveTab = keepAliveTab.value() === activeTab();\n\n <section\n class=\"h-full min-h-10 bg-grayscale-0 p-2\"\n [class.hidden]=\"!isActiveTab\"\n [class.block]=\"isActiveTab\"\n >\n @if (keepAliveTab.template() && keepAliveTab.alreadyOpened) {\n <ng-container *ngTemplateOutlet=\"keepAliveTab.template()!\"></ng-container>\n }\n </section>\n }\n</ng-template>\n\n@if (isHorizontal) {\n <section class=\"p-2\">\n <div class=\"flex grid-flow-col overflow-auto border-b-[1px] border-b-grayscale-20 p-1.5\">\n <ng-container *ngTemplateOutlet=\"buttonsRender\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"renderComponent\"></ng-container>\n </section>\n} @else if (isVertical) {\n <section class=\"vertical-tab flex w-full flex-wrap gap-2\">\n <aside class=\"flex max-h-96 flex-col overflow-auto p-1.5\">\n <ng-container *ngTemplateOutlet=\"buttonsRender\"></ng-container>\n </aside>\n <aside class=\"vertical-tab-content flex-1\">\n <ng-container *ngTemplateOutlet=\"renderComponent\"></ng-container>\n </aside>\n </section>\n}\n\n", styles: [".vertical-tab{container:vertical-tab/inline-size}.vertical-tab-content{min-width:20rem}@container vertical-tab (max-width: 552px){.vertical-tab-buttons{width:100%;flex-direction:row}.vertical-tab-buttons .active-tab,.vertical-tab-buttons button:hover{border-right:none;border-bottom-width:4px}}\n"], dependencies: [{ kind: "directive", type: InteractiveContentDirective, selector: "[sInteractiveContent]", inputs: ["focusable", "disabled", "stopPropagation"], outputs: ["sInteractiveContent"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
82
82
  }
83
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabsComponent, decorators: [{
84
84
  type: Component,
85
- args: [{ selector: 's-tabs', standalone: true, imports: [InteractiveContentDirective, NgTemplateOutlet, NgClass], template: "@let layout = layoutType();\n@let isHorizontal = layout === 'horizontal';\n@let isVertical = layout === 'vertical';\n<ng-template #buttonsRender>\n @for (tab of tabItems(); track $index) {\n @let isActiveTab = tab.value() === activeTab();\n @let disabledTab = tab.disabled();\n <button\n #tabButton\n (sInteractiveContent)=\"onActiveTab(tab)\"\n [disabled]=\"disabledTab\"\n class=\"flex min-h-11 min-w-24 justify-start p-2 hover:transition-all\"\n [class.active-tab]=\"isActiveTab\"\n [ngClass]=\"{\n 'font-bold': isActiveTab,\n 'text-primary': !isActiveTab && !disabledTab,\n 'text-grayscale-30': disabledTab,\n 'border-b-4': isHorizontal,\n 'border-r-4': isVertical,\n 'border-primary': isActiveTab && !disabledTab,\n 'border-transparent': !isActiveTab || disabledTab,\n 'hover:border-primary': !disabledTab && !isActiveTab,\n 'flex items-center gap-2': tab.icon(),\n 'cursor-default': disabledTab,\n }\"\n >\n @let headerElement = tab.headerElement();\n @if (headerElement) {\n <ng-container *ngTemplateOutlet=\"headerElement\"></ng-container>\n } @else {\n @if (tab.icon()) {\n <i\n class=\"text-grayscale-100\"\n [class]=\"tab.icon()\"\n ></i>\n }\n <span\n class=\"block text-left\"\n [ngClass]=\"{\n 'cursor-default': disabledTab,\n }\"\n >\n {{ tab.header() }}\n </span>\n }\n </button>\n }\n</ng-template>\n\n<ng-template #renderComponent>\n @let _activeTab = activeTabComponent();\n @let template = _activeTab?.templateContent()!;\n @if (_activeTab && template && !_activeTab.disabled() && _activeTab.destroyOnHide()) {\n <section class=\"h-full min-h-10 bg-grayscale-0 p-2\">\n <ng-container *ngTemplateOutlet=\"template\" />\n </section>\n }\n @for (keepAliveTab of keepAliveTabsContent(); track $index) {\n @let isActiveTab = keepAliveTab.value() === activeTab();\n\n <section\n class=\"h-full min-h-10 bg-grayscale-0 p-2\"\n [class.hidden]=\"!isActiveTab\"\n [class.block]=\"isActiveTab\"\n >\n @if (keepAliveTab.template() && keepAliveTab.alreadyOpened) {\n <ng-container *ngTemplateOutlet=\"keepAliveTab.template()!\"></ng-container>\n }\n </section>\n }\n</ng-template>\n\n@if (isHorizontal) {\n <section class=\"p-2\">\n <div class=\"flex grid-flow-col overflow-auto border-b-[1px] border-b-grayscale-20\">\n <ng-container *ngTemplateOutlet=\"buttonsRender\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"renderComponent\"></ng-container>\n </section>\n} @else if (isVertical) {\n <section class=\"vertical-tab flex w-full flex-wrap gap-2\">\n <aside class=\"flex max-h-96 flex-col overflow-auto\">\n <ng-container *ngTemplateOutlet=\"buttonsRender\"></ng-container>\n </aside>\n <aside class=\"vertical-tab-content flex-1\">\n <ng-container *ngTemplateOutlet=\"renderComponent\"></ng-container>\n </aside>\n </section>\n}\n\n", styles: [".vertical-tab{container:vertical-tab/inline-size}.vertical-tab-content{min-width:20rem}@container vertical-tab (max-width: 552px){.vertical-tab-buttons{width:100%;flex-direction:row}.vertical-tab-buttons .active-tab,.vertical-tab-buttons button:hover{border-right:none;border-bottom-width:4px}}\n"] }]
85
+ args: [{ selector: 's-tabs', standalone: true, imports: [InteractiveContentDirective, NgTemplateOutlet, NgClass], template: "@let layout = layoutType();\n@let isHorizontal = layout === 'horizontal';\n@let isVertical = layout === 'vertical';\n<ng-template #buttonsRender>\n @for (tab of tabItems(); track $index) {\n @let isActiveTab = tab.value() === activeTab();\n @let disabledTab = tab.disabled();\n <button\n #tabButton\n (sInteractiveContent)=\"onActiveTab(tab)\"\n [disabled]=\"disabledTab\"\n class=\"flex min-h-11 min-w-24 justify-start p-2 hover:transition-colors focus-visible:rounded-medium focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[3px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)]\"\n [class.active-tab]=\"isActiveTab\"\n [ngClass]=\"{\n 'font-bold': isActiveTab,\n 'text-primary': !isActiveTab && !disabledTab,\n 'text-grayscale-30': disabledTab,\n 'border-b-4': isHorizontal,\n 'border-r-4': isVertical,\n 'border-primary': isActiveTab && !disabledTab,\n 'border-transparent': !isActiveTab || disabledTab,\n 'hover:border-primary': !disabledTab && !isActiveTab,\n 'flex items-center gap-2': tab.icon(),\n 'cursor-default': disabledTab,\n }\"\n >\n @let headerElement = tab.headerElement();\n @if (headerElement) {\n <ng-container *ngTemplateOutlet=\"headerElement\"></ng-container>\n } @else {\n @if (tab.icon()) {\n <i\n class=\"text-grayscale-100\"\n [class]=\"tab.icon()\"\n ></i>\n }\n <span\n class=\"block text-left\"\n [ngClass]=\"{\n 'cursor-default': disabledTab,\n }\"\n >\n {{ tab.header() }}\n </span>\n }\n </button>\n }\n</ng-template>\n\n<ng-template #renderComponent>\n @let _activeTab = activeTabComponent();\n @let template = _activeTab?.templateContent()!;\n @if (_activeTab && template && !_activeTab.disabled() && _activeTab.destroyOnHide()) {\n <section class=\"h-full min-h-10 bg-grayscale-0 p-2\">\n <ng-container *ngTemplateOutlet=\"template\" />\n </section>\n }\n @for (keepAliveTab of keepAliveTabsContent(); track $index) {\n @let isActiveTab = keepAliveTab.value() === activeTab();\n\n <section\n class=\"h-full min-h-10 bg-grayscale-0 p-2\"\n [class.hidden]=\"!isActiveTab\"\n [class.block]=\"isActiveTab\"\n >\n @if (keepAliveTab.template() && keepAliveTab.alreadyOpened) {\n <ng-container *ngTemplateOutlet=\"keepAliveTab.template()!\"></ng-container>\n }\n </section>\n }\n</ng-template>\n\n@if (isHorizontal) {\n <section class=\"p-2\">\n <div class=\"flex grid-flow-col overflow-auto border-b-[1px] border-b-grayscale-20 p-1.5\">\n <ng-container *ngTemplateOutlet=\"buttonsRender\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"renderComponent\"></ng-container>\n </section>\n} @else if (isVertical) {\n <section class=\"vertical-tab flex w-full flex-wrap gap-2\">\n <aside class=\"flex max-h-96 flex-col overflow-auto p-1.5\">\n <ng-container *ngTemplateOutlet=\"buttonsRender\"></ng-container>\n </aside>\n <aside class=\"vertical-tab-content flex-1\">\n <ng-container *ngTemplateOutlet=\"renderComponent\"></ng-container>\n </aside>\n </section>\n}\n\n", styles: [".vertical-tab{container:vertical-tab/inline-size}.vertical-tab-content{min-width:20rem}@container vertical-tab (max-width: 552px){.vertical-tab-buttons{width:100%;flex-direction:row}.vertical-tab-buttons .active-tab,.vertical-tab-buttons button:hover{border-right:none;border-bottom-width:4px}}\n"] }]
86
86
  }], ctorParameters: () => [] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGFicy9zcmMvbGliL3RhYnMvdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGFicy9zcmMvbGliL3RhYnMvdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFbEU7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFRSCxNQUFNLE9BQU8sYUFBYTtJQUNMLFVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQy9CLFFBQVEsR0FBRyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU3QyxrQkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUNw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Q2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgY29udGVudENoaWxkcmVuLCBlZmZlY3QsIGlucHV0LCBtb2RlbCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBJbnRlcmFjdGl2ZUNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2ludGVyYWN0aXZlLWNvbnRlbnQnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUYWJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFiLWl0ZW0vdGFiLWl0ZW0uY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBkZSBhYmFzICh0YWJzKSBxdWUgb3JnYW5pemEgbyBjb250ZcO6ZG8gZW0gcGFpbsOpaXMgYWNlc3PDrXZlaXMgcG9yIHLDs3R1bG9zIGNsaWPDoXZlaXMuXG4gKiBTdXBvcnRhIGxheW91dCBob3Jpem9udGFsIGUgdmVydGljYWwsIHR3by13YXkgYmluZGluZyBkYSBhYmEgYXRpdmEgZSByZW5kZXJpemHDp8OjbyBjb25kaWNpb25hbFxuICogZG8gY29udGXDumRvIGRlIGNhZGEgYWJhIHZpYSBgVGFiSXRlbUNvbXBvbmVudGAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxzLXRhYnMgWyhhY3RpdmVUYWIpXT1cImFjdGl2ZVRhYlwiIGxheW91dFR5cGU9XCJob3Jpem9udGFsXCI+XG4gKiAgIDxzLXRhYi1pdGVtIGhlYWRlcj1cIkFiYSAxXCIgdmFsdWU9XCJ0YWIxXCI+Q29udGXDumRvIDE8L3MtdGFiLWl0ZW0+XG4gKiAgIDxzLXRhYi1pdGVtIGhlYWRlcj1cIkFiYSAyXCIgdmFsdWU9XCJ0YWIyXCI+Q29udGXDumRvIDI8L3MtdGFiLWl0ZW0+XG4gKiA8L3MtdGFicz5cbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBOYXZlZ2HDp8Ojb1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3MtdGFicycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlLCBOZ1RlbXBsYXRlT3V0bGV0LCBOZ0NsYXNzXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFicy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFicy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0YWJJdGVtcyA9IGNvbnRlbnRDaGlsZHJlbihUYWJJdGVtQ29tcG9uZW50KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBhY3RpdmVUYWJDb21wb25lbnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYkl0ZW1zKCkuZmluZCgodGFiKSA9PiB0YWIudmFsdWUoKSA9PT0gdGhpcy5hY3RpdmVUYWIoKSAmJiB0YWIudGVtcGxhdGVDb250ZW50KCkpO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGtlZXBBbGl2ZVRhYnNDb250ZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJJdGVtcygpLmZpbHRlcihcbiAgICAgICAgICAgICh0YWIpID0+ICF0YWIudGVtcGxhdGVDb250ZW50KCkgfHwgKHRhYi50ZW1wbGF0ZUNvbnRlbnQoKSAmJiAhdGFiLmRlc3Ryb3lPbkhpZGUoKSksXG4gICAgICAgICk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gVmFsb3IgZGEgYWJhIGF0dWFsbWVudGUgYXRpdmEuIFN1cG9ydGEgdHdvLXdheSBiaW5kaW5nIHZpYSBgWyhhY3RpdmVUYWIpXWAuXG4gICAgICogUG9yIHBhZHLDo28sIGF0aXZhIGEgcHJpbWVpcmEgYWJhICjDrW5kaWNlIGAwYCkuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgYWN0aXZlVGFiID0gbW9kZWw8c3RyaW5nIHwgbnVtYmVyPigwKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBPcmllbnRhw6fDo28gdmlzdWFsIGRhcyBhYmFzLlxuICAgICAqIC0gYCdob3Jpem9udGFsJ2A6IGFiYXMgZXhpYmlkYXMgZW0gbGluaGEsIGFjaW1hIGRvIGNvbnRlw7pkbyAocGFkcsOjbykuXG4gICAgICogLSBgJ3ZlcnRpY2FsJ2A6IGFiYXMgZXhpYmlkYXMgZW0gY29sdW5hLCDDoCBlc3F1ZXJkYSBkbyBjb250ZcO6ZG8uXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnaG9yaXpvbnRhbCdcbiAgICAgKi9cbiAgICBsYXlvdXRUeXBlID0gaW5wdXQ8J2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJz4oJ2hvcml6b250YWwnKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlVGFiRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgYWN0aXZlVGFiID0gdGhpcy5hY3RpdmVUYWIoKTtcbiAgICAgICAgY29uc3QgYWN0aXZlVGFiQ29tcG9uZW50ID0gdGhpcy50YWJJdGVtcygpLmZpbmQoKHRhYikgPT4gdGFiLnZhbHVlKCkgPT09IGFjdGl2ZVRhYik7XG4gICAgICAgIGlmIChhY3RpdmVUYWJDb21wb25lbnQgJiYgIWFjdGl2ZVRhYkNvbXBvbmVudC5hbHJlYWR5T3BlbmVkKSB7XG4gICAgICAgICAgICBhY3RpdmVUYWJDb21wb25lbnQuYWxyZWFkeU9wZW5lZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0b09ic2VydmFibGUodGhpcy50YWJJdGVtcylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFicyA9IHRoaXMudGFiSXRlbXMoKTtcbiAgICAgICAgICAgICAgICB0YWJzLmZvckVhY2goKHRhYiwgJGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhYkhhc1ZhbHVlID0gISF0YWIudmFsdWUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0YWJIYXNWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFiLnZhbHVlLnNldCgkaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25BY3RpdmVUYWIodGFiOiBUYWJJdGVtQ29tcG9uZW50KSB7XG4gICAgICAgIGlmICh0YWIuZGlzYWJsZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IF9wcmV2aW91c1RhYiA9IHRoaXMudGFiSXRlbXMoKS5maW5kKCh0YWIpID0+IHRhYi52YWx1ZSgpID09PSB0aGlzLmFjdGl2ZVRhYigpKTtcbiAgICAgICAgaWYgKF9wcmV2aW91c1RhYiAmJiAhX3ByZXZpb3VzVGFiLnRlbXBsYXRlQ29udGVudCgpICYmIF9wcmV2aW91c1RhYi5kZXN0cm95T25IaWRlKCkpIHtcbiAgICAgICAgICAgIF9wcmV2aW91c1RhYi50ZW1wbGF0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWN0aXZlVGFiLnNldCh0YWIudmFsdWUoKSBhcyBzdHJpbmcgfCBudW1iZXIpO1xuICAgIH1cbn1cblxuIiwiQGxldCBsYXlvdXQgPSBsYXlvdXRUeXBlKCk7XG5AbGV0IGlzSG9yaXpvbnRhbCA9IGxheW91dCA9PT0gJ2hvcml6b250YWwnO1xuQGxldCBpc1ZlcnRpY2FsID0gbGF5b3V0ID09PSAndmVydGljYWwnO1xuPG5nLXRlbXBsYXRlICNidXR0b25zUmVuZGVyPlxuICAgIEBmb3IgKHRhYiBvZiB0YWJJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgQGxldCBpc0FjdGl2ZVRhYiA9IHRhYi52YWx1ZSgpID09PSBhY3RpdmVUYWIoKTtcbiAgICAgICAgQGxldCBkaXNhYmxlZFRhYiA9IHRhYi5kaXNhYmxlZCgpO1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAjdGFiQnV0dG9uXG4gICAgICAgICAgICAoc0ludGVyYWN0aXZlQ29udGVudCk9XCJvbkFjdGl2ZVRhYih0YWIpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFRhYlwiXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggbWluLWgtMTEgbWluLXctMjQganVzdGlmeS1zdGFydCBwLTIgaG92ZXI6dHJhbnNpdGlvbi1hbGxcIlxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZS10YWJdPVwiaXNBY3RpdmVUYWJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICdmb250LWJvbGQnOiBpc0FjdGl2ZVRhYixcbiAgICAgICAgICAgICAgICAndGV4dC1wcmltYXJ5JzogIWlzQWN0aXZlVGFiICYmICFkaXNhYmxlZFRhYixcbiAgICAgICAgICAgICAgICAndGV4dC1ncmF5c2NhbGUtMzAnOiBkaXNhYmxlZFRhYixcbiAgICAgICAgICAgICAgICAnYm9yZGVyLWItNCc6IGlzSG9yaXpvbnRhbCxcbiAgICAgICAgICAgICAgICAnYm9yZGVyLXItNCc6IGlzVmVydGljYWwsXG4gICAgICAgICAgICAgICAgJ2JvcmRlci1wcmltYXJ5JzogaXNBY3RpdmVUYWIgJiYgIWRpc2FibGVkVGFiLFxuICAgICAgICAgICAgICAgICdib3JkZXItdHJhbnNwYXJlbnQnOiAhaXNBY3RpdmVUYWIgfHwgZGlzYWJsZWRUYWIsXG4gICAgICAgICAgICAgICAgJ2hvdmVyOmJvcmRlci1wcmltYXJ5JzogIWRpc2FibGVkVGFiICYmICFpc0FjdGl2ZVRhYixcbiAgICAgICAgICAgICAgICAnZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTInOiB0YWIuaWNvbigpLFxuICAgICAgICAgICAgICAgICdjdXJzb3ItZGVmYXVsdCc6IGRpc2FibGVkVGFiLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBsZXQgaGVhZGVyRWxlbWVudCA9IHRhYi5oZWFkZXJFbGVtZW50KCk7XG4gICAgICAgICAgICBAaWYgKGhlYWRlckVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyRWxlbWVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGlmICh0YWIuaWNvbigpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtZ3JheXNjYWxlLTEwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwidGFiLmljb24oKVwiXG4gICAgICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmxvY2sgdGV4dC1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2N1cnNvci1kZWZhdWx0JzogZGlzYWJsZWRUYWIsXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgdGFiLmhlYWRlcigpIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3JlbmRlckNvbXBvbmVudD5cbiAgICBAbGV0IF9hY3RpdmVUYWIgPSBhY3RpdmVUYWJDb21wb25lbnQoKTtcbiAgICBAbGV0IHRlbXBsYXRlID0gX2FjdGl2ZVRhYj8udGVtcGxhdGVDb250ZW50KCkhO1xuICAgIEBpZiAoX2FjdGl2ZVRhYiAmJiB0ZW1wbGF0ZSAmJiAhX2FjdGl2ZVRhYi5kaXNhYmxlZCgpICYmIF9hY3RpdmVUYWIuZGVzdHJveU9uSGlkZSgpKSB7XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiaC1mdWxsIG1pbi1oLTEwIGJnLWdyYXlzY2FsZS0wIHAtMlwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlXCIgLz5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgIH1cbiAgICBAZm9yIChrZWVwQWxpdmVUYWIgb2Yga2VlcEFsaXZlVGFic0NvbnRlbnQoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIEBsZXQgaXNBY3RpdmVUYWIgPSBrZWVwQWxpdmVUYWIudmFsdWUoKSA9PT0gYWN0aXZlVGFiKCk7XG5cbiAgICAgICAgPHNlY3Rpb25cbiAgICAgICAgICAgIGNsYXNzPVwiaC1mdWxsIG1pbi1oLTEwIGJnLWdyYXlzY2FsZS0wIHAtMlwiXG4gICAgICAgICAgICBbY2xhc3MuaGlkZGVuXT1cIiFpc0FjdGl2ZVRhYlwiXG4gICAgICAgICAgICBbY2xhc3MuYmxvY2tdPVwiaXNBY3RpdmVUYWJcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGtlZXBBbGl2ZVRhYi50ZW1wbGF0ZSgpICYmIGtlZXBBbGl2ZVRhYi5hbHJlYWR5T3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImtlZXBBbGl2ZVRhYi50ZW1wbGF0ZSgpIVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuQGlmIChpc0hvcml6b250YWwpIHtcbiAgICA8c2VjdGlvbiBjbGFzcz1cInAtMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBncmlkLWZsb3ctY29sIG92ZXJmbG93LWF1dG8gYm9yZGVyLWItWzFweF0gYm9yZGVyLWItZ3JheXNjYWxlLTIwXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uc1JlbmRlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlckNvbXBvbmVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvc2VjdGlvbj5cbn0gQGVsc2UgaWYgKGlzVmVydGljYWwpIHtcbiAgICA8c2VjdGlvbiBjbGFzcz1cInZlcnRpY2FsLXRhYiBmbGV4IHctZnVsbCBmbGV4LXdyYXAgZ2FwLTJcIj5cbiAgICAgICAgPGFzaWRlIGNsYXNzPVwiZmxleCBtYXgtaC05NiBmbGV4LWNvbCBvdmVyZmxvdy1hdXRvXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uc1JlbmRlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2FzaWRlPlxuICAgICAgICA8YXNpZGUgY2xhc3M9XCJ2ZXJ0aWNhbC10YWItY29udGVudCBmbGV4LTFcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW5kZXJDb21wb25lbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hc2lkZT5cbiAgICA8L3NlY3Rpb24+XG59XG5cbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGFicy9zcmMvbGliL3RhYnMvdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGFicy9zcmMvbGliL3RhYnMvdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFbEU7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFRSCxNQUFNLE9BQU8sYUFBYTtJQUNMLFVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQy9CLFFBQVEsR0FBRyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU3QyxrQkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUNw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Q2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgY29udGVudENoaWxkcmVuLCBlZmZlY3QsIGlucHV0LCBtb2RlbCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBJbnRlcmFjdGl2ZUNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2ludGVyYWN0aXZlLWNvbnRlbnQnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUYWJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFiLWl0ZW0vdGFiLWl0ZW0uY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBkZSBhYmFzICh0YWJzKSBxdWUgb3JnYW5pemEgbyBjb250ZcO6ZG8gZW0gcGFpbsOpaXMgYWNlc3PDrXZlaXMgcG9yIHLDs3R1bG9zIGNsaWPDoXZlaXMuXG4gKiBTdXBvcnRhIGxheW91dCBob3Jpem9udGFsIGUgdmVydGljYWwsIHR3by13YXkgYmluZGluZyBkYSBhYmEgYXRpdmEgZSByZW5kZXJpemHDp8OjbyBjb25kaWNpb25hbFxuICogZG8gY29udGXDumRvIGRlIGNhZGEgYWJhIHZpYSBgVGFiSXRlbUNvbXBvbmVudGAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxzLXRhYnMgWyhhY3RpdmVUYWIpXT1cImFjdGl2ZVRhYlwiIGxheW91dFR5cGU9XCJob3Jpem9udGFsXCI+XG4gKiAgIDxzLXRhYi1pdGVtIGhlYWRlcj1cIkFiYSAxXCIgdmFsdWU9XCJ0YWIxXCI+Q29udGXDumRvIDE8L3MtdGFiLWl0ZW0+XG4gKiAgIDxzLXRhYi1pdGVtIGhlYWRlcj1cIkFiYSAyXCIgdmFsdWU9XCJ0YWIyXCI+Q29udGXDumRvIDI8L3MtdGFiLWl0ZW0+XG4gKiA8L3MtdGFicz5cbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBOYXZlZ2HDp8Ojb1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3MtdGFicycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlLCBOZ1RlbXBsYXRlT3V0bGV0LCBOZ0NsYXNzXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFicy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFicy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0YWJJdGVtcyA9IGNvbnRlbnRDaGlsZHJlbihUYWJJdGVtQ29tcG9uZW50KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBhY3RpdmVUYWJDb21wb25lbnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYkl0ZW1zKCkuZmluZCgodGFiKSA9PiB0YWIudmFsdWUoKSA9PT0gdGhpcy5hY3RpdmVUYWIoKSAmJiB0YWIudGVtcGxhdGVDb250ZW50KCkpO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGtlZXBBbGl2ZVRhYnNDb250ZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJJdGVtcygpLmZpbHRlcihcbiAgICAgICAgICAgICh0YWIpID0+ICF0YWIudGVtcGxhdGVDb250ZW50KCkgfHwgKHRhYi50ZW1wbGF0ZUNvbnRlbnQoKSAmJiAhdGFiLmRlc3Ryb3lPbkhpZGUoKSksXG4gICAgICAgICk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gVmFsb3IgZGEgYWJhIGF0dWFsbWVudGUgYXRpdmEuIFN1cG9ydGEgdHdvLXdheSBiaW5kaW5nIHZpYSBgWyhhY3RpdmVUYWIpXWAuXG4gICAgICogUG9yIHBhZHLDo28sIGF0aXZhIGEgcHJpbWVpcmEgYWJhICjDrW5kaWNlIGAwYCkuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgYWN0aXZlVGFiID0gbW9kZWw8c3RyaW5nIHwgbnVtYmVyPigwKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBPcmllbnRhw6fDo28gdmlzdWFsIGRhcyBhYmFzLlxuICAgICAqIC0gYCdob3Jpem9udGFsJ2A6IGFiYXMgZXhpYmlkYXMgZW0gbGluaGEsIGFjaW1hIGRvIGNvbnRlw7pkbyAocGFkcsOjbykuXG4gICAgICogLSBgJ3ZlcnRpY2FsJ2A6IGFiYXMgZXhpYmlkYXMgZW0gY29sdW5hLCDDoCBlc3F1ZXJkYSBkbyBjb250ZcO6ZG8uXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnaG9yaXpvbnRhbCdcbiAgICAgKi9cbiAgICBsYXlvdXRUeXBlID0gaW5wdXQ8J2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJz4oJ2hvcml6b250YWwnKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlVGFiRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgYWN0aXZlVGFiID0gdGhpcy5hY3RpdmVUYWIoKTtcbiAgICAgICAgY29uc3QgYWN0aXZlVGFiQ29tcG9uZW50ID0gdGhpcy50YWJJdGVtcygpLmZpbmQoKHRhYikgPT4gdGFiLnZhbHVlKCkgPT09IGFjdGl2ZVRhYik7XG4gICAgICAgIGlmIChhY3RpdmVUYWJDb21wb25lbnQgJiYgIWFjdGl2ZVRhYkNvbXBvbmVudC5hbHJlYWR5T3BlbmVkKSB7XG4gICAgICAgICAgICBhY3RpdmVUYWJDb21wb25lbnQuYWxyZWFkeU9wZW5lZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0b09ic2VydmFibGUodGhpcy50YWJJdGVtcylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFicyA9IHRoaXMudGFiSXRlbXMoKTtcbiAgICAgICAgICAgICAgICB0YWJzLmZvckVhY2goKHRhYiwgJGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhYkhhc1ZhbHVlID0gISF0YWIudmFsdWUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0YWJIYXNWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFiLnZhbHVlLnNldCgkaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25BY3RpdmVUYWIodGFiOiBUYWJJdGVtQ29tcG9uZW50KSB7XG4gICAgICAgIGlmICh0YWIuZGlzYWJsZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IF9wcmV2aW91c1RhYiA9IHRoaXMudGFiSXRlbXMoKS5maW5kKCh0YWIpID0+IHRhYi52YWx1ZSgpID09PSB0aGlzLmFjdGl2ZVRhYigpKTtcbiAgICAgICAgaWYgKF9wcmV2aW91c1RhYiAmJiAhX3ByZXZpb3VzVGFiLnRlbXBsYXRlQ29udGVudCgpICYmIF9wcmV2aW91c1RhYi5kZXN0cm95T25IaWRlKCkpIHtcbiAgICAgICAgICAgIF9wcmV2aW91c1RhYi50ZW1wbGF0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWN0aXZlVGFiLnNldCh0YWIudmFsdWUoKSBhcyBzdHJpbmcgfCBudW1iZXIpO1xuICAgIH1cbn1cblxuIiwiQGxldCBsYXlvdXQgPSBsYXlvdXRUeXBlKCk7XG5AbGV0IGlzSG9yaXpvbnRhbCA9IGxheW91dCA9PT0gJ2hvcml6b250YWwnO1xuQGxldCBpc1ZlcnRpY2FsID0gbGF5b3V0ID09PSAndmVydGljYWwnO1xuPG5nLXRlbXBsYXRlICNidXR0b25zUmVuZGVyPlxuICAgIEBmb3IgKHRhYiBvZiB0YWJJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgQGxldCBpc0FjdGl2ZVRhYiA9IHRhYi52YWx1ZSgpID09PSBhY3RpdmVUYWIoKTtcbiAgICAgICAgQGxldCBkaXNhYmxlZFRhYiA9IHRhYi5kaXNhYmxlZCgpO1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAjdGFiQnV0dG9uXG4gICAgICAgICAgICAoc0ludGVyYWN0aXZlQ29udGVudCk9XCJvbkFjdGl2ZVRhYih0YWIpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFRhYlwiXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggbWluLWgtMTEgbWluLXctMjQganVzdGlmeS1zdGFydCBwLTIgaG92ZXI6dHJhbnNpdGlvbi1jb2xvcnMgZm9jdXMtdmlzaWJsZTpyb3VuZGVkLW1lZGl1bSBmb2N1cy12aXNpYmxlOm91dGxpbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC1bM3B4XSBmb2N1cy12aXNpYmxlOm91dGxpbmUtW3ZhcigtLXMtZm9jdXMtcmluZy1jb2xvciwjMDA5MGZmKV1cIlxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZS10YWJdPVwiaXNBY3RpdmVUYWJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICdmb250LWJvbGQnOiBpc0FjdGl2ZVRhYixcbiAgICAgICAgICAgICAgICAndGV4dC1wcmltYXJ5JzogIWlzQWN0aXZlVGFiICYmICFkaXNhYmxlZFRhYixcbiAgICAgICAgICAgICAgICAndGV4dC1ncmF5c2NhbGUtMzAnOiBkaXNhYmxlZFRhYixcbiAgICAgICAgICAgICAgICAnYm9yZGVyLWItNCc6IGlzSG9yaXpvbnRhbCxcbiAgICAgICAgICAgICAgICAnYm9yZGVyLXItNCc6IGlzVmVydGljYWwsXG4gICAgICAgICAgICAgICAgJ2JvcmRlci1wcmltYXJ5JzogaXNBY3RpdmVUYWIgJiYgIWRpc2FibGVkVGFiLFxuICAgICAgICAgICAgICAgICdib3JkZXItdHJhbnNwYXJlbnQnOiAhaXNBY3RpdmVUYWIgfHwgZGlzYWJsZWRUYWIsXG4gICAgICAgICAgICAgICAgJ2hvdmVyOmJvcmRlci1wcmltYXJ5JzogIWRpc2FibGVkVGFiICYmICFpc0FjdGl2ZVRhYixcbiAgICAgICAgICAgICAgICAnZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTInOiB0YWIuaWNvbigpLFxuICAgICAgICAgICAgICAgICdjdXJzb3ItZGVmYXVsdCc6IGRpc2FibGVkVGFiLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBsZXQgaGVhZGVyRWxlbWVudCA9IHRhYi5oZWFkZXJFbGVtZW50KCk7XG4gICAgICAgICAgICBAaWYgKGhlYWRlckVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyRWxlbWVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGlmICh0YWIuaWNvbigpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtZ3JheXNjYWxlLTEwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwidGFiLmljb24oKVwiXG4gICAgICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmxvY2sgdGV4dC1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2N1cnNvci1kZWZhdWx0JzogZGlzYWJsZWRUYWIsXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgdGFiLmhlYWRlcigpIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3JlbmRlckNvbXBvbmVudD5cbiAgICBAbGV0IF9hY3RpdmVUYWIgPSBhY3RpdmVUYWJDb21wb25lbnQoKTtcbiAgICBAbGV0IHRlbXBsYXRlID0gX2FjdGl2ZVRhYj8udGVtcGxhdGVDb250ZW50KCkhO1xuICAgIEBpZiAoX2FjdGl2ZVRhYiAmJiB0ZW1wbGF0ZSAmJiAhX2FjdGl2ZVRhYi5kaXNhYmxlZCgpICYmIF9hY3RpdmVUYWIuZGVzdHJveU9uSGlkZSgpKSB7XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiaC1mdWxsIG1pbi1oLTEwIGJnLWdyYXlzY2FsZS0wIHAtMlwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlXCIgLz5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgIH1cbiAgICBAZm9yIChrZWVwQWxpdmVUYWIgb2Yga2VlcEFsaXZlVGFic0NvbnRlbnQoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIEBsZXQgaXNBY3RpdmVUYWIgPSBrZWVwQWxpdmVUYWIudmFsdWUoKSA9PT0gYWN0aXZlVGFiKCk7XG5cbiAgICAgICAgPHNlY3Rpb25cbiAgICAgICAgICAgIGNsYXNzPVwiaC1mdWxsIG1pbi1oLTEwIGJnLWdyYXlzY2FsZS0wIHAtMlwiXG4gICAgICAgICAgICBbY2xhc3MuaGlkZGVuXT1cIiFpc0FjdGl2ZVRhYlwiXG4gICAgICAgICAgICBbY2xhc3MuYmxvY2tdPVwiaXNBY3RpdmVUYWJcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGtlZXBBbGl2ZVRhYi50ZW1wbGF0ZSgpICYmIGtlZXBBbGl2ZVRhYi5hbHJlYWR5T3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImtlZXBBbGl2ZVRhYi50ZW1wbGF0ZSgpIVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuQGlmIChpc0hvcml6b250YWwpIHtcbiAgICA8c2VjdGlvbiBjbGFzcz1cInAtMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBncmlkLWZsb3ctY29sIG92ZXJmbG93LWF1dG8gYm9yZGVyLWItWzFweF0gYm9yZGVyLWItZ3JheXNjYWxlLTIwIHAtMS41XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uc1JlbmRlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlckNvbXBvbmVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvc2VjdGlvbj5cbn0gQGVsc2UgaWYgKGlzVmVydGljYWwpIHtcbiAgICA8c2VjdGlvbiBjbGFzcz1cInZlcnRpY2FsLXRhYiBmbGV4IHctZnVsbCBmbGV4LXdyYXAgZ2FwLTJcIj5cbiAgICAgICAgPGFzaWRlIGNsYXNzPVwiZmxleCBtYXgtaC05NiBmbGV4LWNvbCBvdmVyZmxvdy1hdXRvIHAtMS41XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uc1JlbmRlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2FzaWRlPlxuICAgICAgICA8YXNpZGUgY2xhc3M9XCJ2ZXJ0aWNhbC10YWItY29udGVudCBmbGV4LTFcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW5kZXJDb21wb25lbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hc2lkZT5cbiAgICA8L3NlY3Rpb24+XG59XG5cbiJdfQ==