@fundamental-ngx/core 0.55.4 → 0.55.5

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 (171) hide show
  1. package/dialog/base/dialog-config-base.class.d.ts +2 -0
  2. package/fesm2022/fundamental-ngx-core-action-bar.mjs +2 -2
  3. package/fesm2022/fundamental-ngx-core-action-sheet.mjs +2 -2
  4. package/fesm2022/fundamental-ngx-core-avatar-group.mjs +2 -2
  5. package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  6. package/fesm2022/fundamental-ngx-core-avatar.mjs +2 -2
  7. package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
  8. package/fesm2022/fundamental-ngx-core-bar.mjs +2 -2
  9. package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
  10. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +2 -2
  11. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  12. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +2 -2
  13. package/fesm2022/fundamental-ngx-core-button.mjs +2 -2
  14. package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-core-calendar.mjs +2 -2
  16. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-core-card.mjs +2 -2
  18. package/fesm2022/fundamental-ngx-core-carousel.mjs +2 -2
  19. package/fesm2022/fundamental-ngx-core-checkbox.mjs +2 -2
  20. package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
  21. package/fesm2022/fundamental-ngx-core-combobox.mjs +1 -1
  22. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  23. package/fesm2022/fundamental-ngx-core-dialog.mjs +6 -4
  24. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  25. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +2 -2
  26. package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +2 -2
  27. package/fesm2022/fundamental-ngx-core-facets.mjs +2 -2
  28. package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
  29. package/fesm2022/fundamental-ngx-core-feed-input.mjs +2 -2
  30. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +2 -2
  31. package/fesm2022/fundamental-ngx-core-file-uploader.mjs +2 -2
  32. package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
  33. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
  34. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
  35. package/fesm2022/fundamental-ngx-core-form.mjs +14 -14
  36. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  37. package/fesm2022/fundamental-ngx-core-generic-tag.mjs +2 -2
  38. package/fesm2022/fundamental-ngx-core-grid-list.mjs +2 -2
  39. package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
  40. package/fesm2022/fundamental-ngx-core-icon.mjs +2 -2
  41. package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
  42. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +2 -2
  43. package/fesm2022/fundamental-ngx-core-info-label.mjs +2 -2
  44. package/fesm2022/fundamental-ngx-core-input-group.mjs +2 -2
  45. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  46. package/fesm2022/fundamental-ngx-core-layout-grid.mjs +2 -2
  47. package/fesm2022/fundamental-ngx-core-layout-panel.mjs +2 -2
  48. package/fesm2022/fundamental-ngx-core-link.mjs +2 -2
  49. package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
  50. package/fesm2022/fundamental-ngx-core-list.mjs +51 -14
  51. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  52. package/fesm2022/fundamental-ngx-core-menu.mjs +2 -2
  53. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  54. package/fesm2022/fundamental-ngx-core-message-box.mjs +2 -2
  55. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  56. package/fesm2022/fundamental-ngx-core-message-page.mjs +2 -2
  57. package/fesm2022/fundamental-ngx-core-message-strip.mjs +2 -2
  58. package/fesm2022/fundamental-ngx-core-message-toast.mjs +2 -2
  59. package/fesm2022/fundamental-ngx-core-message-toast.mjs.map +1 -1
  60. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +2 -2
  61. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +2 -2
  62. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  63. package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -1
  64. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  65. package/fesm2022/fundamental-ngx-core-notification.mjs +2 -2
  66. package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
  67. package/fesm2022/fundamental-ngx-core-object-attribute.mjs +2 -2
  68. package/fesm2022/fundamental-ngx-core-object-identifier.mjs +2 -2
  69. package/fesm2022/fundamental-ngx-core-object-marker.mjs +2 -2
  70. package/fesm2022/fundamental-ngx-core-object-number.mjs +2 -2
  71. package/fesm2022/fundamental-ngx-core-object-status.mjs +2 -2
  72. package/fesm2022/fundamental-ngx-core-pagination.mjs +2 -2
  73. package/fesm2022/fundamental-ngx-core-panel.mjs +18 -10
  74. package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
  75. package/fesm2022/fundamental-ngx-core-popover.mjs +2 -2
  76. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  77. package/fesm2022/fundamental-ngx-core-product-switch.mjs +2 -2
  78. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs +2 -2
  79. package/fesm2022/fundamental-ngx-core-quick-view.mjs +2 -2
  80. package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
  81. package/fesm2022/fundamental-ngx-core-radio.mjs +2 -2
  82. package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
  83. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +2 -2
  84. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +4 -4
  85. package/fesm2022/fundamental-ngx-core-segmented-button.mjs +2 -2
  86. package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  87. package/fesm2022/fundamental-ngx-core-select.mjs +2 -2
  88. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  89. package/fesm2022/fundamental-ngx-core-settings.mjs +362 -0
  90. package/fesm2022/fundamental-ngx-core-settings.mjs.map +1 -0
  91. package/fesm2022/fundamental-ngx-core-shellbar.mjs +332 -46
  92. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  93. package/fesm2022/fundamental-ngx-core-side-navigation.mjs +2 -2
  94. package/fesm2022/fundamental-ngx-core-side-navigation.mjs.map +1 -1
  95. package/fesm2022/fundamental-ngx-core-skeleton.mjs +2 -2
  96. package/fesm2022/fundamental-ngx-core-slider.mjs +2 -2
  97. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  98. package/fesm2022/fundamental-ngx-core-split-button.mjs +2 -2
  99. package/fesm2022/fundamental-ngx-core-status-indicator.mjs +2 -2
  100. package/fesm2022/fundamental-ngx-core-step-input.mjs +2 -2
  101. package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
  102. package/fesm2022/fundamental-ngx-core-switch.mjs +2 -2
  103. package/fesm2022/fundamental-ngx-core-table.mjs +4 -4
  104. package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
  105. package/fesm2022/fundamental-ngx-core-tabs.mjs +4 -4
  106. package/fesm2022/fundamental-ngx-core-text.mjs +2 -2
  107. package/fesm2022/fundamental-ngx-core-tile.mjs +2 -2
  108. package/fesm2022/fundamental-ngx-core-time.mjs +2 -2
  109. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  110. package/fesm2022/fundamental-ngx-core-title.mjs +2 -2
  111. package/fesm2022/fundamental-ngx-core-token.mjs +4 -4
  112. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  113. package/fesm2022/fundamental-ngx-core-toolbar.mjs +2 -2
  114. package/fesm2022/fundamental-ngx-core-tree.mjs +2 -2
  115. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +2 -2
  116. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  117. package/fesm2022/fundamental-ngx-core-user-menu.mjs +652 -0
  118. package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -0
  119. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +4 -4
  120. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
  121. package/fesm2022/fundamental-ngx-core-wizard.mjs +2 -2
  122. package/fesm2022/fundamental-ngx-core.mjs +8 -3
  123. package/fesm2022/fundamental-ngx-core.mjs.map +1 -1
  124. package/fundamental-ngx.module.d.ts +2 -1
  125. package/index.d.ts +1 -0
  126. package/list/directives/subline/list-subline.directive.d.ts +5 -0
  127. package/list/index.d.ts +1 -0
  128. package/list/list-item/list-item.component.d.ts +6 -2
  129. package/list/list.component.d.ts +7 -1
  130. package/list/list.module.d.ts +2 -1
  131. package/package.json +17 -9
  132. package/panel/panel-content/panel-content.directive.d.ts +5 -3
  133. package/panel/panel.component.d.ts +5 -1
  134. package/settings/index.d.ts +11 -0
  135. package/settings/settings-container/settings-container.component.d.ts +52 -0
  136. package/settings/settings-content/settings-content.directive.d.ts +15 -0
  137. package/settings/settings-detail-area/settings-detail-area.directive.d.ts +5 -0
  138. package/settings/settings-dialog-body/settings-dialog-body.directive.d.ts +5 -0
  139. package/settings/settings-dialog-content/settings-dialog-content.directive.d.ts +5 -0
  140. package/settings/settings-header/settings-header.directive.d.ts +5 -0
  141. package/settings/settings-header-button/settings-header-button.directive.d.ts +5 -0
  142. package/settings/settings-list-area/settings-list-area.directive.d.ts +5 -0
  143. package/settings/settings-list-container/settings-list-container.directive.d.ts +5 -0
  144. package/settings/settings.component.d.ts +5 -0
  145. package/settings/settings.module.d.ts +20 -0
  146. package/shellbar/index.d.ts +4 -0
  147. package/shellbar/model/shellbar.d.ts +2 -0
  148. package/shellbar/shellbar-action/shellbar-action.component.d.ts +3 -0
  149. package/shellbar/shellbar-actions/shellbar-actions.component.d.ts +12 -6
  150. package/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.d.ts +4 -1
  151. package/shellbar/shellbar-branding/shellbar-branding.component.d.ts +20 -0
  152. package/shellbar/shellbar-context-area/shellbar-context-area.component.d.ts +30 -0
  153. package/shellbar/shellbar-hide-priority.directive.d.ts +10 -0
  154. package/shellbar/shellbar-separator/shellbar-separator.component.d.ts +8 -0
  155. package/shellbar/shellbar-subtitle/shellbar-subtitle.component.d.ts +2 -0
  156. package/shellbar/shellbar.component.d.ts +45 -9
  157. package/shellbar/shellbar.module.d.ts +7 -2
  158. package/user-menu/components/user-menu-body.component.d.ts +63 -0
  159. package/user-menu/components/user-menu-content-container.component.d.ts +5 -0
  160. package/user-menu/components/user-menu-control.component.d.ts +14 -0
  161. package/user-menu/components/user-menu-footer.component.d.ts +5 -0
  162. package/user-menu/components/user-menu-list-item.component.d.ts +61 -0
  163. package/user-menu/components/user-menu-list.component.d.ts +5 -0
  164. package/user-menu/components/user-menu-sublist.component.d.ts +25 -0
  165. package/user-menu/directives/user-menu-header-container.directive.d.ts +5 -0
  166. package/user-menu/directives/user-menu-header.directive.d.ts +5 -0
  167. package/user-menu/directives/user-menu-subline.directive.d.ts +5 -0
  168. package/user-menu/directives/user-menu-user-name.directive.d.ts +5 -0
  169. package/user-menu/index.d.ts +13 -0
  170. package/user-menu/user-menu.component.d.ts +48 -0
  171. package/user-menu/user-menu.module.d.ts +22 -0
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-shellbar.mjs","sources":["../../../../libs/core/shellbar/product-menu/product-menu.component.ts","../../../../libs/core/shellbar/product-menu/product-menu.component.html","../../../../libs/core/shellbar/tokens.ts","../../../../libs/core/shellbar/shellbar-action/shellbar-action.component.ts","../../../../libs/core/shellbar/shellbar-action/shellbar-action.component.html","../../../../libs/core/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.ts","../../../../libs/core/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.html","../../../../libs/core/shellbar/user-menu/shellbar-user-menu-button.directive.ts","../../../../libs/core/shellbar/user-menu/shellbar-user-menu.component.ts","../../../../libs/core/shellbar/user-menu/shellbar-user-menu.component.html","../../../../libs/core/shellbar/shellbar-actions/shellbar-actions.component.ts","../../../../libs/core/shellbar/shellbar-actions/shellbar-actions.component.html","../../../../libs/core/shellbar/shellbar-logo/shellbar-logo.component.ts","../../../../libs/core/shellbar/shellbar-sidenav.directive.ts","../../../../libs/core/shellbar/shellbar-subtitle/shellbar-subtitle.component.ts","../../../../libs/core/shellbar/shellbar-subtitle/shellbar-subtitle.component.html","../../../../libs/core/shellbar/shellbar-title/shellbar-title.component.ts","../../../../libs/core/shellbar/shellbar-title/shellbar-title.component.html","../../../../libs/core/shellbar/shellbar.component.ts","../../../../libs/core/shellbar/shellbar.component.html","../../../../libs/core/shellbar/shellbar.module.ts","../../../../libs/core/shellbar/fundamental-ngx-core-shellbar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport {\n MenuComponent,\n MenuInteractiveComponent,\n MenuItemComponent,\n MenuTitleDirective,\n MenuTriggerDirective\n} from '@fundamental-ngx/core/menu';\nimport { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';\nimport { ShellbarMenuItem } from '../model/shellbar-menu-item';\n\n/**\n * The component that represents a product menu.\n * Product menu is used for navigating to applications within the product.\n * ```html\n * <fd-product-menu [control]=\"productMenuControl\"\n * [items]=\"productMenuItems\">\n * </fd-product-menu>\n * ```\n */\n@Component({\n selector: 'fd-product-menu',\n templateUrl: './product-menu.component.html',\n styleUrl: './product-menu.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ButtonComponent,\n ContentDensityDirective,\n MenuComponent,\n MenuItemComponent,\n MenuInteractiveComponent,\n MenuTitleDirective,\n MenuTriggerDirective,\n IconComponent\n ]\n})\nexport class ProductMenuComponent {\n /** Whether the popover should close when the escape key is pressed. */\n @Input()\n closeOnEscapeKey = true;\n\n /** Whether the popover should close when a click is made outside its boundaries. */\n @Input()\n closeOnOutsideClick = true;\n\n /** The trigger events that will open/close the popover.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp). */\n @Input()\n triggers: string[] = ['click'];\n\n /** The placement of the popover. It can be one of: top, top-start, top-end, bottom,\n * bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end. */\n @Input()\n placement: Placement = 'bottom-end';\n\n /** Whether the popover is disabled. */\n @Input()\n disabled = false;\n\n /**\n * Preset options for the popover body width.\n * * `at-least` will apply a minimum width to the body equivalent to the width of the control.\n * * `equal` will apply a width to the body equivalent to the width of the control.\n * * Leave blank for no effect.\n */\n @Input()\n fillControlMode: Nullable<PopoverFillMode>;\n\n /**\n * The control element to toggle the product menu,\n * represented by the name of the current application.\n */\n @Input()\n control: string;\n\n /**\n * The items in the product menu. If the value is not passed or there is empty array,\n * the template changes and shows only control\n */\n @Input()\n items: ShellbarMenuItem[];\n\n /** When set to true, popover list will be closed after selecting the option */\n @Input()\n closePopoverOnSelect = false;\n\n /** @hidden */\n @ViewChild(MenuComponent)\n menu: MenuComponent;\n\n /** @hidden */\n itemClicked(item: ShellbarMenuItem, event: MouseEvent): void {\n if (this.closePopoverOnSelect) {\n this.menu.close();\n }\n if (item.callback) {\n item.callback(event);\n }\n }\n}\n","@if (items && items.length > 0) {\n <h1 class=\"fd-sr-only\">{{ control }}</h1>\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button fd-shellbar__button--menu\"\n glyph=\"slim-arrow-down\"\n glyphPosition=\"after\"\n fdCozy\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n <span class=\"fd-shellbar__title\">{{ control }}</span>\n </button>\n <fd-menu\n #menu\n [placement]=\"placement\"\n [triggers]=\"triggers\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n @for (item of items; track item) {\n <li (click)=\"itemClicked(item, $event)\" fd-menu-item>\n <a\n [attr.href]=\"item.link ? item.link : null\"\n [attr.target]=\"item.newTab ? '_blank' : null\"\n fd-menu-interactive\n >\n <span fd-menu-title>{{ item.name }}</span>\n @if (item.glyph) {\n <fd-icon fd-menu-addon position=\"after\" [glyph]=\"item.glyph\"></fd-icon>\n }\n </a>\n </li>\n }\n </fd-menu>\n} @else {\n <h1 class=\"fd-shellbar__title fd-product-menu__title\">\n {{ control }}\n </h1>\n}\n","import { InjectionToken } from '@angular/core';\nimport { SearchComponent } from '@fundamental-ngx/core/shared';\nimport { Shellbar } from './model/shellbar';\n\nexport const FD_SHELLBAR_SEARCH_CONFIG = new InjectionToken('FdShellbarSearchConfig');\n\nexport const FD_SHELLBAR_SEARCH_COMPONENT = new InjectionToken<SearchComponent>('FdShellbarSearchComponent');\n\nexport const FD_SHELLBAR_ACTION_COMPONENT = new InjectionToken('FdShellbarActionComponent');\n\nexport const FD_SHELLBAR_COMPONENT = new InjectionToken<Shellbar>('FdShellbarComponent');\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconFont } from '@fundamental-ngx/core/icon';\nimport { FD_SHELLBAR_ACTION_COMPONENT } from '../tokens';\n\n/**\n * The component that represents a shellbar action.\n * ```html\n * <fd-shellbar-action *ngFor=\"let action of actions\"\n * [glyph]=\"action.glyph\"\n * [callback]=\"action.callback\"\n * [label]=\"action.label\"\n * [notificationCount]=\"action.notificationCount\"\n * [notificationLabel]=\"action.notificationLabel\">\n * </fd-shellbar-action>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-action',\n templateUrl: './shellbar-action.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_SHELLBAR_ACTION_COMPONENT,\n useExisting: ShellbarActionComponent\n }\n ],\n imports: [ButtonComponent, ContentDensityDirective]\n})\nexport class ShellbarActionComponent {\n /** The glyph (icon) name */\n @Input()\n glyph: string;\n\n /** Glyph font family */\n @Input()\n glyphFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n /** Callback that hanldles the response to clicks on any of the actions. */\n @Input()\n callback: Nullable<(event: MouseEvent) => void>;\n\n /** The action label. */\n @Input()\n label: string;\n\n /** The notification label. */\n @Input()\n notificationLabel: string;\n\n /** Represents the number of notifications. */\n @Input()\n notificationCount: number;\n}\n","<div class=\"fd-shellbar__action fd-shellbar__action--desktop\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button\"\n fdCozy\n [glyph]=\"glyph\"\n [glyphFont]=\"glyphFont\"\n (click)=\"callback ? callback($event) : ''\"\n >\n @if (notificationCount) {\n <span class=\"fd-button__badge\" [attr.aria-label]=\"notificationLabel\">\n {{ notificationCount }}\n </span>\n }\n </button>\n</div>\n","import {\n AfterContentChecked,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ActionSheetBodyComponent,\n ActionSheetComponent,\n ActionSheetControlComponent,\n ActionSheetItemComponent\n} from '@fundamental-ngx/core/action-sheet';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { ShellbarActionComponent } from '../shellbar-action/shellbar-action.component';\n\n@Component({\n selector: 'fd-shellbar-actions-mobile',\n templateUrl: './shellbar-actions-mobile.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n ActionSheetComponent,\n ActionSheetControlComponent,\n ActionSheetItemComponent,\n ActionSheetBodyComponent,\n ButtonComponent,\n FdTranslatePipe\n ]\n})\nexport class ShellbarActionsMobileComponent implements AfterContentChecked {\n /** @hidden */\n @Input()\n shellbarActions: QueryList<ShellbarActionComponent>;\n\n /**\n * Whether the search is present in the shellbar.\n */\n @Input()\n searchExists = false;\n\n /** @hidden */\n @Output()\n showSearch = new EventEmitter<void>();\n\n /** @hidden */\n totalNotifications: number;\n\n /** @hidden */\n actionClicked(item: ShellbarActionComponent, event: MouseEvent): void {\n if (item.callback) {\n item.callback(event);\n }\n }\n\n /** @hidden */\n ngAfterContentChecked(): void {\n this.totalNotifications = 0;\n\n this.shellbarActions?.forEach((action) => {\n if (action.notificationCount && typeof action.notificationCount === 'number') {\n this.totalNotifications = this.totalNotifications + action.notificationCount;\n }\n });\n }\n}\n","@if (shellbarActions.length > 0 || searchExists) {\n <div class=\"fd-shellbar-collapse\">\n <fd-action-sheet placement=\"bottom-end\" #actionSheet>\n <fd-action-sheet-control>\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"overflow\"\n class=\"fd-shellbar__button\"\n [attr.aria-label]=\"'coreShellbar.collapsedItemMenuLabel' | fdTranslate\"\n >\n @if (totalNotifications) {\n <span class=\"fd-button__badge\">\n {{ totalNotifications }}\n </span>\n }\n </button>\n </fd-action-sheet-control>\n <fd-action-sheet-body>\n @if (searchExists) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n glyph=\"search\"\n [label]=\"'coreShellbar.search' | fdTranslate\"\n (click)=\"showSearch.emit(); actionSheet.close()\"\n ></li>\n }\n @for (action of shellbarActions; track action) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n [glyph]=\"action.glyph\"\n [label]=\"action.label\"\n (click)=\"actionClicked(action, $event)\"\n >\n @if (action.notificationCount) {\n <span class=\"fd-button__badge\">{{ action.notificationCount }}</span>\n }\n </li>\n }\n </fd-action-sheet-body>\n </fd-action-sheet>\n </div>\n}\n","import { Directive, inject, Input, isDevMode, OnInit } from '@angular/core';\nimport { defaultButtonType, FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';\n\n@Directive({\n selector: '[fd-button][fdShellbarUserMenuButton]',\n host: {\n '[class.fd-shellbar__button]': 'true',\n '[class.fd-shellbar__button--user-menu]': 'true'\n },\n standalone: true\n})\nexport class ShellbarUserMenuButtonDirective implements OnInit {\n /** The type of the button. In case of the ShellbarUserMenuButtonDirective, the type is always 'transparent'. */\n @Input()\n fdType = 'transparent' as const;\n\n /** @hidden */\n private _hostButton = inject(FD_BUTTON_COMPONENT, { host: true });\n\n /** @hidden */\n ngOnInit(): void {\n if (this._hostButton.fdType !== 'transparent' && this._hostButton.fdType !== defaultButtonType && isDevMode()) {\n console.warn(\n 'ShellbarUserMenuButtonDirective should be used with transparent button type. Overriding button type to transparent.'\n );\n }\n this._hostButton.fdType = 'transparent';\n }\n}\n","import { PortalModule } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n Input,\n Output,\n ViewChild\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { AvatarComponent } from '@fundamental-ngx/core/avatar';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n MenuComponent,\n MenuInteractiveComponent,\n MenuItemComponent,\n MenuTitleDirective,\n MenuTriggerDirective\n} from '@fundamental-ngx/core/menu';\nimport { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';\nimport { ShellbarUser } from '../model/shellbar-user';\nimport { ShellbarUserMenu } from '../model/shellbar-user-menu';\nimport { ShellbarUserMenuButtonDirective } from './shellbar-user-menu-button.directive';\n\n/**\n * This Component extends popover component and passes all the options and events from outside to popover component\n * and Vice Versa\n * */\n@Component({\n selector: 'fd-shellbar-user-menu',\n templateUrl: './shellbar-user-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ButtonComponent,\n PortalModule,\n MenuComponent,\n MenuItemComponent,\n MenuInteractiveComponent,\n MenuTitleDirective,\n MenuTriggerDirective,\n AvatarComponent,\n ShellbarUserMenuButtonDirective\n ]\n})\nexport class ShellbarUserMenuComponent {\n /** The user data. */\n @Input()\n user: ShellbarUser;\n\n /** The user menu data. */\n @Input()\n userMenu: ShellbarUserMenu[];\n\n /**\n * Preset options for the popover body width.\n * * `at-least` will apply a minimum width to the body equivalent to the width of the control.\n * * `equal` will apply a width to the body equivalent to the width of the control.\n * * Leave blank for no effect.\n */\n @Input()\n fillControlMode: Nullable<PopoverFillMode>;\n\n /** The placement of the popover. It can be one of: top, top-start, top-end, bottom,\n * bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end. */\n @Input()\n placement: Placement = 'bottom-end';\n\n /** The trigger events that will open/close the popover.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp). */\n @Input()\n triggers: string[] = ['click'];\n\n /** Whether the popover should close when the escape key is pressed. */\n @Input()\n closeOnEscapeKey = true;\n\n /** Whether the popover should close when a click is made outside its boundaries. */\n @Input()\n closeOnOutsideClick = true;\n\n /** Whether the popover is disabled. */\n @Input()\n disabled = false;\n\n /** Whether or not to show the popover arrow */\n @Input()\n noArrow = false;\n\n /** Event emitted on item click */\n @Output()\n itemClicked: EventEmitter<void> = new EventEmitter<void>();\n\n /** @hidden */\n @ViewChild(MenuComponent)\n _menu: MenuComponent;\n\n /** @hidden */\n @ContentChild(MenuComponent)\n _contentPassedMenu: MenuComponent;\n\n /** @hidden */\n @ContentChild(ShellbarUserMenuButtonDirective)\n _shellbarUserMenuButton: ShellbarUserMenuButtonDirective;\n\n /** Reference to Menu Component */\n get menu(): MenuComponent {\n return this._contentPassedMenu || this._menu;\n }\n\n /**\n * @hidden\n */\n itemClick(item: ShellbarUserMenu, event: MouseEvent): void {\n this.itemClicked.emit();\n if (item.callback) {\n item.callback(event);\n }\n }\n}\n","@if (user || _shellbarUserMenuButton) {\n <div class=\"fd-shellbar__action fd-shellbar__action--show-always\">\n <div class=\"fd-user-menu\">\n @if (!_shellbarUserMenuButton) {\n <button\n fd-button\n fdType=\"transparent\"\n fdShellbarUserMenuButton\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n @if (!user.image) {\n <fd-avatar size=\"xs\" [colorAccent]=\"user.colorAccent\" [circle]=\"true\" [label]=\"user.fullName\">\n </fd-avatar>\n } @else {\n <fd-avatar\n [colorAccent]=\"user.colorAccent\"\n [circle]=\"true\"\n size=\"xs\"\n image=\"{{ user.image }}\"\n ></fd-avatar>\n }\n </button>\n } @else {\n <ng-content select=\"[fdShellbarUserMenuButton]\"></ng-content>\n }\n @if (userMenu) {\n <fd-menu\n [triggers]=\"triggers\"\n [placement]=\"placement\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [noArrow]=\"noArrow\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n @for (item of userMenu; track item) {\n <li fd-menu-item (click)=\"itemClick(item, $event)\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ item.text }}</span>\n </div>\n </li>\n }\n </fd-menu>\n }\n </div>\n </div>\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\n\nimport { ComboboxInterface, FD_COMBOBOX_COMPONENT } from '@fundamental-ngx/core/combobox';\nimport { FD_PRODUCT_SWITCH_COMPONENT, ProductSwitchComponent } from '@fundamental-ngx/core/product-switch';\n\nimport { CdkPortalOutlet, DomPortal, PortalModule } from '@angular/cdk/portal';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { SearchComponent } from '@fundamental-ngx/core/shared';\nimport { ShellbarSizes } from '../model/shellbar-sizes';\nimport { ShellbarUser } from '../model/shellbar-user';\nimport { ShellbarUserMenu } from '../model/shellbar-user-menu';\nimport { ShellbarActionComponent } from '../shellbar-action/shellbar-action.component';\nimport { ShellbarActionsMobileComponent } from '../shellbar-actions-mobile/shellbar-actions-mobile.component';\nimport { FD_SHELLBAR_ACTION_COMPONENT, FD_SHELLBAR_COMPONENT } from '../tokens';\nimport { ShellbarUserMenuComponent } from '../user-menu/shellbar-user-menu.component';\n\n/**\n * The component that represents shellbar actions.\n * It is a container wrapper for all product actions and links (required element).\n * ```html\n * <fd-shellbar-actions [user]=\"user\"\n * [userMenu]=\"userMenu\"\n * [productSwitcher]=\"productSwitcher\">\n * <button fd-button fdType=\"standard\">Custom Button</button>\n *\n * <fd-shellbar-action *ngFor=\"let action of actions\"\n * [glyph]=\"action.glyph\"\n * [callback]=\"action.callback\"\n * [label]=\"action.label\"\n * [notificationCount]=\"action.notificationCount\"\n * [notificationLabel]=\"action.notificationLabel\">\n * </fd-shellbar-action>\n * </fd-shellbar-actions>\n * ```\n */\n\n@Component({\n selector: 'fd-shellbar-actions',\n templateUrl: './shellbar-actions.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.fd-shellbar__group]': 'true',\n '[class.fd-shellbar__group--actions]': 'true'\n },\n imports: [PortalModule, ShellbarActionsMobileComponent, ShellbarActionComponent, ShellbarUserMenuComponent]\n})\nexport class ShellbarActionsComponent implements OnDestroy {\n /** The user data. */\n @Input()\n user: ShellbarUser;\n\n /** The user menu data. */\n @Input()\n userMenu: ShellbarUserMenu[];\n\n /** When set to true, popover list will be closed after selecting the option */\n @Input()\n closePopoverOnSelect = false;\n\n /**\n * Event emitted when search opened.\n */\n @Output()\n searchOpen = new EventEmitter<boolean>();\n\n /** @hidden */\n @ContentChildren(FD_SHELLBAR_ACTION_COMPONENT)\n shellbarActions: QueryList<ShellbarActionComponent>;\n\n /** @hidden */\n @ContentChild(ShellbarUserMenuComponent)\n userComponent: ShellbarUserMenuComponent;\n\n /** @hidden */\n @ViewChild(ShellbarUserMenuComponent)\n userComponentView: ShellbarUserMenuComponent;\n\n /** @hidden */\n @ContentChild(FD_COMBOBOX_COMPONENT)\n comboboxComponent: ComboboxInterface;\n\n /** @hidden */\n @ContentChild(FD_PRODUCT_SWITCH_COMPONENT, { static: false })\n productSwitchComponent: ProductSwitchComponent;\n\n /** @hidden */\n @ViewChild(CdkPortalOutlet)\n _portalOutlet: Nullable<CdkPortalOutlet>;\n\n /** @hidden */\n _addSearchIcon = false;\n\n /** @hidden */\n _searchPortal: DomPortal;\n\n /**\n * Whether to show the search field.\n */\n showSearch = false;\n\n /** @hidden */\n currentSize: ShellbarSizes;\n\n /** @hidden */\n private readonly _cd = inject(ChangeDetectorRef);\n\n /** @hidden */\n private readonly _shellbar = inject(FD_SHELLBAR_COMPONENT, {\n optional: true\n });\n\n /** @hidden */\n @HostBinding('class.fd-shellbar__group--shrink')\n private get _groupShrink(): boolean {\n return !!this._shellbar?.groupFlex?.actions?.shrink;\n }\n\n /** @hidden */\n @HostBinding('class.fd-shellbar__group--basis-auto')\n private get _groupBasisAuto(): boolean {\n return !!this._shellbar?.groupFlex?.actions?.flexBasisAuto;\n }\n\n /** @hidden */\n private _searchComponent: Nullable<SearchComponent>;\n\n /** @hidden */\n _toggleSearch: () => void = () => {\n this._setSearchVisibility(!this.showSearch);\n };\n\n /** @hidden */\n public get userItem(): ShellbarUser {\n if (this.userComponent) {\n return this.userComponent.user;\n } else {\n return this.user;\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._portalOutlet?.dispose();\n }\n\n /** @hidden */\n _attachSearch(portal: DomPortal, searchComponent: Nullable<SearchComponent>, size: ShellbarSizes): void {\n this._searchPortal = portal;\n this._addSearchIcon = true;\n this.currentSize = size;\n this._searchComponent = searchComponent;\n this._toggleSearchPortal(this.showSearch);\n this._cd.detectChanges();\n }\n\n /** @hidden */\n _detachSearch(): void {\n if (this._portalOutlet?.hasAttached()) {\n this._portalOutlet.detach();\n }\n\n this._addSearchIcon = false;\n\n this._cd.detectChanges();\n }\n\n /** @hidden */\n _triggerItems(): void {\n if (!this.closePopoverOnSelect) {\n return;\n }\n this.userComponentView?.menu.close();\n this.userComponent?.menu.close();\n }\n\n /** @hidden */\n _setSearchVisibility(visible: boolean): void {\n this.showSearch = visible;\n this.searchOpen.emit(this.showSearch);\n\n if (this.currentSize === 's') {\n return;\n }\n\n this._toggleSearchPortal(visible, visible);\n }\n\n /** @hidden */\n private _toggleSearchPortal(visible: boolean, focusSearch = false): void {\n if (visible) {\n this._portalOutlet?.detach();\n this._portalOutlet?.attach(this._searchPortal);\n } else {\n this._portalOutlet?.detach();\n }\n this._cd.detectChanges();\n if (focusSearch) {\n this._searchComponent?.focus();\n }\n }\n}\n","@if (comboboxComponent) {\n <div class=\"fd-shellbar__action fd-shellbar__action--desktop\">\n <ng-content select=\"fd-combobox\"></ng-content>\n </div>\n}\n<!-- If portal outlet placed outside div, it will be added to the end of the root container. So this div actually keeps outlet in desired place. -->\n<div class=\"fd-shellbar__action\" cdkPortalOutlet></div>\n<div class=\"fd-shellbar__action fd-shellbar__action--mobile\">\n <fd-shellbar-actions-mobile\n [shellbarActions]=\"shellbarActions\"\n [searchExists]=\"!!_searchPortal\"\n (showSearch)=\"_toggleSearch()\"\n ></fd-shellbar-actions-mobile>\n</div>\n<div class=\"fd-shellbar__action fd-shellbar__action--desktop\">\n <ng-content></ng-content>\n</div>\n@if (_addSearchIcon && !showSearch) {\n <fd-shellbar-action glyph=\"search\" [callback]=\"_toggleSearch\"></fd-shellbar-action>\n}\n<ng-content select=\"fd-shellbar-action\"></ng-content>\n@if (userComponent || userItem) {\n @if (!userComponent) {\n <fd-shellbar-user-menu\n placement=\"bottom-end\"\n [user]=\"user\"\n [userMenu]=\"userMenu\"\n (itemClicked)=\"_triggerItems()\"\n ></fd-shellbar-user-menu>\n } @else {\n <ng-content select=\"fd-shellbar-user-menu\"></ng-content>\n }\n}\n@if (productSwitchComponent) {\n <div class=\"fd-shellbar__action\">\n <ng-content select=\"fd-product-switch\"></ng-content>\n </div>\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * The component that represents a shellbar logo.\n * The logo is a required element and is used for company branding.\n * ```html\n * <fd-shellbar-logo>\n * <a href=\"#\" class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced\" aria-label=\"SAP\"></a>\n * </fd-shellbar-logo>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-logo',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ShellbarLogoComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdShellbarSidenav], [fd-shellbar-side-nav]',\n host: {\n class: 'fd-shellbar__button'\n },\n standalone: true\n})\nexport class ShellbarSidenavDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * The component that represents a shellbar subtitle.\n * The subtitle is optional and should be used rarely.\n * ```html\n * <fd-shellbar-subtitle>\n * Corporate Portal\n * </fd-shellbar-subtitle>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-subtitle',\n templateUrl: './shellbar-subtitle.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\n `\n fd-shellbar-subtitle {\n display: flex;\n }\n `\n ],\n standalone: true\n})\nexport class ShellbarSubtitleComponent {}\n","<div class=\"fd-shellbar__subtitle\">\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * The component that represents a shellbar title.\n * The title is a required element and displays the current application name.\n * ```html\n * <fd-shellbar-title>\n * Corporate Portal\n * </fd-shellbar-title>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-title',\n templateUrl: './shellbar-title.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ShellbarTitleComponent {}\n","<h1 class=\"fd-shellbar__title\">\n <ng-content></ng-content>\n</h1>\n","import { CdkPortalOutlet, DomPortal, PortalModule } from '@angular/cdk/portal';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n ElementRef,\n Input,\n OnDestroy,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable, resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';\nimport { ComboboxInterface, FD_COMBOBOX_COMPONENT } from '@fundamental-ngx/core/combobox';\nimport { ContentDensityMode, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { SearchComponent } from '@fundamental-ngx/core/shared';\nimport { SideNavigationInterface } from '@fundamental-ngx/core/side-navigation';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport equal from 'fast-deep-equal';\nimport { BehaviorSubject, Subscription, debounceTime, distinctUntilChanged } from 'rxjs';\nimport { Breakpoints, NormalizedBreakpoint, ShellbarGroupFlexOptions, ShellbarSizes } from './model/shellbar-sizes';\nimport { ShellbarActionsComponent } from './shellbar-actions/shellbar-actions.component';\nimport { FD_SHELLBAR_COMPONENT, FD_SHELLBAR_SEARCH_COMPONENT } from './tokens';\n\n/**\n * The shellbar offers consistent, responsive navigation across all products and applications.\n * Includes support for branding, product navigation, search, notifications, and user settings.\n * Shellbar is a composite component comprised of mandatory and optional elements.\n */\n@Component({\n selector: 'fd-shellbar',\n templateUrl: './shellbar.component.html',\n styleUrl: './shellbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n contentDensityObserverProviders({\n supportedContentDensity: [ContentDensityMode.COZY],\n restrictChildContentDensity: true\n }),\n {\n provide: FD_SHELLBAR_COMPONENT,\n useExisting: ShellbarComponent\n }\n ],\n imports: [PortalModule, FdTranslatePipe]\n})\nexport class ShellbarComponent implements AfterContentInit, AfterViewInit, OnDestroy {\n /** Size of Shellbar component 's' | 'm' | 'l' | 'xl' */\n @Input()\n set size(value: ShellbarSizes | undefined) {\n this._size = value;\n this._currentSize$.next(this._currentSize);\n }\n get size(): ShellbarSizes | undefined {\n return this._size;\n }\n\n /**\n * Responsive breakpoints.\n */\n @Input()\n set breakpoints(breakpoints: Breakpoints) {\n this._breakpoints = this._normalizeBreakpoints(breakpoints);\n this._setCurrentBreakpoint();\n }\n\n /**\n * Whether the Shellbar is used with Side Navigation.\n * When set to true, the responsive paddings are not applied.\n * Can also accept a template variable referring to a SideNavigationInterface (fd-side-nav or fdx-side-nav), and\n * will add the corresponding class.\n */\n @Input()\n sideNav: boolean | SideNavigationInterface = false;\n\n /**\n * Shellbar group flex configuration.\n */\n @Input()\n set groupFlex(value: Nullable<ShellbarGroupFlexOptions>) {\n if (equal(value, this._groupFlex)) {\n return;\n }\n\n this._groupFlex = value;\n this._cd.detectChanges();\n }\n\n get groupFlex(): Nullable<ShellbarGroupFlexOptions> {\n return this._groupFlex;\n }\n\n /** @hidden */\n @ContentChild(FD_COMBOBOX_COMPONENT, { static: false })\n comboboxComponent: ComboboxInterface;\n\n /** @hidden */\n @ContentChildren(FD_BUTTON_COMPONENT, { read: ElementRef })\n buttons: QueryList<ElementRef>;\n\n /**\n * Search component placed inside the shellbar\n */\n @ContentChild(FD_SHELLBAR_SEARCH_COMPONENT, { descendants: true, static: false })\n set searchComponent(component: Nullable<SearchComponent>) {\n const shouldAttach = !this._searchComponent && !!component;\n this._searchComponent = component;\n if (!component) {\n this._searchPortal?.detach();\n return;\n }\n\n if (this._searchPortal?.isAttached) {\n this._searchPortal.detach();\n }\n\n this._searchPortal = new DomPortal(component.elementRef.nativeElement);\n component.categoryMode = 'select';\n component.disableRefresh = true;\n component.forceSearchButton = true;\n component.appearance = {\n searchClass: 'fd-shellbar__search-field',\n searchFieldClass: 'fd-shellbar__search-field-input',\n searchCategoryClass: 'fd-shellbar__search-field-category',\n searchSubmitClass: 'fd-shellbar__search-submit',\n buttonClass: 'fd-shellbar__button',\n addonClass: 'fd-shellbar__search-field-addon',\n categoryButtonClass: 'fd-shellbar__search-category',\n categoryDropdownButtonClass: 'fd-shellbar__search-dropdown',\n removeGroupButtonClass: true,\n helperClass: 'fd-shellbar__search-field-helper'\n };\n\n this._searchSubmitSubscription?.unsubscribe();\n\n this._searchSubmitSubscription = component.searchSubmit\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((state) => {\n if (!state.text) {\n this._showMobileSearch = false;\n this._actions?._setSearchVisibility(false);\n this._cd.detectChanges();\n }\n });\n\n if (shouldAttach) {\n this._placeSearch();\n }\n\n this._cd.detectChanges();\n }\n\n get searchComponent(): Nullable<SearchComponent> {\n return this._searchComponent;\n }\n\n /** @hidden */\n @ContentChild(ShellbarActionsComponent)\n private _actions?: ShellbarActionsComponent;\n\n /** @hidden */\n @ViewChild('searchPortalOutlet', { static: false, read: CdkPortalOutlet })\n private readonly _searchPortalOutlet: CdkPortalOutlet;\n\n /** @hidden */\n @ViewChild('shellbar')\n private readonly _shellbar: ElementRef<HTMLElement>;\n\n /** @hidden */\n get _hideTitleComponents(): boolean {\n return this._currentSize !== 'xl' && this._currentSize !== 'l' && this._showMobileSearch;\n }\n\n /** @hidden */\n get _hideAllComponents(): boolean {\n return this._currentSize === 's' && this._showMobileSearch;\n }\n\n /** @hidden */\n get _currentSize(): ShellbarSizes {\n return this._size || this._breakpointSize;\n }\n\n /** @hidden */\n _showMobileSearch = false;\n\n /** @hidden */\n private _groupFlex: Nullable<ShellbarGroupFlexOptions>;\n\n /** @hidden */\n private _searchPortal: DomPortal;\n\n /** @hidden */\n private _searchComponent: Nullable<SearchComponent>;\n\n /** @hidden */\n private readonly _currentSize$ = new BehaviorSubject<ShellbarSizes>(this._currentSize);\n\n /** @hidden */\n private _size: ShellbarSizes | undefined;\n\n /** @hidden */\n private _breakpointSize: ShellbarSizes = 'm';\n\n /** @hidden */\n private readonly _cd = inject(ChangeDetectorRef);\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private _breakpoints: NormalizedBreakpoint[] = this._normalizeBreakpoints({\n s: 0,\n m: 320,\n l: 600,\n xl: 1240\n });\n\n /** @hidden */\n private _searchSubmitSubscription: Nullable<Subscription>;\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.applyShellbarModeToCombobox();\n this.applyShellbarModeToButtons();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n resizeObservable(this._shellbar.nativeElement)\n .pipe(debounceTime(10), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._setCurrentBreakpoint());\n\n this._setSearchComponentListeners();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._searchSubmitSubscription?.unsubscribe();\n this._searchPortalOutlet?.dispose();\n }\n\n /** @hidden */\n applyShellbarModeToCombobox(): void {\n if (this.comboboxComponent) {\n this.comboboxComponent.inShellbar = true;\n }\n }\n\n /** @hidden */\n applyShellbarModeToButtons(): void {\n this.buttons?.forEach((button) => {\n button.nativeElement.classList.add('fd-shellbar__button');\n });\n }\n\n /** @hidden */\n _closeMobileSearch(): void {\n this._showMobileSearch = false;\n this._actions?._setSearchVisibility(false);\n this._cd.detectChanges();\n }\n\n /** @hidden */\n _getSideNavClass(): string {\n let retVal = ' ';\n\n if (this.sideNav && (this.sideNav as SideNavigationInterface).additionalShellbarCssClass) {\n retVal += (this.sideNav as SideNavigationInterface).additionalShellbarCssClass;\n }\n\n return retVal;\n }\n\n /** @hidden */\n private _setSearchComponentListeners(): void {\n this._actions?.searchOpen.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((showSearch) => {\n this._showMobileSearch = showSearch;\n this._cd.detectChanges();\n if (this._currentSize !== 's') {\n return;\n }\n\n if (showSearch) {\n this._attachSearch(true);\n } else {\n this._detachSearch();\n }\n });\n this._currentSize$.pipe(distinctUntilChanged(), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n if (!this._searchPortal) {\n return;\n }\n\n this._placeSearch();\n });\n }\n\n private _placeSearch(): void {\n const size = this._currentSize$.value;\n\n if (size === 'xl' || (size === 's' && this._showMobileSearch)) {\n this._attachSearch();\n } else {\n this._detachSearch();\n }\n }\n\n /** @hidden */\n private _setCurrentBreakpoint(): void {\n if (this._shellbar) {\n const { width } = this._shellbar.nativeElement.getBoundingClientRect();\n\n const breakpoint = this._breakpoints.find((item) => width >= item.min && width < item.max + 1);\n\n if (!breakpoint || breakpoint.size === this._currentSize) {\n return;\n }\n\n this._breakpointSize = breakpoint.size;\n this._currentSize$.next(this._currentSize);\n this._cd.detectChanges();\n }\n }\n\n /** @hidden */\n private _normalizeBreakpoints(breakpoints: Breakpoints): NormalizedBreakpoint[] {\n const keys = Object.keys(breakpoints) as ShellbarSizes[];\n const normalizedBreakpoints: NormalizedBreakpoint[] = [];\n\n keys.forEach((key, index) => {\n const breakpoint: NormalizedBreakpoint = {\n size: key,\n min: breakpoints[key],\n max: keys[index + 1] ? breakpoints[keys[index + 1]] : Infinity\n };\n\n normalizedBreakpoints.push(breakpoint);\n });\n\n return normalizedBreakpoints;\n }\n\n /** @hidden */\n private _attachSearch(shouldFocus = false): void {\n if (this._searchPortalOutlet?.hasAttached()) {\n return;\n }\n\n this._actions?._detachSearch();\n this._searchPortalOutlet?.attach(this._searchPortal);\n\n if (shouldFocus) {\n this._searchComponent?.focus();\n }\n }\n\n /** @hidden */\n private _detachSearch(): void {\n if (!this._searchPortalOutlet?.hasAttached()) {\n this._actions?._attachSearch(this._searchPortal, this._searchComponent, this._currentSize);\n return;\n }\n\n this._searchPortalOutlet.detach();\n\n this._actions?._attachSearch(this._searchPortal, this._searchComponent, this._currentSize);\n }\n}\n","<div\n class=\"fd-shellbar\"\n [class]=\"'fd-shellbar--' + _currentSize + _getSideNavClass()\"\n [class.fd-shellbar--side-nav]=\"sideNav === true\"\n #shellbar\n>\n @if (!_hideAllComponents) {\n <div\n class=\"fd-shellbar__group fd-shellbar__group--product\"\n [class.fd-shellbar__group--shrink]=\"groupFlex?.product?.shrink\"\n [class.fd-shellbar__group--basis-auto]=\"groupFlex?.product?.flexBasisAuto\"\n >\n <ng-content select=\"[fd-shellbar-side-nav]\"></ng-content>\n <ng-content select=\"fd-shellbar-logo\"></ng-content>\n @if (!_hideTitleComponents) {\n <ng-content select=\"fd-shellbar-title\"></ng-content>\n <div class=\"fd-shellbar__product\">\n <ng-content select=\"fd-product-menu\"></ng-content>\n </div>\n <ng-content select=\"fd-shellbar-subtitle\"></ng-content>\n }\n </div>\n }\n <div hidden>\n <ng-content></ng-content>\n </div>\n @if (searchComponent) {\n <div\n class=\"fd-shellbar__group fd-shellbar__group--center fd-shellbar__group--mobile-flex\"\n [class.fd-shellbar__group--shrink]=\"groupFlex?.search?.shrink\"\n [class.fd-shellbar__group--basis-auto]=\"groupFlex?.search?.flexBasisAuto\"\n >\n <div class=\"fd-shellbar__action fd-shellbar__action--grow\">\n <ng-container cdkPortalOutlet #searchPortalOutlet></ng-container>\n </div>\n @if (_currentSize === 'xl' || _hideAllComponents) {\n <div class=\"fd-shellbar__action fd-shellbar__action--mobile fd-shellbar__action--shrink\">\n <button class=\"fd-button fd-button--transparent\" (click)=\"_closeMobileSearch()\">\n {{ 'coreShellbar.cancel' | fdTranslate }}\n </button>\n </div>\n }\n </div>\n }\n @if (!_hideAllComponents) {\n <ng-content select=\"fd-shellbar-actions\"></ng-content>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { ProductMenuComponent } from './product-menu/product-menu.component';\nimport { ShellbarComponent } from './shellbar.component';\n\nimport { ShellbarActionComponent } from './shellbar-action/shellbar-action.component';\nimport { ShellbarActionsComponent } from './shellbar-actions/shellbar-actions.component';\nimport { ShellbarLogoComponent } from './shellbar-logo/shellbar-logo.component';\nimport { ShellbarSubtitleComponent } from './shellbar-subtitle/shellbar-subtitle.component';\nimport { ShellbarTitleComponent } from './shellbar-title/shellbar-title.component';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { ShellbarActionsMobileComponent } from './shellbar-actions-mobile/shellbar-actions-mobile.component';\nimport { ShellbarSidenavDirective } from './shellbar-sidenav.directive';\nimport { ShellbarUserMenuComponent } from './user-menu/shellbar-user-menu.component';\n\n@NgModule({\n imports: [\n ShellbarComponent,\n ProductMenuComponent,\n ShellbarSubtitleComponent,\n ShellbarActionsComponent,\n ShellbarActionsMobileComponent,\n ShellbarActionComponent,\n ShellbarLogoComponent,\n ShellbarTitleComponent,\n ShellbarUserMenuComponent,\n ShellbarSidenavDirective\n ],\n exports: [\n ShellbarComponent,\n ProductMenuComponent,\n ShellbarSubtitleComponent,\n ShellbarActionsComponent,\n ShellbarActionsMobileComponent,\n ShellbarActionComponent,\n ShellbarLogoComponent,\n ShellbarTitleComponent,\n ShellbarUserMenuComponent,\n ShellbarSidenavDirective,\n ContentDensityModule\n ]\n})\nexport class ShellbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-shellbar.mjs","sources":["../../../../libs/core/shellbar/product-menu/product-menu.component.ts","../../../../libs/core/shellbar/product-menu/product-menu.component.html","../../../../libs/core/shellbar/tokens.ts","../../../../libs/core/shellbar/shellbar-action/shellbar-action.component.ts","../../../../libs/core/shellbar/shellbar-action/shellbar-action.component.html","../../../../libs/core/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.ts","../../../../libs/core/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.html","../../../../libs/core/shellbar/user-menu/shellbar-user-menu-button.directive.ts","../../../../libs/core/shellbar/user-menu/shellbar-user-menu.component.ts","../../../../libs/core/shellbar/user-menu/shellbar-user-menu.component.html","../../../../libs/core/shellbar/shellbar-actions/shellbar-actions.component.ts","../../../../libs/core/shellbar/shellbar-actions/shellbar-actions.component.html","../../../../libs/core/shellbar/shellbar-branding/shellbar-branding.component.ts","../../../../libs/core/shellbar/shellbar-context-area/shellbar-context-area.component.ts","../../../../libs/core/shellbar/shellbar-hide-priority.directive.ts","../../../../libs/core/shellbar/shellbar-logo/shellbar-logo.component.ts","../../../../libs/core/shellbar/shellbar-separator/shellbar-separator.component.ts","../../../../libs/core/shellbar/shellbar-sidenav.directive.ts","../../../../libs/core/shellbar/shellbar-subtitle/shellbar-subtitle.component.ts","../../../../libs/core/shellbar/shellbar-subtitle/shellbar-subtitle.component.html","../../../../libs/core/shellbar/shellbar-title/shellbar-title.component.ts","../../../../libs/core/shellbar/shellbar-title/shellbar-title.component.html","../../../../libs/core/shellbar/shellbar.component.ts","../../../../libs/core/shellbar/shellbar.component.html","../../../../libs/core/shellbar/shellbar.module.ts","../../../../libs/core/shellbar/fundamental-ngx-core-shellbar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport {\n MenuComponent,\n MenuInteractiveComponent,\n MenuItemComponent,\n MenuTitleDirective,\n MenuTriggerDirective\n} from '@fundamental-ngx/core/menu';\nimport { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';\nimport { ShellbarMenuItem } from '../model/shellbar-menu-item';\n\n/**\n * The component that represents a product menu.\n * Product menu is used for navigating to applications within the product.\n * ```html\n * <fd-product-menu [control]=\"productMenuControl\"\n * [items]=\"productMenuItems\">\n * </fd-product-menu>\n * ```\n */\n@Component({\n selector: 'fd-product-menu',\n templateUrl: './product-menu.component.html',\n styleUrl: './product-menu.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ButtonComponent,\n ContentDensityDirective,\n MenuComponent,\n MenuItemComponent,\n MenuInteractiveComponent,\n MenuTitleDirective,\n MenuTriggerDirective,\n IconComponent\n ]\n})\nexport class ProductMenuComponent {\n /** Whether the popover should close when the escape key is pressed. */\n @Input()\n closeOnEscapeKey = true;\n\n /** Whether the popover should close when a click is made outside its boundaries. */\n @Input()\n closeOnOutsideClick = true;\n\n /** The trigger events that will open/close the popover.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp). */\n @Input()\n triggers: string[] = ['click'];\n\n /** The placement of the popover. It can be one of: top, top-start, top-end, bottom,\n * bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end. */\n @Input()\n placement: Placement = 'bottom-end';\n\n /** Whether the popover is disabled. */\n @Input()\n disabled = false;\n\n /**\n * Preset options for the popover body width.\n * * `at-least` will apply a minimum width to the body equivalent to the width of the control.\n * * `equal` will apply a width to the body equivalent to the width of the control.\n * * Leave blank for no effect.\n */\n @Input()\n fillControlMode: Nullable<PopoverFillMode>;\n\n /**\n * The control element to toggle the product menu,\n * represented by the name of the current application.\n */\n @Input()\n control: string;\n\n /**\n * The items in the product menu. If the value is not passed or there is empty array,\n * the template changes and shows only control\n */\n @Input()\n items: ShellbarMenuItem[];\n\n /** When set to true, popover list will be closed after selecting the option */\n @Input()\n closePopoverOnSelect = false;\n\n /** @hidden */\n @ViewChild(MenuComponent)\n menu: MenuComponent;\n\n /** @hidden */\n itemClicked(item: ShellbarMenuItem, event: MouseEvent): void {\n if (this.closePopoverOnSelect) {\n this.menu.close();\n }\n if (item.callback) {\n item.callback(event);\n }\n }\n}\n","@if (items && items.length > 0) {\n <div class=\"fd-shellbar__product\">\n <h1 class=\"fd-sr-only\">{{ control }}</h1>\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button fd-shellbar__button--menu\"\n glyph=\"slim-arrow-down\"\n glyphPosition=\"after\"\n fdCozy\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n <span class=\"fd-shellbar__title\">{{ control }}</span>\n </button>\n <fd-menu\n #menu\n [placement]=\"placement\"\n [triggers]=\"triggers\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n @for (item of items; track item) {\n <li (click)=\"itemClicked(item, $event)\" fd-menu-item>\n <a\n [attr.href]=\"item.link ? item.link : null\"\n [attr.target]=\"item.newTab ? '_blank' : null\"\n fd-menu-interactive\n >\n <span fd-menu-title>{{ item.name }}</span>\n @if (item.glyph) {\n <fd-icon fd-menu-addon position=\"after\" [glyph]=\"item.glyph\"></fd-icon>\n }\n </a>\n </li>\n }\n </fd-menu>\n </div>\n} @else {\n <div class=\"fd-shellbar__product\">\n <h1 class=\"fd-shellbar__title fd-product-menu__title\">\n {{ control }}\n </h1>\n </div>\n}\n","import { InjectionToken } from '@angular/core';\nimport { SearchComponent } from '@fundamental-ngx/core/shared';\nimport { Shellbar } from './model/shellbar';\n\nexport const FD_SHELLBAR_SEARCH_CONFIG = new InjectionToken('FdShellbarSearchConfig');\n\nexport const FD_SHELLBAR_SEARCH_COMPONENT = new InjectionToken<SearchComponent>('FdShellbarSearchComponent');\n\nexport const FD_SHELLBAR_ACTION_COMPONENT = new InjectionToken('FdShellbarActionComponent');\n\nexport const FD_SHELLBAR_COMPONENT = new InjectionToken<Shellbar>('FdShellbarComponent');\n","import { ChangeDetectionStrategy, Component, ElementRef, inject, Input, ViewEncapsulation } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconFont } from '@fundamental-ngx/core/icon';\nimport { FD_SHELLBAR_ACTION_COMPONENT } from '../tokens';\n\n/**\n * The component that represents a shellbar action.\n * ```html\n * <fd-shellbar-action *ngFor=\"let action of actions\"\n * [glyph]=\"action.glyph\"\n * [callback]=\"action.callback\"\n * [label]=\"action.label\"\n * [notificationCount]=\"action.notificationCount\"\n * [notificationLabel]=\"action.notificationLabel\">\n * </fd-shellbar-action>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-action',\n templateUrl: './shellbar-action.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_SHELLBAR_ACTION_COMPONENT,\n useExisting: ShellbarActionComponent\n }\n ],\n imports: [ButtonComponent, ContentDensityDirective]\n})\nexport class ShellbarActionComponent {\n /** The glyph (icon) name */\n @Input()\n glyph: string;\n\n /** Glyph font family */\n @Input()\n glyphFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n /** Callback that hanldles the response to clicks on any of the actions. */\n @Input()\n callback: Nullable<(event: MouseEvent) => void>;\n\n /** The action label. */\n @Input()\n label: string;\n\n /** The notification label. */\n @Input()\n notificationLabel: string;\n\n /** Represents the number of notifications. */\n @Input()\n notificationCount: number;\n\n /** @hidden */\n _elRef = inject(ElementRef);\n}\n","<div class=\"fd-shellbar__action fd-shellbar__action\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button\"\n fdCozy\n [glyph]=\"glyph\"\n [glyphFont]=\"glyphFont\"\n (click)=\"callback ? callback($event) : ''\"\n >\n @if (notificationCount) {\n <span class=\"fd-button__badge\" [attr.aria-label]=\"notificationLabel\">\n {{ notificationCount }}\n </span>\n }\n </button>\n</div>\n","import {\n AfterContentChecked,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport {\n ActionSheetBodyComponent,\n ActionSheetComponent,\n ActionSheetControlComponent,\n ActionSheetItemComponent\n} from '@fundamental-ngx/core/action-sheet';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { ShellbarActionComponent } from '../shellbar-action/shellbar-action.component';\n\n@Component({\n selector: 'fd-shellbar-actions-mobile',\n templateUrl: './shellbar-actions-mobile.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n ActionSheetComponent,\n ActionSheetControlComponent,\n ActionSheetItemComponent,\n ActionSheetBodyComponent,\n ButtonComponent,\n FdTranslatePipe\n ]\n})\nexport class ShellbarActionsMobileComponent implements AfterContentChecked {\n /** @hidden */\n @Input()\n shellbarActions: QueryList<ShellbarActionComponent>;\n\n /**\n * Whether the search is present in the shellbar.\n */\n @Input()\n searchExists = false;\n\n /** @hidden */\n @Input()\n assistiveToolsCallback: Nullable<(event: MouseEvent) => void>;\n\n /** @hidden */\n @Output()\n showSearch = new EventEmitter<void>();\n\n /** @hidden */\n totalNotifications: number;\n\n /** @hidden */\n actionClicked(item: ShellbarActionComponent, event: MouseEvent): void {\n if (item.callback) {\n item.callback(event);\n }\n }\n\n /** @hidden */\n ngAfterContentChecked(): void {\n this.totalNotifications = 0;\n\n this.shellbarActions?.forEach((action) => {\n if (action.notificationCount && typeof action.notificationCount === 'number') {\n this.totalNotifications = this.totalNotifications + action.notificationCount;\n }\n });\n }\n}\n","@if (shellbarActions.length > 0 || searchExists) {\n <div class=\"fd-shellbar-collapse\">\n <fd-action-sheet placement=\"bottom-end\" #actionSheet>\n <fd-action-sheet-control>\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"overflow\"\n class=\"fd-shellbar__button\"\n [attr.aria-label]=\"'coreShellbar.collapsedItemMenuLabel' | fdTranslate\"\n >\n @if (totalNotifications) {\n <span class=\"fd-button__badge\">\n {{ totalNotifications }}\n </span>\n }\n </button>\n </fd-action-sheet-control>\n <fd-action-sheet-body>\n @if (searchExists) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n glyph=\"search\"\n [label]=\"'coreShellbar.search' | fdTranslate\"\n (click)=\"showSearch.emit(); actionSheet.close()\"\n ></li>\n }\n @for (action of shellbarActions; track action) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n [glyph]=\"action.glyph\"\n [label]=\"action.label\"\n (click)=\"actionClicked(action, $event)\"\n >\n @if (action.notificationCount) {\n <span class=\"fd-button__badge\">{{ action.notificationCount }}</span>\n }\n </li>\n }\n @if (!!assistiveToolsCallback) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n glyph=\"sys-help\"\n [label]=\"'coreShellbar.assistiveTools' | fdTranslate\"\n (click)=\"assistiveToolsCallback($event)\"\n ></li>\n }\n </fd-action-sheet-body>\n </fd-action-sheet>\n </div>\n}\n","import { Directive, inject, Input, isDevMode, OnInit } from '@angular/core';\nimport { defaultButtonType, FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';\n\n@Directive({\n selector: '[fd-button][fdShellbarUserMenuButton]',\n host: {\n '[class.fd-shellbar__button]': 'true',\n '[class.fd-shellbar__button--user-menu]': 'true'\n },\n standalone: true\n})\nexport class ShellbarUserMenuButtonDirective implements OnInit {\n /** The type of the button. In case of the ShellbarUserMenuButtonDirective, the type is always 'transparent'. */\n @Input()\n fdType = 'transparent' as const;\n\n /** @hidden */\n private _hostButton = inject(FD_BUTTON_COMPONENT, { host: true });\n\n /** @hidden */\n ngOnInit(): void {\n if (this._hostButton.fdType !== 'transparent' && this._hostButton.fdType !== defaultButtonType && isDevMode()) {\n console.warn(\n 'ShellbarUserMenuButtonDirective should be used with transparent button type. Overriding button type to transparent.'\n );\n }\n this._hostButton.fdType = 'transparent';\n }\n}\n","import { PortalModule } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n Input,\n Output,\n ViewChild\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { AvatarComponent } from '@fundamental-ngx/core/avatar';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n MenuComponent,\n MenuInteractiveComponent,\n MenuItemComponent,\n MenuTitleDirective,\n MenuTriggerDirective\n} from '@fundamental-ngx/core/menu';\nimport { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';\nimport { ShellbarUser } from '../model/shellbar-user';\nimport { ShellbarUserMenu } from '../model/shellbar-user-menu';\nimport { ShellbarUserMenuButtonDirective } from './shellbar-user-menu-button.directive';\n\n/**\n * This Component extends popover component and passes all the options and events from outside to popover component\n * and Vice Versa\n * */\n@Component({\n selector: 'fd-shellbar-user-menu',\n templateUrl: './shellbar-user-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ButtonComponent,\n PortalModule,\n MenuComponent,\n MenuItemComponent,\n MenuInteractiveComponent,\n MenuTitleDirective,\n MenuTriggerDirective,\n AvatarComponent,\n ShellbarUserMenuButtonDirective\n ],\n host: {\n '[style.order]': '1' // ensures the user menu is placed at the end of the shellbar\n }\n})\nexport class ShellbarUserMenuComponent {\n /** The user data. */\n @Input()\n user: ShellbarUser;\n\n /** The user menu data. */\n @Input()\n userMenu: ShellbarUserMenu[];\n\n /**\n * Preset options for the popover body width.\n * * `at-least` will apply a minimum width to the body equivalent to the width of the control.\n * * `equal` will apply a width to the body equivalent to the width of the control.\n * * Leave blank for no effect.\n */\n @Input()\n fillControlMode: Nullable<PopoverFillMode>;\n\n /** The placement of the popover. It can be one of: top, top-start, top-end, bottom,\n * bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end. */\n @Input()\n placement: Placement = 'bottom-end';\n\n /** The trigger events that will open/close the popover.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp). */\n @Input()\n triggers: string[] = ['click'];\n\n /** Whether the popover should close when the escape key is pressed. */\n @Input()\n closeOnEscapeKey = true;\n\n /** Whether the popover should close when a click is made outside its boundaries. */\n @Input()\n closeOnOutsideClick = true;\n\n /** Whether the popover is disabled. */\n @Input()\n disabled = false;\n\n /** Whether or not to show the popover arrow */\n @Input()\n noArrow = false;\n\n /** Event emitted on item click */\n @Output()\n itemClicked: EventEmitter<void> = new EventEmitter<void>();\n\n /** @hidden */\n @ViewChild(MenuComponent)\n _menu: MenuComponent;\n\n /** @hidden */\n @ContentChild(MenuComponent)\n _contentPassedMenu: MenuComponent;\n\n /** @hidden */\n @ContentChild(ShellbarUserMenuButtonDirective)\n _shellbarUserMenuButton: ShellbarUserMenuButtonDirective;\n\n /** Reference to Menu Component */\n get menu(): MenuComponent {\n return this._contentPassedMenu || this._menu;\n }\n\n /**\n * @hidden\n */\n itemClick(item: ShellbarUserMenu, event: MouseEvent): void {\n this.itemClicked.emit();\n if (item.callback) {\n item.callback(event);\n }\n }\n}\n","@if (user || _shellbarUserMenuButton) {\n <div class=\"fd-shellbar__action fd-shellbar__action--show-always\">\n <div class=\"fd-user-menu\">\n @if (!_shellbarUserMenuButton) {\n <button\n fd-button\n fdType=\"transparent\"\n fdShellbarUserMenuButton\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n @if (!user.image) {\n <fd-avatar size=\"xs\" [colorAccent]=\"user.colorAccent\" [circle]=\"true\" [label]=\"user.fullName\">\n </fd-avatar>\n } @else {\n <fd-avatar\n [colorAccent]=\"user.colorAccent\"\n [circle]=\"true\"\n size=\"xs\"\n image=\"{{ user.image }}\"\n ></fd-avatar>\n }\n </button>\n } @else {\n <ng-content select=\"[fdShellbarUserMenuButton]\"></ng-content>\n }\n @if (userMenu) {\n <fd-menu\n [triggers]=\"triggers\"\n [placement]=\"placement\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [noArrow]=\"noArrow\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n @for (item of userMenu; track item) {\n <li fd-menu-item (click)=\"itemClick(item, $event)\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ item.text }}</span>\n </div>\n </li>\n }\n </fd-menu>\n }\n </div>\n </div>\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\n\nimport { ComboboxInterface, FD_COMBOBOX_COMPONENT } from '@fundamental-ngx/core/combobox';\nimport { FD_PRODUCT_SWITCH_COMPONENT, ProductSwitchComponent } from '@fundamental-ngx/core/product-switch';\n\nimport { CdkPortalOutlet, DomPortal, PortalModule } from '@angular/cdk/portal';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { SearchComponent } from '@fundamental-ngx/core/shared';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { ShellbarSizes } from '../model/shellbar-sizes';\nimport { ShellbarUser } from '../model/shellbar-user';\nimport { ShellbarUserMenu } from '../model/shellbar-user-menu';\nimport { ShellbarActionComponent } from '../shellbar-action/shellbar-action.component';\nimport { ShellbarActionsMobileComponent } from '../shellbar-actions-mobile/shellbar-actions-mobile.component';\nimport { FD_SHELLBAR_ACTION_COMPONENT, FD_SHELLBAR_COMPONENT } from '../tokens';\nimport { ShellbarUserMenuComponent } from '../user-menu/shellbar-user-menu.component';\n\n/**\n * The component that represents shellbar actions.\n * It is a container wrapper for all product actions and links (required element).\n * ```html\n * <fd-shellbar-actions [user]=\"user\"\n * [userMenu]=\"userMenu\"\n * [productSwitcher]=\"productSwitcher\">\n * <button fd-button fdType=\"standard\">Custom Button</button>\n *\n * <fd-shellbar-action *ngFor=\"let action of actions\"\n * [glyph]=\"action.glyph\"\n * [callback]=\"action.callback\"\n * [label]=\"action.label\"\n * [notificationCount]=\"action.notificationCount\"\n * [notificationLabel]=\"action.notificationLabel\">\n * </fd-shellbar-action>\n * </fd-shellbar-actions>\n * ```\n */\n\n@Component({\n selector: 'fd-shellbar-actions',\n templateUrl: './shellbar-actions.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.fd-shellbar__group]': 'true',\n '[class.fd-shellbar__group--actions]': 'true'\n },\n imports: [\n PortalModule,\n ShellbarActionsMobileComponent,\n ShellbarActionComponent,\n ShellbarUserMenuComponent,\n FdTranslatePipe\n ]\n})\nexport class ShellbarActionsComponent implements OnDestroy {\n /** The user data. */\n @Input()\n user: ShellbarUser;\n\n /** The user menu data. */\n @Input()\n userMenu: ShellbarUserMenu[];\n\n /** When set to true, popover list will be closed after selecting the option */\n @Input()\n closePopoverOnSelect = false;\n\n /** Whether to show the assistive tools icon. */\n @Input()\n assistiveTools = false;\n\n /** @hidden */\n @Input()\n assistiveToolsCallback: Nullable<(event: MouseEvent) => void>;\n\n /**\n * Event emitted when search opened.\n */\n @Output()\n searchOpen = new EventEmitter<boolean>();\n\n /** @hidden */\n @ContentChildren(FD_SHELLBAR_ACTION_COMPONENT)\n shellbarActions: QueryList<ShellbarActionComponent>;\n\n /** @hidden */\n @ContentChild(ShellbarUserMenuComponent)\n userComponent: ShellbarUserMenuComponent;\n\n /** @hidden */\n @ViewChild(ShellbarUserMenuComponent)\n userComponentView: ShellbarUserMenuComponent;\n\n /** @hidden */\n @ContentChild(FD_COMBOBOX_COMPONENT)\n comboboxComponent: ComboboxInterface;\n\n /** @hidden */\n @ContentChild(FD_PRODUCT_SWITCH_COMPONENT, { static: false })\n productSwitchComponent: ProductSwitchComponent;\n\n /** @hidden */\n @ViewChild(CdkPortalOutlet)\n _portalOutlet: Nullable<CdkPortalOutlet>;\n\n /** @hidden */\n _addSearchIcon = false;\n\n /** @hidden */\n _searchPortal: DomPortal;\n\n /** @hidden */\n _showMobileActions = false;\n\n /**\n * Whether to show the search field.\n */\n showSearch = false;\n\n /** @hidden */\n currentSize: ShellbarSizes;\n\n /** @hidden */\n _elRef = inject(ElementRef);\n\n /** @hidden */\n private readonly _cd = inject(ChangeDetectorRef);\n\n /** @hidden */\n private readonly _shellbar = inject(FD_SHELLBAR_COMPONENT);\n\n /** @hidden */\n private _searchComponent: Nullable<SearchComponent>;\n\n /** @hidden */\n _toggleSearch: () => void = () => {\n this._setSearchVisibility(!this.showSearch);\n };\n\n /** @hidden */\n public get userItem(): ShellbarUser {\n if (this.userComponent) {\n return this.userComponent.user;\n } else {\n return this.user;\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._portalOutlet?.dispose();\n }\n\n /** @hidden */\n _handleOverflow(shouldOverflow: boolean): void {\n this._showMobileActions = shouldOverflow;\n\n this.shellbarActions.forEach((action) => {\n action._elRef.nativeElement.style.display = shouldOverflow ? 'none' : 'flex';\n });\n\n this._cd.detectChanges();\n }\n\n /** @hidden */\n _attachSearch(portal: DomPortal, searchComponent: Nullable<SearchComponent>, size: ShellbarSizes): void {\n this._searchPortal = portal;\n this._addSearchIcon = true;\n this.currentSize = size;\n this._searchComponent = searchComponent;\n this._toggleSearchPortal(this.showSearch);\n this._cd.detectChanges();\n }\n\n /** @hidden */\n _detachSearch(): void {\n if (this._portalOutlet?.hasAttached()) {\n this._portalOutlet.detach();\n }\n\n this._addSearchIcon = false;\n\n this._cd.detectChanges();\n }\n\n /** @hidden */\n _triggerItems(): void {\n if (!this.closePopoverOnSelect) {\n return;\n }\n this.userComponentView?.menu.close();\n this.userComponent?.menu.close();\n }\n\n /** @hidden */\n _setSearchVisibility(visible: boolean): void {\n this.showSearch = visible;\n this.searchOpen.emit(this.showSearch);\n\n if (this.currentSize === 's') {\n return;\n }\n\n this._toggleSearchPortal(visible, visible);\n }\n\n /** @hidden */\n private _toggleSearchPortal(visible: boolean, focusSearch = false): void {\n if (visible) {\n this._portalOutlet?.detach();\n this._portalOutlet?.attach(this._searchPortal);\n } else {\n this._portalOutlet?.detach();\n }\n this._cd.detectChanges();\n if (focusSearch) {\n this._searchComponent?.focus();\n }\n if (this._shellbar) {\n this._shellbar._searchToggledFromActions();\n }\n }\n}\n","@if (comboboxComponent) {\n <div class=\"fd-shellbar__action\">\n <ng-content select=\"fd-combobox\"></ng-content>\n </div>\n}\n<!-- If portal outlet placed outside div, it will be added to the end of the root container. So this div actually keeps outlet in desired place. -->\n<div class=\"fd-shellbar__action\" cdkPortalOutlet></div>\n@if (_showMobileActions) {\n <div class=\"fd-shellbar__action\">\n <fd-shellbar-actions-mobile\n [shellbarActions]=\"shellbarActions\"\n [searchExists]=\"!!_searchPortal\"\n (showSearch)=\"_toggleSearch()\"\n [assistiveToolsCallback]=\"assistiveToolsCallback\"\n ></fd-shellbar-actions-mobile>\n </div>\n}\n<div class=\"fd-shellbar__action\">\n <ng-content></ng-content>\n</div>\n@if (_addSearchIcon && !showSearch && !_showMobileActions) {\n <fd-shellbar-action glyph=\"search\" [callback]=\"_toggleSearch\"></fd-shellbar-action>\n}\n<ng-content select=\"fd-shellbar-action\"></ng-content>\n@if (userComponent || userItem) {\n @if (!userComponent) {\n <fd-shellbar-user-menu\n placement=\"bottom-end\"\n [user]=\"user\"\n [userMenu]=\"userMenu\"\n (itemClicked)=\"_triggerItems()\"\n ></fd-shellbar-user-menu>\n } @else {\n <ng-content select=\"fd-shellbar-user-menu\"></ng-content>\n }\n}\n@if (productSwitchComponent) {\n <div class=\"fd-shellbar__action\">\n <ng-content select=\"fd-product-switch\"></ng-content>\n </div>\n}\n@if (assistiveTools && !_showMobileActions) {\n <fd-shellbar-action\n glyph=\"sys-help\"\n label=\"{{ 'coreShellbar.assistiveTools' | fdTranslate }}\"\n [notificationCount]=\"0\"\n notificationLabel=\"{{ 'coreShellbar.assistiveTools' | fdTranslate }}\"\n [callback]=\"assistiveToolsCallback\"\n >\n </fd-shellbar-action>\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, inject, Input, ViewEncapsulation } from '@angular/core';\nimport { FD_SHELLBAR_COMPONENT } from '../tokens';\n\n/**\n * The component for shellbar branding.\n */\n@Component({\n selector: 'fd-shellbar-branding',\n template: ` <div\n class=\"fd-shellbar__branding\"\n [class.fd-shellbar__branding--non-interactive]=\"!interactiveBranding\"\n >\n <ng-content></ng-content>\n </div>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n styles: [\n `\n .fd-shellbar__branding {\n padding-inline: 0;\n\n .fd-shellbar__title {\n padding-inline: 0.25rem;\n }\n }\n `\n ]\n})\nexport class ShellbarBrandingComponent {\n /** Whether the shellbar branding is interactive. */\n @Input()\n interactiveBranding = false;\n\n /** @hidden */\n private readonly _shellbar = inject(FD_SHELLBAR_COMPONENT);\n\n /** @hidden */\n constructor(private _elRef: ElementRef) {}\n\n /** @hidden */\n hideTitleIfNeeded(): void {\n if (this._shellbar._actionsExceedShellbarWidth()) {\n const titleEl = this._elRef.nativeElement.querySelector('fd-shellbar-title');\n if (titleEl) {\n titleEl.style.display = 'none';\n }\n }\n }\n\n /** @hidden */\n showTitle(): void {\n const titleEl = this._elRef.nativeElement.querySelector('fd-shellbar-title');\n if (titleEl) {\n titleEl.style.display = 'flex';\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, inject } from '@angular/core';\nimport { FD_SHELLBAR_COMPONENT } from '../tokens';\n\n/**\n * Component representing the context area of the shellbar.\n * It manages the visibility of its child elements based on the available width.\n */\n@Component({\n selector: 'fd-shellbar-context-area',\n standalone: true,\n template: ` <ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.fd-shellbar__group]': 'true',\n '[class.fd-shellbar__group--context-area]': 'true'\n },\n styles: [\n `\n :host {\n min-width: 0;\n }\n `\n ]\n})\nexport class ShellbarContextAreaComponent {\n /** @hidden */\n private readonly _shellbar = inject(FD_SHELLBAR_COMPONENT);\n\n /** @hidden */\n constructor(public el: ElementRef) {}\n\n /**\n * Iteratively hides elements if the end of the actions exceed the end of the shellbar.\n */\n hideElementsIfNeeded(): void {\n const elements: { el: HTMLElement; priority: number }[] = this._getElementsWithPriority();\n while (this._shellbar._actionsExceedShellbarWidth()) {\n const shownElements = elements.filter((el) => el.el.style.display !== 'none');\n if (shownElements.length === 0) {\n break;\n }\n shownElements[shownElements.length - 1].el.style.display = 'none';\n }\n }\n\n /**\n * Iteratively shows elements if they can be displayed in the shellbar without causing the actions\n * to exceed the end of th eshellbar.\n */\n showElements(): void {\n this._getElementsWithPriority().forEach((el) => {\n el.el.style.display = '';\n });\n }\n\n /**\n * Retrieves the child elements with their respective priority values.\n * The elements are sorted based on their priority, with elements having\n * higher priority shown first.\n */\n private _getElementsWithPriority(): { el: HTMLElement; priority: number }[] {\n return [...this.el.nativeElement.childNodes]\n .map((element: HTMLElement, index) => {\n const hasPriorityAttribute = element.hasAttribute && element.hasAttribute('fdShellbarHidePriority');\n const priority = hasPriorityAttribute\n ? parseInt(element.getAttribute('fdShellbarHidePriority')!, 10)\n : index + 1;\n\n return { el: element, priority };\n })\n .sort((a, b) => a.priority - b.priority);\n }\n}\n","import { Directive, ElementRef, inject, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdShellbarHidePriority]',\n standalone: true,\n host: {\n '[style.flex-shrink]': '0'\n }\n})\nexport class ShellbarHidePriorityDirective {\n /** @hidden */\n @Input('fdShellbarHidePriority') priority: any;\n\n /** @hidden */\n elRef = inject(ElementRef);\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * The component that represents a shellbar logo.\n * The logo is a required element and is used for company branding.\n * ```html\n * <fd-shellbar-logo>\n * <a href=\"#\" class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced\" aria-label=\"SAP\"></a>\n * </fd-shellbar-logo>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-logo',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ShellbarLogoComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * The shellbar separator component.\n */\n@Component({\n selector: 'fd-shellbar-separator',\n template: ``,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n styles: [\n `\n :host {\n display: flex;\n }\n `\n ],\n host: {\n class: 'fd-shellbar__separator'\n }\n})\nexport class ShellbarSeparatorComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdShellbarSidenav], [fd-shellbar-side-nav]',\n host: {\n class: 'fd-shellbar__button'\n },\n standalone: true\n})\nexport class ShellbarSidenavDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * @deprecated The shellbar subtitle component has been deprecated as of 0.54.2.\n *\n * The component that represents a shellbar subtitle.\n * The subtitle is optional and should be used rarely.\n * ```html\n * <fd-shellbar-subtitle>\n * Corporate Portal\n * </fd-shellbar-subtitle>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-subtitle',\n templateUrl: './shellbar-subtitle.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\n `\n fd-shellbar-subtitle {\n display: flex;\n }\n `\n ],\n standalone: true\n})\nexport class ShellbarSubtitleComponent {}\n","<div class=\"fd-shellbar__subtitle\">\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * The component that represents a shellbar title.\n * The title is a required element and displays the current application name.\n * ```html\n * <fd-shellbar-title>\n * Corporate Portal\n * </fd-shellbar-title>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-title',\n templateUrl: './shellbar-title.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ShellbarTitleComponent {}\n","<h1 class=\"fd-shellbar__title\">\n <ng-content></ng-content>\n</h1>\n","import { CdkPortalOutlet, DomPortal, PortalModule } from '@angular/cdk/portal';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n computed,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ClickedDirective, Nullable, ResizeObserverService, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent, FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';\nimport { ComboboxInterface, FD_COMBOBOX_COMPONENT } from '@fundamental-ngx/core/combobox';\nimport { ContentDensityMode, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { SearchComponent } from '@fundamental-ngx/core/shared';\nimport { SideNavigationInterface } from '@fundamental-ngx/core/side-navigation';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport equal from 'fast-deep-equal';\nimport { BehaviorSubject, Subscription, distinctUntilChanged } from 'rxjs';\nimport { Breakpoints, NormalizedBreakpoint, ShellbarGroupFlexOptions, ShellbarSizes } from './model/shellbar-sizes';\nimport { ShellbarActionsComponent } from './shellbar-actions/shellbar-actions.component';\nimport { ShellbarBrandingComponent } from './shellbar-branding/shellbar-branding.component';\nimport { ShellbarContextAreaComponent } from './shellbar-context-area/shellbar-context-area.component';\nimport { FD_SHELLBAR_COMPONENT, FD_SHELLBAR_SEARCH_COMPONENT } from './tokens';\n\n/**\n * The shellbar offers consistent, responsive navigation across all products and applications.\n * Includes support for branding, product navigation, search, notifications, and user settings.\n * Shellbar is a composite component comprised of mandatory and optional elements.\n */\n@Component({\n selector: 'fd-shellbar',\n templateUrl: './shellbar.component.html',\n styleUrl: './shellbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n contentDensityObserverProviders({\n supportedContentDensity: [ContentDensityMode.COZY],\n restrictChildContentDensity: true\n }),\n {\n provide: FD_SHELLBAR_COMPONENT,\n useExisting: ShellbarComponent\n }\n ],\n imports: [PortalModule, FdTranslatePipe, ButtonComponent, ClickedDirective]\n})\nexport class ShellbarComponent implements AfterContentInit, AfterViewInit, OnDestroy {\n /** Size of Shellbar component 's' | 'm' | 'l' | 'xl' */\n @Input()\n set size(value: ShellbarSizes | undefined) {\n this._size = value;\n this._currentSize$.next(this._currentSize);\n }\n get size(): ShellbarSizes | undefined {\n return this._size;\n }\n\n /**\n * Responsive breakpoints.\n */\n @Input()\n set breakpoints(breakpoints: Breakpoints) {\n this._breakpoints = this._normalizeBreakpoints(breakpoints);\n this._setCurrentBreakpoint();\n }\n\n /**\n * Whether the Shellbar is used with Side Navigation.\n * When set to true, the responsive paddings are not applied.\n * Can also accept a template variable referring to a SideNavigationInterface (fd-side-nav or fdx-side-nav), and\n * will add the corresponding class.\n */\n @Input()\n sideNav: boolean | SideNavigationInterface = false;\n\n /**\n * Shellbar group flex configuration.\n */\n @Input()\n set groupFlex(value: Nullable<ShellbarGroupFlexOptions>) {\n if (equal(value, this._groupFlex)) {\n return;\n }\n\n this._groupFlex = value;\n this._cd.detectChanges();\n }\n\n get groupFlex(): Nullable<ShellbarGroupFlexOptions> {\n return this._groupFlex;\n }\n\n /** Whether to show the navigation button. */\n @Input()\n showNavigationButton = false;\n\n /** Whether to show the back button. */\n @Input()\n showBackButton = false;\n\n /** Emitted event when navigation button is clicked. */\n @Output()\n navigationButtonClicked: EventEmitter<Event> = new EventEmitter<Event>();\n\n /** Emitted event when back button is clicked. */\n @Output()\n backButtonClicked: EventEmitter<Event> = new EventEmitter<Event>();\n\n /** @hidden */\n @ContentChild(FD_COMBOBOX_COMPONENT, { static: false })\n comboboxComponent: ComboboxInterface;\n\n /** @hidden */\n @ContentChildren(FD_BUTTON_COMPONENT, { read: ElementRef })\n buttons: QueryList<ElementRef>;\n\n /** @hidden */\n @ContentChild(ShellbarContextAreaComponent)\n contextArea: ShellbarContextAreaComponent;\n\n /** @hidden */\n @ContentChild(ShellbarBrandingComponent)\n branding: ShellbarBrandingComponent;\n\n /** @hidden */\n @ContentChild(ShellbarActionsComponent)\n private _actions?: ShellbarActionsComponent;\n\n /** @hidden */\n @ViewChild('searchPortalOutlet', { static: false, read: CdkPortalOutlet })\n private readonly _searchPortalOutlet: CdkPortalOutlet;\n\n /** @hidden */\n @ViewChild('shellbar')\n private readonly _shellbar: ElementRef<HTMLElement>;\n\n /** @hidden */\n _showMobileSearch = false;\n\n /** @hidden */\n readonly _rtl$ = computed<boolean>(() => !!this._rtlService?.rtlSignal());\n\n /**\n * Search component placed inside the shellbar\n */\n @ContentChild(FD_SHELLBAR_SEARCH_COMPONENT, { descendants: true, static: false })\n set searchComponent(component: Nullable<SearchComponent>) {\n const shouldAttach = !this._searchComponent && !!component;\n this._searchComponent = component;\n if (!component) {\n this._searchPortal?.detach();\n return;\n }\n\n if (this._searchPortal?.isAttached) {\n this._searchPortal.detach();\n }\n\n this._searchPortal = new DomPortal(component.elementRef.nativeElement);\n component.categoryMode = 'select';\n component.disableRefresh = true;\n component.forceSearchButton = true;\n component.appearance = {\n searchClass: 'fd-shellbar__search-field',\n searchFieldClass: 'fd-shellbar__search-field-input',\n searchCategoryClass: 'fd-shellbar__search-field-category',\n searchSubmitClass: 'fd-shellbar__search-submit',\n buttonClass: 'fd-shellbar__button',\n addonClass: 'fd-shellbar__search-field-addon',\n categoryButtonClass: 'fd-shellbar__search-category',\n categoryDropdownButtonClass: 'fd-shellbar__search-dropdown',\n removeGroupButtonClass: true,\n helperClass: 'fd-shellbar__search-field-helper'\n };\n\n this._searchSubmitSubscription?.unsubscribe();\n\n this._searchSubmitSubscription = component.searchSubmit\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((state) => {\n if (!state.text) {\n this._showMobileSearch = false;\n this._actions?._setSearchVisibility(false);\n this._cd.detectChanges();\n }\n });\n\n if (shouldAttach) {\n this._placeSearch();\n }\n\n this._cd.detectChanges();\n }\n\n get searchComponent(): Nullable<SearchComponent> {\n return this._searchComponent;\n }\n\n /** @hidden */\n get _hideTitleComponents(): boolean {\n return this._currentSize !== 'xl' && this._currentSize !== 'l' && this._showMobileSearch;\n }\n\n /** @hidden */\n get _hideAllComponents(): boolean {\n return this._currentSize === 's' && this._showMobileSearch;\n }\n\n /** @hidden */\n get _currentSize(): ShellbarSizes {\n return this._size || this._breakpointSize;\n }\n\n /** @hidden */\n private _groupFlex: Nullable<ShellbarGroupFlexOptions>;\n\n /** @hidden */\n private _searchPortal: DomPortal;\n\n /** @hidden */\n private _searchComponent: Nullable<SearchComponent>;\n\n /** @hidden */\n private readonly _currentSize$ = new BehaviorSubject<ShellbarSizes>(this._currentSize);\n\n /** @hidden */\n private _size: ShellbarSizes | undefined;\n\n /** @hidden */\n private _breakpointSize: ShellbarSizes = 'm';\n\n /** @hidden */\n private readonly _cd = inject(ChangeDetectorRef);\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private _breakpoints: NormalizedBreakpoint[] = this._normalizeBreakpoints({\n s: 0,\n m: 320,\n l: 600,\n xl: 1240\n });\n\n /** @hidden */\n private _searchSubmitSubscription: Nullable<Subscription>;\n\n /** @hidden */\n private _resizeObserverService = inject(ResizeObserverService);\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, {\n optional: true\n });\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.applyShellbarModeToCombobox();\n this.applyShellbarModeToButtons();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._resizeObserverService\n .observe(this._shellbar.nativeElement)\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._setCurrentBreakpoint());\n requestAnimationFrame(() => this._setCurrentBreakpoint());\n\n this._setSearchComponentListeners();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._searchSubmitSubscription?.unsubscribe();\n this._searchPortalOutlet?.dispose();\n }\n\n /** @hidden */\n applyShellbarModeToCombobox(): void {\n if (this.comboboxComponent) {\n this.comboboxComponent.inShellbar = true;\n }\n }\n\n /** @hidden */\n applyShellbarModeToButtons(): void {\n this.buttons?.forEach((button) => {\n button.nativeElement.classList.add('fd-shellbar__button');\n });\n }\n\n /** @hidden */\n _closeMobileSearch(): void {\n this._showMobileSearch = false;\n this._actions?._setSearchVisibility(false);\n this._cd.detectChanges();\n }\n\n /** @hidden */\n _getSideNavClass(): string {\n let retVal = ' ';\n\n if (this.sideNav && (this.sideNav as SideNavigationInterface).additionalShellbarCssClass) {\n retVal += (this.sideNav as SideNavigationInterface).additionalShellbarCssClass;\n }\n\n return retVal;\n }\n\n /** @hidden */\n _getShellbarEnd(): number {\n const shellbarEl = this._shellbar.nativeElement;\n const end = this._rtl$() ? shellbarEl.getBoundingClientRect().left : shellbarEl.getBoundingClientRect().right;\n let shellbarPadding = parseInt(window.getComputedStyle(shellbarEl).paddingInline, 10);\n if (this._rtl$()) {\n shellbarPadding = shellbarPadding * -1;\n }\n return end - shellbarPadding;\n }\n\n /** @hidden */\n _getActionsEnd(): number {\n const end = this._rtl$()\n ? this._actions?._elRef.nativeElement.getBoundingClientRect().left\n : this._actions?._elRef.nativeElement.getBoundingClientRect().right;\n return end;\n }\n\n /** @hidden */\n _actionsExceedShellbarWidth(): boolean {\n return this._rtl$()\n ? this._getActionsEnd() < this._getShellbarEnd()\n : this._getActionsEnd() > this._getShellbarEnd();\n }\n\n /** @hidden */\n _searchToggledFromActions(): void {\n this._setCurrentBreakpoint();\n }\n\n /** @hidden */\n _navigationClicked(event: Event): void {\n this.navigationButtonClicked.emit(event);\n }\n\n /** @hidden */\n _backClicked(event: Event): void {\n this.backButtonClicked.emit(event);\n }\n\n /** @hidden */\n private _setSearchComponentListeners(): void {\n this._actions?.searchOpen.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((showSearch) => {\n this._showMobileSearch = showSearch;\n this._cd.detectChanges();\n if (this._currentSize !== 's') {\n return;\n }\n\n if (showSearch) {\n this._attachSearch(true);\n } else {\n this._detachSearch();\n }\n });\n this._currentSize$.pipe(distinctUntilChanged(), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n if (!this._searchPortal) {\n return;\n }\n\n this._placeSearch();\n });\n }\n\n private _placeSearch(): void {\n const size = this._currentSize$.value;\n\n if ((size === 'xl' && !this.contextArea) || (size === 's' && this._showMobileSearch)) {\n this._attachSearch();\n } else {\n this._detachSearch();\n }\n }\n\n /** @hidden */\n private _setCurrentBreakpoint(): void {\n if (this._shellbar) {\n this._handleOverflow();\n\n const width = this._shellbar.nativeElement.getBoundingClientRect().width;\n const breakpoint = this._breakpoints.find((item) => width >= item.min && width < item.max + 1);\n\n if (breakpoint && breakpoint.size !== this._currentSize) {\n this._breakpointSize = breakpoint.size;\n this._currentSize$.next(this._currentSize);\n }\n this._cd.detectChanges();\n }\n }\n\n /** @hidden */\n private _handleOverflow(): void {\n if (this._shellbar) {\n this._resetOverflow();\n\n if (this._actions) {\n if (this._actionsExceedShellbarWidth()) {\n this._actions._handleOverflow(true);\n }\n if (this.branding) {\n this.branding.hideTitleIfNeeded();\n }\n if (this.contextArea) {\n this.contextArea.hideElementsIfNeeded();\n }\n if (this._showMobileSearch && this._actionsExceedShellbarWidth()) {\n this._closeMobileSearch();\n }\n }\n }\n }\n\n /** @hidden */\n private _resetOverflow(): void {\n if (this.contextArea) {\n this.contextArea.showElements();\n }\n if (this.branding) {\n this.branding.showTitle();\n }\n if (this._actions) {\n this._actions._handleOverflow(false);\n }\n }\n\n /** @hidden */\n private _normalizeBreakpoints(breakpoints: Breakpoints): NormalizedBreakpoint[] {\n const keys = Object.keys(breakpoints) as ShellbarSizes[];\n const normalizedBreakpoints: NormalizedBreakpoint[] = [];\n\n keys.forEach((key, index) => {\n const breakpoint: NormalizedBreakpoint = {\n size: key,\n min: breakpoints[key],\n max: keys[index + 1] ? breakpoints[keys[index + 1]] : Infinity\n };\n\n normalizedBreakpoints.push(breakpoint);\n });\n\n return normalizedBreakpoints;\n }\n\n /** @hidden */\n private _attachSearch(shouldFocus = false): void {\n if (this._searchPortalOutlet?.hasAttached()) {\n return;\n }\n\n this._actions?._detachSearch();\n this._searchPortalOutlet?.attach(this._searchPortal);\n\n if (shouldFocus) {\n this._searchComponent?.focus();\n }\n }\n\n /** @hidden */\n private _detachSearch(): void {\n if (!this._searchPortalOutlet?.hasAttached()) {\n this._actions?._attachSearch(this._searchPortal, this._searchComponent, this._currentSize);\n return;\n }\n\n this._searchPortalOutlet.detach();\n\n this._actions?._attachSearch(this._searchPortal, this._searchComponent, this._currentSize);\n }\n}\n","<div\n class=\"fd-shellbar\"\n [class]=\"'fd-shellbar--' + _currentSize + _getSideNavClass()\"\n [class.fd-shellbar--side-nav]=\"sideNav === true\"\n [class.fd-shellbar--has-context-area]=\"!!contextArea\"\n #shellbar\n>\n @if (!_hideAllComponents) {\n <div\n class=\"fd-shellbar__group fd-shellbar__group--product\"\n [class.fd-shellbar__group--shrink]=\"groupFlex?.product?.shrink\"\n [class.fd-shellbar__group--basis-auto]=\"groupFlex?.product?.flexBasisAuto\"\n >\n @if (showNavigationButton && !_showMobileSearch) {\n <button\n class=\"fd-shellbar__action\"\n fd-button\n fdType=\"transparent\"\n glyph=\"menu2\"\n (fdkClicked)=\"_navigationClicked($event)\"\n ></button>\n }\n @if (showBackButton && !_showMobileSearch) {\n <button\n class=\"fd-shellbar__action\"\n fd-button\n fdType=\"transparent\"\n [glyph]=\"_rtl$() ? 'slim-arrow-right' : 'nav-back'\"\n (fdkClicked)=\"_backClicked($event)\"\n ></button>\n }\n <ng-content select=\"fd-shellbar-branding\"></ng-content>\n <ng-content select=\"[fd-shellbar-side-nav]\"></ng-content>\n <ng-content select=\"fd-shellbar-logo\"></ng-content>\n @if (!_hideTitleComponents) {\n <ng-content select=\"fd-shellbar-title\"></ng-content>\n <ng-content select=\"fd-product-menu\"></ng-content>\n <ng-content select=\"fd-shellbar-subtitle\"></ng-content>\n <ng-content select=\"fd-shellbar-separator\"></ng-content>\n }\n </div>\n <ng-content select=\"fd-shellbar-context-area\"></ng-content>\n }\n <div hidden>\n <ng-content></ng-content>\n </div>\n @if (searchComponent) {\n <div\n class=\"fd-shellbar__group fd-shellbar__group--center fd-shellbar__group--mobile-flex\"\n [class.fd-shellbar__group--shrink]=\"groupFlex?.search?.shrink\"\n [class.fd-shellbar__group--basis-auto]=\"groupFlex?.search?.flexBasisAuto\"\n >\n <div class=\"fd-shellbar__action fd-shellbar__action--grow\">\n <ng-container cdkPortalOutlet #searchPortalOutlet></ng-container>\n </div>\n @if (_hideAllComponents) {\n <div class=\"fd-shellbar__action fd-shellbar__action--mobile fd-shellbar__action--shrink\">\n <button class=\"fd-button fd-button--transparent\" (click)=\"_closeMobileSearch()\">\n {{ 'coreShellbar.cancel' | fdTranslate }}\n </button>\n </div>\n }\n </div>\n }\n @if (!_hideAllComponents) {\n <ng-content select=\"fd-shellbar-actions\"></ng-content>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { ProductMenuComponent } from './product-menu/product-menu.component';\nimport { ShellbarComponent } from './shellbar.component';\n\nimport { ShellbarActionComponent } from './shellbar-action/shellbar-action.component';\nimport { ShellbarActionsComponent } from './shellbar-actions/shellbar-actions.component';\nimport { ShellbarLogoComponent } from './shellbar-logo/shellbar-logo.component';\nimport { ShellbarSubtitleComponent } from './shellbar-subtitle/shellbar-subtitle.component';\nimport { ShellbarTitleComponent } from './shellbar-title/shellbar-title.component';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { ShellbarActionsMobileComponent } from './shellbar-actions-mobile/shellbar-actions-mobile.component';\nimport { ShellbarBrandingComponent } from './shellbar-branding/shellbar-branding.component';\nimport { ShellbarContextAreaComponent } from './shellbar-context-area/shellbar-context-area.component';\nimport { ShellbarHidePriorityDirective } from './shellbar-hide-priority.directive';\nimport { ShellbarSeparatorComponent } from './shellbar-separator/shellbar-separator.component';\nimport { ShellbarSidenavDirective } from './shellbar-sidenav.directive';\nimport { ShellbarUserMenuButtonDirective } from './user-menu/shellbar-user-menu-button.directive';\nimport { ShellbarUserMenuComponent } from './user-menu/shellbar-user-menu.component';\n\n@NgModule({\n imports: [\n ShellbarComponent,\n ProductMenuComponent,\n ShellbarSubtitleComponent,\n ShellbarActionsComponent,\n ShellbarActionsMobileComponent,\n ShellbarActionComponent,\n ShellbarLogoComponent,\n ShellbarTitleComponent,\n ShellbarUserMenuComponent,\n ShellbarSidenavDirective,\n ShellbarUserMenuButtonDirective,\n ShellbarSidenavDirective,\n ShellbarBrandingComponent,\n ShellbarContextAreaComponent,\n ShellbarSeparatorComponent,\n ShellbarHidePriorityDirective\n ],\n exports: [\n ShellbarComponent,\n ProductMenuComponent,\n ShellbarSubtitleComponent,\n ShellbarActionsComponent,\n ShellbarActionsMobileComponent,\n ShellbarActionComponent,\n ShellbarLogoComponent,\n ShellbarTitleComponent,\n ShellbarUserMenuComponent,\n ShellbarSidenavDirective,\n ShellbarUserMenuButtonDirective,\n ShellbarSidenavDirective,\n ShellbarBrandingComponent,\n ShellbarContextAreaComponent,\n ShellbarSeparatorComponent,\n ShellbarHidePriorityDirective,\n ContentDensityModule\n ]\n})\nexport class ShellbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAeA;;;;;;;;AAQG;MAkBU,oBAAoB,CAAA;AAjBjC,IAAA,WAAA,GAAA;;QAoBI,IAAgB,CAAA,gBAAA,GAAG,IAAI;;QAIvB,IAAmB,CAAA,mBAAA,GAAG,IAAI;AAE1B;AACwF;AAExF,QAAA,IAAA,CAAA,QAAQ,GAAa,CAAC,OAAO,CAAC;AAE9B;AAC2F;QAE3F,IAAS,CAAA,SAAA,GAAc,YAAY;;QAInC,IAAQ,CAAA,QAAA,GAAG,KAAK;;QA2BhB,IAAoB,CAAA,oBAAA,GAAG,KAAK;AAe/B;;IARG,WAAW,CAAC,IAAsB,EAAE,KAAiB,EAAA;AACjD,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC3B,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;;AAErB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;;;8GA5DnB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,yYAmDlB,aAAa,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5F5B,0qDA8CA,EDfQ,MAAA,EAAA,CAAA,4IAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,yIACf,uBAAuB,EAAA,QAAA,EAAA,qUAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,aAAa,EACb,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,IAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iBAAiB,4LACjB,wBAAwB,EAAA,QAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACxB,kBAAkB,EAClB,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,oBAAoB,uFACpB,aAAa,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAGR,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAjBhC,SAAS;+BACI,iBAAiB,EAAA,aAAA,EAGZ,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACL,eAAe;wBACf,uBAAuB;wBACvB,aAAa;wBACb,iBAAiB;wBACjB,wBAAwB;wBACxB,kBAAkB;wBAClB,oBAAoB;wBACpB;AACH,qBAAA,EAAA,QAAA,EAAA,0qDAAA,EAAA,MAAA,EAAA,CAAA,4IAAA,CAAA,EAAA;8BAKD,gBAAgB,EAAA,CAAA;sBADf;gBAKD,mBAAmB,EAAA,CAAA;sBADlB;gBAMD,QAAQ,EAAA,CAAA;sBADP;gBAMD,SAAS,EAAA,CAAA;sBADR;gBAKD,QAAQ,EAAA,CAAA;sBADP;gBAUD,eAAe,EAAA,CAAA;sBADd;gBAQD,OAAO,EAAA,CAAA;sBADN;gBAQD,KAAK,EAAA,CAAA;sBADJ;gBAKD,oBAAoB,EAAA,CAAA;sBADnB;gBAKD,IAAI,EAAA,CAAA;sBADH,SAAS;uBAAC,aAAa;;;MExFf,yBAAyB,GAAG,IAAI,cAAc,CAAC,wBAAwB;MAEvE,4BAA4B,GAAG,IAAI,cAAc,CAAkB,2BAA2B;MAE9F,4BAA4B,GAAG,IAAI,cAAc,CAAC,2BAA2B;MAE7E,qBAAqB,GAAG,IAAI,cAAc,CAAW,qBAAqB;;ACHvF;;;;;;;;;;;AAWG;MAcU,uBAAuB,CAAA;AAbpC,IAAA,WAAA,GAAA;;QAoBI,IAAS,CAAA,SAAA,GAAa,2BAA2B;;AAmBjD,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;AAC9B;8GA3BY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EARrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,4BAA4B;AACrC,gBAAA,WAAW,EAAE;AAChB;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7BL,ugBAiBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDac,eAAe,EAAA,QAAA,EAAA,kDAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,EAAA,QAAA,EAAA,qUAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEzC,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAbnC,SAAS;+BACI,oBAAoB,EAAA,aAAA,EAEf,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,4BAA4B;AACrC,4BAAA,WAAW,EAAyB;AACvC;AACJ,qBAAA,EAAA,OAAA,EACQ,CAAC,eAAe,EAAE,uBAAuB,CAAC,EAAA,QAAA,EAAA,ugBAAA,EAAA;8BAKnD,KAAK,EAAA,CAAA;sBADJ;gBAKD,SAAS,EAAA,CAAA;sBADR;gBAKD,QAAQ,EAAA,CAAA;sBADP;gBAKD,KAAK,EAAA,CAAA;sBADJ;gBAKD,iBAAiB,EAAA,CAAA;sBADhB;gBAKD,iBAAiB,EAAA,CAAA;sBADhB;;;MElBQ,8BAA8B,CAAA;AAf3C,IAAA,WAAA,GAAA;AAoBI;;AAEG;QAEH,IAAY,CAAA,YAAA,GAAG,KAAK;;AAQpB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ;AAsBxC;;IAhBG,aAAa,CAAC,IAA6B,EAAE,KAAiB,EAAA;AAC1D,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;;;;IAK5B,qBAAqB,GAAA;AACjB,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC;QAE3B,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,MAAM,KAAI;YACrC,IAAI,MAAM,CAAC,iBAAiB,IAAI,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ,EAAE;gBAC1E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,iBAAiB;;AAEpF,SAAC,CAAC;;8GArCG,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,ECpC3C,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,svEAsDA,ED1BQ,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,oBAAoB,EACpB,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,SAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,2BAA2B,EAC3B,QAAA,EAAA,yBAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,WAAA,EAAA,UAAA,EAAA,eAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,oIACf,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAGV,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAf1C,SAAS;+BACI,4BAA4B,EAAA,aAAA,EAEvB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,EACP,OAAA,EAAA;wBACL,oBAAoB;wBACpB,2BAA2B;wBAC3B,wBAAwB;wBACxB,wBAAwB;wBACxB,eAAe;wBACf;AACH,qBAAA,EAAA,QAAA,EAAA,svEAAA,EAAA;8BAKD,eAAe,EAAA,CAAA;sBADd;gBAOD,YAAY,EAAA,CAAA;sBADX;gBAKD,sBAAsB,EAAA,CAAA;sBADrB;gBAKD,UAAU,EAAA,CAAA;sBADT;;;MEzCQ,+BAA+B,CAAA;AAR5C,IAAA,WAAA,GAAA;;QAWI,IAAM,CAAA,MAAA,GAAG,aAAsB;;QAGvB,IAAW,CAAA,WAAA,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAWpE;;IARG,QAAQ,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,iBAAiB,IAAI,SAAS,EAAE,EAAE;AAC3G,YAAA,OAAO,CAAC,IAAI,CACR,qHAAqH,CACxH;;AAEL,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,aAAa;;8GAflC,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAR3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uCAAuC;AACjD,oBAAA,IAAI,EAAE;AACF,wBAAA,6BAA6B,EAAE,MAAM;AACrC,wBAAA,wCAAwC,EAAE;AAC7C,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;8BAIG,MAAM,EAAA,CAAA;sBADL;;;ACYL;;;AAGK;MAoBQ,yBAAyB,CAAA;AAnBtC,IAAA,WAAA,GAAA;AAqCI;AAC2F;QAE3F,IAAS,CAAA,SAAA,GAAc,YAAY;AAEnC;AACwF;AAExF,QAAA,IAAA,CAAA,QAAQ,GAAa,CAAC,OAAO,CAAC;;QAI9B,IAAgB,CAAA,gBAAA,GAAG,IAAI;;QAIvB,IAAmB,CAAA,mBAAA,GAAG,IAAI;;QAI1B,IAAQ,CAAA,QAAA,GAAG,KAAK;;QAIhB,IAAO,CAAA,OAAA,GAAG,KAAK;;AAIf,QAAA,IAAA,CAAA,WAAW,GAAuB,IAAI,YAAY,EAAQ;AA4B7D;;AAbG,IAAA,IAAI,IAAI,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,KAAK;;AAGhD;;AAEG;IACH,SAAS,CAAC,IAAsB,EAAE,KAAiB,EAAA;AAC/C,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AACvB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;;;8GAvEnB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,GAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAqDpB,aAAa,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAIb,+BAA+B,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EARlC,aAAa,ECjG5B,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,y7DA+CA,EDbQ,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EACf,QAAA,EAAA,kDAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,+BACZ,aAAa,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,IAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,iBAAiB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,eAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,wBAAwB,EAAA,QAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACxB,kBAAkB,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,oBAAoB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,eAAe,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,SAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,YAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,+BAA+B,EAAA,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAM1B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAnBrC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EAEhB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACL,eAAe;wBACf,YAAY;wBACZ,aAAa;wBACb,iBAAiB;wBACjB,wBAAwB;wBACxB,kBAAkB;wBAClB,oBAAoB;wBACpB,eAAe;wBACf;qBACH,EACK,IAAA,EAAA;wBACF,eAAe,EAAE,GAAG;AACvB,qBAAA,EAAA,QAAA,EAAA,y7DAAA,EAAA;8BAKD,IAAI,EAAA,CAAA;sBADH;gBAKD,QAAQ,EAAA,CAAA;sBADP;gBAUD,eAAe,EAAA,CAAA;sBADd;gBAMD,SAAS,EAAA,CAAA;sBADR;gBAMD,QAAQ,EAAA,CAAA;sBADP;gBAKD,gBAAgB,EAAA,CAAA;sBADf;gBAKD,mBAAmB,EAAA,CAAA;sBADlB;gBAKD,QAAQ,EAAA,CAAA;sBADP;gBAKD,OAAO,EAAA,CAAA;sBADN;gBAKD,WAAW,EAAA,CAAA;sBADV;gBAKD,KAAK,EAAA,CAAA;sBADJ,SAAS;uBAAC,aAAa;gBAKxB,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,aAAa;gBAK3B,uBAAuB,EAAA,CAAA;sBADtB,YAAY;uBAAC,+BAA+B;;;AEzEjD;;;;;;;;;;;;;;;;;;AAkBG;MAmBU,wBAAwB,CAAA;AAjBrC,IAAA,WAAA,GAAA;;QA4BI,IAAoB,CAAA,oBAAA,GAAG,KAAK;;QAI5B,IAAc,CAAA,cAAA,GAAG,KAAK;AAMtB;;AAEG;AAEH,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAW;;QA2BxC,IAAc,CAAA,cAAA,GAAG,KAAK;;QAMtB,IAAkB,CAAA,kBAAA,GAAG,KAAK;AAE1B;;AAEG;QACH,IAAU,CAAA,UAAA,GAAG,KAAK;;AAMlB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;;AAGV,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;;AAG/B,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,qBAAqB,CAAC;;QAM1D,IAAa,CAAA,aAAA,GAAe,MAAK;YAC7B,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;AAC/C,SAAC;AAqFJ;;AAlFG,IAAA,IAAW,QAAQ,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI;;aAC3B;YACH,OAAO,IAAI,CAAC,IAAI;;;;IAKxB,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE;;;AAIjC,IAAA,eAAe,CAAC,cAAuB,EAAA;AACnC,QAAA,IAAI,CAAC,kBAAkB,GAAG,cAAc;QAExC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;AACpC,YAAA,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc,GAAG,MAAM,GAAG,MAAM;AAChF,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;;AAI5B,IAAA,aAAa,CAAC,MAAiB,EAAE,eAA0C,EAAE,IAAmB,EAAA;AAC5F,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM;AAC3B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAC1B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,QAAA,IAAI,CAAC,gBAAgB,GAAG,eAAe;AACvC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;AACzC,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;;IAI5B,aAAa,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,EAAE;AACnC,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;;AAG/B,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAE3B,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;;IAI5B,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC5B;;AAEJ,QAAA,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,EAAE;AACpC,QAAA,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE;;;AAIpC,IAAA,oBAAoB,CAAC,OAAgB,EAAA;AACjC,QAAA,IAAI,CAAC,UAAU,GAAG,OAAO;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAErC,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,GAAG,EAAE;YAC1B;;AAGJ,QAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC;;;AAItC,IAAA,mBAAmB,CAAC,OAAgB,EAAE,WAAW,GAAG,KAAK,EAAA;QAC7D,IAAI,OAAO,EAAE;AACT,YAAA,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE;YAC5B,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;;aAC3C;AACH,YAAA,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE;;AAEhC,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;QACxB,IAAI,WAAW,EAAE;AACb,YAAA,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE;;AAElC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,SAAS,CAAC,yBAAyB,EAAE;;;8GArKzC,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAgCnB,yBAAyB,EAQzB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,qBAAqB,yFAIrB,2BAA2B,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAhBxB,4BAA4B,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAQlC,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAYzB,eAAe,ECrH9B,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,q3DAmDA,EDWQ,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,8BAA8B,uKAC9B,uBAAuB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,yBAAyB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACzB,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAGV,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAjBpC,SAAS;+BACI,qBAAqB,EAAA,aAAA,EAEhB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,4BAA4B,EAAE,MAAM;AACpC,wBAAA,qCAAqC,EAAE;qBAC1C,EACQ,OAAA,EAAA;wBACL,YAAY;wBACZ,8BAA8B;wBAC9B,uBAAuB;wBACvB,yBAAyB;wBACzB;AACH,qBAAA,EAAA,QAAA,EAAA,q3DAAA,EAAA;8BAKD,IAAI,EAAA,CAAA;sBADH;gBAKD,QAAQ,EAAA,CAAA;sBADP;gBAKD,oBAAoB,EAAA,CAAA;sBADnB;gBAKD,cAAc,EAAA,CAAA;sBADb;gBAKD,sBAAsB,EAAA,CAAA;sBADrB;gBAOD,UAAU,EAAA,CAAA;sBADT;gBAKD,eAAe,EAAA,CAAA;sBADd,eAAe;uBAAC,4BAA4B;gBAK7C,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,yBAAyB;gBAKvC,iBAAiB,EAAA,CAAA;sBADhB,SAAS;uBAAC,yBAAyB;gBAKpC,iBAAiB,EAAA,CAAA;sBADhB,YAAY;uBAAC,qBAAqB;gBAKnC,sBAAsB,EAAA,CAAA;sBADrB,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,2BAA2B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;gBAK5D,aAAa,EAAA,CAAA;sBADZ,SAAS;uBAAC,eAAe;;;AElH9B;;AAEG;MAwBU,yBAAyB,CAAA;;AASlC,IAAA,WAAA,CAAoB,MAAkB,EAAA;QAAlB,IAAM,CAAA,MAAA,GAAN,MAAM;;QAN1B,IAAmB,CAAA,mBAAA,GAAG,KAAK;;AAGV,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,qBAAqB,CAAC;;;IAM1D,iBAAiB,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE,EAAE;AAC9C,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,mBAAmB,CAAC;YAC5E,IAAI,OAAO,EAAE;AACT,gBAAA,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;;;;;IAM1C,SAAS,GAAA;AACL,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,mBAAmB,CAAC;QAC5E,IAAI,OAAO,EAAE;AACT,YAAA,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;;;8GAzB7B,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EArBxB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;AAKH,UAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,6GAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAgBE,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAvBrC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EACtB,QAAA,EAAA,CAAA;;;;;WAKH,EACQ,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,cACnC,IAAI,EAAA,MAAA,EAAA,CAAA,6GAAA,CAAA,EAAA;+EAgBhB,mBAAmB,EAAA,CAAA;sBADlB;;;AC5BL;;;AAGG;MAkBU,4BAA4B,CAAA;;AAKrC,IAAA,WAAA,CAAmB,EAAc,EAAA;QAAd,IAAE,CAAA,EAAA,GAAF,EAAE;;AAHJ,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,qBAAqB,CAAC;;AAK1D;;AAEG;IACH,oBAAoB,GAAA;AAChB,QAAA,MAAM,QAAQ,GAA4C,IAAI,CAAC,wBAAwB,EAAE;AACzF,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE,EAAE;YACjD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC;AAC7E,YAAA,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5B;;AAEJ,YAAA,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;;;AAIzE;;;AAGG;IACH,YAAY,GAAA;QACR,IAAI,CAAC,wBAAwB,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;YAC3C,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;AAC5B,SAAC,CAAC;;AAGN;;;;AAIG;IACK,wBAAwB,GAAA;QAC5B,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU;AACtC,aAAA,GAAG,CAAC,CAAC,OAAoB,EAAE,KAAK,KAAI;AACjC,YAAA,MAAM,oBAAoB,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,wBAAwB,CAAC;YACnG,MAAM,QAAQ,GAAG;kBACX,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,wBAAwB,CAAE,EAAE,EAAE;AAC9D,kBAAE,KAAK,GAAG,CAAC;AAEf,YAAA,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;AACpC,SAAC;AACA,aAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;;8GA9CvC,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,oMAd3B,CAA4B,0BAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAc7B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAjBxC,SAAS;+BACI,0BAA0B,EAAA,UAAA,EACxB,IAAI,EACN,QAAA,EAAA,CAAA,0BAAA,CAA4B,mBACrB,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,4BAA4B,EAAE,MAAM;AACpC,wBAAA,0CAA0C,EAAE;AAC/C,qBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA;;;MCNQ,6BAA6B,CAAA;AAP1C,IAAA,WAAA,GAAA;;AAYI,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;AAC7B;8GANY,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,GAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAPzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,qBAAqB,EAAE;AAC1B;AACJ,iBAAA;8BAGoC,QAAQ,EAAA,CAAA;sBAAxC,KAAK;uBAAC,wBAAwB;;;ACTnC;;;;;;;;AAQG;MAQU,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,4EALpB,CAA2B,yBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAK5B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,CAA2B,yBAAA,CAAA;oBACrC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACfD;;AAEG;MAkBU,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,qIAfzB,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAeH,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAjBtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EACvB,QAAA,EAAA,CAAA,CAAE,EACG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,EAQV,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA;;;MCXQ,wBAAwB,CAAA;8GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6CAA6C;AACvD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACND;;;;;;;;;;AAUG;MAeU,yBAAyB,CAAA;8GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,gFC3BtC,gFAGA,EAAA,MAAA,EAAA,CAAA,sCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDwBa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAdrC,SAAS;+BACI,sBAAsB,EAAA,aAAA,EAEjB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EAQnC,IAAI,EAAA,QAAA,EAAA,gFAAA,EAAA,MAAA,EAAA,CAAA,sCAAA,CAAA,EAAA;;;AEvBpB;;;;;;;;AAQG;MAQU,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,6EClBnC,2EAGA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDea,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;+BACI,mBAAmB,EAAA,aAAA,EAEd,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,QAAA,EAAA,2EAAA,EAAA;;;AEqBpB;;;;AAIG;MAmBU,iBAAiB,CAAA;AAlB9B,IAAA,WAAA,GAAA;AAsCI;;;;;AAKG;QAEH,IAAO,CAAA,OAAA,GAAsC,KAAK;;QAqBlD,IAAoB,CAAA,oBAAA,GAAG,KAAK;;QAI5B,IAAc,CAAA,cAAA,GAAG,KAAK;;AAItB,QAAA,IAAA,CAAA,uBAAuB,GAAwB,IAAI,YAAY,EAAS;;AAIxE,QAAA,IAAA,CAAA,iBAAiB,GAAwB,IAAI,YAAY,EAAS;;QA+BlE,IAAiB,CAAA,iBAAA,GAAG,KAAK;;AAGhB,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAU,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;;QAmFxD,IAAa,CAAA,aAAA,GAAG,IAAI,eAAe,CAAgB,IAAI,CAAC,YAAY,CAAC;;QAM9E,IAAe,CAAA,eAAA,GAAkB,GAAG;;AAG3B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;;AAG/B,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;;AAGzC,QAAA,IAAA,CAAA,YAAY,GAA2B,IAAI,CAAC,qBAAqB,CAAC;AACtE,YAAA,CAAC,EAAE,CAAC;AACJ,YAAA,CAAC,EAAE,GAAG;AACN,YAAA,CAAC,EAAE,GAAG;AACN,YAAA,EAAE,EAAE;AACP,SAAA,CAAC;;AAMM,QAAA,IAAA,CAAA,sBAAsB,GAAG,MAAM,CAAC,qBAAqB,CAAC;;AAG7C,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE;AAC9C,YAAA,QAAQ,EAAE;AACb,SAAA,CAAC;AAkOL;;IAhbG,IACI,IAAI,CAAC,KAAgC,EAAA;AACrC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;QAClB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;;AAE9C,IAAA,IAAI,IAAI,GAAA;QACJ,OAAO,IAAI,CAAC,KAAK;;AAGrB;;AAEG;IACH,IACI,WAAW,CAAC,WAAwB,EAAA;QACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC;QAC3D,IAAI,CAAC,qBAAqB,EAAE;;AAYhC;;AAEG;IACH,IACI,SAAS,CAAC,KAAyC,EAAA;QACnD,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE;YAC/B;;AAGJ,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;AAG5B,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,UAAU;;AAqD1B;;AAEG;IACH,IACI,eAAe,CAAC,SAAoC,EAAA;QACpD,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,SAAS;AAC1D,QAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;QACjC,IAAI,CAAC,SAAS,EAAE;AACZ,YAAA,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE;YAC5B;;AAGJ,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE;AAChC,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;;AAG/B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC;AACtE,QAAA,SAAS,CAAC,YAAY,GAAG,QAAQ;AACjC,QAAA,SAAS,CAAC,cAAc,GAAG,IAAI;AAC/B,QAAA,SAAS,CAAC,iBAAiB,GAAG,IAAI;QAClC,SAAS,CAAC,UAAU,GAAG;AACnB,YAAA,WAAW,EAAE,2BAA2B;AACxC,YAAA,gBAAgB,EAAE,iCAAiC;AACnD,YAAA,mBAAmB,EAAE,oCAAoC;AACzD,YAAA,iBAAiB,EAAE,4BAA4B;AAC/C,YAAA,WAAW,EAAE,qBAAqB;AAClC,YAAA,UAAU,EAAE,iCAAiC;AAC7C,YAAA,mBAAmB,EAAE,8BAA8B;AACnD,YAAA,2BAA2B,EAAE,8BAA8B;AAC3D,YAAA,sBAAsB,EAAE,IAAI;AAC5B,YAAA,WAAW,EAAE;SAChB;AAED,QAAA,IAAI,CAAC,yBAAyB,EAAE,WAAW,EAAE;AAE7C,QAAA,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;AACtC,aAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;AACjB,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AACb,gBAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;AAC9B,gBAAA,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,KAAK,CAAC;AAC1C,gBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;AAEhC,SAAC,CAAC;QAEN,IAAI,YAAY,EAAE;YACd,IAAI,CAAC,YAAY,EAAE;;AAGvB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;AAG5B,IAAA,IAAI,eAAe,GAAA;QACf,OAAO,IAAI,CAAC,gBAAgB;;;AAIhC,IAAA,IAAI,oBAAoB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,GAAG,IAAI,IAAI,CAAC,iBAAiB;;;AAI5F,IAAA,IAAI,kBAAkB,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,KAAK,GAAG,IAAI,IAAI,CAAC,iBAAiB;;;AAI9D,IAAA,IAAI,YAAY,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe;;;IA+C7C,kBAAkB,GAAA;QACd,IAAI,CAAC,2BAA2B,EAAE;QAClC,IAAI,CAAC,0BAA0B,EAAE;;;IAIrC,eAAe,GAAA;AACX,QAAA,IAAI,CAAC;AACA,aAAA,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa;AACpC,aAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;aACzC,SAAS,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAClD,qBAAqB,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEzD,IAAI,CAAC,4BAA4B,EAAE;;;IAIvC,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,yBAAyB,EAAE,WAAW,EAAE;AAC7C,QAAA,IAAI,CAAC,mBAAmB,EAAE,OAAO,EAAE;;;IAIvC,2BAA2B,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxB,YAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI;;;;IAKhD,0BAA0B,GAAA;QACtB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,KAAI;YAC7B,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC;AAC7D,SAAC,CAAC;;;IAIN,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;AAC9B,QAAA,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,KAAK,CAAC;AAC1C,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;;IAI5B,gBAAgB,GAAA;QACZ,IAAI,MAAM,GAAG,GAAG;QAEhB,IAAI,IAAI,CAAC,OAAO,IAAK,IAAI,CAAC,OAAmC,CAAC,0BAA0B,EAAE;AACtF,YAAA,MAAM,IAAK,IAAI,CAAC,OAAmC,CAAC,0BAA0B;;AAGlF,QAAA,OAAO,MAAM;;;IAIjB,eAAe,GAAA;AACX,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC,IAAI,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC,KAAK;AAC7G,QAAA,IAAI,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC;AACrF,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;AACd,YAAA,eAAe,GAAG,eAAe,GAAG,CAAC,CAAC;;QAE1C,OAAO,GAAG,GAAG,eAAe;;;IAIhC,cAAc,GAAA;AACV,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK;AAClB,cAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;AAC9D,cAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK;AACvE,QAAA,OAAO,GAAG;;;IAId,2BAA2B,GAAA;QACvB,OAAO,IAAI,CAAC,KAAK;cACX,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,eAAe;cAC5C,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE;;;IAIxD,yBAAyB,GAAA;QACrB,IAAI,CAAC,qBAAqB,EAAE;;;AAIhC,IAAA,kBAAkB,CAAC,KAAY,EAAA;AAC3B,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;;;AAI5C,IAAA,YAAY,CAAC,KAAY,EAAA;AACrB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;;;IAI9B,4BAA4B,GAAA;QAChC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,KAAI;AAC1F,YAAA,IAAI,CAAC,iBAAiB,GAAG,UAAU;AACnC,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;AACxB,YAAA,IAAI,IAAI,CAAC,YAAY,KAAK,GAAG,EAAE;gBAC3B;;YAGJ,IAAI,UAAU,EAAE;AACZ,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;;iBACrB;gBACH,IAAI,CAAC,aAAa,EAAE;;AAE5B,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AACjG,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACrB;;YAGJ,IAAI,CAAC,YAAY,EAAE;AACvB,SAAC,CAAC;;IAGE,YAAY,GAAA;AAChB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK;QAErC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,MAAM,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE;YAClF,IAAI,CAAC,aAAa,EAAE;;aACjB;YACH,IAAI,CAAC,aAAa,EAAE;;;;IAKpB,qBAAqB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,eAAe,EAAE;AAEtB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK;YACxE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YAE9F,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,EAAE;AACrD,gBAAA,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,IAAI;gBACtC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;;AAE9C,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;;;IAKxB,eAAe,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,cAAc,EAAE;AAErB,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,gBAAA,IAAI,IAAI,CAAC,2BAA2B,EAAE,EAAE;AACpC,oBAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;;AAEvC,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,oBAAA,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;;AAErC,gBAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,oBAAA,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE;;gBAE3C,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,2BAA2B,EAAE,EAAE;oBAC9D,IAAI,CAAC,kBAAkB,EAAE;;;;;;IAOjC,cAAc,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;;AAEnC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;;AAE7B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC;;;;AAKpC,IAAA,qBAAqB,CAAC,WAAwB,EAAA;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAoB;QACxD,MAAM,qBAAqB,GAA2B,EAAE;QAExD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,KAAI;AACxB,YAAA,MAAM,UAAU,GAAyB;AACrC,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC;gBACrB,GAAG,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG;aACzD;AAED,YAAA,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,SAAC,CAAC;AAEF,QAAA,OAAO,qBAAqB;;;IAIxB,aAAa,CAAC,WAAW,GAAG,KAAK,EAAA;AACrC,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE,WAAW,EAAE,EAAE;YACzC;;AAGJ,QAAA,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE;QAC9B,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;QAEpD,IAAI,WAAW,EAAE;AACb,YAAA,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE;;;;IAK9B,aAAa,GAAA;QACjB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,EAAE,EAAE;AAC1C,YAAA,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC;YAC1F;;AAGJ,QAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;AAEjC,QAAA,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC;;8GAhbrF,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAZf,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA,+BAA+B,CAAC;AAC5B,gBAAA,uBAAuB,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAClD,gBAAA,2BAA2B,EAAE;aAChC,CAAC;AACF,YAAA;AACI,gBAAA,OAAO,EAAE,qBAAqB;AAC9B,gBAAA,WAAW,EAAE;AAChB;SACJ,EAkEa,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,qBAAqB,EAQrB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,4BAA4B,EAI5B,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,yBAAyB,2EAIzB,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAoBxB,4BAA4B,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAhCzB,mBAAmB,EAAA,IAAA,EAAU,UAAU,EAgBA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,eAAe,EC/I3E,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,w9FAoEA,EDVc,MAAA,EAAA,CAAA,8wpCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,6LAAE,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,kDAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEjE,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAlB7B,SAAS;+BACI,aAAa,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA,+BAA+B,CAAC;AAC5B,4BAAA,uBAAuB,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAClD,4BAAA,2BAA2B,EAAE;yBAChC,CAAC;AACF,wBAAA;AACI,4BAAA,OAAO,EAAE,qBAAqB;AAC9B,4BAAA,WAAW,EAAmB;AACjC;qBACJ,EACQ,OAAA,EAAA,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,w9FAAA,EAAA,MAAA,EAAA,CAAA,8wpCAAA,CAAA,EAAA;8BAKvE,IAAI,EAAA,CAAA;sBADP;gBAaG,WAAW,EAAA,CAAA;sBADd;gBAaD,OAAO,EAAA,CAAA;sBADN;gBAOG,SAAS,EAAA,CAAA;sBADZ;gBAgBD,oBAAoB,EAAA,CAAA;sBADnB;gBAKD,cAAc,EAAA,CAAA;sBADb;gBAKD,uBAAuB,EAAA,CAAA;sBADtB;gBAKD,iBAAiB,EAAA,CAAA;sBADhB;gBAKD,iBAAiB,EAAA,CAAA;sBADhB,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,qBAAqB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;gBAKtD,OAAO,EAAA,CAAA;sBADN,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAK1D,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,4BAA4B;gBAK1C,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,yBAAyB;gBAK/B,QAAQ,EAAA,CAAA;sBADf,YAAY;uBAAC,wBAAwB;gBAKrB,mBAAmB,EAAA,CAAA;sBADnC,SAAS;uBAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE;gBAKxD,SAAS,EAAA,CAAA;sBADzB,SAAS;uBAAC,UAAU;gBAajB,eAAe,EAAA,CAAA;sBADlB,YAAY;uBAAC,4BAA4B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;;;MEpGvE,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YArCnB,iBAAiB;YACjB,oBAAoB;YACpB,yBAAyB;YACzB,wBAAwB;YACxB,8BAA8B;YAC9B,uBAAuB;YACvB,qBAAqB;YACrB,sBAAsB;YACtB,yBAAyB;YACzB,wBAAwB;YACxB,+BAA+B;YAC/B,wBAAwB;YACxB,yBAAyB;YACzB,4BAA4B;YAC5B,0BAA0B;AAC1B,YAAA,6BAA6B,aAG7B,iBAAiB;YACjB,oBAAoB;YACpB,yBAAyB;YACzB,wBAAwB;YACxB,8BAA8B;YAC9B,uBAAuB;YACvB,qBAAqB;YACrB,sBAAsB;YACtB,yBAAyB;YACzB,wBAAwB;YACxB,+BAA+B;YAC/B,wBAAwB;YACxB,yBAAyB;YACzB,4BAA4B;YAC5B,0BAA0B;YAC1B,6BAA6B;YAC7B,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAGf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YArCnB,iBAAiB;YACjB,oBAAoB;YAEpB,wBAAwB;YACxB,8BAA8B;YAC9B,uBAAuB;AAGvB,YAAA,yBAAyB,EA0BzB,oBAAoB,CAAA,EAAA,CAAA,CAAA;;2FAGf,cAAc,EAAA,UAAA,EAAA,CAAA;kBAvC1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,iBAAiB;wBACjB,oBAAoB;wBACpB,yBAAyB;wBACzB,wBAAwB;wBACxB,8BAA8B;wBAC9B,uBAAuB;wBACvB,qBAAqB;wBACrB,sBAAsB;wBACtB,yBAAyB;wBACzB,wBAAwB;wBACxB,+BAA+B;wBAC/B,wBAAwB;wBACxB,yBAAyB;wBACzB,4BAA4B;wBAC5B,0BAA0B;wBAC1B;AACH,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,iBAAiB;wBACjB,oBAAoB;wBACpB,yBAAyB;wBACzB,wBAAwB;wBACxB,8BAA8B;wBAC9B,uBAAuB;wBACvB,qBAAqB;wBACrB,sBAAsB;wBACtB,yBAAyB;wBACzB,wBAAwB;wBACxB,+BAA+B;wBAC/B,wBAAwB;wBACxB,yBAAyB;wBACzB,4BAA4B;wBAC5B,0BAA0B;wBAC1B,6BAA6B;wBAC7B;AACH;AACJ,iBAAA;;;AC1DD;;AAEG;;;;"}