@eui/ecl 18.0.0-next.7 → 18.0.0-next.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (641) hide show
  1. package/assets/i18n-ecl/bg.json +2 -0
  2. package/assets/i18n-ecl/cs.json +2 -0
  3. package/assets/i18n-ecl/da.json +2 -0
  4. package/assets/i18n-ecl/de.json +3 -1
  5. package/assets/i18n-ecl/el.json +3 -1
  6. package/assets/i18n-ecl/en.json +3 -1
  7. package/assets/i18n-ecl/es.json +3 -1
  8. package/assets/i18n-ecl/et.json +2 -0
  9. package/assets/i18n-ecl/fi.json +3 -1
  10. package/assets/i18n-ecl/fr.json +3 -1
  11. package/assets/i18n-ecl/ga.json +3 -1
  12. package/assets/i18n-ecl/hr.json +2 -0
  13. package/assets/i18n-ecl/hu.json +3 -1
  14. package/assets/i18n-ecl/it.json +3 -1
  15. package/assets/i18n-ecl/lt.json +3 -1
  16. package/assets/i18n-ecl/lv.json +3 -1
  17. package/assets/i18n-ecl/mt.json +3 -1
  18. package/assets/i18n-ecl/nl.json +3 -1
  19. package/assets/i18n-ecl/pl.json +3 -1
  20. package/assets/i18n-ecl/pt.json +3 -1
  21. package/assets/i18n-ecl/ro.json +3 -1
  22. package/assets/i18n-ecl/sk.json +3 -1
  23. package/assets/i18n-ecl/sl.json +3 -1
  24. package/assets/i18n-ecl/sv.json +2 -0
  25. package/docs/components/EclAccordionComponent.html +2 -2
  26. package/docs/components/EclAccordionItemComponent.html +3 -3
  27. package/docs/components/EclAppComponent.html +2 -2
  28. package/docs/components/EclBannerComponent.html +17 -4
  29. package/docs/components/EclBlockquoteComponent.html +2 -2
  30. package/docs/components/EclBreadcrumbComponent.html +3 -3
  31. package/docs/components/EclBreadcrumbSegmentComponent.html +41 -59
  32. package/docs/components/EclButtonComponent.html +3 -3
  33. package/docs/components/EclCardBodyComponent.html +2 -2
  34. package/docs/components/EclCardComponent.html +2 -2
  35. package/docs/components/EclCarouselComponent.html +2 -7
  36. package/docs/components/EclCarouselItemComponent.html +2 -2
  37. package/docs/components/EclCategoryFilterComponent.html +2 -2
  38. package/docs/components/EclCategoryFilterItemComponent.html +2 -2
  39. package/docs/components/EclCategoryFilterListComponent.html +2 -2
  40. package/docs/components/EclCheckboxHelpComponent.html +2 -2
  41. package/docs/components/EclCheckboxLabelComponent.html +29 -5
  42. package/docs/components/EclContentBlockComponent.html +2 -2
  43. package/docs/components/EclContentItemComponent.html +2 -2
  44. package/docs/components/EclDateBlockComponent.html +2 -2
  45. package/docs/components/EclDescriptionListDefinitionComponent.html +2 -2
  46. package/docs/components/EclExpandableComponent.html +2 -2
  47. package/docs/components/EclFactFiguresComponent.html +2 -2
  48. package/docs/components/EclFactFiguresDescriptionComponent.html +2 -2
  49. package/docs/components/EclFactFiguresItemComponent.html +2 -2
  50. package/docs/components/EclFactFiguresTitleComponent.html +2 -2
  51. package/docs/components/EclFactFiguresValueComponent.html +2 -2
  52. package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
  53. package/docs/components/EclFeaturedComponent.html +7 -7
  54. package/docs/components/EclFeaturedItemComponent.html +3 -3
  55. package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
  56. package/docs/components/EclFeaturedItemFooterComponent.html +530 -0
  57. package/docs/components/EclFileComponent.html +3 -3
  58. package/docs/components/EclFileItemComponent.html +3 -3
  59. package/docs/components/EclFileItemsComponent.html +2 -2
  60. package/docs/components/EclFileTaxonomyComponent.html +2 -2
  61. package/docs/components/EclFormGroupComponent.html +2 -2
  62. package/docs/components/EclFormLabelComponent.html +7 -7
  63. package/docs/components/EclGalleryComponent.html +27 -144
  64. package/docs/components/EclGalleryFooterComponent.html +3 -3
  65. package/docs/components/EclGalleryItemComponent.html +4 -92
  66. package/docs/components/EclIconComponent.html +4 -6
  67. package/docs/components/EclInpageNavigationComponent.html +104 -3
  68. package/docs/components/EclInpageNavigationItemComponent.html +3 -3
  69. package/docs/components/EclListIllustrationComponent.html +2 -2
  70. package/docs/components/EclListIllustrationItemComponent.html +3 -3
  71. package/docs/components/EclLoadingIndicatorComponent.html +2 -2
  72. package/docs/components/EclMediaContainerComponent.html +11 -161
  73. package/docs/components/EclMenuComponent.html +3 -3
  74. package/docs/components/EclMenuItemComponent.html +3 -3
  75. package/docs/components/EclMenuMegaComponent.html +2 -26
  76. package/docs/components/EclMenuMegaItemComponent.html +68 -4
  77. package/docs/components/EclModalBodyComponent.html +2 -2
  78. package/docs/components/EclModalComponent.html +2 -2
  79. package/docs/components/EclModalFooterComponent.html +2 -2
  80. package/docs/components/EclModalHeaderComponent.html +3 -3
  81. package/docs/components/EclMultiselectComponent.html +39 -3
  82. package/docs/components/EclMultiselectDropdownComponent.html +32 -3
  83. package/docs/components/EclMultiselectInputComponent.html +110 -4
  84. package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
  85. package/docs/components/EclMultiselectOptionComponent.html +34 -4
  86. package/docs/components/EclNavigationListComponent.html +85 -3
  87. package/docs/components/EclNavigationListImageComponent.html +2 -2
  88. package/docs/components/EclNavigationListItemComponent.html +30 -7
  89. package/docs/components/EclNewsTickerComponent.html +2 -2
  90. package/docs/components/EclNewsTickerItemComponent.html +2 -2
  91. package/docs/components/EclNotificationComponent.html +2 -2
  92. package/docs/components/EclPageHeaderComponent.html +15 -34
  93. package/docs/components/EclPaginationComponent.html +7 -7
  94. package/docs/components/EclPaginationItemComponent.html +172 -6
  95. package/docs/components/EclPopoverComponent.html +2 -2
  96. package/docs/components/EclRadioHelpComponent.html +3 -3
  97. package/docs/components/EclRadioLabelComponent.html +4 -4
  98. package/docs/components/EclRangeValueComponent.html +2 -2
  99. package/docs/components/EclRatingFieldComponent.html +6 -6
  100. package/docs/components/EclSearchFormComponent.html +46 -3
  101. package/docs/components/EclSelectContainerComponent.html +66 -3
  102. package/docs/components/EclSiteFooterComponent.html +4 -4
  103. package/docs/components/EclSiteFooterFixedContentECComponent.html +4 -4
  104. package/docs/components/EclSiteFooterFixedContentEUComponent.html +4 -4
  105. package/docs/components/EclSiteHeaderActionComponent.html +2 -2
  106. package/docs/components/EclSiteHeaderBannerTopComponent.html +104 -3
  107. package/docs/components/EclSiteHeaderComponent.html +74 -76
  108. package/docs/components/EclSiteHeaderEnvironmentComponent.html +15 -3
  109. package/docs/components/EclSiteHeaderLanguageComponent.html +17 -23
  110. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +16 -4
  111. package/docs/components/EclSiteHeaderLoginComponent.html +4 -4
  112. package/docs/components/{EclSiteHeaderMessageComponent.html → EclSiteHeaderNotificationComponent.html} +8 -8
  113. package/docs/components/EclSiteHeaderSearchComponent.html +2 -2
  114. package/docs/components/EclSocialMediaFollowComponent.html +4 -4
  115. package/docs/components/EclSocialMediaFollowItemComponent.html +28 -4
  116. package/docs/components/EclSocialMediaShareComponent.html +3 -3
  117. package/docs/components/EclSocialMediaShareItemComponent.html +3 -3
  118. package/docs/components/EclStickyContainerComponent.html +77 -4
  119. package/docs/components/EclTabComponent.html +5 -74
  120. package/docs/components/EclTabLabelComponent.html +2 -2
  121. package/docs/components/EclTabMoreComponent.html +3 -97
  122. package/docs/components/EclTableSortButtonComponent.html +72 -27
  123. package/docs/components/EclTabsComponent.html +3 -27
  124. package/docs/components/EclTagComponent.html +54 -7
  125. package/docs/components/EclTimelineComponent.html +2 -2
  126. package/docs/components/EclTimelineItemComponent.html +4 -42
  127. package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
  128. package/docs/dependencies.html +36 -26
  129. package/docs/directives/EclCheckboxDirective.html +26 -2
  130. package/docs/directives/EclDatePickerDirective.html +25 -1
  131. package/docs/directives/{EclSiteFooterLogoImageDesktopDirective.html → EclFeaturedItemFooterLinkDirective.html} +9 -17
  132. package/docs/directives/EclFeaturedItemFooterPictureDirective.html +472 -0
  133. package/docs/directives/EclFileUploadDirective.html +15 -3
  134. package/docs/directives/EclHelpBlockDirective.html +1 -1
  135. package/docs/directives/EclLinkDirective.html +3 -3
  136. package/docs/directives/EclMediaContainerItemDirective.html +0 -76
  137. package/docs/directives/EclPageHeaderDescriptionContainerDirective.html +498 -0
  138. package/docs/directives/{EclBannerCreditDirective.html → EclPageHeaderInfoDirective.html} +6 -6
  139. package/docs/directives/EclPageHeaderTitleDirective.html +50 -52
  140. package/docs/directives/EclRadioDirective.html +2 -2
  141. package/docs/directives/EclRangeDirective.html +1 -1
  142. package/docs/directives/EclSelectDirective.html +2 -2
  143. package/docs/directives/EclSiteFooterListDirective.html +2 -2
  144. package/docs/directives/EclSiteFooterSectionDirective.html +4 -4
  145. package/docs/directives/EclSiteFooterTitleDirective.html +1 -1
  146. package/docs/directives/EclSiteHeaderImageDirective.html +498 -0
  147. package/docs/directives/EclSiteHeaderLinkDirective.html +498 -0
  148. package/docs/directives/EclSiteHeaderPictureDirective.html +498 -0
  149. package/docs/directives/EclTableDirective.html +1 -1
  150. package/docs/directives/EclTableHeaderDirective.html +32 -1
  151. package/docs/{classes/EclGalleryDownloadEvent.html → directives/EclTagSetDirective.html} +168 -78
  152. package/docs/directives/EclTextAreaDirective.html +1 -1
  153. package/docs/directives/EclTextInputDirective.html +1 -1
  154. package/docs/index.html +2 -2
  155. package/docs/js/menu-wc.js +116 -144
  156. package/docs/js/menu-wc_es5.js +1 -1
  157. package/docs/js/search/search_index.js +2 -2
  158. package/docs/miscellaneous/enumerations.html +56 -0
  159. package/docs/miscellaneous/variables.html +42 -4
  160. package/docs/modules/EclBannerComponentModule.html +0 -6
  161. package/docs/modules/EclBreadcrumbComponentModule.html +0 -6
  162. package/docs/modules/EclCardComponentModule.html +0 -6
  163. package/docs/modules/EclCarouselComponentModule.html +0 -6
  164. package/docs/modules/EclCheckboxModule.html +0 -6
  165. package/docs/modules/EclContentBlockComponentModule.html +0 -6
  166. package/docs/modules/EclContentItemComponentModule.html +0 -6
  167. package/docs/modules/EclFeaturedModule.html +26 -8
  168. package/docs/modules/EclFileComponentModule.html +0 -6
  169. package/docs/modules/EclGalleryComponentModule.html +0 -6
  170. package/docs/modules/EclListDirectiveModule.html +0 -6
  171. package/docs/modules/EclListIllustrationComponentModule.html +0 -6
  172. package/docs/modules/EclMediaContainerComponentModule.html +0 -6
  173. package/docs/modules/EclMenuComponentModule.html +0 -6
  174. package/docs/modules/EclModalComponentModule.html +0 -6
  175. package/docs/modules/EclNavigationListComponentModule.html +0 -6
  176. package/docs/modules/EclPageHeaderComponentModule.html +0 -6
  177. package/docs/modules/EclPopoverComponentModule.html +0 -6
  178. package/docs/modules/EclRangeDirectiveModule.html +0 -6
  179. package/docs/modules/EclRatingFieldComponentModule.html +0 -6
  180. package/docs/modules/EclSelectDirectiveModule.html +0 -6
  181. package/docs/modules/EclSiteFooterComponentModule.html +0 -6
  182. package/docs/modules/EclSiteHeaderComponentModule.html +0 -6
  183. package/docs/modules/EclSocialMediaFollowComponentModule.html +0 -6
  184. package/docs/modules/EclSocialMediaShareComponentModule.html +0 -6
  185. package/docs/modules/EclTableDirectiveModule.html +0 -6
  186. package/docs/modules/EclTabsComponentModule.html +0 -6
  187. package/docs/modules/EclTagComponentModule.html +6 -0
  188. package/esm2022/lib/components/ecl-accordion/ecl-accordion-item.component.mjs +6 -7
  189. package/esm2022/lib/components/ecl-accordion/ecl-accordion.component.mjs +4 -4
  190. package/esm2022/lib/components/ecl-accordion/ecl-accordion.module.mjs +5 -5
  191. package/esm2022/lib/components/ecl-app/ecl-app.component.mjs +4 -4
  192. package/esm2022/lib/components/ecl-app/ecl-app.module.mjs +5 -5
  193. package/esm2022/lib/components/ecl-banner/ecl-banner-description.directive.mjs +7 -7
  194. package/esm2022/lib/components/ecl-banner/ecl-banner-picture.directive.mjs +7 -7
  195. package/esm2022/lib/components/ecl-banner/ecl-banner-title.directive.mjs +7 -7
  196. package/esm2022/lib/components/ecl-banner/ecl-banner.component.mjs +55 -13
  197. package/esm2022/lib/components/ecl-banner/ecl-banner.module.mjs +5 -9
  198. package/esm2022/lib/components/ecl-banner/index.mjs +1 -2
  199. package/esm2022/lib/components/ecl-base.directive.mjs +4 -4
  200. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote-picture.directive.mjs +7 -7
  201. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.component.mjs +4 -4
  202. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.module.mjs +5 -5
  203. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.mjs +17 -15
  204. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.mjs +5 -20
  205. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.module.mjs +5 -5
  206. package/esm2022/lib/components/ecl-button/ecl-button-label.directive.mjs +4 -4
  207. package/esm2022/lib/components/ecl-button/ecl-button.component.mjs +5 -5
  208. package/esm2022/lib/components/ecl-button/ecl-button.module.mjs +5 -5
  209. package/esm2022/lib/components/ecl-card/ecl-card-body.component.mjs +4 -4
  210. package/esm2022/lib/components/ecl-card/ecl-card-picture.directive.mjs +7 -7
  211. package/esm2022/lib/components/ecl-card/ecl-card.component.mjs +4 -4
  212. package/esm2022/lib/components/ecl-card/ecl-card.module.mjs +5 -5
  213. package/esm2022/lib/components/ecl-carousel/ecl-carousel-item.component.mjs +4 -4
  214. package/esm2022/lib/components/ecl-carousel/ecl-carousel.component.mjs +19 -14
  215. package/esm2022/lib/components/ecl-carousel/ecl-carousel.module.mjs +5 -5
  216. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.mjs +4 -4
  217. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.mjs +4 -4
  218. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.mjs +4 -4
  219. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter.module.mjs +5 -5
  220. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-help.component.mjs +7 -6
  221. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-input.directive.mjs +4 -4
  222. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-label.component.mjs +14 -18
  223. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.directive.mjs +18 -19
  224. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.module.mjs +5 -5
  225. package/esm2022/lib/components/ecl-content-block/ecl-content-block-elements.directive.mjs +52 -52
  226. package/esm2022/lib/components/ecl-content-block/ecl-content-block.component.mjs +4 -4
  227. package/esm2022/lib/components/ecl-content-block/ecl-content-block.module.mjs +5 -5
  228. package/esm2022/lib/components/ecl-content-item/ecl-content-item-image.directive.mjs +7 -7
  229. package/esm2022/lib/components/ecl-content-item/ecl-content-item.component.mjs +9 -5
  230. package/esm2022/lib/components/ecl-content-item/ecl-content-item.module.mjs +5 -5
  231. package/esm2022/lib/components/ecl-date-block/ecl-date-block.component.mjs +4 -4
  232. package/esm2022/lib/components/ecl-date-block/ecl-date-block.module.mjs +5 -5
  233. package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.directive.mjs +43 -21
  234. package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.module.mjs +5 -5
  235. package/esm2022/lib/components/ecl-expandable/ecl-expandable.component.mjs +4 -4
  236. package/esm2022/lib/components/ecl-expandable/ecl-expandable.module.mjs +5 -5
  237. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.mjs +4 -4
  238. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.mjs +4 -4
  239. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.mjs +4 -4
  240. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.mjs +4 -4
  241. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.mjs +4 -4
  242. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.component.mjs +4 -4
  243. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.module.mjs +5 -5
  244. package/esm2022/lib/components/ecl-featured/ecl-featured-item-description.component.mjs +4 -4
  245. package/esm2022/lib/components/ecl-featured/ecl-featured-item-footer.component.mjs +19 -0
  246. package/esm2022/lib/components/ecl-featured/ecl-featured-item-link.directive.mjs +37 -4
  247. package/esm2022/lib/components/ecl-featured/ecl-featured-item.component.mjs +5 -6
  248. package/esm2022/lib/components/ecl-featured/ecl-featured.component.mjs +11 -16
  249. package/esm2022/lib/components/ecl-featured/ecl-featured.module.mjs +18 -8
  250. package/esm2022/lib/components/ecl-featured/index.mjs +2 -1
  251. package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.directive.mjs +4 -4
  252. package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.module.mjs +5 -5
  253. package/esm2022/lib/components/ecl-file/ecl-file-download.directive.mjs +7 -7
  254. package/esm2022/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.mjs +5 -6
  255. package/esm2022/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.mjs +4 -4
  256. package/esm2022/lib/components/ecl-file/ecl-file-picture.directive.mjs +10 -10
  257. package/esm2022/lib/components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.mjs +4 -4
  258. package/esm2022/lib/components/ecl-file/ecl-file.component.mjs +7 -8
  259. package/esm2022/lib/components/ecl-file/ecl-file.module.mjs +5 -5
  260. package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.directive.mjs +43 -46
  261. package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.module.mjs +5 -5
  262. package/esm2022/lib/components/ecl-form-group/ecl-form-group.component.mjs +4 -4
  263. package/esm2022/lib/components/ecl-form-group/ecl-form-group.module.mjs +5 -5
  264. package/esm2022/lib/components/ecl-form-label/ecl-form-label.component.mjs +15 -30
  265. package/esm2022/lib/components/ecl-form-label/ecl-form-label.module.mjs +5 -5
  266. package/esm2022/lib/components/ecl-gallery/ecl-gallery-footer.component.mjs +7 -8
  267. package/esm2022/lib/components/ecl-gallery/ecl-gallery-item.component.mjs +10 -29
  268. package/esm2022/lib/components/ecl-gallery/ecl-gallery-media.directive.mjs +7 -7
  269. package/esm2022/lib/components/ecl-gallery/ecl-gallery.component.mjs +26 -85
  270. package/esm2022/lib/components/ecl-gallery/ecl-gallery.module.mjs +5 -5
  271. package/esm2022/lib/components/ecl-help-block/ecl-help-block.directive.mjs +7 -12
  272. package/esm2022/lib/components/ecl-help-block/ecl-help-block.module.mjs +5 -5
  273. package/esm2022/lib/components/ecl-icon/ecl-icon.component.mjs +8 -13
  274. package/esm2022/lib/components/ecl-icon/ecl-icon.module.mjs +5 -5
  275. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.mjs +5 -5
  276. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.mjs +34 -16
  277. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.module.mjs +9 -9
  278. package/esm2022/lib/components/ecl-label/ecl-label.directive.mjs +4 -4
  279. package/esm2022/lib/components/ecl-label/ecl-label.module.mjs +5 -5
  280. package/esm2022/lib/components/ecl-link/ecl-link-label.directive.mjs +4 -4
  281. package/esm2022/lib/components/ecl-link/ecl-link.directive.mjs +7 -7
  282. package/esm2022/lib/components/ecl-link/ecl-link.module.mjs +5 -5
  283. package/esm2022/lib/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.mjs +4 -4
  284. package/esm2022/lib/components/ecl-list/ecl-description-list-definition-item.directive.mjs +7 -7
  285. package/esm2022/lib/components/ecl-list/ecl-list.directive.mjs +19 -19
  286. package/esm2022/lib/components/ecl-list/ecl-list.module.mjs +5 -5
  287. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-icon.directive.mjs +4 -4
  288. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-item.component.mjs +5 -6
  289. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.mjs +7 -7
  290. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.component.mjs +4 -4
  291. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.module.mjs +5 -5
  292. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.mjs +4 -4
  293. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.mjs +4 -4
  294. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.mjs +4 -4
  295. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator.module.mjs +5 -5
  296. package/esm2022/lib/components/ecl-media-container/ecl-media-container-iframe.directive.mjs +4 -4
  297. package/esm2022/lib/components/ecl-media-container/ecl-media-container-item.directive.mjs +5 -16
  298. package/esm2022/lib/components/ecl-media-container/ecl-media-container-picture.directive.mjs +4 -4
  299. package/esm2022/lib/components/ecl-media-container/ecl-media-container.component.mjs +9 -32
  300. package/esm2022/lib/components/ecl-media-container/ecl-media-container.module.mjs +5 -5
  301. package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.mjs +8 -8
  302. package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu.component.mjs +11 -14
  303. package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.mjs +39 -21
  304. package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.mjs +6 -18
  305. package/esm2022/lib/components/ecl-menu/ecl-menu.module.mjs +5 -5
  306. package/esm2022/lib/components/ecl-modal/ecl-modal-body-fixed.directive.mjs +4 -4
  307. package/esm2022/lib/components/ecl-modal/ecl-modal-body.component.mjs +4 -4
  308. package/esm2022/lib/components/ecl-modal/ecl-modal-close.directive.mjs +4 -4
  309. package/esm2022/lib/components/ecl-modal/ecl-modal-footer.component.mjs +4 -4
  310. package/esm2022/lib/components/ecl-modal/ecl-modal-header.component.mjs +5 -5
  311. package/esm2022/lib/components/ecl-modal/ecl-modal-trigger.directive.mjs +4 -4
  312. package/esm2022/lib/components/ecl-modal/ecl-modal.component.mjs +4 -4
  313. package/esm2022/lib/components/ecl-modal/ecl-modal.module.mjs +5 -5
  314. package/esm2022/lib/components/ecl-multiselect/boldText.pipe.mjs +4 -4
  315. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.mjs +33 -41
  316. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.mjs +36 -22
  317. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.mjs +4 -4
  318. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.mjs +12 -17
  319. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-option.directive.mjs +4 -4
  320. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.component.mjs +24 -19
  321. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.module.mjs +5 -5
  322. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-image/ecl-navigation-list-image.component.mjs +4 -4
  323. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-item.component.mjs +17 -12
  324. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-picture.directive.mjs +7 -7
  325. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.component.mjs +25 -14
  326. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.module.mjs +5 -5
  327. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.mjs +4 -4
  328. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.component.mjs +4 -4
  329. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.module.mjs +5 -5
  330. package/esm2022/lib/components/ecl-notification/ecl-notification-title.directive.mjs +4 -4
  331. package/esm2022/lib/components/ecl-notification/ecl-notification.component.mjs +4 -4
  332. package/esm2022/lib/components/ecl-notification/ecl-notification.module.mjs +5 -5
  333. package/esm2022/lib/components/ecl-page-header/ecl-page-header-background.directive.mjs +7 -7
  334. package/esm2022/lib/components/ecl-page-header/ecl-page-header-description.directive.mjs +27 -17
  335. package/esm2022/lib/components/ecl-page-header/ecl-page-header-info.directive.mjs +21 -0
  336. package/esm2022/lib/components/ecl-page-header/ecl-page-header-meta.directive.mjs +7 -7
  337. package/esm2022/lib/components/ecl-page-header/ecl-page-header-title.directive.mjs +13 -7
  338. package/esm2022/lib/components/ecl-page-header/ecl-page-header.component.mjs +18 -29
  339. package/esm2022/lib/components/ecl-page-header/ecl-page-header.module.mjs +13 -10
  340. package/esm2022/lib/components/ecl-page-header/index.mjs +2 -2
  341. package/esm2022/lib/components/ecl-pagination/ecl-pagination-item.component.mjs +39 -31
  342. package/esm2022/lib/components/ecl-pagination/ecl-pagination.component.mjs +15 -30
  343. package/esm2022/lib/components/ecl-pagination/ecl-pagination.module.mjs +5 -5
  344. package/esm2022/lib/components/ecl-popover/ecl-popover-content.directive.mjs +4 -4
  345. package/esm2022/lib/components/ecl-popover/ecl-popover-toggle.directive.mjs +4 -4
  346. package/esm2022/lib/components/ecl-popover/ecl-popover.component.mjs +4 -4
  347. package/esm2022/lib/components/ecl-popover/ecl-popover.module.mjs +5 -5
  348. package/esm2022/lib/components/ecl-radio/ecl-radio-help.component.mjs +7 -12
  349. package/esm2022/lib/components/ecl-radio/ecl-radio-input.directive.mjs +4 -4
  350. package/esm2022/lib/components/ecl-radio/ecl-radio-label.component.mjs +9 -17
  351. package/esm2022/lib/components/ecl-radio/ecl-radio.directive.mjs +11 -21
  352. package/esm2022/lib/components/ecl-radio/ecl-radio.module.mjs +5 -5
  353. package/esm2022/lib/components/ecl-range/ecl-range-value.component.mjs +4 -4
  354. package/esm2022/lib/components/ecl-range/ecl-range.directive.mjs +7 -12
  355. package/esm2022/lib/components/ecl-range/ecl-range.module.mjs +5 -5
  356. package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.component.mjs +14 -26
  357. package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.module.mjs +5 -5
  358. package/esm2022/lib/components/ecl-search-form/ecl-search-form.component.mjs +21 -19
  359. package/esm2022/lib/components/ecl-search-form/ecl-search-form.module.mjs +5 -5
  360. package/esm2022/lib/components/ecl-select/ecl-select-container.component.mjs +31 -14
  361. package/esm2022/lib/components/ecl-select/ecl-select.directive.mjs +9 -17
  362. package/esm2022/lib/components/ecl-select/ecl-select.module.mjs +8 -6
  363. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.mjs +12 -19
  364. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-column.directive.mjs +10 -10
  365. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-description.directive.mjs +4 -4
  366. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.mjs +13 -33
  367. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.mjs +21 -27
  368. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.mjs +13 -27
  369. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.mjs +10 -15
  370. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.mjs +8 -13
  371. package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.component.mjs +11 -16
  372. package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.module.mjs +6 -9
  373. package/esm2022/lib/components/ecl-site-header/action/ecl-site-header-action.component.mjs +4 -4
  374. package/esm2022/lib/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.mjs +14 -7
  375. package/esm2022/lib/components/ecl-site-header/cta/ecl-site-header-cta.directive.mjs +4 -4
  376. package/esm2022/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.mjs +16 -15
  377. package/esm2022/lib/components/ecl-site-header/ecl-site-header.component.mjs +14 -16
  378. package/esm2022/lib/components/ecl-site-header/ecl-site-header.module.mjs +21 -11
  379. package/esm2022/lib/components/ecl-site-header/index.mjs +3 -2
  380. package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.mjs +9 -8
  381. package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language.component.mjs +15 -14
  382. package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login-details.directive.mjs +7 -7
  383. package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login.component.mjs +10 -16
  384. package/esm2022/lib/components/ecl-site-header/notification/ecl-site-header-notification.component.mjs +18 -0
  385. package/esm2022/lib/components/ecl-site-header/notification/index.mjs +2 -0
  386. package/esm2022/lib/components/ecl-site-header/picture/ecl-site-header-picture.directive.mjs +55 -0
  387. package/esm2022/lib/components/ecl-site-header/{message → picture}/index.mjs +2 -2
  388. package/esm2022/lib/components/ecl-site-header/search/ecl-site-header-search.component.mjs +4 -4
  389. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.mjs +14 -10
  390. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-link.directive.mjs +4 -4
  391. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.mjs +8 -14
  392. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.mjs +7 -6
  393. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-item.component.mjs +5 -5
  394. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-link.directive.mjs +4 -4
  395. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.component.mjs +7 -12
  396. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.module.mjs +5 -5
  397. package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.component.mjs +43 -20
  398. package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.module.mjs +5 -5
  399. package/esm2022/lib/components/ecl-table/ecl-table-sort-button.component.mjs +10 -9
  400. package/esm2022/lib/components/ecl-table/ecl-table.directive.mjs +37 -36
  401. package/esm2022/lib/components/ecl-table/ecl-table.module.mjs +5 -5
  402. package/esm2022/lib/components/ecl-tabs/ecl-tab-label.component.mjs +4 -4
  403. package/esm2022/lib/components/ecl-tabs/ecl-tab-more.component.mjs +9 -18
  404. package/esm2022/lib/components/ecl-tabs/ecl-tab.component.mjs +11 -23
  405. package/esm2022/lib/components/ecl-tabs/ecl-tabs.component.mjs +9 -11
  406. package/esm2022/lib/components/ecl-tabs/ecl-tabs.module.mjs +5 -5
  407. package/esm2022/lib/components/ecl-tag/ecl-tag-set.directive.mjs +20 -0
  408. package/esm2022/lib/components/ecl-tag/ecl-tag.component.mjs +18 -10
  409. package/esm2022/lib/components/ecl-tag/ecl-tag.module.mjs +9 -8
  410. package/esm2022/lib/components/ecl-tag/index.mjs +2 -1
  411. package/esm2022/lib/components/ecl-text-area/ecl-text-area.directive.mjs +7 -12
  412. package/esm2022/lib/components/ecl-text-area/ecl-text-area.module.mjs +5 -5
  413. package/esm2022/lib/components/ecl-text-input/ecl-text-input.directive.mjs +8 -14
  414. package/esm2022/lib/components/ecl-text-input/ecl-text-input.module.mjs +5 -5
  415. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-label.directive.mjs +4 -4
  416. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-title.directive.mjs +4 -4
  417. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-toggler.component.mjs +4 -4
  418. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item.component.mjs +9 -18
  419. package/esm2022/lib/components/ecl-timeline/ecl-timeline.component.mjs +4 -4
  420. package/esm2022/lib/components/ecl-timeline/ecl-timeline.module.mjs +5 -5
  421. package/esm2022/lib/services/ecl-default-language.service.mjs +4 -4
  422. package/esm2022/lib/services/ecl-rtl.service.mjs +4 -4
  423. package/esm2022/lib/services/ecl-theme.service.mjs +4 -4
  424. package/esm2022/lib/shared/ecl-all.module.mjs +5 -5
  425. package/esm2022/lib/utils/directives/ecl-click-outside/ecl-click-outside.directive.mjs +4 -4
  426. package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.directive.mjs +4 -4
  427. package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.module.mjs +5 -5
  428. package/fesm2022/eui-ecl.mjs +4217 -3938
  429. package/fesm2022/eui-ecl.mjs.map +4 -4
  430. package/lib/components/ecl-accordion/ecl-accordion-item.component.d.ts.map +1 -1
  431. package/lib/components/ecl-banner/ecl-banner.component.d.ts +13 -4
  432. package/lib/components/ecl-banner/ecl-banner.component.d.ts.map +1 -1
  433. package/lib/components/ecl-banner/ecl-banner.module.d.ts +4 -5
  434. package/lib/components/ecl-banner/ecl-banner.module.d.ts.map +1 -1
  435. package/lib/components/ecl-banner/index.d.ts +0 -1
  436. package/lib/components/ecl-banner/index.d.ts.map +1 -1
  437. package/lib/components/ecl-base.directive.d.ts.map +1 -1
  438. package/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts +7 -6
  439. package/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts.map +1 -1
  440. package/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts +0 -4
  441. package/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts.map +1 -1
  442. package/lib/components/ecl-button/ecl-button.component.d.ts.map +1 -1
  443. package/lib/components/ecl-card/ecl-card.component.d.ts.map +1 -1
  444. package/lib/components/ecl-carousel/ecl-carousel-item.component.d.ts.map +1 -1
  445. package/lib/components/ecl-carousel/ecl-carousel.component.d.ts +1 -0
  446. package/lib/components/ecl-carousel/ecl-carousel.component.d.ts.map +1 -1
  447. package/lib/components/ecl-checkbox/ecl-checkbox-help.component.d.ts +1 -0
  448. package/lib/components/ecl-checkbox/ecl-checkbox-help.component.d.ts.map +1 -1
  449. package/lib/components/ecl-checkbox/ecl-checkbox-label.component.d.ts +7 -3
  450. package/lib/components/ecl-checkbox/ecl-checkbox-label.component.d.ts.map +1 -1
  451. package/lib/components/ecl-checkbox/ecl-checkbox.directive.d.ts +9 -5
  452. package/lib/components/ecl-checkbox/ecl-checkbox.directive.d.ts.map +1 -1
  453. package/lib/components/ecl-content-item/ecl-content-item.component.d.ts +1 -0
  454. package/lib/components/ecl-content-item/ecl-content-item.component.d.ts.map +1 -1
  455. package/lib/components/ecl-date-picker/ecl-date-picker.directive.d.ts +4 -2
  456. package/lib/components/ecl-date-picker/ecl-date-picker.directive.d.ts.map +1 -1
  457. package/lib/components/ecl-expandable/ecl-expandable.component.d.ts.map +1 -1
  458. package/lib/components/ecl-featured/ecl-featured-item-footer.component.d.ts +8 -0
  459. package/lib/components/ecl-featured/ecl-featured-item-footer.component.d.ts.map +1 -0
  460. package/lib/components/ecl-featured/ecl-featured-item-link.directive.d.ts +10 -0
  461. package/lib/components/ecl-featured/ecl-featured-item-link.directive.d.ts.map +1 -1
  462. package/lib/components/ecl-featured/ecl-featured.component.d.ts +3 -2
  463. package/lib/components/ecl-featured/ecl-featured.component.d.ts.map +1 -1
  464. package/lib/components/ecl-featured/ecl-featured.module.d.ts +5 -4
  465. package/lib/components/ecl-featured/ecl-featured.module.d.ts.map +1 -1
  466. package/lib/components/ecl-featured/index.d.ts +1 -0
  467. package/lib/components/ecl-featured/index.d.ts.map +1 -1
  468. package/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts +1 -1
  469. package/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts.map +1 -1
  470. package/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts.map +1 -1
  471. package/lib/components/ecl-file-upload/ecl-file-upload.directive.d.ts +10 -5
  472. package/lib/components/ecl-file-upload/ecl-file-upload.directive.d.ts.map +1 -1
  473. package/lib/components/ecl-form-label/ecl-form-label.component.d.ts +8 -4
  474. package/lib/components/ecl-form-label/ecl-form-label.component.d.ts.map +1 -1
  475. package/lib/components/ecl-gallery/ecl-gallery-item.component.d.ts +4 -10
  476. package/lib/components/ecl-gallery/ecl-gallery-item.component.d.ts.map +1 -1
  477. package/lib/components/ecl-gallery/ecl-gallery.component.d.ts +15 -38
  478. package/lib/components/ecl-gallery/ecl-gallery.component.d.ts.map +1 -1
  479. package/lib/components/ecl-help-block/ecl-help-block.directive.d.ts +2 -1
  480. package/lib/components/ecl-help-block/ecl-help-block.directive.d.ts.map +1 -1
  481. package/lib/components/ecl-icon/ecl-icon.component.d.ts +1 -1
  482. package/lib/components/ecl-icon/ecl-icon.component.d.ts.map +1 -1
  483. package/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts +10 -2
  484. package/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts.map +1 -1
  485. package/lib/components/ecl-link/ecl-link.directive.d.ts +3 -3
  486. package/lib/components/ecl-link/ecl-link.directive.d.ts.map +1 -1
  487. package/lib/components/ecl-list/ecl-list.directive.d.ts.map +1 -1
  488. package/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts.map +1 -1
  489. package/lib/components/ecl-list-illustration/ecl-list-illustration.component.d.ts.map +1 -1
  490. package/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.d.ts.map +1 -1
  491. package/lib/components/ecl-media-container/ecl-media-container-item.directive.d.ts +1 -8
  492. package/lib/components/ecl-media-container/ecl-media-container-item.directive.d.ts.map +1 -1
  493. package/lib/components/ecl-media-container/ecl-media-container.component.d.ts +2 -23
  494. package/lib/components/ecl-media-container/ecl-media-container.component.d.ts.map +1 -1
  495. package/lib/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts +2 -1
  496. package/lib/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts.map +1 -1
  497. package/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.d.ts +11 -5
  498. package/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.d.ts.map +1 -1
  499. package/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.d.ts +1 -5
  500. package/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.d.ts.map +1 -1
  501. package/lib/components/ecl-modal/ecl-modal-body.component.d.ts.map +1 -1
  502. package/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.d.ts +3 -0
  503. package/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.d.ts.map +1 -1
  504. package/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts +13 -3
  505. package/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts.map +1 -1
  506. package/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.d.ts +5 -3
  507. package/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.d.ts.map +1 -1
  508. package/lib/components/ecl-multiselect/ecl-multiselect.component.d.ts +8 -3
  509. package/lib/components/ecl-multiselect/ecl-multiselect.component.d.ts.map +1 -1
  510. package/lib/components/ecl-navigation-list/ecl-navigation-list-item.component.d.ts +4 -3
  511. package/lib/components/ecl-navigation-list/ecl-navigation-list-item.component.d.ts.map +1 -1
  512. package/lib/components/ecl-navigation-list/ecl-navigation-list.component.d.ts +10 -3
  513. package/lib/components/ecl-navigation-list/ecl-navigation-list.component.d.ts.map +1 -1
  514. package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts.map +1 -1
  515. package/lib/components/ecl-notification/ecl-notification.component.d.ts.map +1 -1
  516. package/lib/components/ecl-page-header/ecl-page-header-description.directive.d.ts +5 -0
  517. package/lib/components/ecl-page-header/ecl-page-header-description.directive.d.ts.map +1 -1
  518. package/lib/components/ecl-page-header/ecl-page-header-info.directive.d.ts +8 -0
  519. package/lib/components/ecl-page-header/ecl-page-header-info.directive.d.ts.map +1 -0
  520. package/lib/components/ecl-page-header/ecl-page-header-title.directive.d.ts +4 -2
  521. package/lib/components/ecl-page-header/ecl-page-header-title.directive.d.ts.map +1 -1
  522. package/lib/components/ecl-page-header/ecl-page-header.component.d.ts +6 -11
  523. package/lib/components/ecl-page-header/ecl-page-header.component.d.ts.map +1 -1
  524. package/lib/components/ecl-page-header/ecl-page-header.module.d.ts +4 -4
  525. package/lib/components/ecl-page-header/ecl-page-header.module.d.ts.map +1 -1
  526. package/lib/components/ecl-page-header/index.d.ts +1 -1
  527. package/lib/components/ecl-page-header/index.d.ts.map +1 -1
  528. package/lib/components/ecl-pagination/ecl-pagination-item.component.d.ts +16 -5
  529. package/lib/components/ecl-pagination/ecl-pagination-item.component.d.ts.map +1 -1
  530. package/lib/components/ecl-pagination/ecl-pagination.component.d.ts +8 -4
  531. package/lib/components/ecl-pagination/ecl-pagination.component.d.ts.map +1 -1
  532. package/lib/components/ecl-radio/ecl-radio-help.component.d.ts +2 -1
  533. package/lib/components/ecl-radio/ecl-radio-help.component.d.ts.map +1 -1
  534. package/lib/components/ecl-radio/ecl-radio-label.component.d.ts +4 -2
  535. package/lib/components/ecl-radio/ecl-radio-label.component.d.ts.map +1 -1
  536. package/lib/components/ecl-radio/ecl-radio.directive.d.ts +5 -2
  537. package/lib/components/ecl-radio/ecl-radio.directive.d.ts.map +1 -1
  538. package/lib/components/ecl-range/ecl-range-value.component.d.ts.map +1 -1
  539. package/lib/components/ecl-range/ecl-range.directive.d.ts +2 -1
  540. package/lib/components/ecl-range/ecl-range.directive.d.ts.map +1 -1
  541. package/lib/components/ecl-rating-field/ecl-rating-field.component.d.ts +6 -3
  542. package/lib/components/ecl-rating-field/ecl-rating-field.component.d.ts.map +1 -1
  543. package/lib/components/ecl-search-form/ecl-search-form.component.d.ts +3 -0
  544. package/lib/components/ecl-search-form/ecl-search-form.component.d.ts.map +1 -1
  545. package/lib/components/ecl-select/ecl-select-container.component.d.ts +8 -0
  546. package/lib/components/ecl-select/ecl-select-container.component.d.ts.map +1 -1
  547. package/lib/components/ecl-select/ecl-select.directive.d.ts +4 -2
  548. package/lib/components/ecl-select/ecl-select.directive.d.ts.map +1 -1
  549. package/lib/components/ecl-select/ecl-select.module.d.ts +3 -1
  550. package/lib/components/ecl-select/ecl-select.module.d.ts.map +1 -1
  551. package/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.d.ts +2 -1
  552. package/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.d.ts.map +1 -1
  553. package/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.d.ts +0 -8
  554. package/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.d.ts.map +1 -1
  555. package/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.d.ts +4 -2
  556. package/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.d.ts.map +1 -1
  557. package/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.d.ts +8 -4
  558. package/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.d.ts.map +1 -1
  559. package/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.d.ts +2 -1
  560. package/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.d.ts.map +1 -1
  561. package/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.d.ts +2 -1
  562. package/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.d.ts.map +1 -1
  563. package/lib/components/ecl-site-footer/ecl-site-footer.component.d.ts +2 -1
  564. package/lib/components/ecl-site-footer/ecl-site-footer.component.d.ts.map +1 -1
  565. package/lib/components/ecl-site-footer/ecl-site-footer.module.d.ts +1 -1
  566. package/lib/components/ecl-site-footer/ecl-site-footer.module.d.ts.map +1 -1
  567. package/lib/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.d.ts +1 -0
  568. package/lib/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.d.ts.map +1 -1
  569. package/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.d.ts +3 -2
  570. package/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.d.ts.map +1 -1
  571. package/lib/components/ecl-site-header/ecl-site-header.component.d.ts +6 -4
  572. package/lib/components/ecl-site-header/ecl-site-header.component.d.ts.map +1 -1
  573. package/lib/components/ecl-site-header/ecl-site-header.module.d.ts +11 -10
  574. package/lib/components/ecl-site-header/ecl-site-header.module.d.ts.map +1 -1
  575. package/lib/components/ecl-site-header/index.d.ts +2 -1
  576. package/lib/components/ecl-site-header/index.d.ts.map +1 -1
  577. package/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.d.ts +3 -1
  578. package/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.d.ts.map +1 -1
  579. package/lib/components/ecl-site-header/language/ecl-site-header-language.component.d.ts +7 -6
  580. package/lib/components/ecl-site-header/language/ecl-site-header-language.component.d.ts.map +1 -1
  581. package/lib/components/ecl-site-header/login/ecl-site-header-login.component.d.ts +2 -1
  582. package/lib/components/ecl-site-header/login/ecl-site-header-login.component.d.ts.map +1 -1
  583. package/lib/components/ecl-site-header/notification/ecl-site-header-notification.component.d.ts +8 -0
  584. package/lib/components/ecl-site-header/notification/ecl-site-header-notification.component.d.ts.map +1 -0
  585. package/lib/components/ecl-site-header/notification/index.d.ts +2 -0
  586. package/lib/components/ecl-site-header/notification/index.d.ts.map +1 -0
  587. package/lib/components/ecl-site-header/picture/ecl-site-header-picture.directive.d.ts +18 -0
  588. package/lib/components/ecl-site-header/picture/ecl-site-header-picture.directive.d.ts.map +1 -0
  589. package/lib/components/ecl-site-header/picture/index.d.ts +2 -0
  590. package/lib/components/ecl-site-header/picture/index.d.ts.map +1 -0
  591. package/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.d.ts +2 -1
  592. package/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.d.ts.map +1 -1
  593. package/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.d.ts +2 -1
  594. package/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.d.ts.map +1 -1
  595. package/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.d.ts +4 -3
  596. package/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.d.ts.map +1 -1
  597. package/lib/components/ecl-social-media-share/ecl-social-media-share.component.d.ts +2 -1
  598. package/lib/components/ecl-social-media-share/ecl-social-media-share.component.d.ts.map +1 -1
  599. package/lib/components/ecl-sticky-container/ecl-sticky-container.component.d.ts +14 -2
  600. package/lib/components/ecl-sticky-container/ecl-sticky-container.component.d.ts.map +1 -1
  601. package/lib/components/ecl-table/ecl-table-sort-button.component.d.ts +2 -2
  602. package/lib/components/ecl-table/ecl-table-sort-button.component.d.ts.map +1 -1
  603. package/lib/components/ecl-table/ecl-table.directive.d.ts +7 -4
  604. package/lib/components/ecl-table/ecl-table.directive.d.ts.map +1 -1
  605. package/lib/components/ecl-tabs/ecl-tab-more.component.d.ts +2 -2
  606. package/lib/components/ecl-tabs/ecl-tab-more.component.d.ts.map +1 -1
  607. package/lib/components/ecl-tabs/ecl-tab.component.d.ts +5 -4
  608. package/lib/components/ecl-tabs/ecl-tab.component.d.ts.map +1 -1
  609. package/lib/components/ecl-tabs/ecl-tabs.component.d.ts +2 -5
  610. package/lib/components/ecl-tabs/ecl-tabs.component.d.ts.map +1 -1
  611. package/lib/components/ecl-tag/ecl-tag-set.directive.d.ts +8 -0
  612. package/lib/components/ecl-tag/ecl-tag-set.directive.d.ts.map +1 -0
  613. package/lib/components/ecl-tag/ecl-tag.component.d.ts +6 -7
  614. package/lib/components/ecl-tag/ecl-tag.component.d.ts.map +1 -1
  615. package/lib/components/ecl-tag/ecl-tag.module.d.ts +4 -3
  616. package/lib/components/ecl-tag/ecl-tag.module.d.ts.map +1 -1
  617. package/lib/components/ecl-tag/index.d.ts +1 -0
  618. package/lib/components/ecl-tag/index.d.ts.map +1 -1
  619. package/lib/components/ecl-text-area/ecl-text-area.directive.d.ts +2 -1
  620. package/lib/components/ecl-text-area/ecl-text-area.directive.d.ts.map +1 -1
  621. package/lib/components/ecl-text-input/ecl-text-input.directive.d.ts +2 -1
  622. package/lib/components/ecl-text-input/ecl-text-input.directive.d.ts.map +1 -1
  623. package/lib/components/ecl-timeline/ecl-timeline-item.component.d.ts +3 -10
  624. package/lib/components/ecl-timeline/ecl-timeline-item.component.d.ts.map +1 -1
  625. package/lib/services/ecl-default-language.service.d.ts +2 -1
  626. package/lib/services/ecl-default-language.service.d.ts.map +1 -1
  627. package/lib/services/ecl-theme.service.d.ts +1 -1
  628. package/lib/services/ecl-theme.service.d.ts.map +1 -1
  629. package/package.json +2 -2
  630. package/docs/components/EclPageHeaderDescriptionContainerComponent.html +0 -725
  631. package/esm2022/lib/components/ecl-banner/ecl-banner-credit.directive.mjs +0 -21
  632. package/esm2022/lib/components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.mjs +0 -47
  633. package/esm2022/lib/components/ecl-site-header/message/ecl-site-header-message.component.mjs +0 -18
  634. package/lib/components/ecl-banner/ecl-banner-credit.directive.d.ts +0 -8
  635. package/lib/components/ecl-banner/ecl-banner-credit.directive.d.ts.map +0 -1
  636. package/lib/components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.d.ts +0 -19
  637. package/lib/components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.d.ts.map +0 -1
  638. package/lib/components/ecl-site-header/message/ecl-site-header-message.component.d.ts +0 -8
  639. package/lib/components/ecl-site-header/message/ecl-site-header-message.component.d.ts.map +0 -1
  640. package/lib/components/ecl-site-header/message/index.d.ts +0 -2
  641. package/lib/components/ecl-site-header/message/index.d.ts.map +0 -1
