@eui/components 18.0.0-next.14 → 18.0.0-next.16

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 (255) hide show
  1. package/directives/eui-loading.directive.d.ts +2 -2
  2. package/directives/eui-loading.directive.d.ts.map +1 -1
  3. package/docs/components/ChartComponent.html +1 -1
  4. package/docs/components/CollapsedBreadcrumbComponent.html +1 -1
  5. package/docs/components/DefaultComponent.html +1 -1
  6. package/docs/components/EuiAlertComponent.html +1 -1
  7. package/docs/components/EuiAppBreadcrumbComponent.html +1 -1
  8. package/docs/components/EuiAppComponent.html +1 -1
  9. package/docs/components/EuiAppFooterComponent.html +1 -1
  10. package/docs/components/EuiAppHeaderComponent.html +1 -1
  11. package/docs/components/EuiAppSidebarBodyComponent.html +1 -1
  12. package/docs/components/EuiAppSidebarComponent.html +1 -1
  13. package/docs/components/EuiAppSidebarDrawerComponent.html +1 -1
  14. package/docs/components/EuiAppSidebarFooterComponent.html +1 -1
  15. package/docs/components/EuiAppSidebarHeaderComponent.html +1 -1
  16. package/docs/components/EuiAppSidebarHeaderUserProfileComponent.html +1 -1
  17. package/docs/components/EuiAppSidebarMenuComponent.html +1 -1
  18. package/docs/components/EuiAppToolbarComponent.html +1 -1
  19. package/docs/components/EuiAppTopMessageComponent.html +1 -1
  20. package/docs/components/EuiAutocompleteAsyncTestComponent.html +1 -1
  21. package/docs/components/EuiAutocompleteChipsAsyncTestComponent.html +1 -1
  22. package/docs/components/EuiAutocompleteChipsTestComponent.html +1 -1
  23. package/docs/components/EuiAutocompleteComponent.html +1 -1
  24. package/docs/components/EuiAutocompleteOptionComponent.html +1 -1
  25. package/docs/components/EuiAutocompleteOptionGroupComponent.html +1 -1
  26. package/docs/components/EuiAutocompleteTestComponent.html +1 -1
  27. package/docs/components/EuiAvatarBadgeComponent.html +1 -1
  28. package/docs/components/EuiAvatarComponent.html +1 -1
  29. package/docs/components/EuiAvatarIconComponent.html +1 -1
  30. package/docs/components/EuiAvatarImageComponent.html +1 -1
  31. package/docs/components/EuiAvatarListComponent.html +1 -1
  32. package/docs/components/EuiAvatarTextComponent.html +1 -1
  33. package/docs/components/EuiBadgeComponent.html +1 -1
  34. package/docs/components/EuiBlockContentComponent.html +1 -1
  35. package/docs/components/EuiBlockDocumentComponent.html +1 -1
  36. package/docs/components/EuiBreadcrumbComponent.html +1 -1
  37. package/docs/components/EuiBreadcrumbItemComponent.html +1 -1
  38. package/docs/components/EuiButtonComponent.html +2 -2
  39. package/docs/components/EuiButtonGroupComponent.html +1 -1
  40. package/docs/components/EuiButtonsComponent.html +1 -1
  41. package/docs/components/EuiCardComponent.html +1 -1
  42. package/docs/components/EuiCardContentComponent.html +1 -1
  43. package/docs/components/EuiCardFooterActionButtonsComponent.html +1 -1
  44. package/docs/components/EuiCardFooterActionIconsComponent.html +1 -1
  45. package/docs/components/EuiCardFooterComponent.html +1 -1
  46. package/docs/components/EuiCardFooterMenuContentComponent.html +1 -1
  47. package/docs/components/EuiCardHeaderBodyComponent.html +1 -1
  48. package/docs/components/EuiCardHeaderComponent.html +1 -1
  49. package/docs/components/EuiCardHeaderLeftContentComponent.html +1 -1
  50. package/docs/components/EuiCardHeaderRightContentComponent.html +1 -1
  51. package/docs/components/EuiCardHeaderSubtitleComponent.html +1 -1
  52. package/docs/components/EuiCardHeaderTitleComponent.html +1 -1
  53. package/docs/components/EuiCardMediaComponent.html +1 -1
  54. package/docs/components/EuiChipComponent.html +2 -2
  55. package/docs/components/EuiChipListComponent.html +2 -2
  56. package/docs/components/EuiDashboardButtonComponent.html +1 -1
  57. package/docs/components/EuiDashboardCardComponent.html +1 -25
  58. package/docs/components/EuiDateRangeSelectorComponent.html +2 -2
  59. package/docs/components/EuiDatepickerComponent.html +2 -2
  60. package/docs/components/EuiDialogComponent.html +1 -1
  61. package/docs/components/EuiDialogContainerComponent.html +1 -1
  62. package/docs/components/EuiDimmerComponent.html +1 -1
  63. package/docs/components/EuiDisableContentComponent.html +1 -1
  64. package/docs/components/EuiDiscussionThreadComponent.html +1 -1
  65. package/docs/components/EuiDiscussionThreadItemComponent.html +1 -1
  66. package/docs/components/EuiDropdownComponent.html +1 -1
  67. package/docs/components/EuiDropdownItemComponent.html +1 -1
  68. package/docs/components/EuiEditorComponent.html +1 -1
  69. package/docs/components/EuiEditorCountersComponent.html +1 -1
  70. package/docs/components/EuiEditorHtmlViewComponent.html +1 -1
  71. package/docs/components/EuiEditorImageDialogComponent.html +1 -1
  72. package/docs/components/EuiEditorJsonViewComponent.html +1 -1
  73. package/docs/components/EuiFeedbackMessageComponent.html +1 -1
  74. package/docs/components/EuiFieldsetComponent.html +1 -1
  75. package/docs/components/EuiFilePreviewComponent.html +1 -1
  76. package/docs/components/EuiFileUploadComponent.html +1 -1
  77. package/docs/components/EuiFileUploadProgressComponent.html +1 -1
  78. package/docs/components/EuiFooterComponent.html +1 -1
  79. package/docs/components/EuiGrowlComponent.html +1 -1
  80. package/docs/components/EuiHeaderAppComponent.html +1 -1
  81. package/docs/components/EuiHeaderAppNameComponent.html +1 -1
  82. package/docs/components/EuiHeaderAppNameLogoComponent.html +1 -1
  83. package/docs/components/EuiHeaderAppSubtitleComponent.html +1 -1
  84. package/docs/components/EuiHeaderComponent.html +1 -1
  85. package/docs/components/EuiHeaderEnvironmentComponent.html +1 -1
  86. package/docs/components/EuiHeaderLogoComponent.html +1 -1
  87. package/docs/components/EuiHeaderRightContentComponent.html +1 -1
  88. package/docs/components/EuiHeaderUserProfileComponent.html +1 -1
  89. package/docs/components/EuiIconColorComponent.html +1 -1
  90. package/docs/components/EuiIconSvgButtonComponent.html +1 -1
  91. package/docs/components/EuiIconSvgComponent.html +1 -1
  92. package/docs/components/EuiIconToggleComponent.html +1 -1
  93. package/docs/components/EuiInputCheckboxComponent.html +1 -1
  94. package/docs/components/EuiInputGroupComponent.html +1 -1
  95. package/docs/components/EuiInputNumberComponent.html +1 -1
  96. package/docs/components/EuiInputRadioComponent.html +1 -1
  97. package/docs/components/EuiInputTextComponent.html +1 -1
  98. package/docs/components/EuiLabelComponent.html +1 -1
  99. package/docs/components/EuiLanguageSelectorComponent.html +1 -1
  100. package/docs/components/EuiListComponent.html +1 -1
  101. package/docs/components/EuiListItemComponent.html +2 -37
  102. package/docs/components/EuiMenuComponent.html +1 -1
  103. package/docs/components/EuiMenuItemComponent.html +2 -2
  104. package/docs/components/EuiMessageBoxComponent.html +1 -1
  105. package/docs/components/EuiModalSelectorComponent.html +1 -1
  106. package/docs/components/EuiNotificationItemComponent.html +1 -1
  107. package/docs/components/EuiNotificationItemV2Component.html +1 -1
  108. package/docs/components/EuiNotificationsComponent.html +1 -1
  109. package/docs/components/EuiNotificationsV2Component.html +1 -1
  110. package/docs/components/EuiOverlayBodyComponent.html +1 -1
  111. package/docs/components/EuiOverlayComponent.html +1 -1
  112. package/docs/components/EuiOverlayFooterComponent.html +1 -1
  113. package/docs/components/EuiOverlayHeaderComponent.html +1 -1
  114. package/docs/components/EuiOverlayHeaderTitleComponent.html +1 -1
  115. package/docs/components/EuiPageBreadcrumbComponent.html +1 -1
  116. package/docs/components/EuiPageColumnComponent.html +1 -1
  117. package/docs/components/EuiPageColumnsComponent.html +1 -1
  118. package/docs/components/EuiPageComponent.html +1 -1
  119. package/docs/components/EuiPageContentComponent.html +1 -1
  120. package/docs/components/EuiPageFooterComponent.html +1 -1
  121. package/docs/components/EuiPageHeaderComponent.html +1 -1
  122. package/docs/components/EuiPageHeroHeaderComponent.html +1 -1
  123. package/docs/components/EuiPageTopContentComponent.html +1 -1
  124. package/docs/components/EuiPaginatorComponent.html +1 -1
  125. package/docs/components/EuiPopoverComponent.html +1 -1
  126. package/docs/components/EuiProgressBarComponent.html +1 -1
  127. package/docs/components/EuiProgressCircleComponent.html +1 -1
  128. package/docs/components/EuiResizableComponent.html +1 -1
  129. package/docs/components/EuiSearchComponent.html +2 -2
  130. package/docs/components/EuiSelectComponent.html +1 -1
  131. package/docs/components/EuiSidebarMenuComponent.html +1 -1
  132. package/docs/components/EuiSidebarToggleComponent.html +1 -1
  133. package/docs/components/EuiSkeletonComponent.html +1 -1
  134. package/docs/components/EuiSlideToggleComponent.html +1 -1
  135. package/docs/components/EuiSlideToggleTestComponent.html +1 -1
  136. package/docs/components/EuiTabComponent.html +1 -1
  137. package/docs/components/EuiTabContentComponent.html +1 -1
  138. package/docs/components/EuiTabLabelComponent.html +1 -1
  139. package/docs/components/EuiTableComponent.html +1 -1
  140. package/docs/components/EuiTableExpandableRowComponent.html +1 -1
  141. package/docs/components/EuiTableFilterComponent.html +1 -1
  142. package/docs/components/EuiTableSelectableHeaderComponent.html +1 -1
  143. package/docs/components/EuiTableSelectableRowComponent.html +1 -1
  144. package/docs/components/EuiTableSortableColComponent.html +1 -1
  145. package/docs/components/EuiTabsComponent.html +1 -1
  146. package/docs/components/EuiTextareaComponent.html +1 -1
  147. package/docs/components/EuiTimebarComponent.html +1 -1
  148. package/docs/components/EuiTimelineComponent.html +1 -1
  149. package/docs/components/EuiTimelineItemComponent.html +1 -1
  150. package/docs/components/EuiTimepickerComponent.html +1 -1
  151. package/docs/components/EuiToolbarAppComponent.html +1 -1
  152. package/docs/components/EuiToolbarCenterComponent.html +1 -1
  153. package/docs/components/EuiToolbarComponent.html +1 -1
  154. package/docs/components/EuiToolbarEnvironmentComponent.html +1 -1
  155. package/docs/components/EuiToolbarItemComponent.html +1 -1
  156. package/docs/components/EuiToolbarItemsComponent.html +1 -1
  157. package/docs/components/EuiToolbarLogoComponent.html +1 -1
  158. package/docs/components/EuiToolbarMenuComponent.html +1 -1
  159. package/docs/components/EuiTooltipContainerComponent.html +1 -1
  160. package/docs/components/EuiTreeComponent.html +2 -2
  161. package/docs/components/EuiTreeListComponent.html +1 -1
  162. package/docs/components/EuiTreeListItemComponent.html +1 -1
  163. package/docs/components/EuiTreeListItemContentComponent.html +1 -1
  164. package/docs/components/EuiTreeListToolbarComponent.html +1 -1
  165. package/docs/components/EuiUserProfileCardComponent.html +1 -1
  166. package/docs/components/EuiUserProfileComponent.html +1 -1
  167. package/docs/components/EuiUserProfileMenuComponent.html +1 -1
  168. package/docs/components/EuiUserProfileMenuItemComponent.html +1 -1
  169. package/docs/components/EuiWizardComponent.html +1 -1
  170. package/docs/components/EuiWizardStepComponent.html +1 -1
  171. package/docs/components/PlaygroundComponent.html +1 -1
  172. package/docs/components/PlaygroundStickyLastColumnComponent.html +1 -1
  173. package/docs/components/QuillEditorComponent.html +1 -1
  174. package/docs/dependencies.html +2 -2
  175. package/docs/index.html +1 -1
  176. package/docs/js/menu-wc.js +6 -9
  177. package/docs/js/menu-wc_es5.js +1 -1
  178. package/docs/js/search/search_index.js +2 -2
  179. package/docs/modules/EuiIconModule.html +0 -6
  180. package/esm2022/directives/eui-loading.directive.mjs +3 -3
  181. package/esm2022/eui-avatar/eui-avatar.component.mjs +2 -2
  182. package/esm2022/eui-button/eui-button.component.mjs +3 -3
  183. package/esm2022/eui-card/eui-card.component.mjs +2 -2
  184. package/esm2022/eui-chip/eui-chip.component.mjs +4 -4
  185. package/esm2022/eui-chip-list/eui-chip-list.component.mjs +3 -3
  186. package/esm2022/eui-dashboard-card/eui-dashboard-card.component.mjs +2 -10
  187. package/esm2022/eui-date-range-selector/eui-date-range-selector.component.mjs +3 -3
  188. package/esm2022/eui-datepicker/eui-datepicker.component.mjs +3 -3
  189. package/esm2022/eui-icon/eui-icon-svg.component.mjs +3 -3
  190. package/esm2022/eui-icon/eui-icon.module.mjs +4 -5
  191. package/esm2022/eui-icon/index.mjs +1 -2
  192. package/esm2022/eui-input-checkbox/eui-input-checkbox.component.mjs +2 -2
  193. package/esm2022/eui-input-group/eui-input-group.component.mjs +2 -2
  194. package/esm2022/eui-input-radio/eui-input-radio.component.mjs +2 -2
  195. package/esm2022/eui-list/eui-list-item/eui-list-item.component.mjs +4 -7
  196. package/esm2022/eui-list/eui-list.component.mjs +2 -2
  197. package/esm2022/eui-menu/eui-menu-item.component.mjs +3 -3
  198. package/esm2022/eui-tree/eui-tree.component.mjs +3 -3
  199. package/esm2022/externals/eui-editor/eui-editor.component.mjs +2 -2
  200. package/esm2022/layout/eui-breadcrumb/breadcrumb.component.mjs +4 -4
  201. package/esm2022/layout/eui-search/search.component.mjs +3 -3
  202. package/esm2022/layout/eui-toolbar/toolbar.component.mjs +2 -2
  203. package/esm2022/layout/eui-user-profile/user-profile.component.mjs +2 -2
  204. package/eui-chip/eui-chip.component.d.ts +2 -2
  205. package/eui-chip/eui-chip.component.d.ts.map +1 -1
  206. package/eui-dashboard-card/eui-dashboard-card.component.d.ts +1 -6
  207. package/eui-dashboard-card/eui-dashboard-card.component.d.ts.map +1 -1
  208. package/eui-icon/eui-icon.module.d.ts +5 -6
  209. package/eui-icon/eui-icon.module.d.ts.map +1 -1
  210. package/eui-icon/index.d.ts +0 -1
  211. package/eui-icon/index.d.ts.map +1 -1
  212. package/eui-list/eui-list-item/eui-list-item.component.d.ts +2 -3
  213. package/eui-list/eui-list-item/eui-list-item.component.d.ts.map +1 -1
  214. package/fesm2022/eui-components-directives.mjs +2 -2
  215. package/fesm2022/eui-components-directives.mjs.map +3 -3
  216. package/fesm2022/eui-components-eui-avatar.mjs +2 -2
  217. package/fesm2022/eui-components-eui-avatar.mjs.map +1 -1
  218. package/fesm2022/eui-components-eui-button.mjs +2 -2
  219. package/fesm2022/eui-components-eui-button.mjs.map +2 -2
  220. package/fesm2022/eui-components-eui-card.mjs +2 -2
  221. package/fesm2022/eui-components-eui-card.mjs.map +1 -1
  222. package/fesm2022/eui-components-eui-chip-list.mjs +1 -5
  223. package/fesm2022/eui-components-eui-chip-list.mjs.map +2 -2
  224. package/fesm2022/eui-components-eui-chip.mjs +3 -3
  225. package/fesm2022/eui-components-eui-chip.mjs.map +2 -2
  226. package/fesm2022/eui-components-eui-dashboard-card.mjs +2 -7
  227. package/fesm2022/eui-components-eui-dashboard-card.mjs.map +2 -2
  228. package/fesm2022/eui-components-eui-date-range-selector.mjs +1 -3
  229. package/fesm2022/eui-components-eui-date-range-selector.mjs.map +2 -2
  230. package/fesm2022/eui-components-eui-datepicker.mjs +1 -3
  231. package/fesm2022/eui-components-eui-datepicker.mjs.map +2 -2
  232. package/fesm2022/eui-components-eui-icon.mjs +57 -126
  233. package/fesm2022/eui-components-eui-icon.mjs.map +4 -4
  234. package/fesm2022/eui-components-eui-input-checkbox.mjs +2 -2
  235. package/fesm2022/eui-components-eui-input-checkbox.mjs.map +1 -1
  236. package/fesm2022/eui-components-eui-input-group.mjs +2 -2
  237. package/fesm2022/eui-components-eui-input-group.mjs.map +1 -1
  238. package/fesm2022/eui-components-eui-input-radio.mjs +2 -2
  239. package/fesm2022/eui-components-eui-input-radio.mjs.map +1 -1
  240. package/fesm2022/eui-components-eui-list.mjs +6 -15
  241. package/fesm2022/eui-components-eui-list.mjs.map +2 -2
  242. package/fesm2022/eui-components-eui-menu.mjs +0 -20
  243. package/fesm2022/eui-components-eui-menu.mjs.map +2 -2
  244. package/fesm2022/eui-components-eui-tree.mjs +1 -33
  245. package/fesm2022/eui-components-eui-tree.mjs.map +2 -2
  246. package/fesm2022/eui-components-externals-eui-editor.mjs +2 -2
  247. package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
  248. package/fesm2022/eui-components-layout.mjs +9 -9
  249. package/fesm2022/eui-components-layout.mjs.map +3 -3
  250. package/layout/eui-breadcrumb/breadcrumb.component.d.ts.map +1 -1
  251. package/package.json +9 -9
  252. package/docs/components/EuiIconComponent.html +0 -1353
  253. package/esm2022/eui-icon/eui-icon.component.mjs +0 -65
  254. package/eui-icon/eui-icon.component.d.ts +0 -21
  255. package/eui-icon/eui-icon.component.d.ts.map +0 -1
