@eui/ecl 18.0.0-next.2 → 18.0.0-next.21
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/assets/i18n-ecl/bg.json +1 -1
- package/assets/i18n-ecl/cs.json +1 -1
- package/assets/i18n-ecl/da.json +1 -1
- package/assets/i18n-ecl/de.json +1 -1
- package/assets/i18n-ecl/el.json +1 -1
- package/assets/i18n-ecl/en.json +1 -1
- package/assets/i18n-ecl/es.json +1 -1
- package/assets/i18n-ecl/et.json +1 -1
- package/assets/i18n-ecl/fi.json +1 -1
- package/assets/i18n-ecl/fr.json +1 -1
- package/assets/i18n-ecl/ga.json +1 -1
- package/assets/i18n-ecl/hr.json +1 -1
- package/assets/i18n-ecl/hu.json +1 -1
- package/assets/i18n-ecl/it.json +1 -1
- package/assets/i18n-ecl/lt.json +1 -1
- package/assets/i18n-ecl/lv.json +1 -1
- package/assets/i18n-ecl/mt.json +1 -1
- package/assets/i18n-ecl/nl.json +1 -1
- package/assets/i18n-ecl/pl.json +1 -1
- package/assets/i18n-ecl/pt.json +1 -1
- package/assets/i18n-ecl/ro.json +1 -1
- package/assets/i18n-ecl/sk.json +1 -1
- package/assets/i18n-ecl/sl.json +1 -1
- package/assets/i18n-ecl/sv.json +1 -1
- package/docs/classes/{EclMessageCloseEvent.html → EclNotificationCloseEvent.html} +3 -3
- package/docs/components/EclAccordionComponent.html +2 -2
- package/docs/components/EclAccordionItemComponent.html +2 -2
- package/docs/components/EclAppComponent.html +2 -2
- package/docs/components/EclBannerComponent.html +2 -2
- package/docs/components/EclBlockquoteComponent.html +2 -2
- package/docs/components/EclBreadcrumbComponent.html +2 -2
- package/docs/components/EclBreadcrumbSegmentComponent.html +3 -3
- package/docs/components/EclButtonComponent.html +2 -2
- package/docs/components/EclCardBodyComponent.html +2 -2
- package/docs/components/EclCardComponent.html +2 -2
- package/docs/components/EclCarouselComponent.html +71 -26
- package/docs/components/EclCarouselItemComponent.html +2 -2
- package/docs/components/EclCategoryFilterComponent.html +2 -2
- package/docs/components/EclCategoryFilterItemComponent.html +2 -2
- package/docs/components/EclCategoryFilterListComponent.html +2 -2
- package/docs/components/EclCheckboxHelpComponent.html +2 -2
- package/docs/components/EclCheckboxLabelComponent.html +2 -2
- package/docs/components/EclContentBlockComponent.html +2 -2
- package/docs/components/EclContentItemComponent.html +2 -2
- package/docs/components/EclDateBlockComponent.html +2 -2
- package/docs/components/EclDescriptionListDefinitionComponent.html +2 -2
- package/docs/components/EclExpandableComponent.html +2 -2
- package/docs/components/EclFactFiguresComponent.html +2 -2
- package/docs/components/EclFactFiguresDescriptionComponent.html +2 -2
- package/docs/components/EclFactFiguresItemComponent.html +2 -2
- package/docs/components/EclFactFiguresTitleComponent.html +2 -2
- package/docs/components/EclFactFiguresValueComponent.html +2 -2
- package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
- package/docs/components/EclFeaturedComponent.html +7 -7
- package/docs/components/EclFeaturedItemComponent.html +3 -3
- package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
- package/docs/components/{EclListIllustrationImageComponent.html → EclFeaturedItemFooterComponent.html} +21 -193
- package/docs/components/EclFileComponent.html +80 -274
- package/docs/components/EclFileItemComponent.html +10 -253
- package/docs/components/EclFileItemsComponent.html +4 -4
- package/docs/components/EclFileTaxonomyComponent.html +2 -2
- package/docs/components/EclFormGroupComponent.html +2 -2
- package/docs/components/EclFormLabelComponent.html +2 -2
- package/docs/components/EclGalleryComponent.html +2 -2
- package/docs/components/EclGalleryFooterComponent.html +2 -2
- package/docs/components/EclGalleryItemComponent.html +2 -2
- package/docs/components/EclIconComponent.html +98 -34
- package/docs/components/EclInpageNavigationComponent.html +2 -2
- package/docs/components/EclInpageNavigationItemComponent.html +2 -2
- package/docs/components/EclListIllustrationComponent.html +4 -4
- package/docs/components/EclListIllustrationItemComponent.html +2 -2
- package/docs/components/{EclSpinnerComponent.html → EclLoadingIndicatorComponent.html} +13 -13
- package/docs/components/EclMediaContainerComponent.html +11 -161
- package/docs/components/EclMenuComponent.html +2 -2
- package/docs/components/EclMenuItemComponent.html +2 -2
- package/docs/components/EclMenuMegaComponent.html +2 -2
- package/docs/components/EclMenuMegaItemComponent.html +2 -2
- package/docs/components/EclModalBodyComponent.html +2 -2
- package/docs/components/EclModalComponent.html +2 -2
- package/docs/components/EclModalFooterComponent.html +2 -2
- package/docs/components/EclModalHeaderComponent.html +123 -3
- package/docs/components/EclMultiselectComponent.html +2 -2
- package/docs/components/EclMultiselectDropdownComponent.html +2 -2
- package/docs/components/EclMultiselectInputComponent.html +2 -2
- package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
- package/docs/components/EclMultiselectOptionComponent.html +2 -2
- package/docs/components/EclNavigationListComponent.html +2 -2
- package/docs/components/EclNavigationListImageComponent.html +2 -2
- package/docs/components/EclNavigationListItemComponent.html +2 -2
- package/docs/components/EclNewsTickerComponent.html +6 -8
- package/docs/components/EclNewsTickerItemComponent.html +2 -2
- package/docs/components/{EclMessageComponent.html → EclNotificationComponent.html} +103 -48
- package/docs/components/EclPageHeaderComponent.html +2 -2
- package/docs/components/EclPageHeaderDescriptionContainerComponent.html +2 -2
- package/docs/components/EclPaginationComponent.html +2 -2
- package/docs/components/EclPaginationItemComponent.html +2 -2
- package/docs/components/EclPopoverComponent.html +265 -77
- package/docs/components/EclRadioHelpComponent.html +2 -2
- package/docs/components/EclRadioLabelComponent.html +2 -2
- package/docs/components/EclRangeValueComponent.html +2 -2
- package/docs/components/EclRatingFieldComponent.html +2 -2
- package/docs/components/EclSearchFormComponent.html +2 -2
- package/docs/components/EclSelectContainerComponent.html +2 -2
- package/docs/components/EclSiteFooterComponent.html +2 -2
- package/docs/components/EclSiteFooterFixedContentECComponent.html +2 -2
- package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
- package/docs/components/EclSiteHeaderActionComponent.html +2 -2
- package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
- package/docs/components/EclSiteHeaderComponent.html +2 -2
- package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
- package/docs/components/EclSiteHeaderLanguageComponent.html +2 -2
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +2 -2
- package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
- package/docs/components/EclSiteHeaderMessageComponent.html +2 -2
- package/docs/components/EclSiteHeaderSearchComponent.html +2 -2
- package/docs/components/EclSocialMediaFollowComponent.html +3 -3
- package/docs/components/EclSocialMediaFollowItemComponent.html +28 -4
- package/docs/components/EclSocialMediaShareComponent.html +2 -2
- package/docs/components/EclSocialMediaShareItemComponent.html +2 -2
- package/docs/components/EclStickyContainerComponent.html +77 -4
- package/docs/components/EclTabComponent.html +2 -2
- package/docs/components/EclTabLabelComponent.html +2 -2
- package/docs/components/EclTabMoreComponent.html +2 -2
- package/docs/components/EclTableSortButtonComponent.html +72 -27
- package/docs/components/EclTabsComponent.html +2 -2
- package/docs/components/EclTagComponent.html +54 -7
- package/docs/components/EclTimelineComponent.html +2 -2
- package/docs/components/EclTimelineItemComponent.html +2 -2
- package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
- package/docs/dependencies.html +32 -50
- package/docs/directives/EclFeaturedItemFooterLinkDirective.html +492 -0
- package/docs/directives/{EclMessageTitleDirective.html → EclFeaturedItemFooterPictureDirective.html} +4 -4
- package/docs/directives/EclFileTitleDirective.html +511 -0
- package/docs/directives/EclFileTranslationDownloadDirective.html +492 -0
- package/docs/directives/EclLinkDirective.html +46 -61
- package/docs/directives/EclListIllustrationImageDirective.html +1 -1
- package/docs/directives/{EclSpinnerLabelDirective.html → EclLoadingIndicatorLabelDirective.html} +4 -4
- package/docs/directives/{EclPopoverItemDirective.html → EclLoadingIndicatorOverlayDirective.html} +4 -4
- package/docs/directives/EclMediaContainerItemDirective.html +0 -76
- package/docs/directives/{EclPopoverLinkDirective.html → EclNotificationTitleDirective.html} +4 -4
- package/docs/directives/EclTableDirective.html +1 -1
- package/docs/directives/EclTableHeaderDirective.html +32 -1
- package/docs/directives/{EclPopoverListDirective.html → EclTagSetDirective.html} +4 -4
- package/docs/index.html +2 -2
- package/docs/js/menu-wc.js +177 -136
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +40 -56
- package/docs/modules/EclAllModule.html +12 -12
- package/docs/modules/EclFeaturedModule.html +32 -8
- package/docs/modules/{EclMessageComponentModule.html → EclLoadingIndicatorComponentModule.html} +13 -7
- package/docs/modules/{EclSpinnerComponentModule.html → EclNotificationComponentModule.html} +7 -7
- package/docs/modules/EclTagComponentModule.html +6 -0
- package/docs/modules.html +18 -18
- package/esm2022/lib/components/ecl-accordion/ecl-accordion-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-accordion/ecl-accordion.component.mjs +4 -4
- package/esm2022/lib/components/ecl-accordion/ecl-accordion.module.mjs +4 -4
- package/esm2022/lib/components/ecl-app/ecl-app.component.mjs +4 -4
- package/esm2022/lib/components/ecl-app/ecl-app.module.mjs +4 -4
- package/esm2022/lib/components/ecl-banner/ecl-banner-credit.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-banner/ecl-banner-description.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-banner/ecl-banner-picture.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-banner/ecl-banner-title.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-banner/ecl-banner.component.mjs +4 -4
- package/esm2022/lib/components/ecl-banner/ecl-banner.module.mjs +4 -4
- package/esm2022/lib/components/ecl-base.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-blockquote/ecl-blockquote-picture.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.component.mjs +3 -3
- package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.module.mjs +4 -4
- package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.mjs +5 -5
- package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.mjs +4 -4
- package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.module.mjs +4 -4
- package/esm2022/lib/components/ecl-button/ecl-button-label.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-button/ecl-button.component.mjs +4 -4
- package/esm2022/lib/components/ecl-button/ecl-button.module.mjs +4 -4
- package/esm2022/lib/components/ecl-card/ecl-card-body.component.mjs +3 -3
- package/esm2022/lib/components/ecl-card/ecl-card-picture.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-card/ecl-card.component.mjs +4 -4
- package/esm2022/lib/components/ecl-card/ecl-card.module.mjs +4 -4
- package/esm2022/lib/components/ecl-carousel/ecl-carousel-item.component.mjs +3 -3
- package/esm2022/lib/components/ecl-carousel/ecl-carousel.component.mjs +4 -6
- package/esm2022/lib/components/ecl-carousel/ecl-carousel.module.mjs +4 -4
- package/esm2022/lib/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.mjs +4 -4
- package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.mjs +4 -4
- package/esm2022/lib/components/ecl-category-filter/ecl-category-filter.module.mjs +4 -4
- package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-help.component.mjs +3 -3
- package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-input.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-label.component.mjs +3 -3
- package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.module.mjs +4 -4
- package/esm2022/lib/components/ecl-content-block/ecl-content-block-elements.directive.mjs +51 -51
- package/esm2022/lib/components/ecl-content-block/ecl-content-block.component.mjs +3 -3
- package/esm2022/lib/components/ecl-content-block/ecl-content-block.module.mjs +4 -4
- package/esm2022/lib/components/ecl-content-item/ecl-content-item-image.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-content-item/ecl-content-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-content-item/ecl-content-item.module.mjs +4 -4
- package/esm2022/lib/components/ecl-date-block/ecl-date-block.component.mjs +4 -4
- package/esm2022/lib/components/ecl-date-block/ecl-date-block.module.mjs +4 -4
- package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.module.mjs +4 -4
- package/esm2022/lib/components/ecl-expandable/ecl-expandable.component.mjs +4 -4
- package/esm2022/lib/components/ecl-expandable/ecl-expandable.module.mjs +4 -4
- package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.mjs +4 -4
- package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.mjs +9 -9
- package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.mjs +4 -4
- package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.mjs +4 -4
- package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.mjs +8 -8
- package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.component.mjs +7 -7
- package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.module.mjs +5 -5
- package/esm2022/lib/components/ecl-featured/ecl-featured-item-description.component.mjs +3 -3
- package/esm2022/lib/components/ecl-featured/ecl-featured-item-footer.component.mjs +19 -0
- package/esm2022/lib/components/ecl-featured/ecl-featured-item-link.directive.mjs +37 -4
- package/esm2022/lib/components/ecl-featured/ecl-featured-item.component.mjs +5 -6
- package/esm2022/lib/components/ecl-featured/ecl-featured.component.mjs +11 -16
- package/esm2022/lib/components/ecl-featured/ecl-featured.module.mjs +18 -8
- package/esm2022/lib/components/ecl-featured/index.mjs +2 -1
- package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.module.mjs +4 -4
- package/esm2022/lib/components/ecl-file/ecl-file-download.directive.mjs +21 -4
- package/esm2022/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.mjs +7 -44
- package/esm2022/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.mjs +12 -20
- package/esm2022/lib/components/ecl-file/ecl-file-picture.directive.mjs +27 -8
- package/esm2022/lib/components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.mjs +3 -3
- package/esm2022/lib/components/ecl-file/ecl-file.component.mjs +22 -60
- package/esm2022/lib/components/ecl-file/ecl-file.module.mjs +13 -7
- package/esm2022/lib/components/ecl-file/index.mjs +1 -2
- package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.module.mjs +4 -4
- package/esm2022/lib/components/ecl-form-group/ecl-form-group.component.mjs +3 -3
- package/esm2022/lib/components/ecl-form-group/ecl-form-group.module.mjs +4 -4
- package/esm2022/lib/components/ecl-form-label/ecl-form-label.component.mjs +3 -3
- package/esm2022/lib/components/ecl-form-label/ecl-form-label.module.mjs +4 -4
- package/esm2022/lib/components/ecl-gallery/ecl-gallery-footer.component.mjs +3 -3
- package/esm2022/lib/components/ecl-gallery/ecl-gallery-item.component.mjs +3 -3
- package/esm2022/lib/components/ecl-gallery/ecl-gallery-media.directive.mjs +7 -7
- package/esm2022/lib/components/ecl-gallery/ecl-gallery.component.mjs +4 -4
- package/esm2022/lib/components/ecl-gallery/ecl-gallery.module.mjs +4 -4
- package/esm2022/lib/components/ecl-help-block/ecl-help-block.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-help-block/ecl-help-block.module.mjs +4 -4
- package/esm2022/lib/components/ecl-icon/ecl-icon.component.mjs +25 -42
- package/esm2022/lib/components/ecl-icon/ecl-icon.module.mjs +4 -4
- package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.mjs +3 -3
- package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.mjs +4 -4
- package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.module.mjs +4 -4
- package/esm2022/lib/components/ecl-label/ecl-label.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-label/ecl-label.module.mjs +4 -4
- package/esm2022/lib/components/ecl-link/ecl-link-label.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-link/ecl-link.directive.mjs +33 -67
- package/esm2022/lib/components/ecl-link/ecl-link.module.mjs +4 -4
- package/esm2022/lib/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.mjs +4 -4
- package/esm2022/lib/components/ecl-list/ecl-description-list-definition-item.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-list/ecl-list.directive.mjs +19 -19
- package/esm2022/lib/components/ecl-list/ecl-list.module.mjs +4 -4
- package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-icon.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-item.component.mjs +3 -3
- package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.mjs +10 -15
- package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.component.mjs +9 -17
- package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.module.mjs +5 -9
- package/esm2022/lib/components/ecl-list-illustration/index.mjs +1 -2
- package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.mjs +19 -0
- package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.mjs +20 -0
- package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.mjs +43 -0
- package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator.module.mjs +21 -0
- package/esm2022/lib/components/ecl-loading-indicator/index.mjs +5 -0
- package/esm2022/lib/components/ecl-media-container/ecl-media-container-iframe.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-media-container/ecl-media-container-item.directive.mjs +5 -16
- package/esm2022/lib/components/ecl-media-container/ecl-media-container-picture.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-media-container/ecl-media-container.component.mjs +9 -32
- package/esm2022/lib/components/ecl-media-container/ecl-media-container.module.mjs +4 -4
- package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu.component.mjs +4 -4
- package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.mjs +4 -4
- package/esm2022/lib/components/ecl-menu/ecl-menu.module.mjs +4 -4
- package/esm2022/lib/components/ecl-modal/ecl-modal-body-fixed.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-modal/ecl-modal-body.component.mjs +3 -3
- package/esm2022/lib/components/ecl-modal/ecl-modal-close.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-modal/ecl-modal-footer.component.mjs +4 -4
- package/esm2022/lib/components/ecl-modal/ecl-modal-header.component.mjs +21 -11
- package/esm2022/lib/components/ecl-modal/ecl-modal-trigger.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-modal/ecl-modal.component.mjs +4 -4
- package/esm2022/lib/components/ecl-modal/ecl-modal.module.mjs +4 -4
- package/esm2022/lib/components/ecl-multiselect/boldText.pipe.mjs +4 -4
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.mjs +4 -4
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.mjs +4 -4
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.mjs +3 -3
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.mjs +3 -3
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-option.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.component.mjs +4 -4
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.module.mjs +4 -4
- package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-image/ecl-navigation-list-image.component.mjs +3 -3
- package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-picture.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.component.mjs +3 -3
- package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.module.mjs +4 -4
- package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.component.mjs +14 -21
- package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.module.mjs +4 -4
- package/esm2022/lib/components/ecl-notification/ecl-notification-title.directive.mjs +20 -0
- package/esm2022/lib/components/ecl-notification/ecl-notification.component.mjs +82 -0
- package/esm2022/lib/components/ecl-notification/ecl-notification.module.mjs +23 -0
- package/esm2022/lib/components/ecl-notification/index.mjs +4 -0
- package/esm2022/lib/components/ecl-page-header/ecl-page-header-background.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.mjs +4 -4
- package/esm2022/lib/components/ecl-page-header/ecl-page-header-description.directive.mjs +9 -9
- package/esm2022/lib/components/ecl-page-header/ecl-page-header-meta.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-page-header/ecl-page-header-title.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-page-header/ecl-page-header.component.mjs +4 -4
- package/esm2022/lib/components/ecl-page-header/ecl-page-header.module.mjs +4 -4
- package/esm2022/lib/components/ecl-pagination/ecl-pagination-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-pagination/ecl-pagination.component.mjs +4 -4
- package/esm2022/lib/components/ecl-pagination/ecl-pagination.module.mjs +4 -4
- package/esm2022/lib/components/ecl-popover/ecl-popover-content.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-popover/ecl-popover-toggle.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-popover/ecl-popover.component.mjs +178 -37
- package/esm2022/lib/components/ecl-popover/ecl-popover.module.mjs +11 -20
- package/esm2022/lib/components/ecl-popover/index.mjs +1 -2
- package/esm2022/lib/components/ecl-radio/ecl-radio-help.component.mjs +3 -3
- package/esm2022/lib/components/ecl-radio/ecl-radio-input.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-radio/ecl-radio-label.component.mjs +3 -3
- package/esm2022/lib/components/ecl-radio/ecl-radio.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-radio/ecl-radio.module.mjs +4 -4
- package/esm2022/lib/components/ecl-range/ecl-range-value.component.mjs +3 -3
- package/esm2022/lib/components/ecl-range/ecl-range.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-range/ecl-range.module.mjs +4 -4
- package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.component.mjs +3 -3
- package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.module.mjs +4 -4
- package/esm2022/lib/components/ecl-search-form/ecl-search-form.component.mjs +3 -3
- package/esm2022/lib/components/ecl-search-form/ecl-search-form.module.mjs +4 -4
- package/esm2022/lib/components/ecl-select/ecl-select-container.component.mjs +3 -3
- package/esm2022/lib/components/ecl-select/ecl-select.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-select/ecl-select.module.mjs +4 -4
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.mjs +3 -3
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-column.directive.mjs +9 -9
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-description.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.mjs +15 -15
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.mjs +15 -15
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.mjs +4 -4
- package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.component.mjs +3 -3
- package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.module.mjs +4 -4
- package/esm2022/lib/components/ecl-site-header/action/ecl-site-header-action.component.mjs +3 -3
- package/esm2022/lib/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.mjs +3 -3
- package/esm2022/lib/components/ecl-site-header/cta/ecl-site-header-cta.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.mjs +4 -4
- package/esm2022/lib/components/ecl-site-header/ecl-site-header.component.mjs +4 -4
- package/esm2022/lib/components/ecl-site-header/ecl-site-header.module.mjs +4 -4
- package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.mjs +3 -3
- package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language.component.mjs +4 -4
- package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login-details.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login.component.mjs +4 -4
- package/esm2022/lib/components/ecl-site-header/message/ecl-site-header-message.component.mjs +3 -3
- package/esm2022/lib/components/ecl-site-header/search/ecl-site-header-search.component.mjs +3 -3
- package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.mjs +14 -10
- package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-link.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.mjs +7 -12
- package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.mjs +7 -6
- package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-link.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.component.mjs +3 -3
- package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.module.mjs +4 -4
- package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.component.mjs +43 -20
- package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.module.mjs +4 -4
- package/esm2022/lib/components/ecl-table/ecl-table-sort-button.component.mjs +10 -9
- package/esm2022/lib/components/ecl-table/ecl-table.directive.mjs +37 -36
- package/esm2022/lib/components/ecl-table/ecl-table.module.mjs +4 -4
- package/esm2022/lib/components/ecl-tabs/ecl-tab-label.component.mjs +3 -3
- package/esm2022/lib/components/ecl-tabs/ecl-tab-more.component.mjs +3 -3
- package/esm2022/lib/components/ecl-tabs/ecl-tab.component.mjs +4 -4
- package/esm2022/lib/components/ecl-tabs/ecl-tabs.component.mjs +4 -4
- package/esm2022/lib/components/ecl-tabs/ecl-tabs.module.mjs +4 -4
- package/esm2022/lib/components/ecl-tag/ecl-tag-set.directive.mjs +20 -0
- package/esm2022/lib/components/ecl-tag/ecl-tag.component.mjs +18 -10
- package/esm2022/lib/components/ecl-tag/ecl-tag.module.mjs +9 -8
- package/esm2022/lib/components/ecl-tag/index.mjs +2 -1
- package/esm2022/lib/components/ecl-text-area/ecl-text-area.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-text-area/ecl-text-area.module.mjs +4 -4
- package/esm2022/lib/components/ecl-text-input/ecl-text-input.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-text-input/ecl-text-input.module.mjs +4 -4
- package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-label.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-title.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-toggler.component.mjs +3 -3
- package/esm2022/lib/components/ecl-timeline/ecl-timeline-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-timeline/ecl-timeline.component.mjs +4 -4
- package/esm2022/lib/components/ecl-timeline/ecl-timeline.module.mjs +4 -4
- package/esm2022/lib/components/index.mjs +3 -3
- package/esm2022/lib/model/ecl-dom.event.mjs +1 -1
- package/esm2022/lib/services/ecl-default-language.service.mjs +4 -4
- package/esm2022/lib/services/ecl-rtl.service.mjs +4 -4
- package/esm2022/lib/services/ecl-theme.service.mjs +4 -4
- package/esm2022/lib/shared/ecl-all.module.mjs +15 -15
- package/esm2022/lib/utils/directives/ecl-click-outside/ecl-click-outside.directive.mjs +4 -4
- package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.directive.mjs +3 -3
- package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.module.mjs +4 -4
- package/esm2022/lib/utils/dom/dom-helpers.mjs +1 -1
- package/fesm2022/eui-ecl.mjs +5342 -5372
- package/fesm2022/eui-ecl.mjs.map +4 -4
- package/lib/components/ecl-accordion/ecl-accordion-item.component.d.ts.map +1 -1
- package/lib/components/ecl-banner/ecl-banner.component.d.ts.map +1 -1
- package/lib/components/ecl-base.directive.d.ts.map +1 -1
- package/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts.map +1 -1
- package/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts.map +1 -1
- package/lib/components/ecl-button/ecl-button.component.d.ts.map +1 -1
- package/lib/components/ecl-carousel/ecl-carousel-item.component.d.ts.map +1 -1
- package/lib/components/ecl-carousel/ecl-carousel.component.d.ts +2 -2
- package/lib/components/ecl-carousel/ecl-carousel.component.d.ts.map +1 -1
- package/lib/components/ecl-expandable/ecl-expandable.component.d.ts.map +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.d.ts.map +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.d.ts +2 -2
- package/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.d.ts.map +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.d.ts.map +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.d.ts.map +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.d.ts +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.d.ts.map +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures.component.d.ts +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures.component.d.ts.map +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures.module.d.ts.map +1 -1
- package/lib/components/ecl-featured/ecl-featured-item-footer.component.d.ts +8 -0
- package/lib/components/ecl-featured/ecl-featured-item-footer.component.d.ts.map +1 -0
- package/lib/components/ecl-featured/ecl-featured-item-link.directive.d.ts +10 -0
- package/lib/components/ecl-featured/ecl-featured-item-link.directive.d.ts.map +1 -1
- package/lib/components/ecl-featured/ecl-featured.component.d.ts +3 -2
- package/lib/components/ecl-featured/ecl-featured.component.d.ts.map +1 -1
- package/lib/components/ecl-featured/ecl-featured.module.d.ts +5 -4
- package/lib/components/ecl-featured/ecl-featured.module.d.ts.map +1 -1
- package/lib/components/ecl-featured/index.d.ts +1 -0
- package/lib/components/ecl-featured/index.d.ts.map +1 -1
- package/lib/components/ecl-file/ecl-file-download.directive.d.ts +5 -0
- package/lib/components/ecl-file/ecl-file-download.directive.d.ts.map +1 -1
- package/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts +4 -15
- package/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts.map +1 -1
- package/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts +3 -2
- package/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts.map +1 -1
- package/lib/components/ecl-file/ecl-file-picture.directive.d.ts +6 -0
- package/lib/components/ecl-file/ecl-file-picture.directive.d.ts.map +1 -1
- package/lib/components/ecl-file/ecl-file.component.d.ts +9 -22
- package/lib/components/ecl-file/ecl-file.component.d.ts.map +1 -1
- package/lib/components/ecl-file/ecl-file.module.d.ts +1 -1
- package/lib/components/ecl-file/ecl-file.module.d.ts.map +1 -1
- package/lib/components/ecl-file/index.d.ts +0 -1
- package/lib/components/ecl-file/index.d.ts.map +1 -1
- package/lib/components/ecl-icon/ecl-icon.component.d.ts +11 -10
- package/lib/components/ecl-icon/ecl-icon.component.d.ts.map +1 -1
- package/lib/components/ecl-link/ecl-link-label.directive.d.ts.map +1 -1
- package/lib/components/ecl-link/ecl-link.directive.d.ts +11 -10
- package/lib/components/ecl-link/ecl-link.directive.d.ts.map +1 -1
- package/lib/components/ecl-list/ecl-list.directive.d.ts.map +1 -1
- package/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts +2 -1
- package/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts.map +1 -1
- package/lib/components/ecl-list-illustration/ecl-list-illustration.component.d.ts +4 -2
- package/lib/components/ecl-list-illustration/ecl-list-illustration.component.d.ts.map +1 -1
- package/lib/components/ecl-list-illustration/ecl-list-illustration.module.d.ts +6 -7
- package/lib/components/ecl-list-illustration/ecl-list-illustration.module.d.ts.map +1 -1
- package/lib/components/ecl-list-illustration/index.d.ts +0 -1
- package/lib/components/ecl-list-illustration/index.d.ts.map +1 -1
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.d.ts +7 -0
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.d.ts.map +1 -0
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.d.ts +8 -0
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.d.ts.map +1 -0
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.d.ts +14 -0
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.d.ts.map +1 -0
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator.module.d.ts +12 -0
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator.module.d.ts.map +1 -0
- package/lib/components/ecl-loading-indicator/index.d.ts +5 -0
- package/lib/components/ecl-loading-indicator/index.d.ts.map +1 -0
- package/lib/components/ecl-media-container/ecl-media-container-item.directive.d.ts +1 -8
- package/lib/components/ecl-media-container/ecl-media-container-item.directive.d.ts.map +1 -1
- package/lib/components/ecl-media-container/ecl-media-container.component.d.ts +2 -23
- package/lib/components/ecl-media-container/ecl-media-container.component.d.ts.map +1 -1
- package/lib/components/ecl-modal/ecl-modal-body.component.d.ts.map +1 -1
- package/lib/components/ecl-modal/ecl-modal-header.component.d.ts +4 -0
- package/lib/components/ecl-modal/ecl-modal-header.component.d.ts.map +1 -1
- package/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts +4 -4
- package/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts.map +1 -1
- package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts +4 -3
- package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts.map +1 -1
- package/lib/components/ecl-notification/ecl-notification-title.directive.d.ts +8 -0
- package/lib/components/ecl-notification/ecl-notification-title.directive.d.ts.map +1 -0
- package/lib/components/ecl-notification/ecl-notification.component.d.ts +26 -0
- package/lib/components/ecl-notification/ecl-notification.component.d.ts.map +1 -0
- package/lib/components/ecl-notification/ecl-notification.module.d.ts +14 -0
- package/lib/components/ecl-notification/ecl-notification.module.d.ts.map +1 -0
- package/lib/components/ecl-notification/index.d.ts +4 -0
- package/lib/components/ecl-notification/index.d.ts.map +1 -0
- package/lib/components/ecl-popover/ecl-popover.component.d.ts +29 -6
- package/lib/components/ecl-popover/ecl-popover.component.d.ts.map +1 -1
- package/lib/components/ecl-popover/ecl-popover.module.d.ts +5 -5
- package/lib/components/ecl-popover/ecl-popover.module.d.ts.map +1 -1
- package/lib/components/ecl-popover/index.d.ts +0 -1
- package/lib/components/ecl-popover/index.d.ts.map +1 -1
- package/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.d.ts +2 -1
- package/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.d.ts.map +1 -1
- package/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.d.ts +2 -1
- package/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.d.ts.map +1 -1
- package/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.d.ts +4 -3
- package/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.d.ts.map +1 -1
- package/lib/components/ecl-sticky-container/ecl-sticky-container.component.d.ts +14 -2
- package/lib/components/ecl-sticky-container/ecl-sticky-container.component.d.ts.map +1 -1
- package/lib/components/ecl-table/ecl-table-sort-button.component.d.ts +2 -2
- package/lib/components/ecl-table/ecl-table-sort-button.component.d.ts.map +1 -1
- package/lib/components/ecl-table/ecl-table.directive.d.ts +7 -4
- package/lib/components/ecl-table/ecl-table.directive.d.ts.map +1 -1
- package/lib/components/ecl-tag/ecl-tag-set.directive.d.ts +8 -0
- package/lib/components/ecl-tag/ecl-tag-set.directive.d.ts.map +1 -0
- package/lib/components/ecl-tag/ecl-tag.component.d.ts +6 -7
- package/lib/components/ecl-tag/ecl-tag.component.d.ts.map +1 -1
- package/lib/components/ecl-tag/ecl-tag.module.d.ts +4 -3
- package/lib/components/ecl-tag/ecl-tag.module.d.ts.map +1 -1
- package/lib/components/ecl-tag/index.d.ts +1 -0
- package/lib/components/ecl-tag/index.d.ts.map +1 -1
- package/lib/components/index.d.ts +2 -2
- package/lib/components/index.d.ts.map +1 -1
- package/lib/services/ecl-default-language.service.d.ts +2 -1
- package/lib/services/ecl-default-language.service.d.ts.map +1 -1
- package/lib/services/ecl-theme.service.d.ts +1 -1
- package/lib/services/ecl-theme.service.d.ts.map +1 -1
- package/lib/shared/ecl-all.module.d.ts +20 -20
- package/package.json +1 -1
- package/docs/classes/EclFileDownloadEvent.html +0 -367
- package/esm2022/lib/components/ecl-file/ecl-file-item/ecl-file-download.event.mjs +0 -8
- package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.mjs +0 -53
- package/esm2022/lib/components/ecl-message/ecl-message-title.directive.mjs +0 -20
- package/esm2022/lib/components/ecl-message/ecl-message.component.mjs +0 -88
- package/esm2022/lib/components/ecl-message/ecl-message.module.mjs +0 -22
- package/esm2022/lib/components/ecl-message/index.mjs +0 -4
- package/esm2022/lib/components/ecl-popover/ecl-popover-list.directive.mjs +0 -52
- package/esm2022/lib/components/ecl-spinner/ecl-spinner-label.directive.mjs +0 -19
- package/esm2022/lib/components/ecl-spinner/ecl-spinner.component.mjs +0 -51
- package/esm2022/lib/components/ecl-spinner/ecl-spinner.module.mjs +0 -20
- package/esm2022/lib/components/ecl-spinner/index.mjs +0 -4
- package/lib/components/ecl-file/ecl-file-item/ecl-file-download.event.d.ts +0 -6
- package/lib/components/ecl-file/ecl-file-item/ecl-file-download.event.d.ts.map +0 -1
- package/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.d.ts +0 -17
- package/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.d.ts.map +0 -1
- package/lib/components/ecl-message/ecl-message-title.directive.d.ts +0 -8
- package/lib/components/ecl-message/ecl-message-title.directive.d.ts.map +0 -1
- package/lib/components/ecl-message/ecl-message.component.d.ts +0 -21
- package/lib/components/ecl-message/ecl-message.component.d.ts.map +0 -1
- package/lib/components/ecl-message/ecl-message.module.d.ts +0 -13
- package/lib/components/ecl-message/ecl-message.module.d.ts.map +0 -1
- package/lib/components/ecl-message/index.d.ts +0 -4
- package/lib/components/ecl-message/index.d.ts.map +0 -1
- package/lib/components/ecl-popover/ecl-popover-list.directive.d.ts +0 -18
- package/lib/components/ecl-popover/ecl-popover-list.directive.d.ts.map +0 -1
- package/lib/components/ecl-spinner/ecl-spinner-label.directive.d.ts +0 -7
- package/lib/components/ecl-spinner/ecl-spinner-label.directive.d.ts.map +0 -1
- package/lib/components/ecl-spinner/ecl-spinner.component.d.ts +0 -12
- package/lib/components/ecl-spinner/ecl-spinner.component.d.ts.map +0 -1
- package/lib/components/ecl-spinner/ecl-spinner.module.d.ts +0 -11
- package/lib/components/ecl-spinner/ecl-spinner.module.d.ts.map +0 -1
- package/lib/components/ecl-spinner/index.d.ts +0 -4
- package/lib/components/ecl-spinner/index.d.ts.map +0 -1
|
@@ -493,10 +493,10 @@ export class EclCarouselComponent extends ECLBaseDirective {
|
|
|
493
493
|
this.lastHiddenItem.el.nativeElement.innerHTML = this.getFirstContentChild();
|
|
494
494
|
}
|
|
495
495
|
}
|
|
496
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
497
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-next.
|
|
496
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCarouselComponent, deps: [{ token: i1.BreakpointObserver }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i2.EclRtlService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
497
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-next.3", type: EclCarouselComponent, selector: "ecl-carousel", inputs: { ariaLabel: ["aria-label", "ariaLabel"], isAutoplay: ["isAutoplay", "isAutoplay", booleanAttribute], playInterval: ["playInterval", "playInterval", numberAttribute] }, outputs: { slide: "slide" }, host: { properties: { "attr.aria-label": "this.ariaLabel", "attr.aria-roledescription": "this.ariaRoleDescription", "class": "this.cssClasses" } }, queries: [{ propertyName: "slides", predicate: i0.forwardRef(() => EclCarouselItemComponent) }], viewQueries: [{ propertyName: "carouselContainerElement", first: true, predicate: ["carouselContainer"], descendants: true }, { propertyName: "playButton", first: true, predicate: ["playButton"], descendants: true }, { propertyName: "pauseButton", first: true, predicate: ["pauseButton"], descendants: true }, { propertyName: "prevButton", first: true, predicate: ["prevButton"], descendants: true }, { propertyName: "nextButton", first: true, predicate: ["nextButton"], descendants: true }, { propertyName: "firstHiddenItem", first: true, predicate: ["firstHiddenItem"], descendants: true }, { propertyName: "lastHiddenItem", first: true, predicate: ["lastHiddenItem"], descendants: true }, { propertyName: "slidesContainer", first: true, predicate: ["slidesContainer"], descendants: true }, { propertyName: "navigationButtons", predicate: ["currButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #carouselContainer class=\"ecl-carousel__container\" [class.ecl-carousel-container--padded]=\"isPadded()\">\n <div #slidesContainer (keyup)=\"onFirstCarouselElementPress($event)\" class=\"ecl-carousel__slides\"\n [style.width.px]=\"getCarouselSlidesWidth()\" [style.left.px]=\"!isRtl ? getCarouselSlidesOffsetLeft() : null\"\n [style.right.px]=\"isRtl ? getCarouselSlidesOffsetRight() : null\"\n [style.transition-duration.s]=\"transitionDuration\" (mouseover)=\"onSlideHover()\" (mouseout)=\"onSlideHoverout()\">\n\n @if(hasControls()){\n <ecl-carousel-item #firstHiddenItem [style.width.%]=\"slideWidth\"></ecl-carousel-item>\n }\n <ng-content></ng-content>\n\n @if(hasControls()){\n <ecl-carousel-item #lastHiddenItem [style.width.%]=\"slideWidth\"></ecl-carousel-item>\n }\n\n </div>\n</div>\n@if(isButtonNavVisible) {\n<button #prevButton class=\"ecl-button ecl-button--ghost ecl-carousel__prev ecl-button--icon-only\" type=\"button\"\n (click)=\"onPreviousSlideClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.NEXT-SLIDES' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\" class=\"ecl-button__icon\"> </ecl-icon>\n </span>\n</button>\n}\n\n@if(hasControls()){\n<div class=\"ecl-carousel__controls\">\n <div class=\"ecl-container\">\n <div class=\"ecl-carousel__autoplay\">\n <button #playButton class=\"ecl-button ecl-button--ghost ecl-carousel__play ecl-button--icon-only\"\n type=\"button\" [style.display]=\"isPlaying ? 'none' : 'flex'\" (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPlayClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.PLAY' | translate }}\n </span>\n <ecl-icon icon=\"play-outline\" size=\"m\" class=\"ecl-button__icon ecl-carousel__icon-default\">\n </ecl-icon>\n </span>\n\n </button>\n\n <button #pauseButton class=\"ecl-button ecl-button--ghost ecl-carousel__pause ecl-button--icon-only\"\n type=\"button\" [style.display]=\"isPlaying ? 'flex' : 'none'\" (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPauseClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.PAUSE' | translate }}\n </span>\n <ecl-icon icon=\"pause\" size=\"m\" class=\"ecl-button__icon ecl-carousel__icon-default\"> </ecl-icon>\n </span>\n\n </button>\n </div>\n\n <div class=\"ecl-carousel__navigation\">\n @for (slide of slides; let i = $index; track slide) {\n <button #currButton [attr.aria-current]=\"i === getCurrentSlideIndex()\"\n class=\"ecl-button ecl-button--ghost ecl-carousel__navigation-item\" (click)=\"onSlideControlClick(slide)\"\n (keydown)=\"onNavBtnKeyboardPress($event, i)\">\n {{ i + 1 }}\n </button>\n }\n </div>\n </div>\n</div>\n}\n@if(isButtonNavVisible) {\n<button #nextButton class=\"ecl-button ecl-button--ghost ecl-carousel__next ecl-button--icon-only\" type=\"button\"\n (click)=\"onNextSlideClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.NEXT-SLIDES' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\" class=\"ecl-button__icon\"> </ecl-icon>\n </span>\n\n</button>\n}", styles: [":host{display:block}.ecl-carousel__container{width:100%}.ecl-carousel__slides{transition-duration:.4s}\n"], dependencies: [{ kind: "component", type: i3.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "ariaHidden", "focusable"] }, { kind: "component", type: i4.EclCarouselItemComponent, selector: "ecl-carousel-item", inputs: ["id", "isCurrent"], outputs: ["slideClick"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
|
|
498
498
|
}
|
|
499
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
499
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCarouselComponent, decorators: [{
|
|
500
500
|
type: Component,
|
|
501
501
|
args: [{ selector: 'ecl-carousel', template: "<div #carouselContainer class=\"ecl-carousel__container\" [class.ecl-carousel-container--padded]=\"isPadded()\">\n <div #slidesContainer (keyup)=\"onFirstCarouselElementPress($event)\" class=\"ecl-carousel__slides\"\n [style.width.px]=\"getCarouselSlidesWidth()\" [style.left.px]=\"!isRtl ? getCarouselSlidesOffsetLeft() : null\"\n [style.right.px]=\"isRtl ? getCarouselSlidesOffsetRight() : null\"\n [style.transition-duration.s]=\"transitionDuration\" (mouseover)=\"onSlideHover()\" (mouseout)=\"onSlideHoverout()\">\n\n @if(hasControls()){\n <ecl-carousel-item #firstHiddenItem [style.width.%]=\"slideWidth\"></ecl-carousel-item>\n }\n <ng-content></ng-content>\n\n @if(hasControls()){\n <ecl-carousel-item #lastHiddenItem [style.width.%]=\"slideWidth\"></ecl-carousel-item>\n }\n\n </div>\n</div>\n@if(isButtonNavVisible) {\n<button #prevButton class=\"ecl-button ecl-button--ghost ecl-carousel__prev ecl-button--icon-only\" type=\"button\"\n (click)=\"onPreviousSlideClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.NEXT-SLIDES' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\" class=\"ecl-button__icon\"> </ecl-icon>\n </span>\n</button>\n}\n\n@if(hasControls()){\n<div class=\"ecl-carousel__controls\">\n <div class=\"ecl-container\">\n <div class=\"ecl-carousel__autoplay\">\n <button #playButton class=\"ecl-button ecl-button--ghost ecl-carousel__play ecl-button--icon-only\"\n type=\"button\" [style.display]=\"isPlaying ? 'none' : 'flex'\" (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPlayClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.PLAY' | translate }}\n </span>\n <ecl-icon icon=\"play-outline\" size=\"m\" class=\"ecl-button__icon ecl-carousel__icon-default\">\n </ecl-icon>\n </span>\n\n </button>\n\n <button #pauseButton class=\"ecl-button ecl-button--ghost ecl-carousel__pause ecl-button--icon-only\"\n type=\"button\" [style.display]=\"isPlaying ? 'flex' : 'none'\" (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPauseClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.PAUSE' | translate }}\n </span>\n <ecl-icon icon=\"pause\" size=\"m\" class=\"ecl-button__icon ecl-carousel__icon-default\"> </ecl-icon>\n </span>\n\n </button>\n </div>\n\n <div class=\"ecl-carousel__navigation\">\n @for (slide of slides; let i = $index; track slide) {\n <button #currButton [attr.aria-current]=\"i === getCurrentSlideIndex()\"\n class=\"ecl-button ecl-button--ghost ecl-carousel__navigation-item\" (click)=\"onSlideControlClick(slide)\"\n (keydown)=\"onNavBtnKeyboardPress($event, i)\">\n {{ i + 1 }}\n </button>\n }\n </div>\n </div>\n</div>\n}\n@if(isButtonNavVisible) {\n<button #nextButton class=\"ecl-button ecl-button--ghost ecl-carousel__next ecl-button--icon-only\" type=\"button\"\n (click)=\"onNextSlideClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.NEXT-SLIDES' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\" class=\"ecl-button__icon\"> </ecl-icon>\n </span>\n\n</button>\n}", styles: [":host{display:block}.ecl-carousel__container{width:100%}.ecl-carousel__slides{transition-duration:.4s}\n"] }]
|
|
502
502
|
}], ctorParameters: () => [{ type: i1.BreakpointObserver }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i2.EclRtlService }], propDecorators: { ariaLabel: [{
|
|
@@ -508,8 +508,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
|
|
|
508
508
|
}], ariaRoleDescription: [{
|
|
509
509
|
type: HostBinding,
|
|
510
510
|
args: ['attr.aria-roledescription']
|
|
511
|
-
}, {
|
|
512
|
-
type: Input
|
|
513
511
|
}], isAutoplay: [{
|
|
514
512
|
type: Input,
|
|
515
513
|
args: [{ transform: booleanAttribute }]
|
|
@@ -552,4 +550,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
|
|
|
552
550
|
type: HostBinding,
|
|
553
551
|
args: ['class']
|
|
554
552
|
}] } });
|
|
555
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWNhcm91c2VsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtY2Fyb3VzZWwvZWNsLWNhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtY2Fyb3VzZWwvZWNsLWNhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFJSCxTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLE1BQU0sRUFHTixTQUFTLEVBQ1QsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBc0JyRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZ0JBQWdCO0lBc0N0RCxZQUNZLHFCQUF5QyxFQUN6QyxFQUFxQixFQUNyQixTQUFvQixFQUNwQixhQUE0QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxBLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBb0I7UUFDekMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXhDYSxjQUFTLEdBQWtCLDJCQUEyQixDQUFDO1FB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RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFDM0IsS0FBSztzQkFBZCxNQUFNO2dCQUV5Qix3QkFBd0I7c0JBQXZELFNBQVM7dUJBQUMsbUJBQW1CO2dCQUMrQixNQUFNO3NCQUFsRSxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztnQkFDL0IsaUJBQWlCO3NCQUE1QyxZQUFZO3VCQUFDLFlBQVk7Z0JBQ0QsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNHLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFDQyxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ0UsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNPLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNDLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUNHLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQThCeEIsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgZm9yd2FyZFJlZixcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlRWxlbWVudCB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBpbnRlcnZhbCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVjbFJ0bFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lY2wtcnRsLnNlcnZpY2UnO1xuaW1wb3J0IHsgS2V5Q29kZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsQ2Fyb3VzZWxJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9lY2wtY2Fyb3VzZWwtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWNsU2xpZGVFdmVudCB9IGZyb20gJy4vZWNsLWNhcm91c2VsLmV2ZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtY2Fyb3VzZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qIFRPRE86IHJlbW92ZSBieSBpbXBsZW1lbnRpbmcgZnVsbCBFQ0wgc3BlY3MgKi9cbiAgICAgICAgICAgIC5lY2wtY2Fyb3VzZWxfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5lY2wtY2Fyb3VzZWxfX3NsaWRlcyB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xDYXJvdXNlbENvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpIEBJbnB1dCgnYXJpYS1sYWJlbCcpIGFyaWFMYWJlbDogc3RyaW5nIHwgbnVsbCA9ICdDYXJvdXNlbCBkZXNjcmlwdGlvbiBoZXJlJztcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1yb2xlZGVzY3JpcHRpb24nKSBASW5wdXQoKSBhcmlhUm9sZURlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsID0gJ2Nhcm91c2VsJztcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0F1dG9wbGF5ID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBwbGF5SW50ZXJ2YWwgPSA1MDAwO1xuICAgIEBPdXRwdXQoKSBzbGlkZSA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsU2xpZGVFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2Nhcm91c2VsQ29udGFpbmVyJykgY2Fyb3VzZWxDb250YWluZXJFbGVtZW50OiBFbGVtZW50UmVmO1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBFY2xDYXJvdXNlbEl0ZW1Db21wb25lbnQpKSBzbGlkZXM6IFF1ZXJ5TGlzdDxFY2xDYXJvdXNlbEl0ZW1Db21wb25lbnQ+O1xuICAgIEBWaWV3Q2hpbGRyZW4oJ2N1cnJCdXR0b24nKSBuYXZpZ2F0aW9uQnV0dG9uczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuICAgIEBWaWV3Q2hpbGQoJ3BsYXlCdXR0b24nKSBwbGF5QnV0dG9uOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3BhdXNlQnV0dG9uJykgcGF1c2VCdXR0b246IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgncHJldkJ1dHRvbicpIHByZXZCdXR0b246IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnbmV4dEJ1dHRvbicpIG5leHRCdXR0b246IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnZmlyc3RIaWRkZW5JdGVtJykgZmlyc3RIaWRkZW5JdGVtOiBFY2xDYXJvdXNlbEl0ZW1Db21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgnbGFzdEhpZGRlbkl0ZW0nKSBsYXN0SGlkZGVuSXRlbTogRWNsQ2Fyb3VzZWxJdGVtQ29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ3NsaWRlc0NvbnRhaW5lcicpIHNsaWRlc0NvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICAgIHB1YmxpYyBpc0J1dHRvbk5hdlZpc2libGU9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1BsYXlpbmcgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNQYXVzZWRGb3JjZWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNSdGwgPSBmYWxzZTtcbiAgICBzbGlkZVdpZHRoOiBudW1iZXI7XG4gICAgdHJhbnNpdGlvbkR1cmF0aW9uID0gMC40O1xuXG4gICAgcHJpdmF0ZSBpc1RhYmxldEJyZWFrcG9pbnQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGlzRGVza3RvcEJyZWFrcG9pbnQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGlzTGFyZ2VEZXNrdG9wQnJlYWtwb2ludCA9IGZhbHNlO1xuICAgIHByaXZhdGUgaXNNb2JpbGVCcmVha3BvaW50ID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBwbGF5U3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBzdG9wU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlTGlzdGVuZXI6ICgpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBUSU1FT1VUX0lOVEVSVkFMID0gNDAwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY2RrQnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyMjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGVjbFJ0bFNlcnZpY2U6IEVjbFJ0bFNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtY2Fyb3VzZWwnKV0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0QXV0b3BsYXkoKTtcbiAgICAgICAgdGhpcy5oYW5kbGVSdGxDaGFuZ2VTdGF0ZSgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVTbGlkZXIoKTtcbiAgICAgICAgICAgIHRoaXMuaXNCdXR0b25EaXNwbGF5KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlRWxlbWVudFNpemVDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub2JzZXJ2ZUJyZWFrcG9pbnRDaGFuZ2VzKCksIDIwMCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgICAgICBpZiAodGhpcy51bnN1YnNjcmliZUxpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLnVuc3Vic2NyaWJlTGlzdGVuZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUGxheUNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0YXJ0UGxheWluZygpO1xuICAgICAgICB0aGlzLnNob3dCdXR0b24odGhpcy5wYXVzZUJ1dHRvbik7XG4gICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbih0aGlzLnBhdXNlQnV0dG9uKTtcbiAgICB9XG5cbiAgICBvblBhdXNlQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcFBsYXlpbmcoKTtcbiAgICAgICAgdGhpcy5zaG93QnV0dG9uKHRoaXMucGxheUJ1dHRvbik7XG4gICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbih0aGlzLnBsYXlCdXR0b24pO1xuICAgIH1cblxuICAgIG9uRmlyc3RDYXJvdXNlbEVsZW1lbnRQcmVzcyhlKTogdm9pZCB7XG4gICAgICAgIGlmIChlLmtleSA9PT0gS2V5Q29kZS5UQUIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUGxheWluZykge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcFBsYXlpbmcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUGxheUtleWJvYXJkUHJlc3MoZSk6IHZvaWQge1xuICAgICAgICBpZiAoZS5rZXkgPT09IEtleUNvZGUuVEFCICYmIGUuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoW0tleUNvZGUuVEFCXS5pbmNsdWRlcyhlLmtleSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUGxheWluZykge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVTbGlkZSh0aGlzLnNsaWRlcy5nZXQoMCksIHRydWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbih0aGlzLm5hdmlnYXRpb25CdXR0b25zLmdldCgwKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9wUGxheWluZygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5uYXZpZ2F0aW9uQnV0dG9ucy5nZXQodGhpcy5nZXRDdXJyZW50U2xpZGVJbmRleCgpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNQbGF5aW5nICYmIFtLZXlDb2RlLkFSUk9XX1JJR0hUXS5pbmNsdWRlcyhlLmtleSkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbih0aGlzLm5hdmlnYXRpb25CdXR0b25zLmdldCh0aGlzLmdldEN1cnJlbnRTbGlkZUluZGV4KCkpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTmF2QnRuS2V5Ym9hcmRQcmVzcyhlOiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChlLmtleSA9PT0gS2V5Q29kZS5UQUIgJiYgZS5zaGlmdEtleSkge1xuICAgICAgICAgICAgdGhpcy5vbk5hdmlnYXRpb25CdXR0b25UYWJBbmRTaGlmdChlLCBpbmRleCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09IEtleUNvZGUuQVJST1dfUklHSFQpIHtcbiAgICAgICAgICAgIHRoaXMub25OYXZpZ2F0aW9uQnV0dG9uQXJyb3dSaWdodChlKTtcbiAgICAgICAgfSBlbHNlIGlmIChlLmtleSA9PT0gS2V5Q29kZS5UQUIpIHtcbiAgICAgICAgICAgIHRoaXMub25OYXZpZ2F0aW9uQnV0dG9uVGFiKGUsIGluZGV4KTtcbiAgICAgICAgfSBlbHNlIGlmIChlLmtleSA9PT0gS2V5Q29kZS5BUlJPV19MRUZUKSB7XG4gICAgICAgICAgICB0aGlzLm9uTmF2aWdhdGlvbkJ1dHRvbkFycm93TGVmdChlLCBpbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlzQnV0dG9uVmlzaWJsZShidXR0b246IEVsZW1lbnRSZWYpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFidXR0b24pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYnV0dG9uLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9PT0gJyc7XG4gICAgfVxuXG4gICAgc2hvd0J1dHRvbihidXR0b246IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUoYnV0dG9uLm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJycpXG4gICAgfVxuXG4gICAgZm9jdXNPbkJ1dHRvbihidXR0b246IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFidXR0b24pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uU2xpZGVDb250cm9sQ2xpY2soc2xpZGU6IEVjbENhcm91c2VsSXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3BQbGF5aW5nKCk7XG4gICAgICAgIHRoaXMuYWN0aXZhdGVTbGlkZShzbGlkZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgb25OZXh0U2xpZGVDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9wUGxheWluZygpO1xuICAgICAgICB0aGlzLmdvVG9OZXh0U2xpZGUodHJ1ZSk7XG4gICAgfVxuXG4gICAgb25QcmV2aW91c1NsaWRlQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcFBsYXlpbmcoKTtcbiAgICAgICAgdGhpcy5nb1RvUHJldmlvdXNTbGlkZSh0cnVlKTtcbiAgICB9XG5cbiAgICBvblNsaWRlSG92ZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGF1c2VQbGF5aW5nKCk7XG4gICAgfVxuXG4gICAgb25TbGlkZUhvdmVyb3V0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNTdG9wQnV0dG9uUHJlc3NlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLnJlc3VtZVBsYXlpbmcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc1N0b3BCdXR0b25QcmVzc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1BhdXNlZEZvcmNlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNQYWRkZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRGVza3RvcEJyZWFrcG9pbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc0NvbnRyb2xzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRTbGlkZXNDb3VudCgpID4gMTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q3VycmVudFNsaWRlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGN1cnJlbnRJbmRleDogbnVtYmVyO1xuXG4gICAgICAgIHRoaXMuZ2V0QWxsU2xpZGVzQXJyYXkoKS5mb3JFYWNoKChpdGVtLCBpZHgpID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtICYmIGl0ZW0uaXNDdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgY3VycmVudEluZGV4ID0gaWR4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA9PT0gdGhpcy5nZXRBbGxTbGlkZXNDb3VudCgpIC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50SW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFNsaWRlc0NvdW50KCkgLSAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjdXJyZW50SW5kZXggLSAxO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDYXJvdXNlbFNsaWRlc1dpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcm91c2VsQ29udGFpbmVyRWxlbWVudD8ubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAqIHRoaXMuZ2V0QWxsU2xpZGVzQ291bnQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2Fyb3VzZWxTbGlkZXNPZmZzZXRMZWZ0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAtMSAqIHRoaXMuY2Fyb3VzZWxDb250YWluZXJFbGVtZW50Py5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICogdGhpcy5nZXRDdXJyZW50SXRlbUluZGV4KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENhcm91c2VsU2xpZGVzT2Zmc2V0UmlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIC0xICogdGhpcy5jYXJvdXNlbENvbnRhaW5lckVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKiB0aGlzLmdldEN1cnJlbnRJdGVtSW5kZXgoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVJ0bENoYW5nZVN0YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVjbFJ0bFNlcnZpY2UuY3VycmVudFJ0bFN0YXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChydGxTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc1J0bCA9IHJ0bFN0YXRlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRBdXRvcGxheSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RhcnQkID0gdGhpcy5wbGF5U3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICAgICAgY29uc3Qgc3RvcCQgPSB0aGlzLnN0b3BTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgICAgIHN0YXJ0JFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IGludGVydmFsKHRoaXMucGxheUludGVydmFsKS5waXBlKHRha2VVbnRpbChzdG9wJCkpKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdvVG9OZXh0U2xpZGUodHJ1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEN1cnJlbnRJdGVtSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgICAgIHRoaXMuZ2V0QWxsU2xpZGVzQXJyYXkoKS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0gJiYgaXRlbS5pc0N1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBpbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplU2xpZGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNsaWRlcy5mb3JFYWNoKChpdGVtLCBpZHgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdFNsaWRlKGl0ZW0sIGlkeCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc0NvbnRyb2xzKCkpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdEhpZGRlbkl0ZW1zKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5pc05vU2xpZGVTZWxlY3RlZCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmF0ZVNsaWRlKHRoaXMuc2xpZGVzLmZpcnN0LCBmYWxzZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmlzQXV0b3BsYXkgJiYgdGhpcy5pc1RhYmxldEJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0UGxheWluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0SGlkZGVuSXRlbXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlyc3RIaWRkZW5JdGVtLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5nZXRMYXN0Q29udGVudENoaWxkKCk7XG4gICAgICAgIHRoaXMuZmlyc3RIaWRkZW5JdGVtLmlzQ3VycmVudCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxhc3RIaWRkZW5JdGVtLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5nZXRGaXJzdENvbnRlbnRDaGlsZCgpO1xuICAgICAgICB0aGlzLmxhc3RIaWRkZW5JdGVtLmlzQ3VycmVudCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNsaWRlV2lkdGggPSB0aGlzLnNsaWRlcy5maXJzdC53aWR0aDtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlcjIubGlzdGVuKHRoaXMuc2xpZGVzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2l0aW9uZW5kJywgKCkgPT4gdGhpcy5jaGVja0luZGV4KCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tJbmRleCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZ2V0Q3VycmVudEl0ZW1JbmRleCgpID09PSB0aGlzLmdldEFsbFNsaWRlc0NvdW50KCkgLSAxKSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5zbGlkZXMuZmlyc3Q7XG4gICAgICAgICAgICB0aGlzLmFjdGl2YXRlU2xpZGUoaXRlbSwgZmFsc2UpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0Q3VycmVudEl0ZW1JbmRleCgpID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5zbGlkZXMubGFzdDtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVTbGlkZShpdGVtLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExhc3RDb250ZW50Q2hpbGQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2xpZGVzQ291bnQoKSA+IDAgPyB0aGlzLnNsaWRlcy5nZXQodGhpcy5nZXRTbGlkZXNDb3VudCgpIC0gMSkuZWwubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgOiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpcnN0Q29udGVudENoaWxkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFNsaWRlc0NvdW50KCkgPiAwID8gdGhpcy5zbGlkZXMuZ2V0KDApLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MIDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U2xpZGUoaXRlbTogRWNsQ2Fyb3VzZWxJdGVtQ29tcG9uZW50LCBpZHg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpdGVtLmluZGV4ID0gaWR4O1xuICAgICAgICBpdGVtLmFyaWFMYWJlbCA9IGBzbGlkZSAke2lkeCArIDF9IG9mICR7dGhpcy5nZXRTbGlkZXNDb3VudCgpfWA7XG4gICAgICAgIGl0ZW0ud2lkdGggPSAxMDAgLyB0aGlzLmdldEFsbFNsaWRlc0NvdW50KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnb1RvTmV4dFNsaWRlKGlzTG9vcDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGl2YXRlU2xpZGUodGhpcy5nZXROZXh0U2xpZGUoaXNMb29wKSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnb1RvUHJldmlvdXNTbGlkZShpc0xvb3A6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVNsaWRlKHRoaXMuZ2V0UHJldmlvdXNTbGlkZShpc0xvb3ApLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFjdGl2YXRlU2xpZGUoc2xpZGU6IEVjbENhcm91c2VsSXRlbUNvbXBvbmVudCwgd2l0aFRyYW5zaXRpb246IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHdpdGhUcmFuc2l0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb25EdXJhdGlvbiA9IDAuNDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvbkR1cmF0aW9uID0gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2xpZGUpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0QWxsU2xpZGVzQXJyYXkoKS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0N1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc2xpZGUuaXNDdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAod2l0aFRyYW5zaXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc2xpZGUubmV4dChuZXcgRWNsU2xpZGVFdmVudCh0aGlzLnNsaWRlcy5nZXQodGhpcy5nZXRDdXJyZW50U2xpZGVJbmRleCgpKSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0xhc3RCdXR0b24oaW5kZXgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgYnV0dG9uc0xpc3QgPSB0aGlzLm5hdmlnYXRpb25CdXR0b25zO1xuICAgICAgICByZXR1cm4gaW5kZXggKyAxID49IGJ1dHRvbnNMaXN0Lmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRmlyc3RCdXR0b24oaW5kZXgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluZGV4IDw9IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydFBsYXlpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNQbGF5aW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pc1BhdXNlZEZvcmNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnBsYXlTdWJqZWN0Lm5leHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0b3BQbGF5aW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzUGxheWluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzUGF1c2VkRm9yY2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zdG9wU3ViamVjdC5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXVzZVBsYXlpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNQbGF5aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc3RvcFN1YmplY3QubmV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzdW1lUGxheWluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1BsYXlpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnBsYXlTdWJqZWN0Lm5leHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5leHRTbGlkZShpc0xvb3A6IGJvb2xlYW4pOiBFY2xDYXJvdXNlbEl0ZW1Db21wb25lbnQge1xuICAgICAgICBjb25zdCBzbGlkZXNDb3VudCA9IHRoaXMuZ2V0U2xpZGVzQ291bnQoKTtcbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy5nZXRDdXJyZW50U2xpZGVJbmRleCgpO1xuXG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPj0gc2xpZGVzQ291bnQgLSAxKSB7XG4gICAgICAgICAgICBpZiAoaXNMb29wKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWxsU2xpZGVzQXJyYXkoKVt0aGlzLmdldEFsbFNsaWRlc0NvdW50KCkgLTFdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zbGlkZXMubGFzdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNsaWRlcy5nZXQoY3VycmVudEluZGV4ICsgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFsbFNsaWRlc0FycmF5KCk6IEVjbENhcm91c2VsSXRlbUNvbXBvbmVudFtdIHtcbiAgICAgICAgcmV0dXJuIFsuLi5bdGhpcy5maXJzdEhpZGRlbkl0ZW1dLCAuLi50aGlzLnNsaWRlcy50b0FycmF5KCksIC4uLlt0aGlzLmxhc3RIaWRkZW5JdGVtXV07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcmV2aW91c1NsaWRlKGlzTG9vcDogYm9vbGVhbik6IEVjbENhcm91c2VsSXRlbUNvbXBvbmVudCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuZ2V0Q3VycmVudFNsaWRlSW5kZXgoKTtcblxuICAgICAgICBpZiAoY3VycmVudEluZGV4IDw9IDApIHtcbiAgICAgICAgICAgIGlmKGlzTG9vcCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEFsbFNsaWRlc0FycmF5KClbMF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNsaWRlcy5maXJzdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNsaWRlcy5nZXQoY3VycmVudEluZGV4IC0gMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNsaWRlc0NvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNsaWRlcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBbGxTbGlkZXNDb3VudCgpOiBudW1iZXIge1xuICAgICAgICBpZiAodGhpcy5oYXNDb250cm9scygpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zbGlkZXMubGVuZ3RoICsgMjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNsaWRlcy5sZW5ndGhcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNOb1NsaWRlU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5zbGlkZXMuc29tZSgoaXRlbSkgPT4gaXRlbS5pc0N1cnJlbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25OYXZpZ2F0aW9uQnV0dG9uVGFiQW5kU2hpZnQoZTogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBidXR0b246IEVsZW1lbnRSZWYgPSB0aGlzLm5hdmlnYXRpb25CdXR0b25zLmdldCh0aGlzLmdldEN1cnJlbnRTbGlkZUluZGV4KCkpO1xuICAgICAgICBpZiAoYnV0dG9uKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1BsYXlpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3BQbGF5aW5nKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNGaXJzdEJ1dHRvbihpbmRleCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBsYXlCdXR0b24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5wbGF5QnV0dG9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnBhdXNlQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c09uQnV0dG9uKHRoaXMucGF1c2VCdXR0b24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nb1RvUHJldmlvdXNTbGlkZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgYnV0dG9uOiBFbGVtZW50UmVmID0gdGhpcy5uYXZpZ2F0aW9uQnV0dG9ucy5nZXQodGhpcy5nZXRDdXJyZW50U2xpZGVJbmRleCgpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24oYnV0dG9uKTtcbiAgICAgICAgICAgIH0sIHRoaXMuVElNRU9VVF9JTlRFUlZBTCk7XG4gICAgICAgIH1cbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25OYXZpZ2F0aW9uQnV0dG9uVGFiKGUsIGluZGV4KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTGFzdEJ1dHRvbihpbmRleCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzQnV0dG9uVmlzaWJsZSh0aGlzLnByZXZCdXR0b24pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c09uQnV0dG9uKHRoaXMucHJldkJ1dHRvbik7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nb1RvTmV4dFNsaWRlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBidXR0b246IEVsZW1lbnRSZWYgPSB0aGlzLm5hdmlnYXRpb25CdXR0b25zLmdldCh0aGlzLmdldEN1cnJlbnRTbGlkZUluZGV4KCkpO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbihidXR0b24pO1xuICAgICAgICAgICAgfSwgdGhpcy5USU1FT1VUX0lOVEVSVkFMKTtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25OYXZpZ2F0aW9uQnV0dG9uQXJyb3dSaWdodChlOiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5nb1RvTmV4dFNsaWRlKGZhbHNlKTtcbiAgICAgICAgICAgIGNvbnN0IGJ1dHRvbjogRWxlbWVudFJlZiA9IHRoaXMubmF2aWdhdGlvbkJ1dHRvbnMuZ2V0KHRoaXMuZ2V0Q3VycmVudFNsaWRlSW5kZXgoKSk7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24oYnV0dG9uKTtcbiAgICAgICAgfSwgdGhpcy5USU1FT1VUX0lOVEVSVkFMKTtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25OYXZpZ2F0aW9uQnV0dG9uQXJyb3dMZWZ0KGU6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNGaXJzdEJ1dHRvbihpbmRleCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBsYXlCdXR0b24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5wbGF5QnV0dG9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnBhdXNlQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c09uQnV0dG9uKHRoaXMucGF1c2VCdXR0b24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nb1RvUHJldmlvdXNTbGlkZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgYnV0dG9uOiBFbGVtZW50UmVmID0gdGhpcy5uYXZpZ2F0aW9uQnV0dG9ucy5nZXQodGhpcy5nZXRDdXJyZW50U2xpZGVJbmRleCgpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24oYnV0dG9uKTtcbiAgICAgICAgICAgIH0sIHRoaXMuVElNRU9VVF9JTlRFUlZBTCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG9ic2VydmVCcmVha3BvaW50Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jZGtCcmVha3BvaW50T2JzZXJ2ZXJcbiAgICAgICAgICAgIC5vYnNlcnZlKFtcbiAgICAgICAgICAgICAgICAnKG1heC13aWR0aDogNzY4cHgpJyxcbiAgICAgICAgICAgICAgICAnKG1heC13aWR0aDogOTk3cHgpJyxcbiAgICAgICAgICAgICAgICAnKG1pbi13aWR0aDogOTk4cHgpJyxcbiAgICAgICAgICAgICAgICAnKG1pbi13aWR0aDogMTE0MHB4KSBhbmQgKG1heC13aWR0aDogMTI2MHB4KScsXG4gICAgICAgICAgICAgICAgJyhtaW4td2lkdGg6IDExNDBweCknLFxuICAgICAgICAgICAgXSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNNb2JpbGVCcmVha3BvaW50ID0gcmVzdWx0LmJyZWFrcG9pbnRzWycobWF4LXdpZHRoOiA3NjhweCknXTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzVGFibGV0QnJlYWtwb2ludCA9IHJlc3VsdC5icmVha3BvaW50c1snKG1pbi13aWR0aDogOTk4cHgpJ107XG4gICAgICAgICAgICAgICAgdGhpcy5pc0Rlc2t0b3BCcmVha3BvaW50ID0gcmVzdWx0LmJyZWFrcG9pbnRzWycobWluLXdpZHRoOiAxMTQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjYwcHgpJ107XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xhcmdlRGVza3RvcEJyZWFrcG9pbnQgPSByZXN1bHQuYnJlYWtwb2ludHNbJyhtaW4td2lkdGg6IDExNDBweCknXTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmJyZWFrcG9pbnRzWycobWF4LXdpZHRoOiA5OTdweCknXSkge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVzZXRIZWlnaHQoKSwgMjAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGVCcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcFBsYXlpbmcoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1RhYmxldEJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoZWNrQmFubmVySGVpZ2h0cygpLCAyMDApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTGFyZ2VEZXNrdG9wQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQnV0dG9uRGlzcGxheSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb2JzZXJ2ZUVsZW1lbnRTaXplQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KS5vYnNlcnZlKHRoaXMuY2Fyb3VzZWxDb250YWluZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNCdXR0b25EaXNwbGF5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQnV0dG9uTmF2VmlzaWJsZSA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmdldFNsaWRlc0NvdW50KCkgPD0gMSkge1xuICAgICAgICAgICAgdGhpcy5pc0J1dHRvbk5hdlZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tCYW5uZXJIZWlnaHRzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBoZWlnaHRWYWx1ZXMgPSB0aGlzLnNsaWRlcy5tYXAoKHNsaWRlKT0+IHtcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IHNsaWRlLmJhbm5lcj8uZWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnaGVpZ2h0JywgaGVpZ2h0KTtcbiAgICAgICAgICAgIGlmIChoZWlnaHQgPT09ICdhdXRvJykge1xuICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKE51bWJlci5pc05hTihoZWlnaHQpIHx8IGhlaWdodCA9PT0gMTAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaGVpZ2h0O1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBlbGVtZW50SGVpZ2h0cyA9IGhlaWdodFZhbHVlcy5maWx0ZXIoKGhlaWdodCk9PiBoZWlnaHQgIT09IHVuZGVmaW5lZClcbiAgICAgICAgY29uc3QgdGFsbGVzdEVsZW1lbnRIZWlnaHQgPSBNYXRoLm1heCguLi5lbGVtZW50SGVpZ2h0cyk7XG4gICAgICAgIGlmICh0YWxsZXN0RWxlbWVudEhlaWdodCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVzLmZvckVhY2goKHNsaWRlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmFubmVyID0gc2xpZGUuYmFubmVyO1xuICAgICAgICAgICAgICAgIGlmIChiYW5uZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmFubmVySW1hZ2UgPSBiYW5uZXIuZWNsQmFubmVySW1hZ2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKGJhbm5lci5lbC5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7dGFsbGVzdEVsZW1lbnRIZWlnaHR9cHhgKVxuICAgICAgICAgICAgICAgICAgICBpZiAoYmFubmVySW1hZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKGJhbm5lckltYWdlLmVsLm5hdGl2ZUVsZW1lbnQsICdhc3BlY3RSYXRpbycsICdhdXRvJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMucmVzZXRIaWRkZW5JdGVtcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldEhlaWdodCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRBbGxTbGlkZXNBcnJheSgpLmZvckVhY2goKHNsaWRlKT0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJhbm5lciA9IHNsaWRlLmJhbm5lcjtcbiAgICAgICAgICAgIGlmIChiYW5uZXIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBiYW5uZXJJbWFnZSA9IHNsaWRlLmJhbm5lci5lY2xCYW5uZXJJbWFnZTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShiYW5uZXIuZWwubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsICcnKVxuICAgICAgICAgICAgICAgIGlmIChiYW5uZXJJbWFnZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShiYW5uZXJJbWFnZS5lbC5uYXRpdmVFbGVtZW50LCAnYXNwZWN0UmF0aW8nLCAnJylcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlc2V0SGlkZGVuSXRlbXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0SGlkZGVuSXRlbXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhhc0NvbnRyb2xzKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZmlyc3RIaWRkZW5JdGVtLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5nZXRMYXN0Q29udGVudENoaWxkKCk7XG4gICAgICAgICAgICB0aGlzLmxhc3RIaWRkZW5JdGVtLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5nZXRGaXJzdENvbnRlbnRDaGlsZCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiAjY2Fyb3VzZWxDb250YWluZXIgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX2NvbnRhaW5lclwiIFtjbGFzcy5lY2wtY2Fyb3VzZWwtY29udGFpbmVyLS1wYWRkZWRdPVwiaXNQYWRkZWQoKVwiPlxuICAgIDxkaXYgI3NsaWRlc0NvbnRhaW5lciAoa2V5dXApPVwib25GaXJzdENhcm91c2VsRWxlbWVudFByZXNzKCRldmVudClcIiBjbGFzcz1cImVjbC1jYXJvdXNlbF9fc2xpZGVzXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImdldENhcm91c2VsU2xpZGVzV2lkdGgoKVwiIFtzdHlsZS5sZWZ0LnB4XT1cIiFpc1J0bCA/IGdldENhcm91c2VsU2xpZGVzT2Zmc2V0TGVmdCgpIDogbnVsbFwiXG4gICAgICAgIFtzdHlsZS5yaWdodC5weF09XCJpc1J0bCA/IGdldENhcm91c2VsU2xpZGVzT2Zmc2V0UmlnaHQoKSA6IG51bGxcIlxuICAgICAgICBbc3R5bGUudHJhbnNpdGlvbi1kdXJhdGlvbi5zXT1cInRyYW5zaXRpb25EdXJhdGlvblwiIChtb3VzZW92ZXIpPVwib25TbGlkZUhvdmVyKClcIiAobW91c2VvdXQpPVwib25TbGlkZUhvdmVyb3V0KClcIj5cblxuICAgICAgICBAaWYoaGFzQ29udHJvbHMoKSl7XG4gICAgICAgIDxlY2wtY2Fyb3VzZWwtaXRlbSAjZmlyc3RIaWRkZW5JdGVtIFtzdHlsZS53aWR0aC4lXT1cInNsaWRlV2lkdGhcIj48L2VjbC1jYXJvdXNlbC1pdGVtPlxuICAgICAgICB9XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICAgICAgICBAaWYoaGFzQ29udHJvbHMoKSl7XG4gICAgICAgIDxlY2wtY2Fyb3VzZWwtaXRlbSAjbGFzdEhpZGRlbkl0ZW0gW3N0eWxlLndpZHRoLiVdPVwic2xpZGVXaWR0aFwiPjwvZWNsLWNhcm91c2VsLWl0ZW0+XG4gICAgICAgIH1cblxuICAgIDwvZGl2PlxuPC9kaXY+XG5AaWYoaXNCdXR0b25OYXZWaXNpYmxlKSB7XG48YnV0dG9uICNwcmV2QnV0dG9uIGNsYXNzPVwiZWNsLWJ1dHRvbiBlY2wtYnV0dG9uLS1naG9zdCBlY2wtY2Fyb3VzZWxfX3ByZXYgZWNsLWJ1dHRvbi0taWNvbi1vbmx5XCIgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cIm9uUHJldmlvdXNTbGlkZUNsaWNrKClcIj5cbiAgICA8c3BhbiBjbGFzcz1cImVjbC1idXR0b25fX2NvbnRhaW5lclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC1idXR0b25fX2xhYmVsXCI+XG4gICAgICAgICAgICB7eyAnZWNsLmNhcm91c2VsLk5FWFQtU0xJREVTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxlY2wtaWNvbiBpY29uPVwiY29ybmVyLWFycm93XCIgc2l6ZT1cIm1cIiB0cmFuc2Zvcm09XCJyb3RhdGUtMjcwXCIgY2xhc3M9XCJlY2wtYnV0dG9uX19pY29uXCI+IDwvZWNsLWljb24+XG4gICAgPC9zcGFuPlxuPC9idXR0b24+XG59XG5cbkBpZihoYXNDb250cm9scygpKXtcbjxkaXYgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX2NvbnRyb2xzXCI+XG4gICAgPGRpdiBjbGFzcz1cImVjbC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1jYXJvdXNlbF9fYXV0b3BsYXlcIj5cbiAgICAgICAgICAgIDxidXR0b24gI3BsYXlCdXR0b24gY2xhc3M9XCJlY2wtYnV0dG9uIGVjbC1idXR0b24tLWdob3N0IGVjbC1jYXJvdXNlbF9fcGxheSBlY2wtYnV0dG9uLS1pY29uLW9ubHlcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIiBbc3R5bGUuZGlzcGxheV09XCJpc1BsYXlpbmcgPyAnbm9uZScgOiAnZmxleCdcIiAoa2V5ZG93bik9XCJvblBsYXlLZXlib2FyZFByZXNzKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblBsYXlDbGljaygpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlY2wtYnV0dG9uX19jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlY2wtYnV0dG9uX19sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VjbC5jYXJvdXNlbC5QTEFZJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxlY2wtaWNvbiBpY29uPVwicGxheS1vdXRsaW5lXCIgc2l6ZT1cIm1cIiBjbGFzcz1cImVjbC1idXR0b25fX2ljb24gZWNsLWNhcm91c2VsX19pY29uLWRlZmF1bHRcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9lY2wtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8YnV0dG9uICNwYXVzZUJ1dHRvbiBjbGFzcz1cImVjbC1idXR0b24gZWNsLWJ1dHRvbi0tZ2hvc3QgZWNsLWNhcm91c2VsX19wYXVzZSBlY2wtYnV0dG9uLS1pY29uLW9ubHlcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIiBbc3R5bGUuZGlzcGxheV09XCJpc1BsYXlpbmcgPyAnZmxleCcgOiAnbm9uZSdcIiAoa2V5ZG93bik9XCJvblBsYXlLZXlib2FyZFByZXNzKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblBhdXNlQ2xpY2soKVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLWJ1dHRvbl9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLWJ1dHRvbl9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlY2wuY2Fyb3VzZWwuUEFVU0UnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGVjbC1pY29uIGljb249XCJwYXVzZVwiIHNpemU9XCJtXCIgY2xhc3M9XCJlY2wtYnV0dG9uX19pY29uIGVjbC1jYXJvdXNlbF9faWNvbi1kZWZhdWx0XCI+IDwvZWNsLWljb24+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1jYXJvdXNlbF9fbmF2aWdhdGlvblwiPlxuICAgICAgICAgICAgQGZvciAoc2xpZGUgb2Ygc2xpZGVzOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgc2xpZGUpIHtcbiAgICAgICAgICAgIDxidXR0b24gI2N1cnJCdXR0b24gW2F0dHIuYXJpYS1jdXJyZW50XT1cImkgPT09IGdldEN1cnJlbnRTbGlkZUluZGV4KClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZWNsLWJ1dHRvbiBlY2wtYnV0dG9uLS1naG9zdCBlY2wtY2Fyb3VzZWxfX25hdmlnYXRpb24taXRlbVwiIChjbGljayk9XCJvblNsaWRlQ29udHJvbENsaWNrKHNsaWRlKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25OYXZCdG5LZXlib2FyZFByZXNzKCRldmVudCwgaSlcIj5cbiAgICAgICAgICAgICAgICB7eyBpICsgMSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG59XG5AaWYoaXNCdXR0b25OYXZWaXNpYmxlKSB7XG48YnV0dG9uICNuZXh0QnV0dG9uIGNsYXNzPVwiZWNsLWJ1dHRvbiBlY2wtYnV0dG9uLS1naG9zdCBlY2wtY2Fyb3VzZWxfX25leHQgZWNsLWJ1dHRvbi0taWNvbi1vbmx5XCIgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cIm9uTmV4dFNsaWRlQ2xpY2soKVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZWNsLWJ1dHRvbl9fY29udGFpbmVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLWJ1dHRvbl9fbGFiZWxcIj5cbiAgICAgICAgICAgIHt7ICdlY2wuY2Fyb3VzZWwuTkVYVC1TTElERVMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiBzaXplPVwibVwiIHRyYW5zZm9ybT1cInJvdGF0ZS05MFwiIGNsYXNzPVwiZWNsLWJ1dHRvbl9faWNvblwiPiA8L2VjbC1pY29uPlxuICAgIDwvc3Bhbj5cblxuPC9idXR0b24+XG59Il19
|
|
553
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWNhcm91c2VsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtY2Fyb3VzZWwvZWNsLWNhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtY2Fyb3VzZWwvZWNsLWNhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFJSCxTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLE1BQU0sRUFHTixTQUFTLEVBQ1QsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBc0JyRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZ0JBQWdCO0lBc0N0RCxZQUNZLHFCQUF5QyxFQUN6QyxFQUFxQixFQUNyQixTQUFvQixFQUNwQixhQUE0QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxBLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBb0I7UUFDekMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXhDYSxjQUFTLEdBQWtCLDJCQUEyQixDQUFDO1FB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QkFDQyxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ0UsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNPLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNDLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUNHLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQThCeEIsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgZm9yd2FyZFJlZixcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlRWxlbWVudCB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBpbnRlcnZhbCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVjbFJ0bFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lY2wtcnRsLnNlcnZpY2UnO1xuaW1wb3J0IHsgS2V5Q29kZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsQ2Fyb3VzZWxJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9lY2wtY2Fyb3VzZWwtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWNsU2xpZGVFdmVudCB9IGZyb20gJy4vZWNsLWNhcm91c2VsLmV2ZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtY2Fyb3VzZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qIFRPRE86IHJlbW92ZSBieSBpbXBsZW1lbnRpbmcgZnVsbCBFQ0wgc3BlY3MgKi9cbiAgICAgICAgICAgIC5lY2wtY2Fyb3VzZWxfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5lY2wtY2Fyb3VzZWxfX3NsaWRlcyB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xDYXJvdXNlbENvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpIEBJbnB1dCgnYXJpYS1sYWJlbCcpIGFyaWFMYWJlbDogc3RyaW5nIHwgbnVsbCA9ICdDYXJvdXNlbCBkZXNjcmlwdGlvbiBoZXJlJztcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1yb2xlZGVzY3JpcHRpb24nKSBhcmlhUm9sZURlc2NyaXB0aW9uID0gJ2Nhcm91c2VsJztcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0F1dG9wbGF5ID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBwbGF5SW50ZXJ2YWwgPSA1MDAwO1xuICAgIEBPdXRwdXQoKSBzbGlkZSA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsU2xpZGVFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2Nhcm91c2VsQ29udGFpbmVyJykgY2Fyb3VzZWxDb250YWluZXJFbGVtZW50OiBFbGVtZW50UmVmO1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBFY2xDYXJvdXNlbEl0ZW1Db21wb25lbnQpKSBzbGlkZXM6IFF1ZXJ5TGlzdDxFY2xDYXJvdXNlbEl0ZW1Db21wb25lbnQ+O1xuICAgIEBWaWV3Q2hpbGRyZW4oJ2N1cnJCdXR0b24nKSBuYXZpZ2F0aW9uQnV0dG9uczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuICAgIEBWaWV3Q2hpbGQoJ3BsYXlCdXR0b24nKSBwbGF5QnV0dG9uOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3BhdXNlQnV0dG9uJykgcGF1c2VCdXR0b246IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgncHJldkJ1dHRvbicpIHByZXZCdXR0b246IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnbmV4dEJ1dHRvbicpIG5leHRCdXR0b246IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnZmlyc3RIaWRkZW5JdGVtJykgZmlyc3RIaWRkZW5JdGVtOiBFY2xDYXJvdXNlbEl0ZW1Db21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgnbGFzdEhpZGRlbkl0ZW0nKSBsYXN0SGlkZGVuSXRlbTogRWNsQ2Fyb3VzZWxJdGVtQ29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ3NsaWRlc0NvbnRhaW5lcicpIHNsaWRlc0NvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICAgIHB1YmxpYyBpc0J1dHRvbk5hdlZpc2libGU9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1BsYXlpbmcgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNQYXVzZWRGb3JjZWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNSdGwgPSBmYWxzZTtcbiAgICBzbGlkZVdpZHRoOiBudW1iZXI7XG4gICAgdHJhbnNpdGlvbkR1cmF0aW9uID0gMC40O1xuXG4gICAgcHJpdmF0ZSBpc1RhYmxldEJyZWFrcG9pbnQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGlzRGVza3RvcEJyZWFrcG9pbnQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGlzTGFyZ2VEZXNrdG9wQnJlYWtwb2ludCA9IGZhbHNlO1xuICAgIHByaXZhdGUgaXNNb2JpbGVCcmVha3BvaW50ID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBwbGF5U3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBzdG9wU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlTGlzdGVuZXI6ICgpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBUSU1FT1VUX0lOVEVSVkFMID0gNDAwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY2RrQnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyMjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGVjbFJ0bFNlcnZpY2U6IEVjbFJ0bFNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtY2Fyb3VzZWwnKV0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0QXV0b3BsYXkoKTtcbiAgICAgICAgdGhpcy5oYW5kbGVSdGxDaGFuZ2VTdGF0ZSgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVTbGlkZXIoKTtcbiAgICAgICAgICAgIHRoaXMuaXNCdXR0b25EaXNwbGF5KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlRWxlbWVudFNpemVDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub2JzZXJ2ZUJyZWFrcG9pbnRDaGFuZ2VzKCksIDIwMCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgICAgICBpZiAodGhpcy51bnN1YnNjcmliZUxpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLnVuc3Vic2NyaWJlTGlzdGVuZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUGxheUNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0YXJ0UGxheWluZygpO1xuICAgICAgICB0aGlzLnNob3dCdXR0b24odGhpcy5wYXVzZUJ1dHRvbik7XG4gICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbih0aGlzLnBhdXNlQnV0dG9uKTtcbiAgICB9XG5cbiAgICBvblBhdXNlQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcFBsYXlpbmcoKTtcbiAgICAgICAgdGhpcy5zaG93QnV0dG9uKHRoaXMucGxheUJ1dHRvbik7XG4gICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbih0aGlzLnBsYXlCdXR0b24pO1xuICAgIH1cblxuICAgIG9uRmlyc3RDYXJvdXNlbEVsZW1lbnRQcmVzcyhlKTogdm9pZCB7XG4gICAgICAgIGlmIChlLmtleSA9PT0gS2V5Q29kZS5UQUIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUGxheWluZykge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcFBsYXlpbmcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUGxheUtleWJvYXJkUHJlc3MoZSk6IHZvaWQge1xuICAgICAgICBpZiAoZS5rZXkgPT09IEtleUNvZGUuVEFCICYmIGUuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoW0tleUNvZGUuVEFCXS5pbmNsdWRlcyhlLmtleSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUGxheWluZykge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVTbGlkZSh0aGlzLnNsaWRlcy5nZXQoMCksIHRydWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbih0aGlzLm5hdmlnYXRpb25CdXR0b25zLmdldCgwKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9wUGxheWluZygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5uYXZpZ2F0aW9uQnV0dG9ucy5nZXQodGhpcy5nZXRDdXJyZW50U2xpZGVJbmRleCgpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNQbGF5aW5nICYmIFtLZXlDb2RlLkFSUk9XX1JJR0hUXS5pbmNsdWRlcyhlLmtleSkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbih0aGlzLm5hdmlnYXRpb25CdXR0b25zLmdldCh0aGlzLmdldEN1cnJlbnRTbGlkZUluZGV4KCkpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTmF2QnRuS2V5Ym9hcmRQcmVzcyhlOiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChlLmtleSA9PT0gS2V5Q29kZS5UQUIgJiYgZS5zaGlmdEtleSkge1xuICAgICAgICAgICAgdGhpcy5vbk5hdmlnYXRpb25CdXR0b25UYWJBbmRTaGlmdChlLCBpbmRleCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09IEtleUNvZGUuQVJST1dfUklHSFQpIHtcbiAgICAgICAgICAgIHRoaXMub25OYXZpZ2F0aW9uQnV0dG9uQXJyb3dSaWdodChlKTtcbiAgICAgICAgfSBlbHNlIGlmIChlLmtleSA9PT0gS2V5Q29kZS5UQUIpIHtcbiAgICAgICAgICAgIHRoaXMub25OYXZpZ2F0aW9uQnV0dG9uVGFiKGUsIGluZGV4KTtcbiAgICAgICAgfSBlbHNlIGlmIChlLmtleSA9PT0gS2V5Q29kZS5BUlJPV19MRUZUKSB7XG4gICAgICAgICAgICB0aGlzLm9uTmF2aWdhdGlvbkJ1dHRvbkFycm93TGVmdChlLCBpbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlzQnV0dG9uVmlzaWJsZShidXR0b246IEVsZW1lbnRSZWYpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFidXR0b24pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYnV0dG9uLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9PT0gJyc7XG4gICAgfVxuXG4gICAgc2hvd0J1dHRvbihidXR0b246IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUoYnV0dG9uLm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJycpXG4gICAgfVxuXG4gICAgZm9jdXNPbkJ1dHRvbihidXR0b246IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFidXR0b24pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uU2xpZGVDb250cm9sQ2xpY2soc2xpZGU6IEVjbENhcm91c2VsSXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3BQbGF5aW5nKCk7XG4gICAgICAgIHRoaXMuYWN0aXZhdGVTbGlkZShzbGlkZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgb25OZXh0U2xpZGVDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9wUGxheWluZygpO1xuICAgICAgICB0aGlzLmdvVG9OZXh0U2xpZGUodHJ1ZSk7XG4gICAgfVxuXG4gICAgb25QcmV2aW91c1NsaWRlQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcFBsYXlpbmcoKTtcbiAgICAgICAgdGhpcy5nb1RvUHJldmlvdXNTbGlkZSh0cnVlKTtcbiAgICB9XG5cbiAgICBvblNsaWRlSG92ZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGF1c2VQbGF5aW5nKCk7XG4gICAgfVxuXG4gICAgb25TbGlkZUhvdmVyb3V0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNTdG9wQnV0dG9uUHJlc3NlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLnJlc3VtZVBsYXlpbmcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc1N0b3BCdXR0b25QcmVzc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1BhdXNlZEZvcmNlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNQYWRkZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRGVza3RvcEJyZWFrcG9pbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc0NvbnRyb2xzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRTbGlkZXNDb3VudCgpID4gMTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q3VycmVudFNsaWRlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGN1cnJlbnRJbmRleDogbnVtYmVyO1xuXG4gICAgICAgIHRoaXMuZ2V0QWxsU2xpZGVzQXJyYXkoKS5mb3JFYWNoKChpdGVtLCBpZHgpID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtICYmIGl0ZW0uaXNDdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgY3VycmVudEluZGV4ID0gaWR4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA9PT0gdGhpcy5nZXRBbGxTbGlkZXNDb3VudCgpIC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50SW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFNsaWRlc0NvdW50KCkgLSAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjdXJyZW50SW5kZXggLSAxO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDYXJvdXNlbFNsaWRlc1dpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcm91c2VsQ29udGFpbmVyRWxlbWVudD8ubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAqIHRoaXMuZ2V0QWxsU2xpZGVzQ291bnQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2Fyb3VzZWxTbGlkZXNPZmZzZXRMZWZ0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAtMSAqIHRoaXMuY2Fyb3VzZWxDb250YWluZXJFbGVtZW50Py5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICogdGhpcy5nZXRDdXJyZW50SXRlbUluZGV4KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENhcm91c2VsU2xpZGVzT2Zmc2V0UmlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIC0xICogdGhpcy5jYXJvdXNlbENvbnRhaW5lckVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKiB0aGlzLmdldEN1cnJlbnRJdGVtSW5kZXgoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVJ0bENoYW5nZVN0YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVjbFJ0bFNlcnZpY2UuY3VycmVudFJ0bFN0YXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChydGxTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc1J0bCA9IHJ0bFN0YXRlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRBdXRvcGxheSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RhcnQkID0gdGhpcy5wbGF5U3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICAgICAgY29uc3Qgc3RvcCQgPSB0aGlzLnN0b3BTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgICAgIHN0YXJ0JFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IGludGVydmFsKHRoaXMucGxheUludGVydmFsKS5waXBlKHRha2VVbnRpbChzdG9wJCkpKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdvVG9OZXh0U2xpZGUodHJ1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEN1cnJlbnRJdGVtSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgICAgIHRoaXMuZ2V0QWxsU2xpZGVzQXJyYXkoKS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0gJiYgaXRlbS5pc0N1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBpbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplU2xpZGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNsaWRlcy5mb3JFYWNoKChpdGVtLCBpZHgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdFNsaWRlKGl0ZW0sIGlkeCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc0NvbnRyb2xzKCkpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdEhpZGRlbkl0ZW1zKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5pc05vU2xpZGVTZWxlY3RlZCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmF0ZVNsaWRlKHRoaXMuc2xpZGVzLmZpcnN0LCBmYWxzZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmlzQXV0b3BsYXkgJiYgdGhpcy5pc1RhYmxldEJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0UGxheWluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0SGlkZGVuSXRlbXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlyc3RIaWRkZW5JdGVtLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5nZXRMYXN0Q29udGVudENoaWxkKCk7XG4gICAgICAgIHRoaXMuZmlyc3RIaWRkZW5JdGVtLmlzQ3VycmVudCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxhc3RIaWRkZW5JdGVtLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5nZXRGaXJzdENvbnRlbnRDaGlsZCgpO1xuICAgICAgICB0aGlzLmxhc3RIaWRkZW5JdGVtLmlzQ3VycmVudCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNsaWRlV2lkdGggPSB0aGlzLnNsaWRlcy5maXJzdC53aWR0aDtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlcjIubGlzdGVuKHRoaXMuc2xpZGVzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2l0aW9uZW5kJywgKCkgPT4gdGhpcy5jaGVja0luZGV4KCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tJbmRleCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZ2V0Q3VycmVudEl0ZW1JbmRleCgpID09PSB0aGlzLmdldEFsbFNsaWRlc0NvdW50KCkgLSAxKSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5zbGlkZXMuZmlyc3Q7XG4gICAgICAgICAgICB0aGlzLmFjdGl2YXRlU2xpZGUoaXRlbSwgZmFsc2UpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0Q3VycmVudEl0ZW1JbmRleCgpID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5zbGlkZXMubGFzdDtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVTbGlkZShpdGVtLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExhc3RDb250ZW50Q2hpbGQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2xpZGVzQ291bnQoKSA+IDAgPyB0aGlzLnNsaWRlcy5nZXQodGhpcy5nZXRTbGlkZXNDb3VudCgpIC0gMSkuZWwubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgOiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpcnN0Q29udGVudENoaWxkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFNsaWRlc0NvdW50KCkgPiAwID8gdGhpcy5zbGlkZXMuZ2V0KDApLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MIDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U2xpZGUoaXRlbTogRWNsQ2Fyb3VzZWxJdGVtQ29tcG9uZW50LCBpZHg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpdGVtLmluZGV4ID0gaWR4O1xuICAgICAgICBpdGVtLmFyaWFMYWJlbCA9IGBzbGlkZSAke2lkeCArIDF9IG9mICR7dGhpcy5nZXRTbGlkZXNDb3VudCgpfWA7XG4gICAgICAgIGl0ZW0ud2lkdGggPSAxMDAgLyB0aGlzLmdldEFsbFNsaWRlc0NvdW50KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnb1RvTmV4dFNsaWRlKGlzTG9vcDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGl2YXRlU2xpZGUodGhpcy5nZXROZXh0U2xpZGUoaXNMb29wKSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnb1RvUHJldmlvdXNTbGlkZShpc0xvb3A6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVNsaWRlKHRoaXMuZ2V0UHJldmlvdXNTbGlkZShpc0xvb3ApLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFjdGl2YXRlU2xpZGUoc2xpZGU6IEVjbENhcm91c2VsSXRlbUNvbXBvbmVudCwgd2l0aFRyYW5zaXRpb246IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHdpdGhUcmFuc2l0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb25EdXJhdGlvbiA9IDAuNDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvbkR1cmF0aW9uID0gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2xpZGUpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0QWxsU2xpZGVzQXJyYXkoKS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0N1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc2xpZGUuaXNDdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAod2l0aFRyYW5zaXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc2xpZGUubmV4dChuZXcgRWNsU2xpZGVFdmVudCh0aGlzLnNsaWRlcy5nZXQodGhpcy5nZXRDdXJyZW50U2xpZGVJbmRleCgpKSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0xhc3RCdXR0b24oaW5kZXgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgYnV0dG9uc0xpc3QgPSB0aGlzLm5hdmlnYXRpb25CdXR0b25zO1xuICAgICAgICByZXR1cm4gaW5kZXggKyAxID49IGJ1dHRvbnNMaXN0Lmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRmlyc3RCdXR0b24oaW5kZXgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluZGV4IDw9IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydFBsYXlpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNQbGF5aW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pc1BhdXNlZEZvcmNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnBsYXlTdWJqZWN0Lm5leHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0b3BQbGF5aW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzUGxheWluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzUGF1c2VkRm9yY2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zdG9wU3ViamVjdC5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXVzZVBsYXlpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNQbGF5aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc3RvcFN1YmplY3QubmV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzdW1lUGxheWluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1BsYXlpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnBsYXlTdWJqZWN0Lm5leHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5leHRTbGlkZShpc0xvb3A6IGJvb2xlYW4pOiBFY2xDYXJvdXNlbEl0ZW1Db21wb25lbnQge1xuICAgICAgICBjb25zdCBzbGlkZXNDb3VudCA9IHRoaXMuZ2V0U2xpZGVzQ291bnQoKTtcbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy5nZXRDdXJyZW50U2xpZGVJbmRleCgpO1xuXG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPj0gc2xpZGVzQ291bnQgLSAxKSB7XG4gICAgICAgICAgICBpZiAoaXNMb29wKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWxsU2xpZGVzQXJyYXkoKVt0aGlzLmdldEFsbFNsaWRlc0NvdW50KCkgLTFdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zbGlkZXMubGFzdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNsaWRlcy5nZXQoY3VycmVudEluZGV4ICsgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFsbFNsaWRlc0FycmF5KCk6IEVjbENhcm91c2VsSXRlbUNvbXBvbmVudFtdIHtcbiAgICAgICAgcmV0dXJuIFsuLi5bdGhpcy5maXJzdEhpZGRlbkl0ZW1dLCAuLi50aGlzLnNsaWRlcy50b0FycmF5KCksIC4uLlt0aGlzLmxhc3RIaWRkZW5JdGVtXV07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcmV2aW91c1NsaWRlKGlzTG9vcDogYm9vbGVhbik6IEVjbENhcm91c2VsSXRlbUNvbXBvbmVudCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuZ2V0Q3VycmVudFNsaWRlSW5kZXgoKTtcblxuICAgICAgICBpZiAoY3VycmVudEluZGV4IDw9IDApIHtcbiAgICAgICAgICAgIGlmKGlzTG9vcCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEFsbFNsaWRlc0FycmF5KClbMF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNsaWRlcy5maXJzdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNsaWRlcy5nZXQoY3VycmVudEluZGV4IC0gMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNsaWRlc0NvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNsaWRlcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBbGxTbGlkZXNDb3VudCgpOiBudW1iZXIge1xuICAgICAgICBpZiAodGhpcy5oYXNDb250cm9scygpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zbGlkZXMubGVuZ3RoICsgMjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNsaWRlcy5sZW5ndGhcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNOb1NsaWRlU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5zbGlkZXMuc29tZSgoaXRlbSkgPT4gaXRlbS5pc0N1cnJlbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25OYXZpZ2F0aW9uQnV0dG9uVGFiQW5kU2hpZnQoZTogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBidXR0b246IEVsZW1lbnRSZWYgPSB0aGlzLm5hdmlnYXRpb25CdXR0b25zLmdldCh0aGlzLmdldEN1cnJlbnRTbGlkZUluZGV4KCkpO1xuICAgICAgICBpZiAoYnV0dG9uKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1BsYXlpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3BQbGF5aW5nKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNGaXJzdEJ1dHRvbihpbmRleCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBsYXlCdXR0b24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5wbGF5QnV0dG9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnBhdXNlQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c09uQnV0dG9uKHRoaXMucGF1c2VCdXR0b24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nb1RvUHJldmlvdXNTbGlkZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgYnV0dG9uOiBFbGVtZW50UmVmID0gdGhpcy5uYXZpZ2F0aW9uQnV0dG9ucy5nZXQodGhpcy5nZXRDdXJyZW50U2xpZGVJbmRleCgpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24oYnV0dG9uKTtcbiAgICAgICAgICAgIH0sIHRoaXMuVElNRU9VVF9JTlRFUlZBTCk7XG4gICAgICAgIH1cbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25OYXZpZ2F0aW9uQnV0dG9uVGFiKGUsIGluZGV4KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTGFzdEJ1dHRvbihpbmRleCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzQnV0dG9uVmlzaWJsZSh0aGlzLnByZXZCdXR0b24pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c09uQnV0dG9uKHRoaXMucHJldkJ1dHRvbik7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nb1RvTmV4dFNsaWRlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBidXR0b246IEVsZW1lbnRSZWYgPSB0aGlzLm5hdmlnYXRpb25CdXR0b25zLmdldCh0aGlzLmdldEN1cnJlbnRTbGlkZUluZGV4KCkpO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbihidXR0b24pO1xuICAgICAgICAgICAgfSwgdGhpcy5USU1FT1VUX0lOVEVSVkFMKTtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25OYXZpZ2F0aW9uQnV0dG9uQXJyb3dSaWdodChlOiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5nb1RvTmV4dFNsaWRlKGZhbHNlKTtcbiAgICAgICAgICAgIGNvbnN0IGJ1dHRvbjogRWxlbWVudFJlZiA9IHRoaXMubmF2aWdhdGlvbkJ1dHRvbnMuZ2V0KHRoaXMuZ2V0Q3VycmVudFNsaWRlSW5kZXgoKSk7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24oYnV0dG9uKTtcbiAgICAgICAgfSwgdGhpcy5USU1FT1VUX0lOVEVSVkFMKTtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25OYXZpZ2F0aW9uQnV0dG9uQXJyb3dMZWZ0KGU6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNGaXJzdEJ1dHRvbihpbmRleCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBsYXlCdXR0b24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5wbGF5QnV0dG9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnBhdXNlQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c09uQnV0dG9uKHRoaXMucGF1c2VCdXR0b24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nb1RvUHJldmlvdXNTbGlkZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgYnV0dG9uOiBFbGVtZW50UmVmID0gdGhpcy5uYXZpZ2F0aW9uQnV0dG9ucy5nZXQodGhpcy5nZXRDdXJyZW50U2xpZGVJbmRleCgpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24oYnV0dG9uKTtcbiAgICAgICAgICAgIH0sIHRoaXMuVElNRU9VVF9JTlRFUlZBTCk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG9ic2VydmVCcmVha3BvaW50Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jZGtCcmVha3BvaW50T2JzZXJ2ZXJcbiAgICAgICAgICAgIC5vYnNlcnZlKFtcbiAgICAgICAgICAgICAgICAnKG1heC13aWR0aDogNzY4cHgpJyxcbiAgICAgICAgICAgICAgICAnKG1heC13aWR0aDogOTk3cHgpJyxcbiAgICAgICAgICAgICAgICAnKG1pbi13aWR0aDogOTk4cHgpJyxcbiAgICAgICAgICAgICAgICAnKG1pbi13aWR0aDogMTE0MHB4KSBhbmQgKG1heC13aWR0aDogMTI2MHB4KScsXG4gICAgICAgICAgICAgICAgJyhtaW4td2lkdGg6IDExNDBweCknLFxuICAgICAgICAgICAgXSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNNb2JpbGVCcmVha3BvaW50ID0gcmVzdWx0LmJyZWFrcG9pbnRzWycobWF4LXdpZHRoOiA3NjhweCknXTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzVGFibGV0QnJlYWtwb2ludCA9IHJlc3VsdC5icmVha3BvaW50c1snKG1pbi13aWR0aDogOTk4cHgpJ107XG4gICAgICAgICAgICAgICAgdGhpcy5pc0Rlc2t0b3BCcmVha3BvaW50ID0gcmVzdWx0LmJyZWFrcG9pbnRzWycobWluLXdpZHRoOiAxMTQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjYwcHgpJ107XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xhcmdlRGVza3RvcEJyZWFrcG9pbnQgPSByZXN1bHQuYnJlYWtwb2ludHNbJyhtaW4td2lkdGg6IDExNDBweCknXTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmJyZWFrcG9pbnRzWycobWF4LXdpZHRoOiA5OTdweCknXSkge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVzZXRIZWlnaHQoKSwgMjAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGVCcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcFBsYXlpbmcoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1RhYmxldEJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoZWNrQmFubmVySGVpZ2h0cygpLCAyMDApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTGFyZ2VEZXNrdG9wQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQnV0dG9uRGlzcGxheSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb2JzZXJ2ZUVsZW1lbnRTaXplQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KS5vYnNlcnZlKHRoaXMuY2Fyb3VzZWxDb250YWluZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNCdXR0b25EaXNwbGF5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQnV0dG9uTmF2VmlzaWJsZSA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmdldFNsaWRlc0NvdW50KCkgPD0gMSkge1xuICAgICAgICAgICAgdGhpcy5pc0J1dHRvbk5hdlZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tCYW5uZXJIZWlnaHRzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBoZWlnaHRWYWx1ZXMgPSB0aGlzLnNsaWRlcy5tYXAoKHNsaWRlKT0+IHtcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IHNsaWRlLmJhbm5lcj8uZWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnaGVpZ2h0JywgaGVpZ2h0KTtcbiAgICAgICAgICAgIGlmIChoZWlnaHQgPT09ICdhdXRvJykge1xuICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKE51bWJlci5pc05hTihoZWlnaHQpIHx8IGhlaWdodCA9PT0gMTAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaGVpZ2h0O1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBlbGVtZW50SGVpZ2h0cyA9IGhlaWdodFZhbHVlcy5maWx0ZXIoKGhlaWdodCk9PiBoZWlnaHQgIT09IHVuZGVmaW5lZClcbiAgICAgICAgY29uc3QgdGFsbGVzdEVsZW1lbnRIZWlnaHQgPSBNYXRoLm1heCguLi5lbGVtZW50SGVpZ2h0cyk7XG4gICAgICAgIGlmICh0YWxsZXN0RWxlbWVudEhlaWdodCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVzLmZvckVhY2goKHNsaWRlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmFubmVyID0gc2xpZGUuYmFubmVyO1xuICAgICAgICAgICAgICAgIGlmIChiYW5uZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmFubmVySW1hZ2UgPSBiYW5uZXIuZWNsQmFubmVySW1hZ2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKGJhbm5lci5lbC5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7dGFsbGVzdEVsZW1lbnRIZWlnaHR9cHhgKVxuICAgICAgICAgICAgICAgICAgICBpZiAoYmFubmVySW1hZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKGJhbm5lckltYWdlLmVsLm5hdGl2ZUVsZW1lbnQsICdhc3BlY3RSYXRpbycsICdhdXRvJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMucmVzZXRIaWRkZW5JdGVtcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldEhlaWdodCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRBbGxTbGlkZXNBcnJheSgpLmZvckVhY2goKHNsaWRlKT0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJhbm5lciA9IHNsaWRlLmJhbm5lcjtcbiAgICAgICAgICAgIGlmIChiYW5uZXIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBiYW5uZXJJbWFnZSA9IHNsaWRlLmJhbm5lci5lY2xCYW5uZXJJbWFnZTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShiYW5uZXIuZWwubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsICcnKVxuICAgICAgICAgICAgICAgIGlmIChiYW5uZXJJbWFnZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShiYW5uZXJJbWFnZS5lbC5uYXRpdmVFbGVtZW50LCAnYXNwZWN0UmF0aW8nLCAnJylcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlc2V0SGlkZGVuSXRlbXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0SGlkZGVuSXRlbXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhhc0NvbnRyb2xzKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZmlyc3RIaWRkZW5JdGVtLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5nZXRMYXN0Q29udGVudENoaWxkKCk7XG4gICAgICAgICAgICB0aGlzLmxhc3RIaWRkZW5JdGVtLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5nZXRGaXJzdENvbnRlbnRDaGlsZCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiAjY2Fyb3VzZWxDb250YWluZXIgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX2NvbnRhaW5lclwiIFtjbGFzcy5lY2wtY2Fyb3VzZWwtY29udGFpbmVyLS1wYWRkZWRdPVwiaXNQYWRkZWQoKVwiPlxuICAgIDxkaXYgI3NsaWRlc0NvbnRhaW5lciAoa2V5dXApPVwib25GaXJzdENhcm91c2VsRWxlbWVudFByZXNzKCRldmVudClcIiBjbGFzcz1cImVjbC1jYXJvdXNlbF9fc2xpZGVzXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImdldENhcm91c2VsU2xpZGVzV2lkdGgoKVwiIFtzdHlsZS5sZWZ0LnB4XT1cIiFpc1J0bCA/IGdldENhcm91c2VsU2xpZGVzT2Zmc2V0TGVmdCgpIDogbnVsbFwiXG4gICAgICAgIFtzdHlsZS5yaWdodC5weF09XCJpc1J0bCA/IGdldENhcm91c2VsU2xpZGVzT2Zmc2V0UmlnaHQoKSA6IG51bGxcIlxuICAgICAgICBbc3R5bGUudHJhbnNpdGlvbi1kdXJhdGlvbi5zXT1cInRyYW5zaXRpb25EdXJhdGlvblwiIChtb3VzZW92ZXIpPVwib25TbGlkZUhvdmVyKClcIiAobW91c2VvdXQpPVwib25TbGlkZUhvdmVyb3V0KClcIj5cblxuICAgICAgICBAaWYoaGFzQ29udHJvbHMoKSl7XG4gICAgICAgIDxlY2wtY2Fyb3VzZWwtaXRlbSAjZmlyc3RIaWRkZW5JdGVtIFtzdHlsZS53aWR0aC4lXT1cInNsaWRlV2lkdGhcIj48L2VjbC1jYXJvdXNlbC1pdGVtPlxuICAgICAgICB9XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICAgICAgICBAaWYoaGFzQ29udHJvbHMoKSl7XG4gICAgICAgIDxlY2wtY2Fyb3VzZWwtaXRlbSAjbGFzdEhpZGRlbkl0ZW0gW3N0eWxlLndpZHRoLiVdPVwic2xpZGVXaWR0aFwiPjwvZWNsLWNhcm91c2VsLWl0ZW0+XG4gICAgICAgIH1cblxuICAgIDwvZGl2PlxuPC9kaXY+XG5AaWYoaXNCdXR0b25OYXZWaXNpYmxlKSB7XG48YnV0dG9uICNwcmV2QnV0dG9uIGNsYXNzPVwiZWNsLWJ1dHRvbiBlY2wtYnV0dG9uLS1naG9zdCBlY2wtY2Fyb3VzZWxfX3ByZXYgZWNsLWJ1dHRvbi0taWNvbi1vbmx5XCIgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cIm9uUHJldmlvdXNTbGlkZUNsaWNrKClcIj5cbiAgICA8c3BhbiBjbGFzcz1cImVjbC1idXR0b25fX2NvbnRhaW5lclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC1idXR0b25fX2xhYmVsXCI+XG4gICAgICAgICAgICB7eyAnZWNsLmNhcm91c2VsLk5FWFQtU0xJREVTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxlY2wtaWNvbiBpY29uPVwiY29ybmVyLWFycm93XCIgc2l6ZT1cIm1cIiB0cmFuc2Zvcm09XCJyb3RhdGUtMjcwXCIgY2xhc3M9XCJlY2wtYnV0dG9uX19pY29uXCI+IDwvZWNsLWljb24+XG4gICAgPC9zcGFuPlxuPC9idXR0b24+XG59XG5cbkBpZihoYXNDb250cm9scygpKXtcbjxkaXYgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX2NvbnRyb2xzXCI+XG4gICAgPGRpdiBjbGFzcz1cImVjbC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1jYXJvdXNlbF9fYXV0b3BsYXlcIj5cbiAgICAgICAgICAgIDxidXR0b24gI3BsYXlCdXR0b24gY2xhc3M9XCJlY2wtYnV0dG9uIGVjbC1idXR0b24tLWdob3N0IGVjbC1jYXJvdXNlbF9fcGxheSBlY2wtYnV0dG9uLS1pY29uLW9ubHlcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIiBbc3R5bGUuZGlzcGxheV09XCJpc1BsYXlpbmcgPyAnbm9uZScgOiAnZmxleCdcIiAoa2V5ZG93bik9XCJvblBsYXlLZXlib2FyZFByZXNzKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblBsYXlDbGljaygpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlY2wtYnV0dG9uX19jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlY2wtYnV0dG9uX19sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VjbC5jYXJvdXNlbC5QTEFZJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxlY2wtaWNvbiBpY29uPVwicGxheS1vdXRsaW5lXCIgc2l6ZT1cIm1cIiBjbGFzcz1cImVjbC1idXR0b25fX2ljb24gZWNsLWNhcm91c2VsX19pY29uLWRlZmF1bHRcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9lY2wtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8YnV0dG9uICNwYXVzZUJ1dHRvbiBjbGFzcz1cImVjbC1idXR0b24gZWNsLWJ1dHRvbi0tZ2hvc3QgZWNsLWNhcm91c2VsX19wYXVzZSBlY2wtYnV0dG9uLS1pY29uLW9ubHlcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIiBbc3R5bGUuZGlzcGxheV09XCJpc1BsYXlpbmcgPyAnZmxleCcgOiAnbm9uZSdcIiAoa2V5ZG93bik9XCJvblBsYXlLZXlib2FyZFByZXNzKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblBhdXNlQ2xpY2soKVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLWJ1dHRvbl9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLWJ1dHRvbl9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlY2wuY2Fyb3VzZWwuUEFVU0UnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGVjbC1pY29uIGljb249XCJwYXVzZVwiIHNpemU9XCJtXCIgY2xhc3M9XCJlY2wtYnV0dG9uX19pY29uIGVjbC1jYXJvdXNlbF9faWNvbi1kZWZhdWx0XCI+IDwvZWNsLWljb24+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1jYXJvdXNlbF9fbmF2aWdhdGlvblwiPlxuICAgICAgICAgICAgQGZvciAoc2xpZGUgb2Ygc2xpZGVzOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgc2xpZGUpIHtcbiAgICAgICAgICAgIDxidXR0b24gI2N1cnJCdXR0b24gW2F0dHIuYXJpYS1jdXJyZW50XT1cImkgPT09IGdldEN1cnJlbnRTbGlkZUluZGV4KClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZWNsLWJ1dHRvbiBlY2wtYnV0dG9uLS1naG9zdCBlY2wtY2Fyb3VzZWxfX25hdmlnYXRpb24taXRlbVwiIChjbGljayk9XCJvblNsaWRlQ29udHJvbENsaWNrKHNsaWRlKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25OYXZCdG5LZXlib2FyZFByZXNzKCRldmVudCwgaSlcIj5cbiAgICAgICAgICAgICAgICB7eyBpICsgMSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG59XG5AaWYoaXNCdXR0b25OYXZWaXNpYmxlKSB7XG48YnV0dG9uICNuZXh0QnV0dG9uIGNsYXNzPVwiZWNsLWJ1dHRvbiBlY2wtYnV0dG9uLS1naG9zdCBlY2wtY2Fyb3VzZWxfX25leHQgZWNsLWJ1dHRvbi0taWNvbi1vbmx5XCIgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cIm9uTmV4dFNsaWRlQ2xpY2soKVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZWNsLWJ1dHRvbl9fY29udGFpbmVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLWJ1dHRvbl9fbGFiZWxcIj5cbiAgICAgICAgICAgIHt7ICdlY2wuY2Fyb3VzZWwuTkVYVC1TTElERVMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiBzaXplPVwibVwiIHRyYW5zZm9ybT1cInJvdGF0ZS05MFwiIGNsYXNzPVwiZWNsLWJ1dHRvbl9faWNvblwiPiA8L2VjbC1pY29uPlxuICAgIDwvc3Bhbj5cblxuPC9idXR0b24+XG59Il19
|
|
@@ -7,11 +7,11 @@ import { EclCarouselComponent } from './ecl-carousel.component';
|
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
const COMPONENTS = [EclCarouselComponent, EclCarouselItemComponent];
|
|
9
9
|
export class EclCarouselComponentModule {
|
|
10
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
11
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
12
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
10
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCarouselComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCarouselComponentModule, declarations: [EclCarouselComponent, EclCarouselItemComponent], imports: [CommonModule, EclIconComponentModule, TranslateModule], exports: [EclCarouselComponent, EclCarouselItemComponent] }); }
|
|
12
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCarouselComponentModule, imports: [CommonModule, EclIconComponentModule, TranslateModule] }); }
|
|
13
13
|
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCarouselComponentModule, decorators: [{
|
|
15
15
|
type: NgModule,
|
|
16
16
|
args: [{
|
|
17
17
|
imports: [CommonModule, EclIconComponentModule, TranslateModule],
|
|
@@ -93,10 +93,10 @@ export class EclCategoryFilterComponent extends ECLBaseDirective {
|
|
|
93
93
|
it.isCurrent = false;
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
97
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
96
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCategoryFilterComponent, deps: [{ token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
97
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.3", type: EclCategoryFilterComponent, selector: "ecl-category-filter", inputs: { currentItemId: "currentItemId", ariaLabel: ["aria-label", "ariaLabel"] }, host: { properties: { "class.ecl-category-filter": "this.className", "attr.role": "this.role", "attr.aria-label": "this.ariaLabel" } }, queries: [{ propertyName: "eclCategoryList", first: true, predicate: i0.forwardRef(() => EclCategoryFilterListComponent), descendants: true }, { propertyName: "eclCategoryFilterItemsAll", predicate: i0.forwardRef(() => EclCategoryFilterItemComponent), descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }); }
|
|
98
98
|
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCategoryFilterComponent, decorators: [{
|
|
100
100
|
type: Component,
|
|
101
101
|
args: [{ selector: 'ecl-category-filter', template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
|
|
102
102
|
}], ctorParameters: () => [{ type: i0.IterableDiffers }], propDecorators: { currentItemId: [{
|
|
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
|
|
|
120
120
|
type: ContentChildren,
|
|
121
121
|
args: [forwardRef(() => EclCategoryFilterItemComponent), { descendants: true }]
|
|
122
122
|
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWNhdGVnb3J5LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWNhdGVnb3J5LWZpbHRlci9lY2wtY2F0ZWdvcnktZmlsdGVyL2VjbC1jYXRlZ29yeS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1jYXRlZ29yeS1maWx0ZXIvZWNsLWNhdGVnb3J5LWZpbHRlci9lY2wtY2F0ZWdvcnktZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUlYLEtBQUssR0FHUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsRUFBRSxJQUFJLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUlyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7QUFhaEgsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGdCQUFnQjtJQWM1RCxZQUFvQixPQUF3QjtRQUN4QyxLQUFLLEVBQUUsQ0FBQztRQURRLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBWEYsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQyxTQUFJLEdBQUcsWUFBWSxDQUFDO1FBQ08sY0FBUyxHQUFrQixpQkFBaUIsQ0FBQztRQU0xRixhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7UUFLeEQsSUFBSSxDQUFDLE1BQU0sR0FB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V0FBVzt1QkFBQyxXQUFXO2dCQUM2QixTQUFTO3NCQUE3RCxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQUcsS0FBSzt1QkFBQyxZQUFZO2dCQUVhLGVBQWU7c0JBQTlFLFlBQVk7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2dCQUU5RCx5QkFBeUI7c0JBRHhCLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEl0ZXJhYmxlRGlmZmVyLFxuICAgIEl0ZXJhYmxlRGlmZmVycyxcbiAgICBRdWVyeUxpc3QsXG4gICAgSW5wdXQsXG4gICAgRG9DaGVjayxcbiAgICBBZnRlckNvbnRlbnRJbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZGdlbiB9IGZyb20gJ3V1aWQnO1xuXG5pbXBvcnQgeyBFY2xDYXRlZ29yeUZpbHRlckl0ZW1TZWxlY3RFdmVudCB9IGZyb20gJy4uL2NvbW1vbi9lY2wtY2F0ZWdvcnktZmlsdGVyLWl0ZW0uZXZlbnQnO1xuaW1wb3J0IHsgRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvZWNsLWNhdGVnb3J5LWZpbHRlci1pdGVtLm1vZGVsJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLWNhdGVnb3J5LWZpbHRlci1saXN0L2VjbC1jYXRlZ29yeS1maWx0ZXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWNsQ2F0ZWdvcnlGaWx0ZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLWNhdGVnb3J5LWZpbHRlci1saXN0L2VjbC1jYXRlZ29yeS1maWx0ZXItbGlzdC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC1jYXRlZ29yeS1maWx0ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtY2F0ZWdvcnktZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICBgLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjbENhdGVnb3J5RmlsdGVyQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIERvQ2hlY2ssIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBJbnB1dCgpIGN1cnJlbnRJdGVtSWQ6IHN0cmluZztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLWNhdGVnb3J5LWZpbHRlcicpIGNsYXNzTmFtZSA9IHRydWU7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ25hdmlnYXRpb24nO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJykgQElucHV0KCdhcmlhLWxhYmVsJykgYXJpYUxhYmVsOiBzdHJpbmcgfCBudWxsID0gJ0NhdGVnb3J5IGZpbHRlcic7XG5cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gRWNsQ2F0ZWdvcnlGaWx0ZXJMaXN0Q29tcG9uZW50KSkgZWNsQ2F0ZWdvcnlMaXN0OiBFY2xDYXRlZ29yeUZpbHRlckxpc3RDb21wb25lbnQ7XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEVjbENhdGVnb3J5RmlsdGVySXRlbUNvbXBvbmVudCksIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBlY2xDYXRlZ29yeUZpbHRlckl0ZW1zQWxsOiBRdWVyeUxpc3Q8RWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtQ29tcG9uZW50PjtcblxuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIHByaXZhdGUgZGlmZmVyOiBJdGVyYWJsZURpZmZlcjxFY2xDYXRlZ29yeUZpbHRlckl0ZW1Db21wb25lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5kaWZmZXIgPSB0aGlzLmRpZmZlcnMuZmluZChbXSkuY3JlYXRlKCk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkaWZmID0gdGhpcy5kaWZmZXIuZGlmZih0aGlzLmVjbENhdGVnb3J5RmlsdGVySXRlbXNBbGwpO1xuICAgICAgICBpZiAoZGlmZikge1xuICAgICAgICAgICAgZGlmZi5mb3JFYWNoSXRlbSgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdENhdGVnb3J5ZmlsdGVySXRlbUV2ZW50cyhpdGVtLml0ZW0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVjbENhdGVnb3J5TGlzdC51cGRhdGVDaGlsZHJlbkl0ZW1zTGV2ZWwoMCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudEl0ZW1JZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0UHJlc2VsZWN0ZWRDdXJyZW50SXRlbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0ICgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRJZCh0aGlzLmVjbENhdGVnb3J5TGlzdC5lY2xDYXRlZ29yeUZpbHRlckl0ZW1zKTtcblxuICAgIH1cblxuICAgcHJpdmF0ZSBzZXRJZChzdWJMaXN0OiBRdWVyeUxpc3Q8RWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtQ29tcG9uZW50Pik6IHZvaWQge1xuICAgICAgICBpZiAoc3ViTGlzdCkge1xuICAgICAgICAgICAgc3ViTGlzdC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXRlbS5pZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5pZCA9IHV1aWRnZW4oKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZihpdGVtLmVjbENhdGVnb3J5TGlzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5lY2xDYXRlZ29yeUxpc3QuY29udHJvbHMgPSBpdGVtLmlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRJZChpdGVtLmVjbENhdGVnb3J5TGlzdC5lY2xDYXRlZ29yeUZpbHRlckl0ZW1zKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbm5lY3RDYXRlZ29yeWZpbHRlckl0ZW1FdmVudHMoaXRlbTogRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGl0ZW0uaXRlbVNlbGVjdC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChldnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25JdGVtU2VsZWN0ZWQoZXZ0KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkl0ZW1TZWxlY3RlZChldnQ6IEVjbENhdGVnb3J5RmlsdGVySXRlbVNlbGVjdEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChldnQuaXRlbS5pc1Jvb3RJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlQWxsSXRlbXNCdXRPbmUoZXZ0Lml0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZXNlbGVjdEFsbEl0ZW1zQnV0T25lKGV2dC5pdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UHJlc2VsZWN0ZWRDdXJyZW50SXRlbSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3Vyckl0ZW0gPSB0aGlzLmVjbENhdGVnb3J5RmlsdGVySXRlbXNBbGwudG9BcnJheSgpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IHRoaXMuY3VycmVudEl0ZW1JZCk7XG4gICAgICAgIGlmKGN1cnJJdGVtKSB7XG4gICAgICAgICAgICBjdXJySXRlbS5pc0N1cnJlbnQgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKGN1cnJJdGVtLmhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgY3Vyckl0ZW0uaXNFeHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmV4cGFuZFBhcmVudHMoY3Vyckl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleHBhbmRQYXJlbnRzKGN1cnJJdGVtOiBFY2xDYXRlZ29yeUZpbHRlckl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKGN1cnJJdGVtLmlzUm9vdEl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtc0FsbC5maW5kKFxuICAgICAgICAgICAgICAgIChpdGVtKSA9PiBpdGVtLmhhc0NoaWxkcmVuICYmIGl0ZW0uY2hpbGRyZW4uZmluZCgoY2hpbGQpID0+IGNoaWxkLmlkID09PSBjdXJySXRlbS5pZCkgIT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwYXJlbnQuaXNFeHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZFBhcmVudHMocGFyZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VBbGxJdGVtc0J1dE9uZShpdGVtOiBFY2xDYXRlZ29yeUZpbHRlckl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lY2xDYXRlZ29yeUZpbHRlckl0ZW1zQWxsXG4gICAgICAgICAgICAuZmlsdGVyKChpdCkgPT4gaXQgIT09IGl0ZW0pXG4gICAgICAgICAgICAuZm9yRWFjaCgoaXQpID0+IHtcbiAgICAgICAgICAgICAgICBpdC5pc0V4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaXQuaXNDdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc2VsZWN0QWxsSXRlbXNCdXRPbmUoaXRlbTogRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtc0FsbFxuICAgICAgICAgICAgLmZpbHRlcigoaXQpID0+IGl0ICE9PSBpdGVtKVxuICAgICAgICAgICAgLmZvckVhY2goKGl0KSA9PiB7XG4gICAgICAgICAgICAgICAgaXQuaXNDdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWNhdGVnb3J5LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWNhdGVnb3J5LWZpbHRlci9lY2wtY2F0ZWdvcnktZmlsdGVyL2VjbC1jYXRlZ29yeS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1jYXRlZ29yeS1maWx0ZXIvZWNsLWNhdGVnb3J5LWZpbHRlci9lY2wtY2F0ZWdvcnktZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUlYLEtBQUssR0FHUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsRUFBRSxJQUFJLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUlyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7QUFhaEgsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGdCQUFnQjtJQWM1RCxZQUFvQixPQUF3QjtRQUN4QyxLQUFLLEVBQUUsQ0FBQztRQURRLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBWEYsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQyxTQUFJLEdBQUcsWUFBWSxDQUFDO1FBQ08sY0FBUyxHQUFrQixpQkFBaUIsQ0FBQztRQU0xRixhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7UUFLeEQsSUFBSSxDQUFDLE1BQU0sR0FB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QkFBMEI7a0JBWHRDLFNBQVM7K0JBQ0kscUJBQXFCO29GQVd0QixhQUFhO3NCQUFyQixLQUFLO2dCQUVvQyxTQUFTO3NCQUFsRCxXQUFXO3VCQUFDLDJCQUEyQjtnQkFDZCxJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBQzZCLFNBQVM7c0JBQTdELFdBQVc7dUJBQUMsaUJBQWlCOztzQkFBRyxLQUFLO3VCQUFDLFlBQVk7Z0JBRWEsZUFBZTtzQkFBOUUsWUFBWTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUM7Z0JBRTlELHlCQUF5QjtzQkFEeEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSXRlcmFibGVEaWZmZXIsXG4gICAgSXRlcmFibGVEaWZmZXJzLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBJbnB1dCxcbiAgICBEb0NoZWNrLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkZ2VuIH0gZnJvbSAndXVpZCc7XG5cbmltcG9ydCB7IEVjbENhdGVnb3J5RmlsdGVySXRlbVNlbGVjdEV2ZW50IH0gZnJvbSAnLi4vY29tbW9uL2VjbC1jYXRlZ29yeS1maWx0ZXItaXRlbS5ldmVudCc7XG5pbXBvcnQgeyBFY2xDYXRlZ29yeUZpbHRlckl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9lY2wtY2F0ZWdvcnktZmlsdGVyLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xDYXRlZ29yeUZpbHRlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9lY2wtY2F0ZWdvcnktZmlsdGVyLWxpc3QvZWNsLWNhdGVnb3J5LWZpbHRlci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFY2xDYXRlZ29yeUZpbHRlckxpc3RDb21wb25lbnQgfSBmcm9tICcuLi9lY2wtY2F0ZWdvcnktZmlsdGVyLWxpc3QvZWNsLWNhdGVnb3J5LWZpbHRlci1saXN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLWNhdGVnb3J5LWZpbHRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1jYXRlZ29yeS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIGAsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRWNsQ2F0ZWdvcnlGaWx0ZXJDb21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgRG9DaGVjaywgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQElucHV0KCkgY3VycmVudEl0ZW1JZDogc3RyaW5nO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5lY2wtY2F0ZWdvcnktZmlsdGVyJykgY2xhc3NOYW1lID0gdHJ1ZTtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnbmF2aWdhdGlvbic7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKSBASW5wdXQoJ2FyaWEtbGFiZWwnKSBhcmlhTGFiZWw6IHN0cmluZyB8IG51bGwgPSAnQ2F0ZWdvcnkgZmlsdGVyJztcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFY2xDYXRlZ29yeUZpbHRlckxpc3RDb21wb25lbnQpKSBlY2xDYXRlZ29yeUxpc3Q6IEVjbENhdGVnb3J5RmlsdGVyTGlzdENvbXBvbmVudDtcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtQ29tcG9uZW50KSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIGVjbENhdGVnb3J5RmlsdGVySXRlbXNBbGw6IFF1ZXJ5TGlzdDxFY2xDYXRlZ29yeUZpbHRlckl0ZW1Db21wb25lbnQ+O1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgcHJpdmF0ZSBkaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPEVjbENhdGVnb3J5RmlsdGVySXRlbUNvbXBvbmVudD47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmRpZmZlciA9IHRoaXMuZGlmZmVycy5maW5kKFtdKS5jcmVhdGUoKTtcbiAgICB9XG5cbiAgICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRpZmYgPSB0aGlzLmRpZmZlci5kaWZmKHRoaXMuZWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtc0FsbCk7XG4gICAgICAgIGlmIChkaWZmKSB7XG4gICAgICAgICAgICBkaWZmLmZvckVhY2hJdGVtKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0Q2F0ZWdvcnlmaWx0ZXJJdGVtRXZlbnRzKGl0ZW0uaXRlbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZWNsQ2F0ZWdvcnlMaXN0LnVwZGF0ZUNoaWxkcmVuSXRlbXNMZXZlbCgwKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50SXRlbUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRQcmVzZWxlY3RlZEN1cnJlbnRJdGVtKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQgKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldElkKHRoaXMuZWNsQ2F0ZWdvcnlMaXN0LmVjbENhdGVnb3J5RmlsdGVySXRlbXMpO1xuXG4gICAgfVxuXG4gICBwcml2YXRlIHNldElkKHN1Ykxpc3Q6IFF1ZXJ5TGlzdDxFY2xDYXRlZ29yeUZpbHRlckl0ZW1Db21wb25lbnQ+KTogdm9pZCB7XG4gICAgICAgIGlmIChzdWJMaXN0KSB7XG4gICAgICAgICAgICBzdWJMaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpdGVtLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmlkID0gdXVpZGdlbigpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmKGl0ZW0uZWNsQ2F0ZWdvcnlMaXN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmVjbENhdGVnb3J5TGlzdC5jb250cm9scyA9IGl0ZW0uaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldElkKGl0ZW0uZWNsQ2F0ZWdvcnlMaXN0LmVjbENhdGVnb3J5RmlsdGVySXRlbXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY29ubmVjdENhdGVnb3J5ZmlsdGVySXRlbUV2ZW50cyhpdGVtOiBFY2xDYXRlZ29yeUZpbHRlckl0ZW1Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaXRlbS5pdGVtU2VsZWN0LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGV2dCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkl0ZW1TZWxlY3RlZChldnQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uSXRlbVNlbGVjdGVkKGV2dDogRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtU2VsZWN0RXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2dC5pdGVtLmlzUm9vdEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VBbGxJdGVtc0J1dE9uZShldnQuaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlc2VsZWN0QWxsSXRlbXNCdXRPbmUoZXZ0Lml0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQcmVzZWxlY3RlZEN1cnJlbnRJdGVtKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJySXRlbSA9IHRoaXMuZWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtc0FsbC50b0FycmF5KCkuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gdGhpcy5jdXJyZW50SXRlbUlkKTtcbiAgICAgICAgaWYoY3Vyckl0ZW0pIHtcbiAgICAgICAgICAgIGN1cnJJdGVtLmlzQ3VycmVudCA9IHRydWU7XG4gICAgICAgICAgICBpZiAoY3Vyckl0ZW0uaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBjdXJySXRlbS5pc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZXhwYW5kUGFyZW50cyhjdXJySXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cGFuZFBhcmVudHMoY3Vyckl0ZW06IEVjbENhdGVnb3J5RmlsdGVySXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoY3Vyckl0ZW0uaXNSb290SXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5lY2xDYXRlZ29yeUZpbHRlckl0ZW1zQWxsLmZpbmQoXG4gICAgICAgICAgICAgICAgKGl0ZW0pID0+IGl0ZW0uaGFzQ2hpbGRyZW4gJiYgaXRlbS5jaGlsZHJlbi5maW5kKChjaGlsZCkgPT4gY2hpbGQuaWQgPT09IGN1cnJJdGVtLmlkKSAhPT0gdW5kZWZpbmVkLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHBhcmVudC5pc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kUGFyZW50cyhwYXJlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZUFsbEl0ZW1zQnV0T25lKGl0ZW06IEVjbENhdGVnb3J5RmlsdGVySXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLmVjbENhdGVnb3J5RmlsdGVySXRlbXNBbGxcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0KSA9PiBpdCAhPT0gaXRlbSlcbiAgICAgICAgICAgIC5mb3JFYWNoKChpdCkgPT4ge1xuICAgICAgICAgICAgICAgIGl0LmlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBpdC5pc0N1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzZWxlY3RBbGxJdGVtc0J1dE9uZShpdGVtOiBFY2xDYXRlZ29yeUZpbHRlckl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lY2xDYXRlZ29yeUZpbHRlckl0ZW1zQWxsXG4gICAgICAgICAgICAuZmlsdGVyKChpdCkgPT4gaXQgIT09IGl0ZW0pXG4gICAgICAgICAgICAuZm9yRWFjaCgoaXQpID0+IHtcbiAgICAgICAgICAgICAgICBpdC5pc0N1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|
|
@@ -59,10 +59,10 @@ export class EclCategoryFilterItemComponent extends ECLBaseDirective {
|
|
|
59
59
|
this.eclCategoryList.level = value;
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
63
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-next.
|
|
62
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCategoryFilterItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
63
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-next.3", type: EclCategoryFilterItemComponent, selector: "ecl-category-filter-item", inputs: { href: "href", id: "id" }, outputs: { itemSelect: "itemSelect" }, host: { properties: { "class.ecl-category-filter__list-item": "this.className", "attr.role": "this.role", "class.ecl-category-filter__list-item--open": "this.isAriaExpanded" } }, queries: [{ propertyName: "eclCategoryList", first: true, predicate: i0.forwardRef(() => EclCategoryFilterListComponent), descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded] = \"isExpanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"onItemClick($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "ariaHidden", "focusable"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
64
64
|
}
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCategoryFilterItemComponent, decorators: [{
|
|
66
66
|
type: Component,
|
|
67
67
|
args: [{ selector: 'ecl-category-filter-item', template: "@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded] = \"isExpanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"onItemClick($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
68
68
|
}], propDecorators: { href: [{
|
|
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
|
|
|
84
84
|
type: ContentChild,
|
|
85
85
|
args: [forwardRef(() => EclCategoryFilterListComponent)]
|
|
86
86
|
}] } });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWNhdGVnb3J5LWZpbHRlci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtY2F0ZWdvcnktZmlsdGVyL2VjbC1jYXRlZ29yeS1maWx0ZXItbGlzdC9lY2wtY2F0ZWdvcnktZmlsdGVyLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1jYXRlZ29yeS1maWx0ZXIvZWNsLWNhdGVnb3J5LWZpbHRlci1saXN0L2VjbC1jYXRlZ29yeS1maWx0ZXItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzlHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBTXRGLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxnQkFBZ0I7SUFKcEU7O1FBUWMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFvQyxDQUFDO1FBRXZCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDNUMsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQU01QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGNBQVMsR0FBRyxLQUFLLENBQUM7S0F1RHJCO0lBN0RHLElBQ0ksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JELENBQUM7SUFNRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFHRCxJQUFJLFVBQVU7UUFDVixPQUFPLG9DQUFvQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLGVBQWUsS0FBSyxTQUFTLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLHVCQUF1QjtRQUN2QixPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBZTtRQUN2QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDYixHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUNELEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sY0FBYztRQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRU8sb0JBQW9CLENBQUMsS0FBYTtRQUN0QyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdkMsQ0FBQztJQUNMLENBQUM7d0lBcEVRLDhCQUE4Qjs0SEFBOUIsOEJBQThCLCtYQWVSLDhCQUE4Qix3RUMxQmpFLG1wREFvQ0E7O2tHRHpCYSw4QkFBOEI7a0JBSjFDLFNBQVM7K0JBQ0ksMEJBQTBCOzhCQUkzQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBRThDLFNBQVM7c0JBQTdELFdBQVc7dUJBQUMsc0NBQXNDO2dCQUN6QixJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBRXBCLGNBQWM7c0JBRGpCLFdBQVc7dUJBQUMsNENBQTRDO2dCQU9PLGVBQWU7c0JBQTlFLFlBQVk7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvZWNsLWNhdGVnb3J5LWZpbHRlci1pdGVtLm1vZGVsJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtU2VsZWN0RXZlbnQgfSBmcm9tICcuLi9jb21tb24vZWNsLWNhdGVnb3J5LWZpbHRlci1pdGVtLmV2ZW50JztcbmltcG9ydCB7IEVjbENhdGVnb3J5RmlsdGVyTGlzdENvbXBvbmVudCB9IGZyb20gJy4vZWNsLWNhdGVnb3J5LWZpbHRlci1saXN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLWNhdGVnb3J5LWZpbHRlci1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLWNhdGVnb3J5LWZpbHRlci1pdGVtLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEVjbENhdGVnb3J5RmlsdGVySXRlbSB7XG4gICAgQElucHV0KCkgaHJlZjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG5cbiAgICBAT3V0cHV0KCkgaXRlbVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtU2VsZWN0RXZlbnQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1jYXRlZ29yeS1maWx0ZXJfX2xpc3QtaXRlbScpIGNsYXNzTmFtZSA9IHRydWU7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ2xpc3RpdGVtJztcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1jYXRlZ29yeS1maWx0ZXJfX2xpc3QtaXRlbS0tb3BlbicpXG4gICAgZ2V0IGlzQXJpYUV4cGFuZGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNDaGlsZHJlbiA/IHRoaXMuaXNFeHBhbmRlZCA6IG51bGw7XG4gICAgfVxuXG4gICAgaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgIGlzQ3VycmVudCA9IGZhbHNlO1xuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFY2xDYXRlZ29yeUZpbHRlckxpc3RDb21wb25lbnQpKSBlY2xDYXRlZ29yeUxpc3Q6IEVjbENhdGVnb3J5RmlsdGVyTGlzdENvbXBvbmVudDtcblxuICAgIGdldCBsZXZlbCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGV2ZWw7XG4gICAgfVxuICAgIHNldCBsZXZlbCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2xldmVsID0gKyt2YWx1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVDaGlsZExpc3RMZXZlbCh0aGlzLl9sZXZlbCk7XG4gICAgfVxuICAgIHByaXZhdGUgX2xldmVsOiBudW1iZXI7XG5cbiAgICBnZXQgbGV2ZWxDbGFzcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYGVjbC1jYXRlZ29yeS1maWx0ZXJfX2l0ZW0tLWxldmVsLSR7dGhpcy5fbGV2ZWx9YDtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVjbENhdGVnb3J5TGlzdCAhPT0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGdldCBjaGlsZHJlbigpOiBFY2xDYXRlZ29yeUZpbHRlckl0ZW1Db21wb25lbnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVjbENhdGVnb3J5TGlzdC5jaGlsZHJlbjtcbiAgICB9XG5cbiAgICBnZXQgaXNSb290SXRlbVdpdGhDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ2hpbGRyZW4gJiYgdGhpcy5pc1Jvb3RJdGVtO1xuICAgIH1cblxuICAgIGdldCBpc0NoaWxkSXRlbVdpdGhDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ2hpbGRyZW4gJiYgIXRoaXMuaXNSb290SXRlbTtcbiAgICB9XG5cbiAgICBnZXQgaXNSb290SXRlbSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGV2ZWwgPT09IDE7XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2soZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9nZ2xlRXhwYW5kZWQoKTtcbiAgICAgICAgdGhpcy5pdGVtU2VsZWN0Lm5leHQobmV3IEVjbENhdGVnb3J5RmlsdGVySXRlbVNlbGVjdEV2ZW50KHRoaXMpKTtcbiAgICAgICAgaWYgKCF0aGlzLmhyZWYpIHtcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvZ2dsZUV4cGFuZGVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSAhdGhpcy5pc0V4cGFuZGVkO1xuICAgICAgICB0aGlzLmlzQ3VycmVudCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDaGlsZExpc3RMZXZlbCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVjbENhdGVnb3J5TGlzdCkge1xuICAgICAgICAgICAgdGhpcy5lY2xDYXRlZ29yeUxpc3QubGV2ZWwgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpZiAoaGFzQ2hpbGRyZW4pIHtcbiAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiZWNsLWNhdGVnb3J5LWZpbHRlcl9faXRlbSB7eyBsZXZlbENsYXNzIH19XCJcbiAgICAgICAgW2NsYXNzLmVjbC1jYXRlZ29yeS1maWx0ZXJfX2l0ZW0tLWhhcy1jaGlsZHJlbl09XCJoYXNDaGlsZHJlblwiXG4gICAgICAgIFtjbGFzcy5lY2wtY2F0ZWdvcnktZmlsdGVyX19pdGVtLS1jdXJyZW50XT1cImlzQ3VycmVudFwiXG4gICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJpc0N1cnJlbnQgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdID0gXCJpc0V4cGFuZGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpZFwiXG4gICAgICAgIChjbGljayk9XCJvbkl0ZW1DbGljaygkZXZlbnQpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIEBpZihpc0NoaWxkSXRlbVdpdGhDaGlsZHJlbikge1xuICAgICAgICAgICAgPGVjbC1pY29uIGljb249XCJzb2xpZC1hcnJvd1wiIHNpemU9XCJ4c1wiIHRyYW5zZm9ybT1cInJvdGF0ZS05MFwiIGNsYXNzPVwiZWNsLWNhdGVnb3J5LWZpbHRlcl9faXRlbS1pY29uXCI+IDwvZWNsLWljb24+XG4gICAgICAgIH1cbiAgICAgICAgQGlmKGlzUm9vdEl0ZW1XaXRoQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgIDxlY2wtaWNvbiBpY29uPVwiY29ybmVyLWFycm93XCIgc2l6ZT1cInhzXCIgdHJhbnNmb3JtPVwicm90YXRlLTE4MFwiIGNsYXNzPVwiZWNsLWNhdGVnb3J5LWZpbHRlcl9faXRlbS1pY29uXCI+IDwvZWNsLWljb24+XG4gICAgICAgIH1cbiAgICA8L2J1dHRvbj5cbn0gQGVsc2Uge1xuICAgIDxhXG4gICAgICAgIFtocmVmXT1cImhyZWZcIlxuICAgICAgICBjbGFzcz1cImVjbC1jYXRlZ29yeS1maWx0ZXJfX2l0ZW0ge3sgbGV2ZWxDbGFzcyB9fVwiXG4gICAgICAgIFtjbGFzcy5lY2wtY2F0ZWdvcnktZmlsdGVyX19pdGVtLS1oYXMtY2hpbGRyZW5dPVwiaGFzQ2hpbGRyZW5cIlxuICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICBAaWYoaXNDaGlsZEl0ZW1XaXRoQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgIDxlY2wtaWNvbiBpY29uPVwic29saWQtYXJyb3dcIiBzaXplPVwieHNcIiB0cmFuc2Zvcm09XCJyb3RhdGUtOTBcIiBjbGFzcz1cImVjbC1jYXRlZ29yeS1maWx0ZXJfX2l0ZW0taWNvblwiPiA8L2VjbC1pY29uPlxuICAgICAgICB9XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIEBpZihpc1Jvb3RJdGVtV2l0aENoaWxkcmVuKSB7XG4gICAgICAgICAgICA8ZWNsLWljb24gaWNvbj1cImNvcm5lci1hcnJvd1wiIHNpemU9XCJ4c1wiIHRyYW5zZm9ybT1cInJvdGF0ZS0xODBcIiBjbGFzcz1cImVjbC1jYXRlZ29yeS1maWx0ZXJfX2l0ZW0taWNvblwiPiA8L2VjbC1pY29uPlxuICAgICAgICB9XG4gICAgPC9hPlxufVxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiZWNsLWNhdGVnb3J5LWZpbHRlci1saXN0XCI+PC9uZy1jb250ZW50PlxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -26,10 +26,10 @@ export class EclCategoryFilterListComponent extends ECLBaseDirective {
|
|
|
26
26
|
this.eclCategoryFilterItems.forEach((item) => (item.level = value));
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
30
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
29
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCategoryFilterListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.3", type: EclCategoryFilterListComponent, selector: "ecl-category-filter-list", host: { properties: { "class.ecl-category-filter__list": "this.className", "attr.role": "this.role", "attr.aria-controls": "this.controls" } }, queries: [{ propertyName: "eclCategoryFilterItems", predicate: i0.forwardRef(() => EclCategoryFilterItemComponent) }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
|
|
31
31
|
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCategoryFilterListComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
34
|
args: [{ selector: 'ecl-category-filter-list', template: "<ng-content></ng-content>\n" }]
|
|
35
35
|
}], propDecorators: { className: [{
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
|
|
|
45
45
|
type: ContentChildren,
|
|
46
46
|
args: [forwardRef(() => EclCategoryFilterItemComponent)]
|
|
47
47
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWNhdGVnb3J5LWZpbHRlci1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtY2F0ZWdvcnktZmlsdGVyL2VjbC1jYXRlZ29yeS1maWx0ZXItbGlzdC9lY2wtY2F0ZWdvcnktZmlsdGVyLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1jYXRlZ29yeS1maWx0ZXIvZWNsLWNhdGVnb3J5LWZpbHRlci1saXN0L2VjbC1jYXRlZ29yeS1maWx0ZXItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU01RCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsZ0JBQWdCO0lBSnBFOztRQUtvRCxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3ZDLFNBQUksR0FBRyxNQUFNLENBQUM7S0E2QjNDO0lBdkJHLElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUdELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQWE7UUFDbEMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDekMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNMLENBQUM7d0lBOUJRLDhCQUE4Qjs0SEFBOUIsOEJBQThCLDJRQUtMLDhCQUE4QixxRENicEUsNkJBQ0E7O2tHRE9hLDhCQUE4QjtrQkFKMUMsU0FBUzsrQkFDSSwwQkFBMEI7OEJBSVksU0FBUztzQkFBeEQsV0FBVzt1QkFBQyxpQ0FBaUM7Z0JBQ3BCLElBQUk7c0JBQTdCLFdBQVc7dUJBQUMsV0FBVztnQkFDVyxRQUFRO3NCQUExQyxXQUFXO3VCQUFDLG9CQUFvQjtnQkFHakMsc0JBQXNCO3NCQURyQixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFY2xDYXRlZ29yeUZpbHRlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2VjbC1jYXRlZ29yeS1maWx0ZXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLWNhdGVnb3J5LWZpbHRlci1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLWNhdGVnb3J5LWZpbHRlci1saXN0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsQ2F0ZWdvcnlGaWx0ZXJMaXN0Q29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5lY2wtY2F0ZWdvcnktZmlsdGVyX19saXN0JykgY2xhc3NOYW1lID0gdHJ1ZTtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnbGlzdCc7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtY29udHJvbHMnKSBjb250cm9sczogc3RyaW5nO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEVjbENhdGVnb3J5RmlsdGVySXRlbUNvbXBvbmVudCkpXG4gICAgZWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtczogUXVlcnlMaXN0PEVjbENhdGVnb3J5RmlsdGVySXRlbUNvbXBvbmVudD47XG5cbiAgICBnZXQgbGV2ZWwoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xldmVsO1xuICAgIH1cbiAgICBzZXQgbGV2ZWwodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9sZXZlbCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnVwZGF0ZUNoaWxkcmVuSXRlbXNMZXZlbCh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2xldmVsOiBudW1iZXI7XG5cbiAgICBnZXQgaGFzQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVjbENhdGVnb3J5RmlsdGVySXRlbXMgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmVjbENhdGVnb3J5RmlsdGVySXRlbXMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBnZXQgY2hpbGRyZW4oKTogRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtQ29tcG9uZW50W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5lY2xDYXRlZ29yeUZpbHRlckl0ZW1zLnRvQXJyYXkoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDaGlsZHJlbkl0ZW1zTGV2ZWwodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5lY2xDYXRlZ29yeUZpbHRlckl0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLmVjbENhdGVnb3J5RmlsdGVySXRlbXMuZm9yRWFjaCgoaXRlbSkgPT5cbiAgICAgICAgICAgICAgICAoaXRlbS5sZXZlbCA9IHZhbHVlKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -9,11 +9,11 @@ import { EclCategoryFilterListComponent } from './ecl-category-filter-list/ecl-c
|
|
|
9
9
|
import { EclCategoryFilterItemComponent } from './ecl-category-filter-list/ecl-category-filter-item.component';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export class EclCategoryFilterModule {
|
|
12
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
13
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
14
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
12
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCategoryFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCategoryFilterModule, declarations: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent], imports: [EclIconComponentModule, EclLinkDirectiveModule, CommonModule, LayoutModule, TranslateModule], exports: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent] }); }
|
|
14
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCategoryFilterModule, imports: [EclIconComponentModule, EclLinkDirectiveModule, CommonModule, LayoutModule, TranslateModule] }); }
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCategoryFilterModule, decorators: [{
|
|
17
17
|
type: NgModule,
|
|
18
18
|
args: [{
|
|
19
19
|
imports: [EclIconComponentModule, EclLinkDirectiveModule, CommonModule, LayoutModule, TranslateModule],
|
|
@@ -9,10 +9,10 @@ export class EclCheckboxHelpComponent extends ECLBaseDirective {
|
|
|
9
9
|
get cssClasses() {
|
|
10
10
|
return [super.getCssClasses('ecl-checkbox__help')].join(' ');
|
|
11
11
|
}
|
|
12
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
13
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
12
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCheckboxHelpComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.3", type: EclCheckboxHelpComponent, selector: "[eclCheckboxHelp]", inputs: { isDisabled: "isDisabled" }, host: { properties: { "class.ecl-checkbox__help--disabled": "this.isDisabled", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
|
|
14
14
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclCheckboxHelpComponent, decorators: [{
|
|
16
16
|
type: Component,
|
|
17
17
|
args: [{ selector: '[eclCheckboxHelp]', template: "<ng-content></ng-content>\n" }]
|
|
18
18
|
}], propDecorators: { isDisabled: [{
|