@@ -16,8 +16,8 @@ const COMPONENTS = [
16
16
  EclTableResponsiveDirective,
17
17
  ];
18
18
  export class EclTableDirectiveModule {
19
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: EclTableDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.2", ngImport: i0, type: EclTableDirectiveModule, declarations: [EclTableDirective,
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EclTableDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EclTableDirectiveModule, declarations: [EclTableDirective,
21
21
  EclTableHeadDirective,
22
22
  EclTableHeaderDirective,
23
23
  EclTableRowDirective,
@@ -34,9 +34,9 @@ export class EclTableDirectiveModule {
34
34
  EclTableCellGroupDirective,
35
35
  EclTableSortButtonComponent,
36
36
  EclTableResponsiveDirective] }); }
37
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: EclTableDirectiveModule, imports: [CommonModule, EclIconComponentModule] }); }
37
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EclTableDirectiveModule, imports: [CommonModule, EclIconComponentModule] }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: EclTableDirectiveModule, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EclTableDirectiveModule, decorators: [{
40
40
  type: NgModule,
41
41
  args: [{
42
42
  imports: [CommonModule, EclIconComponentModule],
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2",
44
44
  declarations: [...COMPONENTS],
45
45
  }]
46
46
  }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtdGFibGUvZWNsLXRhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsMEJBQTBCLEVBQzFCLDJCQUEyQixHQUM5QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFckQsTUFBTSxVQUFVLEdBQUc7SUFDZixpQkFBaUI7SUFDakIscUJBQXFCO0lBQ3JCLHVCQUF1QjtJQUN2QixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLHFCQUFxQjtJQUNyQiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDJCQUEyQjtDQUM5QixDQUFDO0FBTUYsTUFBTSxPQUFPLHVCQUF1Qjt3SUFBdkIsdUJBQXVCO3lJQUF2Qix1QkFBdUIsaUJBZmhDLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsMkJBQTJCLGFBR2pCLFlBQVksRUFBRSxzQkFBc0IsYUFYOUMsaUJBQWlCO1lBQ2pCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsMEJBQTBCO1lBQzFCLDJCQUEyQjtZQUMzQiwyQkFBMkI7eUlBT2xCLHVCQUF1QixZQUp0QixZQUFZLEVBQUUsc0JBQXNCOztrR0FJckMsdUJBQXVCO2tCQUxuQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQztvQkFDL0MsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7b0JBQ3hCLFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBFY2xUYWJsZURpcmVjdGl2ZSxcbiAgICBFY2xUYWJsZUhlYWREaXJlY3RpdmUsXG4gICAgRWNsVGFibGVIZWFkZXJEaXJlY3RpdmUsXG4gICAgRWNsVGFibGVSb3dEaXJlY3RpdmUsXG4gICAgRWNsVGFibGVCb2R5RGlyZWN0aXZlLFxuICAgIEVjbFRhYmxlQ2VsbERpcmVjdGl2ZSxcbiAgICBFY2xUYWJsZUNlbGxHcm91cERpcmVjdGl2ZSxcbiAgICBFY2xUYWJsZVJlc3BvbnNpdmVEaXJlY3RpdmUsXG59IGZyb20gJy4vZWNsLXRhYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xUYWJsZVNvcnRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2VjbC10YWJsZS1zb3J0LWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWNsSWNvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2VjbC1pY29uJztcblxuY29uc3QgQ09NUE9ORU5UUyA9IFtcbiAgICBFY2xUYWJsZURpcmVjdGl2ZSxcbiAgICBFY2xUYWJsZUhlYWREaXJlY3RpdmUsXG4gICAgRWNsVGFibGVIZWFkZXJEaXJlY3RpdmUsXG4gICAgRWNsVGFibGVSb3dEaXJlY3RpdmUsXG4gICAgRWNsVGFibGVCb2R5RGlyZWN0aXZlLFxuICAgIEVjbFRhYmxlQ2VsbERpcmVjdGl2ZSxcbiAgICBFY2xUYWJsZUNlbGxHcm91cERpcmVjdGl2ZSxcbiAgICBFY2xUYWJsZVNvcnRCdXR0b25Db21wb25lbnQsXG4gICAgRWNsVGFibGVSZXNwb25zaXZlRGlyZWN0aXZlLFxuXTtcbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRWNsSWNvbkNvbXBvbmVudE1vZHVsZV0sXG4gICAgZXhwb3J0czogWy4uLkNPTVBPTkVOVFNdLFxuICAgIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVFNdLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xUYWJsZURpcmVjdGl2ZU1vZHVsZSB7fVxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtdGFibGUvZWNsLXRhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsMEJBQTBCLEVBQzFCLDJCQUEyQixHQUM5QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFckQsTUFBTSxVQUFVLEdBQUc7SUFDZixpQkFBaUI7SUFDakIscUJBQXFCO0lBQ3JCLHVCQUF1QjtJQUN2QixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLHFCQUFxQjtJQUNyQiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDJCQUEyQjtDQUM5QixDQUFDO0FBTUYsTUFBTSxPQUFPLHVCQUF1QjttSEFBdkIsdUJBQXVCO29IQUF2Qix1QkFBdUIsaUJBZmhDLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsMkJBQTJCLGFBR2pCLFlBQVksRUFBRSxzQkFBc0IsYUFYOUMsaUJBQWlCO1lBQ2pCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsMEJBQTBCO1lBQzFCLDJCQUEyQjtZQUMzQiwyQkFBMkI7b0hBT2xCLHVCQUF1QixZQUp0QixZQUFZLEVBQUUsc0JBQXNCOztnR0FJckMsdUJBQXVCO2tCQUxuQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQztvQkFDL0MsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7b0JBQ3hCLFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBFY2xUYWJsZURpcmVjdGl2ZSxcbiAgICBFY2xUYWJsZUhlYWREaXJlY3RpdmUsXG4gICAgRWNsVGFibGVIZWFkZXJEaXJlY3RpdmUsXG4gICAgRWNsVGFibGVSb3dEaXJlY3RpdmUsXG4gICAgRWNsVGFibGVCb2R5RGlyZWN0aXZlLFxuICAgIEVjbFRhYmxlQ2VsbERpcmVjdGl2ZSxcbiAgICBFY2xUYWJsZUNlbGxHcm91cERpcmVjdGl2ZSxcbiAgICBFY2xUYWJsZVJlc3BvbnNpdmVEaXJlY3RpdmUsXG59IGZyb20gJy4vZWNsLXRhYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xUYWJsZVNvcnRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2VjbC10YWJsZS1zb3J0LWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWNsSWNvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2VjbC1pY29uJztcblxuY29uc3QgQ09NUE9ORU5UUyA9IFtcbiAgICBFY2xUYWJsZURpcmVjdGl2ZSxcbiAgICBFY2xUYWJsZUhlYWREaXJlY3RpdmUsXG4gICAgRWNsVGFibGVIZWFkZXJEaXJlY3RpdmUsXG4gICAgRWNsVGFibGVSb3dEaXJlY3RpdmUsXG4gICAgRWNsVGFibGVCb2R5RGlyZWN0aXZlLFxuICAgIEVjbFRhYmxlQ2VsbERpcmVjdGl2ZSxcbiAgICBFY2xUYWJsZUNlbGxHcm91cERpcmVjdGl2ZSxcbiAgICBFY2xUYWJsZVNvcnRCdXR0b25Db21wb25lbnQsXG4gICAgRWNsVGFibGVSZXNwb25zaXZlRGlyZWN0aXZlLFxuXTtcbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRWNsSWNvbkNvbXBvbmVudE1vZHVsZV0sXG4gICAgZXhwb3J0czogWy4uLkNPTVBPTkVOVFNdLFxuICAgIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVFNdLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xUYWJsZURpcmVjdGl2ZU1vZHVsZSB7fVxuIl19
@@ -6,11 +6,11 @@ export class EclTabLabelComponent extends ECLBaseDirective {
6
6
  super();
7
7
  this.el = el;
8
8
  }
9
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: EclTabLabelComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
10
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.2", type: EclTabLabelComponent, selector: "ecl-tab-label", usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EclTabLabelComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-rc.1", type: EclTabLabelComponent, selector: "ecl-tab-label", usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: EclTabLabelComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EclTabLabelComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'ecl-tab-label', template: "<ng-content></ng-content>\n" }]
15
15
  }], ctorParameters: () => [{ type: i0.ElementRef }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRhYi1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLXRhYnMvZWNsLXRhYi1sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLXRhYnMvZWNsLXRhYi1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQU16RCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZ0JBQWdCO0lBQ3RELFlBQW1CLEVBQWM7UUFDN0IsS0FBSyxFQUFFLENBQUM7UUFETyxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBRWpDLENBQUM7d0lBSFEsb0JBQW9COzRIQUFwQixvQkFBb0IsNEVDUGpDLDZCQUNBOztrR0RNYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0ksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLXRhYi1sYWJlbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC10YWItbGFiZWwuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xUYWJMYWJlbENvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRhYi1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLXRhYnMvZWNsLXRhYi1sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLXRhYnMvZWNsLXRhYi1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQU16RCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZ0JBQWdCO0lBQ3RELFlBQW1CLEVBQWM7UUFDN0IsS0FBSyxFQUFFLENBQUM7UUFETyxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBRWpDLENBQUM7bUhBSFEsb0JBQW9CO3VHQUFwQixvQkFBb0IsNEVDUGpDLDZCQUNBOztnR0RNYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0ksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLXRhYi1sYWJlbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC10YWItbGFiZWwuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xUYWJMYWJlbENvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -1,37 +1,28 @@
1
- import { __decorate } from "tslib";
2
- import { Component, HostBinding, Input } from '@angular/core';
3
- import { coerceBoolean } from '@eui/base';
1
+ import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';
4
2
  import { ECLBaseDirective } from '../ecl-base.directive';
5
3
  import * as i0 from "@angular/core";
6
4
  export class EclTabMoreComponent extends ECLBaseDirective {
7
5
  constructor() {
8
6
  super(...arguments);
9
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
7
  this.isHidden = false;
11
- this.role = 'presentation';
12
8
  }
13
9
  get cssClasses() {
14
10
  return [super.getCssClasses('ecl-tabs__item ecl-tabs__item--more')].join(' ').trim();
15
11
  }
16
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: EclTabMoreComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
17
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.2", type: EclTabMoreComponent, selector: "ecl-tab-more", inputs: { isHidden: "isHidden" }, host: { properties: { "attr.aria-hidden": "this.isHidden", "attr.role": "this.role", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:list-item}\n"] }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EclTabMoreComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-rc.1", type: EclTabMoreComponent, selector: "ecl-tab-more", inputs: { isHidden: ["isHidden", "isHidden", booleanAttribute] }, host: { properties: { "class.ecl-tabs__item--hidden": "this.isHidden", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
18
14
  }
