mis-crystal-design-system 17.0.0 → 17.0.1

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 (164) hide show
  1. package/analytics/analytics.service.d.ts +5 -1
  2. package/assets/images/close.svg +5 -0
  3. package/async-search-dropdown/async-dropdown.component.d.ts +9 -1
  4. package/async-search-dropdown/async-dropdown.module.d.ts +2 -1
  5. package/datepicker_v2/datepicker.module.d.ts +2 -1
  6. package/datepicker_v2/tz-datepicker.directive.d.ts +2 -0
  7. package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +18 -1
  8. package/daterangepicker_v2/daterangepicker.module.d.ts +2 -1
  9. package/daterangepicker_v2/models/drp-config.model.d.ts +6 -0
  10. package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +2 -0
  11. package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +5 -1
  12. package/dropdown/calculate-container-height.directive.d.ts +1 -1
  13. package/dropdown/dropdown.component.d.ts +4 -1
  14. package/dropdown/dropdown.module.d.ts +2 -1
  15. package/dynamic-form/dynamic-form.component.d.ts +14 -3
  16. package/dynamic-form/dynamic-form.namespace.d.ts +1 -0
  17. package/esm2022/action-list/action-list.component.mjs +1 -1
  18. package/esm2022/analytics/analytics.service.mjs +7 -6
  19. package/esm2022/async-search-dropdown/async-dropdown.component.mjs +97 -46
  20. package/esm2022/async-search-dropdown/async-dropdown.module.mjs +5 -4
  21. package/esm2022/button/button.directive.mjs +1 -1
  22. package/esm2022/checkbox/checkbox.component.mjs +4 -4
  23. package/esm2022/chip/chip.component.mjs +13 -13
  24. package/esm2022/datepicker_v2/datepicker.module.mjs +5 -4
  25. package/esm2022/datepicker_v2/public_api.mjs +1 -1
  26. package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +21 -2
  27. package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +259 -73
  28. package/esm2022/datepicker_v2/utils/index.mjs +1 -1
  29. package/esm2022/daterangepicker_v2/daterangepicker.module.mjs +5 -4
  30. package/esm2022/daterangepicker_v2/models/drp-config.model.mjs +1 -1
  31. package/esm2022/daterangepicker_v2/public_api.mjs +1 -1
  32. package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +24 -3
  33. package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +179 -78
  34. package/esm2022/daterangepicker_v2/utils/index.mjs +1 -1
  35. package/esm2022/dropdown/calculate-container-height.directive.mjs +5 -5
  36. package/esm2022/dropdown/dropdown.component.mjs +156 -96
  37. package/esm2022/dropdown/dropdown.module.mjs +5 -4
  38. package/esm2022/dynamic-form/dynamic-form.component.mjs +599 -216
  39. package/esm2022/dynamic-form/dynamic-form.namespace.mjs +1 -1
  40. package/esm2022/fab/fab.component.mjs +1 -1
  41. package/esm2022/filter/animations/slideFromRight.mjs +12 -0
  42. package/esm2022/filter/filter-panel/filter-panel.component.mjs +396 -0
  43. package/esm2022/filter/filters.module.mjs +66 -0
  44. package/esm2022/filter/has-value.pipe.mjs +31 -0
  45. package/esm2022/filter/index.mjs +2 -0
  46. package/esm2022/filter/mis-crystal-design-system-filter.mjs +5 -0
  47. package/esm2022/filter/public_api.mjs +4 -0
  48. package/esm2022/input/mis-input.component.mjs +1 -1
  49. package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +4 -4
  50. package/esm2022/mobile-filter/mobile-filter.component.mjs +9 -7
  51. package/esm2022/modal/modal.service.mjs +1 -1
  52. package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +26 -14
  53. package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +14 -7
  54. package/esm2022/phone-input/phone-input.component.mjs +6 -50
  55. package/esm2022/radio-button/radio-button.component.mjs +4 -4
  56. package/esm2022/ske-loader/ske-loader.component.mjs +4 -4
  57. package/esm2022/snackbar/snackbar.service.mjs +1 -1
  58. package/esm2022/specificdatepicker/public_api.mjs +3 -3
  59. package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +39 -26
  60. package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +1 -1
  61. package/esm2022/specificdatepicker/utils/index.mjs +1 -1
  62. package/esm2022/star-rating/star-rating.component.mjs +1 -1
  63. package/esm2022/table/custom-table-cell.directive.mjs +1 -1
  64. package/esm2022/table/filter/filter.component.mjs +12 -4
  65. package/esm2022/table/public_api.mjs +2 -3
  66. package/esm2022/table/sub-table/sub-table.component.mjs +1 -1
  67. package/esm2022/table/table.component.mjs +27 -11
  68. package/esm2022/timepicker/timepicker.component.mjs +16 -12
  69. package/esm2022/timerangepicker/public_api.mjs +1 -1
  70. package/esm2022/timerangepicker/timerangepicker.component.mjs +13 -7
  71. package/esm2022/toast/toast.service.mjs +1 -1
  72. package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +10 -9
  73. package/esm2022/tooltip/tooltip.directive.mjs +9 -3
  74. package/esm2022/virtual-scroll/virtual-scroll.component.mjs +1 -1
  75. package/esm2022/widgets/classes/async-widget.mjs +1 -1
  76. package/esm2022/widgets/classes/base-widget.mjs +1 -1
  77. package/esm2022/widgets/classes/sync-widget.mjs +1 -1
  78. package/fesm2022/mis-crystal-design-system-action-list.mjs +1 -1
  79. package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -1
  80. package/fesm2022/mis-crystal-design-system-analytics.mjs +6 -5
  81. package/fesm2022/mis-crystal-design-system-analytics.mjs.map +1 -1
  82. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +100 -48
  83. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
  84. package/fesm2022/mis-crystal-design-system-button.mjs +1 -1
  85. package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -1
  86. package/fesm2022/mis-crystal-design-system-checkbox.mjs +4 -4
  87. package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
  88. package/fesm2022/mis-crystal-design-system-chip.mjs +13 -13
  89. package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
  90. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +282 -76
  91. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
  92. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +205 -83
  93. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
  94. package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
  95. package/fesm2022/mis-crystal-design-system-dropdown.mjs +163 -102
  96. package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
  97. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +598 -216
  98. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
  99. package/fesm2022/mis-crystal-design-system-fab.mjs +1 -1
  100. package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
  101. package/fesm2022/mis-crystal-design-system-filter.mjs +503 -0
  102. package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -0
  103. package/fesm2022/mis-crystal-design-system-input-stepper.mjs +4 -4
  104. package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -1
  105. package/fesm2022/mis-crystal-design-system-input.mjs +1 -1
  106. package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
  107. package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
  108. package/fesm2022/mis-crystal-design-system-menu.mjs +1 -1
  109. package/fesm2022/mis-crystal-design-system-menu.mjs.map +1 -1
  110. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +9 -7
  111. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
  112. package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
  113. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +26 -14
  114. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
  115. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs +14 -7
  116. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
  117. package/fesm2022/mis-crystal-design-system-phone-input.mjs +5 -49
  118. package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
  119. package/fesm2022/mis-crystal-design-system-radio-button.mjs +4 -4
  120. package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
  121. package/fesm2022/mis-crystal-design-system-ske-loader.mjs +3 -3
  122. package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
  123. package/fesm2022/mis-crystal-design-system-slider.mjs +1 -1
  124. package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
  125. package/fesm2022/mis-crystal-design-system-snackbar.mjs +1 -1
  126. package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
  127. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +39 -26
  128. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
  129. package/fesm2022/mis-crystal-design-system-star-rating.mjs +1 -1
  130. package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -1
  131. package/fesm2022/mis-crystal-design-system-switch.mjs +1 -1
  132. package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -1
  133. package/fesm2022/mis-crystal-design-system-table.mjs +41 -17
  134. package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
  135. package/fesm2022/mis-crystal-design-system-timepicker.mjs +16 -12
  136. package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
  137. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +13 -7
  138. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
  139. package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
  140. package/fesm2022/mis-crystal-design-system-tooltip.mjs +18 -11
  141. package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
  142. package/fesm2022/mis-crystal-design-system-utils.mjs.map +1 -1
  143. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs +1 -1
  144. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
  145. package/fesm2022/mis-crystal-design-system-widgets.mjs.map +1 -1
  146. package/filter/animations/slideFromRight.d.ts +1 -0
  147. package/filter/filter-panel/filter-panel.component.d.ts +51 -0
  148. package/filter/filters.module.d.ts +18 -0
  149. package/filter/has-value.pipe.d.ts +12 -0
  150. package/filter/index.d.ts +1 -0
  151. package/filter/public_api.d.ts +4 -0
  152. package/multi-select-dropdown/multi-select-dropdown.component.d.ts +3 -1
  153. package/package.json +24 -18
  154. package/phone-input/phone-input.component.d.ts +6 -15
  155. package/specificdatepicker/public_api.d.ts +2 -3
  156. package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +1 -0
  157. package/styles/mis-mixins.scss +46 -0
  158. package/styles/mis-old-icon-styles.scss +498 -0
  159. package/table/public_api.d.ts +1 -2
  160. package/timepicker/timepicker.component.d.ts +3 -2
  161. package/timerangepicker/public_api.d.ts +1 -0
  162. package/timerangepicker/timerangepicker.component.d.ts +3 -1
  163. package/tooltip/tooltip-container/tooltip.component.d.ts +2 -1
  164. package/tooltip/tooltip.directive.d.ts +3 -1
@@ -14,6 +14,8 @@ const _c3 = a0 => ({ background: a0 });
14
14
  const _c4 = a0 => ({ transform: a0 });
15
15
  const _c5 = (a0, a1) => ({ "position-left": a0, "position-right": a1 });
16
16
  const _c6 = (a0, a1, a2) => ({ paddingLeft: a0, border: a1, paddingRight: a2 });
17
+ const _c7 = () => ({ "padding-right": "0" });
18
+ const _c8 = () => ({ "width": "calc(50% - 4px)" });
17
19
  function NestedMultiSelectDropdownComponent_p_6_Template(rf, ctx) { if (rf & 1) {
18
20
  i0.ɵɵelementStart(0, "p", 9);
19
21
  i0.ɵɵtext(1);
@@ -100,6 +102,7 @@ function NestedMultiSelectDropdownComponent_ng_template_9_div_3_div_8_Template(r
100
102
  i0.ɵɵelementEnd();
101
103
  } if (rf & 2) {
102
104
  const item_r6 = i0.ɵɵnextContext().$implicit;
105
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(2, _c7));
103
106
  i0.ɵɵadvance();
104
107
  i0.ɵɵproperty("ngForOf", item_r6 == null ? null : item_r6.children);
105
108
  } }
@@ -115,7 +118,7 @@ function NestedMultiSelectDropdownComponent_ng_template_9_div_3_Template(rf, ctx
115
118
  i0.ɵɵelementEnd()();
116
119
  i0.ɵɵtemplate(7, NestedMultiSelectDropdownComponent_ng_template_9_div_3_div_7_Template, 2, 1, "div", 29);
117
120
  i0.ɵɵelementEnd();
118
- i0.ɵɵtemplate(8, NestedMultiSelectDropdownComponent_ng_template_9_div_3_div_8_Template, 2, 1, "div", 30);
121
+ i0.ɵɵtemplate(8, NestedMultiSelectDropdownComponent_ng_template_9_div_3_div_8_Template, 2, 3, "div", 30);
119
122
  i0.ɵɵelementEnd();
120
123
  } if (rf & 2) {
121
124
  const item_r6 = ctx.$implicit;
@@ -146,9 +149,13 @@ function NestedMultiSelectDropdownComponent_ng_template_9_div_5_Template(rf, ctx
146
149
  i0.ɵɵlistener("click", function NestedMultiSelectDropdownComponent_ng_template_9_div_5_Template_mis_button_click_4_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.applyFilters()); });
147
150
  i0.ɵɵelementEnd()()();
148
151
  } if (rf & 2) {
149
- i0.ɵɵadvance(2);
152
+ i0.ɵɵadvance();
153
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(8, _c8));
154
+ i0.ɵɵadvance();
150
155
  i0.ɵɵproperty("name", "Reset")("type", "Text")("width", "100%");
151
- i0.ɵɵadvance(2);
156
+ i0.ɵɵadvance();
157
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(9, _c8));
158
+ i0.ɵɵadvance();
152
159
  i0.ɵɵproperty("name", "Apply")("type", "Solid")("width", "100%");
153
160
  } }
154
161
  function NestedMultiSelectDropdownComponent_ng_template_9_Template(rf, ctx) { if (rf & 1) {
@@ -157,7 +164,7 @@ function NestedMultiSelectDropdownComponent_ng_template_9_Template(rf, ctx) { if
157
164
  i0.ɵɵelementStart(2, "div", 12);
158
165
  i0.ɵɵtemplate(3, NestedMultiSelectDropdownComponent_ng_template_9_div_3_Template, 9, 4, "div", 13)(4, NestedMultiSelectDropdownComponent_ng_template_9_div_4_Template, 2, 1, "div", 14);
159
166
  i0.ɵɵelementEnd();
160
- i0.ɵɵtemplate(5, NestedMultiSelectDropdownComponent_ng_template_9_div_5_Template, 5, 6, "div", 15);
167
+ i0.ɵɵtemplate(5, NestedMultiSelectDropdownComponent_ng_template_9_div_5_Template, 5, 10, "div", 15);
161
168
  i0.ɵɵelementEnd();
162
169
  } if (rf & 2) {
163
170
  const ctx_r1 = i0.ɵɵnextContext();
@@ -445,7 +452,7 @@ export class NestedMultiSelectDropdownComponent {
445
452
  let _t;
446
453
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.selectElement = _t.first);
447
454
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.popupContainer = _t.first);
448
- } }, inputs: { data: "data", label: "label", height: "height", width: "width", dropdownListHeight: "dropdownListHeight", dropdownListWidth: "dropdownListWidth", dropdownListPosition: "dropdownListPosition", searchEnabled: "searchEnabled", showSelectedCount: "showSelectedCount", noDataMessage: "noDataMessage", selectedItems: "selectedItems" }, outputs: { onChange: "onChange" }, decls: 11, vars: 12, consts: [["select", ""], ["popupContainer", ""], [1, "container", 3, "ngStyle"], ["tabindex", "0", 1, "dropdown", 3, "keyup.enter", "click", "ngStyle"], [1, "label"], [1, "text"], ["class", "count", 4, "ngIf"], ["width", "20", "height", "20", "viewBox", "0 0 20 20", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "handle", 3, "ngStyle"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z", "fill", "#181F33"], [1, "count"], [1, "popup-container", 3, "ngStyle", "ngClass"], ["class", "search-container", 4, "ngIf"], [1, "items"], ["tabindex", "0", 3, "keyup.enter", "click", 4, "ngFor", "ngForOf"], ["class", "noData", 4, "ngIf"], ["class", "actions-container", 4, "ngIf"], [1, "search-container"], ["class", "search-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 4, "ngIf"], [1, "search-input", 3, "ngModelChange", "focus", "ngModel", "ngStyle", "placeholder"], ["class", "cancel-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 3, "click", 4, "ngIf"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "search-icon"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z", "fill", "#6A737D"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "cancel-icon", 3, "click"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z", "fill", "#6A737D"], ["tabindex", "0", 3, "keyup.enter", "click"], [1, "item"], [1, "checkbox-container-wrapper"], [1, "checkbox-container"], [3, "checked"], ["class", "icon-container", 4, "ngIf"], ["class", "items sub", "style", "padding-right: 0", 4, "ngIf"], [1, "icon-container"], ["alt", "no img", 1, "icon", 3, "src"], [1, "items", "sub", 2, "padding-right", "0"], ["class", "item", "tabindex", "0", 3, "keyup.enter", "click", 4, "ngFor", "ngForOf"], ["tabindex", "0", 1, "item", 3, "keyup.enter", "click"], [1, "noData"], [1, "actions-container"], [2, "width", "calc(50% - 4px)"], [3, "click", "name", "type", "width"]], template: function NestedMultiSelectDropdownComponent_Template(rf, ctx) { if (rf & 1) {
455
+ } }, inputs: { data: "data", label: "label", height: "height", width: "width", dropdownListHeight: "dropdownListHeight", dropdownListWidth: "dropdownListWidth", dropdownListPosition: "dropdownListPosition", searchEnabled: "searchEnabled", showSelectedCount: "showSelectedCount", noDataMessage: "noDataMessage", selectedItems: "selectedItems" }, outputs: { onChange: "onChange" }, decls: 11, vars: 12, consts: [["select", ""], ["popupContainer", ""], [1, "container", 3, "ngStyle"], ["tabindex", "0", 1, "dropdown", 3, "keyup.enter", "click", "ngStyle"], [1, "label"], [1, "text"], ["class", "count", 4, "ngIf"], ["width", "20", "height", "20", "viewBox", "0 0 20 20", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "handle", 3, "ngStyle"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z", "fill", "#181F33"], [1, "count"], [1, "popup-container", 3, "ngStyle", "ngClass"], ["class", "search-container", 4, "ngIf"], [1, "items"], ["tabindex", "0", 3, "keyup.enter", "click", 4, "ngFor", "ngForOf"], ["class", "noData", 4, "ngIf"], ["class", "actions-container", 4, "ngIf"], [1, "search-container"], ["class", "search-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 4, "ngIf"], [1, "search-input", 3, "ngModelChange", "focus", "ngModel", "ngStyle", "placeholder"], ["class", "cancel-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 3, "click", 4, "ngIf"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "search-icon"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z", "fill", "#6A737D"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "cancel-icon", 3, "click"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z", "fill", "#6A737D"], ["tabindex", "0", 3, "keyup.enter", "click"], [1, "item"], [1, "checkbox-container-wrapper"], [1, "checkbox-container"], [3, "checked"], ["class", "icon-container", 4, "ngIf"], ["class", "items sub", 3, "ngStyle", 4, "ngIf"], [1, "icon-container"], ["alt", "no img", 1, "icon", 3, "src"], [1, "items", "sub", 3, "ngStyle"], ["class", "item", "tabindex", "0", 3, "keyup.enter", "click", 4, "ngFor", "ngForOf"], ["tabindex", "0", 1, "item", 3, "keyup.enter", "click"], [1, "noData"], [1, "actions-container"], [3, "ngStyle"], [3, "click", "name", "type", "width"]], template: function NestedMultiSelectDropdownComponent_Template(rf, ctx) { if (rf & 1) {
449
456
  const _r1 = i0.ɵɵgetCurrentView();
450
457
  i0.ɵɵelementStart(0, "div", 2)(1, "div", 3, 0);
451
458
  i0.ɵɵlistener("keyup.enter", function NestedMultiSelectDropdownComponent_Template_div_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleDropdown()); })("click", function NestedMultiSelectDropdownComponent_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleDropdown()); });