@@ -184,11 +184,11 @@ export class EuiDateRangeSelectorComponent {
184
184
  this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);
185
185
  }
186
186
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EuiDateRangeSelectorComponent, deps: [{ token: i1.TranslateService }, { token: i2.LocaleService, optional: true }, { token: i3.DateAdapter }, { token: i4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
187
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-next.3", type: EuiDateRangeSelectorComponent, selector: "eui-date-range-selector", inputs: { styleClass: "styleClass", e2eAttr: "e2eAttr", minDate: "minDate", maxDate: "maxDate", togglerIcon: "togglerIcon", togglerIconSvg: "togglerIconSvg", togglerLabel: "togglerLabel", firstInputPlaceholder: "firstInputPlaceholder", secondInputPlaceholder: "secondInputPlaceholder", firstInputAriaLabel: "firstInputAriaLabel", secondInputAriaLabel: "secondInputAriaLabel", startDateDefaultValue: "startDateDefaultValue", endDateDefaultValue: "endDateDefaultValue", comparisonStart: "comparisonStart", comparisonEnd: "comparisonEnd", startView: "startView", islongDateFormat: ["islongDateFormat", "islongDateFormat", booleanAttribute], isClearable: ["isClearable", "isClearable", booleanAttribute], isReadOnly: ["isReadOnly", "isReadOnly", booleanAttribute], isDisabled: ["isDisabled", "isDisabled", booleanAttribute], isResponsive: ["isResponsive", "isResponsive", booleanAttribute] }, outputs: { firstSelectedDate: "firstSelectedDate", secondSelectedDate: "secondSelectedDate" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"eui-date-range-selector {{ styleClass }}\"\n attr.data-e2e=\"{{ e2eAttr }}\"\n [class.eui-date-range-selector--responsive]=\"isResponsive\">\n <mat-date-range-input\n [class.mat-date-range-input--read-only]=\"isReadOnly\"\n [class.mat-date-range-input--disabled]=\"isDisabled\"\n [class.mat-date-range-input--invalid]=\"isInvalid && isTouched\"\n [rangePicker]=\"picker\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [comparisonStart]=\"comparisonStart\"\n [comparisonEnd]=\"comparisonEnd\">\n <input\n #inputStartDate\n class=\"eui-date-range-selector__start-date\"\n euiInputText\n [readonly]=\"isReadOnly\"\n matStartDate\n placeholder=\"{{ firstInputPlaceholder }}\"\n attr.aria-label=\"{{ firstInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"startRangeFormControl\"\n (dateInput)=\"onFirstDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onFirstDateClear()\" />\n <input\n #inputEndDate\n class=\"eui-date-range-selector__end-date\"\n euiInputText\n [readonly]=\"isReadOnly\"\n matEndDate\n placeholder=\"{{ secondInputPlaceholder }}\"\n attr.aria-label=\"{{ secondInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"endRangeFormControl\"\n (dateInput)=\"onSecondDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onSecondDateClear()\" />\n </mat-date-range-input>\n <mat-date-range-picker #picker [startView]=\"startView\"> </mat-date-range-picker>\n <button\n *ngIf=\"!isReadOnly\"\n class=\"eui-date-range-selector__toggler eui-date-range-selector__toggler-{{ !togglerLabel ? 'icon' : 'label' }}\"\n (click)=\"picker.open()\"\n euiButton\n euiSecondary\n euiIconButton\n type=\"button\"\n [euiDisabled]=\"isDisabled\"\n aria-haspopup=\"dialog\">\n <span *ngIf=\"!togglerLabel && togglerIcon\" euiIcon aria-label=\"Open Calendar\" iconClass=\"{{ togglerIcon }}\"></span>\n <ng-container *ngIf=\"!togglerLabel && !togglerIcon\">\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\"></eui-icon-svg>\n </ng-container>\n <span *ngIf=\"togglerLabel\">{{ togglerLabel }}</span>\n </button>\n</div>\n", styles: ["eui-date-range-selector{display:flex;width:100%}.eui-date-range-selector{display:inline-flex;height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))}.eui-date-range-selector--responsive{display:flex;width:100%}.eui-date-range-selector .mat-date-range-input{align-items:center;display:flex;height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))}.eui-date-range-selector .mat-date-range-input .mat-date-range-input-container{align-items:center;display:flex;height:100%}.eui-date-range-selector .mat-date-range-input .mat-date-range-input-container .mat-date-range-input-wrapper{height:100%;width:calc(6.9 * var(--eui-base-spacing-m))}.eui-date-range-selector .mat-date-range-input .mat-date-range-input-container .mat-date-range-input-wrapper .eui-input-text{min-height:calc(var(--eui-base-spacing-2xl) + 2px)}.eui-date-range-selector.eui-date-range-selector--clearable .mat-date-range-input-wrapper{width:calc(8.5 * var(--eui-base-spacing-m))!important}.eui-date-range-selector.eui-date-range-selector--clearable .mat-date-range-input-wrapper .mat-date-range-input-inner{position:relative}.eui-date-range-selector--long-date-format .mat-date-range-input-wrapper{width:calc(12.5 * var(--eui-base-spacing-m))}.eui-date-range-selector .mat-date-range-input-separator.mat-date-range-input-separator-hidden{opacity:1}.eui-date-range-selector__toggler{border-bottom-left-radius:0;border-top-left-radius:0;border-left:none}.eui-date-range-selector__toggler-label{width:auto}.eui-date-range-selector .mat-date-range-input{align-items:center;display:flex;box-sizing:border-box;background:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);border-bottom-right-radius:0;border-top-right-radius:0;text-align:center}.eui-date-range-selector .mat-date-range-input--read-only{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-date-range-selector .mat-date-range-input--read-only .mat-date-range-input-separator.mat-date-range-input-separator-hidden{opacity:0}.eui-date-range-selector .mat-date-range-input--disabled{background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-base-disabled-opacity);background-color:var(--eui-base-color-grey-5);border:1px solid var(--eui-base-color-grey-25)}.eui-date-range-selector .mat-date-range-input--disabled input.eui-date-range-selector__start-date{border-right:none!important}.eui-date-range-selector .mat-date-range-input--disabled input.eui-date-range-selector__end-date{border-left:none!important}.eui-date-range-selector .mat-date-range-input--invalid{border:1px solid var(--eui-base-color-danger-100)}.eui-date-range-selector input.mat-date-range-input-inner{align-items:center;font: 400 1rem/1.25rem arial,sans-serif;appearance:none;background-color:inherit;border:hidden;color:var(--eui-base-color-grey-100);display:flex;padding:var(--eui-base-spacing-s);text-align:left;width:100%}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i6.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i6.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i6.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i6.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: i7.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }, { kind: "component", type: i8.EuiIconComponent, selector: "div[euiIcon], span[euiIcon], i[euiIcon], eui-icon", inputs: ["aria-label", "iconClass", "isLoading"] }, { kind: "component", type: i8.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i9.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }], encapsulation: i0.ViewEncapsulation.None }); }
187
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-next.3", type: EuiDateRangeSelectorComponent, selector: "eui-date-range-selector", inputs: { styleClass: "styleClass", e2eAttr: "e2eAttr", minDate: "minDate", maxDate: "maxDate", togglerIcon: "togglerIcon", togglerIconSvg: "togglerIconSvg", togglerLabel: "togglerLabel", firstInputPlaceholder: "firstInputPlaceholder", secondInputPlaceholder: "secondInputPlaceholder", firstInputAriaLabel: "firstInputAriaLabel", secondInputAriaLabel: "secondInputAriaLabel", startDateDefaultValue: "startDateDefaultValue", endDateDefaultValue: "endDateDefaultValue", comparisonStart: "comparisonStart", comparisonEnd: "comparisonEnd", startView: "startView", islongDateFormat: ["islongDateFormat", "islongDateFormat", booleanAttribute], isClearable: ["isClearable", "isClearable", booleanAttribute], isReadOnly: ["isReadOnly", "isReadOnly", booleanAttribute], isDisabled: ["isDisabled", "isDisabled", booleanAttribute], isResponsive: ["isResponsive", "isResponsive", booleanAttribute] }, outputs: { firstSelectedDate: "firstSelectedDate", secondSelectedDate: "secondSelectedDate" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"eui-date-range-selector {{ styleClass }}\"\n attr.data-e2e=\"{{ e2eAttr }}\"\n [class.eui-date-range-selector--responsive]=\"isResponsive\">\n <mat-date-range-input\n [class.mat-date-range-input--read-only]=\"isReadOnly\"\n [class.mat-date-range-input--disabled]=\"isDisabled\"\n [class.mat-date-range-input--invalid]=\"isInvalid && isTouched\"\n [rangePicker]=\"picker\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [comparisonStart]=\"comparisonStart\"\n [comparisonEnd]=\"comparisonEnd\">\n <input\n #inputStartDate\n class=\"eui-date-range-selector__start-date\"\n euiInputText\n [readonly]=\"isReadOnly\"\n matStartDate\n placeholder=\"{{ firstInputPlaceholder }}\"\n attr.aria-label=\"{{ firstInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"startRangeFormControl\"\n (dateInput)=\"onFirstDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onFirstDateClear()\" />\n <input\n #inputEndDate\n class=\"eui-date-range-selector__end-date\"\n euiInputText\n [readonly]=\"isReadOnly\"\n matEndDate\n placeholder=\"{{ secondInputPlaceholder }}\"\n attr.aria-label=\"{{ secondInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"endRangeFormControl\"\n (dateInput)=\"onSecondDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onSecondDateClear()\" />\n </mat-date-range-input>\n <mat-date-range-picker #picker [startView]=\"startView\"> </mat-date-range-picker>\n <button\n *ngIf=\"!isReadOnly\"\n class=\"eui-date-range-selector__toggler eui-date-range-selector__toggler-{{ !togglerLabel ? 'icon' : 'label' }}\"\n (click)=\"picker.open()\"\n euiButton\n euiSecondary\n euiIconButton\n type=\"button\"\n [euiDisabled]=\"isDisabled\"\n aria-haspopup=\"dialog\">\n <ng-container *ngIf=\"!togglerLabel && !togglerIcon\">\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\"></eui-icon-svg>\n </ng-container>\n <span *ngIf=\"togglerLabel\">{{ togglerLabel }}</span>\n </button>\n</div>\n", styles: ["eui-date-range-selector{display:flex;width:100%}.eui-date-range-selector{display:inline-flex;height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))}.eui-date-range-selector--responsive{display:flex;width:100%}.eui-date-range-selector .mat-date-range-input{align-items:center;display:flex;height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))}.eui-date-range-selector .mat-date-range-input .mat-date-range-input-container{align-items:center;display:flex;height:100%}.eui-date-range-selector .mat-date-range-input .mat-date-range-input-container .mat-date-range-input-wrapper{height:100%;width:calc(6.9 * var(--eui-base-spacing-m))}.eui-date-range-selector .mat-date-range-input .mat-date-range-input-container .mat-date-range-input-wrapper .eui-input-text{min-height:calc(var(--eui-base-spacing-2xl) + 2px)}.eui-date-range-selector.eui-date-range-selector--clearable .mat-date-range-input-wrapper{width:calc(8.5 * var(--eui-base-spacing-m))!important}.eui-date-range-selector.eui-date-range-selector--clearable .mat-date-range-input-wrapper .mat-date-range-input-inner{position:relative}.eui-date-range-selector--long-date-format .mat-date-range-input-wrapper{width:calc(12.5 * var(--eui-base-spacing-m))}.eui-date-range-selector .mat-date-range-input-separator.mat-date-range-input-separator-hidden{opacity:1}.eui-date-range-selector__toggler{border-bottom-left-radius:0;border-top-left-radius:0;border-left:none}.eui-date-range-selector__toggler-label{width:auto}.eui-date-range-selector .mat-date-range-input{align-items:center;display:flex;box-sizing:border-box;background:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);border-bottom-right-radius:0;border-top-right-radius:0;text-align:center}.eui-date-range-selector .mat-date-range-input--read-only{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-date-range-selector .mat-date-range-input--read-only .mat-date-range-input-separator.mat-date-range-input-separator-hidden{opacity:0}.eui-date-range-selector .mat-date-range-input--disabled{background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-base-disabled-opacity);background-color:var(--eui-base-color-grey-5);border:1px solid var(--eui-base-color-grey-25)}.eui-date-range-selector .mat-date-range-input--disabled input.eui-date-range-selector__start-date{border-right:none!important}.eui-date-range-selector .mat-date-range-input--disabled input.eui-date-range-selector__end-date{border-left:none!important}.eui-date-range-selector .mat-date-range-input--invalid{border:1px solid var(--eui-base-color-danger-100)}.eui-date-range-selector input.mat-date-range-input-inner{align-items:center;font: 400 1rem/1.25rem arial,sans-serif;appearance:none;background-color:inherit;border:hidden;color:var(--eui-base-color-grey-100);display:flex;padding:var(--eui-base-spacing-s);text-align:left;width:100%}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i6.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i6.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i6.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i6.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: i7.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }, { kind: "component", type: i8.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i9.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }], encapsulation: i0.ViewEncapsulation.None }); }
188
188
  }
189
189
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EuiDateRangeSelectorComponent, decorators: [{
190
190
  type: Component,
191
- args: [{ selector: 'eui-date-range-selector', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"eui-date-range-selector {{ styleClass }}\"\n attr.data-e2e=\"{{ e2eAttr }}\"\n [class.eui-date-range-selector--responsive]=\"isResponsive\">\n <mat-date-range-input\n [class.mat-date-range-input--read-only]=\"isReadOnly\"\n [class.mat-date-range-input--disabled]=\"isDisabled\"\n [class.mat-date-range-input--invalid]=\"isInvalid && isTouched\"\n [rangePicker]=\"picker\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [comparisonStart]=\"comparisonStart\"\n [comparisonEnd]=\"comparisonEnd\">\n <input\n #inputStartDate\n class=\"eui-date-range-selector__start-date\"\n euiInputText\n [readonly]=\"isReadOnly\"\n matStartDate\n placeholder=\"{{ firstInputPlaceholder }}\"\n attr.aria-label=\"{{ firstInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"startRangeFormControl\"\n (dateInput)=\"onFirstDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onFirstDateClear()\" />\n <input\n #inputEndDate\n class=\"eui-date-range-selector__end-date\"\n euiInputText\n [readonly]=\"isReadOnly\"\n matEndDate\n placeholder=\"{{ secondInputPlaceholder }}\"\n attr.aria-label=\"{{ secondInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"endRangeFormControl\"\n (dateInput)=\"onSecondDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onSecondDateClear()\" />\n </mat-date-range-input>\n <mat-date-range-picker #picker [startView]=\"startView\"> </mat-date-range-picker>\n <button\n *ngIf=\"!isReadOnly\"\n class=\"eui-date-range-selector__toggler eui-date-range-selector__toggler-{{ !togglerLabel ? 'icon' : 'label' }}\"\n (click)=\"picker.open()\"\n euiButton\n euiSecondary\n euiIconButton\n type=\"button\"\n [euiDisabled]=\"isDisabled\"\n aria-haspopup=\"dialog\">\n <span *ngIf=\"!togglerLabel && togglerIcon\" euiIcon aria-label=\"Open Calendar\" iconClass=\"{{ togglerIcon }}\"></span>\n <ng-container *ngIf=\"!togglerLabel && !togglerIcon\">\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\"></eui-icon-svg>\n </ng-container>\n <span *ngIf=\"togglerLabel\">{{ togglerLabel }}</span>\n </button>\n</div>\n", styles: ["eui-date-range-selector{display:flex;width:100%}.eui-date-range-selector{display:inline-flex;height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))}.eui-date-range-selector--responsive{display:flex;width:100%}.eui-date-range-selector .mat-date-range-input{align-items:center;display:flex;height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))}.eui-date-range-selector .mat-date-range-input .mat-date-range-input-container{align-items:center;display:flex;height:100%}.eui-date-range-selector .mat-date-range-input .mat-date-range-input-container .mat-date-range-input-wrapper{height:100%;width:calc(6.9 * var(--eui-base-spacing-m))}.eui-date-range-selector .mat-date-range-input .mat-date-range-input-container .mat-date-range-input-wrapper .eui-input-text{min-height:calc(var(--eui-base-spacing-2xl) + 2px)}.eui-date-range-selector.eui-date-range-selector--clearable .mat-date-range-input-wrapper{width:calc(8.5 * var(--eui-base-spacing-m))!important}.eui-date-range-selector.eui-date-range-selector--clearable .mat-date-range-input-wrapper .mat-date-range-input-inner{position:relative}.eui-date-range-selector--long-date-format .mat-date-range-input-wrapper{width:calc(12.5 * var(--eui-base-spacing-m))}.eui-date-range-selector .mat-date-range-input-separator.mat-date-range-input-separator-hidden{opacity:1}.eui-date-range-selector__toggler{border-bottom-left-radius:0;border-top-left-radius:0;border-left:none}.eui-date-range-selector__toggler-label{width:auto}.eui-date-range-selector .mat-date-range-input{align-items:center;display:flex;box-sizing:border-box;background:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);border-bottom-right-radius:0;border-top-right-radius:0;text-align:center}.eui-date-range-selector .mat-date-range-input--read-only{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-date-range-selector .mat-date-range-input--read-only .mat-date-range-input-separator.mat-date-range-input-separator-hidden{opacity:0}.eui-date-range-selector .mat-date-range-input--disabled{background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-base-disabled-opacity);background-color:var(--eui-base-color-grey-5);border:1px solid var(--eui-base-color-grey-25)}.eui-date-range-selector .mat-date-range-input--disabled input.eui-date-range-selector__start-date{border-right:none!important}.eui-date-range-selector .mat-date-range-input--disabled input.eui-date-range-selector__end-date{border-left:none!important}.eui-date-range-selector .mat-date-range-input--invalid{border:1px solid var(--eui-base-color-danger-100)}.eui-date-range-selector input.mat-date-range-input-inner{align-items:center;font: 400 1rem/1.25rem arial,sans-serif;appearance:none;background-color:inherit;border:hidden;color:var(--eui-base-color-grey-100);display:flex;padding:var(--eui-base-spacing-s);text-align:left;width:100%}\n"] }]
191
+ args: [{ selector: 'eui-date-range-selector', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"eui-date-range-selector {{ styleClass }}\"\n attr.data-e2e=\"{{ e2eAttr }}\"\n [class.eui-date-range-selector--responsive]=\"isResponsive\">\n <mat-date-range-input\n [class.mat-date-range-input--read-only]=\"isReadOnly\"\n [class.mat-date-range-input--disabled]=\"isDisabled\"\n [class.mat-date-range-input--invalid]=\"isInvalid && isTouched\"\n [rangePicker]=\"picker\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [comparisonStart]=\"comparisonStart\"\n [comparisonEnd]=\"comparisonEnd\">\n <input\n #inputStartDate\n class=\"eui-date-range-selector__start-date\"\n euiInputText\n [readonly]=\"isReadOnly\"\n matStartDate\n placeholder=\"{{ firstInputPlaceholder }}\"\n attr.aria-label=\"{{ firstInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"startRangeFormControl\"\n (dateInput)=\"onFirstDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onFirstDateClear()\" />\n <input\n #inputEndDate\n class=\"eui-date-range-selector__end-date\"\n euiInputText\n [readonly]=\"isReadOnly\"\n matEndDate\n placeholder=\"{{ secondInputPlaceholder }}\"\n attr.aria-label=\"{{ secondInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"endRangeFormControl\"\n (dateInput)=\"onSecondDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onSecondDateClear()\" />\n </mat-date-range-input>\n <mat-date-range-picker #picker [startView]=\"startView\"> </mat-date-range-picker>\n <button\n *ngIf=\"!isReadOnly\"\n class=\"eui-date-range-selector__toggler eui-date-range-selector__toggler-{{ !togglerLabel ? 'icon' : 'label' }}\"\n (click)=\"picker.open()\"\n euiButton\n euiSecondary\n euiIconButton\n type=\"button\"\n [euiDisabled]=\"isDisabled\"\n aria-haspopup=\"dialog\">\n <ng-container *ngIf=\"!togglerLabel && !togglerIcon\">\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\"></eui-icon-svg>\n </ng-container>\n <span *ngIf=\"togglerLabel\">{{ togglerLabel }}</span>\n </button>\n</div>\n", styles: ["eui-date-range-selector{display:flex;width:100%}.eui-date-range-selector{display:inline-flex;height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))}.eui-date-range-selector--responsive{display:flex;width:100%}.eui-date-range-selector .mat-date-range-input{align-items:center;display:flex;height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))}.eui-date-range-selector .mat-date-range-input .mat-date-range-input-container{align-items:center;display:flex;height:100%}.eui-date-range-selector .mat-date-range-input .mat-date-range-input-container .mat-date-range-input-wrapper{height:100%;width:calc(6.9 * var(--eui-base-spacing-m))}.eui-date-range-selector .mat-date-range-input .mat-date-range-input-container .mat-date-range-input-wrapper .eui-input-text{min-height:calc(var(--eui-base-spacing-2xl) + 2px)}.eui-date-range-selector.eui-date-range-selector--clearable .mat-date-range-input-wrapper{width:calc(8.5 * var(--eui-base-spacing-m))!important}.eui-date-range-selector.eui-date-range-selector--clearable .mat-date-range-input-wrapper .mat-date-range-input-inner{position:relative}.eui-date-range-selector--long-date-format .mat-date-range-input-wrapper{width:calc(12.5 * var(--eui-base-spacing-m))}.eui-date-range-selector .mat-date-range-input-separator.mat-date-range-input-separator-hidden{opacity:1}.eui-date-range-selector__toggler{border-bottom-left-radius:0;border-top-left-radius:0;border-left:none}.eui-date-range-selector__toggler-label{width:auto}.eui-date-range-selector .mat-date-range-input{align-items:center;display:flex;box-sizing:border-box;background:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);border-bottom-right-radius:0;border-top-right-radius:0;text-align:center}.eui-date-range-selector .mat-date-range-input--read-only{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-date-range-selector .mat-date-range-input--read-only .mat-date-range-input-separator.mat-date-range-input-separator-hidden{opacity:0}.eui-date-range-selector .mat-date-range-input--disabled{background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-base-disabled-opacity);background-color:var(--eui-base-color-grey-5);border:1px solid var(--eui-base-color-grey-25)}.eui-date-range-selector .mat-date-range-input--disabled input.eui-date-range-selector__start-date{border-right:none!important}.eui-date-range-selector .mat-date-range-input--disabled input.eui-date-range-selector__end-date{border-left:none!important}.eui-date-range-selector .mat-date-range-input--invalid{border:1px solid var(--eui-base-color-danger-100)}.eui-date-range-selector input.mat-date-range-input-inner{align-items:center;font: 400 1rem/1.25rem arial,sans-serif;appearance:none;background-color:inherit;border:hidden;color:var(--eui-base-color-grey-100);display:flex;padding:var(--eui-base-spacing-s);text-align:left;width:100%}\n"] }]
192
192
  }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.LocaleService, decorators: [{
193
193
  type: Optional
194
194
  }] }, { type: i3.DateAdapter }, { type: i4.NgControl, decorators: [{
@@ -247,4 +247,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3",
247
247
  type: Input,
248
248
  args: [{ transform: booleanAttribute }]
249
249
  }] } });
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3IvZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3IvZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFFSixpQkFBaUIsRUFDakIsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTFGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7OztBQVUzQyxNQUFNLE9BQU8sNkJBQTZCO0lBbUN0QyxZQUNjLGdCQUFrQyxFQUN0QixhQUE0QixFQUN4QyxPQUF5QixFQUNMLE9BQWtCO1FBSHRDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDeEMsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDTCxZQUFPLEdBQVAsT0FBTyxDQUFXO1FBdENwRCxrQkFBYSxHQUE4QixFQUFFLFVBQVUsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1FBR3hFLDBCQUFxQixHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDMUMsd0JBQW1CLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUVyQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxD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QUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ2lDLGdCQUFnQjtzQkFBdEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDQyxXQUFXO3NCQUFqRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNDLFVBQVU7c0JBQWhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0MsVUFBVTtzQkFBaEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDQyxZQUFZO3NCQUFsRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBEb0NoZWNrLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgU2VsZixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOZ0NvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VySW5wdXRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBFdWlEYXRlUmFuZ2VTZWxlY3RvckRhdGVzIH0gZnJvbSAnLi9tb2RlbHMvZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3ItZGF0ZXMubW9kZWwnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktZGF0ZS1yYW5nZS1zZWxlY3RvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1kYXRlLXJhbmdlLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlEYXRlUmFuZ2VTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBEb0NoZWNrIHtcbiAgICBzZWxlY3RlZERhdGVzOiBFdWlEYXRlUmFuZ2VTZWxlY3RvckRhdGVzID0geyBzdGFydFJhbmdlOm51bGwsIGVuZFJhbmdlOiBudWxsIH07XG4gICAgcHVibGljIGlzSW52YWxpZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgaXNUb3VjaGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyBzdGFydFJhbmdlRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICBwdWJsaWMgZW5kUmFuZ2VGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuXG4gICAgQE91dHB1dCgpIGZpcnN0U2VsZWN0ZWREYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHNlY29uZFNlbGVjdGVkRGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgQElucHV0KCkgc3R5bGVDbGFzcyA9ICcnO1xuICAgIEBJbnB1dCgpIGUyZUF0dHIgPSAnZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3InO1xuICAgIEBJbnB1dCgpIG1pbkRhdGU6IGFueTtcbiAgICBASW5wdXQoKSBtYXhEYXRlOiBhbnk7XG4gICAgQElucHV0KCkgdG9nZ2xlckljb246IHN0cmluZztcbiAgICBASW5wdXQoKSB0b2dnbGVySWNvblN2ZyA9ICdldWktY2FsZW5kYXItb3V0bGluZSc7XG4gICAgQElucHV0KCkgdG9nZ2xlckxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZmlyc3RJbnB1dFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgQElucHV0KCkgc2Vjb25kSW5wdXRQbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZpcnN0SW5wdXRBcmlhTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBzZWNvbmRJbnB1dEFyaWFMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN0YXJ0RGF0ZURlZmF1bHRWYWx1ZTogYW55O1xuICAgIEBJbnB1dCgpIGVuZERhdGVEZWZhdWx0VmFsdWU6IGFueTtcbiAgICBASW5wdXQoKSBjb21wYXJpc29uU3RhcnQ6IGFueTtcbiAgICBASW5wdXQoKSBjb21wYXJpc29uRW5kOiBhbnk7XG4gICAgQElucHV0KCkgc3RhcnRWaWV3OiAnbW9udGgnIHwgJ3llYXInIHwgJ211bHRpLXllYXInID0gJ21vbnRoJztcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlpc2xvbmdEYXRlRm9ybWF0ID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0paXNDbGVhcmFibGUgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlpc1JlYWRPbmx5ID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0paXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KWlzUmVzcG9uc2l2ZSA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIGhhc0FyaWFSZXF1aXJlZEF0dHJpYnV0ZTogYm9vbGVhbjtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBhZGFwdGVyOiBEYXRlQWRhcHRlcjxhbnk+LFxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBjb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRTdGF0ZSgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRhcHRlci5zZXRMb2NhbGUoc3RhdGUuaWQpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zdGFydFJhbmdlRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogdGhpcy5zdGFydERhdGVEZWZhdWx0VmFsdWUsIGRpc2FibGVkOiB0aGlzLmlzRGlzYWJsZWQgfSk7XG4gICAgICAgIHRoaXMuZW5kUmFuZ2VGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLmVuZERhdGVEZWZhdWx0VmFsdWUsIGRpc2FibGVkOiB0aGlzLmlzRGlzYWJsZWQgfSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmZpcnN0SW5wdXRQbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLnN0cmVhbSgnZXVpLmRhdGVyYW5nZXNlbGVjdG9yLkZJUlNUUElDS0VSU0xBQkVMJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maXJzdElucHV0UGxhY2Vob2xkZXIgPSByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gYnkgc2V0dGluZyB0aGUgZmlyc3RJbnB1dEFyaWFMYWJlbCB0byBkZC9tbS95eXl5KG9yIHRoZSBkZXNpcmVkIGZvcm1hdCkgdGhlIGZvcm1hdCBjYW4gYmUgYW5ub3VuY2VkIHRvIHRoZSBzY3JlZW4gcmVhZGVyIHVzZXJzIGJlZm9yZSB0aGUgdXNlcnMgc3RhcnQgdHlwaW5nXG4gICAgICAgIGlmICghdGhpcy5maXJzdElucHV0QXJpYUxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcbiAgICAgICAgICAgICAgICAuc3RyZWFtKCdldWkuZGF0ZXJhbmdlc2VsZWN0b3IuRklSU1RQSUNLRVJTUExBQ0VIT0xERVInKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpcnN0SW5wdXRBcmlhTGFiZWwgPSByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLnNlY29uZElucHV0UGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZVxuICAgICAgICAgICAgICAgIC5zdHJlYW0oJ2V1aS5kYXRlcmFuZ2VzZWxlY3Rvci5TRUNPTkRQSUNLRVJTTEFCRUwnKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlY29uZElucHV0UGxhY2Vob2xkZXIgPSByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gYnkgc2V0dGluZyB0aGUgc2Vjb25kSW5wdXRBcmlhTGFiZWwgdG8gZGQvbW0veXl5eShvciB0aGUgZGVzaXJlZCBmb3JtYXQpIHRoZSBmb3JtYXQgY2FuIGJlIGFubm91bmNlZCB0byB0aGUgc2NyZWVuIHJlYWRlciB1c2VycyBiZWZvcmUgdGhlIHVzZXJzIHN0YXJ0IHR5cGluZ1xuICAgICAgICBpZiAoIXRoaXMuc2Vjb25kSW5wdXRBcmlhTGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZVxuICAgICAgICAgICAgICAgIC5zdHJlYW0oJ2V1aS5kYXRlcmFuZ2VzZWxlY3Rvci5TRUNPTkRQSUNLRVJTUExBQ0VIT0xERVInKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlY29uZElucHV0QXJpYUxhYmVsID0gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVJbnB1dEFyaWFSZXF1aXJlZEF0dHJpYnV0ZSh0aGlzLmNvbnRyb2wpO1xuICAgICAgICB0aGlzLmNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVJbnB1dEFyaWFSZXF1aXJlZEF0dHJpYnV0ZSh0aGlzLmNvbnRyb2wpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIC8vIG1hcmtzIHRoZSBpbnB1dCBjb250cm9scyBhcyB0b3VjaGVkL2ludmFsaWQgaWYgdGhlIGZvcm0gY29udHJvbCBpcyB0b3VjaGVkL2ludmFsaWRcbiAgICAgICAgICAgIHRoaXMuY29udHJvbD8udG91Y2hlZCA/IHRoaXMuc3RhcnRSYW5nZUZvcm1Db250cm9sPy5tYXJrQXNUb3VjaGVkKCkgOiB0aGlzLnN0YXJ0UmFuZ2VGb3JtQ29udHJvbC5tYXJrQXNVbnRvdWNoZWQoKTtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbD8udG91Y2hlZCA/IHRoaXMuZW5kUmFuZ2VGb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCkgOiB0aGlzLmVuZFJhbmdlRm9ybUNvbnRyb2w/Lm1hcmtBc1VudG91Y2hlZCgpO1xuICAgICAgICAgICAgdGhpcy5jb250cm9sPy50b3VjaGVkID8gKHRoaXMuaXNUb3VjaGVkID0gdHJ1ZSkgOiAodGhpcy5pc1RvdWNoZWQgPSBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2w/LmludmFsaWQgPyB0aGlzLnN0YXJ0UmFuZ2VGb3JtQ29udHJvbC5zZXRFcnJvcnModGhpcy5jb250cm9sLmVycm9ycykgOiB0aGlzLnN0YXJ0UmFuZ2VGb3JtQ29udHJvbC5zZXRFcnJvcnMobnVsbCk7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2w/LmludmFsaWQgPyB0aGlzLmVuZFJhbmdlRm9ybUNvbnRyb2wuc2V0RXJyb3JzKHRoaXMuY29udHJvbC5lcnJvcnMpIDogdGhpcy5lbmRSYW5nZUZvcm1Db250cm9sLnNldEVycm9ycyhudWxsKTtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbD8uaW52YWxpZCA/ICh0aGlzLmlzSW52YWxpZCA9IHRydWUpIDogKHRoaXMuaXNJbnZhbGlkID0gZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc2xvbmdEYXRlRm9ybWF0KSB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlQ2xhc3MgKz0gJ2V1aS1kYXRlLXJhbmdlLXNlbGVjdG9yLS1sb25nLWRhdGUtZm9ybWF0JztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc0NsZWFyYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5zdHlsZUNsYXNzICs9ICdldWktZGF0ZS1yYW5nZS1zZWxlY3Rvci0tY2xlYXJhYmxlJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMgJiYgY2hhbmdlc1snc3RhcnREYXRlRGVmYXVsdFZhbHVlJ10pIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRSYW5nZUZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuc3RhcnREYXRlRGVmYXVsdFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcyAmJiBjaGFuZ2VzWydlbmREYXRlRGVmYXVsdFZhbHVlJ10pIHtcbiAgICAgICAgICAgIHRoaXMuZW5kUmFuZ2VGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmVuZERhdGVEZWZhdWx0VmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXMgJiYgY2hhbmdlc1snaXNEaXNhYmxlZCddKSB7XG4gICAgICAgICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUodGhpcy5pc0Rpc2FibGVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25GaXJzdERhdGVDaGFuZ2UoZTogTWF0RGF0ZXBpY2tlcklucHV0RXZlbnQ8YW55Pik6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZXMuc3RhcnRSYW5nZSA9IGUudmFsdWU7XG4gICAgICAgIHRoaXMuZmlyc3RTZWxlY3RlZERhdGUuZW1pdChlLnZhbHVlKTtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGVzKTtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVUb3VjaGVkKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2Vjb25kRGF0ZUNoYW5nZShlOiBNYXREYXRlcGlja2VySW5wdXRFdmVudDxhbnk+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlcy5lbmRSYW5nZSA9IGUudmFsdWU7XG4gICAgICAgIHRoaXMuc2Vjb25kU2VsZWN0ZWREYXRlLmVtaXQoZS52YWx1ZSk7XG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuc2VsZWN0ZWREYXRlcyk7XG4gICAgICAgIHRoaXMucHJvcGFnYXRlVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIG9uRmlyc3REYXRlQ2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlcy5zdGFydFJhbmdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5maXJzdFNlbGVjdGVkRGF0ZS5lbWl0KG51bGwpO1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGVkRGF0ZXMpO1xuICAgIH1cbiAgICBvblNlY29uZERhdGVDbGVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVzLmVuZFJhbmdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5zZWNvbmRTZWxlY3RlZERhdGUuZW1pdChudWxsKTtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGVzKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlczogRXVpRGF0ZVJhbmdlU2VsZWN0b3JEYXRlcyk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWVzICYmIHZhbHVlcy5zdGFydFJhbmdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignc3RhcnRSYW5nZSBvZiBFdWlEYXRlUmFuZ2VTZWxlY3RvckRhdGVzIG1vZGVsIG11c3QgYmUgZGVmaW5lZCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZXMgJiYgdmFsdWVzLmVuZFJhbmdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignZW5kUmFuZ2Ugb2YgRXVpRGF0ZVJhbmdlU2VsZWN0b3JEYXRlcyBtb2RlbCBtdXN0IGJlIGRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhcnREYXRlRGVmYXVsdFZhbHVlID0gdmFsdWVzPy5zdGFydFJhbmdlO1xuICAgICAgICB0aGlzLmVuZERhdGVEZWZhdWx0VmFsdWUgPSB2YWx1ZXM/LmVuZFJhbmdlO1xuICAgICAgICB0aGlzLnN0YXJ0UmFuZ2VGb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZXM/LnN0YXJ0UmFuZ2UpO1xuICAgICAgICB0aGlzLmVuZFJhbmdlRm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWVzPy5lbmRSYW5nZSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlcyA9IHZhbHVlcyB8fCB7IHN0YXJ0UmFuZ2U6bnVsbCwgZW5kUmFuZ2U6IG51bGwgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0UmFuZ2VGb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgICAgICAgICB0aGlzLmVuZFJhbmdlRm9ybUNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdGFydFJhbmdlRm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgICAgICB0aGlzLmVuZFJhbmdlRm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvcGFnYXRlVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24sIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSk6IHZvaWQgPT4ge307XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgcHJpdmF0ZSBwcm9wYWdhdGVUb3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBgYXJpYS1yZXF1aXJlZGAgYXR0cmlidXRlIG9uIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSB1cGRhdGVJbnB1dEFyaWFSZXF1aXJlZEF0dHJpYnV0ZShjb250cm9sOiBOZ0NvbnRyb2wpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYXNBcmlhUmVxdWlyZWRBdHRyaWJ1dGUgPSBjb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3Ige3sgc3R5bGVDbGFzcyB9fVwiXG4gICAgYXR0ci5kYXRhLWUyZT1cInt7IGUyZUF0dHIgfX1cIlxuICAgIFtjbGFzcy5ldWktZGF0ZS1yYW5nZS1zZWxlY3Rvci0tcmVzcG9uc2l2ZV09XCJpc1Jlc3BvbnNpdmVcIj5cbiAgICA8bWF0LWRhdGUtcmFuZ2UtaW5wdXRcbiAgICAgICAgW2NsYXNzLm1hdC1kYXRlLXJhbmdlLWlucHV0LS1yZWFkLW9ubHldPVwiaXNSZWFkT25seVwiXG4gICAgICAgIFtjbGFzcy5tYXQtZGF0ZS1yYW5nZS1pbnB1dC0tZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gICAgICAgIFtjbGFzcy5tYXQtZGF0ZS1yYW5nZS1pbnB1dC0taW52YWxpZF09XCJpc0ludmFsaWQgJiYgaXNUb3VjaGVkXCJcbiAgICAgICAgW3JhbmdlUGlja2VyXT1cInBpY2tlclwiXG4gICAgICAgIFttaW5dPVwibWluRGF0ZVwiXG4gICAgICAgIFttYXhdPVwibWF4RGF0ZVwiXG4gICAgICAgIFtjb21wYXJpc29uU3RhcnRdPVwiY29tcGFyaXNvblN0YXJ0XCJcbiAgICAgICAgW2NvbXBhcmlzb25FbmRdPVwiY29tcGFyaXNvbkVuZFwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICNpbnB1dFN0YXJ0RGF0ZVxuICAgICAgICAgICAgY2xhc3M9XCJldWktZGF0ZS1yYW5nZS1zZWxlY3Rvcl9fc3RhcnQtZGF0ZVwiXG4gICAgICAgICAgICBldWlJbnB1dFRleHRcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJpc1JlYWRPbmx5XCJcbiAgICAgICAgICAgIG1hdFN0YXJ0RGF0ZVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBmaXJzdElucHV0UGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgICAgYXR0ci5hcmlhLWxhYmVsPVwie3sgZmlyc3RJbnB1dEFyaWFMYWJlbCB9fVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cImhhc0FyaWFSZXF1aXJlZEF0dHJpYnV0ZSA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInN0YXJ0UmFuZ2VGb3JtQ29udHJvbFwiXG4gICAgICAgICAgICAoZGF0ZUlucHV0KT1cIm9uRmlyc3REYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgW2V1aUNsZWFyYWJsZV09XCJpc0NsZWFyYWJsZVwiXG4gICAgICAgICAgICAoY2xlYXIpPVwib25GaXJzdERhdGVDbGVhcigpXCIgLz5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjaW5wdXRFbmREYXRlXG4gICAgICAgICAgICBjbGFzcz1cImV1aS1kYXRlLXJhbmdlLXNlbGVjdG9yX19lbmQtZGF0ZVwiXG4gICAgICAgICAgICBldWlJbnB1dFRleHRcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJpc1JlYWRPbmx5XCJcbiAgICAgICAgICAgIG1hdEVuZERhdGVcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgc2Vjb25kSW5wdXRQbGFjZWhvbGRlciB9fVwiXG4gICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJ7eyBzZWNvbmRJbnB1dEFyaWFMYWJlbCB9fVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cImhhc0FyaWFSZXF1aXJlZEF0dHJpYnV0ZSA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVuZFJhbmdlRm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgKGRhdGVJbnB1dCk9XCJvblNlY29uZERhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZXVpQ2xlYXJhYmxlXT1cImlzQ2xlYXJhYmxlXCJcbiAgICAgICAgICAgIChjbGVhcik9XCJvblNlY29uZERhdGVDbGVhcigpXCIgLz5cbiAgICA8L21hdC1kYXRlLXJhbmdlLWlucHV0PlxuICAgIDxtYXQtZGF0ZS1yYW5nZS1waWNrZXIgI3BpY2tlciBbc3RhcnRWaWV3XT1cInN0YXJ0Vmlld1wiPiA8L21hdC1kYXRlLXJhbmdlLXBpY2tlcj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIWlzUmVhZE9ubHlcIlxuICAgICAgICBjbGFzcz1cImV1aS1kYXRlLXJhbmdlLXNlbGVjdG9yX190b2dnbGVyIGV1aS1kYXRlLXJhbmdlLXNlbGVjdG9yX190b2dnbGVyLXt7ICF0b2dnbGVyTGFiZWwgPyAnaWNvbicgOiAnbGFiZWwnIH19XCJcbiAgICAgICAgKGNsaWNrKT1cInBpY2tlci5vcGVuKClcIlxuICAgICAgICBldWlCdXR0b25cbiAgICAgICAgZXVpU2Vjb25kYXJ5XG4gICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtldWlEaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgICAgYXJpYS1oYXNwb3B1cD1cImRpYWxvZ1wiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiF0b2dnbGVyTGFiZWwgJiYgdG9nZ2xlckljb25cIiBldWlJY29uIGFyaWEtbGFiZWw9XCJPcGVuIENhbGVuZGFyXCIgaWNvbkNsYXNzPVwie3sgdG9nZ2xlckljb24gfX1cIj48L3NwYW4+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdG9nZ2xlckxhYmVsICYmICF0b2dnbGVySWNvblwiPlxuICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwie3sgdG9nZ2xlckljb25TdmcgfX1cIiBhcmlhLWxhYmVsPVwiT3BlbiBDYWxlbmRhclwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJ0b2dnbGVyTGFiZWxcIj57eyB0b2dnbGVyTGFiZWwgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3IvZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3IvZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFFSixpQkFBaUIsRUFDakIsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTFGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7OztBQVUzQyxNQUFNLE9BQU8sNkJBQTZCO0lBbUN0QyxZQUNjLGdCQUFrQyxFQUN0QixhQUE0QixFQUN4QyxPQUF5QixFQUNMLE9BQWtCO1FBSHRDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDeEMsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDTCxZQUFPLEdBQVAsT0FBTyxDQUFXO1FBdENwRCxrQkFBYSxHQUE4QixFQUFFLFVBQVUsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1FBR3hFLDBCQUFxQixHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDMUMsd0JBQW1CLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUVyQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxD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QUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ2lDLGdCQUFnQjtzQkFBdEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDQyxXQUFXO3NCQUFqRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNDLFVBQVU7c0JBQWhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0MsVUFBVTtzQkFBaEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDQyxZQUFZO3NCQUFsRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBEb0NoZWNrLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgU2VsZixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOZ0NvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VySW5wdXRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBFdWlEYXRlUmFuZ2VTZWxlY3RvckRhdGVzIH0gZnJvbSAnLi9tb2RlbHMvZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3ItZGF0ZXMubW9kZWwnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktZGF0ZS1yYW5nZS1zZWxlY3RvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1kYXRlLXJhbmdlLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlEYXRlUmFuZ2VTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBEb0NoZWNrIHtcbiAgICBzZWxlY3RlZERhdGVzOiBFdWlEYXRlUmFuZ2VTZWxlY3RvckRhdGVzID0geyBzdGFydFJhbmdlOm51bGwsIGVuZFJhbmdlOiBudWxsIH07XG4gICAgcHVibGljIGlzSW52YWxpZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgaXNUb3VjaGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyBzdGFydFJhbmdlRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICBwdWJsaWMgZW5kUmFuZ2VGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuXG4gICAgQE91dHB1dCgpIGZpcnN0U2VsZWN0ZWREYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHNlY29uZFNlbGVjdGVkRGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgQElucHV0KCkgc3R5bGVDbGFzcyA9ICcnO1xuICAgIEBJbnB1dCgpIGUyZUF0dHIgPSAnZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3InO1xuICAgIEBJbnB1dCgpIG1pbkRhdGU6IGFueTtcbiAgICBASW5wdXQoKSBtYXhEYXRlOiBhbnk7XG4gICAgQElucHV0KCkgdG9nZ2xlckljb246IHN0cmluZztcbiAgICBASW5wdXQoKSB0b2dnbGVySWNvblN2ZyA9ICdldWktY2FsZW5kYXItb3V0bGluZSc7XG4gICAgQElucHV0KCkgdG9nZ2xlckxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZmlyc3RJbnB1dFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgQElucHV0KCkgc2Vjb25kSW5wdXRQbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZpcnN0SW5wdXRBcmlhTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBzZWNvbmRJbnB1dEFyaWFMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN0YXJ0RGF0ZURlZmF1bHRWYWx1ZTogYW55O1xuICAgIEBJbnB1dCgpIGVuZERhdGVEZWZhdWx0VmFsdWU6IGFueTtcbiAgICBASW5wdXQoKSBjb21wYXJpc29uU3RhcnQ6IGFueTtcbiAgICBASW5wdXQoKSBjb21wYXJpc29uRW5kOiBhbnk7XG4gICAgQElucHV0KCkgc3RhcnRWaWV3OiAnbW9udGgnIHwgJ3llYXInIHwgJ211bHRpLXllYXInID0gJ21vbnRoJztcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlpc2xvbmdEYXRlRm9ybWF0ID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0paXNDbGVhcmFibGUgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlpc1JlYWRPbmx5ID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0paXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KWlzUmVzcG9uc2l2ZSA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIGhhc0FyaWFSZXF1aXJlZEF0dHJpYnV0ZTogYm9vbGVhbjtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBhZGFwdGVyOiBEYXRlQWRhcHRlcjxhbnk+LFxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBjb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRTdGF0ZSgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRhcHRlci5zZXRMb2NhbGUoc3RhdGUuaWQpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zdGFydFJhbmdlRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogdGhpcy5zdGFydERhdGVEZWZhdWx0VmFsdWUsIGRpc2FibGVkOiB0aGlzLmlzRGlzYWJsZWQgfSk7XG4gICAgICAgIHRoaXMuZW5kUmFuZ2VGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLmVuZERhdGVEZWZhdWx0VmFsdWUsIGRpc2FibGVkOiB0aGlzLmlzRGlzYWJsZWQgfSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmZpcnN0SW5wdXRQbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLnN0cmVhbSgnZXVpLmRhdGVyYW5nZXNlbGVjdG9yLkZJUlNUUElDS0VSU0xBQkVMJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maXJzdElucHV0UGxhY2Vob2xkZXIgPSByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gYnkgc2V0dGluZyB0aGUgZmlyc3RJbnB1dEFyaWFMYWJlbCB0byBkZC9tbS95eXl5KG9yIHRoZSBkZXNpcmVkIGZvcm1hdCkgdGhlIGZvcm1hdCBjYW4gYmUgYW5ub3VuY2VkIHRvIHRoZSBzY3JlZW4gcmVhZGVyIHVzZXJzIGJlZm9yZSB0aGUgdXNlcnMgc3RhcnQgdHlwaW5nXG4gICAgICAgIGlmICghdGhpcy5maXJzdElucHV0QXJpYUxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcbiAgICAgICAgICAgICAgICAuc3RyZWFtKCdldWkuZGF0ZXJhbmdlc2VsZWN0b3IuRklSU1RQSUNLRVJTUExBQ0VIT0xERVInKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpcnN0SW5wdXRBcmlhTGFiZWwgPSByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLnNlY29uZElucHV0UGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZVxuICAgICAgICAgICAgICAgIC5zdHJlYW0oJ2V1aS5kYXRlcmFuZ2VzZWxlY3Rvci5TRUNPTkRQSUNLRVJTTEFCRUwnKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlY29uZElucHV0UGxhY2Vob2xkZXIgPSByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gYnkgc2V0dGluZyB0aGUgc2Vjb25kSW5wdXRBcmlhTGFiZWwgdG8gZGQvbW0veXl5eShvciB0aGUgZGVzaXJlZCBmb3JtYXQpIHRoZSBmb3JtYXQgY2FuIGJlIGFubm91bmNlZCB0byB0aGUgc2NyZWVuIHJlYWRlciB1c2VycyBiZWZvcmUgdGhlIHVzZXJzIHN0YXJ0IHR5cGluZ1xuICAgICAgICBpZiAoIXRoaXMuc2Vjb25kSW5wdXRBcmlhTGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZVxuICAgICAgICAgICAgICAgIC5zdHJlYW0oJ2V1aS5kYXRlcmFuZ2VzZWxlY3Rvci5TRUNPTkRQSUNLRVJTUExBQ0VIT0xERVInKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlY29uZElucHV0QXJpYUxhYmVsID0gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVJbnB1dEFyaWFSZXF1aXJlZEF0dHJpYnV0ZSh0aGlzLmNvbnRyb2wpO1xuICAgICAgICB0aGlzLmNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVJbnB1dEFyaWFSZXF1aXJlZEF0dHJpYnV0ZSh0aGlzLmNvbnRyb2wpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIC8vIG1hcmtzIHRoZSBpbnB1dCBjb250cm9scyBhcyB0b3VjaGVkL2ludmFsaWQgaWYgdGhlIGZvcm0gY29udHJvbCBpcyB0b3VjaGVkL2ludmFsaWRcbiAgICAgICAgICAgIHRoaXMuY29udHJvbD8udG91Y2hlZCA/IHRoaXMuc3RhcnRSYW5nZUZvcm1Db250cm9sPy5tYXJrQXNUb3VjaGVkKCkgOiB0aGlzLnN0YXJ0UmFuZ2VGb3JtQ29udHJvbC5tYXJrQXNVbnRvdWNoZWQoKTtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbD8udG91Y2hlZCA/IHRoaXMuZW5kUmFuZ2VGb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCkgOiB0aGlzLmVuZFJhbmdlRm9ybUNvbnRyb2w/Lm1hcmtBc1VudG91Y2hlZCgpO1xuICAgICAgICAgICAgdGhpcy5jb250cm9sPy50b3VjaGVkID8gKHRoaXMuaXNUb3VjaGVkID0gdHJ1ZSkgOiAodGhpcy5pc1RvdWNoZWQgPSBmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2w/LmludmFsaWQgPyB0aGlzLnN0YXJ0UmFuZ2VGb3JtQ29udHJvbC5zZXRFcnJvcnModGhpcy5jb250cm9sLmVycm9ycykgOiB0aGlzLnN0YXJ0UmFuZ2VGb3JtQ29udHJvbC5zZXRFcnJvcnMobnVsbCk7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2w/LmludmFsaWQgPyB0aGlzLmVuZFJhbmdlRm9ybUNvbnRyb2wuc2V0RXJyb3JzKHRoaXMuY29udHJvbC5lcnJvcnMpIDogdGhpcy5lbmRSYW5nZUZvcm1Db250cm9sLnNldEVycm9ycyhudWxsKTtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbD8uaW52YWxpZCA/ICh0aGlzLmlzSW52YWxpZCA9IHRydWUpIDogKHRoaXMuaXNJbnZhbGlkID0gZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc2xvbmdEYXRlRm9ybWF0KSB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlQ2xhc3MgKz0gJ2V1aS1kYXRlLXJhbmdlLXNlbGVjdG9yLS1sb25nLWRhdGUtZm9ybWF0JztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc0NsZWFyYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5zdHlsZUNsYXNzICs9ICdldWktZGF0ZS1yYW5nZS1zZWxlY3Rvci0tY2xlYXJhYmxlJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMgJiYgY2hhbmdlc1snc3RhcnREYXRlRGVmYXVsdFZhbHVlJ10pIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRSYW5nZUZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuc3RhcnREYXRlRGVmYXVsdFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcyAmJiBjaGFuZ2VzWydlbmREYXRlRGVmYXVsdFZhbHVlJ10pIHtcbiAgICAgICAgICAgIHRoaXMuZW5kUmFuZ2VGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmVuZERhdGVEZWZhdWx0VmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXMgJiYgY2hhbmdlc1snaXNEaXNhYmxlZCddKSB7XG4gICAgICAgICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUodGhpcy5pc0Rpc2FibGVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25GaXJzdERhdGVDaGFuZ2UoZTogTWF0RGF0ZXBpY2tlcklucHV0RXZlbnQ8YW55Pik6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZXMuc3RhcnRSYW5nZSA9IGUudmFsdWU7XG4gICAgICAgIHRoaXMuZmlyc3RTZWxlY3RlZERhdGUuZW1pdChlLnZhbHVlKTtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGVzKTtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVUb3VjaGVkKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2Vjb25kRGF0ZUNoYW5nZShlOiBNYXREYXRlcGlja2VySW5wdXRFdmVudDxhbnk+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlcy5lbmRSYW5nZSA9IGUudmFsdWU7XG4gICAgICAgIHRoaXMuc2Vjb25kU2VsZWN0ZWREYXRlLmVtaXQoZS52YWx1ZSk7XG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuc2VsZWN0ZWREYXRlcyk7XG4gICAgICAgIHRoaXMucHJvcGFnYXRlVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIG9uRmlyc3REYXRlQ2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlcy5zdGFydFJhbmdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5maXJzdFNlbGVjdGVkRGF0ZS5lbWl0KG51bGwpO1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGVkRGF0ZXMpO1xuICAgIH1cbiAgICBvblNlY29uZERhdGVDbGVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVzLmVuZFJhbmdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5zZWNvbmRTZWxlY3RlZERhdGUuZW1pdChudWxsKTtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGVzKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlczogRXVpRGF0ZVJhbmdlU2VsZWN0b3JEYXRlcyk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWVzICYmIHZhbHVlcy5zdGFydFJhbmdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignc3RhcnRSYW5nZSBvZiBFdWlEYXRlUmFuZ2VTZWxlY3RvckRhdGVzIG1vZGVsIG11c3QgYmUgZGVmaW5lZCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZXMgJiYgdmFsdWVzLmVuZFJhbmdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignZW5kUmFuZ2Ugb2YgRXVpRGF0ZVJhbmdlU2VsZWN0b3JEYXRlcyBtb2RlbCBtdXN0IGJlIGRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhcnREYXRlRGVmYXVsdFZhbHVlID0gdmFsdWVzPy5zdGFydFJhbmdlO1xuICAgICAgICB0aGlzLmVuZERhdGVEZWZhdWx0VmFsdWUgPSB2YWx1ZXM/LmVuZFJhbmdlO1xuICAgICAgICB0aGlzLnN0YXJ0UmFuZ2VGb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZXM/LnN0YXJ0UmFuZ2UpO1xuICAgICAgICB0aGlzLmVuZFJhbmdlRm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWVzPy5lbmRSYW5nZSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlcyA9IHZhbHVlcyB8fCB7IHN0YXJ0UmFuZ2U6bnVsbCwgZW5kUmFuZ2U6IG51bGwgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0UmFuZ2VGb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgICAgICAgICB0aGlzLmVuZFJhbmdlRm9ybUNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdGFydFJhbmdlRm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgICAgICB0aGlzLmVuZFJhbmdlRm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvcGFnYXRlVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24sIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSk6IHZvaWQgPT4ge307XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgcHJpdmF0ZSBwcm9wYWdhdGVUb3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBgYXJpYS1yZXF1aXJlZGAgYXR0cmlidXRlIG9uIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSB1cGRhdGVJbnB1dEFyaWFSZXF1aXJlZEF0dHJpYnV0ZShjb250cm9sOiBOZ0NvbnRyb2wpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYXNBcmlhUmVxdWlyZWRBdHRyaWJ1dGUgPSBjb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiZXVpLWRhdGUtcmFuZ2Utc2VsZWN0b3Ige3sgc3R5bGVDbGFzcyB9fVwiXG4gICAgYXR0ci5kYXRhLWUyZT1cInt7IGUyZUF0dHIgfX1cIlxuICAgIFtjbGFzcy5ldWktZGF0ZS1yYW5nZS1zZWxlY3Rvci0tcmVzcG9uc2l2ZV09XCJpc1Jlc3BvbnNpdmVcIj5cbiAgICA8bWF0LWRhdGUtcmFuZ2UtaW5wdXRcbiAgICAgICAgW2NsYXNzLm1hdC1kYXRlLXJhbmdlLWlucHV0LS1yZWFkLW9ubHldPVwiaXNSZWFkT25seVwiXG4gICAgICAgIFtjbGFzcy5tYXQtZGF0ZS1yYW5nZS1pbnB1dC0tZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gICAgICAgIFtjbGFzcy5tYXQtZGF0ZS1yYW5nZS1pbnB1dC0taW52YWxpZF09XCJpc0ludmFsaWQgJiYgaXNUb3VjaGVkXCJcbiAgICAgICAgW3JhbmdlUGlja2VyXT1cInBpY2tlclwiXG4gICAgICAgIFttaW5dPVwibWluRGF0ZVwiXG4gICAgICAgIFttYXhdPVwibWF4RGF0ZVwiXG4gICAgICAgIFtjb21wYXJpc29uU3RhcnRdPVwiY29tcGFyaXNvblN0YXJ0XCJcbiAgICAgICAgW2NvbXBhcmlzb25FbmRdPVwiY29tcGFyaXNvbkVuZFwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICNpbnB1dFN0YXJ0RGF0ZVxuICAgICAgICAgICAgY2xhc3M9XCJldWktZGF0ZS1yYW5nZS1zZWxlY3Rvcl9fc3RhcnQtZGF0ZVwiXG4gICAgICAgICAgICBldWlJbnB1dFRleHRcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJpc1JlYWRPbmx5XCJcbiAgICAgICAgICAgIG1hdFN0YXJ0RGF0ZVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBmaXJzdElucHV0UGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgICAgYXR0ci5hcmlhLWxhYmVsPVwie3sgZmlyc3RJbnB1dEFyaWFMYWJlbCB9fVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cImhhc0FyaWFSZXF1aXJlZEF0dHJpYnV0ZSA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInN0YXJ0UmFuZ2VGb3JtQ29udHJvbFwiXG4gICAgICAgICAgICAoZGF0ZUlucHV0KT1cIm9uRmlyc3REYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgW2V1aUNsZWFyYWJsZV09XCJpc0NsZWFyYWJsZVwiXG4gICAgICAgICAgICAoY2xlYXIpPVwib25GaXJzdERhdGVDbGVhcigpXCIgLz5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjaW5wdXRFbmREYXRlXG4gICAgICAgICAgICBjbGFzcz1cImV1aS1kYXRlLXJhbmdlLXNlbGVjdG9yX19lbmQtZGF0ZVwiXG4gICAgICAgICAgICBldWlJbnB1dFRleHRcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJpc1JlYWRPbmx5XCJcbiAgICAgICAgICAgIG1hdEVuZERhdGVcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgc2Vjb25kSW5wdXRQbGFjZWhvbGRlciB9fVwiXG4gICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJ7eyBzZWNvbmRJbnB1dEFyaWFMYWJlbCB9fVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cImhhc0FyaWFSZXF1aXJlZEF0dHJpYnV0ZSA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImVuZFJhbmdlRm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgKGRhdGVJbnB1dCk9XCJvblNlY29uZERhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZXVpQ2xlYXJhYmxlXT1cImlzQ2xlYXJhYmxlXCJcbiAgICAgICAgICAgIChjbGVhcik9XCJvblNlY29uZERhdGVDbGVhcigpXCIgLz5cbiAgICA8L21hdC1kYXRlLXJhbmdlLWlucHV0PlxuICAgIDxtYXQtZGF0ZS1yYW5nZS1waWNrZXIgI3BpY2tlciBbc3RhcnRWaWV3XT1cInN0YXJ0Vmlld1wiPiA8L21hdC1kYXRlLXJhbmdlLXBpY2tlcj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIWlzUmVhZE9ubHlcIlxuICAgICAgICBjbGFzcz1cImV1aS1kYXRlLXJhbmdlLXNlbGVjdG9yX190b2dnbGVyIGV1aS1kYXRlLXJhbmdlLXNlbGVjdG9yX190b2dnbGVyLXt7ICF0b2dnbGVyTGFiZWwgPyAnaWNvbicgOiAnbGFiZWwnIH19XCJcbiAgICAgICAgKGNsaWNrKT1cInBpY2tlci5vcGVuKClcIlxuICAgICAgICBldWlCdXR0b25cbiAgICAgICAgZXVpU2Vjb25kYXJ5XG4gICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtldWlEaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgICAgYXJpYS1oYXNwb3B1cD1cImRpYWxvZ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRvZ2dsZXJMYWJlbCAmJiAhdG9nZ2xlckljb25cIj5cbiAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cInt7IHRvZ2dsZXJJY29uU3ZnIH19XCIgYXJpYS1sYWJlbD1cIk9wZW4gQ2FsZW5kYXJcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidG9nZ2xlckxhYmVsXCI+e3sgdG9nZ2xlckxhYmVsIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=