19
- __decorate([
20
- coerceBoolean
21
- ], EclTabMoreComponent.prototype, "isHidden", void 0);
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: EclTabMoreComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EclTabMoreComponent, decorators: [{
23
16
  type: Component,
24
- args: [{ selector: 'ecl-tab-more', template: "<ng-content></ng-content>\n", styles: [":host{display:list-item}\n"] }]
17
+ args: [{ selector: 'ecl-tab-more', template: "<ng-content></ng-content>\n" }]
25
18
  }], propDecorators: { isHidden: [{
26
- type: Input
19
+ type: Input,
20
+ args: [{ transform: booleanAttribute }]
27
21
  }, {
28
22
  type: HostBinding,
29
- args: ['attr.aria-hidden']
30
- }], role: [{
31
- type: HostBinding,
32
- args: ['attr.role']
23
+ args: ['class.ecl-tabs__item--hidden']
33
24
  }], cssClasses: [{
34
25
  type: HostBinding,
35
26
  args: ['class']
36
27
  }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRhYi1tb3JlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtdGFicy9lY2wtdGFiLW1vcmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC10YWJzL2VjbC10YWItbW9yZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBYXpELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBZ0I7SUFYekQ7O1FBWUksOERBQThEO1FBQ0wsYUFBUSxHQUFrQixLQUFLLENBQUM7UUFFL0QsU0FBSSxHQUFHLGNBQWMsQ0FBQztLQU1uRDtJQUpHLElBQ0ksVUFBVTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLHFDQUFxQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekYsQ0FBQzt3SUFUUSxtQkFBbUI7NEhBQW5CLG1CQUFtQixrT0NmaEMsNkJBQ0E7O0FEZ0I2RDtJQUF4RCxhQUFhO3FEQUEyRTtrR0FGaEYsbUJBQW1CO2tCQVgvQixTQUFTOytCQUNJLGNBQWM7OEJBWWlDLFFBQVE7c0JBQWpELEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUU3QixJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBR3BCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLXRhYi1tb3JlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLXRhYi1tb3JlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgYCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xUYWJNb3JlQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBAY29lcmNlQm9vbGVhbiBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKSBpc0hpZGRlbjogYm9vbGVhbiB8IGFueSA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ3ByZXNlbnRhdGlvbic7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC10YWJzX19pdGVtIGVjbC10YWJzX19pdGVtLS1tb3JlJyldLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRhYi1tb3JlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtdGFicy9lY2wtdGFiLW1vcmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC10YWJzL2VjbC10YWItbW9yZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTXpELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBZ0I7SUFKekQ7O1FBS3lGLGFBQVEsR0FBRyxLQUFLLENBQUM7S0FNekc7SUFKRyxJQUNJLFVBQVU7UUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pGLENBQUM7bUhBTlEsbUJBQW1CO3VHQUFuQixtQkFBbUIseUVBQ1IsZ0JBQWdCLDJKQ1J4Qyw2QkFDQTs7Z0dETWEsbUJBQW1CO2tCQUovQixTQUFTOytCQUNJLGNBQWM7OEJBSTZELFFBQVE7c0JBQTVGLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7O3NCQUFHLFdBQVc7dUJBQUMsOEJBQThCO2dCQUcvRSxVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtdGFiLW1vcmUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtdGFiLW1vcmUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xUYWJNb3JlQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSB7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLXRhYnNfX2l0ZW0tLWhpZGRlbicpIGlzSGlkZGVuID0gZmFsc2U7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC10YWJzX19pdGVtIGVjbC10YWJzX19pdGVtLS1tb3JlJyldLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -1,6 +1,4 @@
1
- import { __decorate } from "tslib";
2
- import { Component, ContentChild, EventEmitter, HostBinding, Input, Output, ViewChild, } from '@angular/core';
3
- import { coerceBoolean } from '@eui/base';
1
+ import { Component, ContentChild, EventEmitter, HostBinding, Input, Output, ViewChild, booleanAttribute, } from '@angular/core';
4
2
  import { EclBaseEvent } from '../../model/ecl-base.event';
5
3
  import { ECLBaseDirective } from '../ecl-base.directive';
6
4
  import { EclLinkDirective } from '../ecl-link';
@@ -17,13 +15,10 @@ export class EclTabComponent extends ECLBaseDirective {
17
15
  constructor(elementRef) {
18
16
  super();
19
17
  this.elementRef = elementRef;
20
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
18
  this.isHidden = false;
22
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
19
  this.isActive = false;
24
20
  this.selectTab = new EventEmitter();
25
21
  this.keydownTab = new EventEmitter();
26
- this.role = 'presentation';
27
22
  this.tabLabel = '';
28
23
  this.isFirstCall = true;
29
24
  }
@@ -58,27 +53,23 @@ export class EclTabComponent extends ECLBaseDirective {
58
53
  onBlur() {
59
54
  this.link.el.nativeElement.blur();
60
55
  }
61
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: EclTabComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
62
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.2", type: EclTabComponent, selector: "ecl-tab, li[eclTab]", inputs: { id: "id", isHidden: "isHidden", isActive: "isActive" }, outputs: { selectTab: "selectTab", keydownTab: "keydownTab" }, host: { properties: { "attr.aria-hidden": "this.isHidden", "attr.role": "this.role", "class": "this.cssClasses" } }, queries: [{ propertyName: "label", first: true, predicate: EclTabLabelComponent, descendants: true }], viewQueries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true }, { propertyName: "link", first: true, predicate: EclLinkDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<a\n eclLink\n role=\"tab\"\n class=\"ecl-tabs__link\"\n [class.ecl-tabs__link--active]=\"isActive\"\n [attr.aria-selected]=\"isActive\"\n tabindex=\"0\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onTabClick()\">\n <ng-content select=\"ecl-tab-label\"></ng-content>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isHiddenLabel", "isNoVisited", "variant"] }] }); }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EclTabComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-rc.1", type: EclTabComponent, selector: "ecl-tab, [eclTab]", inputs: { id: "id", isHidden: ["isHidden", "isHidden", booleanAttribute], isActive: ["isActive", "isActive", booleanAttribute] }, outputs: { selectTab: "selectTab", keydownTab: "keydownTab" }, host: { properties: { "class.ecl-tabs__item--hidden": "this.isHidden", "class": "this.cssClasses" } }, queries: [{ propertyName: "label", first: true, predicate: EclTabLabelComponent, descendants: true }], viewQueries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true }, { propertyName: "link", first: true, predicate: EclLinkDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<a\n eclLink\n role=\"tab\"\n class=\"ecl-tabs__link\"\n [class.ecl-tabs__link--active]=\"isActive\"\n [attr.aria-selected]=\"isActive\"\n tabindex=\"0\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onTabClick()\">\n <ng-content select=\"ecl-tab-label\"></ng-content>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }] }); }
63
58
  }