@@ -473,7 +480,7 @@ export class NestedMultiSelectDropdownComponent {
473
480
  }
474
481
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NestedMultiSelectDropdownComponent, [{
475
482
  type: Component,
476
- args: [{ selector: "mis-nested-multi-select-dropdown", template: "<div\n class=\"container\"\n [ngStyle]=\"{\n height: height.length > 0 ? height : '',\n width: width.length > 0 ? width : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"{ background: isOpen ? '#E6EBF7' : '' }\"\n >\n <div class=\"label\">\n <p class=\"text\">{{ label }}</p>\n <p *ngIf=\"showSelectedCount && selectedCount > 0\" class=\"count\">\n {{ selectedCount }}\n </p>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n<ng-template #popupContainer>\n <div\n class=\"popup-container\"\n [ngStyle]=\"{\n height: dropdownListHeight,\n width: dropdownListWidth\n }\"\n [ngClass]=\"{\n 'position-left': dropdownListPosition === 'Left',\n 'position-right': dropdownListPosition === 'Right'\n }\"\n >\n <div *ngIf=\"searchEnabled\" class=\"search-container\">\n <svg\n *ngIf=\"!isSearchInputFocused\"\n class=\"search-icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n <input\n [ngModel]=\"searchInput\"\n [ngStyle]=\"{\n paddingLeft: isSearchInputFocused ? '12px' : '45px',\n border: isSearchInputFocused ? '1px solid #0937B2' : '1px solid #e0e0e0',\n paddingRight: isSearchInputFocused ? '45px' : '10px'\n }\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused ? '' : 'Search Keyword'\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n />\n <svg\n *ngIf=\"isSearchInputFocused\"\n class=\"cancel-icon\"\n (click)=\"searchInputCanceled($event)\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n <div class=\"items\">\n <div\n tabindex=\"0\"\n (keyup.enter)=\"toggleSelectedItems($event, item)\"\n (click)=\"toggleSelectedItems($event, item)\"\n *ngFor=\"let item of searchInput ? searchData : localData\"\n >\n <div class=\"item\">\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox [checked]=\"item.checked\"></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ item.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </div>\n <div *ngIf=\"item?.children?.length > 0\" class=\"items sub\" style=\"padding-right: 0\">\n <div\n class=\"item\"\n tabindex=\"0\"\n (keyup.enter)=\"toggleSelectedItems($event, item, cItem)\"\n (click)=\"toggleSelectedItems($event, item, cItem)\"\n *ngFor=\"let cItem of item?.children\"\n >\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox [checked]=\"cItem.checked\"></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ cItem.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"cItem.icon\">\n <img class=\"icon\" [src]=\"cItem.icon\" alt=\"no img\" />\n </div>\n </div>\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"(searchInput ? searchData : localData).length === 0\">\n {{ searchInput === \"\" ? noDataMessage : \"No results\" }}\n </div>\n </div>\n <div *ngIf=\"localData.length !== 0\" class=\"actions-container\">\n <div style=\"width: calc(50% - 4px)\">\n <mis-button [name]=\"'Reset'\" [type]=\"'Text'\" [width]=\"'100%'\" (click)=\"onReset()\"></mis-button>\n </div>\n <div style=\"width: calc(50% - 4px)\">\n <mis-button [name]=\"'Apply'\" [type]=\"'Solid'\" [width]=\"'100%'\" (click)=\"applyFilters()\"></mis-button>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#9aa7b4}.container{position:relative;display:flex;justify-content:center;align-items:center;height:32px;width:256px;flex-wrap:wrap;font-family:Lato,sans-serif}.container .dropdown{height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 12px;overflow:hidden}.container .dropdown:hover,.container .dropdown:focus-visible{background-color:#f5f7fc;outline:none}.container .dropdown .label{display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px);font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.container .dropdown .label .text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.container .dropdown .label .count{background-color:#e0e0e0;border-radius:50%;padding:2px 7px;margin:0 0 0 8px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px;color:#181f33}.container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.popup-container{position:absolute;top:4px;width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px #0000001f;overflow-x:hidden;display:flex;flex-direction:column;justify-content:space-between;z-index:100}.popup-container::-webkit-scrollbar{width:0;height:0}.popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#181f33}.popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container .items{padding:8px 0 8px 8px;overflow-y:scroll;height:100%}.popup-container .items::-webkit-scrollbar{width:5px;height:0}.popup-container .items::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:10px}.popup-container .items .noData{display:flex;justify-content:center;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.popup-container .items .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;padding:8px 12px;border-radius:6px;height:auto}.popup-container .items .item:hover,.popup-container .items .item:focus-visible{background-color:#f5f7fc;outline:none}.popup-container .items .item .checkbox-container-wrapper{display:flex;justify-content:flex-start;align-items:center;width:90%}.popup-container .items .item .checkbox-container-wrapper .checkbox-container{display:block;position:relative;cursor:pointer;font-size:22px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.popup-container .items .item .checkbox-container-wrapper .checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.popup-container .items .item .checkbox-container-wrapper .checkbox-container input:checked~.checkmark:after{display:block}.popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark{position:absolute;top:-8px;left:0;height:15px;width:15px;border-radius:4px;background-color:#0079f1;border:1px solid rgb(106,115,125)}.popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark:after{content:\"\";position:absolute;display:none;left:5px;top:2px;width:3px;height:6px;border:solid white;border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.popup-container .items .item .checkbox-container-wrapper .label{margin:0 0 0 8px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33;text-overflow:ellipsis;overflow:hidden}.popup-container .items .item .icon-container{width:10%;display:flex;justify-content:flex-end}.popup-container .items .item .icon-container .icon{width:20px;height:20px}.popup-container .actions-container{display:flex;justify-content:space-between;bottom:0;align-items:center;position:sticky;padding:16px;background-color:#fff;border-top:1px solid #e0e0e0}.popup-container .actions-container .cancel{cursor:pointer;padding:10px 32px;text-align:center;font-size:16px;line-height:24px;border-radius:8px}.popup-container .actions-container .cancel:hover{background:#0937b20a}.popup-container .actions-container .apply{cursor:pointer;padding:10px 32px;text-align:center;color:#fff;font-size:16px;line-height:24px;background:#0937b2;border-radius:8px}\n"] }]
483
+ args: [{ selector: "mis-nested-multi-select-dropdown", template: "<div\n class=\"container\"\n [ngStyle]=\"{\n height: height.length > 0 ? height : '',\n width: width.length > 0 ? width : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"{ background: isOpen ? '#E6EBF7' : '' }\"\n >\n <div class=\"label\">\n <p class=\"text\">{{ label }}</p>\n <p *ngIf=\"showSelectedCount && selectedCount > 0\" class=\"count\">\n {{ selectedCount }}\n </p>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n<ng-template #popupContainer>\n <div\n class=\"popup-container\"\n [ngStyle]=\"{\n height: dropdownListHeight,\n width: dropdownListWidth\n }\"\n [ngClass]=\"{\n 'position-left': dropdownListPosition === 'Left',\n 'position-right': dropdownListPosition === 'Right'\n }\"\n >\n <div *ngIf=\"searchEnabled\" class=\"search-container\">\n <svg\n *ngIf=\"!isSearchInputFocused\"\n class=\"search-icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n <input\n [ngModel]=\"searchInput\"\n [ngStyle]=\"{\n paddingLeft: isSearchInputFocused ? '12px' : '45px',\n border: isSearchInputFocused ? '1px solid #0937B2' : '1px solid #e0e0e0',\n paddingRight: isSearchInputFocused ? '45px' : '10px'\n }\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused ? '' : 'Search Keyword'\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n />\n <svg\n *ngIf=\"isSearchInputFocused\"\n class=\"cancel-icon\"\n (click)=\"searchInputCanceled($event)\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n <div class=\"items\">\n <div\n tabindex=\"0\"\n (keyup.enter)=\"toggleSelectedItems($event, item)\"\n (click)=\"toggleSelectedItems($event, item)\"\n *ngFor=\"let item of searchInput ? searchData : localData\"\n >\n <div class=\"item\">\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox [checked]=\"item.checked\"></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ item.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </div>\n <div *ngIf=\"item?.children?.length > 0\" class=\"items sub\" [ngStyle]=\"{'padding-right': '0'}\">\n <div\n class=\"item\"\n tabindex=\"0\"\n (keyup.enter)=\"toggleSelectedItems($event, item, cItem)\"\n (click)=\"toggleSelectedItems($event, item, cItem)\"\n *ngFor=\"let cItem of item?.children\"\n >\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox [checked]=\"cItem.checked\"></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ cItem.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"cItem.icon\">\n <img class=\"icon\" [src]=\"cItem.icon\" alt=\"no img\" />\n </div>\n </div>\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"(searchInput ? searchData : localData).length === 0\">\n {{ searchInput === \"\" ? noDataMessage : \"No results\" }}\n </div>\n </div>\n <div *ngIf=\"localData.length !== 0\" class=\"actions-container\">\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\">\n <mis-button [name]=\"'Reset'\" [type]=\"'Text'\" [width]=\"'100%'\" (click)=\"onReset()\"></mis-button>\n </div>\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\">\n <mis-button [name]=\"'Apply'\" [type]=\"'Solid'\" [width]=\"'100%'\" (click)=\"applyFilters()\"></mis-button>\n </div> \n </div>\n </div>\n</ng-template>\n", styles: ["::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#9aa7b4}.container{position:relative;display:flex;justify-content:center;align-items:center;height:32px;width:256px;flex-wrap:wrap;font-family:Lato,sans-serif}.container .dropdown{height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 12px;overflow:hidden}.container .dropdown:hover,.container .dropdown:focus-visible{background-color:#f5f7fc;outline:none}.container .dropdown .label{display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px);font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.container .dropdown .label .text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.container .dropdown .label .count{background-color:#e0e0e0;border-radius:50%;padding:2px 7px;margin:0 0 0 8px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px;color:#181f33}.container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.popup-container{position:absolute;top:4px;width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px #0000001f;overflow-x:hidden;display:flex;flex-direction:column;justify-content:space-between;z-index:100}.popup-container::-webkit-scrollbar{width:0;height:0}.popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#181f33}.popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container .items{padding:8px 0 8px 8px;overflow-y:scroll;height:100%}.popup-container .items::-webkit-scrollbar{width:5px;height:0}.popup-container .items::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:10px}.popup-container .items .noData{display:flex;justify-content:center;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.popup-container .items .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;padding:8px 12px;border-radius:6px;height:auto}.popup-container .items .item:hover,.popup-container .items .item:focus-visible{background-color:#f5f7fc;outline:none}.popup-container .items .item .checkbox-container-wrapper{display:flex;justify-content:flex-start;align-items:center;width:90%}.popup-container .items .item .checkbox-container-wrapper .checkbox-container{display:block;position:relative;cursor:pointer;font-size:22px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.popup-container .items .item .checkbox-container-wrapper .checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.popup-container .items .item .checkbox-container-wrapper .checkbox-container input:checked~.checkmark:after{display:block}.popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark{position:absolute;top:-8px;left:0;height:15px;width:15px;border-radius:4px;background-color:#0079f1;border:1px solid rgb(106,115,125)}.popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark:after{content:\"\";position:absolute;display:none;left:5px;top:2px;width:3px;height:6px;border:solid white;border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.popup-container .items .item .checkbox-container-wrapper .label{margin:0 0 0 8px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33;text-overflow:ellipsis;overflow:hidden}.popup-container .items .item .icon-container{width:10%;display:flex;justify-content:flex-end}.popup-container .items .item .icon-container .icon{width:20px;height:20px}.popup-container .actions-container{display:flex;justify-content:space-between;bottom:0;align-items:center;position:sticky;padding:16px;background-color:#fff;border-top:1px solid #e0e0e0}.popup-container .actions-container .cancel{cursor:pointer;padding:10px 32px;text-align:center;font-size:16px;line-height:24px;border-radius:8px}.popup-container .actions-container .cancel:hover{background:#0937b20a}.popup-container .actions-container .apply{cursor:pointer;padding:10px 32px;text-align:center;color:#fff;font-size:16px;line-height:24px;background:#0937b2;border-radius:8px}\n"] }]
477
484
  }], () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }], { data: [{
478
485
  type: Input
479
486
  }], label: [{
@@ -506,4 +513,4 @@ export class NestedMultiSelectDropdownComponent {
506
513
  args: ["popupContainer", { static: false }]
507
514
  }] }); })();
