@eui/components 18.2.15 → 18.2.16-snapshot-1756456305763
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.
- package/docs/changelog.html +6401 -0
- package/docs/classes/BreadCrumbItem.html +3 -3
- package/docs/classes/CdkDragMock.html +3 -3
- package/docs/classes/CdkDropListMock.html +3 -3
- package/docs/classes/CustomNodeSelectFnHelper.html +3 -3
- package/docs/classes/EuiAppShellServiceMock.html +3 -3
- package/docs/classes/EuiChip.html +3 -3
- package/docs/classes/EuiChipTooltip.html +3 -3
- package/docs/classes/EuiDialogComponentInstances.html +3 -3
- package/docs/classes/EuiDialogConfig.html +3 -3
- package/docs/classes/EuiMessageBoxComponentInstances.html +3 -3
- package/docs/classes/EuiMessageBoxConfig.html +3 -3
- package/docs/classes/EuiTimebarItemUI.html +3 -3
- package/docs/classes/EuiTooltipConfig.html +3 -3
- package/docs/classes/EuiTreeHelper.html +3 -3
- package/docs/classes/EuiTreePagination.html +3 -3
- package/docs/classes/EuiWizardStep.html +3 -3
- package/docs/classes/HTMLCollection.html +3 -3
- package/docs/classes/MultisortParam.html +3 -3
- package/docs/classes/OpenedDialog.html +3 -3
- package/docs/classes/RouterMock.html +3 -3
- package/docs/classes/SmoothScroll.html +3 -3
- package/docs/classes/TranslateServiceMock-1.html +3 -3
- package/docs/classes/TranslateServiceMock.html +3 -3
- package/docs/classes/UxAutocompleteTagDragServiceMock.html +3 -3
- package/docs/components/ChartComponent.html +3 -3
- package/docs/components/DefaultComponent-1.html +3 -3
- package/docs/components/DefaultComponent.html +3 -3
- package/docs/components/EuiAccordionComponent.html +3 -3
- package/docs/components/EuiAccordionItemComponent.html +3 -3
- package/docs/components/EuiAlertComponent.html +3 -3
- package/docs/components/EuiAlertTitleComponent.html +3 -3
- package/docs/components/EuiAppBreadcrumbComponent.html +3 -3
- package/docs/components/EuiAppComponent.html +3 -3
- package/docs/components/EuiAppFooterComponent.html +3 -3
- package/docs/components/EuiAppHeaderComponent.html +3 -3
- package/docs/components/EuiAppSidebarBodyComponent.html +3 -3
- package/docs/components/EuiAppSidebarComponent.html +3 -3
- package/docs/components/EuiAppSidebarDrawerComponent.html +3 -3
- package/docs/components/EuiAppSidebarFooterComponent.html +3 -3
- package/docs/components/EuiAppSidebarHeaderComponent.html +3 -3
- package/docs/components/EuiAppSidebarHeaderUserProfileComponent.html +3 -3
- package/docs/components/EuiAppSidebarMenuComponent.html +3 -3
- package/docs/components/EuiAppToolbarComponent.html +3 -3
- package/docs/components/EuiAppTopMessageComponent.html +3 -3
- package/docs/components/EuiAutocompleteAsyncTestComponent.html +3 -3
- package/docs/components/EuiAutocompleteChipsAsyncTestComponent.html +3 -3
- package/docs/components/EuiAutocompleteChipsTestComponent.html +3 -3
- package/docs/components/EuiAutocompleteComponent.html +3 -3
- package/docs/components/EuiAutocompleteOptionComponent.html +3 -3
- package/docs/components/EuiAutocompleteOptionGroupComponent.html +3 -3
- package/docs/components/EuiAutocompleteTestComponent.html +3 -3
- package/docs/components/EuiAvatarBadgeComponent.html +3 -3
- package/docs/components/EuiAvatarComponent.html +3 -3
- package/docs/components/EuiAvatarIconComponent.html +3 -3
- package/docs/components/EuiAvatarImageComponent.html +3 -3
- package/docs/components/EuiAvatarListComponent.html +3 -3
- package/docs/components/EuiAvatarTextComponent.html +3 -3
- package/docs/components/EuiBadgeComponent.html +3 -3
- package/docs/components/EuiBlockContentComponent.html +3 -3
- package/docs/components/EuiBlockDocumentComponent.html +3 -3
- package/docs/components/EuiBreadcrumbComponent.html +3 -3
- package/docs/components/EuiBreadcrumbItemComponent.html +3 -3
- package/docs/components/EuiButtonComponent.html +3 -3
- package/docs/components/EuiButtonGroupComponent.html +3 -3
- package/docs/components/EuiButtonV2Component.html +3 -3
- package/docs/components/EuiCardComponent.html +3 -3
- package/docs/components/EuiCardContentComponent.html +3 -3
- package/docs/components/EuiCardFooterActionButtonsComponent.html +3 -3
- package/docs/components/EuiCardFooterActionIconsComponent.html +3 -3
- package/docs/components/EuiCardFooterComponent.html +3 -3
- package/docs/components/EuiCardFooterMenuComponent.html +3 -3
- package/docs/components/EuiCardFooterMenuContentComponent.html +3 -3
- package/docs/components/EuiCardHeaderBodyComponent.html +3 -3
- package/docs/components/EuiCardHeaderComponent.html +3 -3
- package/docs/components/EuiCardHeaderLeftContentComponent.html +3 -3
- package/docs/components/EuiCardHeaderRightContentComponent.html +3 -3
- package/docs/components/EuiCardHeaderSubtitleComponent.html +3 -3
- package/docs/components/EuiCardHeaderTitleComponent.html +3 -3
- package/docs/components/EuiCardMediaComponent.html +3 -3
- package/docs/components/EuiChipComponent.html +3 -3
- package/docs/components/EuiChipListComponent.html +4 -4
- package/docs/components/EuiDashboardButtonComponent.html +3 -3
- package/docs/components/EuiDashboardCardComponent.html +3 -3
- package/docs/components/EuiDashboardCardContentComponent.html +3 -3
- package/docs/components/EuiDashboardCardStatusContentComponent.html +3 -3
- package/docs/components/EuiDateRangeSelectorComponent.html +3 -3
- package/docs/components/EuiDatepickerComponent.html +3 -3
- package/docs/components/EuiDialogComponent.html +3 -3
- package/docs/components/EuiDialogContainerComponent.html +41 -4
- package/docs/components/EuiDimmerComponent.html +3 -3
- package/docs/components/EuiDisableContentComponent.html +3 -3
- package/docs/components/EuiDiscussionThreadComponent.html +3 -3
- package/docs/components/EuiDiscussionThreadItemComponent.html +3 -3
- package/docs/components/EuiDropdownComponent.html +4 -4
- package/docs/components/EuiDropdownItemComponent.html +78 -5
- package/docs/components/EuiEditorComponent.html +3 -3
- package/docs/components/EuiEditorCountersComponent.html +3 -3
- package/docs/components/EuiEditorHtmlViewComponent.html +3 -3
- package/docs/components/EuiEditorImageDialogComponent.html +3 -3
- package/docs/components/EuiEditorJsonViewComponent.html +3 -3
- package/docs/components/EuiFeedbackMessageComponent.html +3 -3
- package/docs/components/EuiFieldsetComponent.html +3 -3
- package/docs/components/EuiFilePreviewComponent.html +35 -4
- package/docs/components/EuiFileUploadComponent.html +3 -3
- package/docs/components/EuiFileUploadProgressComponent.html +3 -3
- package/docs/components/EuiFooterComponent.html +3 -3
- package/docs/components/EuiGrowlComponent.html +3 -3
- package/docs/components/EuiHeaderAppComponent.html +3 -3
- package/docs/components/EuiHeaderAppNameComponent.html +3 -3
- package/docs/components/EuiHeaderAppNameLogoComponent.html +3 -3
- package/docs/components/EuiHeaderAppSubtitleComponent.html +3 -3
- package/docs/components/EuiHeaderComponent.html +3 -3
- package/docs/components/EuiHeaderEnvironmentComponent.html +3 -3
- package/docs/components/EuiHeaderLogoComponent.html +3 -3
- package/docs/components/EuiHeaderRightContentComponent.html +3 -3
- package/docs/components/EuiHeaderSearchComponent.html +3 -3
- package/docs/components/EuiHeaderUserProfileComponent.html +3 -3
- package/docs/components/EuiIconButtonComponent.html +3 -3
- package/docs/components/EuiIconButtonExpanderComponent.html +3 -3
- package/docs/components/EuiIconColorComponent.html +3 -3
- package/docs/components/EuiIconInputComponent.html +3 -3
- package/docs/components/EuiIconStateComponent.html +3 -3
- package/docs/components/EuiIconSvgComponent.html +3 -3
- package/docs/components/EuiIconToggleComponent.html +3 -3
- package/docs/components/EuiInputCheckboxComponent.html +3 -3
- package/docs/components/EuiInputGroupComponent.html +3 -3
- package/docs/components/EuiInputNumberComponent.html +3 -3
- package/docs/components/EuiInputRadioComponent.html +3 -3
- package/docs/components/EuiInputTextComponent.html +3 -3
- package/docs/components/EuiLabelComponent.html +3 -3
- package/docs/components/EuiLanguageSelectorComponent.html +3 -3
- package/docs/components/EuiListComponent.html +3 -3
- package/docs/components/EuiListItemComponent.html +3 -3
- package/docs/components/EuiMenuComponent.html +3 -3
- package/docs/components/EuiMenuItemComponent.html +3 -3
- package/docs/components/EuiMessageBoxComponent.html +3 -3
- package/docs/components/EuiModalSelectorComponent.html +3 -3
- package/docs/components/EuiNavbarComponent.html +3 -3
- package/docs/components/EuiNavbarItemComponent.html +3 -3
- package/docs/components/EuiNotificationItemComponent.html +3 -3
- package/docs/components/EuiNotificationItemV2Component.html +3 -3
- package/docs/components/EuiNotificationsComponent.html +3 -3
- package/docs/components/EuiNotificationsV2Component.html +3 -3
- package/docs/components/EuiOverlayBodyComponent.html +3 -3
- package/docs/components/EuiOverlayComponent.html +3 -3
- package/docs/components/EuiOverlayFooterComponent.html +3 -3
- package/docs/components/EuiOverlayHeaderComponent.html +3 -3
- package/docs/components/EuiOverlayHeaderTitleComponent.html +3 -3
- package/docs/components/EuiPageBreadcrumbComponent.html +3 -3
- package/docs/components/EuiPageColumnComponent.html +3 -3
- package/docs/components/EuiPageColumnsComponent.html +3 -3
- package/docs/components/EuiPageComponent.html +3 -3
- package/docs/components/EuiPageContentComponent.html +3 -3
- package/docs/components/EuiPageFooterComponent.html +3 -3
- package/docs/components/EuiPageHeaderActionItemsComponent.html +3 -3
- package/docs/components/EuiPageHeaderBodyComponent.html +3 -3
- package/docs/components/EuiPageHeaderComponent.html +3 -3
- package/docs/components/EuiPageHeaderSubLabelComponent.html +3 -3
- package/docs/components/EuiPageHeroHeaderComponent.html +3 -3
- package/docs/components/EuiPageTopContentComponent.html +3 -3
- package/docs/components/EuiPaginatorComponent.html +4 -4
- package/docs/components/EuiPopoverComponent.html +3 -3
- package/docs/components/EuiProgressBarComponent.html +3 -3
- package/docs/components/EuiProgressCircleComponent.html +3 -3
- package/docs/components/EuiResizableComponent.html +3 -3
- package/docs/components/EuiSearchFavouriteQueriesComponent.html +3 -3
- package/docs/components/EuiSelectComponent.html +3 -3
- package/docs/components/EuiSidebarMenuComponent.html +3 -3
- package/docs/components/EuiSidebarToggleComponent.html +3 -3
- package/docs/components/EuiSkeletonComponent.html +3 -3
- package/docs/components/EuiSlideToggleComponent.html +3 -3
- package/docs/components/EuiSlideToggleTestComponent.html +3 -3
- package/docs/components/EuiSplitButtonComponent.html +3 -3
- package/docs/components/EuiTabComponent.html +3 -3
- package/docs/components/EuiTabContentComponent.html +3 -3
- package/docs/components/EuiTabLabelComponent.html +3 -3
- package/docs/components/EuiTableComponent.html +3 -3
- package/docs/components/EuiTableExpandableRowComponent.html +3 -3
- package/docs/components/EuiTableFilterComponent.html +3 -3
- package/docs/components/EuiTableSelectableHeaderComponent.html +3 -3
- package/docs/components/EuiTableSelectableRowComponent.html +3 -3
- package/docs/components/EuiTableSortableColComponent.html +3 -3
- package/docs/components/EuiTableV2Component.html +3 -3
- package/docs/components/EuiTableV2FilterComponent.html +3 -3
- package/docs/components/EuiTableV2SelectableHeaderComponent.html +3 -3
- package/docs/components/EuiTableV2SelectableRowComponent.html +3 -3
- package/docs/components/EuiTableV2SortableColComponent.html +3 -3
- package/docs/components/EuiTabsComponent.html +3 -3
- package/docs/components/EuiTextareaComponent.html +3 -3
- package/docs/components/EuiTimeRangepickerComponent.html +3 -3
- package/docs/components/EuiTimebarComponent.html +3 -3
- package/docs/components/EuiTimelineComponent.html +3 -3
- package/docs/components/EuiTimelineItemComponent.html +3 -3
- package/docs/components/EuiTimepickerComponent.html +3 -3
- package/docs/components/EuiToolbarAppComponent.html +3 -3
- package/docs/components/EuiToolbarCenterComponent.html +3 -3
- package/docs/components/EuiToolbarComponent.html +3 -3
- package/docs/components/EuiToolbarEnvironmentComponent.html +3 -3
- package/docs/components/EuiToolbarItemComponent.html +3 -3
- package/docs/components/EuiToolbarItemsComponent.html +3 -3
- package/docs/components/EuiToolbarLogoComponent.html +3 -3
- package/docs/components/EuiToolbarMenuComponent.html +4 -4
- package/docs/components/EuiToolbarNavbarComponent.html +3 -3
- package/docs/components/EuiToolbarNavbarItemComponent.html +3 -3
- package/docs/components/EuiToolbarSearchComponent.html +3 -3
- package/docs/components/EuiToolbarSelectorComponent.html +3 -3
- package/docs/components/EuiTooltipContainerComponent.html +3 -3
- package/docs/components/EuiTreeComponent.html +3 -3
- package/docs/components/EuiTreeListComponent.html +3 -3
- package/docs/components/EuiTreeListItemComponent.html +3 -3
- package/docs/components/EuiTreeListItemContentComponent.html +3 -3
- package/docs/components/EuiTreeListToolbarComponent.html +3 -3
- package/docs/components/EuiUserProfileCardComponent.html +3 -3
- package/docs/components/EuiUserProfileComponent.html +3 -3
- package/docs/components/EuiUserProfileMenuComponent.html +3 -3
- package/docs/components/EuiUserProfileMenuItemComponent.html +3 -3
- package/docs/components/EuiWizardComponent.html +3 -3
- package/docs/components/EuiWizardStepComponent.html +3 -3
- package/docs/components/PaginationComponent.html +3 -3
- package/docs/components/PlaygroundComponent-1.html +3 -3
- package/docs/components/PlaygroundComponent.html +3 -3
- package/docs/components/PlaygroundStickyLastColumnComponent.html +3 -3
- package/docs/components/QuillEditorComponent.html +3 -3
- package/docs/components/VirtualScrollAsyncComponent.html +3 -3
- package/docs/components/VirtualScrollComponent.html +3 -3
- package/docs/dependencies.html +2 -196
- package/docs/directives/AutoResizeDirective.html +3 -3
- package/docs/directives/BaseStatesDirective.html +3 -3
- package/docs/directives/EuiAccordionItemHeaderDirective.html +3 -3
- package/docs/directives/EuiActionButtonsDirective.html +3 -3
- package/docs/directives/EuiAppPageWrapperDirective.html +3 -3
- package/docs/directives/EuiArrowKeyNavigableDirective.html +3 -3
- package/docs/directives/EuiChipListAppendContentDirective.html +3 -3
- package/docs/directives/EuiClearableDirective.html +3 -3
- package/docs/directives/EuiDashboardButtonIconDirective.html +3 -3
- package/docs/directives/EuiDashboardButtonLabelDirective.html +3 -3
- package/docs/directives/EuiDialogFooterDirective.html +3 -3
- package/docs/directives/EuiDialogHeaderDirective.html +3 -3
- package/docs/directives/EuiDropdownContentDirective.html +3 -3
- package/docs/directives/EuiDropdownTreeDirective.html +3 -3
- package/docs/directives/EuiEditorCustomToolbarTagDirective.html +3 -3
- package/docs/directives/EuiEditorMaxlengthDirective.html +3 -3
- package/docs/directives/EuiFieldsetLabelExtraContentTagDirective.html +3 -3
- package/docs/directives/EuiFieldsetLabelRightContentTagDirective.html +3 -3
- package/docs/directives/EuiHasPermissionDirective.html +3 -3
- package/docs/directives/EuiInputNumberDirective.html +3 -3
- package/docs/directives/EuiLetterFormatDirective.html +3 -3
- package/docs/directives/EuiLoadingDirective.html +3 -3
- package/docs/directives/EuiMaxLengthDirective.html +3 -3
- package/docs/directives/EuiMessageBoxFooterDirective.html +3 -3
- package/docs/directives/EuiMonthYearFormatDirective.html +3 -3
- package/docs/directives/EuiNgSelectOptionDirective.html +3 -3
- package/docs/directives/EuiPageColumnBodyContentDirective.html +3 -3
- package/docs/directives/EuiPageColumnFooterContentDirective.html +3 -3
- package/docs/directives/EuiPageColumnHeaderBodyContentDirective.html +3 -3
- package/docs/directives/EuiPageColumnHeaderCollapsedContentDirective.html +3 -3
- package/docs/directives/EuiPageColumnHeaderLeftContentDirective.html +3 -3
- package/docs/directives/EuiPageColumnHeaderRightContentDirective.html +3 -3
- package/docs/directives/EuiPopoverArrowPositionDirective.html +3 -3
- package/docs/directives/EuiResizableDirective.html +3 -3
- package/docs/directives/EuiScrollHandlerDirective.html +3 -3
- package/docs/directives/EuiScrollHandlerElementDirective.html +3 -3
- package/docs/directives/EuiSelectControlValueAccessor.html +3 -3
- package/docs/directives/EuiSelectMultipleControlValueAccessor.html +3 -3
- package/docs/directives/EuiSelectMultipleOption.html +3 -3
- package/docs/directives/EuiSmoothScrollDirective.html +3 -3
- package/docs/directives/EuiSmoothScrollToDirective.html +3 -3
- package/docs/directives/EuiTabSubLabelDirective.html +3 -3
- package/docs/directives/EuiTableStickyColumnDirective.html +3 -3
- package/docs/directives/EuiTableV2ExpandableRowDirective.html +3 -3
- package/docs/directives/EuiTableV2StickyColDirective.html +3 -3
- package/docs/directives/EuiTabsRightContentTagDirective.html +3 -3
- package/docs/directives/EuiTemplateDirective.html +3 -3
- package/docs/directives/EuiTooltipDirective.html +3 -3
- package/docs/directives/EuiTreeFormControlDirective.html +3 -3
- package/docs/directives/EuiTreeListItemDetailsContentTagDirective.html +3 -3
- package/docs/directives/EuiTreeListItemLabelTagDirective.html +3 -3
- package/docs/directives/EuiTreeListItemSubContainerContentTagDirective.html +3 -3
- package/docs/directives/EuiYearFormatDirective.html +3 -3
- package/docs/directives/InputDirective.html +3 -3
- package/docs/directives/TranslateMockDirective.html +3 -3
- package/docs/index.html +16 -70
- package/docs/injectables/EuiBreadcrumbService.html +3 -3
- package/docs/injectables/EuiChipListDragService.html +3 -3
- package/docs/injectables/EuiDialogService.html +3 -3
- package/docs/injectables/EuiDropdownService.html +3 -3
- package/docs/injectables/EuiFileUploadUtilsService.html +3 -3
- package/docs/injectables/EuiMessageBoxService.html +3 -3
- package/docs/injectables/EuiSearchUsersFavQueriesService.html +3 -3
- package/docs/injectables/EuiTableSelectableRowService.html +3 -3
- package/docs/injectables/EuiTableSortService.html +3 -3
- package/docs/injectables/EuiTableV2SelectableRowService.html +3 -3
- package/docs/injectables/EuiTableV2SortService.html +3 -3
- package/docs/injectables/EuiWizardService.html +3 -3
- package/docs/injectables/LoaderService.html +3 -3
- package/docs/injectables/UiStateService.html +3 -3
- package/docs/interfaces/AnnotationLabel.html +3 -3
- package/docs/interfaces/AnnotationStyle.html +3 -3
- package/docs/interfaces/ApexAnnotations.html +3 -3
- package/docs/interfaces/ApexChart.html +3 -3
- package/docs/interfaces/ApexDataLabels.html +3 -3
- package/docs/interfaces/ApexDiscretePoint.html +3 -3
- package/docs/interfaces/ApexDropShadow.html +3 -3
- package/docs/interfaces/ApexFill.html +3 -3
- package/docs/interfaces/ApexForecastDataPoints.html +3 -3
- package/docs/interfaces/ApexGrid.html +3 -3
- package/docs/interfaces/ApexLegend.html +3 -3
- package/docs/interfaces/ApexLocale.html +3 -3
- package/docs/interfaces/ApexMarkers.html +3 -3
- package/docs/interfaces/ApexNoData.html +3 -3
- package/docs/interfaces/ApexOptions.html +3 -3
- package/docs/interfaces/ApexPlotOptions.html +3 -3
- package/docs/interfaces/ApexResponsive.html +3 -3
- package/docs/interfaces/ApexStates.html +3 -3
- package/docs/interfaces/ApexStroke.html +3 -3
- package/docs/interfaces/ApexTheme.html +3 -3
- package/docs/interfaces/ApexTitleSubtitle.html +3 -3
- package/docs/interfaces/ApexTooltip.html +3 -3
- package/docs/interfaces/ApexXAxis.html +3 -3
- package/docs/interfaces/ApexYAxis.html +3 -3
- package/docs/interfaces/BetterTableModule.html +3 -3
- package/docs/interfaces/Blur.html +3 -3
- package/docs/interfaces/CleaveEventOnChange.html +3 -3
- package/docs/interfaces/CleaveInstance.html +3 -3
- package/docs/interfaces/ContentChange.html +3 -3
- package/docs/interfaces/CustomOption.html +3 -3
- package/docs/interfaces/EuiAutoCompleteItem.html +3 -3
- package/docs/interfaces/EuiChipDragDrop.html +3 -3
- package/docs/interfaces/EuiDateRangeSelectorDates.html +3 -3
- package/docs/interfaces/EuiDateTimePickerConfig.html +3 -3
- package/docs/interfaces/EuiDialogInterface.html +3 -3
- package/docs/interfaces/EuiDiscussionThreadItem.html +3 -3
- package/docs/interfaces/EuiEditorImageDialogConfig.html +3 -3
- package/docs/interfaces/EuiPaginationEvent.html +3 -3
- package/docs/interfaces/EuiTimePicker.html +3 -3
- package/docs/interfaces/EuiTimeRangePickerConfig.html +3 -3
- package/docs/interfaces/EuiTooltipInterface.html +3 -3
- package/docs/interfaces/EuiTreeContentBlockModel.html +3 -3
- package/docs/interfaces/EuiTreeItem.html +3 -3
- package/docs/interfaces/EuiTreeListFilterParams.html +3 -3
- package/docs/interfaces/EuiUploadedFileInterface.html +3 -3
- package/docs/interfaces/Focus.html +3 -3
- package/docs/interfaces/HTMLOption.html +3 -3
- package/docs/interfaces/IEuiWizardStep.html +3 -3
- package/docs/interfaces/ImageAnnotations.html +3 -3
- package/docs/interfaces/MultiSelectionLogic.html +3 -3
- package/docs/interfaces/NotificationMetadata.html +3 -3
- package/docs/interfaces/ObjectConstructor.html +3 -3
- package/docs/interfaces/OpenedDialogInterface.html +3 -3
- package/docs/interfaces/PaginationEvent.html +3 -3
- package/docs/interfaces/PointAnnotations.html +3 -3
- package/docs/interfaces/QuillConfig.html +3 -3
- package/docs/interfaces/QuillDynamicConfig.html +3 -3
- package/docs/interfaces/QuillModules.html +3 -3
- package/docs/interfaces/Range.html +3 -3
- package/docs/interfaces/SelectConfigModel.html +3 -3
- package/docs/interfaces/SelectionChange.html +3 -3
- package/docs/interfaces/SingleSelectionLogic.html +3 -3
- package/docs/interfaces/Sort.html +3 -3
- package/docs/interfaces/SortEvent.html +3 -3
- package/docs/interfaces/TextAnnotations.html +3 -3
- package/docs/interfaces/ToolbarItemConfig.html +3 -3
- package/docs/interfaces/UIState.html +3 -3
- package/docs/interfaces/UserProfile.html +3 -3
- package/docs/interfaces/Window.html +3 -3
- package/docs/interfaces/XAxisAnnotations.html +3 -3
- package/docs/interfaces/YAxisAnnotations.html +3 -3
- package/docs/js/menu-wc.js +12 -7
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/license.html +2 -2
- package/docs/miscellaneous/enumerations.html +4 -4
- package/docs/miscellaneous/functions.html +9 -9
- package/docs/miscellaneous/typealiases.html +40 -40
- package/docs/miscellaneous/variables.html +120 -120
- package/docs/modules/EuiAccordionModule.html +3 -3
- package/docs/modules/EuiAlertModule.html +3 -3
- package/docs/modules/EuiAllModule.html +3 -3
- package/docs/modules/EuiAppBreadcrumbModule.html +3 -3
- package/docs/modules/EuiAppFooterModule.html +3 -3
- package/docs/modules/EuiAppHeaderModule.html +3 -3
- package/docs/modules/EuiAppModule.html +3 -3
- package/docs/modules/EuiAppSidebarModule.html +3 -3
- package/docs/modules/EuiAppToolbarModule.html +3 -3
- package/docs/modules/EuiAppTopMessageModule.html +3 -3
- package/docs/modules/EuiAutocompleteModule.html +3 -3
- package/docs/modules/EuiAvatarModule.html +3 -3
- package/docs/modules/EuiBadgeModule.html +3 -3
- package/docs/modules/EuiBlockContentModule.html +3 -3
- package/docs/modules/EuiBlockDocumentModule.html +3 -3
- package/docs/modules/EuiBreadcrumbModule.html +3 -3
- package/docs/modules/EuiButtonGroupModule.html +3 -3
- package/docs/modules/EuiButtonModule.html +3 -3
- package/docs/modules/EuiButtonV2Module.html +3 -3
- package/docs/modules/EuiCardModule.html +3 -3
- package/docs/modules/EuiChartsModule.html +3 -3
- package/docs/modules/EuiChipListModule.html +3 -3
- package/docs/modules/EuiChipModule.html +3 -3
- package/docs/modules/EuiCoerceBooleanPipeModule.html +3 -3
- package/docs/modules/EuiDashboardButtonModule.html +3 -3
- package/docs/modules/EuiDashboardCardModule.html +3 -3
- package/docs/modules/EuiDateRangeSelectorModule.html +3 -3
- package/docs/modules/EuiDatepickerModule.html +3 -3
- package/docs/modules/EuiDialogModule.html +3 -3
- package/docs/modules/EuiDimmerModule.html +3 -3
- package/docs/modules/EuiDisableContentModule.html +3 -3
- package/docs/modules/EuiDiscussionThreadModule.html +3 -3
- package/docs/modules/EuiDropdownContentModule.html +3 -3
- package/docs/modules/EuiDropdownModule.html +3 -3
- package/docs/modules/EuiDropdownTreeDirectiveModule.html +3 -3
- package/docs/modules/EuiEditorModule.html +3 -3
- package/docs/modules/EuiFeedbackMessageModule.html +3 -3
- package/docs/modules/EuiFieldsetModule.html +3 -3
- package/docs/modules/EuiFileUploadModule.html +3 -3
- package/docs/modules/EuiFooterModule.html +3 -3
- package/docs/modules/EuiGrowlModule.html +3 -3
- package/docs/modules/EuiHasPermissionDirectiveModule.html +3 -3
- package/docs/modules/EuiHeaderModule.html +3 -3
- package/docs/modules/EuiIconButtonExpanderModule.html +3 -3
- package/docs/modules/EuiIconButtonModule.html +3 -3
- package/docs/modules/EuiIconColorModule.html +3 -3
- package/docs/modules/EuiIconInputModule.html +3 -3
- package/docs/modules/EuiIconModule.html +3 -3
- package/docs/modules/EuiIconStateModule.html +3 -3
- package/docs/modules/EuiIconToggleModule.html +3 -3
- package/docs/modules/EuiInputCheckboxModule.html +3 -3
- package/docs/modules/EuiInputGroupModule.html +3 -3
- package/docs/modules/EuiInputNumberDirectiveModule.html +3 -3
- package/docs/modules/EuiInputNumberModule.html +3 -3
- package/docs/modules/EuiInputRadioModule.html +3 -3
- package/docs/modules/EuiInputTextModule.html +3 -3
- package/docs/modules/EuiLabelModule.html +3 -3
- package/docs/modules/EuiLanguageSelectorModule.html +3 -3
- package/docs/modules/EuiLayoutModule.html +3 -3
- package/docs/modules/EuiListModule.html +3 -3
- package/docs/modules/EuiMaxLengthDirectiveModule.html +3 -3
- package/docs/modules/EuiMenuModule.html +3 -3
- package/docs/modules/EuiMessageBoxModule.html +3 -3
- package/docs/modules/EuiNavbarModule.html +3 -3
- package/docs/modules/EuiNotificationsModule.html +3 -3
- package/docs/modules/EuiNotificationsV2Module.html +3 -3
- package/docs/modules/EuiOverlayModule.html +3 -3
- package/docs/modules/EuiPageModule.html +3 -3
- package/docs/modules/EuiPaginatorModule.html +3 -3
- package/docs/modules/EuiPopoverModule.html +3 -3
- package/docs/modules/EuiProgressBarModule.html +3 -3
- package/docs/modules/EuiProgressCircleModule.html +3 -3
- package/docs/modules/EuiResizableDirectiveModule.html +3 -3
- package/docs/modules/EuiScrollHandlerDirectiveModule.html +3 -3
- package/docs/modules/EuiSearchFavouriteQueriesModule.html +3 -3
- package/docs/modules/EuiSelectModule.html +3 -3
- package/docs/modules/EuiSidebarMenuModule.html +3 -3
- package/docs/modules/EuiSidebarToggleModule.html +3 -3
- package/docs/modules/EuiSkeletonModule.html +3 -3
- package/docs/modules/EuiSlideToggleModule.html +3 -3
- package/docs/modules/EuiSmoothScrollDirectiveModule.html +3 -3
- package/docs/modules/EuiSplitButtonModule.html +3 -3
- package/docs/modules/EuiTableModule.html +3 -3
- package/docs/modules/EuiTableV2Module.html +3 -3
- package/docs/modules/EuiTabsModule.html +3 -3
- package/docs/modules/EuiTemplateDirectiveModule.html +3 -3
- package/docs/modules/EuiTextAreaModule.html +3 -3
- package/docs/modules/EuiTimebarModule.html +3 -3
- package/docs/modules/EuiTimelineModule.html +3 -3
- package/docs/modules/EuiTimepickerModule.html +3 -3
- package/docs/modules/EuiToolbarModule.html +3 -3
- package/docs/modules/EuiTooltipDirectiveModule.html +3 -3
- package/docs/modules/EuiTreeFormControlDirectiveModule.html +3 -3
- package/docs/modules/EuiTreeListModule.html +3 -3
- package/docs/modules/EuiTreeModule.html +3 -3
- package/docs/modules/EuiTruncatePipeModule.html +3 -3
- package/docs/modules/EuiUserProfileModule.html +3 -3
- package/docs/modules/EuiWizardModule.html +3 -3
- package/docs/modules/QuillModule.html +3 -3
- package/docs/modules/TranslateMockModule.html +3 -3
- package/docs/modules.html +2 -2
- package/docs/overview.html +241 -0
- package/docs/pipes/ClassFilterPipe.html +3 -3
- package/docs/pipes/EuiCoerceBooleanPipe.html +3 -3
- package/docs/pipes/EuiFileSizePipe.html +3 -3
- package/docs/pipes/EuiTableHighlightFilterPipe.html +3 -3
- package/docs/pipes/EuiTableV2HighlightPipe.html +3 -3
- package/docs/pipes/EuiTruncatePipe.html +3 -3
- package/docs/pipes/TranslateMockPipe.html +3 -3
- package/docs/properties.html +3 -7
- package/esm2022/eui-chip-list/eui-chip-list.component.mjs +3 -3
- package/esm2022/eui-dialog/container/eui-dialog-container.component.mjs +7 -4
- package/esm2022/eui-dropdown/dropdown-item/eui-dropdown-item.component.mjs +11 -4
- package/esm2022/eui-dropdown/eui-dropdown.component.mjs +27 -6
- package/esm2022/eui-file-upload/file-preview/file-preview.component.mjs +7 -3
- package/esm2022/eui-paginator/eui-paginator.component.mjs +3 -3
- package/esm2022/eui-table-v2/eui-table-v2.component.mjs +17 -11
- package/esm2022/eui-table-v2/selectable-row/eui-table-v2-selectable-row.component.mjs +4 -2
- package/esm2022/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.mjs +3 -3
- package/eui-dialog/container/eui-dialog-container.component.d.ts +2 -1
- package/eui-dialog/container/eui-dialog-container.component.d.ts.map +1 -1
- package/eui-dropdown/dropdown-item/eui-dropdown-item.component.d.ts +4 -3
- package/eui-dropdown/dropdown-item/eui-dropdown-item.component.d.ts.map +1 -1
- package/eui-dropdown/eui-dropdown.component.d.ts.map +1 -1
- package/eui-file-upload/file-preview/file-preview.component.d.ts +1 -0
- package/eui-file-upload/file-preview/file-preview.component.d.ts.map +1 -1
- package/eui-table-v2/eui-table-v2.component.d.ts.map +1 -1
- package/eui-table-v2/selectable-row/eui-table-v2-selectable-row.component.d.ts.map +1 -1
- package/fesm2022/eui-components-eui-chip-list.mjs +2 -2
- package/fesm2022/eui-components-eui-chip-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dialog.mjs +6 -3
- package/fesm2022/eui-components-eui-dialog.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dropdown.mjs +36 -8
- package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
- package/fesm2022/eui-components-eui-file-upload.mjs +6 -2
- package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
- package/fesm2022/eui-components-eui-paginator.mjs +2 -2
- package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
- package/fesm2022/eui-components-eui-table-v2.mjs +19 -11
- package/fesm2022/eui-components-eui-table-v2.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +2 -2
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/package.json +507 -507
- package/LICENSE +0 -296
- package/README.md +0 -26
@@ -176,11 +176,11 @@ export class EuiPaginatorComponent {
|
|
176
176
|
});
|
177
177
|
}
|
178
178
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EuiPaginatorComponent, deps: [{ token: i1.EuiAppShellService }, { token: i2.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component }); }
|
179
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: EuiPaginatorComponent, selector: "eui-paginator", inputs: { e2eAttr: "e2eAttr", pageSizeOptions: "pageSizeOptions", pageSize: "pageSize", page: "page", length: "length", nbPageNumberNavigation: "nbPageNumberNavigation", isHidden: ["isHidden", "isHidden", booleanAttribute], isBasicMode: ["isBasicMode", "isBasicMode", booleanAttribute], hasPageNumberNavigation: ["hasPageNumberNavigation", "hasPageNumberNavigation", booleanAttribute], hasDynamicLength: ["hasDynamicLength", "hasDynamicLength", booleanAttribute], hasPageSize: ["hasPageSize", "hasPageSize", booleanAttribute] }, outputs: { pageChange: "pageChange" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "class": "this.cssClasses" } }, providers: [DecimalPipe], usesOnChanges: true, ngImport: i0, template: "<div class=\"eui-paginator__page\">\n @if (!isBasicMode || hasPageSize) {\n <div class=\"eui-paginator__page-selector\">\n <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>\n <div class=\"eui-u-pl-xs eui-u-pb-2xs\">\n <select euiSelect class=\"page-size__select\" aria-label=\"Page size selected\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"changePageSize($event)\">\n <option *ngFor=\"let pageSizeOption of pageSizeOptions\" value=\"{{ pageSizeOption }}\">{{ pageSizeOption }}</option>\n </select>\n </div>\n </div>\n @if ((length$ | async) > 0) {\n <div class=\"eui-paginator__page-range-main\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate: { range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }}\n {{ rangeLength | number }}\n </div>\n }\n }\n</div>\n\n<div class=\"eui-paginator__page-navigation\">\n\n @if (isBasicMode) {\n\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" transform=\"rotate-180\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n\n } @else {\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goFirstPage()\">\n <eui-icon-svg icon=\"play-skip-back:sharp\" fillColor=\"primary\" aria-label=\"Go to first page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" transform=\"rotate-180\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-paginator__page-navigation-numbers\"\n *ngIf=\"hasPageNumberNavigation\">\n <button\n type=\"button\"\n euiSizeS\n *ngFor=\"let pageNumber of pageNumberNavigation\"\n euiButton\n euiBasicButton\n [euiPrimary]=\"pageNumber === page\"\n [euiOutline]=\"pageNumber === page\"\n (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 | number }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goLastPage()\">\n <eui-icon-svg icon=\"play-skip-forward:sharp\" fillColor=\"primary\" aria-label=\"Go to last page\"></eui-icon-svg>\n </button>\n </div>\n }\n</div>\n\n", styles: [".eui-18 .eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-s-s) 0;position:relative;width:100%}.eui-18 .eui-paginator--hidden{display:none}.eui-18 .eui-paginator__page{display:flex;flex-direction:column;font:var(--eui-f-l)}.eui-18 .eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:var(--eui-f-s)}.eui-18 .eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-s-xl);padding-bottom:0;padding-top:0}.eui-18 .eui-paginator__page-range{align-items:center;font:var(--eui-f-s);display:none}.eui-18 .eui-paginator__page-range-main{align-items:center;font:var(--eui-f-s)}.eui-18 .eui-paginator__page-navigation{align-items:center;display:flex}.eui-18 .eui-paginator__page-navigation-item,.eui-18 .eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-18 .eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-s-s)}@media screen and (max-width: 767px){.eui-18 .eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-s-s) 0;width:100%}.eui-18 .eui-paginator__page{display:none}.eui-18 .eui-paginator__page-range{display:inline-flex;margin:0 var(--eui-s-m)}.eui-18 .eui-paginator__page-navigation-numbers{display:none}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.EuiSelectComponent, selector: "select[euiSelect]", inputs: ["placeholder", "readonly", "isInvalid"] }, { kind: "directive", type: i6.EuiNgSelectOptionDirective, selector: "option:not([eclSelectOption]):not([eclMultiselectOption]), option[euiOption]", inputs: ["selected", "label", "ngValue"] }, { kind: "directive", type: i6.EuiSelectControlValueAccessor, selector: "select:not([multiple])[formControlName][euiSelect],select:not([multiple])[formControl][euiSelect],select:not([multiple])[ngModel][euiSelect]", inputs: ["placeholder"] }, { kind: "directive", type: i6.EuiSelectMultipleOption, selector: "option, option[euiOption]", inputs: ["ngValue", "value"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
179
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: EuiPaginatorComponent, selector: "eui-paginator", inputs: { e2eAttr: "e2eAttr", pageSizeOptions: "pageSizeOptions", pageSize: "pageSize", page: "page", length: "length", nbPageNumberNavigation: "nbPageNumberNavigation", isHidden: ["isHidden", "isHidden", booleanAttribute], isBasicMode: ["isBasicMode", "isBasicMode", booleanAttribute], hasPageNumberNavigation: ["hasPageNumberNavigation", "hasPageNumberNavigation", booleanAttribute], hasDynamicLength: ["hasDynamicLength", "hasDynamicLength", booleanAttribute], hasPageSize: ["hasPageSize", "hasPageSize", booleanAttribute] }, outputs: { pageChange: "pageChange" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "class": "this.cssClasses" } }, providers: [DecimalPipe], usesOnChanges: true, ngImport: i0, template: "<div class=\"eui-paginator__page\">\n @if (!isBasicMode || hasPageSize) {\n <div class=\"eui-paginator__page-selector\">\n <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>\n <div class=\"eui-u-pl-xs eui-u-pb-2xs\">\n <select euiSelect class=\"page-size__select\" aria-label=\"Page size selected\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"changePageSize($event)\">\n <option *ngFor=\"let pageSizeOption of pageSizeOptions\" value=\"{{ pageSizeOption }}\">{{ pageSizeOption }}</option>\n </select>\n </div>\n </div>\n @if ((length$ | async) > 0) {\n <div class=\"eui-paginator__page-range-main\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate: { range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }}\n {{ rangeLength | number }}\n </div>\n }\n }\n</div>\n\n<div class=\"eui-paginator__page-navigation\">\n\n @if (isBasicMode) {\n\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" transform=\"rotate-180\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n\n } @else {\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goFirstPage()\">\n <eui-icon-svg icon=\"play-skip-back:sharp\" fillColor=\"primary\" aria-label=\"Go to first page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" transform=\"rotate-180\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-paginator__page-navigation-numbers\"\n *ngIf=\"hasPageNumberNavigation\">\n <button\n type=\"button\"\n euiSizeS\n *ngFor=\"let pageNumber of pageNumberNavigation\"\n [attr.aria-current]=\"pageNumber === page\"\n euiButton\n euiBasicButton\n [euiPrimary]=\"pageNumber === page\"\n [euiOutline]=\"pageNumber === page\"\n (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 | number }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goLastPage()\">\n <eui-icon-svg icon=\"play-skip-forward:sharp\" fillColor=\"primary\" aria-label=\"Go to last page\"></eui-icon-svg>\n </button>\n </div>\n }\n</div>\n\n", styles: [".eui-18 .eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-s-s) 0;position:relative;width:100%}.eui-18 .eui-paginator--hidden{display:none}.eui-18 .eui-paginator__page{display:flex;flex-direction:column;font:var(--eui-f-l)}.eui-18 .eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:var(--eui-f-s)}.eui-18 .eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-s-xl);padding-bottom:0;padding-top:0}.eui-18 .eui-paginator__page-range{align-items:center;font:var(--eui-f-s);display:none}.eui-18 .eui-paginator__page-range-main{align-items:center;font:var(--eui-f-s)}.eui-18 .eui-paginator__page-navigation{align-items:center;display:flex}.eui-18 .eui-paginator__page-navigation-item,.eui-18 .eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-18 .eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-s-s)}@media screen and (max-width: 767px){.eui-18 .eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-s-s) 0;width:100%}.eui-18 .eui-paginator__page{display:none}.eui-18 .eui-paginator__page-range{display:inline-flex;margin:0 var(--eui-s-m)}.eui-18 .eui-paginator__page-navigation-numbers{display:none}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.EuiSelectComponent, selector: "select[euiSelect]", inputs: ["placeholder", "readonly", "isInvalid"] }, { kind: "directive", type: i6.EuiNgSelectOptionDirective, selector: "option:not([eclSelectOption]):not([eclMultiselectOption]), option[euiOption]", inputs: ["selected", "label", "ngValue"] }, { kind: "directive", type: i6.EuiSelectControlValueAccessor, selector: "select:not([multiple])[formControlName][euiSelect],select:not([multiple])[formControl][euiSelect],select:not([multiple])[ngModel][euiSelect]", inputs: ["placeholder"] }, { kind: "directive", type: i6.EuiSelectMultipleOption, selector: "option, option[euiOption]", inputs: ["ngValue", "value"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
180
180
|
}
|
181
181
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EuiPaginatorComponent, decorators: [{
|
182
182
|
type: Component,
|
183
|
-
args: [{ selector: 'eui-paginator', encapsulation: ViewEncapsulation.None, providers: [DecimalPipe], template: "<div class=\"eui-paginator__page\">\n @if (!isBasicMode || hasPageSize) {\n <div class=\"eui-paginator__page-selector\">\n <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>\n <div class=\"eui-u-pl-xs eui-u-pb-2xs\">\n <select euiSelect class=\"page-size__select\" aria-label=\"Page size selected\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"changePageSize($event)\">\n <option *ngFor=\"let pageSizeOption of pageSizeOptions\" value=\"{{ pageSizeOption }}\">{{ pageSizeOption }}</option>\n </select>\n </div>\n </div>\n @if ((length$ | async) > 0) {\n <div class=\"eui-paginator__page-range-main\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate: { range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }}\n {{ rangeLength | number }}\n </div>\n }\n }\n</div>\n\n<div class=\"eui-paginator__page-navigation\">\n\n @if (isBasicMode) {\n\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" transform=\"rotate-180\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n\n } @else {\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goFirstPage()\">\n <eui-icon-svg icon=\"play-skip-back:sharp\" fillColor=\"primary\" aria-label=\"Go to first page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" transform=\"rotate-180\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-paginator__page-navigation-numbers\"\n *ngIf=\"hasPageNumberNavigation\">\n <button\n type=\"button\"\n euiSizeS\n *ngFor=\"let pageNumber of pageNumberNavigation\"\n euiButton\n euiBasicButton\n [euiPrimary]=\"pageNumber === page\"\n [euiOutline]=\"pageNumber === page\"\n (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 | number }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goLastPage()\">\n <eui-icon-svg icon=\"play-skip-forward:sharp\" fillColor=\"primary\" aria-label=\"Go to last page\"></eui-icon-svg>\n </button>\n </div>\n }\n</div>\n\n", styles: [".eui-18 .eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-s-s) 0;position:relative;width:100%}.eui-18 .eui-paginator--hidden{display:none}.eui-18 .eui-paginator__page{display:flex;flex-direction:column;font:var(--eui-f-l)}.eui-18 .eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:var(--eui-f-s)}.eui-18 .eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-s-xl);padding-bottom:0;padding-top:0}.eui-18 .eui-paginator__page-range{align-items:center;font:var(--eui-f-s);display:none}.eui-18 .eui-paginator__page-range-main{align-items:center;font:var(--eui-f-s)}.eui-18 .eui-paginator__page-navigation{align-items:center;display:flex}.eui-18 .eui-paginator__page-navigation-item,.eui-18 .eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-18 .eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-s-s)}@media screen and (max-width: 767px){.eui-18 .eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-s-s) 0;width:100%}.eui-18 .eui-paginator__page{display:none}.eui-18 .eui-paginator__page-range{display:inline-flex;margin:0 var(--eui-s-m)}.eui-18 .eui-paginator__page-navigation-numbers{display:none}}\n"] }]
|
183
|
+
args: [{ selector: 'eui-paginator', encapsulation: ViewEncapsulation.None, providers: [DecimalPipe], template: "<div class=\"eui-paginator__page\">\n @if (!isBasicMode || hasPageSize) {\n <div class=\"eui-paginator__page-selector\">\n <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>\n <div class=\"eui-u-pl-xs eui-u-pb-2xs\">\n <select euiSelect class=\"page-size__select\" aria-label=\"Page size selected\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"changePageSize($event)\">\n <option *ngFor=\"let pageSizeOption of pageSizeOptions\" value=\"{{ pageSizeOption }}\">{{ pageSizeOption }}</option>\n </select>\n </div>\n </div>\n @if ((length$ | async) > 0) {\n <div class=\"eui-paginator__page-range-main\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate: { range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }}\n {{ rangeLength | number }}\n </div>\n }\n }\n</div>\n\n<div class=\"eui-paginator__page-navigation\">\n\n @if (isBasicMode) {\n\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" transform=\"rotate-180\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n\n } @else {\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goFirstPage()\">\n <eui-icon-svg icon=\"play-skip-back:sharp\" fillColor=\"primary\" aria-label=\"Go to first page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" transform=\"rotate-180\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-paginator__page-navigation-numbers\"\n *ngIf=\"hasPageNumberNavigation\">\n <button\n type=\"button\"\n euiSizeS\n *ngFor=\"let pageNumber of pageNumberNavigation\"\n [attr.aria-current]=\"pageNumber === page\"\n euiButton\n euiBasicButton\n [euiPrimary]=\"pageNumber === page\"\n [euiOutline]=\"pageNumber === page\"\n (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 | number }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goLastPage()\">\n <eui-icon-svg icon=\"play-skip-forward:sharp\" fillColor=\"primary\" aria-label=\"Go to last page\"></eui-icon-svg>\n </button>\n </div>\n }\n</div>\n\n", styles: [".eui-18 .eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-s-s) 0;position:relative;width:100%}.eui-18 .eui-paginator--hidden{display:none}.eui-18 .eui-paginator__page{display:flex;flex-direction:column;font:var(--eui-f-l)}.eui-18 .eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:var(--eui-f-s)}.eui-18 .eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-s-xl);padding-bottom:0;padding-top:0}.eui-18 .eui-paginator__page-range{align-items:center;font:var(--eui-f-s);display:none}.eui-18 .eui-paginator__page-range-main{align-items:center;font:var(--eui-f-s)}.eui-18 .eui-paginator__page-navigation{align-items:center;display:flex}.eui-18 .eui-paginator__page-navigation-item,.eui-18 .eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-18 .eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-s-s)}@media screen and (max-width: 767px){.eui-18 .eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-s-s) 0;width:100%}.eui-18 .eui-paginator__page{display:none}.eui-18 .eui-paginator__page-range{display:inline-flex;margin:0 var(--eui-s-m)}.eui-18 .eui-paginator__page-navigation-numbers{display:none}}\n"] }]
|
184
184
|
}], ctorParameters: () => [{ type: i1.EuiAppShellService }, { type: i2.DecimalPipe }], propDecorators: { e2eAttr: [{
|
185
185
|
type: HostBinding,
|
186
186
|
args: ['attr.data-e2e']
|
@@ -217,4 +217,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
217
217
|
}], pageChange: [{
|
218
218
|
type: Output
|
219
219
|
}] } });
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXBhZ2luYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktcGFnaW5hdG9yL2V1aS1wYWdpbmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXBhZ2luYXRvci9ldWktcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsS0FBSyxFQUVMLFlBQVksRUFDWixNQUFNLEVBR04sV0FBVyxFQUNYLGdCQUFnQixFQUNoQixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7O0FBUzlDLE1BQU0sT0FBTyxxQkFBcUI7SUFFOUIsSUFDSSxVQUFVO1FBQ1YsT0FBTztZQUNILGVBQWU7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUMvQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBdUJELFlBQ1csa0JBQXNDLEVBQ3JDLE9BQW9CO1FBRHJCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDckMsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQWhDTyxZQUFPLEdBQUcsZUFBZSxDQUFDO1FBUXhELG9CQUFlLEdBQWEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDakQsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLFNBQUksR0FBRyxDQUFDLENBQUM7UUFDVCxX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SUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVNLGNBQWM7UUFDakIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFTSxVQUFVO1FBQ2IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFTSxVQUFVO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxF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QTlELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsZ0JBQWdCO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFdBQVc7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTVCLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPdXRwdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFdWlBcHBTaGVsbFNlcnZpY2UgfSBmcm9tICdAZXVpL2NvcmUnO1xuXG5pbXBvcnQgeyBFdWlQYWdpbmF0aW9uRXZlbnQgfSBmcm9tICcuL21vZGVscy9wYWdpbmF0aW9uLWV2ZW50Lm1vZGVsJztcbmltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktcGFnaW5hdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpLXBhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtEZWNpbWFsUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIEV1aVBhZ2luYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWUyZScpIEBJbnB1dCgpIGUyZUF0dHIgPSAnZXVpLXBhZ2luYXRvcic7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdldWktcGFnaW5hdG9yJyxcbiAgICAgICAgICAgIHRoaXMuaXNIaWRkZW4gPyAnZXVpLXBhZ2luYXRvci0taGlkZGVuJyA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBbNSwgMTAsIDI1LCA1MCwgMTAwXTtcbiAgICBASW5wdXQoKSBwYWdlU2l6ZSA9IDEwO1xuICAgIEBJbnB1dCgpIHBhZ2UgPSAwO1xuICAgIEBJbnB1dCgpIGxlbmd0aCA9IDA7XG4gICAgQElucHV0KCkgbmJQYWdlTnVtYmVyTmF2aWdhdGlvbiA9IDU7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzSGlkZGVuID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzQmFzaWNNb2RlID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1BhZ2VOdW1iZXJOYXZpZ2F0aW9uID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0R5bmFtaWNMZW5ndGggPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzUGFnZVNpemUgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIHBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEV1aVBhZ2luYXRpb25FdmVudD4oKTtcblxuICAgIHB1YmxpYyBwYWdlJDogQmVoYXZpb3JTdWJqZWN0PEV1aVBhZ2luYXRpb25FdmVudD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICAgIHB1YmxpYyBsZW5ndGgkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoMCk7XG4gICAgcHVibGljIHJhbmdlOiBzdHJpbmc7XG4gICAgcHVibGljIHJhbmdlTGVuZ3RoOiBzdHJpbmc7XG4gICAgcHVibGljIG5iUGFnZTogbnVtYmVyO1xuXG4gICAgcHJpdmF0ZSBuYlBhZ2VOdW1iZXJOYXY6IG51bWJlcjtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgRXVpQXBwU2hlbGxTZXJ2aWNlOiBFdWlBcHBTaGVsbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGVjaW1hbDogRGVjaW1hbFBpcGUsXG4gICAgKSB7fVxuXG4gICAgbmdPbkNoYW5nZXMoYzogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoYyAmJiBjLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5sZW5ndGgkLm5leHQoYy5sZW5ndGguY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuZ2V0UmFuZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYyAmJiBjLnBhZ2UpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IGMucGFnZS5jdXJyZW50VmFsdWUsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgICAgICAgICAgdGhpcy5nZXRSYW5nZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjICYmIGMucGFnZVNpemUpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IGMucGFnZVNpemUuY3VycmVudFZhbHVlLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VQYWdlU2l6ZShjLnBhZ2VTaXplLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmdldFJhbmdlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmxlbmd0aCQubmV4dCh0aGlzLmxlbmd0aCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5iUGFnZU51bWJlck5hdiA9IHRoaXMubmJQYWdlTnVtYmVyTmF2aWdhdGlvbjtcblxuICAgICAgICB0aGlzLmxlbmd0aCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSgobGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxlbmd0aCA9IGxlbmd0aDtcbiAgICAgICAgICAgIHRoaXMubmJQYWdlID0gTWF0aC5jZWlsKHRoaXMubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZSk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaGFzRHluYW1pY0xlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMucGFnZSA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmdldFJhbmdlKCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm5iUGFnZSA8IHRoaXMubmJQYWdlTnVtYmVyTmF2aWdhdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMubmJQYWdlTnVtYmVyTmF2ID0gdGhpcy5uYlBhZ2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubmJQYWdlTnVtYmVyTmF2ID0gdGhpcy5uYlBhZ2VOdW1iZXJOYXZpZ2F0aW9uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnBhZ2UkLm5leHQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZ2V0IHBhZ2VOdW1iZXJOYXZpZ2F0aW9uKCk6IG51bWJlcltdIHtcbiAgICAgICAgY29uc3QgcGFnZXMgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm5iUGFnZTsgaSsrKSB7XG4gICAgICAgICAgICBwYWdlcy5wdXNoKGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVsdGEgPSBNYXRoLmZsb29yKHRoaXMubmJQYWdlTnVtYmVyTmF2IC8gMik7XG4gICAgICAgIGxldCBzdGFydCA9IDA7XG4gICAgICAgIGlmICh0aGlzLnBhZ2UgLSBkZWx0YSA+IDApIHtcbiAgICAgICAgICAgIHN0YXJ0ID0gdGhpcy5wYWdlIC0gZGVsdGE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGFydCA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5uYlBhZ2UgLSB0aGlzLnBhZ2UgPD0gdGhpcy5uYlBhZ2VOdW1iZXJOYXYgLSAoZGVsdGEgKyAxKSkge1xuICAgICAgICAgICAgc3RhcnQgPSB0aGlzLm5iUGFnZSAtIHRoaXMubmJQYWdlTnVtYmVyTmF2O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXJ0IDwgMCkge1xuICAgICAgICAgICAgc3RhcnQgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZW5kID0gc3RhcnQgKyB0aGlzLm5iUGFnZU51bWJlck5hdjtcbiAgICAgICAgcmV0dXJuIHBhZ2VzLnNsaWNlKHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGFuZ2VQYWdlU2l6ZShzaXplOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHBhcnNlSW50KHNpemUsIDEwKTtcbiAgICAgICAgdGhpcy5uYlBhZ2UgPSBNYXRoLmNlaWwodGhpcy5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKTtcbiAgICAgICAgdGhpcy5wYWdlID0gMDtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICAgICAgdGhpcy5nZXRSYW5nZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLm5iUGFnZSA8IHRoaXMubmJQYWdlTnVtYmVyTmF2aWdhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5uYlBhZ2VOdW1iZXJOYXYgPSB0aGlzLm5iUGFnZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmJQYWdlTnVtYmVyTmF2ID0gdGhpcy5uYlBhZ2VOdW1iZXJOYXZpZ2F0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnb1RvUGFnZShwYWdlOiBudW1iZXIsIG9wdGlvbnM/OiB7IGVtaXRFdmVudDogYm9vbGVhbiB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2U7XG4gICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0UmFuZ2UoKTtcblxuICAgICAgICBpZiAoIW9wdGlvbnMgfHwgb3B0aW9ucz8uZW1pdEV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ29GaXJzdFBhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZSA9IDA7XG4gICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0UmFuZ2UoKTtcbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnb1ByZXZpb3VzUGFnZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlLS07XG4gICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0UmFuZ2UoKTtcbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnb05leHRQYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2UrKztcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICAgICAgdGhpcy5nZXRSYW5nZSgpO1xuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdvTGFzdFBhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZSA9IHRoaXMubmJQYWdlIC0gMTtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICAgICAgdGhpcy5nZXRSYW5nZSgpO1xuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFBhZ2UocGFnZTogRXVpUGFnaW5hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZSQubmV4dChwYWdlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0TGVuZ3RoKGxlbmd0aDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGVuZ3RoJC5uZXh0KGxlbmd0aCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJhbmdlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmcm9tID0gdGhpcy5sZW5ndGggPiAwID8gdGhpcy5wYWdlICogdGhpcy5wYWdlU2l6ZSArIDEgOiAwO1xuICAgICAgICBjb25zdCBsaW1pdCA9IHRoaXMucGFnZSAqIHRoaXMucGFnZVNpemUgKyB0aGlzLnBhZ2VTaXplO1xuICAgICAgICBjb25zdCB0byA9IGxpbWl0IDw9IHRoaXMubGVuZ3RoID8gbGltaXQgOiB0aGlzLmxlbmd0aDtcbiAgICAgICAgdGhpcy5yYW5nZSA9IGZyb20gJiYgdG8gJiYgdGhpcy5sZW5ndGggPyB0aGlzLmRlY2ltYWwudHJhbnNmb3JtKGZyb20pICsgJ+KAkycgKyB0aGlzLmRlY2ltYWwudHJhbnNmb3JtKHRvKSA6ICcnO1xuICAgICAgICB0aGlzLnJhbmdlTGVuZ3RoID0gdGhpcy5sZW5ndGggPyB0aGlzLmxlbmd0aC50b1N0cmluZygpIDogJyc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBwYWdpbmF0aW9uIHRvIHRoZSBnaXZlbiBwYWdlIG51bWJlclxuICAgICAqXG4gICAgICogQHBhcmFtIHBhZ2UgMC1iYXNlZCBwYWdlIG51bWJlciB0byBiZSBkaXNwbGF5ZWRcbiAgICAgKi9cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgcGFnaW5hdGlvbiB0byB0aGUgZ2l2ZW4gcGFnZSBudW1iZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYWdlIDAtYmFzZWQgcGFnZSBudW1iZXIgdG8gYmUgZGlzcGxheWVkXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKiBgZW1pdEV2ZW50YDogV2hlbiB0cnVlIG9yIG5vdCBwcm92aWRlZCwgZXZlbnQgaXMgZW1pdHRlZC4gV2hlbiBmYWxzZSwgbm8gZXZlbnRzIGFyZSBlbWl0dGVkXG4gICAgICovXG4gICAgcHVibGljIGdldFBhZ2UocGFnZTogbnVtYmVyLCBvcHRpb25zPzogeyBlbWl0RXZlbnQ6IGJvb2xlYW4gfSk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ29Ub1BhZ2UocGFnZSwgb3B0aW9ucyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlXCI+XG4gICAgQGlmICghaXNCYXNpY01vZGUgfHwgaGFzUGFnZVNpemUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS1wYWdpbmF0b3JfX3BhZ2Utc2VsZWN0b3JcIj5cbiAgICAgICAgICAgIDxkaXY+e3sgJ2V1aS5ldWl0YWJsZS5JVEVNUy1QRVItUEFHRScgfCB0cmFuc2xhdGUgfX06PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXUtcGwteHMgZXVpLXUtcGItMnhzXCI+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBldWlTZWxlY3QgY2xhc3M9XCJwYWdlLXNpemVfX3NlbGVjdFwiIGFyaWEtbGFiZWw9XCJQYWdlIHNpemUgc2VsZWN0ZWRcIiBbKG5nTW9kZWwpXT1cInBhZ2VTaXplXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlUGFnZVNpemUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBwYWdlU2l6ZU9wdGlvbiBvZiBwYWdlU2l6ZU9wdGlvbnNcIiB2YWx1ZT1cInt7IHBhZ2VTaXplT3B0aW9uIH19XCI+e3sgcGFnZVNpemVPcHRpb24gfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmICgobGVuZ3RoJCB8IGFzeW5jKSA+IDApIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlLXJhbmdlLW1haW5cIj5cbiAgICAgICAgICAgICAgICB7eyAnZXVpLmV1aXRhYmxlLlNIT1dJTkctUkFOR0UnIHwgdHJhbnNsYXRlOiB7IHJhbmdlOiByYW5nZSB9IH19IHt7ICdldWkuZXVpdGFibGUuUkFOR0UtTEFCRUwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAge3sgcmFuZ2VMZW5ndGggfCBudW1iZXIgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgfVxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlLW5hdmlnYXRpb25cIj5cblxuICAgIEBpZiAoaXNCYXNpY01vZGUpIHtcblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXBhZ2luYXRvcl9fcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBldWlTaXplU1xuICAgICAgICAgICAgICAgIGV1aUJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgICAgIFtldWlEaXNhYmxlZF09XCJwYWdlID09PSAwIHx8IGxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvUHJldmlvdXNQYWdlKClcIj5cbiAgICAgICAgICAgICAgICA8IS0tIHRvIGJlIGNvbXBsaWFudCB3aXRoIERTIGFzIHBsYXktYmFjayBpcyBub3QgZXhpc3RpbmcgaW4gaW9uaWNvbnMgLS0+XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwicGxheTpzaGFycFwiIGZpbGxDb2xvcj1cInByaW1hcnlcIiB0cmFuc2Zvcm09XCJyb3RhdGUtMTgwXCIgYXJpYS1sYWJlbD1cIkdvIHRvIHByZXZpb3VzIHBhZ2VcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS1wYWdpbmF0b3JfX3BhZ2UtbmF2aWdhdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgZXVpU2l6ZVNcbiAgICAgICAgICAgICAgICBldWlCdXR0b25cbiAgICAgICAgICAgICAgICBldWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpQmFzaWNCdXR0b25cbiAgICAgICAgICAgICAgICBbZXVpRGlzYWJsZWRdPVwicGFnZSArIDEgPT09IG5iUGFnZSB8fCBsZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJnb05leHRQYWdlKClcIj5cbiAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJwbGF5OnNoYXJwXCIgZmlsbENvbG9yPVwicHJpbWFyeVwiIGFyaWEtbGFiZWw9XCJHbyB0byBuZXh0IHBhZ2VcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXBhZ2luYXRvcl9fcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBldWlTaXplU1xuICAgICAgICAgICAgICAgIGV1aUJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgICAgIFtldWlEaXNhYmxlZF09XCJwYWdlID09PSAwIHx8IGxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvRmlyc3RQYWdlKClcIj5cbiAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJwbGF5LXNraXAtYmFjazpzaGFycFwiIGZpbGxDb2xvcj1cInByaW1hcnlcIiBhcmlhLWxhYmVsPVwiR28gdG8gZmlyc3QgcGFnZVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXBhZ2luYXRvcl9fcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBldWlTaXplU1xuICAgICAgICAgICAgICAgIGV1aUJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgICAgIFtldWlEaXNhYmxlZF09XCJwYWdlID09PSAwIHx8IGxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvUHJldmlvdXNQYWdlKClcIj5cbiAgICAgICAgICAgICAgICA8IS0tIHRvIGJlIGNvbXBsaWFudCB3aXRoIERTIGFzIHBsYXktYmFjayBpcyBub3QgZXhpc3RpbmcgaW4gaW9uaWNvbnMgLS0+XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwicGxheTpzaGFycFwiIGZpbGxDb2xvcj1cInByaW1hcnlcIiB0cmFuc2Zvcm09XCJyb3RhdGUtMTgwXCIgYXJpYS1sYWJlbD1cIkdvIHRvIHByZXZpb3VzIHBhZ2VcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlLW5hdmlnYXRpb24tbnVtYmVyc1wiXG4gICAgICAgICAgICAqbmdJZj1cImhhc1BhZ2VOdW1iZXJOYXZpZ2F0aW9uXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgZXVpU2l6ZVNcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcGFnZU51bWJlciBvZiBwYWdlTnVtYmVyTmF2aWdhdGlvblwiXG4gICAgICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpQmFzaWNCdXR0b25cbiAgICAgICAgICAgICAgICBbZXVpUHJpbWFyeV09XCJwYWdlTnVtYmVyID09PSBwYWdlXCJcbiAgICAgICAgICAgICAgICBbZXVpT3V0bGluZV09XCJwYWdlTnVtYmVyID09PSBwYWdlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29Ub1BhZ2UocGFnZU51bWJlcilcIj5cbiAgICAgICAgICAgICAgICB7eyBwYWdlTnVtYmVyICsgMSB8IG51bWJlciB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiKGxlbmd0aCQgfCBhc3luYykgPiAwXCIgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlLXJhbmdlXCI+XG4gICAgICAgICAgICB7eyByYW5nZSB9fSB7eyAnZXVpLmV1aXRhYmxlLlJBTkdFLUxBQkVMJyB8IHRyYW5zbGF0ZSB9fSB7eyByYW5nZUxlbmd0aCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS1wYWdpbmF0b3JfX3BhZ2UtbmF2aWdhdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgZXVpU2l6ZVNcbiAgICAgICAgICAgICAgICBldWlCdXR0b25cbiAgICAgICAgICAgICAgICBldWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpQmFzaWNCdXR0b25cbiAgICAgICAgICAgICAgICBbZXVpRGlzYWJsZWRdPVwicGFnZSArIDEgPT09IG5iUGFnZSB8fCBsZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJnb05leHRQYWdlKClcIj5cbiAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJwbGF5OnNoYXJwXCIgZmlsbENvbG9yPVwicHJpbWFyeVwiIGFyaWEtbGFiZWw9XCJHbyB0byBuZXh0IHBhZ2VcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS1wYWdpbmF0b3JfX3BhZ2UtbmF2aWdhdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgZXVpU2l6ZVNcbiAgICAgICAgICAgICAgICBldWlCdXR0b25cbiAgICAgICAgICAgICAgICBldWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpQmFzaWNCdXR0b25cbiAgICAgICAgICAgICAgICBbZXVpRGlzYWJsZWRdPVwicGFnZSArIDEgPT09IG5iUGFnZSB8fCBsZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJnb0xhc3RQYWdlKClcIj5cbiAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJwbGF5LXNraXAtZm9yd2FyZDpzaGFycFwiIGZpbGxDb2xvcj1cInByaW1hcnlcIiBhcmlhLWxhYmVsPVwiR28gdG8gbGFzdCBwYWdlXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaXY+XG5cbiJdfQ==
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXBhZ2luYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktcGFnaW5hdG9yL2V1aS1wYWdpbmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXBhZ2luYXRvci9ldWktcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsS0FBSyxFQUVMLFlBQVksRUFDWixNQUFNLEVBR04sV0FBVyxFQUNYLGdCQUFnQixFQUNoQixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7O0FBUzlDLE1BQU0sT0FBTyxxQkFBcUI7SUFFOUIsSUFDSSxVQUFVO1FBQ1YsT0FBTztZQUNILGVBQWU7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUMvQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBdUJELFlBQ1csa0JBQXNDLEVBQ3JDLE9BQW9CO1FBRHJCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDckMsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQWhDTyxZQUFPLEdBQUcsZUFBZSxDQUFDO1FBUXhELG9CQUFlLEdBQWEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDakQsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLFNBQUksR0FBRyxDQUFDLENBQUM7UUFDVCxX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SUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVNLGNBQWM7UUFDakIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFTSxVQUFVO1FBQ2IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFTSxVQUFVO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxF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QTlELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsZ0JBQWdCO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFdBQVc7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTVCLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPdXRwdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFdWlBcHBTaGVsbFNlcnZpY2UgfSBmcm9tICdAZXVpL2NvcmUnO1xuXG5pbXBvcnQgeyBFdWlQYWdpbmF0aW9uRXZlbnQgfSBmcm9tICcuL21vZGVscy9wYWdpbmF0aW9uLWV2ZW50Lm1vZGVsJztcbmltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktcGFnaW5hdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpLXBhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtEZWNpbWFsUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIEV1aVBhZ2luYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWUyZScpIEBJbnB1dCgpIGUyZUF0dHIgPSAnZXVpLXBhZ2luYXRvcic7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdldWktcGFnaW5hdG9yJyxcbiAgICAgICAgICAgIHRoaXMuaXNIaWRkZW4gPyAnZXVpLXBhZ2luYXRvci0taGlkZGVuJyA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBbNSwgMTAsIDI1LCA1MCwgMTAwXTtcbiAgICBASW5wdXQoKSBwYWdlU2l6ZSA9IDEwO1xuICAgIEBJbnB1dCgpIHBhZ2UgPSAwO1xuICAgIEBJbnB1dCgpIGxlbmd0aCA9IDA7XG4gICAgQElucHV0KCkgbmJQYWdlTnVtYmVyTmF2aWdhdGlvbiA9IDU7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzSGlkZGVuID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzQmFzaWNNb2RlID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1BhZ2VOdW1iZXJOYXZpZ2F0aW9uID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0R5bmFtaWNMZW5ndGggPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzUGFnZVNpemUgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIHBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEV1aVBhZ2luYXRpb25FdmVudD4oKTtcblxuICAgIHB1YmxpYyBwYWdlJDogQmVoYXZpb3JTdWJqZWN0PEV1aVBhZ2luYXRpb25FdmVudD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICAgIHB1YmxpYyBsZW5ndGgkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoMCk7XG4gICAgcHVibGljIHJhbmdlOiBzdHJpbmc7XG4gICAgcHVibGljIHJhbmdlTGVuZ3RoOiBzdHJpbmc7XG4gICAgcHVibGljIG5iUGFnZTogbnVtYmVyO1xuXG4gICAgcHJpdmF0ZSBuYlBhZ2VOdW1iZXJOYXY6IG51bWJlcjtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgRXVpQXBwU2hlbGxTZXJ2aWNlOiBFdWlBcHBTaGVsbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGVjaW1hbDogRGVjaW1hbFBpcGUsXG4gICAgKSB7fVxuXG4gICAgbmdPbkNoYW5nZXMoYzogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoYyAmJiBjLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5sZW5ndGgkLm5leHQoYy5sZW5ndGguY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuZ2V0UmFuZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYyAmJiBjLnBhZ2UpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IGMucGFnZS5jdXJyZW50VmFsdWUsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgICAgICAgICAgdGhpcy5nZXRSYW5nZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjICYmIGMucGFnZVNpemUpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IGMucGFnZVNpemUuY3VycmVudFZhbHVlLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VQYWdlU2l6ZShjLnBhZ2VTaXplLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmdldFJhbmdlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmxlbmd0aCQubmV4dCh0aGlzLmxlbmd0aCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5iUGFnZU51bWJlck5hdiA9IHRoaXMubmJQYWdlTnVtYmVyTmF2aWdhdGlvbjtcblxuICAgICAgICB0aGlzLmxlbmd0aCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSgobGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxlbmd0aCA9IGxlbmd0aDtcbiAgICAgICAgICAgIHRoaXMubmJQYWdlID0gTWF0aC5jZWlsKHRoaXMubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZSk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaGFzRHluYW1pY0xlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMucGFnZSA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmdldFJhbmdlKCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm5iUGFnZSA8IHRoaXMubmJQYWdlTnVtYmVyTmF2aWdhdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMubmJQYWdlTnVtYmVyTmF2ID0gdGhpcy5uYlBhZ2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubmJQYWdlTnVtYmVyTmF2ID0gdGhpcy5uYlBhZ2VOdW1iZXJOYXZpZ2F0aW9uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnBhZ2UkLm5leHQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZ2V0IHBhZ2VOdW1iZXJOYXZpZ2F0aW9uKCk6IG51bWJlcltdIHtcbiAgICAgICAgY29uc3QgcGFnZXMgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm5iUGFnZTsgaSsrKSB7XG4gICAgICAgICAgICBwYWdlcy5wdXNoKGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVsdGEgPSBNYXRoLmZsb29yKHRoaXMubmJQYWdlTnVtYmVyTmF2IC8gMik7XG4gICAgICAgIGxldCBzdGFydCA9IDA7XG4gICAgICAgIGlmICh0aGlzLnBhZ2UgLSBkZWx0YSA+IDApIHtcbiAgICAgICAgICAgIHN0YXJ0ID0gdGhpcy5wYWdlIC0gZGVsdGE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGFydCA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5uYlBhZ2UgLSB0aGlzLnBhZ2UgPD0gdGhpcy5uYlBhZ2VOdW1iZXJOYXYgLSAoZGVsdGEgKyAxKSkge1xuICAgICAgICAgICAgc3RhcnQgPSB0aGlzLm5iUGFnZSAtIHRoaXMubmJQYWdlTnVtYmVyTmF2O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXJ0IDwgMCkge1xuICAgICAgICAgICAgc3RhcnQgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZW5kID0gc3RhcnQgKyB0aGlzLm5iUGFnZU51bWJlck5hdjtcbiAgICAgICAgcmV0dXJuIHBhZ2VzLnNsaWNlKHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGFuZ2VQYWdlU2l6ZShzaXplOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHBhcnNlSW50KHNpemUsIDEwKTtcbiAgICAgICAgdGhpcy5uYlBhZ2UgPSBNYXRoLmNlaWwodGhpcy5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKTtcbiAgICAgICAgdGhpcy5wYWdlID0gMDtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICAgICAgdGhpcy5nZXRSYW5nZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLm5iUGFnZSA8IHRoaXMubmJQYWdlTnVtYmVyTmF2aWdhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5uYlBhZ2VOdW1iZXJOYXYgPSB0aGlzLm5iUGFnZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmJQYWdlTnVtYmVyTmF2ID0gdGhpcy5uYlBhZ2VOdW1iZXJOYXZpZ2F0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnb1RvUGFnZShwYWdlOiBudW1iZXIsIG9wdGlvbnM/OiB7IGVtaXRFdmVudDogYm9vbGVhbiB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2U7XG4gICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0UmFuZ2UoKTtcblxuICAgICAgICBpZiAoIW9wdGlvbnMgfHwgb3B0aW9ucz8uZW1pdEV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ29GaXJzdFBhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZSA9IDA7XG4gICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0UmFuZ2UoKTtcbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnb1ByZXZpb3VzUGFnZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlLS07XG4gICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0UmFuZ2UoKTtcbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnb05leHRQYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2UrKztcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICAgICAgdGhpcy5nZXRSYW5nZSgpO1xuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdvTGFzdFBhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZSA9IHRoaXMubmJQYWdlIC0gMTtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICAgICAgdGhpcy5nZXRSYW5nZSgpO1xuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFBhZ2UocGFnZTogRXVpUGFnaW5hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZSQubmV4dChwYWdlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0TGVuZ3RoKGxlbmd0aDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGVuZ3RoJC5uZXh0KGxlbmd0aCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJhbmdlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmcm9tID0gdGhpcy5sZW5ndGggPiAwID8gdGhpcy5wYWdlICogdGhpcy5wYWdlU2l6ZSArIDEgOiAwO1xuICAgICAgICBjb25zdCBsaW1pdCA9IHRoaXMucGFnZSAqIHRoaXMucGFnZVNpemUgKyB0aGlzLnBhZ2VTaXplO1xuICAgICAgICBjb25zdCB0byA9IGxpbWl0IDw9IHRoaXMubGVuZ3RoID8gbGltaXQgOiB0aGlzLmxlbmd0aDtcbiAgICAgICAgdGhpcy5yYW5nZSA9IGZyb20gJiYgdG8gJiYgdGhpcy5sZW5ndGggPyB0aGlzLmRlY2ltYWwudHJhbnNmb3JtKGZyb20pICsgJ+KAkycgKyB0aGlzLmRlY2ltYWwudHJhbnNmb3JtKHRvKSA6ICcnO1xuICAgICAgICB0aGlzLnJhbmdlTGVuZ3RoID0gdGhpcy5sZW5ndGggPyB0aGlzLmxlbmd0aC50b1N0cmluZygpIDogJyc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBwYWdpbmF0aW9uIHRvIHRoZSBnaXZlbiBwYWdlIG51bWJlclxuICAgICAqXG4gICAgICogQHBhcmFtIHBhZ2UgMC1iYXNlZCBwYWdlIG51bWJlciB0byBiZSBkaXNwbGF5ZWRcbiAgICAgKi9cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgcGFnaW5hdGlvbiB0byB0aGUgZ2l2ZW4gcGFnZSBudW1iZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYWdlIDAtYmFzZWQgcGFnZSBudW1iZXIgdG8gYmUgZGlzcGxheWVkXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKiBgZW1pdEV2ZW50YDogV2hlbiB0cnVlIG9yIG5vdCBwcm92aWRlZCwgZXZlbnQgaXMgZW1pdHRlZC4gV2hlbiBmYWxzZSwgbm8gZXZlbnRzIGFyZSBlbWl0dGVkXG4gICAgICovXG4gICAgcHVibGljIGdldFBhZ2UocGFnZTogbnVtYmVyLCBvcHRpb25zPzogeyBlbWl0RXZlbnQ6IGJvb2xlYW4gfSk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ29Ub1BhZ2UocGFnZSwgb3B0aW9ucyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlXCI+XG4gICAgQGlmICghaXNCYXNpY01vZGUgfHwgaGFzUGFnZVNpemUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS1wYWdpbmF0b3JfX3BhZ2Utc2VsZWN0b3JcIj5cbiAgICAgICAgICAgIDxkaXY+e3sgJ2V1aS5ldWl0YWJsZS5JVEVNUy1QRVItUEFHRScgfCB0cmFuc2xhdGUgfX06PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXUtcGwteHMgZXVpLXUtcGItMnhzXCI+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBldWlTZWxlY3QgY2xhc3M9XCJwYWdlLXNpemVfX3NlbGVjdFwiIGFyaWEtbGFiZWw9XCJQYWdlIHNpemUgc2VsZWN0ZWRcIiBbKG5nTW9kZWwpXT1cInBhZ2VTaXplXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlUGFnZVNpemUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBwYWdlU2l6ZU9wdGlvbiBvZiBwYWdlU2l6ZU9wdGlvbnNcIiB2YWx1ZT1cInt7IHBhZ2VTaXplT3B0aW9uIH19XCI+e3sgcGFnZVNpemVPcHRpb24gfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmICgobGVuZ3RoJCB8IGFzeW5jKSA+IDApIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlLXJhbmdlLW1haW5cIj5cbiAgICAgICAgICAgICAgICB7eyAnZXVpLmV1aXRhYmxlLlNIT1dJTkctUkFOR0UnIHwgdHJhbnNsYXRlOiB7IHJhbmdlOiByYW5nZSB9IH19IHt7ICdldWkuZXVpdGFibGUuUkFOR0UtTEFCRUwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAge3sgcmFuZ2VMZW5ndGggfCBudW1iZXIgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgfVxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlLW5hdmlnYXRpb25cIj5cblxuICAgIEBpZiAoaXNCYXNpY01vZGUpIHtcblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXBhZ2luYXRvcl9fcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBldWlTaXplU1xuICAgICAgICAgICAgICAgIGV1aUJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgICAgIFtldWlEaXNhYmxlZF09XCJwYWdlID09PSAwIHx8IGxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvUHJldmlvdXNQYWdlKClcIj5cbiAgICAgICAgICAgICAgICA8IS0tIHRvIGJlIGNvbXBsaWFudCB3aXRoIERTIGFzIHBsYXktYmFjayBpcyBub3QgZXhpc3RpbmcgaW4gaW9uaWNvbnMgLS0+XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwicGxheTpzaGFycFwiIGZpbGxDb2xvcj1cInByaW1hcnlcIiB0cmFuc2Zvcm09XCJyb3RhdGUtMTgwXCIgYXJpYS1sYWJlbD1cIkdvIHRvIHByZXZpb3VzIHBhZ2VcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS1wYWdpbmF0b3JfX3BhZ2UtbmF2aWdhdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgZXVpU2l6ZVNcbiAgICAgICAgICAgICAgICBldWlCdXR0b25cbiAgICAgICAgICAgICAgICBldWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpQmFzaWNCdXR0b25cbiAgICAgICAgICAgICAgICBbZXVpRGlzYWJsZWRdPVwicGFnZSArIDEgPT09IG5iUGFnZSB8fCBsZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJnb05leHRQYWdlKClcIj5cbiAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJwbGF5OnNoYXJwXCIgZmlsbENvbG9yPVwicHJpbWFyeVwiIGFyaWEtbGFiZWw9XCJHbyB0byBuZXh0IHBhZ2VcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXBhZ2luYXRvcl9fcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBldWlTaXplU1xuICAgICAgICAgICAgICAgIGV1aUJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgICAgIFtldWlEaXNhYmxlZF09XCJwYWdlID09PSAwIHx8IGxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvRmlyc3RQYWdlKClcIj5cbiAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJwbGF5LXNraXAtYmFjazpzaGFycFwiIGZpbGxDb2xvcj1cInByaW1hcnlcIiBhcmlhLWxhYmVsPVwiR28gdG8gZmlyc3QgcGFnZVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXBhZ2luYXRvcl9fcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBldWlTaXplU1xuICAgICAgICAgICAgICAgIGV1aUJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgICAgIFtldWlEaXNhYmxlZF09XCJwYWdlID09PSAwIHx8IGxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvUHJldmlvdXNQYWdlKClcIj5cbiAgICAgICAgICAgICAgICA8IS0tIHRvIGJlIGNvbXBsaWFudCB3aXRoIERTIGFzIHBsYXktYmFjayBpcyBub3QgZXhpc3RpbmcgaW4gaW9uaWNvbnMgLS0+XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwicGxheTpzaGFycFwiIGZpbGxDb2xvcj1cInByaW1hcnlcIiB0cmFuc2Zvcm09XCJyb3RhdGUtMTgwXCIgYXJpYS1sYWJlbD1cIkdvIHRvIHByZXZpb3VzIHBhZ2VcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlLW5hdmlnYXRpb24tbnVtYmVyc1wiXG4gICAgICAgICAgICAqbmdJZj1cImhhc1BhZ2VOdW1iZXJOYXZpZ2F0aW9uXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgZXVpU2l6ZVNcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcGFnZU51bWJlciBvZiBwYWdlTnVtYmVyTmF2aWdhdGlvblwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cInBhZ2VOdW1iZXIgPT09IHBhZ2VcIlxuICAgICAgICAgICAgICAgIGV1aUJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUJhc2ljQnV0dG9uXG4gICAgICAgICAgICAgICAgW2V1aVByaW1hcnldPVwicGFnZU51bWJlciA9PT0gcGFnZVwiXG4gICAgICAgICAgICAgICAgW2V1aU91dGxpbmVdPVwicGFnZU51bWJlciA9PT0gcGFnZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9QYWdlKHBhZ2VOdW1iZXIpXCI+XG4gICAgICAgICAgICAgICAge3sgcGFnZU51bWJlciArIDEgfCBudW1iZXIgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIihsZW5ndGgkIHwgYXN5bmMpID4gMFwiIGNsYXNzPVwiZXVpLXBhZ2luYXRvcl9fcGFnZS1yYW5nZVwiPlxuICAgICAgICAgICAge3sgcmFuZ2UgfX0ge3sgJ2V1aS5ldWl0YWJsZS5SQU5HRS1MQUJFTCcgfCB0cmFuc2xhdGUgfX0ge3sgcmFuZ2VMZW5ndGggfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlLW5hdmlnYXRpb24taXRlbVwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGV1aVNpemVTXG4gICAgICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUJhc2ljQnV0dG9uXG4gICAgICAgICAgICAgICAgW2V1aURpc2FibGVkXT1cInBhZ2UgKyAxID09PSBuYlBhZ2UgfHwgbGVuZ3RoID09PSAwXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29OZXh0UGFnZSgpXCI+XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwicGxheTpzaGFycFwiIGZpbGxDb2xvcj1cInByaW1hcnlcIiBhcmlhLWxhYmVsPVwiR28gdG8gbmV4dCBwYWdlXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlLW5hdmlnYXRpb24taXRlbVwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGV1aVNpemVTXG4gICAgICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUJhc2ljQnV0dG9uXG4gICAgICAgICAgICAgICAgW2V1aURpc2FibGVkXT1cInBhZ2UgKyAxID09PSBuYlBhZ2UgfHwgbGVuZ3RoID09PSAwXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29MYXN0UGFnZSgpXCI+XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwicGxheS1za2lwLWZvcndhcmQ6c2hhcnBcIiBmaWxsQ29sb3I9XCJwcmltYXJ5XCIgYXJpYS1sYWJlbD1cIkdvIHRvIGxhc3QgcGFnZVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGl2PlxuXG4iXX0=
|