64
- __decorate([
65
- coerceBoolean
66
- ], EclTabComponent.prototype, "isHidden", void 0);
67
- __decorate([
68
- coerceBoolean
69
- ], EclTabComponent.prototype, "isActive", void 0);
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: EclTabComponent, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EclTabComponent, decorators: [{
71
60
  type: Component,
72
- args: [{ selector: 'ecl-tab, li[eclTab]', template: "<a\n eclLink\n role=\"tab\"\n class=\"ecl-tabs__link\"\n [class.ecl-tabs__link--active]=\"isActive\"\n [attr.aria-selected]=\"isActive\"\n tabindex=\"0\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onTabClick()\">\n <ng-content select=\"ecl-tab-label\"></ng-content>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
61
+ args: [{ selector: 'ecl-tab, [eclTab]', template: "<a\n eclLink\n role=\"tab\"\n class=\"ecl-tabs__link\"\n [class.ecl-tabs__link--active]=\"isActive\"\n [attr.aria-selected]=\"isActive\"\n tabindex=\"0\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onTabClick()\">\n <ng-content select=\"ecl-tab-label\"></ng-content>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
73
62
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { id: [{
74
63
  type: Input
75
64
  }], isHidden: [{
76
- type: Input
65
+ type: Input,
66
+ args: [{ transform: booleanAttribute }]
77
67
  }, {
78
68
  type: HostBinding,
79
- args: ['attr.aria-hidden']
69
+ args: ['class.ecl-tabs__item--hidden']
80
70
  }], isActive: [{
81
- type: Input
71
+ type: Input,
72
+ args: [{ transform: booleanAttribute }]
82
73
  }], selectTab: [{
83
74
  type: Output
84
75
  }], keydownTab: [{
@@ -92,11 +83,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2",
92
83
  }], label: [{
93
84
  type: ContentChild,
94
85
  args: [EclTabLabelComponent]
95
- }], role: [{
96
- type: HostBinding,
97
- args: ['attr.role']
98
86
  }], cssClasses: [{
99
87
  type: HostBinding,
100
88
  args: ['class']
101
89
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLXRhYnMvZWNsLXRhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLXRhYnMvZWNsLXRhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQUVqRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsWUFBWTtJQUMvQyxZQUFtQixHQUFXO1FBQzFCLEtBQUssRUFBRSxDQUFDO1FBRE8sUUFBRyxHQUFILEdBQUcsQ0FBUTtJQUU5QixDQUFDO0NBQ0o7QUFVRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxnQkFBZ0I7SUFzQmpELFlBQW9CLFVBQXNCO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRFEsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXBCMUMsOERBQThEO1FBQ0wsYUFBUSxHQUFrQixLQUFLLENBQUM7UUFDekYsOERBQThEO1FBQ3RDLGFBQVEsR0FBa0IsS0FBSyxDQUFDO1FBRTlDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUNsRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQVF2QixTQUFJLEdBQUcsY0FBYyxDQUFDO1FBRXpDLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDYixnQkFBVyxHQUFHLElBQUksQ0FBQztJQUszQixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDekMsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQ0ksVUFBVTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEUsQ0FBQztJQUVELFdBQVc7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDakQsQ0FBQztJQUVNLFFBQVE7UUFDWCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDNUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVk7UUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEMsQ0FBQzt3SUFqRVEsZUFBZTs0SEFBZixlQUFlLG9WQWNWLG9CQUFvQixtTEFGdkIsZ0JBQWdCLHVFQzVDL0IsMFhBZUE7O0FEb0I2RDtJQUF4RCxhQUFhO2lEQUEyRTtBQUVqRTtJQUF2QixhQUFhO2lEQUEwQztrR0FML0MsZUFBZTtrQkFKM0IsU0FBUzsrQkFDSSxxQkFBcUI7K0VBSXRCLEVBQUU7c0JBQVYsS0FBSztnQkFFbUQsUUFBUTtzQkFBakQsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxrQkFBa0I7Z0JBRS9CLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRVgsU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUdlLGVBQWU7c0JBQXBDLFNBQVM7dUJBQUMsU0FBUztnQkFDUyxJQUFJO3NCQUFoQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFFUyxLQUFLO3NCQUF4QyxZQUFZO3VCQUFDLG9CQUFvQjtnQkFFUixJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBbUJwQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhbiB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBFY2xCYXNlRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbC9lY2wtYmFzZS5ldmVudCc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbExpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtbGluayc7XG5pbXBvcnQgeyBFY2xUYWJMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vZWNsLXRhYi1sYWJlbC5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgRWNsVGFiU2VsZWN0RXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0YWI6IEVjbFRhYikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBFY2xUYWIge1xuICAgIGlkPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC10YWIsIGxpW2VjbFRhYl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtdGFiLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsVGFiQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEVjbFRhYiwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIEBjb2VyY2VCb29sZWFuIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpIGlzSGlkZGVuOiBib29sZWFuIHwgYW55ID0gZmFsc2U7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBAY29lcmNlQm9vbGVhbiBASW5wdXQoKSBpc0FjdGl2ZTogYm9vbGVhbiB8IGFueSA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIHNlbGVjdFRhYiA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsVGFiU2VsZWN0RXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIGtleWRvd25UYWIgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBAVmlld0NoaWxkKCdjb250ZW50JykgY29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoRWNsTGlua0RpcmVjdGl2ZSkgbGluazogRWNsTGlua0RpcmVjdGl2ZTtcblxuICAgIEBDb250ZW50Q2hpbGQoRWNsVGFiTGFiZWxDb21wb25lbnQpIGxhYmVsOiBFY2xUYWJMYWJlbENvbXBvbmVudDtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdwcmVzZW50YXRpb24nO1xuXG4gICAgcHVibGljIHRhYkxhYmVsID0gJyc7XG4gICAgcHJpdmF0ZSBpc0ZpcnN0Q2FsbCA9IHRydWU7XG4gICAgcHJpdmF0ZSB3aWR0aDogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFiTGFiZWwgPSB0aGlzLmxhYmVsLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLXRhYnNfX2l0ZW0nKV0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBnZXRUYWJMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5sYWJlbC5lbC5uYXRpdmVFbGVtZW50LmlubmVySFRNTDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuaXNGaXJzdENhbGwpIHtcbiAgICAgICAgICAgIHRoaXMud2lkdGggPSB0aGlzLmhvc3RFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICAgICAgdGhpcy5pc0ZpcnN0Q2FsbCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLndpZHRoO1xuICAgIH1cblxuICAgIG9uVGFiQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0VGFiLm5leHQobmV3IEVjbFRhYlNlbGVjdEV2ZW50KHRoaXMpKTtcbiAgICB9XG5cbiAgICBvbktleWRvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMua2V5ZG93blRhYi5uZXh0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxpbmsuZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saW5rLmVsLm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgIH1cbn1cbiIsIjxhXG4gICAgZWNsTGlua1xuICAgIHJvbGU9XCJ0YWJcIlxuICAgIGNsYXNzPVwiZWNsLXRhYnNfX2xpbmtcIlxuICAgIFtjbGFzcy5lY2wtdGFic19fbGluay0tYWN0aXZlXT1cImlzQWN0aXZlXCJcbiAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImlzQWN0aXZlXCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAoY2xpY2spPVwib25UYWJDbGljaygpXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZWNsLXRhYi1sYWJlbFwiPjwvbmctY29udGVudD5cbjwvYT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLXRhYnMvZWNsLXRhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLXRhYnMvZWNsLXRhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUNULGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFFakUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFlBQVk7SUFDL0MsWUFBbUIsR0FBVztRQUMxQixLQUFLLEVBQUUsQ0FBQztRQURPLFFBQUcsR0FBSCxHQUFHLENBQVE7SUFFOUIsQ0FBQztDQUNKO0FBVUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZ0JBQWdCO0lBa0JqRCxZQUFvQixVQUFzQjtRQUN0QyxLQUFLLEVBQUUsQ0FBQztRQURRLGVBQVUsR0FBVixVQUFVLENBQVk7UUFoQjJDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDOUQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUvQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDbEQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFRMUMsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNiLGdCQUFXLEdBQUcsSUFBSSxDQUFDO0lBSzNCLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFDSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUNqRCxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUM1RCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUM3QixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxTQUFTLENBQUMsS0FBWTtRQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QyxDQUFDO21IQTdEUSxlQUFlO3VHQUFmLGVBQWUsd0ZBRUosZ0JBQWdCLHNDQUNoQixnQkFBZ0Isc09BU3RCLG9CQUFvQixtTEFGdkIsZ0JBQWdCLHVFQzFDL0IsMFhBZUE7O2dHRGlCYSxlQUFlO2tCQUozQixTQUFTOytCQUNJLG1CQUFtQjsrRUFJcEIsRUFBRTtzQkFBVixLQUFLO2dCQUMrRSxRQUFRO3NCQUE1RixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFOztzQkFBRyxXQUFXO3VCQUFDLDhCQUE4QjtnQkFDM0MsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFNUIsU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUdlLGVBQWU7c0JBQXBDLFNBQVM7dUJBQUMsU0FBUztnQkFDUyxJQUFJO3NCQUFoQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFFUyxLQUFLO3NCQUF4QyxZQUFZO3VCQUFDLG9CQUFvQjtnQkFtQjlCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVjbEJhc2VFdmVudCB9IGZyb20gJy4uLy4uL21vZGVsL2VjbC1iYXNlLmV2ZW50JztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1saW5rJztcbmltcG9ydCB7IEVjbFRhYkxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9lY2wtdGFiLWxhYmVsLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjbGFzcyBFY2xUYWJTZWxlY3RFdmVudCBleHRlbmRzIEVjbEJhc2VFdmVudCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIHRhYjogRWNsVGFiKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVjbFRhYiB7XG4gICAgaWQ/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLXRhYiwgW2VjbFRhYl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtdGFiLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsVGFiQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEVjbFRhYiwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgQEhvc3RCaW5kaW5nKCdjbGFzcy5lY2wtdGFic19faXRlbS0taGlkZGVuJykgaXNIaWRkZW4gPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNBY3RpdmUgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBzZWxlY3RUYWIgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbFRhYlNlbGVjdEV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBrZXlkb3duVGFiID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgQFZpZXdDaGlsZCgnY29udGVudCcpIGNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAVmlld0NoaWxkKEVjbExpbmtEaXJlY3RpdmUpIGxpbms6IEVjbExpbmtEaXJlY3RpdmU7XG5cbiAgICBAQ29udGVudENoaWxkKEVjbFRhYkxhYmVsQ29tcG9uZW50KSBsYWJlbDogRWNsVGFiTGFiZWxDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgdGFiTGFiZWwgPSAnJztcbiAgICBwcml2YXRlIGlzRmlyc3RDYWxsID0gdHJ1ZTtcbiAgICBwcml2YXRlIHdpZHRoOiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJMYWJlbCA9IHRoaXMubGFiZWwuZWwubmF0aXZlRWxlbWVudC5pbm5lckhUTUw7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtdGFic19faXRlbScpXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIGdldFRhYkxhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhYmVsLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICBpZiAodGhpcy5pc0ZpcnN0Q2FsbCkge1xuICAgICAgICAgICAgdGhpcy53aWR0aCA9IHRoaXMuaG9zdEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgICAgICB0aGlzLmlzRmlyc3RDYWxsID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMud2lkdGg7XG4gICAgfVxuXG4gICAgb25UYWJDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RUYWIubmV4dChuZXcgRWNsVGFiU2VsZWN0RXZlbnQodGhpcykpO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5rZXlkb3duVGFiLm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGluay5lbC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxpbmsuZWwubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgfVxufVxuIiwiPGFcbiAgICBlY2xMaW5rXG4gICAgcm9sZT1cInRhYlwiXG4gICAgY2xhc3M9XCJlY2wtdGFic19fbGlua1wiXG4gICAgW2NsYXNzLmVjbC10YWJzX19saW5rLS1hY3RpdmVdPVwiaXNBY3RpdmVcIlxuICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXNBY3RpdmVcIlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgIChjbGljayk9XCJvblRhYkNsaWNrKClcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJlY2wtdGFiLWxhYmVsXCI+PC9uZy1jb250ZW50PlxuPC9hPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -29,10 +29,6 @@ export class EclTabsComponent extends ECLBaseDirective {
29
29
  this.el = el;
30
30
  this.eclRtlService = eclRtlService;
31
31
  this.bodyClass = 'ecl-u-mt-s';
32
- /**
33
- * @deprecated To be removed in 18 version. No alternative, should not be used.
34
- */
35
- this.direction = 'ltr';
36
32
  this.tabSelect = new EventEmitter();
37
33
  this.dropdownTabs = [];
38
34
  this.listTabs = [];
@@ -384,6 +380,7 @@ export class EclTabsComponent extends ECLBaseDirective {
384
380
  if (!hiddenItems.length) {
385
381
  this.isMoreButtonShow = false;
386
382
  this.setActiveItemForMainTabs();
383
+ this.hideAllDropdownTabs();
387
384
  }
388
385
  else {
389
386
  this.isMoreButtonShow = true;
@@ -396,6 +393,9 @@ export class EclTabsComponent extends ECLBaseDirective {
396
393
  this.isFirstCall = false;
397
394
  }
398
395
  }
396
+ hideAllDropdownTabs() {
397
+ this.listTabs.forEach(item => item.isHidden = true);
398
+ }
399
399
  setActiveItemForMainTabs() {
400
400
  this.listTabs.forEach((item, index) => {
401
401
  if (item.isActive) {
@@ -440,16 +440,14 @@ export class EclTabsComponent extends ECLBaseDirective {
440
440
  this.styleTransform = 'translate3d(0px, 0px, 0px)';
441
441
  this.index = 0;
442
442
  }
443
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: EclTabsComponent, deps: [{ token: i0.IterableDiffers }, { token: i1.BreakpointObserver }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i2.EclRtlService }], target: i0.ɵɵFactoryTarget.Component }); }
444
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.2", type: EclTabsComponent, selector: "nav[eclTabs], ecl-tabs", inputs: { bodyClass: "bodyClass", direction: "direction" }, outputs: { tabSelect: "tabSelect" }, host: { listeners: { "document:click": "onClick($event.target)", "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "tabs", predicate: i0.forwardRef(() => EclTabComponent) }], viewQueries: [{ propertyName: "tabsList", first: true, predicate: ["tabsList"], descendants: true }, { propertyName: "moreButton", first: true, predicate: ["moreButton"], descendants: true }, { propertyName: "btnPrev", first: true, predicate: ["btnPrev"], descendants: true }, { propertyName: "btnNext", first: true, predicate: ["btnNext"], descendants: true }, { propertyName: "dropdownList", first: true, predicate: ["dropdownList"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<nav class=\"ecl-tabs\">\n <div class=\"ecl-tabs__container\">\n <ul\n class=\"ecl-tabs__list\"\n role=\"tablist\"\n #tabsList\n [style.width]=\"getTabsWidthStyle()\"\n [style.transform]=\"styleTransform\"\n [style.transition-duration]=\"'0' || getTransitionDuration()\">\n <ng-content select=\"ecl-tab, li[eclTab]\"></ng-content>\n <ecl-tab-more [isHidden]=\"!isMoreButtonShow\">\n <button\n #moreButton\n eclButton\n class=\"ecl-tabs__toggle\"\n tabindex=\"-1\"\n variant=\"secondary\"\n [attr.aria-expanded]=\"isDropdownExpanded\"\n [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n <ul\n *ngIf=\"listTabs.length > 0\"\n class=\"ecl-tabs__dropdown\"\n [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded\"\n #dropdownList>\n <ng-container *ngFor=\"let tab of listTabs; let i = index\">\n <ecl-tab\n [isActive]=\"tab.isActive\"\n [isHidden]=\"tab.isHidden\"\n (click)=\"onTabSelect(tab)\"\n (keydown.arrowRight)=\"onTabKeydownArrowRight(i)\"\n (keydown.arrowLeft)=\"onTabKeydownArrowLeft(i)\"\n (keydown.home)=\"onTabKeydownHome()\"\n (keydown.end)=\"onTabKeydownEnd()\"\n (keydown.enter)=\"onTabSelect(tab)\"\n (keydown.tab)=\"onTabBlur()\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </ecl-tab>\n </ng-container>\n </ul>\n </ecl-tab-more>\n </ul>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button\n #btnPrev\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__prev\"\n [class.ecl-u-d-none]=\"!isScrollPrevBtnShow\"\n [class.ecl-u-d-block]=\"isScrollPrevBtnShow\"\n (click)=\"onScrollPrev()\">\n <ecl-icon isInverted icon=\"corner-arrow\" transform=\"rotate-270\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n <button\n #btnNext\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__next\"\n [class.ecl-u-d-none]=\"!isScrollNextBtnShow\"\n [class.ecl-u-d-block]=\"isScrollNextBtnShow\"\n (click)=\"onScrollNext()\">\n <ecl-icon isInverted icon=\"corner-arrow\" color=\"inverted\" transform=\"rotate-90\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n </div>\n</nav>\n\n<ng-container *ngFor=\"let tab of tabs.toArray()\">\n <div class=\"{{ bodyClass }}\" *ngIf=\"tab.isActive\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n</ng-container>\n<ng-container *ngFor=\"let tab of listTabs\">\n <div class=\"{{ bodyClass }}\" *ngIf=\"tab.isActive\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i5.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i6.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "ariaHidden", "focusable"] }, { kind: "component", type: i7.EclTabComponent, selector: "ecl-tab, li[eclTab]", inputs: ["id", "isHidden", "isActive"], outputs: ["selectTab", "keydownTab"] }, { kind: "component", type: i8.EclTabLabelComponent, selector: "ecl-tab-label" }, { kind: "component", type: i9.EclTabMoreComponent, selector: "ecl-tab-more", inputs: ["isHidden"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
443
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EclTabsComponent, deps: [{ token: i0.IterableDiffers }, { token: i1.BreakpointObserver }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i2.EclRtlService }], target: i0.ɵɵFactoryTarget.Component }); }
444
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.1", type: EclTabsComponent, selector: "nav[eclTabs], ecl-tabs", inputs: { bodyClass: "bodyClass" }, outputs: { tabSelect: "tabSelect" }, host: { listeners: { "document:click": "onClick($event.target)", "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "tabs", predicate: i0.forwardRef(() => EclTabComponent) }], viewQueries: [{ propertyName: "tabsList", first: true, predicate: ["tabsList"], descendants: true }, { propertyName: "moreButton", first: true, predicate: ["moreButton"], descendants: true }, { propertyName: "btnPrev", first: true, predicate: ["btnPrev"], descendants: true }, { propertyName: "btnNext", first: true, predicate: ["btnNext"], descendants: true }, { propertyName: "dropdownList", first: true, predicate: ["dropdownList"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-tabs\">\n <div class=\"ecl-tabs__container\">\n <div\n class=\"ecl-tabs__list\"\n role=\"tablist\"\n #tabsList\n [style.width]=\"getTabsWidthStyle()\"\n [style.transform]=\"styleTransform\"\n [style.transition-duration]=\"'0' || getTransitionDuration()\">\n <ng-content select=\"ecl-tab, [eclTab]\"></ng-content>\n <ecl-tab-more [isHidden]=\"!isMoreButtonShow\">\n @if (listTabs.length > 0) {\n <div class=\"ecl-tabs__dropdown\" [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded\">\n <div class=\"ecl-tabs__dropdown-list\" #dropdownList>\n @for (tab of listTabs; track tab.id; let i = $index) {\n <ecl-tab [isActive]=\"tab.isActive\" [isHidden]=\"tab.isHidden\" (click)=\"onTabSelect(tab)\"\n (keydown.arrowRight)=\"onTabKeydownArrowRight(i)\" (keydown.arrowLeft)=\"onTabKeydownArrowLeft(i)\"\n (keydown.home)=\"onTabKeydownHome()\" (keydown.end)=\"onTabKeydownEnd()\"\n (keydown.enter)=\"onTabSelect(tab)\" (keydown.tab)=\"onTabBlur()\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </ecl-tab>\n }\n </div>\n </div>\n }\n </ecl-tab-more>\n </div>\n <button #moreButton eclButton class=\"ecl-tabs__toggle\" tabindex=\"-1\" variant=\"ghost\"\n [attr.aria-expanded]=\"isDropdownExpanded\" [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\" [class.ecl-tabs__toggle--hidden]=\"!isMoreButtonShow\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button\n #btnPrev\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__prev\"\n [class.ecl-u-d-none]=\"!isScrollPrevBtnShow\"\n [class.ecl-u-d-block]=\"isScrollPrevBtnShow\"\n (click)=\"onScrollPrev()\">\n <ecl-icon isInverted icon=\"corner-arrow\" transform=\"rotate-270\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n <button\n #btnNext\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__next\"\n [class.ecl-u-d-none]=\"!isScrollNextBtnShow\"\n [class.ecl-u-d-block]=\"isScrollNextBtnShow\"\n (click)=\"onScrollNext()\">\n <ecl-icon isInverted icon=\"corner-arrow\" color=\"inverted\" transform=\"rotate-90\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n </div>\n</div>\n\n@for (tab of tabs.toArray(); track tab.tabLabel) {\n @if (tab.isActive) {\n <div class=\"{{ bodyClass }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n }\n}\n@for (tab of listTabs; track tab.tabLabel) {\n @if (tab.isActive) {\n <div class=\"{{ bodyClass }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n }\n}\n", dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i5.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i6.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "ariaHidden", "focusable"] }, { kind: "component", type: i7.EclTabComponent, selector: "ecl-tab, [eclTab]", inputs: ["id", "isHidden", "isActive"], outputs: ["selectTab", "keydownTab"] }, { kind: "component", type: i8.EclTabLabelComponent, selector: "ecl-tab-label" }, { kind: "component", type: i9.EclTabMoreComponent, selector: "ecl-tab-more", inputs: ["isHidden"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
445
445
  }
446
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: EclTabsComponent, decorators: [{
446
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ngImport: i0, type: EclTabsComponent, decorators: [{
447
447
  type: Component,
448
- args: [{ selector: 'nav[eclTabs], ecl-tabs', encapsulation: ViewEncapsulation.None, template: "<nav class=\"ecl-tabs\">\n <div class=\"ecl-tabs__container\">\n <ul\n class=\"ecl-tabs__list\"\n role=\"tablist\"\n #tabsList\n [style.width]=\"getTabsWidthStyle()\"\n [style.transform]=\"styleTransform\"\n [style.transition-duration]=\"'0' || getTransitionDuration()\">\n <ng-content select=\"ecl-tab, li[eclTab]\"></ng-content>\n <ecl-tab-more [isHidden]=\"!isMoreButtonShow\">\n <button\n #moreButton\n eclButton\n class=\"ecl-tabs__toggle\"\n tabindex=\"-1\"\n variant=\"secondary\"\n [attr.aria-expanded]=\"isDropdownExpanded\"\n [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n <ul\n *ngIf=\"listTabs.length > 0\"\n class=\"ecl-tabs__dropdown\"\n [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded\"\n #dropdownList>\n <ng-container *ngFor=\"let tab of listTabs; let i = index\">\n <ecl-tab\n [isActive]=\"tab.isActive\"\n [isHidden]=\"tab.isHidden\"\n (click)=\"onTabSelect(tab)\"\n (keydown.arrowRight)=\"onTabKeydownArrowRight(i)\"\n (keydown.arrowLeft)=\"onTabKeydownArrowLeft(i)\"\n (keydown.home)=\"onTabKeydownHome()\"\n (keydown.end)=\"onTabKeydownEnd()\"\n (keydown.enter)=\"onTabSelect(tab)\"\n (keydown.tab)=\"onTabBlur()\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </ecl-tab>\n </ng-container>\n </ul>\n </ecl-tab-more>\n </ul>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button\n #btnPrev\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__prev\"\n [class.ecl-u-d-none]=\"!isScrollPrevBtnShow\"\n [class.ecl-u-d-block]=\"isScrollPrevBtnShow\"\n (click)=\"onScrollPrev()\">\n <ecl-icon isInverted icon=\"corner-arrow\" transform=\"rotate-270\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n <button\n #btnNext\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__next\"\n [class.ecl-u-d-none]=\"!isScrollNextBtnShow\"\n [class.ecl-u-d-block]=\"isScrollNextBtnShow\"\n (click)=\"onScrollNext()\">\n <ecl-icon isInverted icon=\"corner-arrow\" color=\"inverted\" transform=\"rotate-90\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n </div>\n</nav>\n\n<ng-container *ngFor=\"let tab of tabs.toArray()\">\n <div class=\"{{ bodyClass }}\" *ngIf=\"tab.isActive\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n</ng-container>\n<ng-container *ngFor=\"let tab of listTabs\">\n <div class=\"{{ bodyClass }}\" *ngIf=\"tab.isActive\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n</ng-container>\n" }]
448
+ args: [{ selector: 'nav[eclTabs], ecl-tabs', encapsulation: ViewEncapsulation.None, template: "<div class=\"ecl-tabs\">\n <div class=\"ecl-tabs__container\">\n <div\n class=\"ecl-tabs__list\"\n role=\"tablist\"\n #tabsList\n [style.width]=\"getTabsWidthStyle()\"\n [style.transform]=\"styleTransform\"\n [style.transition-duration]=\"'0' || getTransitionDuration()\">\n <ng-content select=\"ecl-tab, [eclTab]\"></ng-content>\n <ecl-tab-more [isHidden]=\"!isMoreButtonShow\">\n @if (listTabs.length > 0) {\n <div class=\"ecl-tabs__dropdown\" [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded\">\n <div class=\"ecl-tabs__dropdown-list\" #dropdownList>\n @for (tab of listTabs; track tab.id; let i = $index) {\n <ecl-tab [isActive]=\"tab.isActive\" [isHidden]=\"tab.isHidden\" (click)=\"onTabSelect(tab)\"\n (keydown.arrowRight)=\"onTabKeydownArrowRight(i)\" (keydown.arrowLeft)=\"onTabKeydownArrowLeft(i)\"\n (keydown.home)=\"onTabKeydownHome()\" (keydown.end)=\"onTabKeydownEnd()\"\n (keydown.enter)=\"onTabSelect(tab)\" (keydown.tab)=\"onTabBlur()\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </ecl-tab>\n }\n </div>\n </div>\n }\n </ecl-tab-more>\n </div>\n <button #moreButton eclButton class=\"ecl-tabs__toggle\" tabindex=\"-1\" variant=\"ghost\"\n [attr.aria-expanded]=\"isDropdownExpanded\" [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\" [class.ecl-tabs__toggle--hidden]=\"!isMoreButtonShow\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button\n #btnPrev\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__prev\"\n [class.ecl-u-d-none]=\"!isScrollPrevBtnShow\"\n [class.ecl-u-d-block]=\"isScrollPrevBtnShow\"\n (click)=\"onScrollPrev()\">\n <ecl-icon isInverted icon=\"corner-arrow\" transform=\"rotate-270\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n <button\n #btnNext\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__next\"\n [class.ecl-u-d-none]=\"!isScrollNextBtnShow\"\n [class.ecl-u-d-block]=\"isScrollNextBtnShow\"\n (click)=\"onScrollNext()\">\n <ecl-icon isInverted icon=\"corner-arrow\" color=\"inverted\" transform=\"rotate-90\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n </div>\n</div>\n\n@for (tab of tabs.toArray(); track tab.tabLabel) {\n @if (tab.isActive) {\n <div class=\"{{ bodyClass }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n }\n}\n@for (tab of listTabs; track tab.tabLabel) {\n @if (tab.isActive) {\n <div class=\"{{ bodyClass }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n }\n}\n" }]
449
449
  }], ctorParameters: () => [{ type: i0.IterableDiffers }, { type: i1.BreakpointObserver }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i2.EclRtlService }], propDecorators: { bodyClass: [{
450
450
  type: Input
451
- }], direction: [{
452
- type: Input
453
451
  }], tabSelect: [{
454
452
  type: Output
455
453
  }], tabs: [{
@@ -477,4 +475,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2",
477
475
  type: HostListener,
478
476
  args: ['window:resize', ['$event']]
479
477
  }] } });
480
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC10YWJzL2VjbC10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtdGFicy9lY2wtdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBSUgsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBTUwsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7O0FBR3RDLE1BQU0sQ0FBTixJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDdEIsK0JBQWEsQ0FBQTtJQUNiLG1DQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QjtBQVFELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxnQkFBZ0I7SUFrQ2xELFlBQ1ksT0FBd0IsRUFDeEIscUJBQXlDLEVBQ3pDLEVBQXFCLEVBQ3JCLEVBQWMsRUFDZCxhQUE0QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQU5BLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3hCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBb0I7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QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBJdGVyYWJsZUNoYW5nZXMsXG4gICAgSXRlcmFibGVEaWZmZXIsXG4gICAgSXRlcmFibGVEaWZmZXJzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWVyZ2VXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2VjbC1idXR0b24nO1xuaW1wb3J0IHsgRWNsVGFiQ29tcG9uZW50LCBFY2xUYWJTZWxlY3RFdmVudCB9IGZyb20gJy4vZWNsLXRhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2V5Q29kZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEVjbFJ0bFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBlbnVtIFNoaWZ0RGlyZWN0aW9uIHtcbiAgICBORVhUID0gJ25leHQnLFxuICAgIFBSRVZJT1VTID0gJ3ByZXYnLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnbmF2W2VjbFRhYnNdLCBlY2wtdGFicycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC10YWJzLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xUYWJzQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBib2R5Q2xhc3MgPSAnZWNsLXUtbXQtcyc7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVG8gYmUgcmVtb3ZlZCBpbiAxOCB2ZXJzaW9uLiBObyBhbHRlcm5hdGl2ZSwgc2hvdWxkIG5vdCBiZSB1c2VkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRpcmVjdGlvbjogJ3J0bCcgfCAnbHRyJyA9ICdsdHInO1xuICAgIEBPdXRwdXQoKSB0YWJTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbFRhYlNlbGVjdEV2ZW50PigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEVjbFRhYkNvbXBvbmVudCkpIHRhYnM6IFF1ZXJ5TGlzdDxFY2xUYWJDb21wb25lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgndGFic0xpc3QnKSB0YWJzTGlzdDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdtb3JlQnV0dG9uJykgbW9yZUJ1dHRvbjogRWNsQnV0dG9uQ29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ2J0blByZXYnKSBidG5QcmV2OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2J0bk5leHQnKSBidG5OZXh0OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duTGlzdCcpIGRyb3Bkb3duTGlzdDogRWxlbWVudFJlZjtcbiAgICBkcm9wZG93blRhYnM6IEFycmF5PEVjbFRhYkNvbXBvbmVudD4gPSBbXTtcbiAgICBsaXN0VGFiczogQXJyYXk8RWNsVGFiQ29tcG9uZW50PiA9IFtdO1xuXG4gICAgaW5kZXggPSAwO1xuICAgIGlzRHJvcGRvd25FeHBhbmRlZCA9IGZhbHNlO1xuICAgIGlzTW9iaWxlQnJlYWtwb2ludCA9IGZhbHNlO1xuICAgIGlzTW9yZUJ1dHRvblNob3cgPSB0cnVlO1xuICAgIGlzU2Nyb2xsUHJldkJ0blNob3cgPSBmYWxzZTtcbiAgICBpc1Njcm9sbE5leHRCdG5TaG93ID0gZmFsc2U7XG4gICAgc3R5bGVUcmFuc2Zvcm0gPSAndHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCknO1xuXG4gICAgcHJpdmF0ZSBkaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPEVjbFRhYkNvbXBvbmVudD47XG4gICAgcHJpdmF0ZSBkaWZmOiBJdGVyYWJsZUNoYW5nZXM8RWNsVGFiQ29tcG9uZW50PjtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIGlzRmlyc3RDYWxsID0gdHJ1ZTtcbiAgICBwcml2YXRlIGlzUnRsID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBtb3JlQnRuV2lkdGg6IG51bWJlcjtcbiAgICBwcml2YXRlIFRJTUVPVVRfSU5URVJWQUwgPSAzMDA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBkaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMsXG4gICAgICAgIHByaXZhdGUgY2RrQnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIGVjbFJ0bFNlcnZpY2U6IEVjbFJ0bFNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZGlmZmVyID0gdGhpcy5kaWZmZXJzLmZpbmQoW10pLmNyZWF0ZSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVCcmVha3BvaW50Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLmhhbmRsZVJ0bENoYW5nZVN0YXRlKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpZmYgPSB0aGlzLmRpZmZlci5kaWZmKHRoaXMudGFicyk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyZWF0ZVNlY29uZExpc3RGb3JEcm9wZG93bigpO1xuICAgICAgICB0aGlzLm9ic2VydmVUYWJzQ2hhbmdlcygpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaGFuZGxlUmVzaXplKCksIHRoaXMuVElNRU9VVF9JTlRFUlZBTCk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIG9uQ2xpY2sodGFyZ2V0KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5tb3JlQnV0dG9uLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSAmJiAhdGhpcy5kcm9wZG93bkxpc3QubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICAgIG9uV2luZG93UmVzaXplKCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaGFuZGxlUmVzaXplKCksIHRoaXMuVElNRU9VVF9JTlRFUlZBTCk7XG4gICAgfVxuXG4gICAgZ2V0IGlzTW9yZUJ1dHRvbkFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGlzdFRhYnMuZmluZCgoZWwpID0+IGVsLmlzQWN0aXZlKSAhPT0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIG9uU2Nyb2xsUHJldigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaGlmdFRhYnMoU2hpZnREaXJlY3Rpb24uUFJFVklPVVMpO1xuICAgIH1cblxuICAgIG9uU2Nyb2xsTmV4dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaGlmdFRhYnMoU2hpZnREaXJlY3Rpb24uTkVYVCk7XG4gICAgfVxuXG4gICAgb25Ecm9wZG93blRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0Ryb3Bkb3duRXhwYW5kZWQgPSAhdGhpcy5pc0Ryb3Bkb3duRXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgZ2V0VGFic1dpZHRoU3R5bGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGVCcmVha3BvaW50ID8gYCR7dGhpcy5nZXRUYWJzV2lkdGgoKX1weGAgOiAnYXV0byc7XG4gICAgfVxuXG4gICAgZ2V0VGFic1dpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYnMucmVkdWNlKCh0b3RhbCwgaXRlbSkgPT4gKHRvdGFsICs9IE1hdGguY2VpbChpdGVtLmdldFdpZHRoKCkpKSwgMCk7XG4gICAgfVxuXG4gICAgZ2V0SGlkZGVuVGFic0NvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYnMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlzSGlkZGVuKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0VGFiTGFiZWwoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRhYnNBc0FycmF5KClbaW5kZXhdLmdldFRhYkxhYmVsKCk7XG4gICAgfVxuXG4gICAgZ2V0VHJhbnNpdGlvbkR1cmF0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcmV0dXJuICcwLjRzJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJzBzJztcbiAgICB9XG5cbiAgICBvblRhYkJsdXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuXG4gICAgICAgIHRoaXMuZ2V0TGFzdFZpc2libGVUYWIoKS5vbkZvY3VzKCk7XG4gICAgICAgIHRoaXMuZ2V0TGFzdFZpc2libGVUYWIoKS5vbkJsdXIoKTtcbiAgICB9XG5cbiAgICBvblRhYlNlbGVjdCh0YWI6IEVjbFRhYkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlYWN0aXZhdGVBbGxUYWJzKHRoaXMudGFicy50b0FycmF5KCksIHRoaXMubGlzdFRhYnMpO1xuICAgICAgICB0aGlzLmFjdGl2YXRlVGFiKHRhYik7XG4gICAgICAgIHRoaXMuc2VuZFRhYlNlbGVjdEV2ZW50KHRhYik7XG4gICAgfVxuXG4gICAgb25UYWJLZXlkb3duQXJyb3dSaWdodChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgdGhpcy5zaGlmdFRhYnMoU2hpZnREaXJlY3Rpb24uTkVYVCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLmdldFRhYnNDb3VudCgpIC0gMSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c09uRmlyc3RUYWIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNPbk5leHRUYWIoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UYWJLZXlkb3duQXJyb3dMZWZ0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGVCcmVha3BvaW50KSB7XG4gICAgICAgICAgICB0aGlzLnNoaWZ0VGFicyhTaGlmdERpcmVjdGlvbi5QUkVWSU9VUyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT25MYXN0VGFiKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT25QcmV2VGFiKGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVGFiS2V5ZG93bkhvbWUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNPbkZpcnN0VGFiKCk7XG4gICAgfVxuXG4gICAgb25UYWJLZXlkb3duRW5kKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzT25MYXN0VGFiKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaGlmdFRhYnMoZGlyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbmRleCA9IHRoaXMuZ2V0U2hpZkluZGV4KGRpciwgdGhpcy5pbmRleCk7XG5cbiAgICAgICAgdGhpcy5pc1Njcm9sbFByZXZCdG5TaG93ID0gdGhpcy5pbmRleCA+PSAxO1xuICAgICAgICB0aGlzLmlzU2Nyb2xsTmV4dEJ0blNob3cgPSB0aGlzLmluZGV4IDw9IHRoaXMuZ2V0VGFic0NvdW50KCkgLSAxO1xuXG4gICAgICAgIGNvbnN0IGxlZnRNYXJnaW4gPSB0aGlzLmluZGV4ID09PSAwID8gMCA6IHRoaXMuYnRuUHJldi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoICsgMTM7XG5cbiAgICAgICAgbGV0IG5ld09mZnNldCA9IDA7XG4gICAgICAgIGlmICh0aGlzLmlzUnRsKSB7XG4gICAgICAgICAgICBuZXdPZmZzZXQgPSBNYXRoLmNlaWwoXG4gICAgICAgICAgICAgICAgdGhpcy50YWJzTGlzdC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRUYWJzQXNBcnJheSgpW3RoaXMuaW5kZXhdLmhvc3RFbGVtZW50Lm9mZnNldExlZnQgLVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFRhYnNBc0FycmF5KClbdGhpcy5pbmRleF0uaG9zdEVsZW1lbnQub2Zmc2V0V2lkdGggLVxuICAgICAgICAgICAgICAgICAgICBsZWZ0TWFyZ2luLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld09mZnNldCA9IE1hdGguY2VpbCh0aGlzLmdldFRhYnNBc0FycmF5KClbdGhpcy5pbmRleF0uaG9zdEVsZW1lbnQub2Zmc2V0TGVmdCAtIGxlZnRNYXJnaW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWF4U2Nyb2xsID0gTWF0aC5jZWlsKHRoaXMuZ2V0VGFic0xpc3RXaWR0aCgpIC0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKTtcblxuICAgICAgICBpZiAobmV3T2Zmc2V0ID4gbWF4U2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLmlzU2Nyb2xsTmV4dEJ0blNob3cgPSBmYWxzZTtcbiAgICAgICAgICAgIG5ld09mZnNldCA9IG1heFNjcm9sbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzUnRsKSB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlVHJhbnNmb3JtID0gYHRyYW5zbGF0ZTNkKCR7bmV3T2Zmc2V0fXB4LCAwcHgsIDBweClgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdHlsZVRyYW5zZm9ybSA9IGB0cmFuc2xhdGUzZCgtJHtuZXdPZmZzZXR9cHgsIDBweCwgMHB4KWA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNoaWZJbmRleChkaXI6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGlmIChkaXIgPT09IFNoaWZ0RGlyZWN0aW9uLk5FWFQpIHtcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5nZXRUYWJzQ291bnQoKSAtIDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluZGV4ICsgMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRhYnNDb3VudCgpIC0gMTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluZGV4IC0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlU2Vjb25kTGlzdEZvckRyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdUYWIgPSBPYmplY3QuYXNzaWduKHt9LCB0YWIpIGFzIEVjbFRhYkNvbXBvbmVudDtcbiAgICAgICAgICAgIG5ld1RhYi5pc0hpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICBuZXdUYWIuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubGlzdFRhYnMucHVzaChuZXdUYWIgYXMgRWNsVGFiQ29tcG9uZW50KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUYWJzQXNBcnJheSgpOiBFY2xUYWJDb21wb25lbnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYnMudG9BcnJheSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VGFic0NvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYnMudG9BcnJheSgpLmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bkV4cGFuZGVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bkV4cGFuZGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9ic2VydmVUYWJzQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcmVhdGVUYWJzQ2hhbmdlc09ic2VydmFibGUodGhpcy50YWJzKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHRoaXMub25UYWJzQ2hhbmdlcy5iaW5kKHRoaXMpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVRhYnNDaGFuZ2VzT2JzZXJ2YWJsZSh0YWJzOiBRdWVyeUxpc3Q8RWNsVGFiQ29tcG9uZW50Pik6IE9ic2VydmFibGU8UXVlcnlMaXN0PEVjbFRhYkNvbXBvbmVudD4+IHtcbiAgICAgICAgcmV0dXJuIG9mKHRhYnMpLnBpcGUobWVyZ2VXaXRoKHRhYnMuY2hhbmdlcyksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblRhYnNDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpZmYgPSB0aGlzLmRpZmZlci5kaWZmKHRoaXMudGFicyk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmRpZmYpIHtcbiAgICAgICAgICAgIHRoaXMudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3RUYWJFdmVudHModGFiKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kaWZmLmZvckVhY2hBZGRlZEl0ZW0oKGNoYW5nZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdFRhYkV2ZW50cyhjaGFuZ2UuaXRlbSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5kaWZmLmZvckVhY2hSZW1vdmVkSXRlbSgoY2hhbmdlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNjb25uZWN0VGFiRXZlbnRzKGNoYW5nZS5pdGVtKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb25uZWN0VGFiRXZlbnRzKHRhYjogRWNsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRhYi5zZWxlY3RUYWIucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uVGFiU2VsZWN0KHRhYik7XG4gICAgICAgIH0pO1xuICAgICAgICB0YWIua2V5ZG93blRhYi5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vblRhYktleWRvd24oZXZlbnQsIHRhYik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25UYWJLZXlkb3duKGV2ZW50OiBFdmVudCwgdGFiOiBFY2xUYWJDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmdldFRhYnNBc0FycmF5KCkuaW5kZXhPZih0YWIpO1xuICAgICAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgICAgICBjYXNlIEtleUNvZGUuQVJST1dfTEVGVDoge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVGFiS2V5ZG93bkFycm93TGVmdChpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlIEtleUNvZGUuQVJST1dfUklHSFQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblRhYktleWRvd25BcnJvd1JpZ2h0KGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5FTkQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblRhYktleWRvd25FbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5IT01FOiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25UYWJLZXlkb3duSG9tZSgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkVOVEVSOiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25UYWJTZWxlY3QodGFiKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5UQUI6IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblRhYkJsdXIoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMYXN0VmlzaWJsZVRhYigpOiBFY2xUYWJDb21wb25lbnQge1xuICAgICAgICBsZXQgcmVzdWx0ID0gbnVsbDtcbiAgICAgICAgdGhpcy5nZXRUYWJzQXNBcnJheSgpLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWVsLmlzSGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gZWw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c09uTmV4dFRhYihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmdldFRhYnNBc0FycmF5KClbaW5kZXggKyAxXS5pc0hpZGRlbikge1xuICAgICAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24oKTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNPbkRyb3Bkb3duVGFiKGluZGV4ICsgMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICAgIHRoaXMuZ2V0VGFic0FzQXJyYXkoKVtpbmRleCArIDFdLm9uRm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNPbkZpcnN0VGFiKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgdGhpcy5nZXRGaXJzdFRhYkZyb21BcnJheSgpLm9uRm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzT25MYXN0VGFiKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZ2V0TGFzdFRhYkZyb21BcnJheSgpLmlzSGlkZGVuKSB7XG4gICAgICAgICAgICB0aGlzLmdldExhc3RUYWJGcm9tQXJyYXkoKS5vbkZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bigpO1xuICAgICAgICAgICAgdGhpcy5mb2N1c09uRHJvcGRvd25UYWIodGhpcy5nZXRUYWJzQ291bnQoKSAtIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c09uUHJldlRhYihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5saXN0VGFic1tpbmRleCAtIDFdLmlzSGlkZGVuKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT25Ecm9wZG93blRhYihpbmRleCAtIDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgICAgICB0aGlzLmdldFRhYnNBc0FycmF5KClbaW5kZXggLSAxXS5vbkZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzT25Ecm9wZG93blRhYihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25MaXN0Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5baW5kZXhdLmZpcnN0Q2hpbGQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJsdXJEcm9wZG93blRhYihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25MaXN0Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5baW5kZXhdLmZpcnN0Q2hpbGQuYmx1cigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TGFzdFRhYkZyb21BcnJheSgpOiBFY2xUYWJDb21wb25lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUYWJzQXNBcnJheSgpW3RoaXMuZ2V0VGFic0FzQXJyYXkoKS5sZW5ndGggLSAxXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpcnN0VGFiRnJvbUFycmF5KCk6IEVjbFRhYkNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRhYnNBc0FycmF5KClbMF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkaXNjb25uZWN0VGFiRXZlbnRzKHRhYjogRWNsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0YWIgJiYgdGFiLnNlbGVjdFRhYikge1xuICAgICAgICAgICAgdGFiLnNlbGVjdFRhYi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWFjdGl2YXRlQWxsVGFicyh0YWJzOiBBcnJheTxFY2xUYWJDb21wb25lbnQ+LCBsaXN0VGFiczogQXJyYXk8RWNsVGFiQ29tcG9uZW50Pik6IHZvaWQge1xuICAgICAgICB0YWJzLmZvckVhY2goKGl0KSA9PiB7XG4gICAgICAgICAgICBpdC5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICBsaXN0VGFicy5mb3JFYWNoKChpdCkgPT4ge1xuICAgICAgICAgICAgaXQuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZVRhYih0YWI6IEVjbFRhYkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0YWIuaXNBY3RpdmUgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VuZFRhYlNlbGVjdEV2ZW50KHRhYjogRWNsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFiU2VsZWN0Lm5leHQobmV3IEVjbFRhYlNlbGVjdEV2ZW50KHRhYikpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb2JzZXJ2ZUJyZWFrcG9pbnRDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNka0JyZWFrcG9pbnRPYnNlcnZlclxuICAgICAgICAgICAgLm9ic2VydmUoWycobWF4LXdpZHRoOiA0ODBweCknXSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNNb2JpbGVCcmVha3BvaW50ID0gcmVzdWx0Lm1hdGNoZXM7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVNb2JpbGUoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluaXRNb3JlQnRuV2lkdGgoKTtcbiAgICAgICAgbGV0IHN0b3BXaWR0aCA9IHRoaXMubW9yZUJ0bldpZHRoICsgMjU7XG4gICAgICAgIGNvbnN0IGhpZGRlbkl0ZW1zID0gW107XG4gICAgICAgIGNvbnN0IGxpc3RXaWR0aCA9IHRoaXMuZ2V0VGFic0xpc3RXaWR0aCgpO1xuICAgICAgICB0aGlzLmlzU2Nyb2xsTmV4dEJ0blNob3cgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1Njcm9sbFByZXZCdG5TaG93ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNNb3JlQnV0dG9uU2hvdyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnRhYnMuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5pc0hpZGRlbiA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGxpc3RXaWR0aCA+PSBzdG9wV2lkdGggKyBpdGVtLmdldFdpZHRoKCkgJiYgIWhpZGRlbkl0ZW1zLmluY2x1ZGVzKGkgLSAxKSkge1xuICAgICAgICAgICAgICAgIHN0b3BXaWR0aCArPSBpdGVtLmdldFdpZHRoKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGl0ZW0uaXNIaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdFRhYnNbaV0uaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBoaWRkZW5JdGVtcy5wdXNoKGkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIWhpZGRlbkl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5pc01vcmVCdXR0b25TaG93ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNldEFjdGl2ZUl0ZW1Gb3JNYWluVGFicygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pc01vcmVCdXR0b25TaG93ID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2V0SGlkZGVuSXRlbXNGb3JEcm9wZG93blRhYnMoaGlkZGVuSXRlbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0TW9yZUJ0bldpZHRoKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0ZpcnN0Q2FsbCkge1xuICAgICAgICAgICAgdGhpcy5tb3JlQnRuV2lkdGggPSB0aGlzLm1vcmVCdXR0b24uZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgICAgIHRoaXMuaXNGaXJzdENhbGwgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0QWN0aXZlSXRlbUZvck1haW5UYWJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxpc3RUYWJzLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudGFicy50b0FycmF5KClbaW5kZXhdLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUYWJzTGlzdFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYnNMaXN0Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRIaWRkZW5JdGVtc0ZvckRyb3Bkb3duVGFicyhoaWRkZW5JdGVtczogbnVtYmVyW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saXN0VGFicy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGhpZGRlbkl0ZW1zLmluY2x1ZGVzKGluZGV4KSkge1xuICAgICAgICAgICAgICAgIGl0ZW0uaXNIaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0hpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTW9iaWxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzTW9yZUJ1dHRvblNob3cgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1Njcm9sbFByZXZCdG5TaG93ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNTY3JvbGxOZXh0QnRuU2hvdyA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVSdGxDaGFuZ2VTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNSdGxPbGQgPSB0aGlzLmlzUnRsO1xuICAgICAgICB0aGlzLmVjbFJ0bFNlcnZpY2UuY3VycmVudFJ0bFN0YXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChydGxTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1J0bCA9IHJ0bFN0YXRlO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCAmJiB0aGlzLmhhc1J0bENoYW5nZWQoaXNSdGxPbGQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlUnRsQ2hhbmdlKCk7XG4gICAgICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1J0bENoYW5nZWQoaXNSdGxPbGQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzUnRsT2xkICE9PSB0aGlzLmlzUnRsO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlUnRsQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhhbmRsZU1vYmlsZSgpO1xuICAgICAgICB0aGlzLnN0eWxlVHJhbnNmb3JtID0gJ3RyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpJztcbiAgICAgICAgdGhpcy5pbmRleCA9IDA7XG4gICAgfVxufVxuIiwiPG5hdiBjbGFzcz1cImVjbC10YWJzXCI+XG4gICAgPGRpdiBjbGFzcz1cImVjbC10YWJzX19jb250YWluZXJcIj5cbiAgICAgICAgPHVsXG4gICAgICAgICAgICBjbGFzcz1cImVjbC10YWJzX19saXN0XCJcbiAgICAgICAgICAgIHJvbGU9XCJ0YWJsaXN0XCJcbiAgICAgICAgICAgICN0YWJzTGlzdFxuICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImdldFRhYnNXaWR0aFN0eWxlKClcIlxuICAgICAgICAgICAgW3N0eWxlLnRyYW5zZm9ybV09XCJzdHlsZVRyYW5zZm9ybVwiXG4gICAgICAgICAgICBbc3R5bGUudHJhbnNpdGlvbi1kdXJhdGlvbl09XCInMCcgfHwgZ2V0VHJhbnNpdGlvbkR1cmF0aW9uKClcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImVjbC10YWIsIGxpW2VjbFRhYl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8ZWNsLXRhYi1tb3JlIFtpc0hpZGRlbl09XCIhaXNNb3JlQnV0dG9uU2hvd1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgI21vcmVCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgZWNsQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZWNsLXRhYnNfX3RvZ2dsZVwiXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0Ryb3Bkb3duRXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZWNsLXRhYnNfX3RvZ2dsZS0tYWN0aXZlXT1cImlzTW9yZUJ1dHRvbkFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRyb3Bkb3duVG9nZ2xlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZWNsQnV0dG9uTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnZWNsLmNvbW1vbi5NT1JFJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgKHt7IGdldEhpZGRlblRhYnNDb3VudCgpIH19KVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxlY2wtaWNvbiBpY29uPVwiY29ybmVyLWFycm93XCIgdHJhbnNmb3JtPVwicm90YXRlLTE4MFwiIHNpemU9XCJmbHVpZFwiPjwvZWNsLWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGlzdFRhYnMubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZWNsLXRhYnNfX2Ryb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmVjbC10YWJzX19kcm9wZG93bi0tc2hvd109XCJpc0Ryb3Bkb3duRXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICAjZHJvcGRvd25MaXN0PlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgbGlzdFRhYnM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxlY2wtdGFiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzQWN0aXZlXT1cInRhYi5pc0FjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzSGlkZGVuXT1cInRhYi5pc0hpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVGFiU2VsZWN0KHRhYilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93UmlnaHQpPVwib25UYWJLZXlkb3duQXJyb3dSaWdodChpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3dMZWZ0KT1cIm9uVGFiS2V5ZG93bkFycm93TGVmdChpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uaG9tZSk9XCJvblRhYktleWRvd25Ib21lKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVuZCk9XCJvblRhYktleWRvd25FbmQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25UYWJTZWxlY3QodGFiKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24udGFiKT1cIm9uVGFiQmx1cigpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVjbC10YWItbGFiZWw+e3sgZ2V0VGFiTGFiZWwoaSkgfX08L2VjbC10YWItbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2VjbC10YWI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L2VjbC10YWItbW9yZT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJlY2wtdGFic19fY29udHJvbHNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgI2J0blByZXZcbiAgICAgICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cInRydWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJlY2wtdGFic19fcHJldlwiXG4gICAgICAgICAgICBbY2xhc3MuZWNsLXUtZC1ub25lXT1cIiFpc1Njcm9sbFByZXZCdG5TaG93XCJcbiAgICAgICAgICAgIFtjbGFzcy5lY2wtdS1kLWJsb2NrXT1cImlzU2Nyb2xsUHJldkJ0blNob3dcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2Nyb2xsUHJldigpXCI+XG4gICAgICAgICAgICA8ZWNsLWljb24gaXNJbnZlcnRlZCBpY29uPVwiY29ybmVyLWFycm93XCIgdHJhbnNmb3JtPVwicm90YXRlLTI3MFwiIHNpemU9XCJtXCIgY2xhc3M9XCJlY2wtdS1kLWJsb2NrXCI+IDwvZWNsLWljb24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj48L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAjYnRuTmV4dFxuICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC10YWJzX19uZXh0XCJcbiAgICAgICAgICAgIFtjbGFzcy5lY2wtdS1kLW5vbmVdPVwiIWlzU2Nyb2xsTmV4dEJ0blNob3dcIlxuICAgICAgICAgICAgW2NsYXNzLmVjbC11LWQtYmxvY2tdPVwiaXNTY3JvbGxOZXh0QnRuU2hvd1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25TY3JvbGxOZXh0KClcIj5cbiAgICAgICAgICAgIDxlY2wtaWNvbiBpc0ludmVydGVkIGljb249XCJjb3JuZXItYXJyb3dcIiBjb2xvcj1cImludmVydGVkXCIgdHJhbnNmb3JtPVwicm90YXRlLTkwXCIgc2l6ZT1cIm1cIiBjbGFzcz1cImVjbC11LWQtYmxvY2tcIj4gPC9lY2wtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L25hdj5cblxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnMudG9BcnJheSgpXCI+XG4gICAgPGRpdiBjbGFzcz1cInt7IGJvZHlDbGFzcyB9fVwiICpuZ0lmPVwidGFiLmlzQWN0aXZlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWIuY29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiBsaXN0VGFic1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ7eyBib2R5Q2xhc3MgfX1cIiAqbmdJZj1cInRhYi5pc0FjdGl2ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFiLmNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
478
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC10YWJzL2VjbC10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtdGFicy9lY2wtdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBSUgsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBTUwsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7O0FBR3RDLE1BQU0sQ0FBTixJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDdEIsK0JBQWEsQ0FBQTtJQUNiLG1DQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QjtBQVFELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxnQkFBZ0I7SUE4QmxELFlBQ1ksT0FBd0IsRUFDeEIscUJBQXlDLEVBQ3pDLEVBQXFCLEVBQ3JCLEVBQWMsRUFDZCxhQUE0QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQU5BLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3hCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBb0I7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O3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDO2dCQVFqRCxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIEl0ZXJhYmxlQ2hhbmdlcyxcbiAgICBJdGVyYWJsZURpZmZlcixcbiAgICBJdGVyYWJsZURpZmZlcnMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtZXJnZVdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLWJ1dHRvbic7XG5pbXBvcnQgeyBFY2xUYWJDb21wb25lbnQsIEVjbFRhYlNlbGVjdEV2ZW50IH0gZnJvbSAnLi9lY2wtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLZXlDb2RlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgRWNsUnRsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuZXhwb3J0IGVudW0gU2hpZnREaXJlY3Rpb24ge1xuICAgIE5FWFQgPSAnbmV4dCcsXG4gICAgUFJFVklPVVMgPSAncHJldicsXG59XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICduYXZbZWNsVGFic10sIGVjbC10YWJzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLXRhYnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEVjbFRhYnNDb21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGJvZHlDbGFzcyA9ICdlY2wtdS1tdC1zJztcbiAgICBAT3V0cHV0KCkgdGFiU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xUYWJTZWxlY3RFdmVudD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBFY2xUYWJDb21wb25lbnQpKSB0YWJzOiBRdWVyeUxpc3Q8RWNsVGFiQ29tcG9uZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ3RhYnNMaXN0JykgdGFic0xpc3Q6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnbW9yZUJ1dHRvbicpIG1vcmVCdXR0b246IEVjbEJ1dHRvbkNvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdidG5QcmV2JykgYnRuUHJldjogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdidG5OZXh0JykgYnRuTmV4dDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdkcm9wZG93bkxpc3QnKSBkcm9wZG93bkxpc3Q6IEVsZW1lbnRSZWY7XG4gICAgZHJvcGRvd25UYWJzOiBBcnJheTxFY2xUYWJDb21wb25lbnQ+ID0gW107XG4gICAgbGlzdFRhYnM6IEFycmF5PEVjbFRhYkNvbXBvbmVudD4gPSBbXTtcblxuICAgIGluZGV4ID0gMDtcbiAgICBpc0Ryb3Bkb3duRXhwYW5kZWQgPSBmYWxzZTtcbiAgICBpc01vYmlsZUJyZWFrcG9pbnQgPSBmYWxzZTtcbiAgICBpc01vcmVCdXR0b25TaG93ID0gdHJ1ZTtcbiAgICBpc1Njcm9sbFByZXZCdG5TaG93ID0gZmFsc2U7XG4gICAgaXNTY3JvbGxOZXh0QnRuU2hvdyA9IGZhbHNlO1xuICAgIHN0eWxlVHJhbnNmb3JtID0gJ3RyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpJztcblxuICAgIHByaXZhdGUgZGlmZmVyOiBJdGVyYWJsZURpZmZlcjxFY2xUYWJDb21wb25lbnQ+O1xuICAgIHByaXZhdGUgZGlmZjogSXRlcmFibGVDaGFuZ2VzPEVjbFRhYkNvbXBvbmVudD47XG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgcHJpdmF0ZSBpc0ZpcnN0Q2FsbCA9IHRydWU7XG4gICAgcHJpdmF0ZSBpc1J0bCA9IGZhbHNlO1xuICAgIHByaXZhdGUgbW9yZUJ0bldpZHRoOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBUSU1FT1VUX0lOVEVSVkFMID0gMzAwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLFxuICAgICAgICBwcml2YXRlIGNka0JyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBlY2xSdGxTZXJ2aWNlOiBFY2xSdGxTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmRpZmZlciA9IHRoaXMuZGlmZmVycy5maW5kKFtdKS5jcmVhdGUoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlQnJlYWtwb2ludENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5oYW5kbGVSdGxDaGFuZ2VTdGF0ZSgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWZmID0gdGhpcy5kaWZmZXIuZGlmZih0aGlzLnRhYnMpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcmVhdGVTZWNvbmRMaXN0Rm9yRHJvcGRvd24oKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlVGFic0NoYW5nZXMoKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmhhbmRsZVJlc2l6ZSgpLCB0aGlzLlRJTUVPVVRfSU5URVJWQUwpO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcbiAgICBvbkNsaWNrKHRhcmdldCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubW9yZUJ1dHRvbi5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkgJiYgIXRoaXMuZHJvcGRvd25MaXN0Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgICBvbldpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmhhbmRsZVJlc2l6ZSgpLCB0aGlzLlRJTUVPVVRfSU5URVJWQUwpO1xuICAgIH1cblxuICAgIGdldCBpc01vcmVCdXR0b25BY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxpc3RUYWJzLmZpbmQoKGVsKSA9PiBlbC5pc0FjdGl2ZSkgIT09IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBvblNjcm9sbFByZXYoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hpZnRUYWJzKFNoaWZ0RGlyZWN0aW9uLlBSRVZJT1VTKTtcbiAgICB9XG5cbiAgICBvblNjcm9sbE5leHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hpZnRUYWJzKFNoaWZ0RGlyZWN0aW9uLk5FWFQpO1xuICAgIH1cblxuICAgIG9uRHJvcGRvd25Ub2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bkV4cGFuZGVkID0gIXRoaXMuaXNEcm9wZG93bkV4cGFuZGVkO1xuICAgIH1cblxuICAgIGdldFRhYnNXaWR0aFN0eWxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCA/IGAke3RoaXMuZ2V0VGFic1dpZHRoKCl9cHhgIDogJ2F1dG8nO1xuICAgIH1cblxuICAgIGdldFRhYnNXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJzLnJlZHVjZSgodG90YWwsIGl0ZW0pID0+ICh0b3RhbCArPSBNYXRoLmNlaWwoaXRlbS5nZXRXaWR0aCgpKSksIDApO1xuICAgIH1cblxuICAgIGdldEhpZGRlblRhYnNDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJzLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5pc0hpZGRlbikubGVuZ3RoO1xuICAgIH1cblxuICAgIGdldFRhYkxhYmVsKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUYWJzQXNBcnJheSgpW2luZGV4XS5nZXRUYWJMYWJlbCgpO1xuICAgIH1cblxuICAgIGdldFRyYW5zaXRpb25EdXJhdGlvbigpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5pc01vYmlsZUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHJldHVybiAnMC40cyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcwcyc7XG4gICAgfVxuXG4gICAgb25UYWJCbHVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcblxuICAgICAgICB0aGlzLmdldExhc3RWaXNpYmxlVGFiKCkub25Gb2N1cygpO1xuICAgICAgICB0aGlzLmdldExhc3RWaXNpYmxlVGFiKCkub25CbHVyKCk7XG4gICAgfVxuXG4gICAgb25UYWJTZWxlY3QodGFiOiBFY2xUYWJDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZWFjdGl2YXRlQWxsVGFicyh0aGlzLnRhYnMudG9BcnJheSgpLCB0aGlzLmxpc3RUYWJzKTtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVRhYih0YWIpO1xuICAgICAgICB0aGlzLnNlbmRUYWJTZWxlY3RFdmVudCh0YWIpO1xuICAgIH1cblxuICAgIG9uVGFiS2V5ZG93bkFycm93UmlnaHQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc01vYmlsZUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHRoaXMuc2hpZnRUYWJzKFNoaWZ0RGlyZWN0aW9uLk5FWFQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5nZXRUYWJzQ291bnQoKSAtIDEpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNPbkZpcnN0VGFiKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT25OZXh0VGFiKGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVGFiS2V5ZG93bkFycm93TGVmdChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgdGhpcy5zaGlmdFRhYnMoU2hpZnREaXJlY3Rpb24uUFJFVklPVVMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c09uTGFzdFRhYigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5mb2N1c09uUHJldlRhYihpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRhYktleWRvd25Ib21lKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzT25GaXJzdFRhYigpO1xuICAgIH1cblxuICAgIG9uVGFiS2V5ZG93bkVuZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c09uTGFzdFRhYigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hpZnRUYWJzKGRpcjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5kZXggPSB0aGlzLmdldFNoaWZJbmRleChkaXIsIHRoaXMuaW5kZXgpO1xuXG4gICAgICAgIHRoaXMuaXNTY3JvbGxQcmV2QnRuU2hvdyA9IHRoaXMuaW5kZXggPj0gMTtcbiAgICAgICAgdGhpcy5pc1Njcm9sbE5leHRCdG5TaG93ID0gdGhpcy5pbmRleCA8PSB0aGlzLmdldFRhYnNDb3VudCgpIC0gMTtcblxuICAgICAgICBjb25zdCBsZWZ0TWFyZ2luID0gdGhpcy5pbmRleCA9PT0gMCA/IDAgOiB0aGlzLmJ0blByZXYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCArIDEzO1xuXG4gICAgICAgIGxldCBuZXdPZmZzZXQgPSAwO1xuICAgICAgICBpZiAodGhpcy5pc1J0bCkge1xuICAgICAgICAgICAgbmV3T2Zmc2V0ID0gTWF0aC5jZWlsKFxuICAgICAgICAgICAgICAgIHRoaXMudGFic0xpc3QubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAtXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VGFic0FzQXJyYXkoKVt0aGlzLmluZGV4XS5ob3N0RWxlbWVudC5vZmZzZXRMZWZ0IC1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRUYWJzQXNBcnJheSgpW3RoaXMuaW5kZXhdLmhvc3RFbGVtZW50Lm9mZnNldFdpZHRoIC1cbiAgICAgICAgICAgICAgICAgICAgbGVmdE1hcmdpbixcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdPZmZzZXQgPSBNYXRoLmNlaWwodGhpcy5nZXRUYWJzQXNBcnJheSgpW3RoaXMuaW5kZXhdLmhvc3RFbGVtZW50Lm9mZnNldExlZnQgLSBsZWZ0TWFyZ2luKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1heFNjcm9sbCA9IE1hdGguY2VpbCh0aGlzLmdldFRhYnNMaXN0V2lkdGgoKSAtIHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCk7XG5cbiAgICAgICAgaWYgKG5ld09mZnNldCA+IG1heFNjcm9sbCkge1xuICAgICAgICAgICAgdGhpcy5pc1Njcm9sbE5leHRCdG5TaG93ID0gZmFsc2U7XG4gICAgICAgICAgICBuZXdPZmZzZXQgPSBtYXhTY3JvbGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc1J0bCkge1xuICAgICAgICAgICAgdGhpcy5zdHlsZVRyYW5zZm9ybSA9IGB0cmFuc2xhdGUzZCgke25ld09mZnNldH1weCwgMHB4LCAwcHgpYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVUcmFuc2Zvcm0gPSBgdHJhbnNsYXRlM2QoLSR7bmV3T2Zmc2V0fXB4LCAwcHgsIDBweClgO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTaGlmSW5kZXgoZGlyOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBpZiAoZGlyID09PSBTaGlmdERpcmVjdGlvbi5ORVhUKSB7XG4gICAgICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMuZ2V0VGFic0NvdW50KCkgLSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBpbmRleCArIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUYWJzQ291bnQoKSAtIDE7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBpbmRleCAtIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVNlY29uZExpc3RGb3JEcm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3VGFiID0gT2JqZWN0LmFzc2lnbih7fSwgdGFiKSBhcyBFY2xUYWJDb21wb25lbnQ7XG4gICAgICAgICAgICBuZXdUYWIuaXNIaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgbmV3VGFiLmlzQWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmxpc3RUYWJzLnB1c2gobmV3VGFiIGFzIEVjbFRhYkNvbXBvbmVudCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VGFic0FzQXJyYXkoKTogRWNsVGFiQ29tcG9uZW50W10ge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJzLnRvQXJyYXkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRhYnNDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJzLnRvQXJyYXkoKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZURyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRHJvcGRvd25FeHBhbmRlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3BlbkRyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRHJvcGRvd25FeHBhbmRlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZlVGFic0NoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRlVGFic0NoYW5nZXNPYnNlcnZhYmxlKHRoaXMudGFicykucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh0aGlzLm9uVGFic0NoYW5nZXMuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVUYWJzQ2hhbmdlc09ic2VydmFibGUodGFiczogUXVlcnlMaXN0PEVjbFRhYkNvbXBvbmVudD4pOiBPYnNlcnZhYmxlPFF1ZXJ5TGlzdDxFY2xUYWJDb21wb25lbnQ+PiB7XG4gICAgICAgIHJldHVybiBvZih0YWJzKS5waXBlKG1lcmdlV2l0aCh0YWJzLmNoYW5nZXMpLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25UYWJzQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWZmID0gdGhpcy5kaWZmZXIuZGlmZih0aGlzLnRhYnMpO1xuXG4gICAgICAgIGlmICghdGhpcy5kaWZmKSB7XG4gICAgICAgICAgICB0aGlzLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0VGFiRXZlbnRzKHRhYik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGlmZi5mb3JFYWNoQWRkZWRJdGVtKChjaGFuZ2UpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3RUYWJFdmVudHMoY2hhbmdlLml0ZW0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZGlmZi5mb3JFYWNoUmVtb3ZlZEl0ZW0oKGNoYW5nZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzY29ubmVjdFRhYkV2ZW50cyhjaGFuZ2UuaXRlbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY29ubmVjdFRhYkV2ZW50cyh0YWI6IEVjbFRhYkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0YWIuc2VsZWN0VGFiLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vblRhYlNlbGVjdCh0YWIpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGFiLmtleWRvd25UYWIucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25UYWJLZXlkb3duKGV2ZW50LCB0YWIpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uVGFiS2V5ZG93bihldmVudDogRXZlbnQsIHRhYjogRWNsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRUYWJzQXNBcnJheSgpLmluZGV4T2YodGFiKTtcbiAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX0xFRlQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblRhYktleWRvd25BcnJvd0xlZnQoaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX1JJR0hUOiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25UYWJLZXlkb3duQXJyb3dSaWdodChpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlIEtleUNvZGUuRU5EOiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25UYWJLZXlkb3duRW5kKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlIEtleUNvZGUuSE9NRToge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVGFiS2V5ZG93bkhvbWUoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5FTlRFUjoge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVGFiU2VsZWN0KHRhYik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlIEtleUNvZGUuVEFCOiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25UYWJCbHVyKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TGFzdFZpc2libGVUYWIoKTogRWNsVGFiQ29tcG9uZW50IHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IG51bGw7XG4gICAgICAgIHRoaXMuZ2V0VGFic0FzQXJyYXkoKS5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFlbC5pc0hpZGRlbikge1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IGVsO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNPbk5leHRUYWIoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5nZXRUYWJzQXNBcnJheSgpW2luZGV4ICsgMV0uaXNIaWRkZW4pIHtcbiAgICAgICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT25Ecm9wZG93blRhYihpbmRleCArIDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgICAgICB0aGlzLmdldFRhYnNBc0FycmF5KClbaW5kZXggKyAxXS5vbkZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzT25GaXJzdFRhYigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgIHRoaXMuZ2V0Rmlyc3RUYWJGcm9tQXJyYXkoKS5vbkZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c09uTGFzdFRhYigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmdldExhc3RUYWJGcm9tQXJyYXkoKS5pc0hpZGRlbikge1xuICAgICAgICAgICAgdGhpcy5nZXRMYXN0VGFiRnJvbUFycmF5KCkub25Gb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24oKTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNPbkRyb3Bkb3duVGFiKHRoaXMuZ2V0VGFic0NvdW50KCkgLSAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNPblByZXZUYWIoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubGlzdFRhYnNbaW5kZXggLSAxXS5pc0hpZGRlbikge1xuICAgICAgICAgICAgdGhpcy5mb2N1c09uRHJvcGRvd25UYWIoaW5kZXggLSAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgICAgICAgdGhpcy5nZXRUYWJzQXNBcnJheSgpW2luZGV4IC0gMV0ub25Gb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c09uRHJvcGRvd25UYWIoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmRyb3Bkb3duTGlzdC5uYXRpdmVFbGVtZW50LmNoaWxkcmVuW2luZGV4XS5maXJzdENoaWxkLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBibHVyRHJvcGRvd25UYWIoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmRyb3Bkb3duTGlzdC5uYXRpdmVFbGVtZW50LmNoaWxkcmVuW2luZGV4XS5maXJzdENoaWxkLmJsdXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExhc3RUYWJGcm9tQXJyYXkoKTogRWNsVGFiQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VGFic0FzQXJyYXkoKVt0aGlzLmdldFRhYnNBc0FycmF5KCkubGVuZ3RoIC0gMV07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaXJzdFRhYkZyb21BcnJheSgpOiBFY2xUYWJDb21wb25lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUYWJzQXNBcnJheSgpWzBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGlzY29ubmVjdFRhYkV2ZW50cyh0YWI6IEVjbFRhYkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGFiICYmIHRhYi5zZWxlY3RUYWIpIHtcbiAgICAgICAgICAgIHRhYi5zZWxlY3RUYWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZGVhY3RpdmF0ZUFsbFRhYnModGFiczogQXJyYXk8RWNsVGFiQ29tcG9uZW50PiwgbGlzdFRhYnM6IEFycmF5PEVjbFRhYkNvbXBvbmVudD4pOiB2b2lkIHtcbiAgICAgICAgdGFicy5mb3JFYWNoKChpdCkgPT4ge1xuICAgICAgICAgICAgaXQuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbGlzdFRhYnMuZm9yRWFjaCgoaXQpID0+IHtcbiAgICAgICAgICAgIGl0LmlzQWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWN0aXZhdGVUYWIodGFiOiBFY2xUYWJDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgdGFiLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbmRUYWJTZWxlY3RFdmVudCh0YWI6IEVjbFRhYkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYlNlbGVjdC5uZXh0KG5ldyBFY2xUYWJTZWxlY3RFdmVudCh0YWIpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9ic2VydmVCcmVha3BvaW50Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jZGtCcmVha3BvaW50T2JzZXJ2ZXJcbiAgICAgICAgICAgIC5vYnNlcnZlKFsnKG1heC13aWR0aDogNDgwcHgpJ10pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCA9IHJlc3VsdC5tYXRjaGVzO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVSZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgICBpZiAodGhpcy5pc01vYmlsZUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTW9iaWxlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0TW9yZUJ0bldpZHRoKCk7XG4gICAgICAgIGxldCBzdG9wV2lkdGggPSB0aGlzLm1vcmVCdG5XaWR0aCArIDI1O1xuICAgICAgICBjb25zdCBoaWRkZW5JdGVtcyA9IFtdO1xuICAgICAgICBjb25zdCBsaXN0V2lkdGggPSB0aGlzLmdldFRhYnNMaXN0V2lkdGgoKTtcbiAgICAgICAgdGhpcy5pc1Njcm9sbE5leHRCdG5TaG93ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNTY3JvbGxQcmV2QnRuU2hvdyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzTW9yZUJ1dHRvblNob3cgPSBmYWxzZTtcbiAgICAgICAgdGhpcy50YWJzLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcbiAgICAgICAgICAgIGl0ZW0uaXNIaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChsaXN0V2lkdGggPj0gc3RvcFdpZHRoICsgaXRlbS5nZXRXaWR0aCgpICYmICFoaWRkZW5JdGVtcy5pbmNsdWRlcyhpIC0gMSkpIHtcbiAgICAgICAgICAgICAgICBzdG9wV2lkdGggKz0gaXRlbS5nZXRXaWR0aCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpdGVtLmlzSGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RUYWJzW2ldLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaGlkZGVuSXRlbXMucHVzaChpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFoaWRkZW5JdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuaXNNb3JlQnV0dG9uU2hvdyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zZXRBY3RpdmVJdGVtRm9yTWFpblRhYnMoKTtcbiAgICAgICAgICAgIHRoaXMuaGlkZUFsbERyb3Bkb3duVGFicygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pc01vcmVCdXR0b25TaG93ID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2V0SGlkZGVuSXRlbXNGb3JEcm9wZG93blRhYnMoaGlkZGVuSXRlbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0TW9yZUJ0bldpZHRoKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0ZpcnN0Q2FsbCkge1xuICAgICAgICAgICAgdGhpcy5tb3JlQnRuV2lkdGggPSB0aGlzLm1vcmVCdXR0b24uZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgICAgIHRoaXMuaXNGaXJzdENhbGwgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGlkZUFsbERyb3Bkb3duVGFicygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saXN0VGFicy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5pc0hpZGRlbiA9IHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0QWN0aXZlSXRlbUZvck1haW5UYWJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxpc3RUYWJzLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudGFicy50b0FycmF5KClbaW5kZXhdLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUYWJzTGlzdFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYnNMaXN0Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRIaWRkZW5JdGVtc0ZvckRyb3Bkb3duVGFicyhoaWRkZW5JdGVtczogbnVtYmVyW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saXN0VGFicy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGhpZGRlbkl0ZW1zLmluY2x1ZGVzKGluZGV4KSkge1xuICAgICAgICAgICAgICAgIGl0ZW0uaXNIaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0hpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTW9iaWxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzTW9yZUJ1dHRvblNob3cgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1Njcm9sbFByZXZCdG5TaG93ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNTY3JvbGxOZXh0QnRuU2hvdyA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVSdGxDaGFuZ2VTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNSdGxPbGQgPSB0aGlzLmlzUnRsO1xuICAgICAgICB0aGlzLmVjbFJ0bFNlcnZpY2UuY3VycmVudFJ0bFN0YXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChydGxTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1J0bCA9IHJ0bFN0YXRlO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCAmJiB0aGlzLmhhc1J0bENoYW5nZWQoaXNSdGxPbGQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlUnRsQ2hhbmdlKCk7XG4gICAgICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1J0bENoYW5nZWQoaXNSdGxPbGQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzUnRsT2xkICE9PSB0aGlzLmlzUnRsO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlUnRsQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhhbmRsZU1vYmlsZSgpO1xuICAgICAgICB0aGlzLnN0eWxlVHJhbnNmb3JtID0gJ3RyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpJztcbiAgICAgICAgdGhpcy5pbmRleCA9IDA7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVjbC10YWJzXCI+XG4gICAgPGRpdiBjbGFzcz1cImVjbC10YWJzX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJlY2wtdGFic19fbGlzdFwiXG4gICAgICAgICAgICByb2xlPVwidGFibGlzdFwiXG4gICAgICAgICAgICAjdGFic0xpc3RcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJnZXRUYWJzV2lkdGhTdHlsZSgpXCJcbiAgICAgICAgICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwic3R5bGVUcmFuc2Zvcm1cIlxuICAgICAgICAgICAgW3N0eWxlLnRyYW5zaXRpb24tZHVyYXRpb25dPVwiJzAnIHx8IGdldFRyYW5zaXRpb25EdXJhdGlvbigpXCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJlY2wtdGFiLCBbZWNsVGFiXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDxlY2wtdGFiLW1vcmUgW2lzSGlkZGVuXT1cIiFpc01vcmVCdXR0b25TaG93XCI+XG4gICAgICAgICAgICAgICAgQGlmIChsaXN0VGFicy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVjbC10YWJzX19kcm9wZG93blwiIFtjbGFzcy5lY2wtdGFic19fZHJvcGRvd24tLXNob3ddPVwiaXNEcm9wZG93bkV4cGFuZGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlY2wtdGFic19fZHJvcGRvd24tbGlzdFwiICNkcm9wZG93bkxpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yICh0YWIgb2YgbGlzdFRhYnM7IHRyYWNrIHRhYi5pZDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWNsLXRhYiBbaXNBY3RpdmVdPVwidGFiLmlzQWN0aXZlXCIgW2lzSGlkZGVuXT1cInRhYi5pc0hpZGRlblwiIChjbGljayk9XCJvblRhYlNlbGVjdCh0YWIpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd1JpZ2h0KT1cIm9uVGFiS2V5ZG93bkFycm93UmlnaHQoaSlcIiAoa2V5ZG93bi5hcnJvd0xlZnQpPVwib25UYWJLZXlkb3duQXJyb3dMZWZ0KGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5ob21lKT1cIm9uVGFiS2V5ZG93bkhvbWUoKVwiIChrZXlkb3duLmVuZCk9XCJvblRhYktleWRvd25FbmQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25UYWJTZWxlY3QodGFiKVwiIChrZXlkb3duLnRhYik9XCJvblRhYkJsdXIoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWNsLXRhYi1sYWJlbD57eyBnZXRUYWJMYWJlbChpKSB9fTwvZWNsLXRhYi1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VjbC10YWI+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9lY2wtdGFiLW1vcmU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uICNtb3JlQnV0dG9uIGVjbEJ1dHRvbiBjbGFzcz1cImVjbC10YWJzX190b2dnbGVcIiB0YWJpbmRleD1cIi0xXCIgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNEcm9wZG93bkV4cGFuZGVkXCIgW2NsYXNzLmVjbC10YWJzX190b2dnbGUtLWFjdGl2ZV09XCJpc01vcmVCdXR0b25BY3RpdmVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRHJvcGRvd25Ub2dnbGUoKVwiIFtjbGFzcy5lY2wtdGFic19fdG9nZ2xlLS1oaWRkZW5dPVwiIWlzTW9yZUJ1dHRvblNob3dcIj5cbiAgICAgICAgICAgIDxzcGFuIGVjbEJ1dHRvbkxhYmVsPlxuICAgICAgICAgICAgICAgIHt7ICdlY2wuY29tbW9uLk1PUkUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgKHt7IGdldEhpZGRlblRhYnNDb3VudCgpIH19KVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiB0cmFuc2Zvcm09XCJyb3RhdGUtMTgwXCIgc2l6ZT1cImZsdWlkXCI+PC9lY2wtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZWNsLXRhYnNfX2NvbnRyb2xzXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICNidG5QcmV2XG4gICAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZWNsLXRhYnNfX3ByZXZcIlxuICAgICAgICAgICAgW2NsYXNzLmVjbC11LWQtbm9uZV09XCIhaXNTY3JvbGxQcmV2QnRuU2hvd1wiXG4gICAgICAgICAgICBbY2xhc3MuZWNsLXUtZC1ibG9ja109XCJpc1Njcm9sbFByZXZCdG5TaG93XCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblNjcm9sbFByZXYoKVwiPlxuICAgICAgICAgICAgPGVjbC1pY29uIGlzSW52ZXJ0ZWQgaWNvbj1cImNvcm5lci1hcnJvd1wiIHRyYW5zZm9ybT1cInJvdGF0ZS0yNzBcIiBzaXplPVwibVwiIGNsYXNzPVwiZWNsLXUtZC1ibG9ja1wiPiA8L2VjbC1pY29uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlY2wtdS1zci1vbmx5XCI+PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgI2J0bk5leHRcbiAgICAgICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cInRydWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJlY2wtdGFic19fbmV4dFwiXG4gICAgICAgICAgICBbY2xhc3MuZWNsLXUtZC1ub25lXT1cIiFpc1Njcm9sbE5leHRCdG5TaG93XCJcbiAgICAgICAgICAgIFtjbGFzcy5lY2wtdS1kLWJsb2NrXT1cImlzU2Nyb2xsTmV4dEJ0blNob3dcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2Nyb2xsTmV4dCgpXCI+XG4gICAgICAgICAgICA8ZWNsLWljb24gaXNJbnZlcnRlZCBpY29uPVwiY29ybmVyLWFycm93XCIgY29sb3I9XCJpbnZlcnRlZFwiIHRyYW5zZm9ybT1cInJvdGF0ZS05MFwiIHNpemU9XCJtXCIgY2xhc3M9XCJlY2wtdS1kLWJsb2NrXCI+IDwvZWNsLWljb24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj48L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbkBmb3IgKHRhYiBvZiB0YWJzLnRvQXJyYXkoKTsgdHJhY2sgdGFiLnRhYkxhYmVsKSB7XG4gICAgQGlmICh0YWIuaXNBY3RpdmUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInt7IGJvZHlDbGFzcyB9fVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi5jb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxufVxuQGZvciAodGFiIG9mIGxpc3RUYWJzOyB0cmFjayB0YWIudGFiTGFiZWwpIHtcbiAgICBAaWYgKHRhYi5pc0FjdGl2ZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwie3sgYm9keUNsYXNzIH19XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFiLmNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG59XG4iXX0=