508
515
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NestedMultiSelectDropdownComponent, { className: "NestedMultiSelectDropdownComponent" }); })();
509
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLW11bHRpLXNlbGVjdC1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9uZXN0ZWQtbXVsdGktc2VsZWN0LWRyb3Bkb3duL25lc3RlZC1tdWx0aS1zZWxlY3QtZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvbmVzdGVkLW11bHRpLXNlbGVjdC1kcm9wZG93bi9uZXN0ZWQtbXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsc0JBQXNCLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0lDZS9ILDRCQUFnRTtJQUM5RCxZQUNGO0lBQUEsaUJBQUk7OztJQURGLGNBQ0Y7SUFERSxxREFDRjs7OztJQWlDQSwrQkFRQztJQUNDLDJCQUtFO0lBQ0osaUJBQU07Ozs7O0lBYU4sK0JBU0M7SUFOQywyTkFBUyxrQ0FBMkIsS0FBQztJQU9yQywyQkFLRTtJQUNKLGlCQUFNOzs7O0lBN0NSLCtCQUFvRDtJQUNsRCw2R0FRQztJQVFELGlDQVdFO0lBRkEsQUFGQSxrT0FBaUIsa0NBQTJCLEtBQUMsK0xBRXBDLDBCQUFtQixJQUFJLENBQUMsS0FBQztJQVRwQyxpQkFXRTtJQUNGLDZHQVNDO0lBUUgsaUJBQU07OztJQTVDRCxjQUEyQjtJQUEzQixtREFBMkI7SUFnQjVCLGNBQXVCO0lBT3ZCLEFBTkEsQUFEQSw0Q0FBdUIsOE1BS3JCLG9FQUUwRDtJQUszRCxj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dCB7IE92ZXJsYXlSZWYsIE92ZXJsYXksIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsIE92ZXJsYXlDb25maWcgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLW5lc3RlZC1tdWx0aS1zZWxlY3QtZHJvcGRvd25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9uZXN0ZWQtbXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9uZXN0ZWQtbXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZE11bHRpU2VsZWN0RHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzZWFyY2hJbnB1dDogc3RyaW5nID0gXCJcIjtcbiAgaXNPcGVuID0gZmFsc2U7XG4gIGxvY2FsU2VsZWN0ZWRJdGVtczogTmVzdGVkTXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXSA9IFtdO1xuICBsb2NhbERhdGE6IE5lc3RlZE11bHRpU2VsZWN0RHJvcGRvd25JdGVtW10gPSBbXTtcbiAgc2VhcmNoRGF0YTogTmVzdGVkTXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXSA9IFtdO1xuICBzZWxlY3RlZENvdW50OiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpIHNldCBkYXRhKHZhbHVlczogTmVzdGVkTXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXSkge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zaGFkb3dlZC12YXJpYWJsZVxuICAgIHRoaXMubG9jYWxEYXRhID0gdmFsdWVzLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLml0ZW0sXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlbi5tYXAoYSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmEsXG4gICAgICAgICAgICBjaGVja2VkOiBmYWxzZVxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSBcIlNlbGVjdFwiO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSBcIlwiO1xuXG4gIEBJbnB1dCgpIGRyb3Bkb3duTGlzdEhlaWdodDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgZHJvcGRvd25MaXN0V2lkdGg6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGRyb3Bkb3duTGlzdFBvc2l0aW9uOiBcIkxlZnRcIiB8IFwiUmlnaHRcIiA9IFwiTGVmdFwiO1xuXG4gIEBJbnB1dCgpIHNlYXJjaEVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93U2VsZWN0ZWRDb3VudDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBub0RhdGFNZXNzYWdlOiBzdHJpbmcgPSBcIk5vIERhdGFcIjtcbiAgQElucHV0KCkgc2V0IHNlbGVjdGVkSXRlbXModmFsdWVzOiBOZXN0ZWRNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdKSB7XG4gICAgdGhpcy5oYW5kbGVyU2V0TG9jYWxTZWxlY3RlZEl0ZW1zKHZhbHVlcyk7XG4gIH1cblxuICBAT3V0cHV0KCkgb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoXCJzZWxlY3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHNlbGVjdEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoXCJwb3B1cENvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgcG9wdXBDb250YWluZXI6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlUmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGhhbmRsZXJTZXRMb2NhbFNlbGVjdGVkSXRlbXModmFsdWVzKSB7XG4gICAgdGhpcy5sb2NhbFNlbGVjdGVkSXRlbXMgPSB2YWx1ZXM7XG4gIH1cbiAgaXNTZWFyY2hJbnB1dEZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VhcmNoSW5wdXRGb2N1c2VkKGlzRm9jdXNlZDogYm9vbGVhbikge1xuICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQgPSBpc0ZvY3VzZWQ7XG4gIH1cbiAgc2VhcmNoSW5wdXRDYW5jZWxlZChldmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBcIlwiO1xuICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQgPSBmYWxzZTtcbiAgfVxuICB0b2dnbGVEcm9wZG93bigpIHtcbiAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlbjtcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIHRoaXMuaGFuZGxlclNldExvY2FsU2VsZWN0ZWRJdGVtcyh0aGlzLmxvY2FsU2VsZWN0ZWRJdGVtcyk7XG4gICAgICB0aGlzLmxvY2FsRGF0YSA9IHRoaXMuZm9ybWF0VmFsdWVzKHRoaXMubG9jYWxEYXRhKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNPcGVuKSB0aGlzLm9wZW5Ecm9wZG93bih0aGlzLnBvcHVwQ29udGFpbmVyLCB0aGlzLnNlbGVjdEVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgZWxzZSB0aGlzLm9uQ2FuY2VsKCk7XG4gIH1cbiAgcHJpdmF0ZSBvcGVuRHJvcGRvd24odGVtcGxhdGU6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+LCBvcmlnaW46IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgcG9zaXRpb25zQm90dG9tID0gW1xuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcInN0YXJ0XCIsIG9yaWdpblk6IFwiYm90dG9tXCIgfSwgeyBvdmVybGF5WDogXCJzdGFydFwiLCBvdmVybGF5WTogXCJ0b3BcIiB9LCAwLCA0KSxcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJlbmRcIiwgb3JpZ2luWTogXCJib3R0b21cIiB9LCB7IG92ZXJsYXlYOiBcImVuZFwiLCBvdmVybGF5WTogXCJ0b3BcIiB9LCAwLCA0KVxuICAgIF07XG4gICAgY29uc3QgcG9zaXRpb25zVG9wID0gW1xuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcInN0YXJ0XCIsIG9yaWdpblk6IFwidG9wXCIgfSwgeyBvdmVybGF5WDogXCJzdGFydFwiLCBvdmVybGF5WTogXCJib3R0b21cIiB9LCAwLCAtNCksXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwiZW5kXCIsIG9yaWdpblk6IFwidG9wXCIgfSwgeyBvdmVybGF5WDogXCJlbmRcIiwgb3ZlcmxheVk6IFwiYm90dG9tXCIgfSwgMCwgLTQpXG4gICAgXTtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8ob3JpZ2luKVxuICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAuLi4odGhpcy5kcm9wZG93bkxpc3RQb3NpdGlvbiA9PT0gXCJSaWdodFwiID8gcG9zaXRpb25zQm90dG9tLnJldmVyc2UoKSA6IHBvc2l0aW9uc0JvdHRvbSksXG4gICAgICAgIC4uLih0aGlzLmRyb3Bkb3duTGlzdFBvc2l0aW9uID09PSBcIlJpZ2h0XCIgPyBwb3NpdGlvbnNUb3AucmV2ZXJzZSgpIDogcG9zaXRpb25zVG9wKVxuICAgICAgXSlcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcbiAgICBjb25zdCBjb25maWdzID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBiYWNrZHJvcENsYXNzOiBcImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCIsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHdpZHRoOiBvcmlnaW4uY2xpZW50V2lkdGhcbiAgICB9KTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKGNvbmZpZ3MpO1xuICAgIGlmICh0aGlzLmRyb3Bkb3duTGlzdFdpZHRoKSB0aGlzLm92ZXJsYXlSZWYudXBkYXRlU2l6ZSh7IHdpZHRoOiB0aGlzLmRyb3Bkb3duTGlzdFdpZHRoIH0pO1xuICAgIGlmICh0aGlzLmRyb3Bkb3duTGlzdEhlaWdodCkgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVNpemUoeyBoZWlnaHQ6IHRoaXMuZHJvcGRvd25MaXN0SGVpZ2h0IH0pO1xuICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgdGhpcy5vbkNhbmNlbCgpO1xuICAgIH0pO1xuICB9XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIGZpbHRlckJ5VmFsdWUoYXJyYXk6IE5lc3RlZE11bHRpU2VsZWN0RHJvcGRvd25JdGVtW10sIHN0cmluZzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGFycmF5XG4gICAgICAuZmlsdGVyKFxuICAgICAgICBvID0+IG8ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzdHJpbmcudG9Mb3dlckNhc2UoKSkgfHwgby5jaGlsZHJlbj8uc29tZShnID0+IGc/LmxhYmVsPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHN0cmluZy50b0xvd2VyQ2FzZSgpKSlcbiAgICAgIClcbiAgICAgIC5tYXAodiA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4udixcbiAgICAgICAgICBjaGlsZHJlbjogdj8uY2hpbGRyZW4/LmZpbHRlcihsID0+IGw/LmxhYmVsPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHN0cmluZy50b0xvd2VyQ2FzZSgpKSlcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICB9XG4gIHNlYXJjaElucHV0T25DaGFuZ2UobmV3VmFsdWUpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0ID0gbmV3VmFsdWU7XG4gICAgaWYgKG5ld1ZhbHVlKSB7XG4gICAgICB0aGlzLnNlYXJjaERhdGEgPSB0aGlzLmZpbHRlckJ5VmFsdWUodGhpcy5sb2NhbERhdGEsIG5ld1ZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWFyY2hEYXRhID0gW107XG4gICAgICB0aGlzLnNlYXJjaElucHV0ID0gXCJcIjtcbiAgICB9XG4gIH1cbiAgZm9ybWF0VmFsdWVzKGFycmF5OiBOZXN0ZWRNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdKSB7XG4gICAgY29uc3QgY2hlY2tlZFZhbHVlcyA9IGFycmF5XG4gICAgICAuZmlsdGVyKGEgPT4gYS5jaGVja2VkKVxuICAgICAgLnNvcnQoKGE6IE5lc3RlZE11bHRpU2VsZWN0RHJvcGRvd25JdGVtLCBiOiBOZXN0ZWRNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSkgPT4gKGEubGFiZWwgPiBiLmxhYmVsID8gMSA6IGIubGFiZWwgPiBhLmxhYmVsID8gLTEgOiAwKSk7XG4gICAgY29uc3QgdW5DaGVja2VkVmFsdWVzID0gYXJyYXlcbiAgICAgIC5maWx0ZXIoYSA9PiAhYS5jaGVja2VkKVxuICAgICAgLnNvcnQoKGE6IE5lc3RlZE11bHRpU2VsZWN0RHJvcGRvd25JdGVtLCBiOiBOZXN0ZWRNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSkgPT4gKGEubGFiZWwgPiBiLmxhYmVsID8gMSA6IGIubGFiZWwgPiBhLmxhYmVsID8gLTEgOiAwKSk7XG4gICAgcmV0dXJuIFsuLi5jaGVja2VkVmFsdWVzLCAuLi51bkNoZWNrZWRWYWx1ZXNdO1xuICB9XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zaGFkb3dlZC12YXJpYWJsZVxuICB0b2dnbGVTZWxlY3RlZEl0ZW1zKGV2ZW50LCBpdGVtOiBOZXN0ZWRNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSwgY0l0ZW0/OiBhbnkpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAoIWNJdGVtKSB7XG4gICAgICBpZiAoaXRlbS5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMubG9jYWxEYXRhID0gW1xuICAgICAgICAgIC4uLnRoaXMubG9jYWxEYXRhLm1hcChhID0+IHtcbiAgICAgICAgICAgIGlmIChhLnZhbHVlID09PSBpdGVtLnZhbHVlKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uYSxcbiAgICAgICAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tc2hhZG93ZWQtdmFyaWFibGVcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlbi5tYXAoYSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5hLFxuICAgICAgICAgICAgICAgICAgICBjaGVja2VkOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGE7XG4gICAgICAgICAgfSlcbiAgICAgICAgXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9jYWxEYXRhID0gW1xuICAgICAgICAgIC4uLnRoaXMubG9jYWxEYXRhLm1hcChhID0+IHtcbiAgICAgICAgICAgIGlmIChhLnZhbHVlID09PSBpdGVtLnZhbHVlKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uYSxcbiAgICAgICAgICAgICAgICBjaGVja2VkOiB0cnVlLFxuICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zaGFkb3dlZC12YXJpYWJsZVxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBpdGVtLmNoaWxkcmVuLm1hcChhID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmEsXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ6IHRydWVcbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhO1xuICAgICAgICAgIH0pXG4gICAgICAgIF07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChjSXRlbS5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMubG9jYWxEYXRhID0gW1xuICAgICAgICAgIC4uLnRoaXMubG9jYWxEYXRhLm1hcChhID0+IHtcbiAgICAgICAgICAgIGlmIChhLnZhbHVlID09PSBpdGVtLnZhbHVlKSB7XG4gICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zaGFkb3dlZC12YXJpYWJsZVxuICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGE/LmNoaWxkcmVuLm1hcChhID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY0l0ZW0/LnZhbHVlID09PSBhPy52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYSxcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogZmFsc2VcbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBhO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5hLFxuICAgICAgICAgICAgICAgIGNoZWNrZWQ6IGNoaWxkcmVuLmV2ZXJ5KHEgPT4gcS5jaGVja2VkKSxcbiAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tc2hhZG93ZWQtdmFyaWFibGVcbiAgICAgICAgICAgICAgICBjaGlsZHJlblxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGE7XG4gICAgICAgICAgfSlcbiAgICAgICAgXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9jYWxEYXRhID0gW1xuICAgICAgICAgIC4uLnRoaXMubG9jYWxEYXRhLm1hcChhID0+IHtcbiAgICAgICAgICAgIGlmIChhLnZhbHVlID09PSBpdGVtLnZhbHVlKSB7XG4gICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zaGFkb3dlZC12YXJpYWJsZVxuICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGE/LmNoaWxkcmVuLm1hcChhID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY0l0ZW0/LnZhbHVlID09PSBhPy52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYSxcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGE7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmEsXG4gICAgICAgICAgICAgICAgY2hlY2tlZDogY2hpbGRyZW4uZXZlcnkocSA9PiBxLmNoZWNrZWQpLFxuICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zaGFkb3dlZC12YXJpYWJsZVxuICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYTtcbiAgICAgICAgICB9KVxuICAgICAgICBdO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5zZWFyY2hFbmFibGVkKSB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0T25DaGFuZ2UodGhpcy5zZWFyY2hJbnB1dCk7XG4gICAgfVxuICB9XG5cbiAgYXBwbHlGaWx0ZXJzKCkge1xuICAgIGxldCBsb2NhbENvdW50ID0gMDtcbiAgICB0aGlzLmxvY2FsRGF0YS5mb3JFYWNoKGEgPT5cbiAgICAgIGE/LmNoaWxkcmVuPy5mb3JFYWNoKGIgPT4ge1xuICAgICAgICBpZiAoYi5jaGVja2VkKSB7XG4gICAgICAgICAgbG9jYWxDb3VudCArPSAxO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZENvdW50ID0gbG9jYWxDb3VudDtcbiAgICBjb25zdCB3ID0gdGhpcy5sb2NhbERhdGFcbiAgICAgIC5maWx0ZXIociA9PiAhKCFyLmNoZWNrZWQgJiYgIXI/LmNoaWxkcmVuPy5zb21lKGYgPT4gZj8uY2hlY2tlZCkpKVxuICAgICAgLm1hcChhID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5hLFxuICAgICAgICAgIGNoaWxkcmVuOiBhPy5jaGlsZHJlbj8uZmlsdGVyKHMgPT4gcy5jaGVja2VkKVxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHcpO1xuICAgIHRoaXMub25DYW5jZWwoKTtcbiAgfVxuICBvblJlc2V0KCkge1xuICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQgPSBmYWxzZTtcbiAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMubG9jYWxEYXRhKSB7XG4gICAgICBmb3IgKGxldCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgIGNoaWxkLmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGl0ZW0uY2hlY2tlZCA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoW10pO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5zZWFyY2hJbnB1dCA9IFwiXCI7XG4gIH1cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICB0aGlzLnNlYXJjaElucHV0ID0gXCJcIjtcbiAgfVxufVxuZXhwb3J0IGludGVyZmFjZSBOZXN0ZWRNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGNoZWNrZWQ/OiBib29sZWFuO1xuICBpY29uPzogc3RyaW5nO1xuICBjaGlsZHJlbjogQXJyYXk8e1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBjaGVja2VkPzogYm9vbGVhbjtcbiAgICBpY29uPzogc3RyaW5nO1xuICB9Pjtcbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJjb250YWluZXJcIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgaGVpZ2h0OiBoZWlnaHQubGVuZ3RoID4gMCA/IGhlaWdodCA6ICcnLFxuICAgIHdpZHRoOiB3aWR0aC5sZW5ndGggPiAwID8gd2lkdGggOiAnJ1xuICB9XCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZHJvcGRvd25cIlxuICAgICNzZWxlY3RcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIChrZXl1cC5lbnRlcik9XCJ0b2dnbGVEcm9wZG93bigpXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oKVwiXG4gICAgW25nU3R5bGVdPVwieyBiYWNrZ3JvdW5kOiBpc09wZW4gPyAnI0U2RUJGNycgOiAnJyB9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0XCI+e3sgbGFiZWwgfX08L3A+XG4gICAgICA8cCAqbmdJZj1cInNob3dTZWxlY3RlZENvdW50ICYmIHNlbGVjdGVkQ291bnQgPiAwXCIgY2xhc3M9XCJjb3VudFwiPlxuICAgICAgICB7eyBzZWxlY3RlZENvdW50IH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPHN2Z1xuICAgICAgY2xhc3M9XCJoYW5kbGVcIlxuICAgICAgW25nU3R5bGVdPVwieyB0cmFuc2Zvcm06IGlzT3BlbiA/ICdyb3RhdGUoMTgwZGVnKScgOiAncm90YXRlKDBkZWcpJyB9XCJcbiAgICAgIHdpZHRoPVwiMjBcIlxuICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGQ9XCJNMTMuODI1IDcuMTU4NDVMMTAgMTAuOTc1MUw2LjE3NSA3LjE1ODQ1TDUgOC4zMzM0NUwxMCAxMy4zMzM0TDE1IDguMzMzNDVMMTMuODI1IDcuMTU4NDVaXCJcbiAgICAgICAgZmlsbD1cIiMxODFGMzNcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcG9wdXBDb250YWluZXI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInBvcHVwLWNvbnRhaW5lclwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgaGVpZ2h0OiBkcm9wZG93bkxpc3RIZWlnaHQsXG4gICAgICB3aWR0aDogZHJvcGRvd25MaXN0V2lkdGhcbiAgICB9XCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAncG9zaXRpb24tbGVmdCc6IGRyb3Bkb3duTGlzdFBvc2l0aW9uID09PSAnTGVmdCcsXG4gICAgICAncG9zaXRpb24tcmlnaHQnOiBkcm9wZG93bkxpc3RQb3NpdGlvbiA9PT0gJ1JpZ2h0J1xuICAgIH1cIlxuICA+XG4gICAgPGRpdiAqbmdJZj1cInNlYXJjaEVuYWJsZWRcIiBjbGFzcz1cInNlYXJjaC1jb250YWluZXJcIj5cbiAgICAgIDxzdmdcbiAgICAgICAgKm5nSWY9XCIhaXNTZWFyY2hJbnB1dEZvY3VzZWRcIlxuICAgICAgICBjbGFzcz1cInNlYXJjaC1pY29uXCJcbiAgICAgICAgd2lkdGg9XCIyNFwiXG4gICAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICA+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgZD1cIk00LjIxNTA4IDExLjE0NTZDNC4yMTUwOCA3LjMxNzkgNy4zMzcyMiA0LjIxMTY1IDExLjE5MjYgNC4yMTE2NUMxNS4wNDggNC4yMTE2NSAxOC4xNzAyIDcuMzE3OSAxOC4xNzAyIDExLjE0NTZDMTguMTcwMiAxMi42OTMxIDE3LjY1OTkgMTQuMTIyNiAxNi43OTcyIDE1LjI3NjdMMTUuMzY4NSAxNi43MDEzQzE0LjIwNDQgMTcuNTY2OCAxMi43NTkgMTguMDc5NiAxMS4xOTI2IDE4LjA3OTZDNy4zMzcyMiAxOC4wNzk2IDQuMjE1MDggMTQuOTczNCA0LjIxNTA4IDExLjE0NTZaTTE1Ljk0MjEgMTcuNzgzNUMxNC42MDIxIDE4LjczMjkgMTIuOTYyNyAxOS4yOTEzIDExLjE5MjYgMTkuMjkxM0M2LjY2OTc3IDE5LjI5MTMgMyAxNS42NDYxIDMgMTEuMTQ1NkMzIDYuNjQ1MTIgNi42Njk3NyAzIDExLjE5MjYgM0MxNS43MTU1IDMgMTkuMzg1MiA2LjY0NTEyIDE5LjM4NTIgMTEuMTQ1NkMxOS4zODUyIDEyLjkzNzEgMTguODAzNyAxNC41OTMxIDE3LjgxODQgMTUuOTM3NUwxOS44MzYxIDE3LjQwNDhDMjAuNjcwNSAxNy45MTIgMjEuNzU1NCAxOC42NTQzIDIwLjI0NTQgMjAuMjE1QzE4LjczNTMgMjEuNzc1NiAxOC4wMDk5IDIwLjY2NjMgMTcuNDk5MSAxOS44MzY0TDE1Ljk0MjEgMTcuNzgzNVpcIlxuICAgICAgICAgIGZpbGw9XCIjNkE3MzdEXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPGlucHV0XG4gICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaElucHV0XCJcbiAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgIHBhZGRpbmdMZWZ0OiBpc1NlYXJjaElucHV0Rm9jdXNlZCA/ICcxMnB4JyA6ICc0NXB4JyxcbiAgICAgICAgICBib3JkZXI6IGlzU2VhcmNoSW5wdXRGb2N1c2VkID8gJzFweCBzb2xpZCAjMDkzN0IyJyA6ICcxcHggc29saWQgI2UwZTBlMCcsXG4gICAgICAgICAgcGFkZGluZ1JpZ2h0OiBpc1NlYXJjaElucHV0Rm9jdXNlZCA/ICc0NXB4JyA6ICcxMHB4J1xuICAgICAgICB9XCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoSW5wdXRPbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImlzU2VhcmNoSW5wdXRGb2N1c2VkID8gJycgOiAnU2VhcmNoIEtleXdvcmQnXCJcbiAgICAgICAgKGZvY3VzKT1cInNlYXJjaElucHV0Rm9jdXNlZCh0cnVlKVwiXG4gICAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCJcbiAgICAgIC8+XG4gICAgICA8c3ZnXG4gICAgICAgICpuZ0lmPVwiaXNTZWFyY2hJbnB1dEZvY3VzZWRcIlxuICAgICAgICBjbGFzcz1cImNhbmNlbC1pY29uXCJcbiAgICAgICAgKGNsaWNrKT1cInNlYXJjaElucHV0Q2FuY2VsZWQoJGV2ZW50KVwiXG4gICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGQ9XCJNOC44NzQ0NiA3LjMyMTQ0QzguNDQ1ODggNi44OTI4NSA3Ljc1MSA2Ljg5Mjg1IDcuMzIyNDIgNy4zMjE0NEM2Ljg5MzgzIDcuNzUwMDIgNi44OTM4MyA4LjQ0NDkgNy4zMjI0MiA4Ljg3MzQ5TDEwLjQ0ODggMTEuOTk5OUw3LjMyMzU3IDE1LjEyNTJDNi44OTQ5OCAxNS41NTM4IDYuODk0OTggMTYuMjQ4NiA3LjMyMzU3IDE2LjY3NzJDNy43NTIxNSAxNy4xMDU4IDguNDQ3MDMgMTcuMTA1OCA4Ljg3NTYxIDE2LjY3NzJMMTIuMDAwOSAxMy41NTJMMTUuMTI2MSAxNi42NzcyQzE1LjU1NDcgMTcuMTA1OCAxNi4yNDk2IDE3LjEwNTggMTYuNjc4MSAxNi42NzcyQzE3LjEwNjcgMTYuMjQ4NiAxNy4xMDY3IDE1LjU1MzcgMTYuNjc4MSAxNS4xMjUxTDEzLjU1MjkgMTEuOTk5OUwxNi42NzkzIDguODczNTRDMTcuMTA3OSA4LjQ0NDk2IDE3LjEwNzkgNy43NTAwOCAxNi42NzkzIDcuMzIxNUMxNi4yNTA3IDYuODkyOTEgMTUuNTU1OCA2Ljg5MjkxIDE1LjEyNzMgNy4zMjE1TDEyLjAwMDkgMTAuNDQ3OUw4Ljg3NDQ2IDcuMzIxNDRaXCJcbiAgICAgICAgICBmaWxsPVwiIzZBNzM3RFwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cInRvZ2dsZVNlbGVjdGVkSXRlbXMoJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVTZWxlY3RlZEl0ZW1zKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZWFyY2hJbnB1dCA/IHNlYXJjaERhdGEgOiBsb2NhbERhdGFcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1jb250YWluZXItd3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8bWlzLWNoZWNrYm94IFtjaGVja2VkXT1cIml0ZW0uY2hlY2tlZFwiPjwvbWlzLWNoZWNrYm94PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiAqbmdJZj1cIml0ZW0uaWNvblwiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cImljb25cIiBbc3JjXT1cIml0ZW0uaWNvblwiIGFsdD1cIm5vIGltZ1wiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbT8uY2hpbGRyZW4/Lmxlbmd0aCA+IDBcIiBjbGFzcz1cIml0ZW1zIHN1YlwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogMFwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiaXRlbVwiXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cInRvZ2dsZVNlbGVjdGVkSXRlbXMoJGV2ZW50LCBpdGVtLCBjSXRlbSlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlbGVjdGVkSXRlbXMoJGV2ZW50LCBpdGVtLCBjSXRlbSlcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNJdGVtIG9mIGl0ZW0/LmNoaWxkcmVuXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3gtY29udGFpbmVyLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxtaXMtY2hlY2tib3ggW2NoZWNrZWRdPVwiY0l0ZW0uY2hlY2tlZFwiPjwvbWlzLWNoZWNrYm94PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7IGNJdGVtLmxhYmVsIH19XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tY29udGFpbmVyXCIgKm5nSWY9XCJjSXRlbS5pY29uXCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpY29uXCIgW3NyY109XCJjSXRlbS5pY29uXCIgYWx0PVwibm8gaW1nXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm5vRGF0YVwiICpuZ0lmPVwiKHNlYXJjaElucHV0ID8gc2VhcmNoRGF0YSA6IGxvY2FsRGF0YSkubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIHt7IHNlYXJjaElucHV0ID09PSBcIlwiID8gbm9EYXRhTWVzc2FnZSA6IFwiTm8gcmVzdWx0c1wiIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibG9jYWxEYXRhLmxlbmd0aCAhPT0gMFwiIGNsYXNzPVwiYWN0aW9ucy1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogY2FsYyg1MCUgLSA0cHgpXCI+XG4gICAgICAgIDxtaXMtYnV0dG9uIFtuYW1lXT1cIidSZXNldCdcIiBbdHlwZV09XCInVGV4dCdcIiBbd2lkdGhdPVwiJzEwMCUnXCIgKGNsaWNrKT1cIm9uUmVzZXQoKVwiPjwvbWlzLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiBjYWxjKDUwJSAtIDRweClcIj5cbiAgICAgICAgPG1pcy1idXR0b24gW25hbWVdPVwiJ0FwcGx5J1wiIFt0eXBlXT1cIidTb2xpZCdcIiBbd2lkdGhdPVwiJzEwMCUnXCIgKGNsaWNrKT1cImFwcGx5RmlsdGVycygpXCI+PC9taXMtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
516
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLW11bHRpLXNlbGVjdC1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9uZXN0ZWQtbXVsdGktc2VsZWN0LWRyb3Bkb3duL25lc3RlZC1tdWx0aS1zZWxlY3QtZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvbmVzdGVkLW11bHRpLXNlbGVjdC1kcm9wZG93bi9uZXN0ZWQtbXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsc0JBQXNCLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNlL0gsNEJBQWdFO0lBQzlELFlBQ0Y7SUFBQSxpQkFBSTs7O0lBREYsY0FDRjtJQURFLHFEQUNGOzs7O0lBaUNBLCtCQVFDO0lBQ0MsMkJBS0U7SUFDSixpQkFBTTs7Ozs7SUFhTiwrQkFTQztJQU5DLDJOQUFTLGtDQUEyQixLQUFDO0lBT3JDLDJCQUtFO0lBQ0osaUJBQU07Ozs7SUE3Q1IsK0JBQW9EO0lBQ2xELDZHQVFDO0lBUUQsaUNBV0U7SUFGQSxBQUZBLGtPQUFpQixrQ0FBMkIsS0FBQywrTEFFcEMsMEJBQW1CLElBQUksQ0FBQyxLQUFDO0lBVHBDLGlCQVdFO0lBQ0YsNkdBU0M7SUFRSCxpQkFBTTs7O0lBNUNELGNBQTJCO0lBQTNCLG1EQUEyQjtJQWdCNUIsY0FBdUI7SUFPdkIsQUFOQSxBQURBLDRDQUF1Qiw4TUFLckIsb0VBRTBEO0lBSzNE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O1lBRkMsQUFEQSw4SkFBZSxvQkFBZ0IsS0FBQyxxSUFDdkIsb0JBQWdCLEtBQUM7WUFJeEIsQUFERiw4QkFBbUIsV0FDRDtZQUFBLFlBQVc7WUFBQSxpQkFBSTtZQUMvQiwrRUFBZ0U7WUFHbEUsaUJBQU07O1lBQ04sOEJBUUM7WUFDQywwQkFLRTtZQUdSLEFBREUsQUFERSxpQkFBTSxFQUNGLEVBQ0Y7WUFDTixxSUFBNkI7O1lBckMzQixvSUFHRTtZQVFBLGNBQW1EO1lBQW5ELGlGQUFtRDtZQUdqQyxlQUFXO1lBQVgsK0JBQVc7WUFDdkIsY0FBNEM7WUFBNUMscUVBQTRDO1lBTWhELGNBQXFFO1lBQXJFLHFHQUFxRTs7O2lGRGQ5RCxrQ0FBa0M7Y0FMOUMsU0FBUzsyQkFDRSxrQ0FBa0M7Z0dBWS9CLElBQUk7a0JBQWhCLEtBQUs7WUFlRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFFRyxrQkFBa0I7a0JBQTFCLEtBQUs7WUFDRyxpQkFBaUI7a0JBQXpCLEtBQUs7WUFDRyxvQkFBb0I7a0JBQTVCLEtBQUs7WUFFRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csaUJBQWlCO2tCQUF6QixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNPLGFBQWE7a0JBQXpCLEtBQUs7WUFJSSxRQUFRO2tCQUFqQixNQUFNO1lBRWlDLGFBQWE7a0JBQXBELFNBQVM7bUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUNVLGNBQWM7a0JBQTdELFNBQVM7bUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztrRkF6Q25DLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlSZWYsIE92ZXJsYXksIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsIE92ZXJsYXlDb25maWcgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLW5lc3RlZC1tdWx0aS1zZWxlY3QtZHJvcGRvd25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9uZXN0ZWQtbXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9uZXN0ZWQtbXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZE11bHRpU2VsZWN0RHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzZWFyY2hJbnB1dDogc3RyaW5nID0gXCJcIjtcbiAgaXNPcGVuID0gZmFsc2U7XG4gIGxvY2FsU2VsZWN0ZWRJdGVtczogTmVzdGVkTXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXSA9IFtdO1xuICBsb2NhbERhdGE6IE5lc3RlZE11bHRpU2VsZWN0RHJvcGRvd25JdGVtW10gPSBbXTtcbiAgc2VhcmNoRGF0YTogTmVzdGVkTXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXSA9IFtdO1xuICBzZWxlY3RlZENvdW50OiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpIHNldCBkYXRhKHZhbHVlczogTmVzdGVkTXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXSkge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zaGFkb3dlZC12YXJpYWJsZVxuICAgIHRoaXMubG9jYWxEYXRhID0gdmFsdWVzLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLml0ZW0sXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlbi5tYXAoYSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmEsXG4gICAgICAgICAgICBjaGVja2VkOiBmYWxzZVxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSBcIlNlbGVjdFwiO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSBcIlwiO1xuXG4gIEBJbnB1dCgpIGRyb3Bkb3duTGlzdEhlaWdodDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgZHJvcGRvd25MaXN0V2lkdGg6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGRyb3Bkb3duTGlzdFBvc2l0aW9uOiBcIkxlZnRcIiB8IFwiUmlnaHRcIiA9IFwiTGVmdFwiO1xuXG4gIEBJbnB1dCgpIHNlYXJjaEVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93U2VsZWN0ZWRDb3VudDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBub0RhdGFNZXNzYWdlOiBzdHJpbmcgPSBcIk5vIERhdGFcIjtcbiAgQElucHV0KCkgc2V0IHNlbGVjdGVkSXRlbXModmFsdWVzOiBOZXN0ZWRNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdKSB7XG4gICAgdGhpcy5oYW5kbGVyU2V0TG9jYWxTZWxlY3RlZEl0ZW1zKHZhbHVlcyk7XG4gIH1cblxuICBAT3V0cHV0KCkgb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoXCJzZWxlY3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHNlbGVjdEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoXCJwb3B1cENvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgcG9wdXBDb250YWluZXI6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlUmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGhhbmRsZXJTZXRMb2NhbFNlbGVjdGVkSXRlbXModmFsdWVzKSB7XG4gICAgdGhpcy5sb2NhbFNlbGVjdGVkSXRlbXMgPSB2YWx1ZXM7XG4gIH1cbiAgaXNTZWFyY2hJbnB1dEZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VhcmNoSW5wdXRGb2N1c2VkKGlzRm9jdXNlZDogYm9vbGVhbikge1xuICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQgPSBpc0ZvY3VzZWQ7XG4gIH1cbiAgc2VhcmNoSW5wdXRDYW5jZWxlZChldmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBcIlwiO1xuICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQgPSBmYWxzZTtcbiAgfVxuICB0b2dnbGVEcm9wZG93bigpIHtcbiAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlbjtcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIHRoaXMuaGFuZGxlclNldExvY2FsU2VsZWN0ZWRJdGVtcyh0aGlzLmxvY2FsU2VsZWN0ZWRJdGVtcyk7XG4gICAgICB0aGlzLmxvY2FsRGF0YSA9IHRoaXMuZm9ybWF0VmFsdWVzKHRoaXMubG9jYWxEYXRhKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNPcGVuKSB0aGlzLm9wZW5Ecm9wZG93bih0aGlzLnBvcHVwQ29udGFpbmVyLCB0aGlzLnNlbGVjdEVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgZWxzZSB0aGlzLm9uQ2FuY2VsKCk7XG4gIH1cbiAgcHJpdmF0ZSBvcGVuRHJvcGRvd24odGVtcGxhdGU6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+LCBvcmlnaW46IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgcG9zaXRpb25zQm90dG9tID0gW1xuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcInN0YXJ0XCIsIG9yaWdpblk6IFwiYm90dG9tXCIgfSwgeyBvdmVybGF5WDogXCJzdGFydFwiLCBvdmVybGF5WTogXCJ0b3BcIiB9LCAwLCA0KSxcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJlbmRcIiwgb3JpZ2luWTogXCJib3R0b21cIiB9LCB7IG92ZXJsYXlYOiBcImVuZFwiLCBvdmVybGF5WTogXCJ0b3BcIiB9LCAwLCA0KVxuICAgIF07XG4gICAgY29uc3QgcG9zaXRpb25zVG9wID0gW1xuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcInN0YXJ0XCIsIG9yaWdpblk6IFwidG9wXCIgfSwgeyBvdmVybGF5WDogXCJzdGFydFwiLCBvdmVybGF5WTogXCJib3R0b21cIiB9LCAwLCAtNCksXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwiZW5kXCIsIG9yaWdpblk6IFwidG9wXCIgfSwgeyBvdmVybGF5WDogXCJlbmRcIiwgb3ZlcmxheVk6IFwiYm90dG9tXCIgfSwgMCwgLTQpXG4gICAgXTtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8ob3JpZ2luKVxuICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAuLi4odGhpcy5kcm9wZG93bkxpc3RQb3NpdGlvbiA9PT0gXCJSaWdodFwiID8gcG9zaXRpb25zQm90dG9tLnJldmVyc2UoKSA6IHBvc2l0aW9uc0JvdHRvbSksXG4gICAgICAgIC4uLih0aGlzLmRyb3Bkb3duTGlzdFBvc2l0aW9uID09PSBcIlJpZ2h0XCIgPyBwb3NpdGlvbnNUb3AucmV2ZXJzZSgpIDogcG9zaXRpb25zVG9wKVxuICAgICAgXSlcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcbiAgICBjb25zdCBjb25maWdzID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBiYWNrZHJvcENsYXNzOiBcImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCIsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHdpZHRoOiBvcmlnaW4uY2xpZW50V2lkdGhcbiAgICB9KTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKGNvbmZpZ3MpO1xuICAgIGlmICh0aGlzLmRyb3Bkb3duTGlzdFdpZHRoKSB0aGlzLm92ZXJsYXlSZWYudXBkYXRlU2l6ZSh7IHdpZHRoOiB0aGlzLmRyb3Bkb3duTGlzdFdpZHRoIH0pO1xuICAgIGlmICh0aGlzLmRyb3Bkb3duTGlzdEhlaWdodCkgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVNpemUoeyBoZWlnaHQ6IHRoaXMuZHJvcGRvd25MaXN0SGVpZ2h0IH0pO1xuICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgdGhpcy5vbkNhbmNlbCgpO1xuICAgIH0pO1xuICB9XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIGZpbHRlckJ5VmFsdWUoYXJyYXk6IE5lc3RlZE11bHRpU2VsZWN0RHJvcGRvd25JdGVtW10sIHN0cmluZzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGFycmF5XG4gICAgICAuZmlsdGVyKFxuICAgICAgICBvID0+IG8ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzdHJpbmcudG9Mb3dlckNhc2UoKSkgfHwgby5jaGlsZHJlbj8uc29tZShnID0+IGc/LmxhYmVsPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHN0cmluZy50b0xvd2VyQ2FzZSgpKSlcbiAgICAgIClcbiAgICAgIC5tYXAodiA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4udixcbiAgICAgICAgICBjaGlsZHJlbjogdj8uY2hpbGRyZW4/LmZpbHRlcihsID0+IGw/LmxhYmVsPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHN0cmluZy50b0xvd2VyQ2FzZSgpKSlcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICB9XG4gIHNlYXJjaElucHV0T25DaGFuZ2UobmV3VmFsdWUpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0ID0gbmV3VmFsdWU7XG4gICAgaWYgKG5ld1ZhbHVlKSB7XG4gICAgICB0aGlzLnNlYXJjaERhdGEgPSB0aGlzLmZpbHRlckJ5VmFsdWUodGhpcy5sb2NhbERhdGEsIG5ld1ZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWFyY2hEYXRhID0gW107XG4gICAgICB0aGlzLnNlYXJjaElucHV0ID0gXCJcIjtcbiAgICB9XG4gIH1cbiAgZm9ybWF0VmFsdWVzKGFycmF5OiBOZXN0ZWRNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdKSB7XG4gICAgY29uc3QgY2hlY2tlZFZhbHVlcyA9IGFycmF5XG4gICAgICAuZmlsdGVyKGEgPT4gYS5jaGVja2VkKVxuICAgICAgLnNvcnQoKGE6IE5lc3RlZE11bHRpU2VsZWN0RHJvcGRvd25JdGVtLCBiOiBOZXN0ZWRNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSkgPT4gKGEubGFiZWwgPiBiLmxhYmVsID8gMSA6IGIubGFiZWwgPiBhLmxhYmVsID8gLTEgOiAwKSk7XG4gICAgY29uc3QgdW5DaGVja2VkVmFsdWVzID0gYXJyYXlcbiAgICAgIC5maWx0ZXIoYSA9PiAhYS5jaGVja2VkKVxuICAgICAgLnNvcnQoKGE6IE5lc3RlZE11bHRpU2VsZWN0RHJvcGRvd25JdGVtLCBiOiBOZXN0ZWRNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSkgPT4gKGEubGFiZWwgPiBiLmxhYmVsID8gMSA6IGIubGFiZWwgPiBhLmxhYmVsID8gLTEgOiAwKSk7XG4gICAgcmV0dXJuIFsuLi5jaGVja2VkVmFsdWVzLCAuLi51bkNoZWNrZWRWYWx1ZXNdO1xuICB9XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zaGFkb3dlZC12YXJpYWJsZVxuICB0b2dnbGVTZWxlY3RlZEl0ZW1zKGV2ZW50LCBpdGVtOiBOZXN0ZWRNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSwgY0l0ZW0/OiBhbnkpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAoIWNJdGVtKSB7XG4gICAgICBpZiAoaXRlbS5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMubG9jYWxEYXRhID0gW1xuICAgICAgICAgIC4uLnRoaXMubG9jYWxEYXRhLm1hcChhID0+IHtcbiAgICAgICAgICAgIGlmIChhLnZhbHVlID09PSBpdGVtLnZhbHVlKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uYSxcbiAgICAgICAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tc2hhZG93ZWQtdmFyaWFibGVcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlbi5tYXAoYSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5hLFxuICAgICAgICAgICAgICAgICAgICBjaGVja2VkOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGE7XG4gICAgICAgICAgfSlcbiAgICAgICAgXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9jYWxEYXRhID0gW1xuICAgICAgICAgIC4uLnRoaXMubG9jYWxEYXRhLm1hcChhID0+IHtcbiAgICAgICAgICAgIGlmIChhLnZhbHVlID09PSBpdGVtLnZhbHVlKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uYSxcbiAgICAgICAgICAgICAgICBjaGVja2VkOiB0cnVlLFxuICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zaGFkb3dlZC12YXJpYWJsZVxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBpdGVtLmNoaWxkcmVuLm1hcChhID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmEsXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ6IHRydWVcbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhO1xuICAgICAgICAgIH0pXG4gICAgICAgIF07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChjSXRlbS5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMubG9jYWxEYXRhID0gW1xuICAgICAgICAgIC4uLnRoaXMubG9jYWxEYXRhLm1hcChhID0+IHtcbiAgICAgICAgICAgIGlmIChhLnZhbHVlID09PSBpdGVtLnZhbHVlKSB7XG4gICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zaGFkb3dlZC12YXJpYWJsZVxuICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGE/LmNoaWxkcmVuLm1hcChhID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY0l0ZW0/LnZhbHVlID09PSBhPy52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYSxcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogZmFsc2VcbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBhO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5hLFxuICAgICAgICAgICAgICAgIGNoZWNrZWQ6IGNoaWxkcmVuLmV2ZXJ5KHEgPT4gcS5jaGVja2VkKSxcbiAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tc2hhZG93ZWQtdmFyaWFibGVcbiAgICAgICAgICAgICAgICBjaGlsZHJlblxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGE7XG4gICAgICAgICAgfSlcbiAgICAgICAgXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9jYWxEYXRhID0gW1xuICAgICAgICAgIC4uLnRoaXMubG9jYWxEYXRhLm1hcChhID0+IHtcbiAgICAgICAgICAgIGlmIChhLnZhbHVlID09PSBpdGVtLnZhbHVlKSB7XG4gICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zaGFkb3dlZC12YXJpYWJsZVxuICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGE/LmNoaWxkcmVuLm1hcChhID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY0l0ZW0/LnZhbHVlID09PSBhPy52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYSxcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGE7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmEsXG4gICAgICAgICAgICAgICAgY2hlY2tlZDogY2hpbGRyZW4uZXZlcnkocSA9PiBxLmNoZWNrZWQpLFxuICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zaGFkb3dlZC12YXJpYWJsZVxuICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYTtcbiAgICAgICAgICB9KVxuICAgICAgICBdO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5zZWFyY2hFbmFibGVkKSB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0T25DaGFuZ2UodGhpcy5zZWFyY2hJbnB1dCk7XG4gICAgfVxuICB9XG5cbiAgYXBwbHlGaWx0ZXJzKCkge1xuICAgIGxldCBsb2NhbENvdW50ID0gMDtcbiAgICB0aGlzLmxvY2FsRGF0YS5mb3JFYWNoKGEgPT5cbiAgICAgIGE/LmNoaWxkcmVuPy5mb3JFYWNoKGIgPT4ge1xuICAgICAgICBpZiAoYi5jaGVja2VkKSB7XG4gICAgICAgICAgbG9jYWxDb3VudCArPSAxO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZENvdW50ID0gbG9jYWxDb3VudDtcbiAgICBjb25zdCB3ID0gdGhpcy5sb2NhbERhdGFcbiAgICAgIC5maWx0ZXIociA9PiAhKCFyLmNoZWNrZWQgJiYgIXI/LmNoaWxkcmVuPy5zb21lKGYgPT4gZj8uY2hlY2tlZCkpKVxuICAgICAgLm1hcChhID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5hLFxuICAgICAgICAgIGNoaWxkcmVuOiBhPy5jaGlsZHJlbj8uZmlsdGVyKHMgPT4gcy5jaGVja2VkKVxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHcpO1xuICAgIHRoaXMub25DYW5jZWwoKTtcbiAgfVxuICBvblJlc2V0KCkge1xuICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQgPSBmYWxzZTtcbiAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMubG9jYWxEYXRhKSB7XG4gICAgICBmb3IgKGxldCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgIGNoaWxkLmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGl0ZW0uY2hlY2tlZCA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoW10pO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5zZWFyY2hJbnB1dCA9IFwiXCI7XG4gIH1cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICB0aGlzLnNlYXJjaElucHV0ID0gXCJcIjtcbiAgfVxufVxuZXhwb3J0IGludGVyZmFjZSBOZXN0ZWRNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGNoZWNrZWQ/OiBib29sZWFuO1xuICBpY29uPzogc3RyaW5nO1xuICBjaGlsZHJlbjogQXJyYXk8e1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBjaGVja2VkPzogYm9vbGVhbjtcbiAgICBpY29uPzogc3RyaW5nO1xuICB9Pjtcbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJjb250YWluZXJcIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgaGVpZ2h0OiBoZWlnaHQubGVuZ3RoID4gMCA/IGhlaWdodCA6ICcnLFxuICAgIHdpZHRoOiB3aWR0aC5sZW5ndGggPiAwID8gd2lkdGggOiAnJ1xuICB9XCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZHJvcGRvd25cIlxuICAgICNzZWxlY3RcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIChrZXl1cC5lbnRlcik9XCJ0b2dnbGVEcm9wZG93bigpXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oKVwiXG4gICAgW25nU3R5bGVdPVwieyBiYWNrZ3JvdW5kOiBpc09wZW4gPyAnI0U2RUJGNycgOiAnJyB9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0XCI+e3sgbGFiZWwgfX08L3A+XG4gICAgICA8cCAqbmdJZj1cInNob3dTZWxlY3RlZENvdW50ICYmIHNlbGVjdGVkQ291bnQgPiAwXCIgY2xhc3M9XCJjb3VudFwiPlxuICAgICAgICB7eyBzZWxlY3RlZENvdW50IH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPHN2Z1xuICAgICAgY2xhc3M9XCJoYW5kbGVcIlxuICAgICAgW25nU3R5bGVdPVwieyB0cmFuc2Zvcm06IGlzT3BlbiA/ICdyb3RhdGUoMTgwZGVnKScgOiAncm90YXRlKDBkZWcpJyB9XCJcbiAgICAgIHdpZHRoPVwiMjBcIlxuICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGQ9XCJNMTMuODI1IDcuMTU4NDVMMTAgMTAuOTc1MUw2LjE3NSA3LjE1ODQ1TDUgOC4zMzM0NUwxMCAxMy4zMzM0TDE1IDguMzMzNDVMMTMuODI1IDcuMTU4NDVaXCJcbiAgICAgICAgZmlsbD1cIiMxODFGMzNcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcG9wdXBDb250YWluZXI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInBvcHVwLWNvbnRhaW5lclwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgaGVpZ2h0OiBkcm9wZG93bkxpc3RIZWlnaHQsXG4gICAgICB3aWR0aDogZHJvcGRvd25MaXN0V2lkdGhcbiAgICB9XCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAncG9zaXRpb24tbGVmdCc6IGRyb3Bkb3duTGlzdFBvc2l0aW9uID09PSAnTGVmdCcsXG4gICAgICAncG9zaXRpb24tcmlnaHQnOiBkcm9wZG93bkxpc3RQb3NpdGlvbiA9PT0gJ1JpZ2h0J1xuICAgIH1cIlxuICA+XG4gICAgPGRpdiAqbmdJZj1cInNlYXJjaEVuYWJsZWRcIiBjbGFzcz1cInNlYXJjaC1jb250YWluZXJcIj5cbiAgICAgIDxzdmdcbiAgICAgICAgKm5nSWY9XCIhaXNTZWFyY2hJbnB1dEZvY3VzZWRcIlxuICAgICAgICBjbGFzcz1cInNlYXJjaC1pY29uXCJcbiAgICAgICAgd2lkdGg9XCIyNFwiXG4gICAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICA+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgZD1cIk00LjIxNTA4IDExLjE0NTZDNC4yMTUwOCA3LjMxNzkgNy4zMzcyMiA0LjIxMTY1IDExLjE5MjYgNC4yMTE2NUMxNS4wNDggNC4yMTE2NSAxOC4xNzAyIDcuMzE3OSAxOC4xNzAyIDExLjE0NTZDMTguMTcwMiAxMi42OTMxIDE3LjY1OTkgMTQuMTIyNiAxNi43OTcyIDE1LjI3NjdMMTUuMzY4NSAxNi43MDEzQzE0LjIwNDQgMTcuNTY2OCAxMi43NTkgMTguMDc5NiAxMS4xOTI2IDE4LjA3OTZDNy4zMzcyMiAxOC4wNzk2IDQuMjE1MDggMTQuOTczNCA0LjIxNTA4IDExLjE0NTZaTTE1Ljk0MjEgMTcuNzgzNUMxNC42MDIxIDE4LjczMjkgMTIuOTYyNyAxOS4yOTEzIDExLjE5MjYgMTkuMjkxM0M2LjY2OTc3IDE5LjI5MTMgMyAxNS42NDYxIDMgMTEuMTQ1NkMzIDYuNjQ1MTIgNi42Njk3NyAzIDExLjE5MjYgM0MxNS43MTU1IDMgMTkuMzg1MiA2LjY0NTEyIDE5LjM4NTIgMTEuMTQ1NkMxOS4zODUyIDEyLjkzNzEgMTguODAzNyAxNC41OTMxIDE3LjgxODQgMTUuOTM3NUwxOS44MzYxIDE3LjQwNDhDMjAuNjcwNSAxNy45MTIgMjEuNzU1NCAxOC42NTQzIDIwLjI0NTQgMjAuMjE1QzE4LjczNTMgMjEuNzc1NiAxOC4wMDk5IDIwLjY2NjMgMTcuNDk5MSAxOS44MzY0TDE1Ljk0MjEgMTcuNzgzNVpcIlxuICAgICAgICAgIGZpbGw9XCIjNkE3MzdEXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPGlucHV0XG4gICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaElucHV0XCJcbiAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgIHBhZGRpbmdMZWZ0OiBpc1NlYXJjaElucHV0Rm9jdXNlZCA/ICcxMnB4JyA6ICc0NXB4JyxcbiAgICAgICAgICBib3JkZXI6IGlzU2VhcmNoSW5wdXRGb2N1c2VkID8gJzFweCBzb2xpZCAjMDkzN0IyJyA6ICcxcHggc29saWQgI2UwZTBlMCcsXG4gICAgICAgICAgcGFkZGluZ1JpZ2h0OiBpc1NlYXJjaElucHV0Rm9jdXNlZCA/ICc0NXB4JyA6ICcxMHB4J1xuICAgICAgICB9XCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoSW5wdXRPbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImlzU2VhcmNoSW5wdXRGb2N1c2VkID8gJycgOiAnU2VhcmNoIEtleXdvcmQnXCJcbiAgICAgICAgKGZvY3VzKT1cInNlYXJjaElucHV0Rm9jdXNlZCh0cnVlKVwiXG4gICAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCJcbiAgICAgIC8+XG4gICAgICA8c3ZnXG4gICAgICAgICpuZ0lmPVwiaXNTZWFyY2hJbnB1dEZvY3VzZWRcIlxuICAgICAgICBjbGFzcz1cImNhbmNlbC1pY29uXCJcbiAgICAgICAgKGNsaWNrKT1cInNlYXJjaElucHV0Q2FuY2VsZWQoJGV2ZW50KVwiXG4gICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGQ9XCJNOC44NzQ0NiA3LjMyMTQ0QzguNDQ1ODggNi44OTI4NSA3Ljc1MSA2Ljg5Mjg1IDcuMzIyNDIgNy4zMjE0NEM2Ljg5MzgzIDcuNzUwMDIgNi44OTM4MyA4LjQ0NDkgNy4zMjI0MiA4Ljg3MzQ5TDEwLjQ0ODggMTEuOTk5OUw3LjMyMzU3IDE1LjEyNTJDNi44OTQ5OCAxNS41NTM4IDYuODk0OTggMTYuMjQ4NiA3LjMyMzU3IDE2LjY3NzJDNy43NTIxNSAxNy4xMDU4IDguNDQ3MDMgMTcuMTA1OCA4Ljg3NTYxIDE2LjY3NzJMMTIuMDAwOSAxMy41NTJMMTUuMTI2MSAxNi42NzcyQzE1LjU1NDcgMTcuMTA1OCAxNi4yNDk2IDE3LjEwNTggMTYuNjc4MSAxNi42NzcyQzE3LjEwNjcgMTYuMjQ4NiAxNy4xMDY3IDE1LjU1MzcgMTYuNjc4MSAxNS4xMjUxTDEzLjU1MjkgMTEuOTk5OUwxNi42NzkzIDguODczNTRDMTcuMTA3OSA4LjQ0NDk2IDE3LjEwNzkgNy43NTAwOCAxNi42NzkzIDcuMzIxNUMxNi4yNTA3IDYuODkyOTEgMTUuNTU1OCA2Ljg5MjkxIDE1LjEyNzMgNy4zMjE1TDEyLjAwMDkgMTAuNDQ3OUw4Ljg3NDQ2IDcuMzIxNDRaXCJcbiAgICAgICAgICBmaWxsPVwiIzZBNzM3RFwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cInRvZ2dsZVNlbGVjdGVkSXRlbXMoJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVTZWxlY3RlZEl0ZW1zKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZWFyY2hJbnB1dCA/IHNlYXJjaERhdGEgOiBsb2NhbERhdGFcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1jb250YWluZXItd3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8bWlzLWNoZWNrYm94IFtjaGVja2VkXT1cIml0ZW0uY2hlY2tlZFwiPjwvbWlzLWNoZWNrYm94PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiAqbmdJZj1cIml0ZW0uaWNvblwiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cImljb25cIiBbc3JjXT1cIml0ZW0uaWNvblwiIGFsdD1cIm5vIGltZ1wiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbT8uY2hpbGRyZW4/Lmxlbmd0aCA+IDBcIiBjbGFzcz1cIml0ZW1zIHN1YlwiIFtuZ1N0eWxlXT1cInsncGFkZGluZy1yaWdodCc6ICcwJ31cIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cIml0ZW1cIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJ0b2dnbGVTZWxlY3RlZEl0ZW1zKCRldmVudCwgaXRlbSwgY0l0ZW0pXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTZWxlY3RlZEl0ZW1zKCRldmVudCwgaXRlbSwgY0l0ZW0pXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjSXRlbSBvZiBpdGVtPy5jaGlsZHJlblwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWNvbnRhaW5lci13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8bWlzLWNoZWNrYm94IFtjaGVja2VkXT1cImNJdGVtLmNoZWNrZWRcIj48L21pcy1jaGVja2JveD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7eyBjSXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiICpuZ0lmPVwiY0l0ZW0uaWNvblwiPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaWNvblwiIFtzcmNdPVwiY0l0ZW0uaWNvblwiIGFsdD1cIm5vIGltZ1wiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJub0RhdGFcIiAqbmdJZj1cIihzZWFyY2hJbnB1dCA/IHNlYXJjaERhdGEgOiBsb2NhbERhdGEpLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICB7eyBzZWFyY2hJbnB1dCA9PT0gXCJcIiA/IG5vRGF0YU1lc3NhZ2UgOiBcIk5vIHJlc3VsdHNcIiB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImxvY2FsRGF0YS5sZW5ndGggIT09IDBcIiBjbGFzcz1cImFjdGlvbnMtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsnd2lkdGgnOiAnY2FsYyg1MCUgLSA0cHgpJ31cIj5cbiAgICAgICAgPG1pcy1idXR0b24gW25hbWVdPVwiJ1Jlc2V0J1wiIFt0eXBlXT1cIidUZXh0J1wiIFt3aWR0aF09XCInMTAwJSdcIiAoY2xpY2spPVwib25SZXNldCgpXCI+PC9taXMtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsnd2lkdGgnOiAnY2FsYyg1MCUgLSA0cHgpJ31cIj5cbiAgICAgICAgPG1pcy1idXR0b24gW25hbWVdPVwiJ0FwcGx5J1wiIFt0eXBlXT1cIidTb2xpZCdcIiBbd2lkdGhdPVwiJzEwMCUnXCIgKGNsaWNrKT1cImFwcGx5RmlsdGVycygpXCI+PC9taXMtYnV0dG9uPlxuICAgICAgPC9kaXY+ICAgICAgXG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,6 +1,5 @@
1
1
  import { Component, EventEmitter, Input, Output } from "@angular/core";
