@leanix/components 0.3.100 → 0.3.102

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 (175) hide show
  1. package/esm2020/index.mjs +2 -1
  2. package/esm2020/lib/core-ui/components/badge/badge.component.mjs +3 -3
  3. package/esm2020/lib/core-ui/components/button/button.component.mjs +3 -3
  4. package/esm2020/lib/core-ui/components/button-group/button-group.component.mjs +3 -3
  5. package/esm2020/lib/core-ui/components/card/card.component.mjs +3 -3
  6. package/esm2020/lib/core-ui/components/collapsible/collapsible.component.mjs +3 -3
  7. package/esm2020/lib/core-ui/components/colored-label/colored-label.component.mjs +3 -3
  8. package/esm2020/lib/core-ui/components/ellipsis/ellipsis.component.mjs +3 -3
  9. package/esm2020/lib/core-ui/components/icon-scale/icon-scale.component.mjs +3 -3
  10. package/esm2020/lib/core-ui/components/spinner/spinner.component.mjs +4 -4
  11. package/esm2020/lib/core-ui/components/table/table-header/table-header.component.mjs +3 -3
  12. package/esm2020/lib/core-ui/components/table/table.component.mjs +3 -3
  13. package/esm2020/lib/core-ui/components/tiny-spinner/tiny-spinner.component.mjs +3 -3
  14. package/esm2020/lib/core-ui/core-ui.module.mjs +4 -4
  15. package/esm2020/lib/core-ui/directives/after-view-init.directive.mjs +3 -3
  16. package/esm2020/lib/core-ui/directives/autoclose-group.service.mjs +3 -3
  17. package/esm2020/lib/core-ui/directives/autoclose.directive.mjs +3 -3
  18. package/esm2020/lib/core-ui/directives/autofocus.directive.mjs +3 -3
  19. package/esm2020/lib/core-ui/directives/html.directive.mjs +3 -3
  20. package/esm2020/lib/core-ui/linkify/linkify.pipe.mjs +4 -4
  21. package/esm2020/lib/core-ui/linkify/unlinkify.pipe.mjs +3 -3
  22. package/esm2020/lib/core-ui/pipes/br.pipe.mjs +3 -3
  23. package/esm2020/lib/core-ui/pipes/contrast-color.pipe.mjs +3 -3
  24. package/esm2020/lib/core-ui/pipes/custom-date.pipe.mjs +4 -4
  25. package/esm2020/lib/core-ui/pipes/highlight-range.pipe.mjs +3 -3
  26. package/esm2020/lib/core-ui/pipes/highlight-term.pipe.mjs +3 -3
  27. package/esm2020/lib/core-ui/pipes/lx-is-uuid.pipe.mjs +3 -3
  28. package/esm2020/lib/core-ui/pipes/lx-time-ago.pipe.mjs +4 -4
  29. package/esm2020/lib/core-ui/pipes/lx-translate.pipe.mjs +4 -4
  30. package/esm2020/lib/core-ui/pipes/markdown.pipe.mjs +3 -3
  31. package/esm2020/lib/core-ui/pipes/nbsp.pipe.mjs +3 -3
  32. package/esm2020/lib/core-ui/pipes/sort.pipe.mjs +3 -3
  33. package/esm2020/lib/core-ui/pipes/translation-after.pipe.mjs +3 -3
  34. package/esm2020/lib/core-ui/pipes/translation-before.pipe.mjs +3 -3
  35. package/esm2020/lib/core-ui/pipes/translation-between.pipe.mjs +3 -3
  36. package/esm2020/lib/core-ui/pipes/unescape-curly-braces.pipe.mjs +3 -3
  37. package/esm2020/lib/core-ui/services/resize-observer.service.mjs +3 -3
  38. package/esm2020/lib/core-ui/tooltip/tooltip.component.mjs +3 -3
  39. package/esm2020/lib/core-ui/tooltip/tooltip.directive.mjs +3 -3
  40. package/esm2020/lib/core-ui/tooltip/tooltip.module.mjs +4 -4
  41. package/esm2020/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.mjs +3 -3
  42. package/esm2020/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.mjs +3 -3
  43. package/esm2020/lib/forms-ui/components/breadcrumb/breadcrumb.component.mjs +47 -0
  44. package/esm2020/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.mjs +3 -3
  45. package/esm2020/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.mjs +3 -3
  46. package/esm2020/lib/forms-ui/components/currency/currency-input.component.mjs +3 -3
  47. package/esm2020/lib/forms-ui/components/currency/currency-symbol.component.mjs +3 -3
  48. package/esm2020/lib/forms-ui/components/date-input/date-input.component.mjs +6 -6
  49. package/esm2020/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.mjs +3 -3
  50. package/esm2020/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.mjs +3 -3
  51. package/esm2020/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.module.mjs +4 -4
  52. package/esm2020/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.mjs +3 -3
  53. package/esm2020/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.mjs +3 -3
  54. package/esm2020/lib/forms-ui/components/error-message/error-message.component.mjs +3 -3
  55. package/esm2020/lib/forms-ui/components/form-error/form-error.component.mjs +3 -3
  56. package/esm2020/lib/forms-ui/components/icon/icon.component.mjs +3 -3
  57. package/esm2020/lib/forms-ui/components/input/input.component.mjs +3 -3
  58. package/esm2020/lib/forms-ui/components/keyboard-select.directive.mjs +3 -3
  59. package/esm2020/lib/forms-ui/components/multi-select/multi-select.component.mjs +5 -5
  60. package/esm2020/lib/forms-ui/components/option/option.component.mjs +3 -3
  61. package/esm2020/lib/forms-ui/components/option-group/option-group.component.mjs +3 -3
  62. package/esm2020/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.mjs +3 -3
  63. package/esm2020/lib/forms-ui/components/options-dropdown/options-dropdown.component.mjs +3 -3
  64. package/esm2020/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.mjs +3 -3
  65. package/esm2020/lib/forms-ui/components/picker/picker-trigger.directive.mjs +3 -3
  66. package/esm2020/lib/forms-ui/components/picker/picker.component.mjs +3 -3
  67. package/esm2020/lib/forms-ui/components/picker-option/picker-option.component.mjs +3 -3
  68. package/esm2020/lib/forms-ui/components/pill-item/pill-item.component.mjs +3 -3
  69. package/esm2020/lib/forms-ui/components/pill-list/pill-list.component.mjs +3 -3
  70. package/esm2020/lib/forms-ui/components/responsive-input/responsive-input.component.mjs +3 -3
  71. package/esm2020/lib/forms-ui/components/single-select/single-select.component.mjs +8 -7
  72. package/esm2020/lib/forms-ui/components/slider-toggle/slider-toggle.component.mjs +4 -4
  73. package/esm2020/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.mjs +3 -3
  74. package/esm2020/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.mjs +3 -3
  75. package/esm2020/lib/forms-ui/directives/form-error.directive.mjs +3 -3
  76. package/esm2020/lib/forms-ui/directives/form-submit.directive.mjs +3 -3
  77. package/esm2020/lib/forms-ui/directives/keyboard-action-source.directive.mjs +3 -3
  78. package/esm2020/lib/forms-ui/directives/mark-invalid.directive.mjs +3 -3
  79. package/esm2020/lib/forms-ui/directives/select-dropdown.directive.mjs +3 -3
  80. package/esm2020/lib/forms-ui/directives/selectable-item.directive.mjs +3 -3
  81. package/esm2020/lib/forms-ui/directives/selected-option.directive.mjs +3 -3
  82. package/esm2020/lib/forms-ui/forms-ui.module.mjs +10 -5
  83. package/esm2020/lib/forms-ui/models/base-select.directive.mjs +3 -3
  84. package/esm2020/lib/forms-ui/pipes/filter-selection.pipe.mjs +3 -3
  85. package/esm2020/lib/forms-ui/pipes/filter-term.pipe.mjs +3 -3
  86. package/esm2020/lib/forms-ui/pipes/format-number.pipe.mjs +4 -4
  87. package/esm2020/lib/modal-ui/components/modal/modal.component.mjs +3 -3
  88. package/esm2020/lib/modal-ui/components/modal-footer/modal-footer.component.mjs +3 -3
  89. package/esm2020/lib/modal-ui/components/modal-header/modal-header.component.mjs +3 -3
  90. package/esm2020/lib/modal-ui/directives/modal-content.directive.mjs +3 -3
  91. package/esm2020/lib/modal-ui/modal.module.mjs +4 -4
  92. package/esm2020/lib/popover-ui/components/popover/popover.component.mjs +3 -3
  93. package/esm2020/lib/popover-ui/directives/popover-click.directive.mjs +3 -3
  94. package/esm2020/lib/popover-ui/directives/popover-content.directive.mjs +3 -3
  95. package/esm2020/lib/popover-ui/directives/popover-hover.directive.mjs +3 -3
  96. package/esm2020/lib/popover-ui/popover-ui.module.mjs +4 -4
  97. package/esm2020/lib/tab-ui/components/tab/tab.component.mjs +3 -3
  98. package/esm2020/lib/tab-ui/components/tab-group/tab-group.component.mjs +3 -3
  99. package/esm2020/lib/tab-ui/tab-ui.module.mjs +4 -4
  100. package/fesm2015/leanix-components.mjs +355 -309
  101. package/fesm2015/leanix-components.mjs.map +1 -1
  102. package/fesm2020/leanix-components.mjs +355 -309
  103. package/fesm2020/leanix-components.mjs.map +1 -1
  104. package/index.d.ts +1 -0
  105. package/lib/core-ui/components/badge/badge.component.d.ts +1 -1
  106. package/lib/core-ui/components/button/button.component.d.ts +1 -1
  107. package/lib/core-ui/components/button-group/button-group.component.d.ts +1 -1
  108. package/lib/core-ui/components/card/card.component.d.ts +1 -1
  109. package/lib/core-ui/components/collapsible/collapsible.component.d.ts +1 -1
  110. package/lib/core-ui/components/colored-label/colored-label.component.d.ts +1 -1
  111. package/lib/core-ui/components/ellipsis/ellipsis.component.d.ts +1 -1
  112. package/lib/core-ui/components/icon-scale/icon-scale.component.d.ts +1 -1
  113. package/lib/core-ui/components/spinner/spinner.component.d.ts +1 -1
  114. package/lib/core-ui/components/table/table-header/table-header.component.d.ts +1 -1
  115. package/lib/core-ui/components/table/table.component.d.ts +1 -1
  116. package/lib/core-ui/components/tiny-spinner/tiny-spinner.component.d.ts +1 -1
  117. package/lib/core-ui/directives/after-view-init.directive.d.ts +1 -1
  118. package/lib/core-ui/directives/autoclose.directive.d.ts +1 -1
  119. package/lib/core-ui/directives/autofocus.directive.d.ts +1 -1
  120. package/lib/core-ui/directives/html.directive.d.ts +1 -1
  121. package/lib/core-ui/tooltip/tooltip.component.d.ts +1 -1
  122. package/lib/core-ui/tooltip/tooltip.directive.d.ts +1 -1
  123. package/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.d.ts +1 -1
  124. package/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.d.ts +1 -1
  125. package/lib/forms-ui/components/breadcrumb/breadcrumb.component.d.ts +20 -0
  126. package/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.d.ts +1 -1
  127. package/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.d.ts +1 -1
  128. package/lib/forms-ui/components/currency/currency-input.component.d.ts +1 -1
  129. package/lib/forms-ui/components/currency/currency-symbol.component.d.ts +1 -1
  130. package/lib/forms-ui/components/date-input/date-input.component.d.ts +1 -1
  131. package/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.d.ts +1 -1
  132. package/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.d.ts +1 -1
  133. package/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.d.ts +1 -1
  134. package/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.d.ts +1 -1
  135. package/lib/forms-ui/components/error-message/error-message.component.d.ts +1 -1
  136. package/lib/forms-ui/components/form-error/form-error.component.d.ts +1 -1
  137. package/lib/forms-ui/components/icon/icon.component.d.ts +1 -1
  138. package/lib/forms-ui/components/input/input.component.d.ts +1 -1
  139. package/lib/forms-ui/components/keyboard-select.directive.d.ts +1 -1
  140. package/lib/forms-ui/components/multi-select/multi-select.component.d.ts +1 -1
  141. package/lib/forms-ui/components/option/option.component.d.ts +1 -1
  142. package/lib/forms-ui/components/option-group/option-group.component.d.ts +1 -1
  143. package/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.d.ts +1 -1
  144. package/lib/forms-ui/components/options-dropdown/options-dropdown.component.d.ts +1 -1
  145. package/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.d.ts +1 -1
  146. package/lib/forms-ui/components/picker/picker-trigger.directive.d.ts +1 -1
  147. package/lib/forms-ui/components/picker/picker.component.d.ts +1 -1
  148. package/lib/forms-ui/components/picker-option/picker-option.component.d.ts +1 -1
  149. package/lib/forms-ui/components/pill-item/pill-item.component.d.ts +1 -1
  150. package/lib/forms-ui/components/pill-list/pill-list.component.d.ts +1 -1
  151. package/lib/forms-ui/components/responsive-input/responsive-input.component.d.ts +1 -1
  152. package/lib/forms-ui/components/single-select/single-select.component.d.ts +1 -1
  153. package/lib/forms-ui/components/slider-toggle/slider-toggle.component.d.ts +1 -1
  154. package/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.d.ts +1 -1
  155. package/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.d.ts +1 -1
  156. package/lib/forms-ui/directives/form-error.directive.d.ts +1 -1
  157. package/lib/forms-ui/directives/form-submit.directive.d.ts +1 -1
  158. package/lib/forms-ui/directives/keyboard-action-source.directive.d.ts +1 -1
  159. package/lib/forms-ui/directives/mark-invalid.directive.d.ts +1 -1
  160. package/lib/forms-ui/directives/select-dropdown.directive.d.ts +1 -1
  161. package/lib/forms-ui/directives/selectable-item.directive.d.ts +1 -1
  162. package/lib/forms-ui/directives/selected-option.directive.d.ts +1 -1
  163. package/lib/forms-ui/forms-ui.module.d.ts +45 -44
  164. package/lib/forms-ui/models/base-select.directive.d.ts +1 -1
  165. package/lib/modal-ui/components/modal/modal.component.d.ts +1 -1
  166. package/lib/modal-ui/components/modal-footer/modal-footer.component.d.ts +1 -1
  167. package/lib/modal-ui/components/modal-header/modal-header.component.d.ts +1 -1
  168. package/lib/modal-ui/directives/modal-content.directive.d.ts +1 -1
  169. package/lib/popover-ui/components/popover/popover.component.d.ts +1 -1
  170. package/lib/popover-ui/directives/popover-click.directive.d.ts +1 -1
  171. package/lib/popover-ui/directives/popover-content.directive.d.ts +1 -1
  172. package/lib/popover-ui/directives/popover-hover.directive.d.ts +1 -1
  173. package/lib/tab-ui/components/tab/tab.component.d.ts +1 -1
  174. package/lib/tab-ui/components/tab-group/tab-group.component.d.ts +1 -1
  175. package/package.json +2 -2