2
- import { UntypedFormControl } from "@angular/forms";
3
- import { parsePhoneNumberFromString, getCountryCallingCode, getCountries } from 'libphonenumber-js';
2
+ import { FormControl } from "@angular/forms";
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "@angular/common";
6
5
  import * as i2 from "@angular/forms";
@@ -8,59 +7,22 @@ import * as i3 from "mis-crystal-design-system/dropdown";
8
7
  const _c0 = a0 => ({ "height": a0 });
9
8
  export class PhoneInputComponent {
10
9
  constructor() {
11
- this.dropdownHeight = "";
12
- this.dropdownWidth = "";
13
10
  this.dropdownData = [];
14
11
  this.dropdownSelectedItem = { value: "", label: "" };
15
- this.defaultCountryCode = 'IN';
16
12
  this.inputPlaceholder = 'Enter';
17
- this.inputFormControl = new UntypedFormControl();
13
+ this.inputFormControl = new FormControl();
18
14
  this.onDropdownSelection = new EventEmitter();
19
- this.onInvalidPhoneNumber = new EventEmitter();
20
- this.dropdownListWidth = "";
21
- this.dropdownListHeight = "";
22
- this.searchEnabled = true;
15
+ this.searchEnabled = false;
23
16
  this.inputType = "number";
24
17
  this.searchLabel = "Search Keyword";
25
- this.phoneValidator = false;
26
- this.countryCodes = [{ label: '', value: '' }];
27
- this.selectedCountryName = '';
28
18
  }
29
19
  ngOnInit() {
30
- if (this.phoneValidator) {
31
- this.loadCountryCodes();
32
- this.dropdownData = this.countryCodes;
33
- this.selectedCountryName = this.dropdownSelectedItem.label;
34
- }
35
- if (this.defaultCountryCode) {
36
- const selectedCountry = this.dropdownData.find(country => country.value.toUpperCase() === this.defaultCountryCode.toUpperCase());
37
- if (selectedCountry) {
38
- this.dropdownSelectedItem = selectedCountry;
39
- this.selectedCountryName = selectedCountry.label;
40
- }
41
- }
42
20
  }
43
21
  handleDropdownSelection(item) {
44
- this.dropdownSelectedItem = item;
45
22
  this.onDropdownSelection.emit(item);
46
- this.selectedCountryName = item.label;
47
- this.validatePhoneNumber(this.inputFormControl.value, this.dropdownSelectedItem.value);
48
- }
49
- loadCountryCodes() {
50
- const countries = getCountries();
51
- this.countryCodes = countries.map(countryCode => ({
52
- value: countryCode,
53
- label: `${countryCode} (+${getCountryCallingCode(countryCode)})`
54
- }));
55
- }
56
- validatePhoneNumber(phoneNumber, countryCode) {
57
- const parsedPhoneNumber = parsePhoneNumberFromString(phoneNumber, countryCode);
58
- if (!parsedPhoneNumber || !parsedPhoneNumber.isValid()) {
59
- this.onInvalidPhoneNumber.emit(`Phone number is invalid for ${this.selectedCountryName}`);
60
- }
61
23
  }
62
24
  static { this.ɵfac = function PhoneInputComponent_Factory(t) { return new (t || PhoneInputComponent)(); }; }
63
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PhoneInputComponent, selectors: [["mis-phone-input"]], inputs: { dropdownHeight: "dropdownHeight", dropdownWidth: "dropdownWidth", inputHeight: "inputHeight", dropdownData: "dropdownData", dropdownSelectedItem: "dropdownSelectedItem", defaultCountryCode: "defaultCountryCode", label: "label", inputPlaceholder: "inputPlaceholder", inputFormControl: "inputFormControl", dropdownListWidth: "dropdownListWidth", dropdownListHeight: "dropdownListHeight", searchEnabled: "searchEnabled", inputType: "inputType", searchLabel: "searchLabel", phoneValidator: "phoneValidator" }, outputs: { onDropdownSelection: "onDropdownSelection", onInvalidPhoneNumber: "onInvalidPhoneNumber" }, decls: 5, vars: 16, consts: [[1, "main-container-phone"], [3, "onChange", "height", "dropdownListWidth", "dropdownListHeight", "width", "data", "selectedItem", "label", "searchEnabled", "multiLine", "searchLabel"], [1, "details-field"], [1, "input-box"], [1, "black-text", 3, "ngStyle", "placeholder", "formControl", "type"]], template: function PhoneInputComponent_Template(rf, ctx) { if (rf & 1) {
25
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PhoneInputComponent, selectors: [["mis-phone-input"]], inputs: { dropdownHeight: "dropdownHeight", dropdownWidth: "dropdownWidth", inputHeight: "inputHeight", dropdownData: "dropdownData", dropdownSelectedItem: "dropdownSelectedItem", label: "label", inputPlaceholder: "inputPlaceholder", inputFormControl: "inputFormControl", dropdownListWidth: "dropdownListWidth", dropdownListHeight: "dropdownListHeight", searchEnabled: "searchEnabled", inputType: "inputType", searchLabel: "searchLabel" }, outputs: { onDropdownSelection: "onDropdownSelection" }, decls: 5, vars: 16, consts: [[1, "main-container-phone"], [3, "onChange", "height", "dropdownListWidth", "dropdownListHeight", "width", "data", "selectedItem", "label", "searchEnabled", "multiLine", "searchLabel"], [1, "details-field"], [1, "input-box"], [1, "black-text", 3, "ngStyle", "placeholder", "formControl", "type"]], template: function PhoneInputComponent_Template(rf, ctx) { if (rf & 1) {
64
26
  i0.ɵɵelementStart(0, "div", 0)(1, "mis-dropdown", 1);
65
27
  i0.ɵɵlistener("onChange", function PhoneInputComponent_Template_mis_dropdown_onChange_1_listener($event) { return ctx.handleDropdownSelection($event); });
66
28
  i0.ɵɵelementEnd();
@@ -76,7 +38,7 @@ export class PhoneInputComponent {
76
38
  }
77
39
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PhoneInputComponent, [{
78
40
  type: Component,
79
- args: [{ selector: "mis-phone-input", template: "<div class=\"main-container-phone\">\n <mis-dropdown [height]=\"dropdownHeight\" [dropdownListWidth]=\"dropdownListWidth\"[dropdownListHeight]=\"dropdownListHeight\" [width]=\"dropdownWidth\" [data]=\"dropdownData\" [selectedItem]=\"dropdownSelectedItem\" [label]=\"label\" [searchEnabled]=\"searchEnabled\" [multiLine]=\"false\" (onChange)=\"handleDropdownSelection($event)\" [searchLabel]=\"searchLabel\"></mis-dropdown>\n <div class=\"details-field\">\n <div class=\"input-box\">\n <input\n [ngStyle]=\"{'height': inputHeight }\"\n class=\"black-text\" \n [placeholder]=\"inputPlaceholder\"\n [formControl]=\"inputFormControl\" \n [type]=\"inputType\"\n />\n </div>\n </div>\n</div>\n", styles: [".main-container-phone{display:flex;border:1px solid #E0E0E0;border-radius:6px}.details-field label{display:inline-block;min-width:224px;margin-right:24px}.details-field .input-box{width:100%}.details-field .input-box input{width:100%;height:32px}input{padding:10px 16px;border:none;outline:none;color:#181f33;line-height:24px;font-size:16px;width:100%;height:auto;border-radius:6px}.black-text{color:#181f33;font-size:16px;line-height:24px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.main-container-phone ::ng-deep .item{padding:8px!important}.main-container-phone ::ng-deep .dropdown{border:unset!important}\n"] }]
41
+ args: [{ selector: "mis-phone-input", template: "<div class=\"main-container-phone\">\n <mis-dropdown [height]=\"dropdownHeight\" [dropdownListWidth]=\"dropdownListWidth\"[dropdownListHeight]=\"dropdownListHeight\" [width]=\"dropdownWidth\" [data]=\"dropdownData\" [selectedItem]=\"dropdownSelectedItem\" [label]=\"label\" [searchEnabled]=\"searchEnabled\" [multiLine]=\"false\" (onChange)=\"handleDropdownSelection($event)\" [searchLabel]=\"searchLabel\"></mis-dropdown>\n <div class=\"details-field\">\n <div class=\"input-box\">\n <input\n [ngStyle]=\"{'height': inputHeight }\"\n class=\"black-text\"\n [placeholder]=\"inputPlaceholder\"\n [formControl]=\"inputFormControl\" \n [type]=\"inputType\"\n />\n </div>\n </div>\n</div>\n", styles: [".main-container-phone{display:flex;border:1px solid #E0E0E0;border-radius:6px}.details-field label{display:inline-block;min-width:224px;margin-right:24px}.details-field .input-box{width:100%}.details-field .input-box input{width:100%;height:32px}input{padding:10px 16px;border:none;outline:none;color:#181f33;line-height:24px;font-size:16px;width:100%;height:auto;border-radius:6px}.black-text{color:#181f33;font-size:16px;line-height:24px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.main-container-phone ::ng-deep .item{padding:8px!important}.main-container-phone ::ng-deep .dropdown{border:unset!important}\n"] }]
80
42
  }], () => [], { dropdownHeight: [{
81
43
  type: Input
82
44
  }], dropdownWidth: [{
@@ -87,8 +49,6 @@ export class PhoneInputComponent {
87
49
  type: Input
88
50
  }], dropdownSelectedItem: [{
89
51
  type: Input
90
- }], defaultCountryCode: [{
91
- type: Input
92
52
  }], label: [{
93
53
  type: Input
94
54
  }], inputPlaceholder: [{
@@ -97,8 +57,6 @@ export class PhoneInputComponent {
97
57
  type: Input
98
58
  }], onDropdownSelection: [{
99
59
  type: Output
100
- }], onInvalidPhoneNumber: [{
101
- type: Output
102
60
  }], dropdownListWidth: [{
103
61
  type: Input
104
62
  }], dropdownListHeight: [{
@@ -109,8 +67,6 @@ export class PhoneInputComponent {
109
67
  type: Input
110
68
  }], searchLabel: [{
111
69
  type: Input
112
- }], phoneValidator: [{
113
- type: Input
114
70
  }] }); })();
115
71
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PhoneInputComponent, { className: "PhoneInputComponent" }); })();
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvcGhvbmUtaW5wdXQvcGhvbmUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvcGhvbmUtaW5wdXQvcGhvbmUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUscUJBQXFCLEVBQWUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQVFqSCxNQUFNLE9BQU8sbUJBQW1CO0lBdUI5QjtRQXRCUyxtQkFBYyxHQUFZLEVBQUUsQ0FBQztRQUM3QixrQkFBYSxHQUFZLEVBQUUsQ0FBQztRQUU1QixpQkFBWSxHQUFtQixFQUFFLENBQUM7UUFDbEMseUJBQW9CLEdBQWlCLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDOUQsdUJBQWtCLEdBQVksSUFBSSxDQUFDO1FBRW5DLHFCQUFnQixHQUFXLE9BQU8sQ0FBQztRQUNuQyxxQkFBZ0IsR0FBdUIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQy9ELHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDOUMseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNuRCxzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDdkIsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBQzlCLGNBQVMsR0FBVyxRQUFRLENBQUM7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Q0FDQSx1QkFDZDs7O2lGRENiLG1CQUFtQjtjQUwvQixTQUFTOzJCQUNFLGlCQUFpQjtvQkFLbEIsY0FBYztrQkFBdEIsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLG9CQUFvQjtrQkFBNUIsS0FBSztZQUNHLGtCQUFrQjtrQkFBMUIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUNJLG1CQUFtQjtrQkFBNUIsTUFBTTtZQUNHLG9CQUFvQjtrQkFBN0IsTUFBTTtZQUNFLGlCQUFpQjtrQkFBekIsS0FBSztZQUNHLGtCQUFrQjtrQkFBMUIsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7O2tGQWpCSyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgcGFyc2VQaG9uZU51bWJlckZyb21TdHJpbmcsIGdldENvdW50cnlDYWxsaW5nQ29kZSwgQ291bnRyeUNvZGUsIGdldENvdW50cmllcyB9IGZyb20gJ2xpYnBob25lbnVtYmVyLWpzJztcbmltcG9ydCB7IERyb3Bkb3duSXRlbSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL2Ryb3Bkb3duXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtcGhvbmUtaW5wdXRcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9waG9uZS1pbnB1dC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vcGhvbmUtaW5wdXQuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgUGhvbmVJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRyb3Bkb3duSGVpZ2h0Pzogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgZHJvcGRvd25XaWR0aD86IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGlucHV0SGVpZ2h0PztcbiAgQElucHV0KCkgZHJvcGRvd25EYXRhOiBEcm9wZG93bkl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBkcm9wZG93blNlbGVjdGVkSXRlbTogRHJvcGRvd25JdGVtID0geyB2YWx1ZTogXCJcIiwgbGFiZWw6IFwiXCIgfTtcbiAgQElucHV0KCkgZGVmYXVsdENvdW50cnlDb2RlPzogc3RyaW5nID0gJ0lOJztcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgaW5wdXRQbGFjZWhvbGRlcjogc3RyaW5nID0gJ0VudGVyJztcbiAgQElucHV0KCkgaW5wdXRGb3JtQ29udHJvbDogVW50eXBlZEZvcm1Db250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpO1xuICBAT3V0cHV0KCkgb25Ecm9wZG93blNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25JbnZhbGlkUGhvbmVOdW1iZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQElucHV0KCkgZHJvcGRvd25MaXN0V2lkdGggPSBcIlwiO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RIZWlnaHQgPSBcIlwiO1xuICBASW5wdXQoKSBzZWFyY2hFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgaW5wdXRUeXBlOiBzdHJpbmcgPSBcIm51bWJlclwiO1xuICBASW5wdXQoKSBzZWFyY2hMYWJlbDogc3RyaW5nID0gXCJTZWFyY2ggS2V5d29yZFwiOyAgXG4gIEBJbnB1dCgpIHBob25lVmFsaWRhdG9yPyA9IGZhbHNlO1xuICBcbiAgY291bnRyeUNvZGVzOiBEcm9wZG93bkl0ZW1bXSA9IFt7bGFiZWw6JycsdmFsdWU6Jyd9XTtcbiAgY291bnRyeUNvZGU6IENvdW50cnlDb2RlIHwgdW5kZWZpbmVkO1xuICBzZWxlY3RlZENvdW50cnlOYW1lOiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucGhvbmVWYWxpZGF0b3IpIHtcbiAgICAgIHRoaXMubG9hZENvdW50cnlDb2RlcygpO1xuICAgICAgdGhpcy5kcm9wZG93bkRhdGEgPSB0aGlzLmNvdW50cnlDb2RlcztcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5TmFtZSA9IHRoaXMuZHJvcGRvd25TZWxlY3RlZEl0ZW0ubGFiZWw7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGVmYXVsdENvdW50cnlDb2RlKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZENvdW50cnkgPSB0aGlzLmRyb3Bkb3duRGF0YS5maW5kKFxuICAgICAgICBjb3VudHJ5ID0+IGNvdW50cnkudmFsdWUudG9VcHBlckNhc2UoKSA9PT0gdGhpcy5kZWZhdWx0Q291bnRyeUNvZGUudG9VcHBlckNhc2UoKVxuICAgICAgKTtcbiAgICAgIGlmIChzZWxlY3RlZENvdW50cnkpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93blNlbGVjdGVkSXRlbSA9IHNlbGVjdGVkQ291bnRyeTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnlOYW1lID0gc2VsZWN0ZWRDb3VudHJ5LmxhYmVsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZURyb3Bkb3duU2VsZWN0aW9uKGl0ZW06IERyb3Bkb3duSXRlbSl7XG4gICAgdGhpcy5kcm9wZG93blNlbGVjdGVkSXRlbSA9IGl0ZW07XG4gICAgdGhpcy5vbkRyb3Bkb3duU2VsZWN0aW9uLmVtaXQoaXRlbSk7XG4gICAgdGhpcy5zZWxlY3RlZENvdW50cnlOYW1lID0gaXRlbS5sYWJlbDtcbiAgICB0aGlzLnZhbGlkYXRlUGhvbmVOdW1iZXIodGhpcy5pbnB1dEZvcm1Db250cm9sLnZhbHVlLCB0aGlzLmRyb3Bkb3duU2VsZWN0ZWRJdGVtLnZhbHVlKTtcbiAgfVxuXG4gIGxvYWRDb3VudHJ5Q29kZXMoKSB7XG4gICAgY29uc3QgY291bnRyaWVzID0gZ2V0Q291bnRyaWVzKCk7XG4gICAgdGhpcy5jb3VudHJ5Q29kZXMgPSBjb3VudHJpZXMubWFwKGNvdW50cnlDb2RlID0+ICh7XG4gICAgICB2YWx1ZTogY291bnRyeUNvZGUsXG4gICAgICBsYWJlbDogYCR7Y291bnRyeUNvZGV9ICgrJHtnZXRDb3VudHJ5Q2FsbGluZ0NvZGUoY291bnRyeUNvZGUpfSlgXG4gICAgfSkpO1xuICB9XG5cbiAgdmFsaWRhdGVQaG9uZU51bWJlcihwaG9uZU51bWJlcjogc3RyaW5nLCBjb3VudHJ5Q29kZTogc3RyaW5nKSB7XG4gICAgY29uc3QgcGFyc2VkUGhvbmVOdW1iZXIgPSBwYXJzZVBob25lTnVtYmVyRnJvbVN0cmluZyhwaG9uZU51bWJlciwgY291bnRyeUNvZGUgYXMgQ291bnRyeUNvZGUpO1xuXG4gICAgaWYgKCFwYXJzZWRQaG9uZU51bWJlciB8fCAhcGFyc2VkUGhvbmVOdW1iZXIuaXNWYWxpZCgpKSB7XG4gICAgICB0aGlzLm9uSW52YWxpZFBob25lTnVtYmVyLmVtaXQoYFBob25lIG51bWJlciBpcyBpbnZhbGlkIGZvciAke3RoaXMuc2VsZWN0ZWRDb3VudHJ5TmFtZX1gKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cIm1haW4tY29udGFpbmVyLXBob25lXCI+XG4gIDxtaXMtZHJvcGRvd24gW2hlaWdodF09XCJkcm9wZG93bkhlaWdodFwiIFtkcm9wZG93bkxpc3RXaWR0aF09XCJkcm9wZG93bkxpc3RXaWR0aFwiW2Ryb3Bkb3duTGlzdEhlaWdodF09XCJkcm9wZG93bkxpc3RIZWlnaHRcIiBbd2lkdGhdPVwiZHJvcGRvd25XaWR0aFwiIFtkYXRhXT1cImRyb3Bkb3duRGF0YVwiIFtzZWxlY3RlZEl0ZW1dPVwiZHJvcGRvd25TZWxlY3RlZEl0ZW1cIiBbbGFiZWxdPVwibGFiZWxcIiBbc2VhcmNoRW5hYmxlZF09XCJzZWFyY2hFbmFibGVkXCIgW211bHRpTGluZV09XCJmYWxzZVwiIChvbkNoYW5nZSk9XCJoYW5kbGVEcm9wZG93blNlbGVjdGlvbigkZXZlbnQpXCIgW3NlYXJjaExhYmVsXT1cInNlYXJjaExhYmVsXCI+PC9taXMtZHJvcGRvd24+XG4gIDxkaXYgY2xhc3M9XCJkZXRhaWxzLWZpZWxkXCI+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWJveFwiPlxuICAgICAgPGlucHV0XG4gICAgICBbbmdTdHlsZV09XCJ7J2hlaWdodCc6IGlucHV0SGVpZ2h0IH1cIlxuICAgICAgICBjbGFzcz1cImJsYWNrLXRleHRcIiAgXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJpbnB1dFBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImlucHV0Rm9ybUNvbnRyb2xcIiBcbiAgICAgICAgW3R5cGVdPVwiaW5wdXRUeXBlXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvcGhvbmUtaW5wdXQvcGhvbmUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvcGhvbmUtaW5wdXQvcGhvbmUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRyxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVE3QyxNQUFNLE9BQU8sbUJBQW1CO0lBa0I5QjtRQWRTLGlCQUFZLEdBQW1CLEVBQUUsQ0FBQztRQUNsQyx5QkFBb0IsR0FBZ0IsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQTtRQUc1RCxxQkFBZ0IsR0FBVyxPQUFPLENBQUM7UUFDbkMscUJBQWdCLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFFakQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUcvQyxrQkFBYSxHQUFTLEtBQUssQ0FBQztRQUM1QixjQUFTLEdBQVcsUUFBUSxDQUFDO1FBQzdCLGdCQUFXLEdBQVUsZ0JBQWdCLENBQUE7SUFFL0IsQ0FBQztJQUNoQixRQUFRO0lBQ1IsQ0FBQztJQUVELHVCQUF1QixDQUFDLElBQWtCO1FBQ3hDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztvRkF4QlUsbUJBQW1CO29FQUFuQixtQkFBbUI7WUNSOUIsQUFERiw4QkFBa0Msc0JBQzBUO1lBQXpFLGtIQUFZLG1DQUErQixJQUFDO1lBQTZCLGlCQUFlO1lBRXZXLEFBREYsOEJBQTJCLGFBQ0Y7WUFDckIsMkJBTUU7WUFHUixBQURFLEFBREUsaUJBQU0sRUFDRixFQUNGOztZQVpVLGNBQXlCO1lBQXVSLEFBQWpFLEFBQWhDLEFBQWhCLEFBQXRDLEFBQXRCLEFBQXhCLEFBQTFDLEFBQXZDLEFBQTFCLDJDQUF5Qiw0Q0FBd0MsOENBQXlDLDRCQUF3QiwwQkFBc0IsMENBQXNDLG9CQUFnQixvQ0FBZ0Msb0JBQW9CLGdDQUF5RTtZQUlyVixlQUFvQztZQUlsQyxBQURBLEFBREEsQUFGRixzRUFBb0MscUNBRUYscUNBQ0EsdUJBQ2Q7OztpRkRBYixtQkFBbUI7Y0FML0IsU0FBUzsyQkFDRSxpQkFBaUI7b0JBS2xCLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLFlBQVk7a0JBQXBCLEtBQUs7WUFDRyxvQkFBb0I7a0JBQTVCLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFFRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFFSSxtQkFBbUI7a0JBQTVCLE1BQU07WUFDRSxpQkFBaUI7a0JBQXpCLEtBQUs7WUFDRyxrQkFBa0I7a0JBQTFCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7O2tGQWhCSyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsICBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgRHJvcGRvd25JdGVtIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vZHJvcGRvd25cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy1waG9uZS1pbnB1dFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3Bob25lLWlucHV0LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9waG9uZS1pbnB1dC5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBQaG9uZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZHJvcGRvd25IZWlnaHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRyb3Bkb3duV2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlucHV0SGVpZ2h0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBkcm9wZG93bkRhdGE6IERyb3Bkb3duSXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGRyb3Bkb3duU2VsZWN0ZWRJdGVtOkRyb3Bkb3duSXRlbSA9IHsgdmFsdWU6IFwiXCIsIGxhYmVsOiBcIlwiIH0gXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgaW5wdXRQbGFjZWhvbGRlcjogc3RyaW5nID0gJ0VudGVyJztcbiAgQElucHV0KCkgaW5wdXRGb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcblxuICBAT3V0cHV0KCkgb25Ecm9wZG93blNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RXaWR0aDtcbiAgQElucHV0KCkgZHJvcGRvd25MaXN0SGVpZ2h0O1xuICBASW5wdXQoKSBzZWFyY2hFbmFibGVkOmJvb2xlYW49ZmFsc2U7XG4gIEBJbnB1dCgpIGlucHV0VHlwZTogc3RyaW5nID0gXCJudW1iZXJcIjtcbiAgQElucHV0KCkgc2VhcmNoTGFiZWw6c3RyaW5nID0gXCJTZWFyY2ggS2V5d29yZFwiXG4gIFxuICBjb25zdHJ1Y3RvcigpIHt9XG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgaGFuZGxlRHJvcGRvd25TZWxlY3Rpb24oaXRlbTogRHJvcGRvd25JdGVtKXtcbiAgICB0aGlzLm9uRHJvcGRvd25TZWxlY3Rpb24uZW1pdChpdGVtKTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibWFpbi1jb250YWluZXItcGhvbmVcIj5cbiAgPG1pcy1kcm9wZG93biBbaGVpZ2h0XT1cImRyb3Bkb3duSGVpZ2h0XCIgW2Ryb3Bkb3duTGlzdFdpZHRoXT1cImRyb3Bkb3duTGlzdFdpZHRoXCJbZHJvcGRvd25MaXN0SGVpZ2h0XT1cImRyb3Bkb3duTGlzdEhlaWdodFwiIFt3aWR0aF09XCJkcm9wZG93bldpZHRoXCIgW2RhdGFdPVwiZHJvcGRvd25EYXRhXCIgW3NlbGVjdGVkSXRlbV09XCJkcm9wZG93blNlbGVjdGVkSXRlbVwiIFtsYWJlbF09XCJsYWJlbFwiIFtzZWFyY2hFbmFibGVkXT1cInNlYXJjaEVuYWJsZWRcIiBbbXVsdGlMaW5lXT1cImZhbHNlXCIgKG9uQ2hhbmdlKT1cImhhbmRsZURyb3Bkb3duU2VsZWN0aW9uKCRldmVudClcIiBbc2VhcmNoTGFiZWxdPVwic2VhcmNoTGFiZWxcIj48L21pcy1kcm9wZG93bj5cbiAgPGRpdiBjbGFzcz1cImRldGFpbHMtZmllbGRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtYm94XCI+XG4gICAgICA8aW5wdXRcbiAgICAgIFtuZ1N0eWxlXT1cInsnaGVpZ2h0JzogaW5wdXRIZWlnaHQgfVwiXG4gICAgICAgIGNsYXNzPVwiYmxhY2stdGV4dFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJpbnB1dFBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImlucHV0Rm9ybUNvbnRyb2xcIiBcbiAgICAgICAgW3R5cGVdPVwiaW5wdXRUeXBlXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -28,9 +28,9 @@ export class RadioButtonComponent {
28
28
  this.valueChange.emit(this.formControl.value);
29
29
  }
30
30
  static { this.ɵfac = function RadioButtonComponent_Factory(t) { return new (t || RadioButtonComponent)(); }; }
31
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RadioButtonComponent, selectors: [["mis-radio"]], inputs: { id: "id", name: "name", value: "value", disabled: "disabled", formControl: "formControl" }, outputs: { valueChange: "valueChange" }, decls: 1, vars: 5, consts: [["type", "radio", 3, "change", "id", "name", "disabled", "value", "formControl"]], template: function RadioButtonComponent_Template(rf, ctx) { if (rf & 1) {
31
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RadioButtonComponent, selectors: [["mis-radio"]], inputs: { id: "id", name: "name", value: "value", disabled: "disabled", formControl: "formControl" }, outputs: { valueChange: "valueChange" }, decls: 1, vars: 5, consts: [["tabindex", "-1", "type", "radio", 3, "change", "keup.enter", "id", "name", "disabled", "value", "formControl"]], template: function RadioButtonComponent_Template(rf, ctx) { if (rf & 1) {
32
32
  i0.ɵɵelementStart(0, "input", 0);
33
- i0.ɵɵlistener("change", function RadioButtonComponent_Template_input_change_0_listener($event) { return ctx.onChange($event); });
33
+ i0.ɵɵlistener("change", function RadioButtonComponent_Template_input_change_0_listener($event) { return ctx.onChange($event); })("keup.enter", function RadioButtonComponent_Template_input_keup_enter_0_listener($event) { return ctx.onChange($event); });
34
34
  i0.ɵɵelementEnd();
35
35
  } if (rf & 2) {
36
36
  i0.ɵɵpropertyInterpolate("id", ctx.id);
@@ -39,7 +39,7 @@ export class RadioButtonComponent {
39
39
  }
40
40
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RadioButtonComponent, [{
41
41
  type: Component,
42
- args: [{ selector: "mis-radio", template: "<input (change)=\"onChange($event)\" id=\"{{ id }}\" type=\"radio\" [name]=\"name\" [disabled]=\"disabled\" [value]=\"value\" [formControl]=\"formControl\" />\n", styles: ["input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;margin:0;padding:3px;background-clip:content-box;border:2px solid #6a737d;background-color:#fff;border-radius:50%;cursor:pointer}input[type=radio]:checked{background-color:#0937b2;border:2px solid #0937b2}input[type=radio]:hover{border:2px solid #929dab}input[type=radio]:checked:hover{border:2px solid #0937b2}input[type=radio]:disabled{border:2px solid #c8cdd3}input[type=radio]:checked:disabled{border:2px solid #c8cdd3;background-color:#c8cdd3}\n"] }]
42
+ args: [{ selector: "mis-radio", template: "<input \n (change)=\"onChange($event)\" \n (keup.enter)=\"onChange($event)\"\n tabindex=\"-1\"\n id=\"{{ id }}\" type=\"radio\" \n [name]=\"name\" [disabled]=\"disabled\" \n [value]=\"value\"\n [formControl]=\"formControl\" \n/>\n", styles: ["input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;margin:0;padding:3px;background-clip:content-box;border:2px solid #6a737d;background-color:#fff;border-radius:50%;cursor:pointer}input[type=radio]:checked{background-color:#0937b2;border:2px solid #0937b2}input[type=radio]:hover{border:2px solid #929dab}input[type=radio]:checked:hover{border:2px solid #0937b2}input[type=radio]:disabled{border:2px solid #c8cdd3}input[type=radio]:checked:disabled{border:2px solid #c8cdd3;background-color:#c8cdd3}\n"] }]
43
43
  }], () => [], { id: [{
44
44
  type: Input
45
45
  }], name: [{
@@ -54,4 +54,4 @@ export class RadioButtonComponent {
54
54
  type: Output
55
55
  }] }); })();
56
56
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RadioButtonComponent, { className: "RadioButtonComponent" }); })();
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBbUIsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBT3JFLE1BQU0sT0FBTyxvQkFBb0I7SUFzQi9CO1FBckJBO3dEQUNnRDtRQUN2QyxPQUFFLEdBQW9CLEVBQUUsQ0FBQztRQUNsQzttQ0FDMkI7UUFDbEIsU0FBSSxHQUFvQixFQUFFLENBQUM7UUFDcEM7MkJBQ21CO1FBQ1YsVUFBSyxHQUFvQixFQUFFLENBQUM7UUFDckMsNkNBQTZDO1FBQ3BDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFbkM7OztxREFHNkM7UUFDcEMsZ0JBQVcsR0FBb0IsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyRSxxREFBcUQ7UUFDM0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRWpDLENBQUM7SUFDaEIsUUFBUSxLQUFJLENBQUM7SUFDYixRQUFRLENBQUMsS0FBSztRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztxRkExQlUsb0JBQW9CO29FQUFwQixvQkFBb0I7WUNSakMsZ0NBQWdKO1lBQXpJLHdHQUFVLG9CQUFnQixJQUFDO1lBQWxDLGlCQUFnSjs7WUFBN0csc0NBQWE7WUFBa0UsQUFBaEIsQUFBdEIsQUFBZCwrQkFBYSwwQkFBc0Isb0JBQWdCLGdDQUE0Qjs7O2lGRFFoSSxvQkFBb0I7Y0FMaEMsU0FBUzsyQkFDRSxXQUFXO29CQU9aLEVBQUU7a0JBQVYsS0FBSztZQUdHLElBQUk7a0JBQVosS0FBSztZQUdHLEtBQUs7a0JBQWIsS0FBSztZQUVHLFFBQVE7a0JBQWhCLEtBQUs7WUFNRyxXQUFXO2tCQUFuQixLQUFLO1lBR0ksV0FBVztrQkFBcEIsTUFBTTs7a0ZBcEJJLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy1yYWRpb1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqIFdoZW4gbXVsdGlwbGUgcmFkaW8gaW5wdXQgZmllbGRzIGFyZSB1c2VkXG4gICAqIGFuIFwiaWRcIiBjYW4gYmUgZ2l2ZW4gdG8ga2VlcCB0cmFjayBvZiB0aGVtICovXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmcgfCBudW1iZXIgPSBcIlwiO1xuICAvKiogTmFtZSBvZiB0aGUgYXR0cmlidXRlIGZvciB3aGljaCB0aGUgcmFkaW9cbiAgICogc2VsZWN0aW9uIGlzIHByb3ZpZGVkICovXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZyB8IG51bWJlciA9IFwiXCI7XG4gIC8qKiBWYWx1ZSBvZiB0aGUgYXR0cmlidXRlIHdoaWNoIGlzIHRvIGJlIGVtaXR0ZWRcbiAgICogd2hlbiBzZWxlY3RlZCAqL1xuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyID0gXCJcIjtcbiAgLyoqIENvbnRyb2xzIHRoZSBzdGF0ZSBvZiB0aGUgcmFkaW8gYnV0dG9uICovXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIENhbiBiZSB1c2VkIHRvIGF0dGFjaCB0aGUgcmFkaW8gaW5wdXQgZmllbGRcbiAgICogdG8gYSByZWFjdGl2ZSBmb3JtIGJ5IHBhc3NpbmcgaW4gYVxuICAgKiDigJxGb3JtQ29udHJvbOKAnCBPYmplY3QuIEl0IGNhbiBhbHNvIGJlXG4gICAqIHVzZWQgdG8gc2V0IHRoZSBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZSAqL1xuICBASW5wdXQoKSBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcblxuICAvKiogRW1pdHMgXCJ2YWx1ZVwiIG9mIHRoZSByYWRpbyBidXR0b24gb24gc2VsZWN0aW9uICovXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbiAgbmdPbkluaXQoKSB7fVxuICBvbkNoYW5nZShldmVudCkge1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLmZvcm1Db250cm9sLnZhbHVlKTtcbiAgfVxufVxuIiwiPGlucHV0IChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiIGlkPVwie3sgaWQgfX1cIiB0eXBlPVwicmFkaW9cIiBbbmFtZV09XCJuYW1lXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3ZhbHVlXT1cInZhbHVlXCIgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgLz5cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBbUIsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBT3JFLE1BQU0sT0FBTyxvQkFBb0I7SUFzQi9CO1FBckJBO3dEQUNnRDtRQUN2QyxPQUFFLEdBQW9CLEVBQUUsQ0FBQztRQUNsQzttQ0FDMkI7UUFDbEIsU0FBSSxHQUFvQixFQUFFLENBQUM7UUFDcEM7MkJBQ21CO1FBQ1YsVUFBSyxHQUFvQixFQUFFLENBQUM7UUFDckMsNkNBQTZDO1FBQ3BDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFbkM7OztxREFHNkM7UUFDcEMsZ0JBQVcsR0FBb0IsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyRSxxREFBcUQ7UUFDM0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRWpDLENBQUM7SUFDaEIsUUFBUSxLQUFJLENBQUM7SUFDYixRQUFRLENBQUMsS0FBSztRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztxRkExQlUsb0JBQW9CO29FQUFwQixvQkFBb0I7WUNSakMsZ0NBUUU7WUFORSxBQURBLHdHQUFVLG9CQUFnQixJQUFDLG1HQUNiLG9CQUFnQixJQUFDO1lBRm5DLGlCQVFFOztZQUpFLHNDQUFhO1lBR2IsQUFEQSxBQURjLEFBQWQsK0JBQWEsMEJBQXNCLG9CQUNwQixnQ0FDWTs7O2lGRENsQixvQkFBb0I7Y0FMaEMsU0FBUzsyQkFDRSxXQUFXO29CQU9aLEVBQUU7a0JBQVYsS0FBSztZQUdHLElBQUk7a0JBQVosS0FBSztZQUdHLEtBQUs7a0JBQWIsS0FBSztZQUVHLFFBQVE7a0JBQWhCLEtBQUs7WUFNRyxXQUFXO2tCQUFuQixLQUFLO1lBR0ksV0FBVztrQkFBcEIsTUFBTTs7a0ZBcEJJLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy1yYWRpb1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqIFdoZW4gbXVsdGlwbGUgcmFkaW8gaW5wdXQgZmllbGRzIGFyZSB1c2VkXG4gICAqIGFuIFwiaWRcIiBjYW4gYmUgZ2l2ZW4gdG8ga2VlcCB0cmFjayBvZiB0aGVtICovXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmcgfCBudW1iZXIgPSBcIlwiO1xuICAvKiogTmFtZSBvZiB0aGUgYXR0cmlidXRlIGZvciB3aGljaCB0aGUgcmFkaW9cbiAgICogc2VsZWN0aW9uIGlzIHByb3ZpZGVkICovXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZyB8IG51bWJlciA9IFwiXCI7XG4gIC8qKiBWYWx1ZSBvZiB0aGUgYXR0cmlidXRlIHdoaWNoIGlzIHRvIGJlIGVtaXR0ZWRcbiAgICogd2hlbiBzZWxlY3RlZCAqL1xuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyID0gXCJcIjtcbiAgLyoqIENvbnRyb2xzIHRoZSBzdGF0ZSBvZiB0aGUgcmFkaW8gYnV0dG9uICovXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIENhbiBiZSB1c2VkIHRvIGF0dGFjaCB0aGUgcmFkaW8gaW5wdXQgZmllbGRcbiAgICogdG8gYSByZWFjdGl2ZSBmb3JtIGJ5IHBhc3NpbmcgaW4gYVxuICAgKiDigJxGb3JtQ29udHJvbOKAnCBPYmplY3QuIEl0IGNhbiBhbHNvIGJlXG4gICAqIHVzZWQgdG8gc2V0IHRoZSBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZSAqL1xuICBASW5wdXQoKSBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsKTtcblxuICAvKiogRW1pdHMgXCJ2YWx1ZVwiIG9mIHRoZSByYWRpbyBidXR0b24gb24gc2VsZWN0aW9uICovXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbiAgbmdPbkluaXQoKSB7fVxuICBvbkNoYW5nZShldmVudCkge1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLmZvcm1Db250cm9sLnZhbHVlKTtcbiAgfVxufVxuIiwiPGlucHV0IFxuICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiIFxuICAgIChrZXVwLmVudGVyKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIGlkPVwie3sgaWQgfX1cIiB0eXBlPVwicmFkaW9cIiBcbiAgICBbbmFtZV09XCJuYW1lXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgXG4gICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBcbi8+XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
- const _c0 = (a0, a1) => ({ "height": a0, "width": a1 });
4
+ const _c0 = (a0, a1) => ({ overflow: "hidden", height: a0, width: a1 });
5
5
  const _c1 = (a0, a1) => ({ "height": a0, "margin-bottom": a1 });
6
6
  function SkeLoaderComponent_div_1_Template(rf, ctx) { if (rf & 1) {
7
7
  i0.ɵɵelementStart(0, "div");
@@ -26,7 +26,7 @@ export class SkeLoaderComponent {
26
26
  }
27
27
  ngOnInit() { }
28
28
  static { this.ɵfac = function SkeLoaderComponent_Factory(t) { return new (t || SkeLoaderComponent)(); }; }
29
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkeLoaderComponent, selectors: [["mis-skeleton-loader"]], inputs: { count: "count", lineHeight: "lineHeight", height: "height", width: "width", gap: "gap" }, decls: 2, vars: 5, consts: [[2, "overflow", "hidden", 3, "ngStyle"], [4, "ngFor", "ngForOf"], [1, "ske-loader", 3, "ngStyle"]], template: function SkeLoaderComponent_Template(rf, ctx) { if (rf & 1) {
29
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkeLoaderComponent, selectors: [["mis-skeleton-loader"]], inputs: { count: "count", lineHeight: "lineHeight", height: "height", width: "width", gap: "gap" }, decls: 2, vars: 5, consts: [[3, "ngStyle"], [4, "ngFor", "ngForOf"], [1, "ske-loader", 3, "ngStyle"]], template: function SkeLoaderComponent_Template(rf, ctx) { if (rf & 1) {
30
30
  i0.ɵɵelementStart(0, "div", 0);
31
31
  i0.ɵɵtemplate(1, SkeLoaderComponent_div_1_Template, 2, 4, "div", 1);
32
32
  i0.ɵɵelementEnd();
@@ -38,7 +38,7 @@ export class SkeLoaderComponent {
38
38
  }
39
39
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SkeLoaderComponent, [{
40
40
  type: Component,
41
- args: [{ selector: 'mis-skeleton-loader', template: "<div style=\"overflow: hidden\" [ngStyle]=\"{'height': this.height,'width' : this.width}\">\n <div *ngFor=\"let n of rowCount; let i = index;\">\n <div class=\"ske-loader\" [ngStyle]=\"{'height':this.lineHeight,'margin-bottom':this.gap }\"></div>\n </div>\n</div>\n", styles: [".ske-loader{background:gray;position:relative;width:100%;background:#e5e5e5;background:linear-gradient(110deg,#ececec 8%,#f5f5f5 18%,#ececec 33%);border-radius:5px;background-size:200% 100%;animation:1s shine linear infinite;overflow:hidden}@keyframes shine{to{background-position-x:-200%}}\n"] }]
41
+ args: [{ selector: 'mis-skeleton-loader', template: "<div [ngStyle]=\"{\n overflow: 'hidden',\n height: this.height,\n width: this.width\n }\">\n <div *ngFor=\"let n of rowCount; let i = index;\">\n <div class=\"ske-loader\" [ngStyle]=\"{'height':this.lineHeight,'margin-bottom':this.gap }\"></div>\n </div>\n</div>\n", styles: [".ske-loader{background:gray;position:relative;width:100%;background:#e5e5e5;background:linear-gradient(110deg,#ececec 8%,#f5f5f5 18%,#ececec 33%);border-radius:5px;background-size:200% 100%;animation:1s shine linear infinite;overflow:hidden}@keyframes shine{to{background-position-x:-200%}}\n"] }]
42
42
  }], () => [], { count: [{
43
43
  type: Input
44
44
  }], lineHeight: [{
@@ -51,4 +51,4 @@ export class SkeLoaderComponent {
51
51
  type: Input
52
52
  }] }); })();
53
53
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SkeLoaderComponent, { className: "SkeLoaderComponent" }); })();
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9za2UtbG9hZGVyL3NrZS1sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvc2tlLWxvYWRlci9za2UtbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7SUNDckQsMkJBQWdEO0lBQzVDLHlCQUErRjtJQUNuRyxpQkFBTTs7O0lBRHNCLGNBQWdFO0lBQWhFLG1GQUFnRTs7QURLaEcsTUFBTSxPQUFPLGtCQUFrQjtJQUc3QixJQUFhLEtBQUssQ0FBQyxHQUFXO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzVCLENBQUM7SUFBQSxDQUFDO0lBTUY7UUFUQSxhQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUlOLGVBQVUsR0FBVyxNQUFNLENBQUM7UUFDNUIsV0FBTSxHQUFXLE1BQU0sQ0FBQztRQUN4QixVQUFLLEdBQVcsTUFBTSxDQUFDO1FBQ3ZCLFFBQUcsR0FBVyxLQUFLLENBQUE7SUFFWixDQUFDO0lBRWpCLFFBQVEsS0FBVSxDQUFDO21GQWJSLGtCQUFrQjtvRUFBbEIsa0JBQWtCO1lDUC9CLDhCQUF1RjtZQUNuRixtRUFBZ0Q7WUFHcEQsaUJBQU07O1lBSndCLDJFQUF3RDtZQUMvRCxjQUFhO1lBQWIsc0NBQWE7OztpRkRNdkIsa0JBQWtCO2NBTDlCLFNBQVM7MkJBQ0UscUJBQXFCO29CQU9sQixLQUFLO2tCQUFqQixLQUFLO1lBR0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLE1BQU07a0JBQWQsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUNHLEdBQUc7a0JBQVgsS0FBSzs7a0ZBVEssa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21pcy1za2VsZXRvbi1sb2FkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc2tlLWxvYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NrZS1sb2FkZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTa2VMb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHJvd0NvdW50ID0gWzFdO1xuICBASW5wdXQoKSBzZXQgY291bnQobnVtOiBudW1iZXIpIHtcbiAgICB0aGlzLnJvd0NvdW50ID0gQXJyYXkobnVtKVxuICB9O1xuICBASW5wdXQoKSBsaW5lSGVpZ2h0OiBzdHJpbmcgPSAnMjBweCc7XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gJzEwMCUnO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJzEwMCUnO1xuICBASW5wdXQoKSBnYXA6IHN0cmluZyA9ICc4cHgnXG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbn1cbiIsIjxkaXYgc3R5bGU9XCJvdmVyZmxvdzogaGlkZGVuXCIgW25nU3R5bGVdPVwieydoZWlnaHQnOiB0aGlzLmhlaWdodCwnd2lkdGgnIDogdGhpcy53aWR0aH1cIj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBuIG9mIHJvd0NvdW50OyBsZXQgaSA9IGluZGV4O1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2tlLWxvYWRlclwiIFtuZ1N0eWxlXT1cInsnaGVpZ2h0Jzp0aGlzLmxpbmVIZWlnaHQsJ21hcmdpbi1ib3R0b20nOnRoaXMuZ2FwIH1cIj48L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9za2UtbG9hZGVyL3NrZS1sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvc2tlLWxvYWRlci9za2UtbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7SUNLckQsMkJBQWdEO0lBQzVDLHlCQUErRjtJQUNuRyxpQkFBTTs7O0lBRHNCLGNBQWdFO0lBQWhFLG1GQUFnRTs7QURDaEcsTUFBTSxPQUFPLGtCQUFrQjtJQUc3QixJQUFhLEtBQUssQ0FBQyxHQUFXO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzVCLENBQUM7SUFBQSxDQUFDO0lBTUY7UUFUQSxhQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUlOLGVBQVUsR0FBVyxNQUFNLENBQUM7UUFDNUIsV0FBTSxHQUFXLE1BQU0sQ0FBQztRQUN4QixVQUFLLEdBQVcsTUFBTSxDQUFDO1FBQ3ZCLFFBQUcsR0FBVyxLQUFLLENBQUE7SUFFWixDQUFDO0lBRWpCLFFBQVEsS0FBVSxDQUFDO21GQWJSLGtCQUFrQjtvRUFBbEIsa0JBQWtCO1lDUC9CLDhCQUlLO1lBQ0QsbUVBQWdEO1lBR3BELGlCQUFNOztZQVJELDJFQUlEO1lBQ21CLGNBQWE7WUFBYixzQ0FBYTs7O2lGREV2QixrQkFBa0I7Y0FMOUIsU0FBUzsyQkFDRSxxQkFBcUI7b0JBT2xCLEtBQUs7a0JBQWpCLEtBQUs7WUFHRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBQ0csR0FBRztrQkFBWCxLQUFLOztrRkFUSyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWlzLXNrZWxldG9uLWxvYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9za2UtbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2tlLWxvYWRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNrZUxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcm93Q291bnQgPSBbMV07XG4gIEBJbnB1dCgpIHNldCBjb3VudChudW06IG51bWJlcikge1xuICAgIHRoaXMucm93Q291bnQgPSBBcnJheShudW0pXG4gIH07XG4gIEBJbnB1dCgpIGxpbmVIZWlnaHQ6IHN0cmluZyA9ICcyMHB4JztcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSAnMTAwJSc7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnMTAwJSc7XG4gIEBJbnB1dCgpIGdhcDogc3RyaW5nID0gJzhweCdcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxufVxuIiwiPGRpdiBbbmdTdHlsZV09XCJ7XG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIGhlaWdodDogdGhpcy5oZWlnaHQsXG4gICAgd2lkdGg6IHRoaXMud2lkdGhcbiAgfVwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IG4gb2Ygcm93Q291bnQ7IGxldCBpID0gaW5kZXg7XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza2UtbG9hZGVyXCIgW25nU3R5bGVdPVwieydoZWlnaHQnOnRoaXMubGluZUhlaWdodCwnbWFyZ2luLWJvdHRvbSc6dGhpcy5nYXAgfVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -44,4 +44,4 @@ export class SnackbarService {
44
44
  providedIn: "root"
45
45
  }]
46
46
  }], () => [{ type: i1.Overlay }], null); })();
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQyxDQUFDLHNEQUFzRDtBQUNoSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBS2xFLE1BQU0sT0FBTyxlQUFlO0lBSTFCLFlBQW9CLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7SUFBRyxDQUFDO0lBRXhDLFlBQVksQ0FBQyxNQUF1QjtRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQztZQUN0QyxXQUFXLEVBQUUsS0FBSztZQUNsQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztTQUN2RixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXRELE1BQU0sY0FBYyxHQUFHLElBQUksZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0QsMkNBQTJDO1FBRTNDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7UUFDMUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBCLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakQsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QixDQUFDO1lBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO2dGQXRDVSxlQUFlO3VFQUFmLGVBQWUsV0FBZixlQUFlLG1CQUZkLE1BQU07O2lGQUVQLGVBQWU7Y0FIM0IsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJU25hY2tCYXJDb25maWcge1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGFjdGlvblN0cmluZzogc3RyaW5nO1xuICBoYXNDb21wb25lbnQ6IGJvb2xlYW47XG4gIGljb25Vcmw/OiBzdHJpbmc7XG4gIGNvbXBvbmVudD86IENvbXBvbmVudFJlZjxhbnk+O1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgb25BY3Rpb25DbGljaz86ICgpID0+IHZvaWQ7XG59XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjsgLy8gQXNzdW1pbmcgeW91IGhhdmUgZGVmaW5lZCBJU25hY2tCYXJDb25maWcgaW50ZXJmYWNlXG5pbXBvcnQgeyBTbmFja2JhckNvbXBvbmVudCB9IGZyb20gXCIuL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudFwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXG59KVxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyU2VydmljZSB7XG4gIGNvbmZpZzogSVNuYWNrQmFyQ29uZmlnO1xuICBwcml2YXRlIHNuYWNrYmFyUmVmOiBPdmVybGF5UmVmO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSkge31cblxuICBvcGVuU25hY2tiYXIoY29uZmlnOiBJU25hY2tCYXJDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuYm90dG9tKFwiNDhweFwiKVxuICAgIH0pO1xuXG4gICAgdGhpcy5zbmFja2JhclJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUob3ZlcmxheUNvbmZpZyk7XG5cbiAgICBjb25zdCBzbmFja2JhclBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoU25hY2tiYXJDb21wb25lbnQpO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuc25hY2tiYXJSZWYuYXR0YWNoKHNuYWNrYmFyUG9ydGFsKTtcblxuICAgIC8vICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbmZpZyA9IGNvbmZpZztcblxuICAgIGNvbmZpZy5kdXJhdGlvbiA9IGNvbmZpZy5kdXJhdGlvbiB8fCAzMDAwO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jbG9zZVNuYWNrYmFyKCk7XG4gICAgfSwgY29uZmlnLmR1cmF0aW9uKTtcblxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS50cmlnZ2VyQWN0aW9uLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAoY29uZmlnLm9uQWN0aW9uQ2xpY2spIHtcbiAgICAgICAgY29uZmlnLm9uQWN0aW9uQ2xpY2soKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2xvc2VTbmFja2JhcigpO1xuICAgIH0pO1xuICB9XG5cbiAgY2xvc2VTbmFja2JhcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zbmFja2JhclJlZikge1xuICAgICAgdGhpcy5zbmFja2JhclJlZi5kaXNwb3NlKCk7XG4gICAgICB0aGlzLnNuYWNrYmFyUmVmID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQyxDQUFDLHNEQUFzRDtBQUNoSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBS2xFLE1BQU0sT0FBTyxlQUFlO0lBSTFCLFlBQW9CLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7SUFBRyxDQUFDO0lBRXhDLFlBQVksQ0FBQyxNQUF1QjtRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQztZQUN0QyxXQUFXLEVBQUUsS0FBSztZQUNsQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztTQUN2RixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXRELE1BQU0sY0FBYyxHQUFHLElBQUksZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0QsMkNBQTJDO1FBRTNDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7UUFDMUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBCLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakQsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFO2dCQUN4QixNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDeEI7WUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztnRkF0Q1UsZUFBZTt1RUFBZixlQUFlLFdBQWYsZUFBZSxtQkFGZCxNQUFNOztpRkFFUCxlQUFlO2NBSDNCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVNuYWNrQmFyQ29uZmlnIHtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBhY3Rpb25TdHJpbmc6IHN0cmluZztcbiAgaGFzQ29tcG9uZW50OiBib29sZWFuO1xuICBpY29uVXJsPzogc3RyaW5nO1xuICBjb21wb25lbnQ/OiBDb21wb25lbnRSZWY8YW55PjtcbiAgZHVyYXRpb24/OiBudW1iZXI7XG4gIG9uQWN0aW9uQ2xpY2s/OiAoKSA9PiB2b2lkO1xufVxuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7IC8vIEFzc3VtaW5nIHlvdSBoYXZlIGRlZmluZWQgSVNuYWNrQmFyQ29uZmlnIGludGVyZmFjZVxuaW1wb3J0IHsgU25hY2tiYXJDb21wb25lbnQgfSBmcm9tIFwiLi9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnRcIjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIlxufSlcbmV4cG9ydCBjbGFzcyBTbmFja2JhclNlcnZpY2Uge1xuICBjb25maWc6IElTbmFja0JhckNvbmZpZztcbiAgcHJpdmF0ZSBzbmFja2JhclJlZjogT3ZlcmxheVJlZjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXkpIHt9XG5cbiAgb3BlblNuYWNrYmFyKGNvbmZpZzogSVNuYWNrQmFyQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpLmJvdHRvbShcIjQ4cHhcIilcbiAgICB9KTtcblxuICAgIHRoaXMuc25hY2tiYXJSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xuXG4gICAgY29uc3Qgc25hY2tiYXJQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFNuYWNrYmFyQ29tcG9uZW50KTtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnNuYWNrYmFyUmVmLmF0dGFjaChzbmFja2JhclBvcnRhbCk7XG5cbiAgICAvLyAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5jb25maWcgPSBjb25maWc7XG5cbiAgICBjb25maWcuZHVyYXRpb24gPSBjb25maWcuZHVyYXRpb24gfHwgMzAwMDtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY2xvc2VTbmFja2JhcigpO1xuICAgIH0sIGNvbmZpZy5kdXJhdGlvbik7XG5cbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UudHJpZ2dlckFjdGlvbi5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKGNvbmZpZy5vbkFjdGlvbkNsaWNrKSB7XG4gICAgICAgIGNvbmZpZy5vbkFjdGlvbkNsaWNrKCk7XG4gICAgICB9XG4gICAgICB0aGlzLmNsb3NlU25hY2tiYXIoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNsb3NlU25hY2tiYXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc25hY2tiYXJSZWYpIHtcbiAgICAgIHRoaXMuc25hY2tiYXJSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5zbmFja2JhclJlZiA9IG51bGw7XG4gICAgfVxuICB9XG59XG4iXX0=