@@ -121,7 +121,8 @@ export class SingleSelectComponent extends BaseSelectDirective {
121
121
  fromEvent(sourceElement, 'keydown')
122
122
  .pipe(map((event) => this.mapToEventSet(event, sourceElement, this.virtualCursorPosition)), tap((eventSet) => {
123
123
  if (!this.allowQuery && eventSet.event.keyCode !== BACKSPACE) {
124
- if (eventSet.event.keyCode !== TAB) {
124
+ // additional check for even.code for userEvent API compatibility
125
+ if (eventSet.event.keyCode !== TAB && eventSet.event.code !== 'Tab') {
125
126
  // if querying is disabled, only the tab key press event will be propagated, so that you can still defocus.
126
127
  eventSet.event.preventDefault();
127
128
  }
@@ -219,15 +220,15 @@ export class SingleSelectComponent extends BaseSelectDirective {
219
220
  : options.findIndex((option) => isEqual(selection, option));
220
221
  }
221
222
  }
222
- SingleSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SingleSelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
223
- SingleSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: SingleSelectComponent, selector: "lx-single-select", inputs: { selection: "selection", selectionBackground: "selectionBackground", size: "size", dropdownWidthScale: "dropdownWidthScale", padding: "padding", allowClear: "allowClear", tabIndex: "tabIndex", markInvalid: "markInvalid" }, outputs: { selectionChange: "selectionChange", blur: "blur" }, providers: [
223
+ SingleSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SingleSelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
224
+ SingleSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: SingleSelectComponent, selector: "lx-single-select", inputs: { selection: "selection", selectionBackground: "selectionBackground", size: "size", dropdownWidthScale: "dropdownWidthScale", padding: "padding", allowClear: "allowClear", tabIndex: "tabIndex", markInvalid: "markInvalid" }, outputs: { selectionChange: "selectionChange", blur: "blur" }, providers: [
224
225
  {
225
226
  provide: NG_VALUE_ACCESSOR,
226
227
  multi: true,
227
228
  useExisting: forwardRef(() => SingleSelectComponent)
228
229
  }
229
- ], queries: [{ propertyName: "explicitDropdown", first: true, predicate: SelectDropdownDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "explicitSelectedOption", first: true, predicate: SelectedOptionDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "dropdownComponent", first: true, predicate: BasicDropdownComponent, descendants: true }], viewQueries: [{ propertyName: "implicitSelectedOption", first: true, predicate: ["selectedOption"], descendants: true, static: true }, { propertyName: "implicitDropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "queryInput", first: true, predicate: ["queryInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer {{ padding }}Padding\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.disabled]=\"disabled\"\n [class.grayBackground]=\"selectionBackground === 'gray'\"\n [class.defaultSize]=\"size === 'default'\"\n [class.smallSize]=\"size === 'small'\"\n [class.select2Size]=\"size === 'select2'\"\n [class.largeSize]=\"size === 'large'\"\n [style.cursor]=\"cursorStyle\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectionContainer\">\n <div class=\"inputContainer\">\n <div *ngIf=\"!selection && !queryInput?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div\n *ngIf=\"!allowQuery || !queryInput?.value\"\n class=\"selection\"\n [class.lowerOpacity]=\"allowQuery && !queryInput?.value && dropdownOpen\"\n [class.lightgrayColor]=\"!allowQuery && dropdownOpen\"\n (click)=\"$event.stopPropagation(); focus()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedOptionTmpl\"></ng-container>\n </div>\n <input\n #queryInput\n class=\"queryInput\"\n type=\"text\"\n [class.isHidden]=\"!allowQuery\"\n (keydown.enter)=\"$event.preventDefault()\"\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit($event)\"\n (keyup.tab)=\"focusedViaTab()\"\n (keyup.shift.tab)=\"focusedViaTab()\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [formControl]=\"queryControl\"\n [readOnly]=\"!allowQuery\"\n />\n </div>\n <div class=\"iconContainer\">\n <i *ngIf=\"selection && allowClear && !disabled\" class=\"far fa-times\" (click)=\"removeSelection()\"></i>\n <i #toggle class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #selectedOption>\n <ng-content select=\".selectedOption\"></ng-content>\n</ng-template>\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [":host ::ng-deep .selectedOption{overflow:hidden;text-overflow:ellipsis}.selectContainer{position:relative;height:auto;padding:0;box-sizing:border-box;background:#fff;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px}.selectContainer.grayBackground{background:#eaedf1;border-color:#eaedf1;box-shadow:none}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #5599ff}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed!important}.selectContainer.defaultPadding .selectionContainer{padding-left:12px}.selectContainer.narrowPadding .selectionContainer{padding-left:4px}.selectContainer .lightgrayColor{color:#8594ad}.selectionContainer{display:flex}.inputContainer{flex:1;position:relative;white-space:nowrap}.queryInput{width:100%;-webkit-appearance:none;appearance:none;border:0;padding-left:0;background:transparent;position:relative;cursor:inherit}.queryInput::-ms-clear{display:none}.queryInput:focus{outline:0}.queryInput.isHidden{opacity:0}.placeholder{position:absolute;width:100%;text-align:left;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis}.iconContainer{display:flex;align-items:center;text-align:center}.iconContainer .far,.iconContainer .fas{width:10px;cursor:pointer}.disabled .iconContainer .far,.disabled .iconContainer .fas{cursor:inherit;color:#8594ad}.iconContainer .fa-angle-down{margin:0 12px}.iconContainer .fa-times{margin-left:4px}.selection{width:100%;position:absolute;display:flex;align-items:center}.selection.lowerOpacity{opacity:.7}.backdrop{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1048}.optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;border-radius:3px;background:#fff;z-index:1001}.defaultSize .inputContainer,.defaultSize .queryInput,.defaultSize .selection,.defaultSize .iconContainer{height:29px}.defaultSize .inputContainer{line-height:29px}.defaultSize .selectionContainer{min-height:29px}.smallSize .inputContainer,.smallSize .queryInput,.smallSize .selection,.smallSize .iconContainer{height:22px}.smallSize .inputContainer{line-height:22px}.smallSize .selectionContainer{min-height:22px}.select2Size .inputContainer,.select2Size .queryInput,.select2Size .selection,.select2Size .iconContainer{height:26px}.select2Size .inputContainer{line-height:26px}.select2Size .selectionContainer{min-height:26px}.largeSize .inputContainer,.largeSize .queryInput,.largeSize .selection,.largeSize .iconContainer{height:40px}.largeSize .inputContainer{line-height:40px}.largeSize .selectionContainer{min-height:40px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MarkInvalidDirective, selector: "[lxMarkInvalid]", inputs: ["lxMarkInvalid"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
230
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SingleSelectComponent, decorators: [{
230
+ ], queries: [{ propertyName: "explicitDropdown", first: true, predicate: SelectDropdownDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "explicitSelectedOption", first: true, predicate: SelectedOptionDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "dropdownComponent", first: true, predicate: BasicDropdownComponent, descendants: true }], viewQueries: [{ propertyName: "implicitSelectedOption", first: true, predicate: ["selectedOption"], descendants: true, static: true }, { propertyName: "implicitDropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "queryInput", first: true, predicate: ["queryInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer {{ padding }}Padding\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.disabled]=\"disabled\"\n [class.grayBackground]=\"selectionBackground === 'gray'\"\n [class.defaultSize]=\"size === 'default'\"\n [class.smallSize]=\"size === 'small'\"\n [class.select2Size]=\"size === 'select2'\"\n [class.largeSize]=\"size === 'large'\"\n [style.cursor]=\"cursorStyle\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectionContainer\">\n <div class=\"inputContainer\">\n <div *ngIf=\"!selection && !queryInput?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div\n *ngIf=\"!allowQuery || !queryInput?.value\"\n class=\"selection\"\n [class.lowerOpacity]=\"allowQuery && !queryInput?.value && dropdownOpen\"\n [class.lightgrayColor]=\"!allowQuery && dropdownOpen\"\n (click)=\"$event.stopPropagation(); focus()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedOptionTmpl\"></ng-container>\n </div>\n <input\n #queryInput\n class=\"queryInput\"\n type=\"text\"\n [class.isHidden]=\"!allowQuery\"\n (keydown.enter)=\"$event.preventDefault()\"\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit($event)\"\n (keyup.tab)=\"focusedViaTab()\"\n (keyup.shift.tab)=\"focusedViaTab()\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [formControl]=\"queryControl\"\n [readOnly]=\"!allowQuery\"\n />\n </div>\n <div class=\"iconContainer\">\n <i *ngIf=\"selection && allowClear && !disabled\" class=\"far fa-times\" (click)=\"removeSelection()\"></i>\n <i #toggle class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #selectedOption>\n <ng-content select=\".selectedOption\"></ng-content>\n</ng-template>\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [":host ::ng-deep .selectedOption{overflow:hidden;text-overflow:ellipsis}.selectContainer{position:relative;height:auto;padding:0;box-sizing:border-box;background:#fff;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px}.selectContainer.grayBackground{background:#eaedf1;border-color:#eaedf1;box-shadow:none}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #5599ff}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed!important}.selectContainer.defaultPadding .selectionContainer{padding-left:12px}.selectContainer.narrowPadding .selectionContainer{padding-left:4px}.selectContainer .lightgrayColor{color:#8594ad}.selectionContainer{display:flex}.inputContainer{flex:1;position:relative;white-space:nowrap}.queryInput{width:100%;-webkit-appearance:none;appearance:none;border:0;padding-left:0;background:transparent;position:relative;cursor:inherit}.queryInput::-ms-clear{display:none}.queryInput:focus{outline:0}.queryInput.isHidden{opacity:0}.placeholder{position:absolute;width:100%;text-align:left;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis}.iconContainer{display:flex;align-items:center;text-align:center}.iconContainer .far,.iconContainer .fas{width:10px;cursor:pointer}.disabled .iconContainer .far,.disabled .iconContainer .fas{cursor:inherit;color:#8594ad}.iconContainer .fa-angle-down{margin:0 12px}.iconContainer .fa-times{margin-left:4px}.selection{width:100%;position:absolute;display:flex;align-items:center}.selection.lowerOpacity{opacity:.7}.backdrop{position:fixed;inset:0;z-index:1048}.optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;border-radius:3px;background:#fff;z-index:1001}.defaultSize .inputContainer,.defaultSize .queryInput,.defaultSize .selection,.defaultSize .iconContainer{height:29px}.defaultSize .inputContainer{line-height:29px}.defaultSize .selectionContainer{min-height:29px}.smallSize .inputContainer,.smallSize .queryInput,.smallSize .selection,.smallSize .iconContainer{height:22px}.smallSize .inputContainer{line-height:22px}.smallSize .selectionContainer{min-height:22px}.select2Size .inputContainer,.select2Size .queryInput,.select2Size .selection,.select2Size .iconContainer{height:26px}.select2Size .inputContainer{line-height:26px}.select2Size .selectionContainer{min-height:26px}.largeSize .inputContainer,.largeSize .queryInput,.largeSize .selection,.largeSize .iconContainer{height:40px}.largeSize .inputContainer{line-height:40px}.largeSize .selectionContainer{min-height:40px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MarkInvalidDirective, selector: "[lxMarkInvalid]", inputs: ["lxMarkInvalid"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SingleSelectComponent, decorators: [{
231
232
  type: Component,
232
233
  args: [{ selector: 'lx-single-select', providers: [
233
234
  {
@@ -235,7 +236,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
235
236
  multi: true,
236
237
  useExisting: forwardRef(() => SingleSelectComponent)
237
238
  }
238
- ], template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer {{ padding }}Padding\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.disabled]=\"disabled\"\n [class.grayBackground]=\"selectionBackground === 'gray'\"\n [class.defaultSize]=\"size === 'default'\"\n [class.smallSize]=\"size === 'small'\"\n [class.select2Size]=\"size === 'select2'\"\n [class.largeSize]=\"size === 'large'\"\n [style.cursor]=\"cursorStyle\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectionContainer\">\n <div class=\"inputContainer\">\n <div *ngIf=\"!selection && !queryInput?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div\n *ngIf=\"!allowQuery || !queryInput?.value\"\n class=\"selection\"\n [class.lowerOpacity]=\"allowQuery && !queryInput?.value && dropdownOpen\"\n [class.lightgrayColor]=\"!allowQuery && dropdownOpen\"\n (click)=\"$event.stopPropagation(); focus()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedOptionTmpl\"></ng-container>\n </div>\n <input\n #queryInput\n class=\"queryInput\"\n type=\"text\"\n [class.isHidden]=\"!allowQuery\"\n (keydown.enter)=\"$event.preventDefault()\"\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit($event)\"\n (keyup.tab)=\"focusedViaTab()\"\n (keyup.shift.tab)=\"focusedViaTab()\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [formControl]=\"queryControl\"\n [readOnly]=\"!allowQuery\"\n />\n </div>\n <div class=\"iconContainer\">\n <i *ngIf=\"selection && allowClear && !disabled\" class=\"far fa-times\" (click)=\"removeSelection()\"></i>\n <i #toggle class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #selectedOption>\n <ng-content select=\".selectedOption\"></ng-content>\n</ng-template>\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [":host ::ng-deep .selectedOption{overflow:hidden;text-overflow:ellipsis}.selectContainer{position:relative;height:auto;padding:0;box-sizing:border-box;background:#fff;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px}.selectContainer.grayBackground{background:#eaedf1;border-color:#eaedf1;box-shadow:none}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #5599ff}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed!important}.selectContainer.defaultPadding .selectionContainer{padding-left:12px}.selectContainer.narrowPadding .selectionContainer{padding-left:4px}.selectContainer .lightgrayColor{color:#8594ad}.selectionContainer{display:flex}.inputContainer{flex:1;position:relative;white-space:nowrap}.queryInput{width:100%;-webkit-appearance:none;appearance:none;border:0;padding-left:0;background:transparent;position:relative;cursor:inherit}.queryInput::-ms-clear{display:none}.queryInput:focus{outline:0}.queryInput.isHidden{opacity:0}.placeholder{position:absolute;width:100%;text-align:left;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis}.iconContainer{display:flex;align-items:center;text-align:center}.iconContainer .far,.iconContainer .fas{width:10px;cursor:pointer}.disabled .iconContainer .far,.disabled .iconContainer .fas{cursor:inherit;color:#8594ad}.iconContainer .fa-angle-down{margin:0 12px}.iconContainer .fa-times{margin-left:4px}.selection{width:100%;position:absolute;display:flex;align-items:center}.selection.lowerOpacity{opacity:.7}.backdrop{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1048}.optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;border-radius:3px;background:#fff;z-index:1001}.defaultSize .inputContainer,.defaultSize .queryInput,.defaultSize .selection,.defaultSize .iconContainer{height:29px}.defaultSize .inputContainer{line-height:29px}.defaultSize .selectionContainer{min-height:29px}.smallSize .inputContainer,.smallSize .queryInput,.smallSize .selection,.smallSize .iconContainer{height:22px}.smallSize .inputContainer{line-height:22px}.smallSize .selectionContainer{min-height:22px}.select2Size .inputContainer,.select2Size .queryInput,.select2Size .selection,.select2Size .iconContainer{height:26px}.select2Size .inputContainer{line-height:26px}.select2Size .selectionContainer{min-height:26px}.largeSize .inputContainer,.largeSize .queryInput,.largeSize .selection,.largeSize .iconContainer{height:40px}.largeSize .inputContainer{line-height:40px}.largeSize .selectionContainer{min-height:40px}\n"] }]
239
+ ], template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer {{ padding }}Padding\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.disabled]=\"disabled\"\n [class.grayBackground]=\"selectionBackground === 'gray'\"\n [class.defaultSize]=\"size === 'default'\"\n [class.smallSize]=\"size === 'small'\"\n [class.select2Size]=\"size === 'select2'\"\n [class.largeSize]=\"size === 'large'\"\n [style.cursor]=\"cursorStyle\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectionContainer\">\n <div class=\"inputContainer\">\n <div *ngIf=\"!selection && !queryInput?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div\n *ngIf=\"!allowQuery || !queryInput?.value\"\n class=\"selection\"\n [class.lowerOpacity]=\"allowQuery && !queryInput?.value && dropdownOpen\"\n [class.lightgrayColor]=\"!allowQuery && dropdownOpen\"\n (click)=\"$event.stopPropagation(); focus()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedOptionTmpl\"></ng-container>\n </div>\n <input\n #queryInput\n class=\"queryInput\"\n type=\"text\"\n [class.isHidden]=\"!allowQuery\"\n (keydown.enter)=\"$event.preventDefault()\"\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit($event)\"\n (keyup.tab)=\"focusedViaTab()\"\n (keyup.shift.tab)=\"focusedViaTab()\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [formControl]=\"queryControl\"\n [readOnly]=\"!allowQuery\"\n />\n </div>\n <div class=\"iconContainer\">\n <i *ngIf=\"selection && allowClear && !disabled\" class=\"far fa-times\" (click)=\"removeSelection()\"></i>\n <i #toggle class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #selectedOption>\n <ng-content select=\".selectedOption\"></ng-content>\n</ng-template>\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [":host ::ng-deep .selectedOption{overflow:hidden;text-overflow:ellipsis}.selectContainer{position:relative;height:auto;padding:0;box-sizing:border-box;background:#fff;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px}.selectContainer.grayBackground{background:#eaedf1;border-color:#eaedf1;box-shadow:none}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #5599ff}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed!important}.selectContainer.defaultPadding .selectionContainer{padding-left:12px}.selectContainer.narrowPadding .selectionContainer{padding-left:4px}.selectContainer .lightgrayColor{color:#8594ad}.selectionContainer{display:flex}.inputContainer{flex:1;position:relative;white-space:nowrap}.queryInput{width:100%;-webkit-appearance:none;appearance:none;border:0;padding-left:0;background:transparent;position:relative;cursor:inherit}.queryInput::-ms-clear{display:none}.queryInput:focus{outline:0}.queryInput.isHidden{opacity:0}.placeholder{position:absolute;width:100%;text-align:left;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis}.iconContainer{display:flex;align-items:center;text-align:center}.iconContainer .far,.iconContainer .fas{width:10px;cursor:pointer}.disabled .iconContainer .far,.disabled .iconContainer .fas{cursor:inherit;color:#8594ad}.iconContainer .fa-angle-down{margin:0 12px}.iconContainer .fa-times{margin-left:4px}.selection{width:100%;position:absolute;display:flex;align-items:center}.selection.lowerOpacity{opacity:.7}.backdrop{position:fixed;inset:0;z-index:1048}.optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;border-radius:3px;background:#fff;z-index:1001}.defaultSize .inputContainer,.defaultSize .queryInput,.defaultSize .selection,.defaultSize .iconContainer{height:29px}.defaultSize .inputContainer{line-height:29px}.defaultSize .selectionContainer{min-height:29px}.smallSize .inputContainer,.smallSize .queryInput,.smallSize .selection,.smallSize .iconContainer{height:22px}.smallSize .inputContainer{line-height:22px}.smallSize .selectionContainer{min-height:22px}.select2Size .inputContainer,.select2Size .queryInput,.select2Size .selection,.select2Size .iconContainer{height:26px}.select2Size .inputContainer{line-height:26px}.select2Size .selectionContainer{min-height:26px}.largeSize .inputContainer,.largeSize .queryInput,.largeSize .selection,.largeSize .iconContainer{height:40px}.largeSize .inputContainer{line-height:40px}.largeSize .selectionContainer{min-height:40px}\n"] }]
239
240
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selection: [{
240
241
  type: Input
241
242
  }], selectionBackground: [{
@@ -275,4 +276,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
275
276
  type: ViewChild,
276
277
  args: ['queryInput', { static: true }]
277
278
  }] } });
278
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL3NpbmdsZS1zZWxlY3Qvc2luZ2xlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL3NpbmdsZS1zZWxlY3Qvc2luZ2xlLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hG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QUFLO2dCQUVxQyxVQUFVO3NCQUFwRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZ2V0LCBpbmNsdWRlcywgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC9mcCc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTZWxlY3REcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc2VsZWN0LWRyb3Bkb3duLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTZWxlY3RlZE9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc2VsZWN0ZWQtb3B0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBUlJPV19MRUZULCBBUlJPV19SSUdIVCwgQkFDS1NQQUNFLCBFU0NBUEUsIFRBQiB9IGZyb20gJy4uLy4uL2hlbHBlcnMva2V5LWNvZGVzLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRLZXlib2FyZE5hdmlnYXRpb25FdmVudHMgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2tleWJvYXJkLW5hdmlnYXRpb24uaGVscGVycyc7XG5pbXBvcnQgeyBCYXNlU2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Jhc2Utc2VsZWN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTaW5nbGVTZWxlY3RQYWRkaW5nIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NpbmdsZS1zZWxlY3QtcGFkZGluZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFzaWNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2ljLWRyb3Bkb3duL2Jhc2ljLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLZXlib2FyZFNlbGVjdEFjdGlvbiB9IGZyb20gJy4uL2tleWJvYXJkLXNlbGVjdC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgdHlwZSBTaW5nbGVTZWxlY3RTaXplID0gJ2RlZmF1bHQnIHwgJ3NtYWxsJyB8ICdzZWxlY3QyJyB8ICdsYXJnZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x4LXNpbmdsZS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJ3NpbmdsZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc2luZ2xlLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2luZ2xlU2VsZWN0Q29tcG9uZW50KVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaW5nbGVTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VsZWN0RGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHB1YmxpYyBzdGF0aWMgY2FsY3VsYXRlTmV3Q3Vyc29yUG9zdGlvbk9uS2V5Ym9hcmROYXZpZ2F0aW9uKGN1cnNvclBvc2l0aW9uOiBudW1iZXIsIGtleUNvZGU6IG51bWJlcikge1xuICAgIHN3aXRjaCAoa2V5Q29kZSkge1xuICAgICAgY2FzZSBBUlJPV19MRUZUOlxuICAgICAgICBjdXJzb3JQb3NpdGlvbi0tO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQVJST1dfUklHSFQ6XG4gICAgICAgIGN1cnNvclBvc2l0aW9uKys7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gY3Vyc29yUG9zaXRpb247XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldEtleWJvYXJkU2VsZWN0QWN0aW9uKGN1cnNvclBvc2l0aW9uOiBudW1iZXIsIGtleUNvZGU6IG51bWJlcik6IEtleWJvYXJkU2VsZWN0QWN0aW9uIHwgbnVsbCB7XG4gICAgaWYgKGN1cnNvclBvc2l0aW9uIDw9IC0xICYmIGtleUNvZGUgPT09IEFSUk9XX1JJR0hUKSB7XG4gICAgICByZXR1cm4gS2V5Ym9hcmRTZWxlY3RBY3Rpb24uTkVYVDtcbiAgICB9XG4gICAgaWYgKGN1cnNvclBvc2l0aW9uID09PSAtMSAmJiBrZXlDb2RlID09PSBBUlJPV19MRUZUKSB7XG4gICAgICByZXR1cm4gS2V5Ym9hcmRTZWxlY3RBY3Rpb24uTEFTVDtcbiAgICB9XG4gICAgaWYgKGN1cnNvclBvc2l0aW9uIDwgLTEgJiYga2V5Q29kZSA9PT0gQVJST1dfTEVGVCkge1xuICAgICAgcmV0dXJuIEtleWJvYXJkU2VsZWN0QWN0aW9uLlBSRVY7XG4gICAgfVxuICAgIGlmIChjdXJzb3JQb3NpdGlvbiA8PSAtMSAmJiBrZXlDb2RlID09PSBCQUNLU1BBQ0UpIHtcbiAgICAgIHJldHVybiBLZXlib2FyZFNlbGVjdEFjdGlvbi5FWEVDVVRFO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBJbnB1dCgpIHNlbGVjdGlvbjogYW55O1xuICBASW5wdXQoKSBzZWxlY3Rpb25CYWNrZ3JvdW5kOiAnd2hpdGUnIHwgJ2dyYXknID0gJ3doaXRlJztcbiAgQElucHV0KCkgc2l6ZTogU2luZ2xlU2VsZWN0U2l6ZSA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgZHJvcGRvd25XaWR0aFNjYWxlOiAnMXgnIHwgJzEuNXgnIHwgJzJ4JyA9ICcxeCc7XG4gIEBJbnB1dCgpIHBhZGRpbmc/OiBTaW5nbGVTZWxlY3RQYWRkaW5nID0gJ2RlZmF1bHQnO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChTZWxlY3REcm9wZG93bkRpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pIGV4cGxpY2l0RHJvcGRvd24/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKFNlbGVjdGVkT3B0aW9uRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSkgZXhwbGljaXRTZWxlY3RlZE9wdGlvbj86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBDb250ZW50Q2hpbGQoQmFzaWNEcm9wZG93bkNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pIHByaXZhdGUgZHJvcGRvd25Db21wb25lbnQ/OiBCYXNpY0Ryb3Bkb3duQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdGVkT3B0aW9uJywgeyBzdGF0aWM6IHRydWUgfSkgaW1wbGljaXRTZWxlY3RlZE9wdGlvbiE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duJywgeyBzdGF0aWM6IHRydWUgfSkgaW1wbGljaXREcm9wZG93biE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgZ2V0IHNlbGVjdGVkT3B0aW9uVG1wbCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHBsaWNpdFNlbGVjdGVkT3B0aW9uIHx8IHRoaXMuaW1wbGljaXRTZWxlY3RlZE9wdGlvbjtcbiAgfVxuXG4gIGdldCBkcm9wZG93blRtcGwoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXhwbGljaXREcm9wZG93biB8fCB0aGlzLmltcGxpY2l0RHJvcGRvd247XG4gIH1cblxuICBASW5wdXQoKSBhbGxvd0NsZWFyID0gdHJ1ZTtcbiAgQElucHV0KCkgdGFiSW5kZXg6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmtJbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgncXVlcnlJbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIHF1ZXJ5SW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBpc0lucHV0Rm9jdXNlZFZpYVRhYiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCBjdXJzb3JTdHlsZSgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuICdkZWZhdWx0JztcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWxsb3dRdWVyeSkge1xuICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdwb2ludGVyJztcbiAgICB9XG4gIH1cblxuICBnZXQgZHJvcGRvd25XaWR0aCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHN3aXRjaCAodGhpcy5kcm9wZG93bldpZHRoU2NhbGUpIHtcbiAgICAgIGNhc2UgJzF4JzpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIGNhc2UgJzEuNXgnOlxuICAgICAgICByZXR1cm4gJzE1MCUnO1xuICAgICAgY2FzZSAnMngnOlxuICAgICAgICByZXR1cm4gJzIwMCUnO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0SW5wdXQoKSB7XG4gICAgdGhpcy5xdWVyeUNvbnRyb2wucmVzZXQoJycsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgfVxuXG4gIGZvY3VzKCkge1xuICAgIHRoaXMucXVlcnlJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBmb2N1c0FuZE9wZW4oKSB7XG4gICAgdGhpcy5xdWVyeUlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB0aGlzLm9wZW4ubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICB0aGlzLm9wZW5cbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBmaWx0ZXIoKG9wZW4pID0+IG9wZW4gJiYgISF0aGlzLmRyb3Bkb3duQ29tcG9uZW50KSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuc2VsZWN0aW9uKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGlvbikgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0aW9uKSB7XG4gICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmRldGVybWluZUhpZ2hsaWdodEluZGV4KHRoaXMuZHJvcGRvd25Db21wb25lbnQhLm9wdGlvbnMsIHNlbGVjdGlvbiwgdGhpcy5kcm9wZG93bkNvbXBvbmVudCEuaXRlbUtleSk7XG4gICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Db21wb25lbnQhLnNlbGVjdChpbmRleCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Rmlyc3RPcHRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RGaXJzdE9wdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIC8vIGtleWJvYXJkIGV2ZW50IGhhbmRsaW5nXG4gICAgY29uc3Qgc291cmNlRWxlbWVudCA9IHRoaXMucXVlcnlJbnB1dC5uYXRpdmVFbGVtZW50O1xuICAgIC8vIGhhbmRsZSBrZXlib2FyZCBuYXZpZ2F0aW9uIGZvciB0aGUgc2VsZWN0aW9uXG4gICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHNvdXJjZUVsZW1lbnQsICdrZXlkb3duJylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGV2ZW50KSA9PiB0aGlzLm1hcFRvRXZlbnRTZXQoZXZlbnQsIHNvdXJjZUVsZW1lbnQsIHRoaXMudmlydHVhbEN1cnNvclBvc2l0aW9uKSksXG4gICAgICAgIHRhcCgoZXZlbnRTZXQpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuYWxsb3dRdWVyeSAmJiBldmVudFNldC5ldmVudC5rZXlDb2RlICE9PSBCQUNLU1BBQ0UpIHtcbiAgICAgICAgICAgIGlmIChldmVudFNldC5ldmVudC5rZXlDb2RlICE9PSBUQUIpIHtcbiAgICAgICAgICAgICAgLy8gaWYgcXVlcnlpbmcgaXMgZGlzYWJsZWQsIG9ubHkgdGhlIHRhYiBrZXkgcHJlc3MgZXZlbnQgd2lsbCBiZSBwcm9wYWdhdGVkLCBzbyB0aGF0IHlvdSBjYW4gc3RpbGwgZGVmb2N1cy5cbiAgICAgICAgICAgICAgZXZlbnRTZXQuZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnRTZXQudmlydHVhbEN1cnNvclBvc2l0aW9uID09PSAwICYmXG4gICAgICAgICAgICBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID09PSAwICYmXG4gICAgICAgICAgICBldmVudFNldC5ldmVudC5rZXlDb2RlID09PSBCQUNLU1BBQ0UgJiZcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uICYmXG4gICAgICAgICAgICB0aGlzLmFsbG93Q2xlYXJcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0aW9uKCk7XG4gICAgICAgICAgICBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID0gdW5kZWZpbmVkOyAvLyBzZXQgdG8gbnVsbCB0byBwcmV2ZW50IGNvbnRpbnVpbmcgaW4gdGhlIHN0cmVhbVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodHlwZW9mIGV2ZW50U2V0LmlucHV0Q3Vyc29yUG9zaXRpb24gPT09ICdudW1iZXInICYmIGV2ZW50U2V0LmlucHV0Q3Vyc29yUG9zaXRpb24gPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9IDA7XG4gICAgICAgICAgfSBlbHNlIGlmIChldmVudFNldC52aXJ0dWFsQ3Vyc29yUG9zaXRpb24gPT09IC0xICYmIGV2ZW50U2V0LmV2ZW50LmtleUNvZGUgPT09IEFSUk9XX1JJR0hUKSB7XG4gICAgICAgICAgICBldmVudFNldC5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25LZXlib2FyZFNlbGVjdEFjdGlvbiQubmV4dChLZXlib2FyZFNlbGVjdEFjdGlvbi5VTlNFTEVDVCk7XG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9IDA7XG4gICAgICAgICAgICBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID0gdW5kZWZpbmVkOyAvLyBzZXQgdG8gbnVsbCB0byBwcmV2ZW50IGNvbnRpbnVpbmcgaW4gdGhlIHN0cmVhbVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGZpbHRlcigoZXZlbnRTZXQpID0+IHRoaXMuYWxsb3dRdWVyeSAmJiBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID09PSAwKSxcbiAgICAgICAgbWFwKChldmVudFNldCkgPT4gZXZlbnRTZXQuZXZlbnQpLFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBpbmNsdWRlcyhldmVudC5rZXlDb2RlLCBbQVJST1dfUklHSFQsIEFSUk9XX0xFRlQsIEJBQ0tTUEFDRV0pKSxcbiAgICAgICAgbWFwKChldmVudCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlydHVhbEN1cnNvclBvc2l0aW9uID0gU2luZ2xlU2VsZWN0Q29tcG9uZW50LmNhbGN1bGF0ZU5ld0N1cnNvclBvc3Rpb25PbktleWJvYXJkTmF2aWdhdGlvbihcbiAgICAgICAgICAgIHRoaXMudmlydHVhbEN1cnNvclBvc2l0aW9uLFxuICAgICAgICAgICAgZXZlbnQua2V5Q29kZVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGN1cnNvclBvc2l0aW9uOiB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbixcbiAgICAgICAgICAgIGV2ZW50XG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgocG9zaXRpb25TZXQpID0+IHtcbiAgICAgICAgICBjb25zdCBhY3Rpb24gPSBTaW5nbGVTZWxlY3RDb21wb25lbnQuZ2V0S2V5Ym9hcmRTZWxlY3RBY3Rpb24ocG9zaXRpb25TZXQuY3Vyc29yUG9zaXRpb24sIHBvc2l0aW9uU2V0LmV2ZW50LmtleUNvZGUpO1xuICAgICAgICAgIGlmIChhY3Rpb24gPT09IEtleWJvYXJkU2VsZWN0QWN0aW9uLk5FWFQpIHtcbiAgICAgICAgICAgIC8vIHByZXZlbnQgY3Vyc29yIGZyb20gbW92aW5nIGluIHRoZSBpbnB1dCBmaWVsZCwgd2hpbGUgd2UgYXJlIHN0aWxsIGluIHRoZSBzZWxlY3Rpb24gaXRlbXNcbiAgICAgICAgICAgIHBvc2l0aW9uU2V0LmV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBhY3Rpb247XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLnNlbGVjdGlvbktleWJvYXJkU2VsZWN0QWN0aW9uJCk7XG5cbiAgICBjb25zdCBrZXlib2FyZEV2ZW50cyA9IGdldEtleWJvYXJkTmF2aWdhdGlvbkV2ZW50cyhzb3VyY2VFbGVtZW50LCB0aGlzLmRlc3Ryb3llZCQpO1xuXG4gICAga2V5Ym9hcmRFdmVudHMudmVydGljYWxOYXZpZ2F0aW9uJC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH0pO1xuXG4gICAga2V5Ym9hcmRFdmVudHMuY2xvc2UkLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBFU0NBUEUgJiYgdGhpcy5kcm9wZG93bk9wZW4pIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICB9XG4gICAgICB0aGlzLm9wZW4ubmV4dChmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBrZXlib2FyZEV2ZW50cy5kcm9wZG93bktleWJvYXJkRXZlbnQkLnN1YnNjcmliZSh0aGlzLm9wdGlvbnNLZXlib2FyZFNlbGVjdEFjdGlvbiQpO1xuXG4gICAga2V5Ym9hcmRFdmVudHMuZW50ZXIkLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9wZW4ubmV4dCghdGhpcy5kcm9wZG93bk9wZW4pKTtcbiAgICBrZXlib2FyZEV2ZW50cy5zcGFjZSQucGlwZShmaWx0ZXIoKCkgPT4gIXRoaXMuYWxsb3dRdWVyeSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5kcm9wZG93bk9wZW4pIHtcbiAgICAgICAgdGhpcy5vcHRpb25zS2V5Ym9hcmRTZWxlY3RBY3Rpb24kLm5leHQoS2V5Ym9hcmRTZWxlY3RBY3Rpb24uRVhFQ1VURSk7XG4gICAgICB9XG4gICAgICB0aGlzLm9wZW4ubmV4dCghdGhpcy5kcm9wZG93bk9wZW4pO1xuICAgIH0pO1xuXG4gICAga2V5Ym9hcmRFdmVudHMub3Blbk9uQXJyb3dEb3duJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vcGVuLm5leHQodHJ1ZSkpO1xuICB9XG5cbiAgc2VsZWN0T3B0aW9uKG9wdGlvbjogYW55KSB7XG4gICAgdGhpcy5zZWxlY3Rpb24gPSBvcHRpb247XG5cbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KG9wdGlvbik7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2Uob3B0aW9uKTtcblxuICAgIHRoaXMucmVzZXRTZWxlY3RTdGF0ZSgpO1xuXG4gICAgLy8gVGhpcyB0aW1lb3V0IG1ha2VzIHN1cmUgdGhhdCB0aGUgZHJvcGRvd24gd2lsbCBiZSBjbG9zZWQgYXQgdGhlIGVuZFxuICAgIC8vIG9mIGFsbCB0aGUgY2FsbGJhY2tzIGluIHRoZSBvcGVuIHN1YnNjcmlwdGlvbnMuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm9wZW4ubmV4dChmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVTZWxlY3Rpb24oKSB7XG4gICAgdGhpcy5zZWxlY3Rpb24gPSBudWxsO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0aW9uKTtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGlvbik7XG5cbiAgICB0aGlzLnJlc2V0U2VsZWN0U3RhdGUoKTtcbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZShfdmFsdWU6IGFueSkge31cblxuICB3cml0ZVZhbHVlKG5ld1NlbGVjdGlvbjogYW55KSB7XG4gICAgdGhpcy5zZWxlY3Rpb24gPSBuZXdTZWxlY3Rpb247XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChfZm46IGFueSkge31cblxuICBmb2N1c2VkVmlhVGFiKCkge1xuICAgIHRoaXMuaXNJbnB1dEZvY3VzZWRWaWFUYWIgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXRlcm1pbmVIaWdobGlnaHRJbmRleChvcHRpb25zOiBhbnlbXSwgc2VsZWN0aW9uOiBhbnksIGl0ZW1LZXk/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gaXRlbUtleVxuICAgICAgPyBvcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiBpc0VxdWFsKGdldChpdGVtS2V5LCBzZWxlY3Rpb24pLCBnZXQoaXRlbUtleSwgb3B0aW9uKSkgfHwgaXNFcXVhbChzZWxlY3Rpb24sIGdldChpdGVtS2V5LCBvcHRpb24pKSlcbiAgICAgIDogb3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT4gaXNFcXVhbChzZWxlY3Rpb24sIG9wdGlvbikpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZHJvcGRvd25PcGVuXCIgY2xhc3M9XCJiYWNrZHJvcFwiIChjbGljayk9XCJoYW5kbGVCYWNrZHJvcENsaWNrKCRldmVudClcIj48L2Rpdj5cbjxkaXZcbiAgW2x4TWFya0ludmFsaWRdPVwibWFya0ludmFsaWRcIlxuICBjbGFzcz1cInNlbGVjdENvbnRhaW5lciB7eyBwYWRkaW5nIH19UGFkZGluZ1wiXG4gIFtjbGFzcy5vcGVuXT1cImRyb3Bkb3duT3BlblwiXG4gIFtjbGFzcy50b3BdPVwiKGRyb3Bkb3duRGlyZWN0aW9uJCB8IGFzeW5jKSA9PT0gJ1RPUCdcIlxuICBbY2xhc3MuYm90dG9tXT1cIihkcm9wZG93bkRpcmVjdGlvbiQgfCBhc3luYykgPT09ICdCT1RUT00nXCJcbiAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLmdyYXlCYWNrZ3JvdW5kXT1cInNlbGVjdGlvbkJhY2tncm91bmQgPT09ICdncmF5J1wiXG4gIFtjbGFzcy5kZWZhdWx0U2l6ZV09XCJzaXplID09PSAnZGVmYXVsdCdcIlxuICBbY2xhc3Muc21hbGxTaXplXT1cInNpemUgPT09ICdzbWFsbCdcIlxuICBbY2xhc3Muc2VsZWN0MlNpemVdPVwic2l6ZSA9PT0gJ3NlbGVjdDInXCJcbiAgW2NsYXNzLmxhcmdlU2l6ZV09XCJzaXplID09PSAnbGFyZ2UnXCJcbiAgW3N0eWxlLmN1cnNvcl09XCJjdXJzb3JTdHlsZVwiXG4gIFtjbGFzcy5mb2N1c2VkXT1cImlzSW5wdXRGb2N1c2VkXCJcbiAgW2NsYXNzLmZvY3VzZWRWaXNpYmxlXT1cImlzSW5wdXRGb2N1c2VkVmlhVGFiXCJcbiAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudC50YXJnZXQgPT09IHRvZ2dsZSlcIlxuPlxuICA8ZGl2IGNsYXNzPVwic2VsZWN0aW9uQ29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0Q29udGFpbmVyXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIXNlbGVjdGlvbiAmJiAhcXVlcnlJbnB1dD8udmFsdWVcIiBjbGFzcz1cInBsYWNlaG9sZGVyXCIgW2F0dHIudGl0bGVdPVwicGxhY2Vob2xkZXJcIj5cbiAgICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cIiFhbGxvd1F1ZXJ5IHx8ICFxdWVyeUlucHV0Py52YWx1ZVwiXG4gICAgICAgIGNsYXNzPVwic2VsZWN0aW9uXCJcbiAgICAgICAgW2NsYXNzLmxvd2VyT3BhY2l0eV09XCJhbGxvd1F1ZXJ5ICYmICFxdWVyeUlucHV0Py52YWx1ZSAmJiBkcm9wZG93bk9wZW5cIlxuICAgICAgICBbY2xhc3MubGlnaHRncmF5Q29sb3JdPVwiIWFsbG93UXVlcnkgJiYgZHJvcGRvd25PcGVuXCJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgZm9jdXMoKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWxlY3RlZE9wdGlvblRtcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlucHV0XG4gICAgICAgICNxdWVyeUlucHV0XG4gICAgICAgIGNsYXNzPVwicXVlcnlJbnB1dFwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW2NsYXNzLmlzSGlkZGVuXT1cIiFhbGxvd1F1ZXJ5XCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICAoZm9jdXMpPVwiaXNJbnB1dEZvY3VzZWQgPSB0cnVlXCJcbiAgICAgICAgKGJsdXIpPVwiaXNJbnB1dEZvY3VzZWQgPSBmYWxzZTsgaXNJbnB1dEZvY3VzZWRWaWFUYWIgPSBmYWxzZTsgYmx1ci5lbWl0KCRldmVudClcIlxuICAgICAgICAoa2V5dXAudGFiKT1cImZvY3VzZWRWaWFUYWIoKVwiXG4gICAgICAgIChrZXl1cC5zaGlmdC50YWIpPVwiZm9jdXNlZFZpYVRhYigpXCJcbiAgICAgICAgW3RhYkluZGV4XT1cImRpc2FibGVkID8gLTEgOiB0YWJJbmRleFwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJxdWVyeUNvbnRyb2xcIlxuICAgICAgICBbcmVhZE9ubHldPVwiIWFsbG93UXVlcnlcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaWNvbkNvbnRhaW5lclwiPlxuICAgICAgPGkgKm5nSWY9XCJzZWxlY3Rpb24gJiYgYWxsb3dDbGVhciAmJiAhZGlzYWJsZWRcIiBjbGFzcz1cImZhciBmYS10aW1lc1wiIChjbGljayk9XCJyZW1vdmVTZWxlY3Rpb24oKVwiPjwvaT5cbiAgICAgIDxpICN0b2dnbGUgY2xhc3M9XCJmYXMgZmEtYW5nbGUtZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJvcHRpb25zQ29udGFpbmVyXCIgW3N0eWxlLndpZHRoXT1cImRyb3Bkb3duV2lkdGhcIiAjb3B0aW9uc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZHJvcGRvd25PcGVuXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJvcGRvd25UbXBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc2VsZWN0ZWRPcHRpb24+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIi5zZWxlY3RlZE9wdGlvblwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2Ryb3Bkb3duPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCIuZHJvcGRvd25Db21wb25lbnRcIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
279
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL3NpbmdsZS1zZWxlY3Qvc2luZ2xlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL3NpbmdsZS1zZWxlY3Qvc2luZ2xlLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hG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c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVxQyxVQUFVO3NCQUFwRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZ2V0LCBpbmNsdWRlcywgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC9mcCc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTZWxlY3REcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc2VsZWN0LWRyb3Bkb3duLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTZWxlY3RlZE9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc2VsZWN0ZWQtb3B0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBUlJPV19MRUZULCBBUlJPV19SSUdIVCwgQkFDS1NQQUNFLCBFU0NBUEUsIFRBQiB9IGZyb20gJy4uLy4uL2hlbHBlcnMva2V5LWNvZGVzLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRLZXlib2FyZE5hdmlnYXRpb25FdmVudHMgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2tleWJvYXJkLW5hdmlnYXRpb24uaGVscGVycyc7XG5pbXBvcnQgeyBCYXNlU2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Jhc2Utc2VsZWN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTaW5nbGVTZWxlY3RQYWRkaW5nIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NpbmdsZS1zZWxlY3QtcGFkZGluZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFzaWNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2ljLWRyb3Bkb3duL2Jhc2ljLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLZXlib2FyZFNlbGVjdEFjdGlvbiB9IGZyb20gJy4uL2tleWJvYXJkLXNlbGVjdC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgdHlwZSBTaW5nbGVTZWxlY3RTaXplID0gJ2RlZmF1bHQnIHwgJ3NtYWxsJyB8ICdzZWxlY3QyJyB8ICdsYXJnZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x4LXNpbmdsZS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJ3NpbmdsZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc2luZ2xlLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2luZ2xlU2VsZWN0Q29tcG9uZW50KVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaW5nbGVTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VsZWN0RGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHB1YmxpYyBzdGF0aWMgY2FsY3VsYXRlTmV3Q3Vyc29yUG9zdGlvbk9uS2V5Ym9hcmROYXZpZ2F0aW9uKGN1cnNvclBvc2l0aW9uOiBudW1iZXIsIGtleUNvZGU6IG51bWJlcikge1xuICAgIHN3aXRjaCAoa2V5Q29kZSkge1xuICAgICAgY2FzZSBBUlJPV19MRUZUOlxuICAgICAgICBjdXJzb3JQb3NpdGlvbi0tO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQVJST1dfUklHSFQ6XG4gICAgICAgIGN1cnNvclBvc2l0aW9uKys7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gY3Vyc29yUG9zaXRpb247XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldEtleWJvYXJkU2VsZWN0QWN0aW9uKGN1cnNvclBvc2l0aW9uOiBudW1iZXIsIGtleUNvZGU6IG51bWJlcik6IEtleWJvYXJkU2VsZWN0QWN0aW9uIHwgbnVsbCB7XG4gICAgaWYgKGN1cnNvclBvc2l0aW9uIDw9IC0xICYmIGtleUNvZGUgPT09IEFSUk9XX1JJR0hUKSB7XG4gICAgICByZXR1cm4gS2V5Ym9hcmRTZWxlY3RBY3Rpb24uTkVYVDtcbiAgICB9XG4gICAgaWYgKGN1cnNvclBvc2l0aW9uID09PSAtMSAmJiBrZXlDb2RlID09PSBBUlJPV19MRUZUKSB7XG4gICAgICByZXR1cm4gS2V5Ym9hcmRTZWxlY3RBY3Rpb24uTEFTVDtcbiAgICB9XG4gICAgaWYgKGN1cnNvclBvc2l0aW9uIDwgLTEgJiYga2V5Q29kZSA9PT0gQVJST1dfTEVGVCkge1xuICAgICAgcmV0dXJuIEtleWJvYXJkU2VsZWN0QWN0aW9uLlBSRVY7XG4gICAgfVxuICAgIGlmIChjdXJzb3JQb3NpdGlvbiA8PSAtMSAmJiBrZXlDb2RlID09PSBCQUNLU1BBQ0UpIHtcbiAgICAgIHJldHVybiBLZXlib2FyZFNlbGVjdEFjdGlvbi5FWEVDVVRFO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBJbnB1dCgpIHNlbGVjdGlvbjogYW55O1xuICBASW5wdXQoKSBzZWxlY3Rpb25CYWNrZ3JvdW5kOiAnd2hpdGUnIHwgJ2dyYXknID0gJ3doaXRlJztcbiAgQElucHV0KCkgc2l6ZTogU2luZ2xlU2VsZWN0U2l6ZSA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgZHJvcGRvd25XaWR0aFNjYWxlOiAnMXgnIHwgJzEuNXgnIHwgJzJ4JyA9ICcxeCc7XG4gIEBJbnB1dCgpIHBhZGRpbmc/OiBTaW5nbGVTZWxlY3RQYWRkaW5nID0gJ2RlZmF1bHQnO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChTZWxlY3REcm9wZG93bkRpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pIGV4cGxpY2l0RHJvcGRvd24/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKFNlbGVjdGVkT3B0aW9uRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSkgZXhwbGljaXRTZWxlY3RlZE9wdGlvbj86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBDb250ZW50Q2hpbGQoQmFzaWNEcm9wZG93bkNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pIHByaXZhdGUgZHJvcGRvd25Db21wb25lbnQ/OiBCYXNpY0Ryb3Bkb3duQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdGVkT3B0aW9uJywgeyBzdGF0aWM6IHRydWUgfSkgaW1wbGljaXRTZWxlY3RlZE9wdGlvbiE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duJywgeyBzdGF0aWM6IHRydWUgfSkgaW1wbGljaXREcm9wZG93biE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgZ2V0IHNlbGVjdGVkT3B0aW9uVG1wbCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHBsaWNpdFNlbGVjdGVkT3B0aW9uIHx8IHRoaXMuaW1wbGljaXRTZWxlY3RlZE9wdGlvbjtcbiAgfVxuXG4gIGdldCBkcm9wZG93blRtcGwoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXhwbGljaXREcm9wZG93biB8fCB0aGlzLmltcGxpY2l0RHJvcGRvd247XG4gIH1cblxuICBASW5wdXQoKSBhbGxvd0NsZWFyID0gdHJ1ZTtcbiAgQElucHV0KCkgdGFiSW5kZXg6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmtJbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgncXVlcnlJbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIHF1ZXJ5SW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBpc0lucHV0Rm9jdXNlZFZpYVRhYiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCBjdXJzb3JTdHlsZSgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuICdkZWZhdWx0JztcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWxsb3dRdWVyeSkge1xuICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdwb2ludGVyJztcbiAgICB9XG4gIH1cblxuICBnZXQgZHJvcGRvd25XaWR0aCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHN3aXRjaCAodGhpcy5kcm9wZG93bldpZHRoU2NhbGUpIHtcbiAgICAgIGNhc2UgJzF4JzpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIGNhc2UgJzEuNXgnOlxuICAgICAgICByZXR1cm4gJzE1MCUnO1xuICAgICAgY2FzZSAnMngnOlxuICAgICAgICByZXR1cm4gJzIwMCUnO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0SW5wdXQoKSB7XG4gICAgdGhpcy5xdWVyeUNvbnRyb2wucmVzZXQoJycsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgfVxuXG4gIGZvY3VzKCkge1xuICAgIHRoaXMucXVlcnlJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBmb2N1c0FuZE9wZW4oKSB7XG4gICAgdGhpcy5xdWVyeUlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB0aGlzLm9wZW4ubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICB0aGlzLm9wZW5cbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBmaWx0ZXIoKG9wZW4pID0+IG9wZW4gJiYgISF0aGlzLmRyb3Bkb3duQ29tcG9uZW50KSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuc2VsZWN0aW9uKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGlvbikgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0aW9uKSB7XG4gICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmRldGVybWluZUhpZ2hsaWdodEluZGV4KHRoaXMuZHJvcGRvd25Db21wb25lbnQhLm9wdGlvbnMsIHNlbGVjdGlvbiwgdGhpcy5kcm9wZG93bkNvbXBvbmVudCEuaXRlbUtleSk7XG4gICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Db21wb25lbnQhLnNlbGVjdChpbmRleCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Rmlyc3RPcHRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RGaXJzdE9wdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIC8vIGtleWJvYXJkIGV2ZW50IGhhbmRsaW5nXG4gICAgY29uc3Qgc291cmNlRWxlbWVudCA9IHRoaXMucXVlcnlJbnB1dC5uYXRpdmVFbGVtZW50O1xuICAgIC8vIGhhbmRsZSBrZXlib2FyZCBuYXZpZ2F0aW9uIGZvciB0aGUgc2VsZWN0aW9uXG4gICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHNvdXJjZUVsZW1lbnQsICdrZXlkb3duJylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGV2ZW50KSA9PiB0aGlzLm1hcFRvRXZlbnRTZXQoZXZlbnQsIHNvdXJjZUVsZW1lbnQsIHRoaXMudmlydHVhbEN1cnNvclBvc2l0aW9uKSksXG4gICAgICAgIHRhcCgoZXZlbnRTZXQpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuYWxsb3dRdWVyeSAmJiBldmVudFNldC5ldmVudC5rZXlDb2RlICE9PSBCQUNLU1BBQ0UpIHtcbiAgICAgICAgICAgIC8vIGFkZGl0aW9uYWwgY2hlY2sgZm9yIGV2ZW4uY29kZSBmb3IgdXNlckV2ZW50IEFQSSBjb21wYXRpYmlsaXR5XG4gICAgICAgICAgICBpZiAoZXZlbnRTZXQuZXZlbnQua2V5Q29kZSAhPT0gVEFCICYmIGV2ZW50U2V0LmV2ZW50LmNvZGUgIT09ICdUYWInKSB7XG4gICAgICAgICAgICAgIC8vIGlmIHF1ZXJ5aW5nIGlzIGRpc2FibGVkLCBvbmx5IHRoZSB0YWIga2V5IHByZXNzIGV2ZW50IHdpbGwgYmUgcHJvcGFnYXRlZCwgc28gdGhhdCB5b3UgY2FuIHN0aWxsIGRlZm9jdXMuXG4gICAgICAgICAgICAgIGV2ZW50U2V0LmV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGV2ZW50U2V0LnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9PT0gMCAmJlxuICAgICAgICAgICAgZXZlbnRTZXQuaW5wdXRDdXJzb3JQb3NpdGlvbiA9PT0gMCAmJlxuICAgICAgICAgICAgZXZlbnRTZXQuZXZlbnQua2V5Q29kZSA9PT0gQkFDS1NQQUNFICYmXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbiAmJlxuICAgICAgICAgICAgdGhpcy5hbGxvd0NsZWFyXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGlvbigpO1xuICAgICAgICAgICAgZXZlbnRTZXQuaW5wdXRDdXJzb3JQb3NpdGlvbiA9IHVuZGVmaW5lZDsgLy8gc2V0IHRvIG51bGwgdG8gcHJldmVudCBjb250aW51aW5nIGluIHRoZSBzdHJlYW1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHR5cGVvZiBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID09PSAnbnVtYmVyJyAmJiBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID4gMCkge1xuICAgICAgICAgICAgdGhpcy52aXJ0dWFsQ3Vyc29yUG9zaXRpb24gPSAwO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnRTZXQudmlydHVhbEN1cnNvclBvc2l0aW9uID09PSAtMSAmJiBldmVudFNldC5ldmVudC5rZXlDb2RlID09PSBBUlJPV19SSUdIVCkge1xuICAgICAgICAgICAgZXZlbnRTZXQuZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uS2V5Ym9hcmRTZWxlY3RBY3Rpb24kLm5leHQoS2V5Ym9hcmRTZWxlY3RBY3Rpb24uVU5TRUxFQ1QpO1xuICAgICAgICAgICAgdGhpcy52aXJ0dWFsQ3Vyc29yUG9zaXRpb24gPSAwO1xuICAgICAgICAgICAgZXZlbnRTZXQuaW5wdXRDdXJzb3JQb3NpdGlvbiA9IHVuZGVmaW5lZDsgLy8gc2V0IHRvIG51bGwgdG8gcHJldmVudCBjb250aW51aW5nIGluIHRoZSBzdHJlYW1cbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBmaWx0ZXIoKGV2ZW50U2V0KSA9PiB0aGlzLmFsbG93UXVlcnkgJiYgZXZlbnRTZXQuaW5wdXRDdXJzb3JQb3NpdGlvbiA9PT0gMCksXG4gICAgICAgIG1hcCgoZXZlbnRTZXQpID0+IGV2ZW50U2V0LmV2ZW50KSxcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gaW5jbHVkZXMoZXZlbnQua2V5Q29kZSwgW0FSUk9XX1JJR0hULCBBUlJPV19MRUZULCBCQUNLU1BBQ0VdKSksXG4gICAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9IFNpbmdsZVNlbGVjdENvbXBvbmVudC5jYWxjdWxhdGVOZXdDdXJzb3JQb3N0aW9uT25LZXlib2FyZE5hdmlnYXRpb24oXG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbixcbiAgICAgICAgICAgIGV2ZW50LmtleUNvZGVcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjdXJzb3JQb3NpdGlvbjogdGhpcy52aXJ0dWFsQ3Vyc29yUG9zaXRpb24sXG4gICAgICAgICAgICBldmVudFxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKHBvc2l0aW9uU2V0KSA9PiB7XG4gICAgICAgICAgY29uc3QgYWN0aW9uID0gU2luZ2xlU2VsZWN0Q29tcG9uZW50LmdldEtleWJvYXJkU2VsZWN0QWN0aW9uKHBvc2l0aW9uU2V0LmN1cnNvclBvc2l0aW9uLCBwb3NpdGlvblNldC5ldmVudC5rZXlDb2RlKTtcbiAgICAgICAgICBpZiAoYWN0aW9uID09PSBLZXlib2FyZFNlbGVjdEFjdGlvbi5ORVhUKSB7XG4gICAgICAgICAgICAvLyBwcmV2ZW50IGN1cnNvciBmcm9tIG1vdmluZyBpbiB0aGUgaW5wdXQgZmllbGQsIHdoaWxlIHdlIGFyZSBzdGlsbCBpbiB0aGUgc2VsZWN0aW9uIGl0ZW1zXG4gICAgICAgICAgICBwb3NpdGlvblNldC5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYWN0aW9uO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5zZWxlY3Rpb25LZXlib2FyZFNlbGVjdEFjdGlvbiQpO1xuXG4gICAgY29uc3Qga2V5Ym9hcmRFdmVudHMgPSBnZXRLZXlib2FyZE5hdmlnYXRpb25FdmVudHMoc291cmNlRWxlbWVudCwgdGhpcy5kZXN0cm95ZWQkKTtcblxuICAgIGtleWJvYXJkRXZlbnRzLnZlcnRpY2FsTmF2aWdhdGlvbiQuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9KTtcblxuICAgIGtleWJvYXJkRXZlbnRzLmNsb3NlJC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFICYmIHRoaXMuZHJvcGRvd25PcGVuKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgfVxuICAgICAgdGhpcy5vcGVuLm5leHQoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAga2V5Ym9hcmRFdmVudHMuZHJvcGRvd25LZXlib2FyZEV2ZW50JC5zdWJzY3JpYmUodGhpcy5vcHRpb25zS2V5Ym9hcmRTZWxlY3RBY3Rpb24kKTtcblxuICAgIGtleWJvYXJkRXZlbnRzLmVudGVyJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vcGVuLm5leHQoIXRoaXMuZHJvcGRvd25PcGVuKSk7XG4gICAga2V5Ym9hcmRFdmVudHMuc3BhY2UkLnBpcGUoZmlsdGVyKCgpID0+ICF0aGlzLmFsbG93UXVlcnkpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZHJvcGRvd25PcGVuKSB7XG4gICAgICAgIHRoaXMub3B0aW9uc0tleWJvYXJkU2VsZWN0QWN0aW9uJC5uZXh0KEtleWJvYXJkU2VsZWN0QWN0aW9uLkVYRUNVVEUpO1xuICAgICAgfVxuICAgICAgdGhpcy5vcGVuLm5leHQoIXRoaXMuZHJvcGRvd25PcGVuKTtcbiAgICB9KTtcblxuICAgIGtleWJvYXJkRXZlbnRzLm9wZW5PbkFycm93RG93biQuc3Vic2NyaWJlKCgpID0+IHRoaXMub3Blbi5uZXh0KHRydWUpKTtcbiAgfVxuXG4gIHNlbGVjdE9wdGlvbihvcHRpb246IGFueSkge1xuICAgIHRoaXMuc2VsZWN0aW9uID0gb3B0aW9uO1xuXG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChvcHRpb24pO1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKG9wdGlvbik7XG5cbiAgICB0aGlzLnJlc2V0U2VsZWN0U3RhdGUoKTtcblxuICAgIC8vIFRoaXMgdGltZW91dCBtYWtlcyBzdXJlIHRoYXQgdGhlIGRyb3Bkb3duIHdpbGwgYmUgY2xvc2VkIGF0IHRoZSBlbmRcbiAgICAvLyBvZiBhbGwgdGhlIGNhbGxiYWNrcyBpbiB0aGUgb3BlbiBzdWJzY3JpcHRpb25zLlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5vcGVuLm5leHQoZmFsc2UpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlU2VsZWN0aW9uKCkge1xuICAgIHRoaXMuc2VsZWN0aW9uID0gbnVsbDtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGlvbik7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3Rpb24pO1xuXG4gICAgdGhpcy5yZXNldFNlbGVjdFN0YXRlKCk7XG4gIH1cblxuICBwcm9wYWdhdGVDaGFuZ2UoX3ZhbHVlOiBhbnkpIHt9XG5cbiAgd3JpdGVWYWx1ZShuZXdTZWxlY3Rpb246IGFueSkge1xuICAgIHRoaXMuc2VsZWN0aW9uID0gbmV3U2VsZWN0aW9uO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoX2ZuOiBhbnkpIHt9XG5cbiAgZm9jdXNlZFZpYVRhYigpIHtcbiAgICB0aGlzLmlzSW5wdXRGb2N1c2VkVmlhVGFiID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZGV0ZXJtaW5lSGlnaGxpZ2h0SW5kZXgob3B0aW9uczogYW55W10sIHNlbGVjdGlvbjogYW55LCBpdGVtS2V5Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGl0ZW1LZXlcbiAgICAgID8gb3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT4gaXNFcXVhbChnZXQoaXRlbUtleSwgc2VsZWN0aW9uKSwgZ2V0KGl0ZW1LZXksIG9wdGlvbikpIHx8IGlzRXF1YWwoc2VsZWN0aW9uLCBnZXQoaXRlbUtleSwgb3B0aW9uKSkpXG4gICAgICA6IG9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+IGlzRXF1YWwoc2VsZWN0aW9uLCBvcHRpb24pKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImRyb3Bkb3duT3BlblwiIGNsYXNzPVwiYmFja2Ryb3BcIiAoY2xpY2spPVwiaGFuZGxlQmFja2Ryb3BDbGljaygkZXZlbnQpXCI+PC9kaXY+XG48ZGl2XG4gIFtseE1hcmtJbnZhbGlkXT1cIm1hcmtJbnZhbGlkXCJcbiAgY2xhc3M9XCJzZWxlY3RDb250YWluZXIge3sgcGFkZGluZyB9fVBhZGRpbmdcIlxuICBbY2xhc3Mub3Blbl09XCJkcm9wZG93bk9wZW5cIlxuICBbY2xhc3MudG9wXT1cIihkcm9wZG93bkRpcmVjdGlvbiQgfCBhc3luYykgPT09ICdUT1AnXCJcbiAgW2NsYXNzLmJvdHRvbV09XCIoZHJvcGRvd25EaXJlY3Rpb24kIHwgYXN5bmMpID09PSAnQk9UVE9NJ1wiXG4gIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5ncmF5QmFja2dyb3VuZF09XCJzZWxlY3Rpb25CYWNrZ3JvdW5kID09PSAnZ3JheSdcIlxuICBbY2xhc3MuZGVmYXVsdFNpemVdPVwic2l6ZSA9PT0gJ2RlZmF1bHQnXCJcbiAgW2NsYXNzLnNtYWxsU2l6ZV09XCJzaXplID09PSAnc21hbGwnXCJcbiAgW2NsYXNzLnNlbGVjdDJTaXplXT1cInNpemUgPT09ICdzZWxlY3QyJ1wiXG4gIFtjbGFzcy5sYXJnZVNpemVdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gIFtzdHlsZS5jdXJzb3JdPVwiY3Vyc29yU3R5bGVcIlxuICBbY2xhc3MuZm9jdXNlZF09XCJpc0lucHV0Rm9jdXNlZFwiXG4gIFtjbGFzcy5mb2N1c2VkVmlzaWJsZV09XCJpc0lucHV0Rm9jdXNlZFZpYVRhYlwiXG4gIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQudGFyZ2V0ID09PSB0b2dnbGUpXCJcbj5cbiAgPGRpdiBjbGFzcz1cInNlbGVjdGlvbkNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dENvbnRhaW5lclwiPlxuICAgICAgPGRpdiAqbmdJZj1cIiFzZWxlY3Rpb24gJiYgIXF1ZXJ5SW5wdXQ/LnZhbHVlXCIgY2xhc3M9XCJwbGFjZWhvbGRlclwiIFthdHRyLnRpdGxlXT1cInBsYWNlaG9sZGVyXCI+XG4gICAgICAgIHt7IHBsYWNlaG9sZGVyIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCIhYWxsb3dRdWVyeSB8fCAhcXVlcnlJbnB1dD8udmFsdWVcIlxuICAgICAgICBjbGFzcz1cInNlbGVjdGlvblwiXG4gICAgICAgIFtjbGFzcy5sb3dlck9wYWNpdHldPVwiYWxsb3dRdWVyeSAmJiAhcXVlcnlJbnB1dD8udmFsdWUgJiYgZHJvcGRvd25PcGVuXCJcbiAgICAgICAgW2NsYXNzLmxpZ2h0Z3JheUNvbG9yXT1cIiFhbGxvd1F1ZXJ5ICYmIGRyb3Bkb3duT3BlblwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGZvY3VzKClcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VsZWN0ZWRPcHRpb25UbXBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjcXVlcnlJbnB1dFxuICAgICAgICBjbGFzcz1cInF1ZXJ5SW5wdXRcIlxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIFtjbGFzcy5pc0hpZGRlbl09XCIhYWxsb3dRdWVyeVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgKGZvY3VzKT1cImlzSW5wdXRGb2N1c2VkID0gdHJ1ZVwiXG4gICAgICAgIChibHVyKT1cImlzSW5wdXRGb2N1c2VkID0gZmFsc2U7IGlzSW5wdXRGb2N1c2VkVmlhVGFiID0gZmFsc2U7IGJsdXIuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGtleXVwLnRhYik9XCJmb2N1c2VkVmlhVGFiKClcIlxuICAgICAgICAoa2V5dXAuc2hpZnQudGFiKT1cImZvY3VzZWRWaWFUYWIoKVwiXG4gICAgICAgIFt0YWJJbmRleF09XCJkaXNhYmxlZCA/IC0xIDogdGFiSW5kZXhcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwicXVlcnlDb250cm9sXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cIiFhbGxvd1F1ZXJ5XCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImljb25Db250YWluZXJcIj5cbiAgICAgIDxpICpuZ0lmPVwic2VsZWN0aW9uICYmIGFsbG93Q2xlYXIgJiYgIWRpc2FibGVkXCIgY2xhc3M9XCJmYXIgZmEtdGltZXNcIiAoY2xpY2spPVwicmVtb3ZlU2VsZWN0aW9uKClcIj48L2k+XG4gICAgICA8aSAjdG9nZ2xlIGNsYXNzPVwiZmFzIGZhLWFuZ2xlLWRvd25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwib3B0aW9uc0NvbnRhaW5lclwiIFtzdHlsZS53aWR0aF09XCJkcm9wZG93bldpZHRoXCIgI29wdGlvbnNDb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRyb3Bkb3duT3BlblwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyb3Bkb3duVG1wbFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3NlbGVjdGVkT3B0aW9uPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCIuc2VsZWN0ZWRPcHRpb25cIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNkcm9wZG93bj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLmRyb3Bkb3duQ29tcG9uZW50XCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -19,11 +19,11 @@ export class SliderToggleComponent {
19
19
  setTimeout(() => checkbox.focus(), 150);
20
20
  }
21
21
  }
22
- SliderToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SliderToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- SliderToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: SliderToggleComponent, selector: "lx-slider-toggle", inputs: { value: "value", size: "size", disabled: "disabled", label: "label", labelInFront: "labelInFront", elementId: "elementId" }, outputs: { toggle: "toggle" }, ngImport: i0, template: "<div\n class=\"wrapper\"\n [class.withLabel]=\"label\"\n [class.withLabelBehind]=\"label && !labelInFront\"\n [class.disabled]=\"disabled\"\n [attr.id]=\"id\"\n [class.small]=\"size === 'small'\"\n>\n <span *ngIf=\"label\" class=\"labelText\" [class.off]=\"!value\">{{ label }}</span>\n <label class=\"checkbox\" [class.small]=\"size === 'small'\">\n <input\n #inputRef\n type=\"checkbox\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n (click)=\"inputRef.blur()\"\n (change)=\"onToggle()\"\n (keydown.space)=\"focus(inputRef)\"\n (keydown.enter)=\"onToggle()\"\n />\n <span class=\"slider\"></span>\n </label>\n</div>\n", styles: [":host{display:block}.wrapper{display:inline-block}.wrapper.withLabel{display:block}.wrapper.withLabel .checkbox{float:right;margin-top:1px}.wrapper.withLabelBehind .checkbox{float:left;margin-right:2px}.disabled{opacity:.5}.disabled .slider{cursor:default}.checkbox{position:relative;display:inline-block;margin:0}.labelText{color:#2a303d}.labelText.off{color:#526179}input{opacity:0;width:0;height:0;margin:0;padding:0}.small.checkbox{width:22px;height:14px}.small.wrapper:not(.withLabel){height:14px}.small .labelText{font-size:12px}.small .slider{border-radius:7px}.small .slider:before{height:12px;width:12px;left:1px;bottom:1px}.small input:checked+.slider:before{transform:translate(8px)}input:focus+.slider:before{box-shadow:0 0 0 6px #0003;transition:box-shadow .2s ease}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#b2bccc;transition:transform .2s}.slider:before{position:absolute;content:\"\";border-radius:50%;background-color:#fff;transition:transform .2s}input:checked+.slider{background-color:#33cc58}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SliderToggleComponent, decorators: [{
22
+ SliderToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SliderToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ SliderToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: SliderToggleComponent, selector: "lx-slider-toggle", inputs: { value: "value", size: "size", disabled: "disabled", label: "label", labelInFront: "labelInFront", elementId: "elementId" }, outputs: { toggle: "toggle" }, ngImport: i0, template: "<div\n class=\"wrapper\"\n [class.withLabel]=\"label\"\n [class.withLabelBehind]=\"label && !labelInFront\"\n [class.disabled]=\"disabled\"\n [attr.id]=\"id\"\n [class.small]=\"size === 'small'\"\n>\n <span *ngIf=\"label\" class=\"labelText\" [class.off]=\"!value\">{{ label }}</span>\n <label class=\"checkbox\" [class.small]=\"size === 'small'\">\n <input\n #inputRef\n type=\"checkbox\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n (click)=\"inputRef.blur()\"\n (change)=\"onToggle()\"\n (keydown.space)=\"focus(inputRef)\"\n (keydown.enter)=\"onToggle()\"\n />\n <span class=\"slider\"></span>\n </label>\n</div>\n", styles: [":host{display:block}.wrapper{display:inline-block}.wrapper.withLabel{display:block}.wrapper.withLabel .checkbox{float:right;margin-top:1px}.wrapper.withLabelBehind .checkbox{float:left;margin-right:2px}.disabled{opacity:.5}.disabled .slider{cursor:default}.checkbox{position:relative;display:inline-block;margin:0}.labelText{color:#2a303d}.labelText.off{color:#526179}input{opacity:0;width:0;height:0;margin:0;padding:0}.small.checkbox{width:22px;height:14px}.small.wrapper:not(.withLabel){height:14px}.small .labelText{font-size:12px}.small .slider{border-radius:7px}.small .slider:before{height:12px;width:12px;left:1px;bottom:1px}.small input:checked+.slider:before{transform:translate(8px)}input:focus+.slider:before{box-shadow:0 0 0 6px #0003;transition:box-shadow .2s ease}.slider{position:absolute;cursor:pointer;inset:0;background-color:#b2bccc;transition:transform .2s}.slider:before{position:absolute;content:\"\";border-radius:50%;background-color:#fff;transition:transform .2s}input:checked+.slider{background-color:#33cc58}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SliderToggleComponent, decorators: [{
25
25
  type: Component,
26
- args: [{ selector: 'lx-slider-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"wrapper\"\n [class.withLabel]=\"label\"\n [class.withLabelBehind]=\"label && !labelInFront\"\n [class.disabled]=\"disabled\"\n [attr.id]=\"id\"\n [class.small]=\"size === 'small'\"\n>\n <span *ngIf=\"label\" class=\"labelText\" [class.off]=\"!value\">{{ label }}</span>\n <label class=\"checkbox\" [class.small]=\"size === 'small'\">\n <input\n #inputRef\n type=\"checkbox\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n (click)=\"inputRef.blur()\"\n (change)=\"onToggle()\"\n (keydown.space)=\"focus(inputRef)\"\n (keydown.enter)=\"onToggle()\"\n />\n <span class=\"slider\"></span>\n </label>\n</div>\n", styles: [":host{display:block}.wrapper{display:inline-block}.wrapper.withLabel{display:block}.wrapper.withLabel .checkbox{float:right;margin-top:1px}.wrapper.withLabelBehind .checkbox{float:left;margin-right:2px}.disabled{opacity:.5}.disabled .slider{cursor:default}.checkbox{position:relative;display:inline-block;margin:0}.labelText{color:#2a303d}.labelText.off{color:#526179}input{opacity:0;width:0;height:0;margin:0;padding:0}.small.checkbox{width:22px;height:14px}.small.wrapper:not(.withLabel){height:14px}.small .labelText{font-size:12px}.small .slider{border-radius:7px}.small .slider:before{height:12px;width:12px;left:1px;bottom:1px}.small input:checked+.slider:before{transform:translate(8px)}input:focus+.slider:before{box-shadow:0 0 0 6px #0003;transition:box-shadow .2s ease}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#b2bccc;transition:transform .2s}.slider:before{position:absolute;content:\"\";border-radius:50%;background-color:#fff;transition:transform .2s}input:checked+.slider{background-color:#33cc58}\n"] }]
26
+ args: [{ selector: 'lx-slider-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"wrapper\"\n [class.withLabel]=\"label\"\n [class.withLabelBehind]=\"label && !labelInFront\"\n [class.disabled]=\"disabled\"\n [attr.id]=\"id\"\n [class.small]=\"size === 'small'\"\n>\n <span *ngIf=\"label\" class=\"labelText\" [class.off]=\"!value\">{{ label }}</span>\n <label class=\"checkbox\" [class.small]=\"size === 'small'\">\n <input\n #inputRef\n type=\"checkbox\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n (click)=\"inputRef.blur()\"\n (change)=\"onToggle()\"\n (keydown.space)=\"focus(inputRef)\"\n (keydown.enter)=\"onToggle()\"\n />\n <span class=\"slider\"></span>\n </label>\n</div>\n", styles: [":host{display:block}.wrapper{display:inline-block}.wrapper.withLabel{display:block}.wrapper.withLabel .checkbox{float:right;margin-top:1px}.wrapper.withLabelBehind .checkbox{float:left;margin-right:2px}.disabled{opacity:.5}.disabled .slider{cursor:default}.checkbox{position:relative;display:inline-block;margin:0}.labelText{color:#2a303d}.labelText.off{color:#526179}input{opacity:0;width:0;height:0;margin:0;padding:0}.small.checkbox{width:22px;height:14px}.small.wrapper:not(.withLabel){height:14px}.small .labelText{font-size:12px}.small .slider{border-radius:7px}.small .slider:before{height:12px;width:12px;left:1px;bottom:1px}.small input:checked+.slider:before{transform:translate(8px)}input:focus+.slider:before{box-shadow:0 0 0 6px #0003;transition:box-shadow .2s ease}.slider{position:absolute;cursor:pointer;inset:0;background-color:#b2bccc;transition:transform .2s}.slider:before{position:absolute;content:\"\";border-radius:50%;background-color:#fff;transition:transform .2s}input:checked+.slider{background-color:#33cc58}\n"] }]
27
27
  }], propDecorators: { value: [{
28
28
  type: Input
29
29
  }], size: [{
@@ -44,9 +44,9 @@ export class SortingDropdownComponent {
44
44
  return key ? `sorting.${key}.label` : '';
45
45
  }
46
46
  }
47
- SortingDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SortingDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
- SortingDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: SortingDropdownComponent, selector: "lx-sorting-dropdown", inputs: { currentSorting: "currentSorting", sortingOptions: "sortingOptions", showDirectionOptions: "showDirectionOptions" }, outputs: { apply: "apply" }, ngImport: i0, template: "<lx-options-dropdown *ngIf=\"currentSorting\">\n <lx-sorting-dropdown-trigger\n lxKeyboardActionSource\n [label]=\"NAME + '.sortBy' | translate\"\n [currentSortingLabel]=\"getSortLabel(currentSorting.key) | translate\"\n >\n </lx-sorting-dropdown-trigger>\n <lx-option-group (select)=\"applySortingMode($event)\">\n <lx-option *ngFor=\"let option of sortingOptions\" [value]=\"option\" [selected]=\"option.key === currentSorting.key\">\n {{ getSortLabel(option?.key) | translate }}\n </lx-option>\n </lx-option-group>\n <lx-option-group *ngIf=\"showDirectionOptions\" (select)=\"applySortingDirection($event)\">\n <lx-option *ngFor=\"let sortDirection of sortingDirections\" [value]=\"sortDirection\" [selected]=\"sortDirection === currentSorting.order\">\n {{ 'sorting.' + currentSorting.key + '.' + sortDirection | translate }}\n </lx-option>\n </lx-option-group>\n</lx-options-dropdown>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.KeyboardActionSourceDirective, selector: "[lxKeyboardActionSource]", exportAs: ["keyboardActionSource"] }, { kind: "component", type: i3.OptionComponent, selector: "lx-option", inputs: ["selected", "isHighlighted", "disabled", "value", "hasSelectedState", "selectIcon"], outputs: ["select", "highlight", "selectedClick"] }, { kind: "component", type: i4.OptionGroupComponent, selector: "lx-option-group", inputs: ["hasSelectedState", "label"], outputs: ["select"] }, { kind: "component", type: i5.OptionsDropdownComponent, selector: "lx-options-dropdown", inputs: ["align", "closeOnScroll", "disabled", "maxHeight", "closeOnSelect"] }, { kind: "component", type: i6.SortingDropdownTriggerComponent, selector: "lx-sorting-dropdown-trigger", inputs: ["label", "currentSortingLabel", "disabled"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SortingDropdownComponent, decorators: [{
47
+ SortingDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SortingDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
+ SortingDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: SortingDropdownComponent, selector: "lx-sorting-dropdown", inputs: { currentSorting: "currentSorting", sortingOptions: "sortingOptions", showDirectionOptions: "showDirectionOptions" }, outputs: { apply: "apply" }, ngImport: i0, template: "<lx-options-dropdown *ngIf=\"currentSorting\">\n <lx-sorting-dropdown-trigger\n lxKeyboardActionSource\n [label]=\"NAME + '.sortBy' | translate\"\n [currentSortingLabel]=\"getSortLabel(currentSorting.key) | translate\"\n >\n </lx-sorting-dropdown-trigger>\n <lx-option-group (select)=\"applySortingMode($event)\">\n <lx-option *ngFor=\"let option of sortingOptions\" [value]=\"option\" [selected]=\"option.key === currentSorting.key\">\n {{ getSortLabel(option?.key) | translate }}\n </lx-option>\n </lx-option-group>\n <lx-option-group *ngIf=\"showDirectionOptions\" (select)=\"applySortingDirection($event)\">\n <lx-option *ngFor=\"let sortDirection of sortingDirections\" [value]=\"sortDirection\" [selected]=\"sortDirection === currentSorting.order\">\n {{ 'sorting.' + currentSorting.key + '.' + sortDirection | translate }}\n </lx-option>\n </lx-option-group>\n</lx-options-dropdown>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.KeyboardActionSourceDirective, selector: "[lxKeyboardActionSource]", exportAs: ["keyboardActionSource"] }, { kind: "component", type: i3.OptionComponent, selector: "lx-option", inputs: ["selected", "isHighlighted", "disabled", "value", "hasSelectedState", "selectIcon"], outputs: ["select", "highlight", "selectedClick"] }, { kind: "component", type: i4.OptionGroupComponent, selector: "lx-option-group", inputs: ["hasSelectedState", "label"], outputs: ["select"] }, { kind: "component", type: i5.OptionsDropdownComponent, selector: "lx-options-dropdown", inputs: ["align", "closeOnScroll", "disabled", "maxHeight", "closeOnSelect"] }, { kind: "component", type: i6.SortingDropdownTriggerComponent, selector: "lx-sorting-dropdown-trigger", inputs: ["label", "currentSortingLabel", "disabled"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SortingDropdownComponent, decorators: [{
50
50
  type: Component,
51
51
  args: [{ selector: 'lx-sorting-dropdown', template: "<lx-options-dropdown *ngIf=\"currentSorting\">\n <lx-sorting-dropdown-trigger\n lxKeyboardActionSource\n [label]=\"NAME + '.sortBy' | translate\"\n [currentSortingLabel]=\"getSortLabel(currentSorting.key) | translate\"\n >\n </lx-sorting-dropdown-trigger>\n <lx-option-group (select)=\"applySortingMode($event)\">\n <lx-option *ngFor=\"let option of sortingOptions\" [value]=\"option\" [selected]=\"option.key === currentSorting.key\">\n {{ getSortLabel(option?.key) | translate }}\n </lx-option>\n </lx-option-group>\n <lx-option-group *ngIf=\"showDirectionOptions\" (select)=\"applySortingDirection($event)\">\n <lx-option *ngFor=\"let sortDirection of sortingDirections\" [value]=\"sortDirection\" [selected]=\"sortDirection === currentSorting.order\">\n {{ 'sorting.' + currentSorting.key + '.' + sortDirection | translate }}\n </lx-option>\n </lx-option-group>\n</lx-options-dropdown>\n" }]
52
52
  }], propDecorators: { currentSorting: [{
@@ -6,9 +6,9 @@ export class SortingDropdownTriggerComponent {
6
6
  this.disabled = false;
7
7
  }
8
8
  }
9
- SortingDropdownTriggerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SortingDropdownTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- SortingDropdownTriggerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: SortingDropdownTriggerComponent, selector: "lx-sorting-dropdown-trigger", inputs: { label: "label", currentSortingLabel: "currentSortingLabel", disabled: "disabled" }, ngImport: i0, template: "<button lx-button mode=\"link\" [disabled]=\"disabled\">\n {{ label ? label + ': ' : '' }}{{ currentSortingLabel }}<i class=\"far fa-angle-down lx-margin-left\"></i>\n</button>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "showSpinner"] }] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SortingDropdownTriggerComponent, decorators: [{
9
+ SortingDropdownTriggerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SortingDropdownTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ SortingDropdownTriggerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: SortingDropdownTriggerComponent, selector: "lx-sorting-dropdown-trigger", inputs: { label: "label", currentSortingLabel: "currentSortingLabel", disabled: "disabled" }, ngImport: i0, template: "<button lx-button mode=\"link\" [disabled]=\"disabled\">\n {{ label ? label + ': ' : '' }}{{ currentSortingLabel }}<i class=\"far fa-angle-down lx-margin-left\"></i>\n</button>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "showSpinner"] }] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SortingDropdownTriggerComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'lx-sorting-dropdown-trigger', template: "<button lx-button mode=\"link\" [disabled]=\"disabled\">\n {{ label ? label + ': ' : '' }}{{ currentSortingLabel }}<i class=\"far fa-angle-down lx-margin-left\"></i>\n</button>\n" }]
14
14
  }], propDecorators: { label: [{
@@ -73,9 +73,9 @@ export class FormErrorDirective {
73
73
  }
74
74
  }
75
75
  }
76
- FormErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FormErrorDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: i1.NgControl, optional: true, self: true }, { token: i2.FormSubmitDirective, host: true, optional: true }, { token: FORM_CONTROL_ERROR_NAMESPACE, optional: true }, { token: FORM_CONTROL_ERROR_DISPLAY_STRATEGY, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
77
- FormErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: FormErrorDirective, selector: "[lxFormError]", inputs: { ctrl: ["lxFormError", "ctrl"], controlName: "controlName" }, ngImport: i0 });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FormErrorDirective, decorators: [{
76
+ FormErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FormErrorDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: i1.NgControl, optional: true, self: true }, { token: i2.FormSubmitDirective, host: true, optional: true }, { token: FORM_CONTROL_ERROR_NAMESPACE, optional: true }, { token: FORM_CONTROL_ERROR_DISPLAY_STRATEGY, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
77
+ FormErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: FormErrorDirective, selector: "[lxFormError]", inputs: { ctrl: ["lxFormError", "ctrl"], controlName: "controlName" }, ngImport: i0 });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FormErrorDirective, decorators: [{
79
79
  type: Directive,
80
80
  args: [{
81
81
  selector: '[lxFormError]'
@@ -16,9 +16,9 @@ export class FormSubmitDirective {
16
16
  }
17
17
  }
18
18
  }
19
- FormSubmitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FormSubmitDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
20
- FormSubmitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: FormSubmitDirective, selector: "form", ngImport: i0 });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FormSubmitDirective, decorators: [{
19
+ FormSubmitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FormSubmitDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
20
+ FormSubmitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: FormSubmitDirective, selector: "form", ngImport: i0 });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FormSubmitDirective, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -41,9 +41,9 @@ export class KeyboardActionSourceDirective {
41
41
  this.destroyed$.next();
42
42
  }
43
43
  }
44
- KeyboardActionSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: KeyboardActionSourceDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
45
- KeyboardActionSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: KeyboardActionSourceDirective, selector: "[lxKeyboardActionSource]", exportAs: ["keyboardActionSource"], ngImport: i0 });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: KeyboardActionSourceDirective, decorators: [{
44
+ KeyboardActionSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: KeyboardActionSourceDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
45
+ KeyboardActionSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: KeyboardActionSourceDirective, selector: "[lxKeyboardActionSource]", exportAs: ["keyboardActionSource"], ngImport: i0 });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: KeyboardActionSourceDirective, decorators: [{
47
47
  type: Directive,
48
48
  args: [{
49
49
  exportAs: 'keyboardActionSource',
@@ -22,12 +22,12 @@ export class MarkInvalidDirective {
22
22
  this.destroyed$.next();
23
23
  }
24
24
  }
25
- MarkInvalidDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MarkInvalidDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
26
- MarkInvalidDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: MarkInvalidDirective, selector: "[lxMarkInvalid]", inputs: { lxMarkInvalid: "lxMarkInvalid" }, ngImport: i0 });
25
+ MarkInvalidDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: MarkInvalidDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
26
+ MarkInvalidDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: MarkInvalidDirective, selector: "[lxMarkInvalid]", inputs: { lxMarkInvalid: "lxMarkInvalid" }, ngImport: i0 });
27
27
  __decorate([
28
28
  Observe('lxMarkInvalid')
29
29
  ], MarkInvalidDirective.prototype, "lxMarkInvalid$", void 0);
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MarkInvalidDirective, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: MarkInvalidDirective, decorators: [{
31
31
  type: Directive,
32
32
  args: [{
33
33
  selector: '[lxMarkInvalid]'
@@ -20,9 +20,9 @@ import * as i0 from "@angular/core";
20
20
  */
21
21
  export class SelectDropdownDirective {
22
22
  }
23
- SelectDropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SelectDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
24
- SelectDropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: SelectDropdownDirective, selector: "[lxSelectDropdown]", ngImport: i0 });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SelectDropdownDirective, decorators: [{
23
+ SelectDropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
24
+ SelectDropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: SelectDropdownDirective, selector: "[lxSelectDropdown]", ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectDropdownDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{
28
28
  selector: '[lxSelectDropdown]'
@@ -16,9 +16,9 @@ export class SelectableItemDirective {
16
16
  }
17
17
  }
18
18
  }
19
- SelectableItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SelectableItemDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
20
- SelectableItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: SelectableItemDirective, selector: "[lxSelectableItem]", inputs: { scrollInContainer: "scrollInContainer", lxSelectableItem: "lxSelectableItem" }, outputs: { select: "select" }, ngImport: i0 });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SelectableItemDirective, decorators: [{
19
+ SelectableItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectableItemDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
20
+ SelectableItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: SelectableItemDirective, selector: "[lxSelectableItem]", inputs: { scrollInContainer: "scrollInContainer", lxSelectableItem: "lxSelectableItem" }, outputs: { select: "select" }, ngImport: i0 });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectableItemDirective, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  selector: '[lxSelectableItem]'
@@ -15,9 +15,9 @@ import * as i0 from "@angular/core";
15
15
  */
16
16
  export class SelectedOptionDirective {
17
17
  }
18
- SelectedOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SelectedOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
19
- SelectedOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: SelectedOptionDirective, selector: "[lxSelectedOption]", ngImport: i0 });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SelectedOptionDirective, decorators: [{
18
+ SelectedOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectedOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
19
+ SelectedOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: SelectedOptionDirective, selector: "[lxSelectedOption]", ngImport: i0 });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectedOptionDirective, decorators: [{
21
21
  type: Directive,
22
22
  args: [{
23
23
  selector: '[lxSelectedOption]'
@@ -8,6 +8,7 @@ import { InfiniteScrollModule } from 'ngx-infinite-scroll';
8
8
  import { LxCoreUiModule } from '../core-ui/core-ui.module';
9
9
  import { BasicDropdownItemComponent } from './components/basic-dropdown-item/basic-dropdown-item.component';
10
10
  import { BasicDropdownComponent } from './components/basic-dropdown/basic-dropdown.component';
11
+ import { BreadcrumbComponent } from './components/breadcrumb/breadcrumb.component';
11
12
  import { CdkOptionsDropdownComponent } from './components/cdk-options-dropdown/cdk-options-dropdown.component';
12
13
  import { CdkOptionsSubDropdownComponent } from './components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component';
13
14
  import { CurrencyInputComponent } from './components/currency/currency-input.component';
@@ -48,9 +49,10 @@ import * as i0 from "@angular/core";
48
49
  import * as i1 from "@ngx-translate/core";
49
50
  export class LxFormsModule {
50
51
  }
51
- LxFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
52
- LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: LxFormsModule, declarations: [BasicDropdownComponent,
52
+ LxFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
53
+ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: LxFormsModule, declarations: [BasicDropdownComponent,
53
54
  BasicDropdownItemComponent,
55
+ BreadcrumbComponent,
54
56
  CurrencyInputComponent,
55
57
  CurrencySymbolComponent,
56
58
  DateInputComponent,
@@ -93,6 +95,7 @@ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
93
95
  LxCoreUiModule,
94
96
  LxDragAndDropListModule], exports: [BasicDropdownComponent,
95
97
  BasicDropdownItemComponent,
98
+ BreadcrumbComponent,
96
99
  CurrencyInputComponent,
97
100
  CurrencySymbolComponent,
98
101
  DateInputComponent,
@@ -128,7 +131,7 @@ LxFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
128
131
  FormSubmitDirective,
129
132
  ErrorMessageComponent,
130
133
  LxDragAndDropListModule] });
131
- LxFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxFormsModule, imports: [CommonModule,
134
+ LxFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxFormsModule, imports: [CommonModule,
132
135
  FormsModule,
133
136
  ReactiveFormsModule,
134
137
  TranslateModule.forChild(),
@@ -137,12 +140,13 @@ LxFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
137
140
  OverlayModule,
138
141
  LxCoreUiModule,
139
142
  LxDragAndDropListModule, LxDragAndDropListModule] });
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LxFormsModule, decorators: [{
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: LxFormsModule, decorators: [{
141
144
  type: NgModule,
142
145
  args: [{
143
146
  declarations: [
144
147
  BasicDropdownComponent,
145
148
  BasicDropdownItemComponent,
149
+ BreadcrumbComponent,
146
150
  CurrencyInputComponent,
147
151
  CurrencySymbolComponent,
148
152
  DateInputComponent,
@@ -193,6 +197,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
193
197
  exports: [
194
198
  BasicDropdownComponent,
195
199
  BasicDropdownItemComponent,
200
+ BreadcrumbComponent,
196
201
  CurrencyInputComponent,
197
202
  CurrencySymbolComponent,
198
203
  DateInputComponent,
@@ -231,4 +236,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
231
236
  ]
232
237
  }]
233
238
  }] });
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtdWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvZm9ybXMtdWkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUscUJB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QkFDeEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3dCQUMvQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLHVCQUF1QjtxQkFDeEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgTHhDb3JlVWlNb2R1bGUgfSBmcm9tICcuLi9jb3JlLXVpL2NvcmUtdWkubW9kdWxlJztcbmltcG9ydCB7IEJhc2ljRHJvcGRvd25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Jhc2ljLWRyb3Bkb3duLWl0ZW0vYmFzaWMtZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFzaWNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9iYXNpYy1kcm9wZG93bi9iYXNpYy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2RrT3B0aW9uc0Ryb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nkay1vcHRpb25zLWRyb3Bkb3duL2Nkay1vcHRpb25zLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDZGtPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2RrLW9wdGlvbnMtc3ViLWRyb3Bkb3duL2Nkay1vcHRpb25zLXN1Yi1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VycmVuY3lJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXJyZW5jeS9jdXJyZW5jeS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VycmVuY3lTeW1ib2xDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VycmVuY3kvY3VycmVuY3ktc3ltYm9sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeERyYWdBbmREcm9wTGlzdE1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9kcmFnLWFuZC1kcm9wLWxpc3QvZHJhZy1hbmQtZHJvcC1saXN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE11bHRpU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkdyb3VwRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3B0aW9uLWdyb3VwLWRyb3Bkb3duL29wdGlvbi1ncm91cC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3B0aW9uLWdyb3VwL29wdGlvbi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29wdGlvbi9vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbnNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcHRpb25zLWRyb3Bkb3duL29wdGlvbnMtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbnNTdWJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcHRpb25zLXN1Yi1kcm9wZG93bi9vcHRpb25zLXN1Yi1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGlja2VyT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BpY2tlci1vcHRpb24vcGlja2VyLW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGlja2VyVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9waWNrZXIvcGlja2VyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9waWNrZXIvcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaWxsSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9waWxsLWl0ZW0vcGlsbC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaWxsTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9waWxsLWxpc3QvcGlsbC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXNwb25zaXZlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1pbnB1dC9yZXNwb25zaXZlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaW5nbGVTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2luZ2xlLXNlbGVjdC9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbGlkZXJUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2xpZGVyLXRvZ2dsZS9zbGlkZXItdG9nZ2xlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTb3J0aW5nRHJvcGRvd25UcmlnZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NvcnRpbmctZHJvcGRvd24tdHJpZ2dlci9zb3J0aW5nLWRyb3Bkb3duLXRyaWdnZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNvcnRpbmdEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zb3J0aW5nLWRyb3Bkb3duL3NvcnRpbmctZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1FcnJvckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtLWVycm9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb3JtU3VibWl0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0tc3VibWl0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBLZXlib2FyZEFjdGlvblNvdXJjZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9rZXlib2FyZC1hY3Rpb24tc291cmNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNYXJrSW52YWxpZERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9tYXJrLWludmFsaWQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNlbGVjdERyb3Bkb3duRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NlbGVjdC1kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2VsZWN0YWJsZS1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTZWxlY3RlZE9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZWxlY3RlZC1vcHRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZpbHRlclNlbGVjdGlvblBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci1zZWxlY3Rpb24ucGlwZSc7XG5pbXBvcnQgeyBGaWx0ZXJUZXJtUGlwZSB9IGZyb20gJy4vcGlwZXMvZmlsdGVyLXRlcm0ucGlwZSc7XG5pbXBvcnQgeyBGb3JtYXROdW1iZXJQaXBlIH0gZnJvbSAnLi9waXBlcy9mb3JtYXQtbnVtYmVyLnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCYXNpY0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIEJhc2ljRHJvcGRvd25JdGVtQ29tcG9uZW50LFxuICAgIEN1cnJlbmN5SW5wdXRDb21wb25lbnQsXG4gICAgQ3VycmVuY3lTeW1ib2xDb21wb25lbnQsXG4gICAgRGF0ZUlucHV0Q29tcG9uZW50LFxuICAgIEZpbHRlclNlbGVjdGlvblBpcGUsXG4gICAgRmlsdGVyVGVybVBpcGUsXG4gICAgRm9ybUVycm9yQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgS2V5Ym9hcmRBY3Rpb25Tb3VyY2VEaXJlY3RpdmUsXG4gICAgTWFya0ludmFsaWREaXJlY3RpdmUsXG4gICAgTXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgT3B0aW9uQ29tcG9uZW50LFxuICAgIE9wdGlvbkdyb3VwQ29tcG9uZW50LFxuICAgIE9wdGlvbkdyb3VwRHJvcGRvd25Db21wb25lbnQsXG4gICAgT3B0aW9uc0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIE9wdGlvbnNTdWJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBDZGtPcHRpb25zRHJvcGRvd25Db21wb25lbnQsXG4gICAgQ2RrT3B0aW9uc1N1YkRyb3Bkb3duQ29tcG9uZW50LFxuICAgIFBpY2tlckNvbXBvbmVudCxcbiAgICBQaWNrZXJPcHRpb25Db21wb25lbnQsXG4gICAgUGlja2VyVHJpZ2dlckRpcmVjdGl2ZSxcbiAgICBQaWxsTGlzdENvbXBvbmVudCxcbiAgICBQaWxsSXRlbUNvbXBvbmVudCxcbiAgICBSZXNwb25zaXZlSW5wdXRDb21wb25lbnQsXG4gICAgU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUsXG4gICAgU2VsZWN0ZWRPcHRpb25EaXJlY3RpdmUsXG4gICAgU2VsZWN0RHJvcGRvd25EaXJlY3RpdmUsXG4gICAgU2luZ2xlU2VsZWN0Q29tcG9uZW50LFxuICAgIFNsaWRlclRvZ2dsZUNvbXBvbmVudCxcbiAgICBTb3J0aW5nRHJvcGRvd25Db21wb25lbnQsXG4gICAgU29ydGluZ0Ryb3Bkb3duVHJpZ2dlckNvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBGb3JtYXROdW1iZXJQaXBlLFxuICAgIEZvcm1FcnJvckRpcmVjdGl2ZSxcbiAgICBFcnJvck1lc3NhZ2VDb21wb25lbnQsXG4gICAgRm9ybVN1Ym1pdERpcmVjdGl2ZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCksXG4gICAgRGF0ZXBpY2tlck1vZHVsZSxcbiAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIEx4Q29yZVVpTW9kdWxlLFxuICAgIEx4RHJhZ0FuZERyb3BMaXN0TW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCYXNpY0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIEJhc2ljRHJvcGRvd25JdGVtQ29tcG9uZW50LFxuICAgIEN1cnJlbmN5SW5wdXRDb21wb25lbnQsXG4gICAgQ3VycmVuY3lTeW1ib2xDb21wb25lbnQsXG4gICAgRGF0ZUlucHV0Q29tcG9uZW50LFxuICAgIEZpbHRlclNlbGVjdGlvblBpcGUsXG4gICAgRmlsdGVyVGVybVBpcGUsXG4gICAgRm9ybUVycm9yQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgS2V5Ym9hcmRBY3Rpb25Tb3VyY2VEaXJlY3RpdmUsXG4gICAgTWFya0ludmFsaWREaXJlY3RpdmUsXG4gICAgTXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgT3B0aW9uQ29tcG9uZW50LFxuICAgIE9wdGlvbkdyb3VwQ29tcG9uZW50LFxuICAgIE9wdGlvbkdyb3VwRHJvcGRvd25Db21wb25lbnQsXG4gICAgT3B0aW9uc0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIE9wdGlvbnNTdWJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBDZGtPcHRpb25zRHJvcGRvd25Db21wb25lbnQsXG4gICAgQ2RrT3B0aW9uc1N1YkRyb3Bkb3duQ29tcG9uZW50LFxuICAgIFBpY2tlckNvbXBvbmVudCxcbiAgICBQaWNrZXJPcHRpb25Db21wb25lbnQsXG4gICAgUGlja2VyVHJpZ2dlckRpcmVjdGl2ZSxcbiAgICBQaWxsTGlzdENvbXBvbmVudCxcbiAgICBQaWxsSXRlbUNvbXBvbmVudCxcbiAgICBSZXNwb25zaXZlSW5wdXRDb21wb25lbnQsXG4gICAgU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUsXG4gICAgU2VsZWN0RHJvcGRvd25EaXJlY3RpdmUsXG4gICAgU2VsZWN0ZWRPcHRpb25EaXJlY3RpdmUsXG4gICAgU2luZ2xlU2VsZWN0Q29tcG9uZW50LFxuICAgIFNsaWRlclRvZ2dsZUNvbXBvbmVudCxcbiAgICBTb3J0aW5nRHJvcGRvd25Db21wb25lbnQsXG4gICAgU29ydGluZ0Ryb3Bkb3duVHJpZ2dlckNvbXBvbmVudCxcbiAgICBGb3JtYXROdW1iZXJQaXBlLFxuICAgIEZvcm1FcnJvckRpcmVjdGl2ZSxcbiAgICBGb3JtU3VibWl0RGlyZWN0aXZlLFxuICAgIEVycm9yTWVzc2FnZUNvbXBvbmVudCxcbiAgICBMeERyYWdBbmREcm9wTGlzdE1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEx4Rm9ybXNNb2R1bGUge31cbiJdfQ==
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtdWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvZm9ybXMtdWkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJB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MkI7d0JBQzNCLDhCQUE4Qjt3QkFDOUIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3dCQUMvQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLHVCQUF1QjtxQkFDeEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgTHhDb3JlVWlNb2R1bGUgfSBmcm9tICcuLi9jb3JlLXVpL2NvcmUtdWkubW9kdWxlJztcbmltcG9ydCB7IEJhc2ljRHJvcGRvd25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Jhc2ljLWRyb3Bkb3duLWl0ZW0vYmFzaWMtZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFzaWNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9iYXNpYy1kcm9wZG93bi9iYXNpYy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7IENka09wdGlvbnNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jZGstb3B0aW9ucy1kcm9wZG93bi9jZGstb3B0aW9ucy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2RrT3B0aW9uc1N1YkRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nkay1vcHRpb25zLXN1Yi1kcm9wZG93bi9jZGstb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IEN1cnJlbmN5SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VycmVuY3kvY3VycmVuY3ktaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEN1cnJlbmN5U3ltYm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1cnJlbmN5L2N1cnJlbmN5LXN5bWJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHhEcmFnQW5kRHJvcExpc3RNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvZHJhZy1hbmQtZHJvcC1saXN0L2RyYWctYW5kLWRyb3AtbGlzdC5tb2R1bGUnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcHRpb25Hcm91cERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29wdGlvbi1ncm91cC1kcm9wZG93bi9vcHRpb24tZ3JvdXAtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29wdGlvbi1ncm91cC9vcHRpb24tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcHRpb25zRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3B0aW9ucy1kcm9wZG93bi9vcHRpb25zLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3B0aW9ucy1zdWItZHJvcGRvd24vb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IFBpY2tlck9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9waWNrZXItb3B0aW9uL3BpY2tlci1vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBpY2tlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlja2VyL3BpY2tlci10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlja2VyL3BpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGlsbEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlsbC1pdGVtL3BpbGwtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGlsbExpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlsbC1saXN0L3BpbGwtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzcG9uc2l2ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Jlc3BvbnNpdmUtaW5wdXQvcmVzcG9uc2l2ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2luZ2xlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NpbmdsZS1zZWxlY3Qvc2luZ2xlLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2xpZGVyVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NsaWRlci10b2dnbGUvc2xpZGVyLXRvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU29ydGluZ0Ryb3Bkb3duVHJpZ2dlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zb3J0aW5nLWRyb3Bkb3duLXRyaWdnZXIvc29ydGluZy1kcm9wZG93bi10cmlnZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTb3J0aW5nRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc29ydGluZy1kcm9wZG93bi9zb3J0aW5nLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtRXJyb3JEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1lcnJvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9ybVN1Ym1pdERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtLXN1Ym1pdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgS2V5Ym9hcmRBY3Rpb25Tb3VyY2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMva2V5Ym9hcmQtYWN0aW9uLXNvdXJjZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWFya0ludmFsaWREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbWFyay1pbnZhbGlkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTZWxlY3REcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZWxlY3QtZHJvcGRvd24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFNlbGVjdGFibGVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NlbGVjdGFibGUtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0ZWRPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2VsZWN0ZWQtb3B0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWx0ZXJTZWxlY3Rpb25QaXBlIH0gZnJvbSAnLi9waXBlcy9maWx0ZXItc2VsZWN0aW9uLnBpcGUnO1xuaW1wb3J0IHsgRmlsdGVyVGVybVBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci10ZXJtLnBpcGUnO1xuaW1wb3J0IHsgRm9ybWF0TnVtYmVyUGlwZSB9IGZyb20gJy4vcGlwZXMvZm9ybWF0LW51bWJlci5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQmFzaWNEcm9wZG93bkNvbXBvbmVudCxcbiAgICBCYXNpY0Ryb3Bkb3duSXRlbUNvbXBvbmVudCxcbiAgICBCcmVhZGNydW1iQ29tcG9uZW50LFxuICAgIEN1cnJlbmN5SW5wdXRDb21wb25lbnQsXG4gICAgQ3VycmVuY3lTeW1ib2xDb21wb25lbnQsXG4gICAgRGF0ZUlucHV0Q29tcG9uZW50LFxuICAgIEZpbHRlclNlbGVjdGlvblBpcGUsXG4gICAgRmlsdGVyVGVybVBpcGUsXG4gICAgRm9ybUVycm9yQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgS2V5Ym9hcmRBY3Rpb25Tb3VyY2VEaXJlY3RpdmUsXG4gICAgTWFya0ludmFsaWREaXJlY3RpdmUsXG4gICAgTXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgT3B0aW9uQ29tcG9uZW50LFxuICAgIE9wdGlvbkdyb3VwQ29tcG9uZW50LFxuICAgIE9wdGlvbkdyb3VwRHJvcGRvd25Db21wb25lbnQsXG4gICAgT3B0aW9uc0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIE9wdGlvbnNTdWJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBDZGtPcHRpb25zRHJvcGRvd25Db21wb25lbnQsXG4gICAgQ2RrT3B0aW9uc1N1YkRyb3Bkb3duQ29tcG9uZW50LFxuICAgIFBpY2tlckNvbXBvbmVudCxcbiAgICBQaWNrZXJPcHRpb25Db21wb25lbnQsXG4gICAgUGlja2VyVHJpZ2dlckRpcmVjdGl2ZSxcbiAgICBQaWxsTGlzdENvbXBvbmVudCxcbiAgICBQaWxsSXRlbUNvbXBvbmVudCxcbiAgICBSZXNwb25zaXZlSW5wdXRDb21wb25lbnQsXG4gICAgU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUsXG4gICAgU2VsZWN0ZWRPcHRpb25EaXJlY3RpdmUsXG4gICAgU2VsZWN0RHJvcGRvd25EaXJlY3RpdmUsXG4gICAgU2luZ2xlU2VsZWN0Q29tcG9uZW50LFxuICAgIFNsaWRlclRvZ2dsZUNvbXBvbmVudCxcbiAgICBTb3J0aW5nRHJvcGRvd25Db21wb25lbnQsXG4gICAgU29ydGluZ0Ryb3Bkb3duVHJpZ2dlckNvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBGb3JtYXROdW1iZXJQaXBlLFxuICAgIEZvcm1FcnJvckRpcmVjdGl2ZSxcbiAgICBFcnJvck1lc3NhZ2VDb21wb25lbnQsXG4gICAgRm9ybVN1Ym1pdERpcmVjdGl2ZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCksXG4gICAgRGF0ZXBpY2tlck1vZHVsZSxcbiAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIEx4Q29yZVVpTW9kdWxlLFxuICAgIEx4RHJhZ0FuZERyb3BMaXN0TW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCYXNpY0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIEJhc2ljRHJvcGRvd25JdGVtQ29tcG9uZW50LFxuICAgIEJyZWFkY3J1bWJDb21wb25lbnQsXG4gICAgQ3VycmVuY3lJbnB1dENvbXBvbmVudCxcbiAgICBDdXJyZW5jeVN5bWJvbENvbXBvbmVudCxcbiAgICBEYXRlSW5wdXRDb21wb25lbnQsXG4gICAgRmlsdGVyU2VsZWN0aW9uUGlwZSxcbiAgICBGaWx0ZXJUZXJtUGlwZSxcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBLZXlib2FyZEFjdGlvblNvdXJjZURpcmVjdGl2ZSxcbiAgICBNYXJrSW52YWxpZERpcmVjdGl2ZSxcbiAgICBNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICBPcHRpb25Db21wb25lbnQsXG4gICAgT3B0aW9uR3JvdXBDb21wb25lbnQsXG4gICAgT3B0aW9uR3JvdXBEcm9wZG93bkNvbXBvbmVudCxcbiAgICBPcHRpb25zRHJvcGRvd25Db21wb25lbnQsXG4gICAgT3B0aW9uc1N1YkRyb3Bkb3duQ29tcG9uZW50LFxuICAgIENka09wdGlvbnNEcm9wZG93bkNvbXBvbmVudCxcbiAgICBDZGtPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQsXG4gICAgUGlja2VyQ29tcG9uZW50LFxuICAgIFBpY2tlck9wdGlvbkNvbXBvbmVudCxcbiAgICBQaWNrZXJUcmlnZ2VyRGlyZWN0aXZlLFxuICAgIFBpbGxMaXN0Q29tcG9uZW50LFxuICAgIFBpbGxJdGVtQ29tcG9uZW50LFxuICAgIFJlc3BvbnNpdmVJbnB1dENvbXBvbmVudCxcbiAgICBTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICBTZWxlY3REcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBTZWxlY3RlZE9wdGlvbkRpcmVjdGl2ZSxcbiAgICBTaW5nbGVTZWxlY3RDb21wb25lbnQsXG4gICAgU2xpZGVyVG9nZ2xlQ29tcG9uZW50LFxuICAgIFNvcnRpbmdEcm9wZG93bkNvbXBvbmVudCxcbiAgICBTb3J0aW5nRHJvcGRvd25UcmlnZ2VyQ29tcG9uZW50LFxuICAgIEZvcm1hdE51bWJlclBpcGUsXG4gICAgRm9ybUVycm9yRGlyZWN0aXZlLFxuICAgIEZvcm1TdWJtaXREaXJlY3RpdmUsXG4gICAgRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICAgIEx4RHJhZ0FuZERyb3BMaXN0TW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTHhGb3Jtc01vZHVsZSB7fVxuIl19