{"version":3,"file":"skyux-layout.mjs","sources":["../../../../../libs/components/layout/src/lib/modules/action-button/action-button-adapter-service.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button.component.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button.component.html","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-container.component.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-container.component.html","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-details.component.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-details.component.html","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-header.component.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-header.component.html","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-icon.component.ts","../../../../../libs/components/layout/src/lib/modules/action-button/action-button-icon.component.html","../../../../../libs/components/layout/src/lib/modules/action-button/action-button.module.ts","../../../../../libs/components/layout/src/lib/modules/shared/sky-layout-resources.module.ts","../../../../../libs/components/layout/src/lib/modules/back-to-top/back-to-top.component.ts","../../../../../libs/components/layout/src/lib/modules/back-to-top/back-to-top.component.html","../../../../../libs/components/layout/src/lib/modules/back-to-top/back-to-top-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/back-to-top/models/back-to-top-message-type.ts","../../../../../libs/components/layout/src/lib/modules/back-to-top/back-to-top.directive.ts","../../../../../libs/components/layout/src/lib/modules/back-to-top/back-to-top.module.ts","../../../../../libs/components/layout/src/lib/modules/box/box-content.component.ts","../../../../../libs/components/layout/src/lib/modules/box/box-content.component.html","../../../../../libs/components/layout/src/lib/modules/box/box-header-id-token.ts","../../../../../libs/components/layout/src/lib/modules/box/box-controls.component.ts","../../../../../libs/components/layout/src/lib/modules/box/box-controls.component.html","../../../../../libs/components/layout/src/lib/modules/box/box-header.component.ts","../../../../../libs/components/layout/src/lib/modules/box/box-header.component.html","../../../../../libs/components/layout/src/lib/modules/box/box.component.ts","../../../../../libs/components/layout/src/lib/modules/box/box.component.html","../../../../../libs/components/layout/src/lib/modules/box/box.module.ts","../../../../../libs/components/layout/src/lib/modules/inline-delete/inline-delete-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/inline-delete/inline-delete-type.ts","../../../../../libs/components/layout/src/lib/modules/inline-delete/inline-delete.component.ts","../../../../../libs/components/layout/src/lib/modules/inline-delete/inline-delete.component.html","../../../../../libs/components/layout/src/lib/modules/inline-delete/inline-delete.module.ts","../../../../../libs/components/layout/src/lib/modules/card/card-actions.component.ts","../../../../../libs/components/layout/src/lib/modules/card/card-actions.component.html","../../../../../libs/components/layout/src/lib/modules/card/card-content.component.ts","../../../../../libs/components/layout/src/lib/modules/card/card-content.component.html","../../../../../libs/components/layout/src/lib/modules/card/card-title.component.ts","../../../../../libs/components/layout/src/lib/modules/card/card-title.component.html","../../../../../libs/components/layout/src/lib/modules/card/card.component.ts","../../../../../libs/components/layout/src/lib/modules/card/card.component.html","../../../../../libs/components/layout/src/lib/modules/card/card.module.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-content.component.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-content.component.html","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-heading.component.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-heading.component.html","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list.service.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-label.component.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-label.component.html","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-value.component.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list-value.component.html","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list.component.ts","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list.component.html","../../../../../libs/components/layout/src/lib/modules/definition-list/definition-list.module.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list.service.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-description.component.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-description.component.html","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-term.component.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-term.component.html","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-content.component.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-content.component.html","../../../../../libs/components/layout/src/lib/modules/description-list/description-list-adapter-service.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list.component.ts","../../../../../libs/components/layout/src/lib/modules/description-list/description-list.component.html","../../../../../libs/components/layout/src/lib/modules/description-list/description-list.module.ts","../../../../../libs/components/layout/src/lib/modules/description-list/types/description-list-mode.ts","../../../../../libs/components/layout/src/lib/modules/fluid-grid/column.component.ts","../../../../../libs/components/layout/src/lib/modules/fluid-grid/column.component.html","../../../../../libs/components/layout/src/lib/modules/fluid-grid/fluid-grid.component.ts","../../../../../libs/components/layout/src/lib/modules/fluid-grid/fluid-grid.component.html","../../../../../libs/components/layout/src/lib/modules/fluid-grid/row.component.ts","../../../../../libs/components/layout/src/lib/modules/fluid-grid/row.component.html","../../../../../libs/components/layout/src/lib/modules/fluid-grid/fluid-grid.module.ts","../../../../../libs/components/layout/src/lib/modules/format/format.component.ts","../../../../../libs/components/layout/src/lib/modules/format/format.component.html","../../../../../libs/components/layout/src/lib/modules/format/format.module.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-alert.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-alert.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-content.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-content.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-image.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-image.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-key-info.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-key-info.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-status.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-status.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-subtitle.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-subtitle.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-title.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-title.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary.component.ts","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary.component.html","../../../../../libs/components/layout/src/lib/modules/page-summary/page-summary.module.ts","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand-modal-context-token.ts","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand-modal.component.ts","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand-modal.component.html","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand.component.ts","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand.component.html","../../../../../libs/components/layout/src/lib/modules/text-expand/text-expand.module.ts","../../../../../libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.ts","../../../../../libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater.component.ts","../../../../../libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater.component.html","../../../../../libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater.module.ts","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-item.component.ts","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-item.component.html","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-section.component.ts","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-section.component.html","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-view-actions.component.ts","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar-view-actions.component.html","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar.component.ts","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar.component.html","../../../../../libs/components/layout/src/lib/modules/toolbar/toolbar.module.ts","../../../../../libs/components/layout/src/skyux-layout.ts"],"sourcesContent":["import {\n  ElementRef,\n  Injectable,\n  Renderer2,\n  RendererFactory2,\n} from '@angular/core';\n\nconst RESPONSIVE_CLASS_SM = 'sky-action-button-container-sm';\nconst RESPONSIVE_CLASS_MD = 'sky-action-button-container-md';\nconst RESPONSIVE_CLASS_LG = 'sky-action-button-container-lg';\n\nconst BREAKPOINT_MD = 912;\nconst BREAKPOINT_LG = 1378;\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyActionButtonAdapterService {\n  #renderer: Renderer2;\n\n  constructor(rendererFactory: RendererFactory2) {\n    this.#renderer = rendererFactory.createRenderer(undefined, null);\n  }\n\n  public getParentWidth(element: ElementRef): number | undefined {\n    return (\n      element.nativeElement as HTMLElement\n    ).parentElement?.getBoundingClientRect().width;\n  }\n\n  public setResponsiveClass(element: ElementRef, width = 0): void {\n    const el: any = element.nativeElement;\n    const className = this.#getResponsiveClassName(width);\n\n    this.#renderer.removeClass(el, RESPONSIVE_CLASS_SM);\n    this.#renderer.removeClass(el, RESPONSIVE_CLASS_MD);\n    this.#renderer.removeClass(el, RESPONSIVE_CLASS_LG);\n\n    this.#renderer.addClass(el, className);\n  }\n\n  #getResponsiveClassName(width: number): string {\n    if (width < BREAKPOINT_MD) {\n      return RESPONSIVE_CLASS_SM;\n    } else if (width >= BREAKPOINT_MD && width < BREAKPOINT_LG) {\n      return RESPONSIVE_CLASS_MD;\n    } else {\n      return RESPONSIVE_CLASS_LG;\n    }\n  }\n}\n","import {\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  HostBinding,\n  Input,\n  Output,\n  SkipSelf,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { SkyHrefChange } from '@skyux/router';\n\nimport { SkyActionButtonPermalink } from './action-button-permalink';\n\n/**\n * Creates a button to present users with an option to move forward with tasks.\n */\n@Component({\n  selector: 'sky-action-button',\n  styleUrls: [\n    './action-button.default.component.scss',\n    './action-button.modern.component.scss',\n  ],\n  templateUrl: './action-button.component.html',\n  encapsulation: ViewEncapsulation.None,\n  standalone: false,\n})\nexport class SkyActionButtonComponent {\n  @HostBinding('hidden')\n  public hidden = false;\n\n  /**\n   * The link for the action button.\n   */\n  @Input()\n  public permalink: SkyActionButtonPermalink | undefined;\n\n  /**\n   * Fires when users select the action button.\n   */\n  @Output()\n  public actionClick = new EventEmitter<any>();\n\n  #changeDetector: ChangeDetectorRef;\n\n  constructor(@SkipSelf() changeDetector: ChangeDetectorRef) {\n    this.#changeDetector = changeDetector;\n  }\n\n  public buttonClicked(): void {\n    this.actionClick.emit();\n  }\n\n  public enterPress(): void {\n    this.actionClick.emit();\n  }\n\n  public onSkyHrefDisplayChange($event: SkyHrefChange): void {\n    if (this.hidden === $event.userHasAccess) {\n      setTimeout(() => {\n        this.hidden = !$event.userHasAccess;\n        this.#changeDetector.markForCheck();\n      });\n    }\n  }\n}\n","@if (!!permalink?.route?.commands) {\n  <a\n    class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n    tabindex=\"0\"\n    [fragment]=\"permalink?.route?.extras?.fragment\"\n    [skyThemeClass]=\"{\n      'sky-btn sky-box': 'modern'\n    }\"\n    [queryParams]=\"permalink?.route?.extras?.queryParams\"\n    [queryParamsHandling]=\"permalink?.route?.extras?.queryParamsHandling\"\n    [routerLink]=\"permalink?.route?.commands\"\n  >\n    <ng-container *ngTemplateOutlet=\"actionButtonContent\" />\n  </a>\n} @else if (!permalink?.route && permalink?.url) {\n  @if (\n    !permalink?.url?.includes('://') || permalink?.url?.startsWith('https://')\n  ) {\n    <a\n      class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n      tabindex=\"0\"\n      [href]=\"permalink?.url\"\n      [skyThemeClass]=\"{\n        'sky-btn sky-box': 'modern'\n      }\"\n    >\n      <ng-container *ngTemplateOutlet=\"actionButtonContent\" />\n    </a>\n  } @else {\n    <a\n      class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n      tabindex=\"0\"\n      [skyHref]=\"permalink?.url\"\n      [skyThemeClass]=\"{\n        'sky-btn sky-box': 'modern'\n      }\"\n      (skyHrefChange)=\"onSkyHrefDisplayChange($event)\"\n    >\n      <ng-container *ngTemplateOutlet=\"actionButtonContent\" />\n    </a>\n  }\n} @else {\n  <div\n    class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n    tabindex=\"0\"\n    role=\"button\"\n    [skyThemeClass]=\"{\n      'sky-btn sky-box': 'modern'\n    }\"\n    (click)=\"buttonClicked()\"\n    (keydown.enter)=\"enterPress()\"\n  >\n    <ng-container *ngTemplateOutlet=\"actionButtonContent\" />\n  </div>\n}\n\n<ng-template #actionButtonContent>\n  <ng-container *skyThemeIf=\"'default'\">\n    <div class=\"sky-action-button-icon-header-container\">\n      <ng-container *ngTemplateOutlet=\"icon\" />\n      <ng-container *ngTemplateOutlet=\"header\" />\n    </div>\n    <ng-container *ngTemplateOutlet=\"details\" />\n  </ng-container>\n\n  <ng-container *skyThemeIf=\"'modern'\">\n    <ng-container *ngTemplateOutlet=\"icon\" />\n    <div class=\"sky-action-button-content\">\n      <ng-container *ngTemplateOutlet=\"header\" />\n      <div\n        class=\"sky-action-button-details\"\n        [skyThemeClass]=\"{\n          'sky-font-deemphasized': 'modern'\n        }\"\n      >\n        <ng-container *ngTemplateOutlet=\"details\" />\n      </div>\n    </div>\n  </ng-container>\n</ng-template>\n\n<ng-template #icon>\n  <ng-content select=\"sky-action-button-icon\" />\n</ng-template>\n\n<ng-template #header>\n  <ng-content select=\"sky-action-button-header\" />\n</ng-template>\n\n<ng-template #details>\n  <ng-content select=\"sky-action-button-details\" />\n</ng-template>\n","import {\n  AfterViewInit,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  ElementRef,\n  HostListener,\n  Input,\n  OnDestroy,\n  OnInit,\n  Optional,\n  QueryList,\n  ViewChild,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { SkyCoreAdapterService } from '@skyux/core';\nimport { SkyThemeComponentClassDirective, SkyThemeService } from '@skyux/theme';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyActionButtonAdapterService } from './action-button-adapter-service';\nimport { SkyActionButtonComponent } from './action-button.component';\nimport { SkyActionButtonContainerAlignItemsType } from './types/action-button-container-align-items-type';\n\n/**\n * Wraps action buttons to ensures that they have consistent height and spacing.\n * @required\n */\n@Component({\n  selector: 'sky-action-button-container',\n  styleUrls: [\n    './action-button-container.default.component.scss',\n    './action-button-container.modern.component.scss',\n  ],\n  templateUrl: './action-button-container.component.html',\n  providers: [SkyActionButtonAdapterService],\n  encapsulation: ViewEncapsulation.None,\n  hostDirectives: [SkyThemeComponentClassDirective],\n  standalone: false,\n})\nexport class SkyActionButtonContainerComponent\n  implements AfterViewInit, OnDestroy, OnInit\n{\n  /**\n   * How to display the action buttons inside the action button container.\n   * Options are `\"center\"` or `\"left\"`.\n   * @default \"center\"\n   */\n  @Input()\n  public set alignItems(\n    value: SkyActionButtonContainerAlignItemsType | undefined,\n  ) {\n    this.#_alignItems = value ?? 'center';\n  }\n\n  public get alignItems(): SkyActionButtonContainerAlignItemsType {\n    return this.#_alignItems;\n  }\n\n  @ContentChildren(SkyActionButtonComponent)\n  public actionButtons: QueryList<SkyActionButtonComponent> | undefined;\n\n  @ViewChild('container', {\n    read: ElementRef,\n    static: true,\n  })\n  public containerRef: ElementRef | undefined;\n\n  #ngUnsubscribe = new Subject<void>();\n\n  #syncMaxHeightTimeout?: number;\n\n  set #themeName(value: string) {\n    this.#_themeName = value;\n    this.#updateResponsiveClass();\n    this.#updateHeight();\n  }\n\n  #_alignItems: SkyActionButtonContainerAlignItemsType = 'center';\n\n  #_themeName: string | undefined;\n\n  #viewInitialized = false;\n\n  #actionButtonAdapterService: SkyActionButtonAdapterService;\n  #changeDetector: ChangeDetectorRef;\n  #coreAdapterService: SkyCoreAdapterService;\n  #hostElRef: ElementRef;\n  #themeSvc: SkyThemeService | undefined;\n\n  constructor(\n    actionButtonAdapterService: SkyActionButtonAdapterService,\n    changeDetector: ChangeDetectorRef,\n    coreAdapterService: SkyCoreAdapterService,\n    hostElRef: ElementRef,\n    @Optional() themeSvc?: SkyThemeService,\n  ) {\n    this.#actionButtonAdapterService = actionButtonAdapterService;\n    this.#changeDetector = changeDetector;\n    this.#coreAdapterService = coreAdapterService;\n    this.#hostElRef = hostElRef;\n    this.#themeSvc = themeSvc;\n  }\n\n  public ngOnInit(): void {\n    /* istanbul ignore else */\n    if (this.#themeSvc) {\n      this.#themeSvc.settingsChange\n        .pipe(takeUntil(this.#ngUnsubscribe))\n        .subscribe((themeSettings) => {\n          this.#themeName = themeSettings.currentSettings.theme.name;\n          this.#changeDetector.markForCheck();\n        });\n    }\n\n    // Wait for children components to complete rendering before container width is determined.\n    setTimeout(() => {\n      this.#updateResponsiveClass();\n    });\n  }\n\n  public ngAfterViewInit(): void {\n    // Watch for dynamic action button changes and recalculate height.\n    /* istanbul ignore else */\n    if (this.actionButtons) {\n      this.actionButtons.changes\n        .pipe(takeUntil(this.#ngUnsubscribe))\n        .subscribe(() => {\n          this.#updateHeight();\n        });\n    }\n    this.#viewInitialized = true;\n    this.#updateHeight();\n  }\n\n  public ngOnDestroy(): void {\n    this.#ngUnsubscribe.next();\n    this.#ngUnsubscribe.complete();\n  }\n\n  public onContentChange(): void {\n    this.#updateHeight();\n  }\n\n  @HostListener('window:resize')\n  public onWindowResize(): void {\n    this.#updateResponsiveClass();\n  }\n\n  #updateHeight(delay = 0): void {\n    const ref = this.containerRef;\n    if (ref && this.#viewInitialized) {\n      this.#coreAdapterService.resetHeight(ref, '.sky-action-button');\n      if (this.#_themeName === 'modern') {\n        // Wait for children components to complete rendering before height is determined.\n        clearTimeout(this.#syncMaxHeightTimeout);\n        this.#syncMaxHeightTimeout = setTimeout(() => {\n          const selector = '.sky-action-button:not([hidden])';\n          const button = ref.nativeElement.querySelector(selector);\n          if (button && button.offsetHeight > 0) {\n            this.#coreAdapterService.syncMaxHeight(ref, selector);\n          } else if (delay < 200) {\n            // Wait progressively longer between retries.\n            this.#updateHeight(delay + 50);\n          }\n        }, delay) as unknown as number;\n      }\n    }\n  }\n\n  #updateResponsiveClass(): void {\n    if (this.containerRef) {\n      const parentWidth = this.#actionButtonAdapterService.getParentWidth(\n        this.#hostElRef,\n      );\n      this.#actionButtonAdapterService.setResponsiveClass(\n        this.containerRef,\n        parentWidth,\n      );\n    }\n  }\n}\n","<div #container class=\"sky-action-button-container\">\n  <div\n    class=\"sky-action-button-flex\"\n    [ngClass]=\"{\n      'sky-action-button-flex-align-left': alignItems === 'left',\n      'sky-action-button-flex-align-center': alignItems === 'center'\n    }\"\n    (cdkObserveContent)=\"onContentChange()\"\n  >\n    <ng-content />\n  </div>\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a description to display on an action button.\n */\n@Component({\n  selector: 'sky-action-button-details',\n  templateUrl: './action-button-details.component.html',\n  standalone: false,\n})\nexport class SkyActionButtonDetailsComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\nimport { SkyThemeComponentClassDirective } from '@skyux/theme';\n\n/**\n * Specifies a header to display on an action button.\n */\n@Component({\n  selector: 'sky-action-button-header',\n  styleUrls: [\n    './action-button-header.default.component.scss',\n    './action-button-header.modern.component.scss',\n  ],\n  templateUrl: './action-button-header.component.html',\n  hostDirectives: [SkyThemeComponentClassDirective],\n  standalone: false,\n})\nexport class SkyActionButtonHeaderComponent {}\n","<div\n  class=\"sky-action-button-header\"\n  [skyThemeClass]=\"{\n    'sky-font-display-3': 'modern',\n    'sky-font-heading-2': 'default'\n  }\"\n>\n  <ng-content />\n</div>\n","import { Component, Input, inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SkyMediaQueryService } from '@skyux/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule } from '@skyux/theme';\n\n/**\n * Specifies an icon to display on the action button.\n */\n@Component({\n  selector: 'sky-action-button-icon',\n  styleUrls: [\n    './action-button-icon.default.component.scss',\n    './action-button-icon.modern.component.scss',\n  ],\n  templateUrl: './action-button-icon.component.html',\n  imports: [SkyIconModule, SkyThemeModule],\n})\nexport class SkyActionButtonIconComponent {\n  /**\n   * The name of the Blackbaud SVG icon to display.\n   */\n  @Input({ required: true })\n  public iconName!: string;\n\n  protected readonly breakpoint = toSignal(\n    inject(SkyMediaQueryService).breakpointChange,\n  );\n}\n","<div aria-hidden=\"true\" class=\"sky-action-button-icon-container\">\n  <sky-icon\n    *skyThemeIf=\"'default'\"\n    class=\"sky-action-button-icon\"\n    [iconSize]=\"breakpoint() === 'xs' ? 'xl' : 'xxxl'\"\n    [iconName]=\"iconName\"\n  />\n  <sky-icon\n    *skyThemeIf=\"'modern'\"\n    class=\"sky-action-button-icon\"\n    iconSize=\"l\"\n    [iconName]=\"iconName\"\n  />\n</div>\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SkyHrefModule } from '@skyux/router';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyActionButtonContainerComponent } from './action-button-container.component';\nimport { SkyActionButtonDetailsComponent } from './action-button-details.component';\nimport { SkyActionButtonHeaderComponent } from './action-button-header.component';\nimport { SkyActionButtonIconComponent } from './action-button-icon.component';\nimport { SkyActionButtonComponent } from './action-button.component';\n\n@NgModule({\n  declarations: [\n    SkyActionButtonComponent,\n    SkyActionButtonContainerComponent,\n    SkyActionButtonDetailsComponent,\n    SkyActionButtonHeaderComponent,\n  ],\n  imports: [\n    CommonModule,\n    ObserversModule,\n    RouterModule,\n    SkyActionButtonIconComponent,\n    SkyHrefModule,\n    SkyThemeModule,\n  ],\n  exports: [\n    SkyActionButtonComponent,\n    SkyActionButtonContainerComponent,\n    SkyActionButtonDetailsComponent,\n    SkyActionButtonHeaderComponent,\n    SkyActionButtonIconComponent,\n  ],\n})\nexport class SkyActionButtonModule {}\n","/* istanbul ignore file */\n\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-layout' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n  SkyI18nModule,\n  SkyLibResources,\n  SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n  'EN-US': {\n    skyux_back_to_top: { message: 'Back to top' },\n    skyux_card_checkbox_label: { message: 'Select card' },\n    skyux_definition_list_none_found: { message: 'None found.' },\n    skyux_description_list_none_found: { message: 'None found.' },\n    skyux_inline_delete_assistive_text: {\n      message: 'Are you sure you want to delete this item?',\n    },\n    skyux_inline_delete_cancel: { message: 'Cancel' },\n    skyux_inline_delete_confirm_deletion: { message: 'Confirm deletion' },\n    skyux_inline_delete_delete: { message: 'Delete' },\n    skyux_text_expand_close_text: { message: 'Close' },\n    skyux_text_expand_modal_title: { message: 'Expanded view' },\n    skyux_text_expand_see_less: { message: 'See less' },\n    skyux_text_expand_see_more: { message: 'See more' },\n  },\n  'FR-CA': {\n    skyux_back_to_top: { message: 'Retour en haut' },\n    skyux_card_checkbox_label: { message: 'Sélectionner la carte' },\n    skyux_definition_list_none_found: { message: 'Aucun trouvé.' },\n    skyux_description_list_none_found: { message: 'Aucun trouvé.' },\n    skyux_inline_delete_assistive_text: {\n      message: 'Êtes-vous certain de vouloir supprimer cet élément?',\n    },\n    skyux_inline_delete_cancel: { message: 'Annuler' },\n    skyux_inline_delete_confirm_deletion: {\n      message: 'Confirmer la suppression',\n    },\n    skyux_inline_delete_delete: { message: 'Supprimer' },\n    skyux_text_expand_close_text: { message: 'Fermer' },\n    skyux_text_expand_modal_title: { message: 'Vue agrandie' },\n    skyux_text_expand_see_less: { message: 'Voir moins' },\n    skyux_text_expand_see_more: { message: 'Voir plus' },\n  },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n  exports: [SkyI18nModule],\n})\nexport class SkyLayoutResourcesModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { Observable, Subject } from 'rxjs';\n\n/**\n * @internal\n */\n@Component({\n  selector: 'sky-back-to-top',\n  templateUrl: './back-to-top.component.html',\n  styleUrls: ['./back-to-top.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SkyBackToTopComponent {\n  public get scrollToTopClick(): Observable<void> {\n    return this.#_scrollToTopClick.asObservable();\n  }\n\n  #_scrollToTopClick = new Subject<void>();\n\n  public onScrollToTopClick(): void {\n    this.#_scrollToTopClick.next();\n    this.#_scrollToTopClick.complete();\n  }\n}\n","<div\n  class=\"sky-back-to-top\"\n  [skyThemeClass]=\"{\n    'sky-shadow': 'default',\n    'sky-elevation-3': 'modern'\n  }\"\n>\n  <button\n    class=\"sky-btn sky-btn-link-inline\"\n    type=\"button\"\n    (click)=\"onScrollToTopClick()\"\n  >\n    {{ 'skyux_back_to_top' | skyLibResources }}\n  </button>\n</div>\n","import { ElementRef, Injectable, OnDestroy } from '@angular/core';\nimport { SkyAppWindowRef, SkyScrollableHostService } from '@skyux/core';\n\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyBackToTopDomAdapterService implements OnDestroy {\n  #ngUnsubscribe = new Subject<void>();\n  #scrollableHostScrollEventUnsubscribe = new Subject<void>();\n  #scrollableHostService: SkyScrollableHostService;\n  #windowRef: SkyAppWindowRef;\n\n  constructor(\n    windowRef: SkyAppWindowRef,\n    scrollableHostService: SkyScrollableHostService,\n  ) {\n    this.#windowRef = windowRef;\n    this.#scrollableHostService = scrollableHostService;\n  }\n\n  public ngOnDestroy(): void {\n    this.#ngUnsubscribe.next();\n    this.#ngUnsubscribe.complete();\n    this.#scrollableHostScrollEventUnsubscribe.next();\n    this.#scrollableHostScrollEventUnsubscribe.complete();\n  }\n\n  /**\n   * This event returns a boolean on scroll indicating whether the provided element is in view.\n   * @param elementRef The target element reference.\n   */\n  public elementInViewOnScroll(elementRef: ElementRef): Observable<boolean> {\n    const scrollableHostObservable =\n      this.#scrollableHostService.watchScrollableHostScrollEvents(elementRef);\n\n    const isInitiallyInView = this.isElementScrolledInView(elementRef);\n    const returnedObservable = new BehaviorSubject<boolean>(isInitiallyInView);\n\n    scrollableHostObservable\n      .pipe(takeUntil(this.#scrollableHostScrollEventUnsubscribe))\n      .subscribe(() => {\n        const isInView = this.isElementScrolledInView(elementRef);\n        returnedObservable.next(isInView);\n      });\n\n    return returnedObservable;\n  }\n\n  /**\n   * Scrolls the window or scrollable parent to the provided element.\n   * @param elementRef The target element reference.\n   */\n  public scrollToElement(elementRef: ElementRef): void {\n    /* sanity check */\n    /* istanbul ignore if */\n    if (!elementRef || !elementRef.nativeElement) {\n      return;\n    }\n\n    const scrollableHost =\n      this.#scrollableHostService.getScrollableHost(elementRef);\n\n    if (scrollableHost instanceof Window) {\n      // Scroll to top of window, but account for the body margin that allows for the omnibar if it exists.\n      const bodyMarginOffset = parseInt(\n        getComputedStyle(document.body).marginTop,\n        10,\n      );\n      const newOffsetTop =\n        elementRef.nativeElement.offsetTop - bodyMarginOffset;\n      this.#windowRef.nativeWindow.scrollTo(\n        elementRef.nativeElement.offsetLeft,\n        newOffsetTop,\n      );\n    } else {\n      // Scroll to top of parent element.\n      scrollableHost.scrollTop =\n        scrollableHost.offsetTop - elementRef.nativeElement.offsetTop;\n    }\n  }\n\n  public isElementScrolledInView(element: ElementRef): boolean {\n    const parentElement =\n      this.#scrollableHostService.getScrollableHost(element);\n\n    if (!element.nativeElement.offsetParent) {\n      return true;\n    }\n    const buffer = 25;\n    const elementRect = element.nativeElement.getBoundingClientRect();\n\n    if (parentElement instanceof HTMLElement) {\n      const parentRect = parentElement.getBoundingClientRect();\n      return elementRect.top > parentRect.top - buffer;\n    } else {\n      return elementRect.top > -buffer;\n    }\n  }\n}\n","/**\n * The type of message to send to the back to top component.\n */\nexport enum SkyBackToTopMessageType {\n  /**\n   * Scrolls the element back to the top.\n   */\n  BackToTop = 0,\n}\n","import {\n  AfterViewInit,\n  Directive,\n  ElementRef,\n  Input,\n  OnDestroy,\n} from '@angular/core';\nimport { SkyDockItem, SkyDockService } from '@skyux/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyBackToTopDomAdapterService } from './back-to-top-adapter.service';\nimport { SkyBackToTopComponent } from './back-to-top.component';\nimport { SkyBackToTopMessage } from './models/back-to-top-message';\nimport { SkyBackToTopMessageType } from './models/back-to-top-message-type';\nimport { SkyBackToTopOptions } from './models/back-to-top-options';\n\n/**\n * Associates a button with an element on the page and displays that button\n * to return to the element after users scroll away.\n */\n@Directive({\n  selector: '[skyBackToTop]',\n  providers: [SkyBackToTopDomAdapterService],\n  standalone: false,\n})\nexport class SkyBackToTopDirective implements AfterViewInit, OnDestroy {\n  /**\n   * Configuration options for the back to top component.\n   */\n  @Input()\n  public set skyBackToTop(value: SkyBackToTopOptions | '' | undefined) {\n    this.#buttonHidden = !!(value && value?.buttonHidden);\n\n    this.#handleBackToTopButton(this.#elementInView);\n  }\n\n  /**\n   * The observable to send commands to the back to top component.\n   * The commands respect the `SkyBackToTopMessage` type.\n   */\n  @Input()\n  public set skyBackToTopMessageStream(\n    value: Subject<SkyBackToTopMessage> | undefined,\n  ) {\n    if (this.#_skyBackToTopMessageStream) {\n      this.#_skyBackToTopMessageStream.unsubscribe();\n    }\n    this.#_skyBackToTopMessageStream = value;\n    this.#_skyBackToTopMessageStream\n      ?.pipe(takeUntil(this.#ngUnsubscribe))\n      .subscribe((message: SkyBackToTopMessage) =>\n        this.#handleIncomingMessages(message),\n      );\n  }\n\n  #buttonHidden = false;\n  #dockItem: SkyDockItem<SkyBackToTopComponent> | undefined;\n  #dockService: SkyDockService;\n  #domAdapter: SkyBackToTopDomAdapterService;\n  #elementInView = false;\n  #elementRef: ElementRef;\n\n  #ngUnsubscribe = new Subject<void>();\n  #_skyBackToTopMessageStream: Subject<SkyBackToTopMessage> | undefined;\n\n  constructor(\n    dockService: SkyDockService,\n    domAdapter: SkyBackToTopDomAdapterService,\n    elementRef: ElementRef,\n  ) {\n    this.#dockService = dockService;\n    this.#domAdapter = domAdapter;\n    this.#elementRef = elementRef;\n  }\n\n  public ngAfterViewInit(): void {\n    this.#elementInView = this.#domAdapter.isElementScrolledInView(\n      this.#elementRef,\n    );\n\n    this.#handleBackToTopButton(this.#elementInView);\n    this.#setBackToTopListeners();\n  }\n\n  public ngOnDestroy(): void {\n    if (this.#dockItem) {\n      this.#dockItem.destroy();\n    }\n  }\n\n  #handleBackToTopButton(elementInView: boolean): void {\n    // Add back to top button if user scrolls down and button is not hidden.\n    if (\n      !this.#dockItem &&\n      elementInView !== undefined &&\n      !elementInView &&\n      !this.#buttonHidden\n    ) {\n      this.#addBackToTop();\n    }\n    // Remove back to top button if user scrolls back up.\n    if (elementInView || this.#buttonHidden) {\n      this.#destroyBackToTop();\n    }\n  }\n\n  #addBackToTop(): void {\n    this.#dockItem = this.#dockService.insertComponent(SkyBackToTopComponent);\n\n    // Listen for clicks on the \"back to top\" button so we know when to scroll up.\n    this.#dockItem.componentInstance.scrollToTopClick\n      .pipe(takeUntil(this.#ngUnsubscribe))\n      .subscribe(() => {\n        this.#domAdapter.scrollToElement(this.#elementRef);\n      });\n  }\n\n  #handleIncomingMessages(message: SkyBackToTopMessage): void {\n    /* istanbul ignore else */\n    if (message.type === SkyBackToTopMessageType.BackToTop) {\n      this.#domAdapter.scrollToElement(this.#elementRef);\n    }\n  }\n\n  #setBackToTopListeners(): void {\n    /* istanbul ignore else */\n    if (this.#elementRef) {\n      this.#domAdapter\n        .elementInViewOnScroll(this.#elementRef)\n        .pipe(takeUntil(this.#ngUnsubscribe))\n        .subscribe((elementInView: boolean) => {\n          this.#elementInView = elementInView;\n\n          this.#handleBackToTopButton(elementInView);\n        });\n    }\n  }\n\n  #destroyBackToTop(): void {\n    /* istanbul ignore else */\n    if (this.#dockItem) {\n      this.#dockItem.destroy();\n      this.#dockItem = undefined;\n    }\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyBackToTopComponent } from './back-to-top.component';\nimport { SkyBackToTopDirective } from './back-to-top.directive';\n\n@NgModule({\n  declarations: [SkyBackToTopComponent, SkyBackToTopDirective],\n  imports: [SkyLayoutResourcesModule, SkyThemeModule],\n  exports: [SkyBackToTopComponent, SkyBackToTopDirective],\n})\nexport class SkyBackToTopModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies the body content to display inside the box and provides padding around that content.\n */\n@Component({\n  selector: 'sky-box-content',\n  templateUrl: './box-content.component.html',\n  standalone: false,\n})\nexport class SkyBoxContentComponent {}\n","<div class=\"sky-box-content\">\n  <ng-content />\n</div>\n","import { InjectionToken } from '@angular/core';\n\nexport const SKY_BOX_HEADER_ID = new InjectionToken<string>(\n  'SKY_BOX_HEADER_ID',\n);\n","import { Component, inject } from '@angular/core';\nimport { SkyContentInfoProvider } from '@skyux/core';\n\nimport { SKY_BOX_HEADER_ID } from './box-header-id-token';\n\n/**\n * Specifies the controls to display in upper right corner of the box. These buttons typically let users edit the box content.\n */\n@Component({\n  selector: 'sky-box-controls',\n  templateUrl: './box-controls.component.html',\n  providers: [SkyContentInfoProvider],\n  standalone: false,\n})\nexport class SkyBoxControlsComponent {\n  public boxHasHeader(value: boolean): void {\n    if (value) {\n      this.#contentInfoProvider.patchInfo({\n        descriptor: { type: 'elementId', value: this.#boxHeaderId },\n      });\n    } else {\n      this.#contentInfoProvider.patchInfo({ descriptor: undefined });\n    }\n  }\n\n  readonly #contentInfoProvider = inject(SkyContentInfoProvider);\n  readonly #boxHeaderId = inject(SKY_BOX_HEADER_ID);\n}\n","<div class=\"sky-box-controls\">\n  <ng-content />\n</div>\n","import { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\n\nimport { SKY_BOX_HEADER_ID } from './box-header-id-token';\n\n/**\n * Specifies a header for the box.\n * @deprecated Use `headingText` input on the `sky-box` component instead.\n */\n@Component({\n  selector: 'sky-box-header',\n  templateUrl: './box-header.component.html',\n  styleUrls: ['./box-header.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  standalone: false,\n})\nexport class SkyBoxHeaderComponent {\n  protected readonly boxHeaderId = inject(SKY_BOX_HEADER_ID);\n\n  constructor() {\n    inject(SkyLogService).deprecated('SkyBoxHeaderComponent', {\n      deprecationMajorVersion: 10,\n      replacementRecommendation:\n        'To add a header to box, use the `headingText` input on the box component instead.',\n    });\n  }\n}\n","<div class=\"sky-box-header\">\n  <span skyTrim [id]=\"boxHeaderId\"><ng-content /></span\n  ><span class=\"sky-control-help-container\"\n    ><ng-content select=\".sky-control-help\"></ng-content\n  ></span>\n</div>\n","import {\n  Component,\n  ContentChild,\n  ElementRef,\n  Input,\n  TemplateRef,\n  ViewEncapsulation,\n  booleanAttribute,\n  inject,\n  numberAttribute,\n} from '@angular/core';\nimport { SkyIdService } from '@skyux/core';\n\nimport { SkyBoxControlsComponent } from './box-controls.component';\nimport { SKY_BOX_HEADER_ID } from './box-header-id-token';\nimport { SkyBoxHeaderComponent } from './box-header.component';\nimport { SkyBoxHeadingLevel } from './box-heading-level';\nimport { SkyBoxHeadingStyle } from './box-heading-style';\n\nfunction numberAttribute2(value: unknown): number {\n  return numberAttribute(value, 2);\n}\n\n/**\n * Provides a common look-and-feel for box content with options to display a common box header, specify body content, and display common box controls.\n */\n@Component({\n  selector: 'sky-box',\n  templateUrl: './box.component.html',\n  styleUrls: ['./box.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  providers: [\n    {\n      provide: SKY_BOX_HEADER_ID,\n      useFactory(): string {\n        const idService = inject(SkyIdService);\n        return idService.generateId();\n      },\n    },\n  ],\n  standalone: false,\n})\nexport class SkyBoxComponent {\n  /**\n   * The text to display as the box's heading.\n   */\n  @Input()\n  public set headingText(value: string | undefined) {\n    this.#_headingText = value;\n\n    if (this.#boxControls) {\n      this.#boxControls.boxHasHeader(!!value);\n    }\n  }\n\n  public get headingText(): string | undefined {\n    return this.#_headingText;\n  }\n\n  /**\n   * Indicates whether to hide the `headingText`.\n   */\n  @Input({ transform: booleanAttribute })\n  public headingHidden = false;\n\n  /**\n   * The semantic heading level in the document structure. The default is 2.\n   * @default 2\n   */\n  @Input({ transform: numberAttribute2 })\n  public headingLevel: SkyBoxHeadingLevel = 2;\n\n  /**\n   * The heading [font style](https://developer.blackbaud.com/skyux/design/styles/typography#headings).\n   * @default 2\n   */\n  @Input({ transform: numberAttribute2 })\n  public set headingStyle(value: SkyBoxHeadingStyle) {\n    this.headingClass = `sky-font-heading-${value}`;\n  }\n\n  /**\n   * The content of the help popover. When specified along with `headingText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n   * button is added to the box heading. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n   * when clicked using the specified content and optional title. This property only applies when `headingText` is also specified.\n   */\n  @Input()\n  public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n  /**\n   * The title of the help popover. This property only applies when `helpPopoverContent` is\n   * also specified.\n   */\n  @Input()\n  public helpPopoverTitle: string | undefined;\n\n  /**\n   * A help key that identifies the global help content to display. When specified along with `headingText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n   * button is placed beside the box heading. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help)\n   * as configured by the application. This property only applies when `headingText` is also specified.\n   */\n  @Input()\n  public helpKey: string | undefined;\n\n  /**\n   * The ARIA label for the box. This sets the box's `aria-label` attribute to provide a text equivalent for screen readers\n   * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n   * If the box includes a visible label, use `ariaLabelledBy` instead.\n   * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n   * @deprecated Use `headingText` instead.\n   */\n  @Input()\n  public ariaLabel: string | undefined;\n\n  /**\n   * The HTML element ID of the element that labels\n   * the box. This sets the box's `aria-labelledby` attribute to provide a text equivalent for screen readers\n   * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n   * If the box does not include a visible label, use `ariaLabel` instead.\n   * For more information about the `aria-labelledby` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-labelledby).\n   * @deprecated Use `headingText` instead.\n   */\n  @Input()\n  public ariaLabelledBy: string | undefined;\n\n  /**\n   * The ARIA role for the box\n   * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)\n   * by indicating what the box contains. For information about\n   * how an ARIA role indicates what an item represents on a web page,\n   * see the [WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/#roles).\n   */\n  @Input()\n  public ariaRole: string | undefined;\n\n  @ContentChild(SkyBoxHeaderComponent, { read: ElementRef })\n  public set boxHeaderRef(value: ElementRef | undefined) {\n    this.#boxHeaderRef = value;\n    if (this.#boxControls) {\n      this.#boxControls.boxHasHeader(!!value);\n    }\n  }\n\n  @ContentChild(SkyBoxControlsComponent)\n  public set boxControls(value: SkyBoxControlsComponent | undefined) {\n    this.#boxControls = value;\n\n    if (value) {\n      value.boxHasHeader(!!this.headingText || !!this.#boxHeaderRef);\n    }\n  }\n\n  public headerId = inject(SKY_BOX_HEADER_ID);\n\n  protected headingClass = 'sky-font-heading-2';\n\n  #_headingText: string | undefined;\n\n  #boxControls: SkyBoxControlsComponent | undefined;\n  #boxHeaderRef: ElementRef | undefined;\n}\n","<section\n  class=\"sky-box\"\n  [attr.aria-label]=\"headingText || ariaLabel\"\n  [attr.aria-labelledby]=\"headingText ? headerId : ariaLabelledBy\"\n  [attr.role]=\"ariaRole\"\n  [skyThemeClass]=\"{\n    'sky-shadow sky-border-dark': 'default',\n    'sky-elevation-1-bordered': 'modern'\n  }\"\n>\n  <div class=\"sky-box-header-content\">\n    @if (headingText) {\n      <div class=\"sky-box-header-right\">\n        @switch (headingLevel) {\n          @case (3) {\n            <!-- display: inline -->\n            <h3\n              [id]=\"headerId\"\n              [class]=\"headingClass\"\n              [class.sky-screen-reader-only]=\"headingHidden\"\n              >{{ headingText }}</h3\n            >\n          }\n          @case (4) {\n            <!-- display: inline -->\n            <h4\n              [id]=\"headerId\"\n              [class]=\"headingClass\"\n              [class.sky-screen-reader-only]=\"headingHidden\"\n              >{{ headingText }}</h4\n            >\n          }\n          @case (5) {\n            <!-- display: inline -->\n            <h5\n              [id]=\"headerId\"\n              [class]=\"headingClass\"\n              [class.sky-screen-reader-only]=\"headingHidden\"\n              >{{ headingText }}</h5\n            >\n          }\n          @default {\n            <!-- display: inline -->\n            <h2\n              [id]=\"headerId\"\n              [class]=\"headingClass\"\n              [class.sky-screen-reader-only]=\"headingHidden\"\n              >{{ headingText }}</h2\n            >\n          }\n        }\n        @if ((helpPopoverContent || helpKey) && !headingHidden) {\n          <span class=\"sky-control-help-container\">\n            <sky-help-inline\n              [helpKey]=\"helpKey\"\n              [labelText]=\"headingText\"\n              [popoverTitle]=\"helpPopoverTitle\"\n              [popoverContent]=\"helpPopoverContent\"\n            />\n          </span>\n        }\n      </div>\n    } @else {\n      <ng-content select=\"sky-box-header\" />\n    }\n    <ng-content select=\"sky-box-controls\" />\n  </div>\n  <ng-content />\n</section>\n","import { NgModule } from '@angular/core';\nimport { SkyTrimModule } from '@skyux/core';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyBoxContentComponent } from './box-content.component';\nimport { SkyBoxControlsComponent } from './box-controls.component';\nimport { SkyBoxHeaderComponent } from './box-header.component';\nimport { SkyBoxComponent } from './box.component';\n\n@NgModule({\n  declarations: [\n    SkyBoxComponent,\n    SkyBoxHeaderComponent,\n    SkyBoxContentComponent,\n    SkyBoxControlsComponent,\n  ],\n  imports: [SkyHelpInlineModule, SkyThemeModule, SkyTrimModule],\n  exports: [\n    SkyBoxComponent,\n    SkyBoxHeaderComponent,\n    SkyBoxContentComponent,\n    SkyBoxControlsComponent,\n  ],\n})\nexport class SkyBoxModule {}\n","import { Injectable, Renderer2, RendererFactory2 } from '@angular/core';\nimport { SkyCoreAdapterService } from '@skyux/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyInlineDeleteAdapterService {\n  #element: HTMLElement | undefined;\n  #focusableElements: HTMLElement[] | undefined;\n  #parentEl: HTMLElement | null | undefined;\n  #parentElClearListenerFn: (() => void) | undefined;\n  #renderer: Renderer2;\n\n  #coreAdapterService: SkyCoreAdapterService;\n\n  constructor(\n    coreAdapterService: SkyCoreAdapterService,\n    rendererFactory: RendererFactory2,\n  ) {\n    this.#coreAdapterService = coreAdapterService;\n    this.#renderer = rendererFactory.createRenderer(undefined, null);\n  }\n\n  public clearListeners(): void {\n    /* istanbul ignore else */\n    if (this.#parentElClearListenerFn) {\n      this.#parentElClearListenerFn();\n    }\n  }\n\n  public setEl(element: HTMLElement): void {\n    this.#element = element;\n    this.#parentEl = element.parentElement;\n\n    /* istanbul ignore else */\n    if (this.#parentEl) {\n      this.#parentElClearListenerFn = this.#renderer.listen(\n        this.#parentEl,\n        'focusin',\n        (event: FocusEvent) => {\n          if (this.#element) {\n            const target: any = event.target;\n            if (!this.#element.contains(target) && this.#parentEl !== target) {\n              event.preventDefault();\n              event.stopPropagation();\n              event.stopImmediatePropagation();\n\n              target.blur();\n              this.#focusNextElement(target, this.#isShift(event));\n            }\n          }\n        },\n      );\n    }\n  }\n\n  #focusNextElement(targetElement: HTMLElement, shiftKey: boolean): void {\n    const focusable = this.#getFocusableElements();\n\n    // If shift tab, go in the other direction\n    const modifier = shiftKey ? -1 : 1;\n\n    // Find the next navigable element that isn't waiting\n    const startingIndex = focusable.indexOf(targetElement);\n    let curIndex = startingIndex + modifier;\n    while (\n      focusable[curIndex] &&\n      this.#isElementHiddenOrCovered(focusable[curIndex])\n    ) {\n      curIndex += modifier;\n    }\n\n    if (\n      focusable[curIndex] &&\n      !this.#isElementHiddenOrCovered(focusable[curIndex])\n    ) {\n      focusable[curIndex].focus();\n    } else {\n      // Try wrapping the navigation\n      /* istanbul ignore next */\n      curIndex = modifier > 0 ? 0 : focusable.length - 1;\n\n      /* istanbul ignore next */\n      while (\n        curIndex !== startingIndex &&\n        focusable[curIndex] &&\n        this.#isElementHiddenOrCovered(focusable[curIndex])\n      ) {\n        curIndex += modifier;\n      }\n\n      /* istanbul ignore else */\n      /* sanity check */\n      if (\n        focusable[curIndex] &&\n        !this.#isElementHiddenOrCovered(focusable[curIndex])\n      ) {\n        focusable[curIndex].focus();\n      } else {\n        // No valid target, wipe focus\n        // This should never happen in practice due to the multiple inline delete buttons\n        if (document.activeElement && (document.activeElement as any).blur) {\n          (document.activeElement as any).blur();\n        }\n        document.body.focus();\n      }\n    }\n\n    // clear focusableElements list so that if things change between tabbing we know about it\n    this.#focusableElements = undefined;\n  }\n\n  #getFocusableElements(): HTMLElement[] {\n    // Keep this cached so we can reduce queries\n    if (this.#focusableElements) {\n      return this.#focusableElements;\n    }\n\n    this.#focusableElements = this.#coreAdapterService.getFocusableChildren(\n      document.body,\n    );\n\n    return this.#focusableElements;\n  }\n\n  #isElementHiddenOrCovered(element: any): boolean {\n    // Check if the element is hidden by css, not within the inline delete, or a wait is covering it\n    return (\n      this.#isElementHidden(element) ||\n      (!!this.#parentEl &&\n        this.#parentEl.contains(element) &&\n        (!this.#element?.contains(element) ||\n          this.#parentEl.querySelector('.sky-wait-mask') !== null))\n    );\n  }\n\n  #isElementHidden(element: any): boolean {\n    const style = window.getComputedStyle(element);\n    return style.display === 'none' || style.visibility === 'hidden';\n  }\n\n  #isShift(event: Event): boolean {\n    // Determine if shift+tab was used based on element order\n    const elements = this.#getFocusableElements().filter(\n      (elem) => !this.#isElementHidden(elem),\n    );\n\n    const previousInd = elements.indexOf((event as any).relatedTarget);\n    const currentInd = elements.indexOf(event.target as HTMLElement);\n\n    /* istanbul ignore next */\n    return (\n      previousInd === currentInd + 1 ||\n      (previousInd === 0 && currentInd === elements.length - 1) ||\n      previousInd > currentInd ||\n      !(event as any).relatedTarget\n    );\n  }\n}\n","/**\n * The type of inline delete that is shown.\n * @internal\n */\nexport enum SkyInlineDeleteType {\n  /**\n   * The standard styling for inline deletes.\n   */\n  Standard = 'standard',\n  /**\n   * The styling for inline delete components which are used in card components.\n   */\n  Card = 'card',\n}\n","import {\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  Output,\n  ViewChild,\n  signal,\n} from '@angular/core';\nimport { SkyCoreAdapterService } from '@skyux/core';\n\nimport { SkyInlineDeleteAdapterService } from './inline-delete-adapter.service';\nimport { SkyInlineDeleteType } from './inline-delete-type';\n\n/**\n * Auto-incrementing integer used to generate unique ids for inline delete components.\n */\nlet nextId = 0;\n\n@Component({\n  selector: 'sky-inline-delete',\n  styleUrls: ['./inline-delete.component.scss'],\n  templateUrl: './inline-delete.component.html',\n  providers: [SkyCoreAdapterService, SkyInlineDeleteAdapterService],\n  standalone: false,\n})\nexport class SkyInlineDeleteComponent implements OnDestroy {\n  /**\n   * Whether the deletion is pending.\n   * @default false\n   */\n  @Input()\n  public pending: boolean | undefined = false;\n\n  /**\n   * Fires when users click the cancel button.\n   */\n  @Output()\n  public cancelTriggered = new EventEmitter<void>();\n\n  /**\n   * Fires when users click the delete button.\n   */\n  @Output()\n  public deleteTriggered = new EventEmitter<void>();\n\n  public assistiveTextId = `sky-inline-delete-assistive-text-${++nextId}`;\n\n  public type: SkyInlineDeleteType = SkyInlineDeleteType.Standard;\n\n  @ViewChild('delete', {\n    read: ElementRef,\n    static: false,\n  })\n  public deleteButton: ElementRef | undefined;\n\n  protected readonly enterAnimationTrigger = signal(true);\n\n  #adapterService: SkyInlineDeleteAdapterService;\n  #changeDetector: ChangeDetectorRef;\n  #elRef: ElementRef;\n  #initialized = false;\n\n  constructor(\n    adapterService: SkyInlineDeleteAdapterService,\n    changeDetector: ChangeDetectorRef,\n    elRef: ElementRef,\n  ) {\n    this.#adapterService = adapterService;\n    this.#changeDetector = changeDetector;\n    this.#elRef = elRef;\n  }\n\n  protected onAnimationEnd(): void {\n    if (!this.#initialized) {\n      this.#initialized = true;\n      this.#adapterService.setEl(this.#elRef.nativeElement);\n\n      // Defer focus so it runs after the animationend event handler completes.\n      setTimeout(() => {\n        this.deleteButton?.nativeElement.focus();\n      });\n    }\n  }\n\n  public ngOnDestroy(): void {\n    this.#adapterService.clearListeners();\n    this.cancelTriggered.complete();\n    this.deleteTriggered.complete();\n  }\n\n  /**\n   * @internal\n   */\n  public onCancelClick(): void {\n    this.cancelTriggered.emit();\n  }\n\n  /**\n   * @internal\n   */\n  public onDeleteClick(): void {\n    this.deleteTriggered.emit();\n  }\n\n  /**\n   * Sets the inline delete to one of its predefined types.\n   * @param type The inline delete type\n   * @internal\n   */\n  public setType(type: SkyInlineDeleteType): void {\n    this.type = type;\n    this.#changeDetector.detectChanges();\n  }\n}\n","<div\n  class=\"sky-inline-delete sky-inline-delete-{{ type }}\"\n  role=\"alertdialog\"\n  skyAnimationEndHandler\n  emitOnAnimateEnter\n  animate.enter=\"sky-inline-delete-entering\"\n  animate.leave=\"sky-inline-delete-leaving\"\n  [animationTrigger]=\"enterAnimationTrigger()\"\n  [attr.aria-describedby]=\"assistiveTextId\"\n  [attr.aria-label]=\"'skyux_inline_delete_confirm_deletion' | skyLibResources\"\n  (animationEnd)=\"onAnimationEnd()\"\n>\n  <span\n    class=\"sky-inline-delete-assistive-text sky-screen-reader-only\"\n    [id]=\"assistiveTextId\"\n  >\n    {{ 'skyux_inline_delete_assistive_text' | skyLibResources }}\n  </span>\n  <sky-wait class=\"sky-inline-delete-wait\" [isWaiting]=\"pending\" />\n  <div class=\"sky-inline-delete-content\">\n    <div class=\"sky-inline-delete-content-animation-container\">\n      <button\n        #delete\n        class=\"sky-btn sky-btn-danger sky-inline-delete-button\"\n        type=\"button\"\n        (click)=\"onDeleteClick()\"\n      >\n        {{ 'skyux_inline_delete_delete' | skyLibResources }}\n      </button>\n      <button\n        class=\"sky-btn sky-btn-default\"\n        type=\"button\"\n        (click)=\"onCancelClick()\"\n      >\n        {{ 'skyux_inline_delete_cancel' | skyLibResources }}\n      </button>\n    </div>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { _SkyAnimationEndHandlerDirective } from '@skyux/core';\nimport { SkyWaitModule } from '@skyux/indicators';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyInlineDeleteComponent } from './inline-delete.component';\n\n@NgModule({\n  declarations: [SkyInlineDeleteComponent],\n  imports: [\n    _SkyAnimationEndHandlerDirective,\n    SkyLayoutResourcesModule,\n    SkyWaitModule,\n  ],\n  exports: [SkyInlineDeleteComponent],\n})\nexport class SkyInlineDeleteModule {}\n","import { Component } from '@angular/core';\nimport { SkyThemeComponentClassDirective } from '@skyux/theme';\n\n/**\n * Specifies an action that users can perform on the card.\n * @deprecated\n */\n@Component({\n  selector: 'sky-card-actions',\n  templateUrl: './card-actions.component.html',\n  styleUrls: ['./card-actions.component.scss'],\n  standalone: false,\n  hostDirectives: [SkyThemeComponentClassDirective],\n})\nexport class SkyCardActionsComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n/**\n * Specifies the content to display in the body of the card.\n * @deprecated\n */\n@Component({\n  selector: 'sky-card-content',\n  templateUrl: './card-content.component.html',\n  standalone: false,\n})\nexport class SkyCardContentComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a title to identify what the card represents.\n * @deprecated\n */\n@Component({\n  selector: 'sky-card-title',\n  templateUrl: './card-title.component.html',\n  standalone: false,\n})\nexport class SkyCardTitleComponent {}\n","<ng-content />\n","import {\n  AfterContentInit,\n  Component,\n  ContentChildren,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  Output,\n  QueryList,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\n\nimport { Subscription } from 'rxjs';\n\nimport { SkyInlineDeleteType } from '../inline-delete/inline-delete-type';\nimport { SkyInlineDeleteComponent } from '../inline-delete/inline-delete.component';\n\nimport { SkyCardTitleComponent } from './card-title.component';\n\n/**\n * Creates a a small container to highlight important information.\n * @deprecated `SkyCardComponent` is deprecated. For other SKY UX components that group and list content, see the content containers guidelines. For more information, see https://developer.blackbaud.com/skyux/design/guidelines/content-containers.\n */\n@Component({\n  selector: 'sky-card',\n  styleUrls: ['./card.component.scss'],\n  templateUrl: './card.component.html',\n  standalone: false,\n})\nexport class SkyCardComponent implements AfterContentInit, OnDestroy {\n  /**\n   * The size of the card. The valid options are `\"large\"` and `\"small\"`.\n   * @default \"large\"\n   */\n  @Input()\n  public set size(value: string | undefined) {\n    this.#_size = value ?? 'large';\n  }\n\n  public get size(): string {\n    return this.#_size;\n  }\n\n  /**\n   * Whether to display a checkbox to the right of the card title.\n   * Users can select multiple checkboxes and perform actions on the selected cards.\n   * @default false\n   */\n  @Input()\n  public selectable: boolean | undefined = false;\n\n  /**\n   * Whether the card is selected. This only applies to card where\n   * `selectable` is set to `true`.\n   * @default false\n   */\n  @Input()\n  public selected: boolean | undefined = false;\n\n  /**\n   * Fires when users select or deselect the card.\n   */\n  @Output()\n  public selectedChange = new EventEmitter<boolean>();\n\n  @ContentChildren(SkyInlineDeleteComponent)\n  public inlineDeleteComponent: QueryList<SkyInlineDeleteComponent> | undefined;\n\n  @ContentChildren(SkyCardTitleComponent)\n  public titleComponent: QueryList<SkyCardTitleComponent> | undefined;\n\n  public showTitle = true;\n\n  #subscription: Subscription | undefined;\n  #_size = 'large';\n\n  constructor(logger: SkyLogService) {\n    logger.deprecated('SkyCardComponent', {\n      deprecationMajorVersion: 6,\n      moreInfoUrl:\n        'https://developer.blackbaud.com/skyux/design/guidelines/content-containers',\n      replacementRecommendation:\n        'For other SKY UX components that group and list content, see the content containers guidelines.',\n    });\n  }\n\n  public ngAfterContentInit(): void {\n    this.showTitle = !!this.titleComponent && this.titleComponent.length > 0;\n\n    this.#subscription = this.titleComponent?.changes.subscribe(() => {\n      this.showTitle = !!this.titleComponent && this.titleComponent.length > 0;\n    });\n\n    this.inlineDeleteComponent?.forEach((item) => {\n      item.setType(SkyInlineDeleteType.Card);\n    });\n\n    this.inlineDeleteComponent?.changes.subscribe(() => {\n      this.inlineDeleteComponent?.forEach((item) => {\n        item.setType(SkyInlineDeleteType.Card);\n      });\n    });\n  }\n\n  public contentClick(): void {\n    if (this.selectable) {\n      this.selected = !this.selected;\n      this.selectedChange.emit(this.selected);\n    }\n  }\n\n  public onCheckboxChange(newValue: boolean): void {\n    if (this.selectable && this.selected !== newValue) {\n      this.selected = newValue;\n      this.selectedChange.emit(this.selected);\n    }\n  }\n\n  public ngOnDestroy(): void {\n    /* istanbul ignore else */\n    /* sanity check */\n    if (this.#subscription) {\n      this.#subscription.unsubscribe();\n    }\n  }\n}\n","<section\n  class=\"sky-card sky-shadow\"\n  [ngClass]=\"\n  {\n    'sky-card-small': size === 'small',\n    'sky-card-selectable': selectable,\n    'sky-card-selected': selectable &amp;&amp; selected\n  }\"\n>\n  <ng-content select=\"sky-inline-delete\" />\n  <header>\n    @if (selectable || showTitle) {\n      <div class=\"sky-card-header\" (click)=\"contentClick()\">\n        <div class=\"sky-card-heading-middle\">\n          @if (showTitle) {\n            <h1\n              class=\"sky-card-title sky-theme-font-heading-2 sky-font-heading-2\"\n            >\n              <ng-content select=\"sky-card-title\" />\n            </h1>\n          }\n        </div>\n        @if (selectable) {\n          <div class=\"sky-card-check\">\n            <sky-checkbox\n              [label]=\"'skyux_card_checkbox_label' | skyLibResources\"\n              [ngModel]=\"selected\"\n              (click)=\"$event.stopPropagation()\"\n              (ngModelChange)=\"onCheckboxChange($event)\"\n            />\n          </div>\n        }\n      </div>\n    }\n  </header>\n  <div\n    class=\"sky-card-content sky-theme-padding-inset-balanced-s\"\n    (click)=\"contentClick()\"\n  >\n    <ng-content select=\"sky-card-content\" />\n  </div>\n  <div\n    #actionsEl\n    class=\"sky-card-actions\"\n    [hidden]=\"actionsEl.children.length === 0\"\n  >\n    <ng-content select=\"sky-card-actions\" />\n  </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyCheckboxModule } from '@skyux/forms';\n\nimport { SkyInlineDeleteModule } from '../inline-delete/inline-delete.module';\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyCardActionsComponent } from './card-actions.component';\nimport { SkyCardContentComponent } from './card-content.component';\nimport { SkyCardTitleComponent } from './card-title.component';\nimport { SkyCardComponent } from './card.component';\n\n/**\n * @deprecated `SkyCardModule` is deprecated. For other SKY UX components that group and list content, see the content containers guidelines. For more information, see https://developer.blackbaud.com/skyux/design/guidelines/content-containers.\n */\n@NgModule({\n  declarations: [\n    SkyCardActionsComponent,\n    SkyCardComponent,\n    SkyCardContentComponent,\n    SkyCardTitleComponent,\n  ],\n  imports: [\n    CommonModule,\n    FormsModule,\n    SkyCheckboxModule,\n    SkyLayoutResourcesModule,\n    SkyInlineDeleteModule,\n  ],\n  exports: [\n    SkyCardActionsComponent,\n    SkyCardComponent,\n    SkyCardContentComponent,\n    SkyCardTitleComponent,\n  ],\n})\nexport class SkyCardModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Wraps the label-value pairs in the definition list.\n * @deprecated Use `SkyDescriptionListContentComponent` instead.\n */\n@Component({\n  selector: 'sky-definition-list-content',\n  templateUrl: './definition-list-content.component.html',\n  styleUrls: ['./definition-list-content.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SkyDefinitionListContentComponent {}\n","<div class=\"sky-definition-list-content\">\n  <ng-content />\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Specifies a title for the definition list.\n * @deprecated\n */\n@Component({\n  selector: 'sky-definition-list-heading',\n  templateUrl: './definition-list-heading.component.html',\n  styleUrls: ['./definition-list-heading.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SkyDefinitionListHeadingComponent {}\n","<div class=\"sky-theme-font-heading-3 sky-definition-list-heading\">\n  <ng-content />\n</div>\n","import { Injectable } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDefinitionListService {\n  public labelWidth = new BehaviorSubject<string | undefined>('');\n\n  public defaultValue = new BehaviorSubject<string | undefined>('');\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { SkyDefinitionListService } from './definition-list.service';\n\n/**\n * Specifies the label in a label-value pair.\n * @deprecated Use `SkyDescriptionListTermComponent` instead.\n */\n@Component({\n  selector: 'sky-definition-list-label',\n  templateUrl: './definition-list-label.component.html',\n  styleUrls: ['./definition-list-label.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SkyDefinitionListLabelComponent {\n  public labelWidth: number | undefined;\n\n  constructor(public service: SkyDefinitionListService) {}\n}\n","<div\n  class=\"sky-field-label sky-definition-list-label\"\n  [ngStyle]=\"{\n    width: (service.labelWidth | async) || ''\n  }\"\n>\n  <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\nimport { SkyDefinitionListService } from './definition-list.service';\n\n/**\n * Specifies the value in a label-value pair.\n * @deprecated Use `SkyDescriptionListDescriptionComponent` instead.\n */\n@Component({\n  selector: 'sky-definition-list-value',\n  templateUrl: './definition-list-value.component.html',\n  styleUrls: ['./definition-list-value.component.scss'],\n  standalone: false,\n})\nexport class SkyDefinitionListValueComponent {\n  public defaultValue: string | undefined;\n\n  constructor(public service: SkyDefinitionListService) {}\n}\n","<div class=\"sky-definition-list-value\">\n  <span #valueEl>\n    <ng-content />\n  </span>\n  @if (!valueEl.textContent?.trim()) {\n    <span class=\"sky-deemphasized\">\n      {{\n        (service.defaultValue | async) ||\n          ('skyux_definition_list_none_found' | skyLibResources)\n      }}\n    </span>\n  }\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\n\nimport { SkyDefinitionListService } from './definition-list.service';\n\n/**\n * Creates a definition list to display label-value pairs.\n * @deprecated Use `SkyDescriptionListComponent` instead.\n */\n@Component({\n  selector: 'sky-definition-list',\n  templateUrl: './definition-list.component.html',\n  styleUrls: ['./definition-list.component.scss'],\n  providers: [SkyDefinitionListService],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SkyDefinitionListComponent {\n  /**\n   * The width of the label portion of the definition list.\n   * @default \"90px\"\n   */\n  @Input()\n  public set labelWidth(value: string | undefined) {\n    this.service.labelWidth.next(value);\n  }\n\n  /**\n   * The default value to display when no value is provided\n   * for a label-value pair.\n   * @default \"None found\"\n   */\n  @Input()\n  public set defaultValue(value: string | undefined) {\n    this.service.defaultValue.next(value);\n  }\n\n  constructor(\n    public service: SkyDefinitionListService,\n    logger: SkyLogService,\n  ) {\n    logger.deprecated('SkyDefinitionListComponent', {\n      deprecationMajorVersion: 6,\n      moreInfoUrl:\n        'https://developer.blackbaud.com/skyux/components/description-list',\n      replacementRecommendation: 'Use `SkyDescriptionListComponent` instead.',\n    });\n  }\n}\n","<div class=\"sky-definition-list\">\n  <ng-content select=\"sky-definition-list-heading\" />\n  <ng-content select=\"sky-definition-list-content\" />\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyDefinitionListContentComponent } from './definition-list-content.component';\nimport { SkyDefinitionListHeadingComponent } from './definition-list-heading.component';\nimport { SkyDefinitionListLabelComponent } from './definition-list-label.component';\nimport { SkyDefinitionListValueComponent } from './definition-list-value.component';\nimport { SkyDefinitionListComponent } from './definition-list.component';\n\n/**\n * @deprecated Use `SkyDescriptionListModule` instead.\n */\n@NgModule({\n  declarations: [\n    SkyDefinitionListComponent,\n    SkyDefinitionListContentComponent,\n    SkyDefinitionListHeadingComponent,\n    SkyDefinitionListLabelComponent,\n    SkyDefinitionListValueComponent,\n  ],\n  imports: [CommonModule, SkyLayoutResourcesModule],\n  exports: [\n    SkyDefinitionListComponent,\n    SkyDefinitionListContentComponent,\n    SkyDefinitionListHeadingComponent,\n    SkyDefinitionListLabelComponent,\n    SkyDefinitionListValueComponent,\n  ],\n})\nexport class SkyDefinitionListModule {}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDescriptionListService implements OnDestroy {\n  public get defaultDescription(): Observable<string> {\n    return this.#_defaultDescription.asObservable();\n  }\n\n  #_defaultDescription = new BehaviorSubject<string>('');\n\n  public ngOnDestroy(): void {\n    this.#_defaultDescription.complete();\n  }\n\n  public updateDefaultDescription(value: string): void {\n    this.#_defaultDescription.next(value);\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  OnDestroy,\n  OnInit,\n  Optional,\n  TemplateRef,\n  ViewChild,\n} from '@angular/core';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyDescriptionListService } from './description-list.service';\n\n/**\n * Specifies the description in a term-description pair.\n */\n@Component({\n  selector: 'sky-description-list-description',\n  templateUrl: './description-list-description.component.html',\n  styleUrls: ['./description-list-description.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SkyDescriptionListDescriptionComponent\n  implements OnDestroy, OnInit\n{\n  public defaultDescription: string | undefined;\n\n  public themeName: string | undefined;\n\n  @ViewChild('descriptionTemplateRef', {\n    read: TemplateRef,\n    static: true,\n  })\n  public templateRef!: TemplateRef<unknown> | undefined;\n\n  #changeDetector: ChangeDetectorRef;\n  #ngUnsubscribe = new Subject<void>();\n  #themeSvc: SkyThemeService | undefined;\n\n  constructor(\n    public service: SkyDescriptionListService,\n    changeDetector: ChangeDetectorRef,\n    @Optional() themeSvc?: SkyThemeService,\n  ) {\n    this.#changeDetector = changeDetector;\n    this.#themeSvc = themeSvc;\n  }\n\n  public ngOnInit(): void {\n    /* istanbul ignore else */\n    if (this.#themeSvc) {\n      this.#themeSvc.settingsChange\n        .pipe(takeUntil(this.#ngUnsubscribe))\n        .subscribe((themeSettings) => {\n          this.themeName = themeSettings.currentSettings.theme.name;\n          this.#changeDetector.markForCheck();\n        });\n    }\n  }\n\n  public ngOnDestroy(): void {\n    this.#ngUnsubscribe.next();\n    this.#ngUnsubscribe.complete();\n  }\n}\n","<ng-template #descriptionTemplateRef>\n  <span skyTrim class=\"sky-description-list-description\"\n    ><ng-content></ng-content\n  ></span>\n  <span\n    class=\"sky-description-list-default-value\"\n    data-sky-id=\"sky-description-list-default-value\"\n    [skyThemeClass]=\"{\n      'sky-font-deemphasized': 'modern',\n      'sky-deemphasized': 'default'\n    }\"\n  >\n    {{\n      (service.defaultDescription | async) ||\n        ('skyux_description_list_none_found' | skyLibResources)\n    }}\n  </span>\n</ng-template>\n","import { Component, TemplateRef, ViewChild, inject } from '@angular/core';\n\nimport { SkyDescriptionListContentComponent } from './description-list-content.component';\n\n/**\n * Specifies the term in a term-description pair. To display a help button beside\n * the term, include a help button element in the sky-description-list-term element\n * and a sky-control-help CSS class on that element.\n */\n@Component({\n  selector: 'sky-description-list-term',\n  templateUrl: './description-list-term.component.html',\n  styleUrl: './description-list-term.component.scss',\n  standalone: false,\n})\nexport class SkyDescriptionListTermComponent {\n  @ViewChild('termTemplateRef', {\n    read: TemplateRef,\n    static: true,\n  })\n  public templateRef: TemplateRef<unknown> | undefined;\n\n  protected readonly content = inject(SkyDescriptionListContentComponent, {\n    optional: true,\n  });\n}\n","<ng-template #termTemplateRef\n  ><span #term=\"skyId\" skyTrim skyId class=\"description-list-term\"\n    ><ng-content /></span\n  ><span class=\"sky-control-help-container\">\n    @if (content?.helpPopoverContent || content?.helpKey) {\n      <sky-help-inline\n        [labelledBy]=\"term.id\"\n        [helpKey]=\"content?.helpKey\"\n        [popoverTitle]=\"content?.helpPopoverTitle\"\n        [popoverContent]=\"content?.helpPopoverContent\"\n      />\n    } @else {\n      <ng-content select=\".sky-control-help\" />\n    }</span\n></ng-template>\n","import {\n  Component,\n  ContentChildren,\n  Input,\n  QueryList,\n  TemplateRef,\n} from '@angular/core';\n\nimport { SkyDescriptionListDescriptionComponent } from './description-list-description.component';\nimport { SkyDescriptionListTermComponent } from './description-list-term.component';\n\n/**\n * Wraps the term-description pairs in the description list.\n */\n@Component({\n  selector: 'sky-description-list-content',\n  templateUrl: './description-list-content.component.html',\n  standalone: false,\n})\nexport class SkyDescriptionListContentComponent {\n  @ContentChildren(SkyDescriptionListTermComponent)\n  public termComponents: QueryList<SkyDescriptionListTermComponent> | undefined;\n\n  @ContentChildren(SkyDescriptionListDescriptionComponent)\n  public descriptionComponents:\n    | QueryList<SkyDescriptionListDescriptionComponent>\n    | undefined;\n\n  /**\n   * A help key that identifies the global help content to display. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) button is\n   * placed beside the description list content label. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help) as configured by the application.\n   */\n  @Input()\n  public helpKey: string | undefined;\n\n  /**\n   * The content of the help popover. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n   * button is added to the description list content. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n   * when clicked using the specified content and optional title.\n   */\n  @Input()\n  public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n  /**\n   * The title of the help popover. This property only applies when `helpPopoverContent` is\n   * also specified.\n   */\n  @Input()\n  public helpPopoverTitle: string | undefined;\n}\n","<ng-content />\n","import {\n  ElementRef,\n  Injectable,\n  Renderer2,\n  RendererFactory2,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDescriptionListAdapterService {\n  #renderer: Renderer2;\n\n  constructor(rendererFactory: RendererFactory2) {\n    this.#renderer = rendererFactory.createRenderer(undefined, null);\n  }\n\n  public getWidth(elementRef: ElementRef): number {\n    return elementRef.nativeElement.clientWidth;\n  }\n\n  public setResponsiveClass(element: ElementRef): void {\n    const nativeEl: any = element.nativeElement;\n    const width = this.getWidth(element);\n    const className = this.#getResponsiveClassName(width);\n\n    this.#renderer.removeClass(nativeEl, 'sky-responsive-container-xs');\n    this.#renderer.removeClass(nativeEl, 'sky-responsive-container-sm');\n    this.#renderer.removeClass(nativeEl, 'sky-responsive-container-md');\n\n    this.#renderer.addClass(nativeEl, className);\n  }\n\n  #getResponsiveClassName(width: number): string {\n    const xsBreakpointMaxPixels = 479;\n    const smBreakpointMinPixels = 480;\n    const smBreakpointMaxPixels = 767;\n\n    if (width <= xsBreakpointMaxPixels) {\n      return 'sky-responsive-container-xs';\n    } else if (\n      width >= smBreakpointMinPixels &&\n      width <= smBreakpointMaxPixels\n    ) {\n      return 'sky-responsive-container-sm';\n    } else {\n      return 'sky-responsive-container-md';\n    }\n  }\n}\n","import {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  ElementRef,\n  HostListener,\n  Input,\n  OnDestroy,\n  QueryList,\n  ViewChild,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyDescriptionListAdapterService } from './description-list-adapter-service';\nimport { SkyDescriptionListContentComponent } from './description-list-content.component';\nimport { SkyDescriptionListService } from './description-list.service';\nimport { SkyDescriptionListModeType } from './types/description-list-mode-type';\n\n/**\n * Creates a description list to display term-description pairs.\n */\n@Component({\n  selector: 'sky-description-list',\n  templateUrl: './description-list.component.html',\n  styleUrls: ['./description-list.component.scss'],\n  providers: [SkyDescriptionListAdapterService, SkyDescriptionListService],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SkyDescriptionListComponent\n  implements AfterContentInit, OnDestroy\n{\n  /**\n   * The default description to display when no description is provided\n   * for a term-description pair.\n   * @default \"None found\"\n   */\n  @Input()\n  public set defaultDescription(value: string) {\n    this.#descriptionListService.updateDefaultDescription(value);\n  }\n\n  /**\n   * The width of term-description pairs when `mode` is set to `\"horizontal\"`. By default,\n   * the width is responsive based on the width of the container element.\n   */\n  @Input()\n  public listItemWidth: string | undefined;\n\n  /**\n   * How to display term-description pairs within the description list.\n   * @default \"vertical\"\n   */\n  @Input()\n  public set mode(value: SkyDescriptionListModeType | undefined) {\n    this.#_mode = value || 'vertical';\n  }\n\n  public get mode(): SkyDescriptionListModeType {\n    return this.#_mode;\n  }\n\n  @ContentChildren(SkyDescriptionListContentComponent)\n  public contentComponents:\n    | QueryList<SkyDescriptionListContentComponent>\n    | undefined;\n\n  @ViewChild('descriptionListElement', {\n    read: ElementRef,\n    static: true,\n  })\n  public elementRef: ElementRef | undefined;\n\n  #ngUnsubscribe = new Subject<void>();\n  #_mode: SkyDescriptionListModeType = 'vertical';\n\n  #adapterService: SkyDescriptionListAdapterService;\n  #changeDetector: ChangeDetectorRef;\n  #descriptionListService: SkyDescriptionListService;\n\n  constructor(\n    adapterService: SkyDescriptionListAdapterService,\n    changeDetector: ChangeDetectorRef,\n    descriptionListService: SkyDescriptionListService,\n  ) {\n    this.#adapterService = adapterService;\n    this.#changeDetector = changeDetector;\n    this.#descriptionListService = descriptionListService;\n  }\n\n  public ngAfterContentInit(): void {\n    // Wait for all content to render before detecting parent width.\n    setTimeout(() => {\n      this.#updateResponsiveClass();\n    });\n\n    // istanbul ignore else\n    if (this.contentComponents) {\n      this.contentComponents.changes\n        .pipe(takeUntil(this.#ngUnsubscribe))\n        .subscribe(() => {\n          this.#changeDetector.markForCheck();\n        });\n    }\n  }\n\n  public ngOnDestroy(): void {\n    this.#ngUnsubscribe.next();\n    this.#ngUnsubscribe.complete();\n  }\n\n  @HostListener('window:resize')\n  public onWindowResize(): void {\n    this.#updateResponsiveClass();\n  }\n\n  #updateResponsiveClass(): void {\n    if (this.elementRef) {\n      this.#adapterService.setResponsiveClass(this.elementRef);\n      this.#changeDetector.markForCheck();\n    }\n  }\n}\n","<dl\n  #descriptionListElement\n  class=\"sky-description-list\"\n  [ngClass]=\"{\n    'sky-description-list-long-description-mode': mode === 'longDescription',\n    'sky-description-list-vertical-mode': mode === 'vertical',\n    'sky-description-list-horizontal-mode': mode === 'horizontal'\n  }\"\n>\n  <!--\n    Wrapping div is for horizontal flexing. Also injecting children's templateRef directly\n    to avoid adding non-semantic HTML tags to DOM\n  -->\n  @for (contentComponent of contentComponents; track contentComponent) {\n    <div\n      class=\"sky-description-list-content\"\n      [style.width]=\"mode === 'horizontal' ? listItemWidth : ''\"\n    >\n      @for (\n        termComponent of contentComponent?.termComponents;\n        track termComponent\n      ) {\n        <dt>\n          @if (termComponent.templateRef) {\n            <ng-container *ngTemplateOutlet=\"termComponent.templateRef\" />\n          }\n        </dt>\n      }\n      @for (\n        descriptionComponent of contentComponent?.descriptionComponents;\n        track descriptionComponent\n      ) {\n        <dd>\n          @if (descriptionComponent.templateRef) {\n            <ng-container\n              *ngTemplateOutlet=\"descriptionComponent.templateRef\"\n            />\n          }\n        </dd>\n      }\n    </div>\n  }\n</dl>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIdModule, SkyTrimModule } from '@skyux/core';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyDescriptionListContentComponent } from './description-list-content.component';\nimport { SkyDescriptionListDescriptionComponent } from './description-list-description.component';\nimport { SkyDescriptionListTermComponent } from './description-list-term.component';\nimport { SkyDescriptionListComponent } from './description-list.component';\n\n@NgModule({\n  declarations: [\n    SkyDescriptionListComponent,\n    SkyDescriptionListContentComponent,\n    SkyDescriptionListTermComponent,\n    SkyDescriptionListDescriptionComponent,\n  ],\n  imports: [\n    CommonModule,\n    SkyHelpInlineModule,\n    SkyIdModule,\n    SkyLayoutResourcesModule,\n    SkyThemeModule,\n    SkyTrimModule,\n  ],\n  exports: [\n    SkyDescriptionListComponent,\n    SkyDescriptionListContentComponent,\n    SkyDescriptionListTermComponent,\n    SkyDescriptionListDescriptionComponent,\n  ],\n})\nexport class SkyDescriptionListModule {}\n","/**\n * @deprecated Use `SkyDescriptionListModeType` instead.\n * @internal\n * How to display the term-description pairs within a description list.\n */\nexport enum SkyDescriptionListMode {\n  /**\n   * Displays term-description pairs side by side in a horizontal list.\n   * This mode provides a responsive layout.\n   */\n  horizontal = 'horizontal',\n\n  /**\n   * Displays terms and descriptions side by side with the term on the left and the description\n   * on the right. This mode includes room for long descriptions and uses a responsive layout\n   * that stacks term-description pairs vertically.\n   */\n  longDescription = 'longDescription',\n\n  /**\n   * Displays term-description pairs in a vertical list.\n   */\n  vertical = 'vertical',\n}\n","import {\n  Component,\n  HostBinding,\n  Input,\n  OnChanges,\n  OnInit,\n  SimpleChanges,\n  ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * Displays a column within a row of the fluid grid.\n */\n@Component({\n  selector: 'sky-column',\n  templateUrl: './column.component.html',\n  styleUrls: ['./column.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  standalone: false,\n})\nexport class SkyColumnComponent implements OnInit, OnChanges {\n  /**\n   * The number of columns (1-12) on extra-small screens\n   * (less than 768px). If you do not specify a value, the fluid grid displays\n   * the column at the full width of the screen.\n   * @default 12\n   */\n  @Input()\n  public set screenXSmall(value: number | undefined) {\n    this.#_screenXSmall = value ?? 12;\n  }\n\n  public get screenXSmall(): number {\n    return this.#_screenXSmall;\n  }\n\n  /**\n   * The number of columns (1-12) on small screens\n   * (768-991px). If you do not specify a value, the column inherits\n   * the `screenXSmall` value.\n   */\n  @Input()\n  public screenSmall: number | undefined;\n\n  /**\n   * The number of columns (1-12) on medium screens\n   * (992-1199px). If you do not specify a value, the column inherits\n   * the `screenSmall` value.\n   */\n  @Input()\n  public screenMedium: number | undefined;\n\n  /**\n   * The number of columns (1-12) on large screens\n   * (more than 1200px). If you do not specify a value, the column\n   * inherits the `screenMedium` value.\n   */\n  @Input()\n  public screenLarge: number | undefined;\n\n  @HostBinding('class')\n  public classnames: string | undefined;\n\n  #_screenXSmall = 12;\n\n  public ngOnChanges(changes: SimpleChanges): void {\n    /* istanbul ignore else */\n    if (\n      changes['screenXSmall'] ||\n      changes['screenSmall'] ||\n      changes['screenMedium'] ||\n      changes['screenLarge']\n    ) {\n      this.classnames = this.getClassNames();\n    }\n  }\n\n  public getClassNames(): string {\n    const classnames = ['sky-column'];\n\n    if (this.screenXSmall) {\n      classnames.push(`sky-column-xs-${this.screenXSmall}`);\n    }\n\n    if (this.screenSmall) {\n      classnames.push(`sky-column-sm-${this.screenSmall}`);\n    }\n\n    if (this.screenMedium) {\n      classnames.push(`sky-column-md-${this.screenMedium}`);\n    }\n\n    if (this.screenLarge) {\n      classnames.push(`sky-column-lg-${this.screenLarge}`);\n    }\n\n    return classnames.join(' ');\n  }\n\n  public ngOnInit(): void {\n    this.classnames = this.getClassNames();\n  }\n}\n","<ng-content />\n","import { Component, Input } from '@angular/core';\n\nimport { SkyFluidGridGutterSizeType } from './types/fluid-grid-gutter-size-type';\n\n/**\n * Wraps the fluid grid to ensure proper spacing. Without the wrapper, the\n * alignment, padding, and margins do not behave as expected.\n */\n@Component({\n  selector: 'sky-fluid-grid',\n  templateUrl: './fluid-grid.component.html',\n  styleUrls: ['./fluid-grid.component.scss'],\n  standalone: false,\n})\nexport class SkyFluidGridComponent {\n  /**\n   * Disables the outer left and right margin of the fluid grid container.\n   * @default false\n   */\n  @Input()\n  public disableMargin: boolean | undefined = false;\n\n  /**\n   * The type that defines the size of the padding\n   * between columns.\n   * @default \"large\"\n   */\n  @Input()\n  public set gutterSize(value: SkyFluidGridGutterSizeType | undefined) {\n    this.#_gutterSize = value ?? 'large';\n  }\n\n  public get gutterSize(): SkyFluidGridGutterSizeType {\n    return this.#_gutterSize;\n  }\n\n  #_gutterSize: SkyFluidGridGutterSizeType = 'large';\n}\n","<div\n  class=\"sky-fluid-grid\"\n  [ngClass]=\"{\n    'sky-fluid-grid-gutter-size-small': gutterSize === 'small',\n    'sky-fluid-grid-gutter-size-medium': gutterSize === 'medium',\n    'sky-fluid-grid-gutter-size-large': gutterSize === 'large',\n    'sky-fluid-grid-no-margin': disableMargin\n  }\"\n>\n  <ng-content />\n</div>\n","import { Component, Input } from '@angular/core';\n\n/**\n * Displays a row within the `sky-fluid-grid` wrapper. Previously, you could display a row\n * without a wrapper, but we no longer officially support that option.\n */\n@Component({\n  selector: 'sky-row',\n  templateUrl: './row.component.html',\n  styleUrls: ['./row.component.scss'],\n  standalone: false,\n})\nexport class SkyRowComponent {\n  /**\n   * Whether to reverse the display order for columns in the row.\n   * @default false\n   */\n  @Input()\n  public reverseColumnOrder: boolean | undefined = false;\n}\n","<div class=\"sky-row\" [ngClass]=\"{ 'sky-row-reverse': reverseColumnOrder }\">\n  <ng-content />\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyColumnComponent } from './column.component';\nimport { SkyFluidGridComponent } from './fluid-grid.component';\nimport { SkyRowComponent } from './row.component';\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [SkyRowComponent, SkyColumnComponent, SkyFluidGridComponent],\n  exports: [SkyRowComponent, SkyColumnComponent, SkyFluidGridComponent],\n})\nexport class SkyFluidGridModule {}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  TemplateRef,\n} from '@angular/core';\n\nimport { SkyFormatItem } from './format-item';\n\nconst tokenRegex = /(\\{\\d+\\})/;\n\n@Component({\n  selector: 'sky-format',\n  templateUrl: './format.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SkyFormatComponent {\n  public itemsForDisplay: SkyFormatItem[] = [];\n\n  /**\n   * The tokenized string that represents the template. Tokens use the `{n}` notation\n   * where `n` is the ordinal of the item to replace the token.\n   */\n  @Input()\n  public set text(value: string | undefined) {\n    this.#_text = value;\n    this.#updateItemsForDisplay();\n  }\n\n  public get text(): string | undefined {\n    return this.#_text;\n  }\n\n  /**\n   * An array of `TemplateRef` objects to be placed in the template, where the `nth`\n   * item is placed at the `{n}` location in the template.\n   */\n  @Input()\n  public set args(value: TemplateRef<any>[] | undefined) {\n    this.#_args = value;\n    this.#updateItemsForDisplay();\n  }\n\n  public get args(): TemplateRef<any>[] | undefined {\n    return this.#_args;\n  }\n\n  #_text: string | undefined;\n\n  #_args: TemplateRef<any>[] | undefined;\n\n  #updateItemsForDisplay(): void {\n    this.itemsForDisplay = [];\n\n    if (this.text && this.args) {\n      const textParts = this.text.split(tokenRegex);\n\n      for (const textPart of textParts) {\n        // Disregard empty strings.\n        if (textPart) {\n          const item: SkyFormatItem = {};\n\n          if (tokenRegex.test(textPart)) {\n            const valueIndex = +textPart.substring(1, textPart.length - 1);\n\n            item.templateRef = this.args[valueIndex];\n          } else {\n            item.text = textPart;\n          }\n\n          this.itemsForDisplay.push(item);\n        }\n      }\n    }\n  }\n}\n","@for (item of itemsForDisplay; track item) {\n  @if (item.text) {\n    <ng-container>{{ item.text }}</ng-container>\n  } @else if (item.templateRef) {\n    <ng-container *ngTemplateOutlet=\"item.templateRef\" />\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyFormatComponent } from './format.component';\n\n@NgModule({\n  declarations: [SkyFormatComponent],\n  imports: [CommonModule],\n  exports: [SkyFormatComponent],\n})\nexport class SkyFormatModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Displays messages that require immediate attention as [alerts](https://developer.blackbaud.com/skyux/components/alert) within\n * the page summary.\n * @deprecated\n */\n@Component({\n  selector: 'sky-page-summary-alert',\n  templateUrl: './page-summary-alert.component.html',\n  styleUrls: ['./page-summary-alert.component.scss'],\n  standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummaryAlertComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n/**\n * Displays content in the arbitrary section of the page summary.\n * @deprecated\n */\n@Component({\n  selector: 'sky-page-summary-content',\n  templateUrl: './page-summary-content.component.html',\n  styleUrls: ['./page-summary-content.component.scss'],\n  standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummaryContentComponent {}\n","<div class=\"sky-page-summary-content\">\n  <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Displays an image in the page summary to identify a record\n * or help users complete a core task.\n * @deprecated\n */\n@Component({\n  selector: 'sky-page-summary-image',\n  templateUrl: './page-summary-image.component.html',\n  styleUrls: ['./page-summary-image.component.scss'],\n  standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummaryImageComponent {}\n","<div class=\"sky-page-summary-image\">\n  <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Highlights important information about a page in the key information section of the\n * page summary.\n * @deprecated\n */\n@Component({\n  selector: 'sky-page-summary-key-info',\n  templateUrl: './page-summary-key-info.component.html',\n  styleUrls: ['./page-summary-key-info.component.scss'],\n  standalone: false,\n})\nexport class SkyPageSummaryKeyInfoComponent {}\n","<div class=\"sky-page-summary-key-info\">\n  <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Displays [labels](https://developer.blackbaud.com/skyux/components/label)\n * to highlight important status information about a page's content.\n * @deprecated\n */\n@Component({\n  selector: 'sky-page-summary-status',\n  templateUrl: './page-summary-status.component.html',\n  styleUrls: ['./page-summary-status.component.scss'],\n  standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummaryStatusComponent {}\n","<div class=\"sky-page-summary-status\">\n  <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a subtitle to identify the page content.\n * @deprecated\n */\n@Component({\n  selector: 'sky-page-summary-subtitle',\n  templateUrl: './page-summary-subtitle.component.html',\n  styleUrls: ['./page-summary-subtitle.component.scss'],\n  standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummarySubtitleComponent {}\n","<p class=\"sky-page-summary-subtitle sky-theme-font-body-emphasized-m\">\n  <ng-content />\n</p>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a title to identify the page content.\n * @deprecated\n */\n@Component({\n  selector: 'sky-page-summary-title',\n  templateUrl: './page-summary-title.component.html',\n  styleUrls: ['./page-summary-title.component.scss'],\n  standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyPageSummaryTitleComponent {}\n","<h1 class=\"sky-page-summary-title sky-theme-font-heading-1\">\n  <ng-content />\n</h1>\n","import { ElementRef, Injectable } from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyPageSummaryAdapterService {\n  public updateKeyInfoLocation(elRef: ElementRef, isXS: boolean): void {\n    const el = elRef.nativeElement;\n    const keyInfoContainerEl = el.querySelector(\n      '.sky-page-summary-key-info-container',\n    );\n\n    if (isXS) {\n      el.querySelector('.sky-page-summary-key-info-xs').appendChild(\n        keyInfoContainerEl,\n      );\n    } else {\n      el.querySelector('.sky-page-summary-key-info-sm').appendChild(\n        keyInfoContainerEl,\n      );\n    }\n  }\n}\n","import {\n  Component,\n  ElementRef,\n  contentChildren,\n  effect,\n  inject,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SkyLogService, SkyMediaQueryService } from '@skyux/core';\n\nimport { SkyPageSummaryAdapterService } from './page-summary-adapter.service';\nimport { SkyPageSummaryKeyInfoComponent } from './page-summary-key-info.component';\n\n/**\n * Specifies the components to display in the page summary.\n * @deprecated `SkyPageSummaryComponent` is deprecated. For page templates and techniques to summarize page content, see the page design guidelines. For more information, see https://developer.blackbaud.com/skyux/design/guidelines/page-layouts.\n */\n@Component({\n  selector: 'sky-page-summary',\n  templateUrl: './page-summary.component.html',\n  styleUrls: ['./page-summary.component.scss'],\n  providers: [SkyPageSummaryAdapterService],\n  standalone: false,\n})\nexport class SkyPageSummaryComponent {\n  protected keyInfoComponents = contentChildren(SkyPageSummaryKeyInfoComponent);\n\n  readonly #breakpoint = toSignal(\n    inject(SkyMediaQueryService).breakpointChange,\n  );\n\n  constructor() {\n    const adapter = inject(SkyPageSummaryAdapterService);\n    const elRef = inject(ElementRef);\n\n    inject(SkyLogService).deprecated('SkyPageSummaryComponent', {\n      deprecationMajorVersion: 6,\n      moreInfoUrl:\n        'https://developer.blackbaud.com/skyux/design/guidelines/page-layouts',\n      replacementRecommendation:\n        \"We recommend using the page component's `sky-page-header` component instead. And for page templates and techniques to summarize page content, see the page design guidelines.\",\n    });\n\n    effect(() => {\n      adapter.updateKeyInfoLocation(elRef, this.#breakpoint() === 'xs');\n    });\n  }\n}\n","<div\n  class=\"sky-page-summary\"\n  [ngClass]=\"{\n    'sky-page-summary-with-key-info': keyInfoComponents().length > 0\n  }\"\n>\n  <ng-content select=\"sky-page-summary-alert\" />\n  <div class=\"sky-page-summary-row\">\n    <div class=\"sky-page-summary-left\">\n      <ng-content select=\"sky-page-summary-image\" />\n      <div class=\"sky-page-summary-data\">\n        <ng-content select=\"sky-page-summary-title\" />\n        <ng-content select=\"sky-page-summary-subtitle\" />\n        <ng-content select=\"sky-page-summary-status\" />\n        <div class=\"sky-page-summary-key-info-xs\"></div>\n        <ng-content select=\"sky-page-summary-content\" />\n      </div>\n    </div>\n    <div class=\"sky-page-summary-key-info-sm\">\n      <div class=\"sky-page-summary-key-info-container\">\n        <ng-content select=\"sky-page-summary-key-info\" />\n      </div>\n    </div>\n  </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyPageSummaryAlertComponent } from './page-summary-alert.component';\nimport { SkyPageSummaryContentComponent } from './page-summary-content.component';\nimport { SkyPageSummaryImageComponent } from './page-summary-image.component';\nimport { SkyPageSummaryKeyInfoComponent } from './page-summary-key-info.component';\nimport { SkyPageSummaryStatusComponent } from './page-summary-status.component';\nimport { SkyPageSummarySubtitleComponent } from './page-summary-subtitle.component';\nimport { SkyPageSummaryTitleComponent } from './page-summary-title.component';\nimport { SkyPageSummaryComponent } from './page-summary.component';\n\n/**\n * @deprecated `SkyPageSummaryModule` is deprecated. For page templates and techniques to summarize page content, see the page design guidelines. For more information, see https://developer.blackbaud.com/skyux/design/guidelines/page-layouts.\n */\n@NgModule({\n  declarations: [\n    SkyPageSummaryAlertComponent,\n    SkyPageSummaryComponent,\n    SkyPageSummaryContentComponent,\n    SkyPageSummaryImageComponent,\n    SkyPageSummaryKeyInfoComponent,\n    SkyPageSummaryStatusComponent,\n    SkyPageSummarySubtitleComponent,\n    SkyPageSummaryTitleComponent,\n  ],\n  imports: [CommonModule],\n  exports: [\n    SkyPageSummaryAlertComponent,\n    SkyPageSummaryComponent,\n    SkyPageSummaryContentComponent,\n    SkyPageSummaryImageComponent,\n    SkyPageSummaryKeyInfoComponent,\n    SkyPageSummaryStatusComponent,\n    SkyPageSummarySubtitleComponent,\n    SkyPageSummaryTitleComponent,\n  ],\n})\nexport class SkyPageSummaryModule {}\n","import {\n  ElementRef,\n  Injectable,\n  Renderer2,\n  RendererFactory2,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyTextExpandAdapterService {\n  #renderer: Renderer2;\n\n  constructor(rendererFactory: RendererFactory2) {\n    this.#renderer = rendererFactory.createRenderer(undefined, null);\n  }\n\n  public getContainerHeight(containerEl: ElementRef): number {\n    return containerEl.nativeElement.offsetHeight;\n  }\n\n  public removeContainerMaxHeight(containerEl: ElementRef): void {\n    this.#renderer.removeStyle(containerEl.nativeElement, 'max-height');\n  }\n\n  public setContainerMaxHeight(containerEl: ElementRef, height: number): void {\n    this.#renderer.setStyle(\n      containerEl.nativeElement,\n      'max-height',\n      `${height}px`,\n    );\n  }\n\n  public setText(textEl: ElementRef, text: string): void {\n    textEl.nativeElement.textContent = text;\n  }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { SkyTextExpandModalContext } from './text-expand-modal-context';\n\n/**\n * @internal\n */\nexport const SKY_TEXT_EXPAND_MODAL_CONTEXT =\n  new InjectionToken<SkyTextExpandModalContext>('SkyTextExpandModalContext');\n","import { Component, Inject } from '@angular/core';\nimport { SkyModalInstance, SkyModalModule } from '@skyux/modals';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyTextExpandModalContext } from './text-expand-modal-context';\nimport { SKY_TEXT_EXPAND_MODAL_CONTEXT } from './text-expand-modal-context-token';\n\n/**\n * @internal\n */\n@Component({\n  selector: 'sky-text-expand-modal',\n  templateUrl: './text-expand-modal.component.html',\n  styleUrls: ['./text-expand.component.scss'],\n  imports: [SkyModalModule, SkyLayoutResourcesModule],\n})\nexport class SkyTextExpandModalComponent {\n  constructor(\n    @Inject(SKY_TEXT_EXPAND_MODAL_CONTEXT)\n    public context: SkyTextExpandModalContext,\n    public instance: SkyModalInstance,\n  ) {}\n\n  public close(): void {\n    this.instance.close();\n  }\n}\n","<sky-modal>\n  <sky-modal-header>{{ context.header }}</sky-modal-header>\n  <sky-modal-content class=\"sky-text-expand-modal-content\">{{\n    context.text\n  }}</sky-modal-content>\n  <sky-modal-footer>\n    <button class=\"sky-btn sky-btn-link\" type=\"button\" (click)=\"close()\">\n      {{ 'skyux_text_expand_close_text' | skyLibResources }}\n    </button>\n  </sky-modal-footer>\n</sky-modal>\n","import {\n  AfterContentInit,\n  Component,\n  ElementRef,\n  Input,\n  ViewChild,\n} from '@angular/core';\nimport { _SkyTransitionEndHandlerDirective } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyModalService } from '@skyux/modals';\n\nimport { forkJoin as observableForkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { SkyTextExpandAdapterService } from './text-expand-adapter.service';\nimport { SKY_TEXT_EXPAND_MODAL_CONTEXT } from './text-expand-modal-context-token';\nimport { SkyTextExpandModalComponent } from './text-expand-modal.component';\n\n/**\n * Auto-incrementing integer used to generate unique ids for text expand components.\n */\nlet nextId = 0;\n\n@Component({\n  imports: [_SkyTransitionEndHandlerDirective],\n  selector: 'sky-text-expand',\n  templateUrl: './text-expand.component.html',\n  styleUrls: ['./text-expand.component.scss'],\n  providers: [SkyTextExpandAdapterService],\n})\nexport class SkyTextExpandComponent implements AfterContentInit {\n  /**\n   * The title to display when the component expands the full text in a modal.\n   * @default \"Expanded view\"\n   */\n  @Input()\n  public expandModalTitle: string | undefined;\n\n  /**\n   * The maximum number of text characters to display inline when users select the link\n   * to expand the full text. If the text exceeds this limit, then the component expands\n   * the full text in a modal instead.\n   * @default 600\n   */\n  @Input()\n  public set maxExpandedLength(value: number | undefined) {\n    if (value) {\n      this.#_maxExpandedLength = value;\n    } else {\n      this.#_maxExpandedLength = 600;\n    }\n    this.#setup(this.text);\n  }\n\n  public get maxExpandedLength(): number {\n    return this.#_maxExpandedLength;\n  }\n\n  /**\n   * The maximum number of newline characters to display inline when users select\n   * the link to expand the full text. If the text exceeds this limit, then\n   * the component expands the full text in a modal view instead.\n   * @default 2\n   */\n  @Input()\n  public set maxExpandedNewlines(value: number | undefined) {\n    if (value) {\n      this.#_maxExpandedNewlines = value;\n    } else {\n      this.#_maxExpandedNewlines = 2;\n    }\n    this.#setup(this.text);\n  }\n\n  public get maxExpandedNewlines(): number {\n    return this.#_maxExpandedNewlines;\n  }\n\n  /**\n   * The number of text characters to display before truncating the text.\n   * To avoid truncating text in the middle of a word, the component looks for a space\n   * in the 10 characters before the last character.\n   * @default 200\n   */\n  @Input()\n  public set maxLength(value: number | undefined) {\n    if (value) {\n      this.#_maxLength = value;\n    } else {\n      this.#_maxLength = 200;\n    }\n    this.#setup(this.text);\n  }\n\n  public get maxLength(): number {\n    return this.#_maxLength;\n  }\n\n  /**\n   * The text to truncate.\n   */\n  @Input()\n  public set text(value: string | undefined) {\n    this.#_text = value ?? '';\n    this.#setup(this.#_text);\n  }\n\n  public get text(): string {\n    return this.#_text;\n  }\n\n  /**\n   * Whether to replace newline characters in truncated text with spaces.\n   */\n  @Input()\n  public truncateNewlines = true;\n\n  public buttonText = '';\n\n  public contentSectionId = `sky-text-expand-content-${++nextId}`;\n\n  public expandable = false;\n\n  public isExpanded: boolean | undefined;\n\n  public isModal = false;\n\n  @ViewChild('container', {\n    read: ElementRef,\n    static: true,\n  })\n  public containerEl: ElementRef | undefined;\n\n  @ViewChild('text', {\n    read: ElementRef,\n    static: true,\n  })\n  public set textEl(value: ElementRef | undefined) {\n    this.#_textEl = value;\n    this.#setup(this.text);\n  }\n\n  public get textEl(): ElementRef | undefined {\n    return this.#_textEl;\n  }\n\n  #collapsedText = '';\n\n  #newlineCount = 0;\n\n  #seeMoreText = '';\n\n  #seeLessText = '';\n\n  #textToShow = '';\n\n  #_maxExpandedLength = 600;\n\n  #_maxExpandedNewlines = 2;\n\n  #_maxLength = 200;\n\n  #_text = '';\n\n  #_textEl: ElementRef | undefined;\n\n  #resources: SkyLibResourcesService;\n  #modalSvc: SkyModalService;\n  #textExpandAdapter: SkyTextExpandAdapterService;\n\n  constructor(\n    resources: SkyLibResourcesService,\n    modalSvc: SkyModalService,\n    textExpandAdapter: SkyTextExpandAdapterService,\n  ) {\n    this.#resources = resources;\n    this.#modalSvc = modalSvc;\n    this.#textExpandAdapter = textExpandAdapter;\n  }\n\n  public textExpand(): void {\n    if (this.isModal) {\n      // Modal View\n      /* istanbul ignore else */\n      /* sanity check */\n      if (!this.isExpanded) {\n        this.#modalSvc.open(SkyTextExpandModalComponent, [\n          {\n            provide: SKY_TEXT_EXPAND_MODAL_CONTEXT,\n            useValue: {\n              header: this.expandModalTitle,\n              text: this.text,\n            },\n          },\n        ]);\n      }\n    } else {\n      // Normal View\n      if (!this.isExpanded) {\n        this.#animateText(true);\n      } else {\n        this.#animateText(false);\n      }\n    }\n  }\n\n  public animationEnd(): void {\n    if (this.textEl && this.containerEl) {\n      // Ensure the correct text is displayed\n      this.#textExpandAdapter.setText(this.textEl, this.#textToShow);\n\n      // Set height back to auto so the browser can change the height as needed with window changes\n      this.#textExpandAdapter.removeContainerMaxHeight(this.containerEl);\n    }\n  }\n\n  public ngAfterContentInit(): void {\n    observableForkJoin([\n      this.#resources.getString('skyux_text_expand_see_more'),\n      this.#resources.getString('skyux_text_expand_see_less'),\n    ])\n      .pipe(take(1))\n      .subscribe((resources) => {\n        this.#seeMoreText = resources[0];\n        this.#seeLessText = resources[1];\n        this.#setup(this.text);\n\n        /* istanbul ignore else */\n        if (!this.expandModalTitle) {\n          this.#resources\n            .getString('skyux_text_expand_modal_title')\n            .pipe(take(1))\n            .subscribe((resource) => {\n              this.expandModalTitle = resource;\n            });\n        }\n      });\n  }\n\n  #setup(value: string | undefined): void {\n    if (value) {\n      this.#newlineCount = this.#getNewlineCount(value);\n      this.#collapsedText = this.#getTruncatedText(value, this.maxLength);\n      if (this.#collapsedText !== value) {\n        this.buttonText = this.#seeMoreText;\n        this.isExpanded = false;\n        this.expandable = true;\n        this.isModal =\n          this.#newlineCount > this.maxExpandedNewlines ||\n          this.text.length > this.maxExpandedLength;\n      } else {\n        this.expandable = false;\n      }\n      this.#textToShow = this.#collapsedText;\n    } else {\n      this.#textToShow = '';\n      this.expandable = false;\n    }\n    if (this.textEl) {\n      this.#textExpandAdapter.setText(this.textEl, this.#textToShow);\n    }\n  }\n\n  #getNewlineCount(value: string): number {\n    const matches = value.match(/\\n/gi);\n\n    if (matches) {\n      return matches.length;\n    }\n\n    return 0;\n  }\n\n  #getTruncatedText(value: string, length: number): string {\n    let i: number;\n    if (this.truncateNewlines) {\n      value = value.replace(/\\n+/gi, ' ');\n    }\n    // Jump ahead one character and see if it's a space, and if it isn't,\n    // back up to the first space and break there so a word doesn't get cut\n    // in half.\n    if (length < value.length) {\n      for (i = length; i > length - 10; i--) {\n        if (/\\s/.test(value.charAt(i))) {\n          length = i;\n          break;\n        }\n      }\n    }\n    return value.substring(0, length);\n  }\n\n  #animateText(expanding: boolean): void {\n    if (this.containerEl && this.textEl) {\n      const adapter = this.#textExpandAdapter;\n      const container = this.containerEl;\n      const containerNative = container.nativeElement;\n\n      // Lock at current height as the transition starting point.\n      const currentHeight = adapter.getContainerHeight(container);\n      adapter.setContainerMaxHeight(container, currentHeight);\n\n      if (expanding) {\n        adapter.setText(this.textEl, this.text);\n        this.#textToShow = this.text;\n      } else {\n        // Measure the collapsed height while max-height is still large enough.\n        adapter.setText(this.textEl, this.#collapsedText);\n        this.#textToShow = this.#collapsedText;\n      }\n\n      this.buttonText = expanding ? this.#seeLessText : this.#seeMoreText;\n\n      // Measure the target height.\n      const targetHeight = expanding\n        ? containerNative.scrollHeight\n        : adapter.getContainerHeight(container);\n\n      // For collapsing, show full text during the transition so it animates smoothly.\n      if (!expanding) {\n        adapter.setText(this.textEl, this.text);\n      }\n\n      // Force reflow so the browser registers the starting max-height.\n      containerNative.getBoundingClientRect();\n\n      // Set the target max-height to trigger the CSS transition.\n      adapter.setContainerMaxHeight(container, targetHeight);\n\n      this.isExpanded = expanding;\n    }\n  }\n}\n","<div\n  #container\n  class=\"sky-text-expand-container\"\n  skyTransitionEndHandler\n  transitionPropertyToTrack=\"max-height\"\n  [transitionTrigger]=\"isExpanded\"\n  (transitionEnd)=\"animationEnd()\"\n>\n  <span #text class=\"sky-text-expand-text\" [id]=\"contentSectionId\"></span>\n  @if (expandable) {\n    @if (!isExpanded) {\n      <span class=\"sky-text-expand-ellipsis\">... </span>\n    }\n    <button\n      type=\"button\"\n      class=\"sky-btn sky-btn-link-inline sky-text-expand-see-more\"\n      [attr.aria-expanded]=\"isModal ? undefined : !!isExpanded\"\n      [attr.aria-controls]=\"isModal ? undefined : contentSectionId\"\n      [attr.aria-haspopup]=\"isModal ? 'dialog' : undefined\"\n      (click)=\"textExpand()\"\n    >\n      {{ buttonText }}\n    </button>\n  }\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { SkyTextExpandComponent } from './text-expand.component';\n\n@NgModule({\n  imports: [SkyTextExpandComponent],\n  exports: [SkyTextExpandComponent],\n})\nexport class SkyTextExpandModule {}\n","import {\n  ElementRef,\n  Injectable,\n  Renderer2,\n  RendererFactory2,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyTextExpandRepeaterAdapterService {\n  #renderer: Renderer2;\n\n  constructor(rendererFactory: RendererFactory2) {\n    this.#renderer = rendererFactory.createRenderer(undefined, null);\n  }\n\n  public getItems(elRef: ElementRef): NodeListOf<HTMLElement> {\n    return (elRef.nativeElement as HTMLElement).querySelectorAll(\n      '.sky-text-expand-repeater-item',\n    ) as NodeListOf<HTMLElement>;\n  }\n\n  public hideItem(item: HTMLElement): void {\n    this.#renderer.setStyle(item, 'display', 'none');\n  }\n\n  public showItem(item: HTMLElement): void {\n    this.#renderer.removeStyle(item, 'display');\n  }\n\n  public getContainerHeight(containerEl: ElementRef): number {\n    return containerEl.nativeElement.offsetHeight;\n  }\n\n  public removeContainerMaxHeight(containerEl: ElementRef): void {\n    this.#renderer.removeStyle(containerEl.nativeElement, 'max-height');\n  }\n\n  public setContainerMaxHeight(containerEl: ElementRef, height: number): void {\n    this.#renderer.setStyle(\n      containerEl.nativeElement,\n      'max-height',\n      `${height}px`,\n    );\n  }\n}\n","import {\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  TemplateRef,\n  afterRenderEffect,\n  computed,\n  inject,\n  input,\n  numberAttribute,\n  signal,\n  viewChild,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { SkyTextExpandRepeaterAdapterService } from './text-expand-repeater-adapter.service';\nimport { SkyTextExpandRepeaterListStyleType } from './types/text-expand-repeater-list-style-type';\n\n/**\n * Auto-incrementing integer used to generate unique ids for text expand repeater components.\n */\nlet nextId = 0;\n\n@Component({\n  selector: 'sky-text-expand-repeater',\n  templateUrl: './text-expand-repeater.component.html',\n  styleUrls: ['./text-expand-repeater.component.scss'],\n  providers: [SkyTextExpandRepeaterAdapterService],\n  standalone: false,\n})\nexport class SkyTextExpandRepeaterComponent<TData = unknown> {\n  /**\n   * The data to truncate.\n   */\n  public readonly data = input<TData[] | undefined>();\n\n  /**\n   * The template for items in the list.\n   */\n  public readonly itemTemplate = input<TemplateRef<unknown> | undefined>();\n\n  /**\n   * The style of bullet to use\n   * @default \"unordered\"\n   */\n  public readonly listStyle = input<\n    SkyTextExpandRepeaterListStyleType | undefined\n  >('unordered');\n\n  /**\n   * The number of items to display before truncating the list. If not supplied, all items are shown.\n   */\n  public readonly maxItems = input<number, unknown>(0, {\n    transform: numberAttribute,\n  });\n\n  protected expandable = false;\n  public contentSectionId = `sky-text-expand-repeater-content-${++nextId}`;\n\n  protected readonly isExpanded = signal(false);\n\n  readonly #resources = inject(SkyLibResourcesService);\n  readonly #seeMoreText = toSignal(\n    this.#resources.getString('skyux_text_expand_see_more'),\n    { initialValue: '' },\n  );\n  readonly #seeLessText = toSignal(\n    this.#resources.getString('skyux_text_expand_see_less'),\n    { initialValue: '' },\n  );\n  protected readonly buttonText = computed(() => {\n    const seeLessText = this.#seeLessText();\n    const seeMoreText = this.#seeMoreText();\n    return this.isExpanded() ? seeLessText : seeMoreText;\n  });\n\n  protected containerEl = viewChild<ElementRef>('container');\n\n  #dataIndices = 0;\n  #htmlItems: NodeListOf<HTMLElement> | undefined;\n\n  readonly #elRef = inject(ElementRef);\n  readonly #textExpandRepeaterAdapter = inject(\n    SkyTextExpandRepeaterAdapterService,\n  );\n  readonly #changeDetector = inject(ChangeDetectorRef);\n\n  protected readonly trackedData = computed(() =>\n    (this.data() ?? []).map((item) => ({\n      item,\n      index: ++this.#dataIndices,\n    })),\n  );\n\n  constructor() {\n    afterRenderEffect(() => {\n      this.#htmlItems = this.#textExpandRepeaterAdapter.getItems(this.#elRef);\n      this.#setup();\n    });\n  }\n\n  public animationEnd(): void {\n    // Ensure all items that should be hidden are hidden.\n    if (!this.isExpanded()) {\n      this.#hideItems();\n    }\n\n    const containerEl = this.containerEl();\n    if (containerEl) {\n      // Set height back to auto so the browser can change the height as needed with window changes\n      this.#textExpandRepeaterAdapter.removeContainerMaxHeight(containerEl);\n    }\n  }\n\n  public repeaterExpand(): void {\n    if (!this.isExpanded()) {\n      this.#animateRepeater(true);\n    } else {\n      this.#animateRepeater(false);\n    }\n  }\n\n  #animateRepeater(expanding: boolean): void {\n    const adapter = this.#textExpandRepeaterAdapter;\n    const container = this.containerEl();\n    if (container) {\n      const containerNative = container.nativeElement;\n\n      // Lock at current height as the transition starting point.\n      const currentHeight = adapter.getContainerHeight(container);\n      adapter.setContainerMaxHeight(container, currentHeight);\n\n      if (expanding) {\n        this.#showItems();\n      } else {\n        this.#hideItems();\n      }\n\n      // Measure the target height.\n      const targetHeight = expanding\n        ? containerNative.scrollHeight\n        : adapter.getContainerHeight(container);\n\n      if (!expanding) {\n        // Show all items during animation for visual purposes.\n        this.#showItems();\n      }\n\n      // Force reflow so the browser registers the starting max-height.\n      containerNative.getBoundingClientRect();\n\n      // Set the target max-height to trigger the CSS transition.\n      adapter.setContainerMaxHeight(container, targetHeight);\n\n      this.isExpanded.set(expanding);\n    }\n  }\n\n  #setup(): void {\n    const maxItems = this.maxItems();\n    const value = this.trackedData();\n    this.expandable = false;\n    this.isExpanded.set(false);\n    if (value.length > 0) {\n      const length = value.length;\n      if (maxItems && length > maxItems) {\n        this.expandable = true;\n        this.#hideItems();\n      }\n    }\n    this.#changeDetector.detectChanges();\n  }\n\n  #hideItems(): void {\n    if (this.#htmlItems && this.maxItems()) {\n      for (let i = this.maxItems(); i < this.#htmlItems.length; i++) {\n        this.#textExpandRepeaterAdapter.hideItem(this.#htmlItems[i]);\n      }\n    }\n  }\n\n  #showItems(): void {\n    if (this.#htmlItems && this.maxItems()) {\n      for (let i = this.maxItems(); i < this.#htmlItems.length; i++) {\n        this.#textExpandRepeaterAdapter.showItem(this.#htmlItems[i]);\n      }\n    }\n  }\n}\n","<div class=\"sky-text-expand-repeater\">\n  @if (listStyle() !== 'ordered') {\n    <ul\n      #container\n      class=\"sky-text-expand-repeater-container\"\n      skyTransitionEndHandler\n      transitionPropertyToTrack=\"max-height\"\n      [transitionTrigger]=\"isExpanded()\"\n      [id]=\"contentSectionId\"\n      [ngClass]=\"{\n        'sky-text-expand-repeater-list-style-none': listStyle() === 'unstyled'\n      }\"\n      (transitionEnd)=\"animationEnd()\"\n    >\n      <ng-template [ngTemplateOutlet]=\"listItemTemplate\" />\n    </ul>\n  } @else {\n    <ol\n      #container\n      class=\"sky-text-expand-repeater-container\"\n      skyTransitionEndHandler\n      transitionPropertyToTrack=\"max-height\"\n      [transitionTrigger]=\"isExpanded()\"\n      [id]=\"contentSectionId\"\n      (transitionEnd)=\"animationEnd()\"\n    >\n      <ng-template [ngTemplateOutlet]=\"listItemTemplate\" />\n    </ol>\n  }\n  @if (expandable) {\n    <button\n      type=\"button\"\n      class=\"sky-btn sky-btn-link-inline sky-text-expand-repeater-see-more\"\n      [attr.aria-expanded]=\"isExpanded()\"\n      [attr.aria-controls]=\"contentSectionId\"\n      [ngClass]=\"{\n        'sky-text-expand-repeater-see-more-list-style-none':\n          listStyle() === 'unstyled'\n      }\"\n      (click)=\"repeaterExpand()\"\n    >\n      {{ buttonText() }}\n    </button>\n  }\n</div>\n\n<ng-template #defaultItemTemplate let-item>\n  {{ item }}\n</ng-template>\n\n<ng-template #listItemTemplate>\n  @for (item of trackedData(); track item.index) {\n    <li class=\"sky-text-expand-repeater-item\">\n      <ng-template\n        [ngTemplateOutlet]=\"itemTemplate() || defaultItemTemplate\"\n        [ngTemplateOutletContext]=\"{ $implicit: item.item }\"\n      />\n    </li>\n  }\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { _SkyTransitionEndHandlerDirective } from '@skyux/core';\n\nimport { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';\n\nimport { SkyTextExpandRepeaterComponent } from './text-expand-repeater.component';\n\n@NgModule({\n  declarations: [SkyTextExpandRepeaterComponent],\n  imports: [\n    SkyLayoutResourcesModule,\n    CommonModule,\n    _SkyTransitionEndHandlerDirective,\n  ],\n  exports: [SkyTextExpandRepeaterComponent],\n})\nexport class SkyTextExpandRepeaterModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a container for an item in the toolbar.\n */\n@Component({\n  selector: 'sky-toolbar-item',\n  styleUrls: ['./toolbar-item.component.scss'],\n  templateUrl: './toolbar-item.component.html',\n  standalone: false,\n})\nexport class SkyToolbarItemComponent {}\n","<div class=\"sky-toolbar-item\">\n  <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a section to group items within the toolbar. The section displays items in a separate horizontal row.\n */\n@Component({\n  selector: 'sky-toolbar-section',\n  styleUrls: ['./toolbar-section.component.scss'],\n  templateUrl: './toolbar-section.component.html',\n  standalone: false,\n})\nexport class SkyToolbarSectionComponent {}\n","<div class=\"sky-toolbar-section\">\n  <div class=\"sky-toolbar-section-items\">\n    <ng-content />\n  </div>\n  <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Adds a section on the right side of the toolbar for items that substantially alter\n * the view of the content container. This includes simple filters and view switchers.\n */\n@Component({\n  selector: 'sky-toolbar-view-actions',\n  templateUrl: './toolbar-view-actions.component.html',\n  styleUrls: ['./toolbar-view-actions.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SkyToolbarViewActionsComponent {}\n","<div class=\"sky-toolbar-view-actions\">\n  <ng-content />\n</div>\n","import {\n  Component,\n  ContentChildren,\n  Input,\n  QueryList,\n  inject,\n} from '@angular/core';\nimport { SkyContentInfoProvider } from '@skyux/core';\n\nimport { SkyToolbarSectionComponent } from './toolbar-section.component';\n\n/**\n * Displays actions for lists, records, and tiles.\n */\n@Component({\n  selector: 'sky-toolbar',\n  styleUrls: ['./toolbar.component.scss'],\n  templateUrl: './toolbar.component.html',\n  providers: [SkyContentInfoProvider],\n  standalone: false,\n})\nexport class SkyToolbarComponent {\n  public hasSections = false;\n\n  @ContentChildren(SkyToolbarSectionComponent, { descendants: true })\n  public set sectionComponents(\n    value: QueryList<SkyToolbarSectionComponent> | undefined,\n  ) {\n    this.hasSections = !!value && value.length > 0;\n  }\n\n  /**\n   * A descriptor for the items that the toolbar manipulates. Use a plural term. The descriptor helps set the toolbar's `aria-label` attributes for search inputs, sort buttons, and filter buttons to provide text equivalents for screen readers [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility).\n   * For example, when the descriptor is \"constituents,\" the search input's `aria-label` is \"Search constituents.\" For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n   */\n  @Input()\n  public set listDescriptor(value: string | undefined) {\n    this.#contentInfoProvider.patchInfo({\n      descriptor: value ? { type: 'text', value } : undefined,\n    });\n  }\n\n  #contentInfoProvider = inject(SkyContentInfoProvider);\n}\n","<div\n  class=\"sky-toolbar-container\"\n  [ngClass]=\"{ 'sky-toolbar-sectioned': hasSections }\"\n>\n  <ng-content select=\"sky-toolbar-section\" />\n  <div class=\"sky-toolbar-items\">\n    <ng-content />\n  </div>\n  <ng-content select=\"sky-toolbar-view-actions\" />\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyToolbarItemComponent } from './toolbar-item.component';\nimport { SkyToolbarSectionComponent } from './toolbar-section.component';\nimport { SkyToolbarViewActionsComponent } from './toolbar-view-actions.component';\nimport { SkyToolbarComponent } from './toolbar.component';\n\n@NgModule({\n  declarations: [\n    SkyToolbarComponent,\n    SkyToolbarItemComponent,\n    SkyToolbarSectionComponent,\n    SkyToolbarViewActionsComponent,\n  ],\n  imports: [CommonModule],\n  exports: [\n    SkyToolbarComponent,\n    SkyToolbarItemComponent,\n    SkyToolbarSectionComponent,\n    SkyToolbarViewActionsComponent,\n  ],\n})\nexport class SkyToolbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4","i1.SkyActionButtonAdapterService","i2","i3","i1","i2.SkyBackToTopDomAdapterService","nextId","i1.SkyInlineDeleteAdapterService","i5","i1.SkyDefinitionListService","i1.SkyDescriptionListService","i1.SkyDescriptionListAdapterService","i2.SkyDescriptionListService","observableForkJoin","i3.SkyTextExpandAdapterService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,mBAAmB,GAAG,gCAAgC;AAC5D,MAAM,mBAAmB,GAAG,gCAAgC;AAC5D,MAAM,mBAAmB,GAAG,gCAAgC;AAE5D,MAAM,aAAa,GAAG,GAAG;AACzB,MAAM,aAAa,GAAG,IAAI;AAE1B;;AAEG;MAEU,6BAA6B,CAAA;AACxC,IAAA,SAAS;AAET,IAAA,WAAA,CAAY,eAAiC,EAAA;QAC3C,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC;IAClE;AAEO,IAAA,cAAc,CAAC,OAAmB,EAAA;QACvC,OACE,OAAO,CAAC,aACT,CAAC,aAAa,EAAE,qBAAqB,EAAE,CAAC,KAAK;IAChD;AAEO,IAAA,kBAAkB,CAAC,OAAmB,EAAE,KAAK,GAAG,CAAC,EAAA;AACtD,QAAA,MAAM,EAAE,GAAQ,OAAO,CAAC,aAAa;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;QAErD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,mBAAmB,CAAC;QACnD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,mBAAmB,CAAC;QACnD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,mBAAmB,CAAC;QAEnD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACxC;AAEA,IAAA,uBAAuB,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,KAAK,GAAG,aAAa,EAAE;AACzB,YAAA,OAAO,mBAAmB;QAC5B;aAAO,IAAI,KAAK,IAAI,aAAa,IAAI,KAAK,GAAG,aAAa,EAAE;AAC1D,YAAA,OAAO,mBAAmB;QAC5B;aAAO;AACL,YAAA,OAAO,mBAAmB;QAC5B;IACF;8GAhCW,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA7B,6BAA6B,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADzC;;;ACHD;;AAEG;MAWU,wBAAwB,CAAA;AAgBnC,IAAA,eAAe;AAEf,IAAA,WAAA,CAAwB,cAAiC,EAAA;QAhBlD,IAAA,CAAA,MAAM,GAAG,KAAK;AAQrB;;AAEG;AAEI,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAO;AAK1C,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;IACvC;IAEO,aAAa,GAAA;AAClB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;IACzB;IAEO,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;IACzB;AAEO,IAAA,sBAAsB,CAAC,MAAqB,EAAA;QACjD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa,EAAE;YACxC,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,aAAa;AACnC,gBAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;AACrC,YAAA,CAAC,CAAC;QACJ;IACF;8GArCW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,8MC3BrC,0sFA4FA,EAAA,MAAA,EAAA,CAAA,qoGAAA,EAAA,6fAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,EAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDjEa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAAA,aAAA,EAMd,iBAAiB,CAAC,IAAI,cACzB,KAAK,EAAA,QAAA,EAAA,0sFAAA,EAAA,MAAA,EAAA,CAAA,qoGAAA,EAAA,6fAAA,CAAA,EAAA;;0BAoBJ;;sBAjBZ,WAAW;uBAAC,QAAQ;;sBAMpB;;sBAMA;;;AEfH;;;AAGG;MAaU,iCAAiC,CAAA;AAG5C;;;;AAIG;IACH,IACW,UAAU,CACnB,KAAyD,EAAA;AAEzD,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,IAAI,QAAQ;IACvC;AAEA,IAAA,IAAW,UAAU,GAAA;QACnB,OAAO,IAAI,CAAC,YAAY;IAC1B;AAWA,IAAA,cAAc,GAAG,IAAI,OAAO,EAAQ;AAEpC,IAAA,qBAAqB;IAErB,IAAI,UAAU,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;QACxB,IAAI,CAAC,sBAAsB,EAAE;QAC7B,IAAI,CAAC,aAAa,EAAE;IACtB;IAEA,YAAY,GAA2C,QAAQ;AAE/D,IAAA,WAAW;IAEX,gBAAgB,GAAG,KAAK;AAExB,IAAA,2BAA2B;AAC3B,IAAA,eAAe;AACf,IAAA,mBAAmB;AACnB,IAAA,UAAU;AACV,IAAA,SAAS;IAET,WAAA,CACE,0BAAyD,EACzD,cAAiC,EACjC,kBAAyC,EACzC,SAAqB,EACT,QAA0B,EAAA;AAEtC,QAAA,IAAI,CAAC,2BAA2B,GAAG,0BAA0B;AAC7D,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;AACrC,QAAA,IAAI,CAAC,mBAAmB,GAAG,kBAAkB;AAC7C,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS;AAC3B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;IAC3B;IAEO,QAAQ,GAAA;;AAEb,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC;AACZ,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;AACnC,iBAAA,SAAS,CAAC,CAAC,aAAa,KAAI;gBAC3B,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI;AAC1D,gBAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;AACrC,YAAA,CAAC,CAAC;QACN;;QAGA,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,sBAAsB,EAAE;AAC/B,QAAA,CAAC,CAAC;IACJ;IAEO,eAAe,GAAA;;;AAGpB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC;AAChB,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;iBACnC,SAAS,CAAC,MAAK;gBACd,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,CAAC,CAAC;QACN;AACA,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;QAC5B,IAAI,CAAC,aAAa,EAAE;IACtB;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;AAC1B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;IAChC;IAEO,eAAe,GAAA;QACpB,IAAI,CAAC,aAAa,EAAE;IACtB;IAGO,cAAc,GAAA;QACnB,IAAI,CAAC,sBAAsB,EAAE;IAC/B;IAEA,aAAa,CAAC,KAAK,GAAG,CAAC,EAAA;AACrB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY;AAC7B,QAAA,IAAI,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAChC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,GAAG,EAAE,oBAAoB,CAAC;AAC/D,YAAA,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE;;AAEjC,gBAAA,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC;AACxC,gBAAA,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,MAAK;oBAC3C,MAAM,QAAQ,GAAG,kCAAkC;oBACnD,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC;oBACxD,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE;wBACrC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC;oBACvD;AAAO,yBAAA,IAAI,KAAK,GAAG,GAAG,EAAE;;AAEtB,wBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;oBAChC;gBACF,CAAC,EAAE,KAAK,CAAsB;YAChC;QACF;IACF;IAEA,sBAAsB,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,2BAA2B,CAAC,cAAc,CACjE,IAAI,CAAC,UAAU,CAChB;YACD,IAAI,CAAC,2BAA2B,CAAC,kBAAkB,CACjD,IAAI,CAAC,YAAY,EACjB,WAAW,CACZ;QACH;IACF;8GA5IW,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,6BAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjC,iCAAiC,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EALjC,CAAC,6BAA6B,CAAC,wDAwBzB,wBAAwB,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAIjC,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,IAAA,CAAA,+BAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChEpB,uWAYA,EAAA,MAAA,EAAA,CAAA,2pHAAA,EAAA,gwGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FD6Ba,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAZ7C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,EAAA,SAAA,EAM5B,CAAC,6BAA6B,CAAC,EAAA,aAAA,EAC3B,iBAAiB,CAAC,IAAI,EAAA,cAAA,EACrB,CAAC,+BAA+B,CAAC,cACrC,KAAK,EAAA,QAAA,EAAA,uWAAA,EAAA,MAAA,EAAA,CAAA,2pHAAA,EAAA,gwGAAA,CAAA,EAAA;;0BAyDd;;sBA/CF;;sBAWA,eAAe;uBAAC,wBAAwB;;sBAGxC,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE;AACtB,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA;;sBA+EA,YAAY;uBAAC,eAAe;;;AE/I/B;;AAEG;MAMU,+BAA+B,CAAA;8GAA/B,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,sFCV5C,kBACA,EAAA,CAAA,CAAA;;2FDSa,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,cAEzB,KAAK,EAAA,QAAA,EAAA,kBAAA,EAAA;;;AELnB;;AAEG;MAWU,8BAA8B,CAAA;8GAA9B,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,4JChB3C,mLASA,EAAA,MAAA,EAAA,CAAA,k2BAAA,EAAA,uGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDOa,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAV1C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,EAAA,cAAA,EAMpB,CAAC,+BAA+B,CAAC,cACrC,KAAK,EAAA,QAAA,EAAA,mLAAA,EAAA,MAAA,EAAA,CAAA,k2BAAA,EAAA,uGAAA,CAAA,EAAA;;;AERnB;;AAEG;MAUU,4BAA4B,CAAA;AATzC,IAAA,WAAA,GAAA;QAgBqB,IAAA,CAAA,UAAU,GAAG,QAAQ,CACtC,MAAM,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,CAC9C;AACF,IAAA;8GAVY,4BAA4B,EAAA,IAAA,EAAA,EAAA,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,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBzC,wYAcA,EAAA,MAAA,EAAA,CAAA,2hDAAA,EAAA,wsBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDEY,aAAa,uIAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAE5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBATxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAAA,OAAA,EAMzB,CAAC,aAAa,EAAE,cAAc,CAAC,EAAA,QAAA,EAAA,wYAAA,EAAA,MAAA,EAAA,CAAA,2hDAAA,EAAA,wsBAAA,CAAA,EAAA;;sBAMvC,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;;MEcd,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,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,qBAAqB,iBArB9B,wBAAwB;YACxB,iCAAiC;YACjC,+BAA+B;AAC/B,YAAA,8BAA8B,aAG9B,YAAY;YACZ,eAAe;YACf,YAAY;YACZ,4BAA4B;YAC5B,aAAa;AACb,YAAA,cAAc,aAGd,wBAAwB;YACxB,iCAAiC;YACjC,+BAA+B;YAC/B,8BAA8B;YAC9B,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAGnB,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,qBAAqB,YAf9B,YAAY;YACZ,eAAe;YACf,YAAY;YACZ,4BAA4B;YAC5B,aAAa;YACb,cAAc,CAAA,EAAA,CAAA,CAAA;;2FAUL,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAvBjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,iCAAiC;wBACjC,+BAA+B;wBAC/B,8BAA8B;AAC/B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,eAAe;wBACf,YAAY;wBACZ,4BAA4B;wBAC5B,aAAa;wBACb,cAAc;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,iCAAiC;wBACjC,+BAA+B;wBAC/B,8BAA8B;wBAC9B,4BAA4B;AAC7B,qBAAA;AACF,iBAAA;;;ACnCD;AAEA;;;;;AAKG;AAQH,MAAM,SAAS,GAAoC;AACjD,IAAA,OAAO,EAAE;AACP,QAAA,iBAAiB,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;AAC7C,QAAA,yBAAyB,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;AACrD,QAAA,gCAAgC,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;AAC5D,QAAA,iCAAiC,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;AAC7D,QAAA,kCAAkC,EAAE;AAClC,YAAA,OAAO,EAAE,4CAA4C;AACtD,SAAA;AACD,QAAA,0BAA0B,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;AACjD,QAAA,oCAAoC,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE;AACrE,QAAA,0BAA0B,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;AACjD,QAAA,4BAA4B,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;AAClD,QAAA,6BAA6B,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;AAC3D,QAAA,0BAA0B,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;AACnD,QAAA,0BAA0B,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;AACpD,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,iBAAiB,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;AAChD,QAAA,yBAAyB,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE;AAC/D,QAAA,gCAAgC,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;AAC9D,QAAA,iCAAiC,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;AAC/D,QAAA,kCAAkC,EAAE;AAClC,YAAA,OAAO,EAAE,qDAAqD;AAC/D,SAAA;AACD,QAAA,0BAA0B,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;AAClD,QAAA,oCAAoC,EAAE;AACpC,YAAA,OAAO,EAAE,0BAA0B;AACpC,SAAA;AACD,QAAA,0BAA0B,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;AACpD,QAAA,4BAA4B,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;AACnD,QAAA,6BAA6B,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;AAC1D,QAAA,0BAA0B,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE;AACrD,QAAA,0BAA0B,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;AACrD,KAAA;CACF;AAED,sBAAsB,CAAC,YAAY,CAAC,SAAS,CAAC;AAE9C;;AAEG;MAIU,wBAAwB,CAAA;8GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAxB,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,wBAAwB,YAFzB,aAAa,CAAA,EAAA,CAAA,CAAA;AAEZ,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,wBAAwB,YAFzB,aAAa,CAAA,EAAA,CAAA,CAAA;;2FAEZ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,aAAa,CAAC;AACzB,iBAAA;;;ACvDD;;AAEG;MAQU,qBAAqB,CAAA;AAChC,IAAA,IAAW,gBAAgB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;IAC/C;AAEA,IAAA,kBAAkB,GAAG,IAAI,OAAO,EAAQ;IAEjC,kBAAkB,GAAA;AACvB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;AAC9B,QAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IACpC;8GAVW,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,4ECdlC,iUAeA,EAAA,MAAA,EAAA,CAAA,ilBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDDa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,eAAA,EAGV,uBAAuB,CAAC,MAAM,cACnC,KAAK,EAAA,QAAA,EAAA,iUAAA,EAAA,MAAA,EAAA,CAAA,ilBAAA,CAAA,EAAA;;;AENnB;;AAEG;MAEU,6BAA6B,CAAA;AACxC,IAAA,cAAc,GAAG,IAAI,OAAO,EAAQ;AACpC,IAAA,qCAAqC,GAAG,IAAI,OAAO,EAAQ;AAC3D,IAAA,sBAAsB;AACtB,IAAA,UAAU;IAEV,WAAA,CACE,SAA0B,EAC1B,qBAA+C,EAAA;AAE/C,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS;AAC3B,QAAA,IAAI,CAAC,sBAAsB,GAAG,qBAAqB;IACrD;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;AAC1B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;AAC9B,QAAA,IAAI,CAAC,qCAAqC,CAAC,IAAI,EAAE;AACjD,QAAA,IAAI,CAAC,qCAAqC,CAAC,QAAQ,EAAE;IACvD;AAEA;;;AAGG;AACI,IAAA,qBAAqB,CAAC,UAAsB,EAAA;QACjD,MAAM,wBAAwB,GAC5B,IAAI,CAAC,sBAAsB,CAAC,+BAA+B,CAAC,UAAU,CAAC;QAEzE,MAAM,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC;AAClE,QAAA,MAAM,kBAAkB,GAAG,IAAI,eAAe,CAAU,iBAAiB,CAAC;QAE1E;AACG,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qCAAqC,CAAC;aAC1D,SAAS,CAAC,MAAK;YACd,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC;AACzD,YAAA,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnC,QAAA,CAAC,CAAC;AAEJ,QAAA,OAAO,kBAAkB;IAC3B;AAEA;;;AAGG;AACI,IAAA,eAAe,CAAC,UAAsB,EAAA;;;QAG3C,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;YAC5C;QACF;QAEA,MAAM,cAAc,GAClB,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,UAAU,CAAC;AAE3D,QAAA,IAAI,cAAc,YAAY,MAAM,EAAE;;AAEpC,YAAA,MAAM,gBAAgB,GAAG,QAAQ,CAC/B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EACzC,EAAE,CACH;YACD,MAAM,YAAY,GAChB,UAAU,CAAC,aAAa,CAAC,SAAS,GAAG,gBAAgB;AACvD,YAAA,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CACnC,UAAU,CAAC,aAAa,CAAC,UAAU,EACnC,YAAY,CACb;QACH;aAAO;;AAEL,YAAA,cAAc,CAAC,SAAS;gBACtB,cAAc,CAAC,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS;QACjE;IACF;AAEO,IAAA,uBAAuB,CAAC,OAAmB,EAAA;QAChD,MAAM,aAAa,GACjB,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,OAAO,CAAC;AAExD,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,EAAE;AACvC,YAAA,OAAO,IAAI;QACb;QACA,MAAM,MAAM,GAAG,EAAE;QACjB,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE;AAEjE,QAAA,IAAI,aAAa,YAAY,WAAW,EAAE;AACxC,YAAA,MAAM,UAAU,GAAG,aAAa,CAAC,qBAAqB,EAAE;YACxD,OAAO,WAAW,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,GAAG,MAAM;QAClD;aAAO;AACL,YAAA,OAAO,WAAW,CAAC,GAAG,GAAG,CAAC,MAAM;QAClC;IACF;8GA3FW,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAE,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA7B,6BAA6B,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADzC;;;ACTD;;AAEG;IACS;AAAZ,CAAA,UAAY,uBAAuB,EAAA;AACjC;;AAEG;AACH,IAAA,uBAAA,CAAA,uBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa;AACf,CAAC,EALW,uBAAuB,KAAvB,uBAAuB,GAAA,EAAA,CAAA,CAAA;;ACenC;;;AAGG;MAMU,qBAAqB,CAAA;AAChC;;AAEG;IACH,IACW,YAAY,CAAC,KAA2C,EAAA;AACjE,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,KAAK,IAAI,KAAK,EAAE,YAAY,CAAC;AAErD,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC;IAClD;AAEA;;;AAGG;IACH,IACW,yBAAyB,CAClC,KAA+C,EAAA;AAE/C,QAAA,IAAI,IAAI,CAAC,2BAA2B,EAAE;AACpC,YAAA,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE;QAChD;AACA,QAAA,IAAI,CAAC,2BAA2B,GAAG,KAAK;AACxC,QAAA,IAAI,CAAC;cACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;AACpC,aAAA,SAAS,CAAC,CAAC,OAA4B,KACtC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CACtC;IACL;IAEA,aAAa,GAAG,KAAK;AACrB,IAAA,SAAS;AACT,IAAA,YAAY;AACZ,IAAA,WAAW;IACX,cAAc,GAAG,KAAK;AACtB,IAAA,WAAW;AAEX,IAAA,cAAc,GAAG,IAAI,OAAO,EAAQ;AACpC,IAAA,2BAA2B;AAE3B,IAAA,WAAA,CACE,WAA2B,EAC3B,UAAyC,EACzC,UAAsB,EAAA;AAEtB,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW;AAC/B,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU;AAC7B,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU;IAC/B;IAEO,eAAe,GAAA;AACpB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAC5D,IAAI,CAAC,WAAW,CACjB;AAED,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC;QAChD,IAAI,CAAC,sBAAsB,EAAE;IAC/B;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;QAC1B;IACF;AAEA,IAAA,sBAAsB,CAAC,aAAsB,EAAA;;QAE3C,IACE,CAAC,IAAI,CAAC,SAAS;AACf,YAAA,aAAa,KAAK,SAAS;AAC3B,YAAA,CAAC,aAAa;AACd,YAAA,CAAC,IAAI,CAAC,aAAa,EACnB;YACA,IAAI,CAAC,aAAa,EAAE;QACtB;;AAEA,QAAA,IAAI,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE;YACvC,IAAI,CAAC,iBAAiB,EAAE;QAC1B;IACF;IAEA,aAAa,GAAA;QACX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,qBAAqB,CAAC;;AAGzE,QAAA,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;AAC9B,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;aACnC,SAAS,CAAC,MAAK;YACd,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;AACpD,QAAA,CAAC,CAAC;IACN;AAEA,IAAA,uBAAuB,CAAC,OAA4B,EAAA;;QAElD,IAAI,OAAO,CAAC,IAAI,KAAK,uBAAuB,CAAC,SAAS,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;QACpD;IACF;IAEA,sBAAsB,GAAA;;AAEpB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC;AACF,iBAAA,qBAAqB,CAAC,IAAI,CAAC,WAAW;AACtC,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;AACnC,iBAAA,SAAS,CAAC,CAAC,aAAsB,KAAI;AACpC,gBAAA,IAAI,CAAC,cAAc,GAAG,aAAa;AAEnC,gBAAA,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC;AAC5C,YAAA,CAAC,CAAC;QACN;IACF;IAEA,iBAAiB,GAAA;;AAEf,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AACxB,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS;QAC5B;IACF;8GAvHW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,6BAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,EAAA,SAAA,EAHrB,CAAC,6BAA6B,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAG/B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,SAAS,EAAE,CAAC,6BAA6B,CAAC;AAC1C,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;sBAKE;;sBAWA;;;MC7BU,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAlB,kBAAkB,EAAA,YAAA,EAAA,CAJd,qBAAqB,EAAE,qBAAqB,CAAA,EAAA,OAAA,EAAA,CACjD,wBAAwB,EAAE,cAAc,CAAA,EAAA,OAAA,EAAA,CACxC,qBAAqB,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA;+GAE3C,kBAAkB,EAAA,OAAA,EAAA,CAHnB,wBAAwB,EAAE,cAAc,CAAA,EAAA,CAAA,CAAA;;2FAGvC,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;AAC5D,oBAAA,OAAO,EAAE,CAAC,wBAAwB,EAAE,cAAc,CAAC;AACnD,oBAAA,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;AACxD,iBAAA;;;ACVD;;AAEG;MAMU,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,4ECVnC,6DAGA,EAAA,CAAA,CAAA;;2FDOa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,cAEf,KAAK,EAAA,QAAA,EAAA,6DAAA,EAAA;;;AENZ,MAAM,iBAAiB,GAAG,IAAI,cAAc,CACjD,mBAAmB,CACpB;;ACCD;;AAEG;MAOU,uBAAuB,CAAA;AAC3B,IAAA,YAAY,CAAC,KAAc,EAAA;QAChC,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;gBAClC,UAAU,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE;AAC5D,aAAA,CAAC;QACJ;aAAO;YACL,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QAChE;IACF;AAES,IAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC;AACrD,IAAA,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC;8GAZtC,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,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,SAAA,EAHvB,CAAC,sBAAsB,CAAC,0BCXrC,8DAGA,EAAA,CAAA,CAAA;;2FDWa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,SAAA,EAEjB,CAAC,sBAAsB,CAAC,cACvB,KAAK,EAAA,QAAA,EAAA,8DAAA,EAAA;;;AEPnB;;;AAGG;MAQU,qBAAqB,CAAA;AAGhC,IAAA,WAAA,GAAA;AAFmB,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAGxD,QAAA,MAAM,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE;AACxD,YAAA,uBAAuB,EAAE,EAAE;AAC3B,YAAA,yBAAyB,EACvB,mFAAmF;AACtF,SAAA,CAAC;IACJ;8GATW,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,2EChBlC,4NAMA,EAAA,MAAA,EAAA,CAAA,oeAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,WAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDUa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,aAAA,EAGX,iBAAiB,CAAC,IAAI,cACzB,KAAK,EAAA,QAAA,EAAA,4NAAA,EAAA,MAAA,EAAA,CAAA,oeAAA,CAAA,EAAA;;;AEKnB,SAAS,gBAAgB,CAAC,KAAc,EAAA;AACtC,IAAA,OAAO,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;AAClC;AAEA;;AAEG;MAiBU,eAAe,CAAA;AAhB5B,IAAA,WAAA,GAAA;AAiCE;;AAEG;QAEI,IAAA,CAAA,aAAa,GAAG,KAAK;AAE5B;;;AAGG;QAEI,IAAA,CAAA,YAAY,GAAuB,CAAC;AAkFpC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAEjC,IAAA,CAAA,YAAY,GAAG,oBAAoB;AAM9C,IAAA;AArHC;;AAEG;IACH,IACW,WAAW,CAAC,KAAyB,EAAA;AAC9C,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAE1B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;QACzC;IACF;AAEA,IAAA,IAAW,WAAW,GAAA;QACpB,OAAO,IAAI,CAAC,aAAa;IAC3B;AAeA;;;AAGG;IACH,IACW,YAAY,CAAC,KAAyB,EAAA;AAC/C,QAAA,IAAI,CAAC,YAAY,GAAG,CAAA,iBAAA,EAAoB,KAAK,EAAE;IACjD;IAwDA,IACW,YAAY,CAAC,KAA6B,EAAA;AACnD,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;QACzC;IACF;IAEA,IACW,WAAW,CAAC,KAA0C,EAAA;AAC/D,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;QAEzB,IAAI,KAAK,EAAE;AACT,YAAA,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QAChE;IACF;AAMA,IAAA,aAAa;AAEb,IAAA,YAAY;AACZ,IAAA,aAAa;8GArHF,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,oIAoBN,gBAAgB,CAAA,EAAA,YAAA,EAAA,CAAA,cAAA,EAAA,cAAA,EA3C7B,gBAAgB,CAAA,EAAA,YAAA,EAAA,CAAA,cAAA,EAAA,cAAA,EAAhB,gBAAgB,CAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAYZ;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,GAAA;AACR,oBAAA,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;AACtC,oBAAA,OAAO,SAAS,CAAC,UAAU,EAAE;gBAC/B,CAAC;AACF,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAgGa,qBAAqB,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAQzC,uBAAuB,gDC/IvC,ylEAqEA,EAAA,MAAA,EAAA,CAAA,ywDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FD3Ba,eAAe,EAAA,UAAA,EAAA,CAAA;kBAhB3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,EAAA,aAAA,EAGJ,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;4BAC1B,UAAU,GAAA;AACR,gCAAA,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;AACtC,gCAAA,OAAO,SAAS,CAAC,UAAU,EAAE;4BAC/B,CAAC;AACF,yBAAA;AACF,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,ylEAAA,EAAA,MAAA,EAAA,CAAA,ywDAAA,CAAA,EAAA;;sBAMhB;;sBAgBA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAOrC,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAOrC,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAUrC;;sBAOA;;sBAQA;;sBAUA;;sBAWA;;sBAUA;;sBAGA,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,qBAAqB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;;sBAQxD,YAAY;uBAAC,uBAAuB;;;MEtH1B,YAAY,CAAA;8GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,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,YAAY,iBAbrB,eAAe;YACf,qBAAqB;YACrB,sBAAsB;AACtB,YAAA,uBAAuB,aAEf,mBAAmB,EAAE,cAAc,EAAE,aAAa,aAE1D,eAAe;YACf,qBAAqB;YACrB,sBAAsB;YACtB,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAGd,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,YAAY,EAAA,OAAA,EAAA,CARb,mBAAmB,EAAE,cAAc,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;;2FAQjD,YAAY,EAAA,UAAA,EAAA,CAAA;kBAfxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,eAAe;wBACf,qBAAqB;wBACrB,sBAAsB;wBACtB,uBAAuB;AACxB,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,aAAa,CAAC;AAC7D,oBAAA,OAAO,EAAE;wBACP,eAAe;wBACf,qBAAqB;wBACrB,sBAAsB;wBACtB,uBAAuB;AACxB,qBAAA;AACF,iBAAA;;;ACrBD;;AAEG;MAEU,6BAA6B,CAAA;AACxC,IAAA,QAAQ;AACR,IAAA,kBAAkB;AAClB,IAAA,SAAS;AACT,IAAA,wBAAwB;AACxB,IAAA,SAAS;AAET,IAAA,mBAAmB;IAEnB,WAAA,CACE,kBAAyC,EACzC,eAAiC,EAAA;AAEjC,QAAA,IAAI,CAAC,mBAAmB,GAAG,kBAAkB;QAC7C,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC;IAClE;IAEO,cAAc,GAAA;;AAEnB,QAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE;YACjC,IAAI,CAAC,wBAAwB,EAAE;QACjC;IACF;AAEO,IAAA,KAAK,CAAC,OAAoB,EAAA;AAC/B,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,aAAa;;AAGtC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CACnD,IAAI,CAAC,SAAS,EACd,SAAS,EACT,CAAC,KAAiB,KAAI;AACpB,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,oBAAA,MAAM,MAAM,GAAQ,KAAK,CAAC,MAAM;AAChC,oBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE;wBAChE,KAAK,CAAC,cAAc,EAAE;wBACtB,KAAK,CAAC,eAAe,EAAE;wBACvB,KAAK,CAAC,wBAAwB,EAAE;wBAEhC,MAAM,CAAC,IAAI,EAAE;AACb,wBAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACtD;gBACF;AACF,YAAA,CAAC,CACF;QACH;IACF;IAEA,iBAAiB,CAAC,aAA0B,EAAE,QAAiB,EAAA;AAC7D,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,EAAE;;AAG9C,QAAA,MAAM,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC;;QAGlC,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;AACtD,QAAA,IAAI,QAAQ,GAAG,aAAa,GAAG,QAAQ;QACvC,OACE,SAAS,CAAC,QAAQ,CAAC;YACnB,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EACnD;YACA,QAAQ,IAAI,QAAQ;QACtB;QAEA,IACE,SAAS,CAAC,QAAQ,CAAC;YACnB,CAAC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EACpD;AACA,YAAA,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE;QAC7B;aAAO;;;AAGL,YAAA,QAAQ,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;;YAGlD,OACE,QAAQ,KAAK,aAAa;gBAC1B,SAAS,CAAC,QAAQ,CAAC;gBACnB,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EACnD;gBACA,QAAQ,IAAI,QAAQ;YACtB;;;YAIA,IACE,SAAS,CAAC,QAAQ,CAAC;gBACnB,CAAC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EACpD;AACA,gBAAA,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE;YAC7B;iBAAO;;;gBAGL,IAAI,QAAQ,CAAC,aAAa,IAAK,QAAQ,CAAC,aAAqB,CAAC,IAAI,EAAE;AACjE,oBAAA,QAAQ,CAAC,aAAqB,CAAC,IAAI,EAAE;gBACxC;AACA,gBAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;YACvB;QACF;;AAGA,QAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS;IACrC;IAEA,qBAAqB,GAAA;;AAEnB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,OAAO,IAAI,CAAC,kBAAkB;QAChC;AAEA,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CACrE,QAAQ,CAAC,IAAI,CACd;QAED,OAAO,IAAI,CAAC,kBAAkB;IAChC;AAEA,IAAA,yBAAyB,CAAC,OAAY,EAAA;;AAEpC,QAAA,QACE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;AAC9B,aAAC,CAAC,CAAC,IAAI,CAAC,SAAS;AACf,gBAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;iBAC/B,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;AAChC,oBAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,CAAC;IAEjE;AAEA,IAAA,gBAAgB,CAAC,OAAY,EAAA;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAC9C,OAAO,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ;IAClE;AAEA,IAAA,QAAQ,CAAC,KAAY,EAAA;;QAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAClD,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACvC;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAE,KAAa,CAAC,aAAa,CAAC;QAClE,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAqB,CAAC;;AAGhE,QAAA,QACE,WAAW,KAAK,UAAU,GAAG,CAAC;aAC7B,WAAW,KAAK,CAAC,IAAI,UAAU,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AACzD,YAAA,WAAW,GAAG,UAAU;AACxB,YAAA,CAAE,KAAa,CAAC,aAAa;IAEjC;8GAvJW,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAE,IAAA,CAAA,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA7B,6BAA6B,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADzC;;;ACND;;;AAGG;IACS;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC7B;;AAEG;AACH,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB;;AAEG;AACH,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACf,CAAC,EATW,mBAAmB,KAAnB,mBAAmB,GAAA,EAAA,CAAA,CAAA;;ACY/B;;AAEG;AACH,IAAIE,QAAM,GAAG,CAAC;MASD,wBAAwB,CAAA;AAgCnC,IAAA,eAAe;AACf,IAAA,eAAe;AACf,IAAA,MAAM;AACN,IAAA,YAAY;AAEZ,IAAA,WAAA,CACE,cAA6C,EAC7C,cAAiC,EACjC,KAAiB,EAAA;AAvCnB;;;AAGG;QAEI,IAAA,CAAA,OAAO,GAAwB,KAAK;AAE3C;;AAEG;AAEI,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAQ;AAEjD;;AAEG;AAEI,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAQ;AAE1C,QAAA,IAAA,CAAA,eAAe,GAAG,CAAA,iCAAA,EAAoC,EAAEA,QAAM,EAAE;AAEhE,QAAA,IAAA,CAAA,IAAI,GAAwB,mBAAmB,CAAC,QAAQ;AAQ5C,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,IAAI,iEAAC;QAKvD,IAAA,CAAA,YAAY,GAAG,KAAK;AAOlB,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;AACrC,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;AACrC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;IACrB;IAEU,cAAc,GAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;YACxB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;;YAGrD,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE;AAC1C,YAAA,CAAC,CAAC;QACJ;IACF;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE;AACrC,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;AAC/B,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;IACjC;AAEA;;AAEG;IACI,aAAa,GAAA;AAClB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;IAC7B;AAEA;;AAEG;IACI,aAAa,GAAA;AAClB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;IAC7B;AAEA;;;;AAIG;AACI,IAAA,OAAO,CAAC,IAAyB,EAAA;AACtC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE;IACtC;8GAvFW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,6BAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,SAAA,EAHxB,CAAC,qBAAqB,EAAE,6BAA6B,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EA4BzD,UAAU,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrDpB,wyCAuCA,EAAA,MAAA,EAAA,CAAA,gpEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,gCAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,GAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDXa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,aAGlB,CAAC,qBAAqB,EAAE,6BAA6B,CAAC,cACrD,KAAK,EAAA,QAAA,EAAA,wyCAAA,EAAA,MAAA,EAAA,CAAA,gpEAAA,CAAA,EAAA;;sBAOhB;;sBAMA;;sBAMA;;sBAOA,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE;AACnB,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,MAAM,EAAE,KAAK;AACd,qBAAA;;;MEtCU,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAArB,qBAAqB,EAAA,YAAA,EAAA,CARjB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAErC,gCAAgC;YAChC,wBAAwB;AACxB,YAAA,aAAa,aAEL,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAEvB,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,qBAAqB,YAL9B,wBAAwB;YACxB,aAAa,CAAA,EAAA,CAAA,CAAA;;2FAIJ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBATjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;AACxC,oBAAA,OAAO,EAAE;wBACP,gCAAgC;wBAChC,wBAAwB;wBACxB,aAAa;AACd,qBAAA;oBACD,OAAO,EAAE,CAAC,wBAAwB,CAAC;AACpC,iBAAA;;;ACbD;;;AAGG;MAQU,uBAAuB,CAAA;8GAAvB,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,oJCdpC,kBACA,EAAA,MAAA,EAAA,CAAA,6vBAAA,CAAA,EAAA,CAAA,CAAA;;2FDaa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,UAAA,EAGhB,KAAK,EAAA,cAAA,EACD,CAAC,+BAA+B,CAAC,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,6vBAAA,CAAA,EAAA;;;AEVnD;;;AAGG;MAMU,uBAAuB,CAAA;8GAAvB,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,6ECXpC,kBACA,EAAA,CAAA,CAAA;;2FDUa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,cAEhB,KAAK,EAAA,QAAA,EAAA,kBAAA,EAAA;;;AEPnB;;;AAGG;MAMU,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,2ECXlC,kBACA,EAAA,CAAA,CAAA;;2FDUa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,cAEd,KAAK,EAAA,QAAA,EAAA,kBAAA,EAAA;;;AEUnB;;;AAGG;MAOU,gBAAgB,CAAA;AAC3B;;;AAGG;IACH,IACW,IAAI,CAAC,KAAyB,EAAA;AACvC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,OAAO;IAChC;AAEA,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,MAAM;IACpB;AAgCA,IAAA,aAAa;AACb,IAAA,MAAM;AAEN,IAAA,WAAA,CAAY,MAAqB,EAAA;AAjCjC;;;;AAIG;QAEI,IAAA,CAAA,UAAU,GAAwB,KAAK;AAE9C;;;;AAIG;QAEI,IAAA,CAAA,QAAQ,GAAwB,KAAK;AAE5C;;AAEG;AAEI,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAW;QAQ5C,IAAA,CAAA,SAAS,GAAG,IAAI;QAGvB,IAAA,CAAA,MAAM,GAAG,OAAO;AAGd,QAAA,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE;AACpC,YAAA,uBAAuB,EAAE,CAAC;AAC1B,YAAA,WAAW,EACT,4EAA4E;AAC9E,YAAA,yBAAyB,EACvB,iGAAiG;AACpG,SAAA,CAAC;IACJ;IAEO,kBAAkB,GAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;AAExE,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC,MAAK;AAC/D,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;AAC1E,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,IAAI,KAAI;AAC3C,YAAA,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC;AACxC,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,SAAS,CAAC,MAAK;YACjD,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,IAAI,KAAI;AAC3C,gBAAA,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC;AACxC,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEO,YAAY,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ;YAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzC;IACF;AAEO,IAAA,gBAAgB,CAAC,QAAiB,EAAA;QACvC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACjD,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;YACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzC;IACF;IAEO,WAAW,GAAA;;;AAGhB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;QAClC;IACF;8GA/FW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAI,IAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,SAAA,EAoCV,wBAAwB,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,SAAA,EAGxB,qBAAqB,6BCpExC,g5CAiDA,EAAA,MAAA,EAAA,CAAA,imIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,EAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,cAAA,EAAA,SAAA,EAAA,eAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDpBa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,cAGR,KAAK,EAAA,QAAA,EAAA,g5CAAA,EAAA,MAAA,EAAA,CAAA,imIAAA,CAAA,EAAA;;sBAOhB;;sBAcA;;sBAQA;;sBAMA;;sBAGA,eAAe;uBAAC,wBAAwB;;sBAGxC,eAAe;uBAAC,qBAAqB;;;AEvDxC;;AAEG;MAsBU,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,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,aAAa,iBAnBtB,uBAAuB;YACvB,gBAAgB;YAChB,uBAAuB;AACvB,YAAA,qBAAqB,aAGrB,YAAY;YACZ,WAAW;YACX,iBAAiB;YACjB,wBAAwB;AACxB,YAAA,qBAAqB,aAGrB,uBAAuB;YACvB,gBAAgB;YAChB,uBAAuB;YACvB,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAGZ,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,aAAa,YAbtB,YAAY;YACZ,WAAW;YACX,iBAAiB;YACjB,wBAAwB;YACxB,qBAAqB,CAAA,EAAA,CAAA,CAAA;;2FASZ,aAAa,EAAA,UAAA,EAAA,CAAA;kBArBzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,uBAAuB;wBACvB,gBAAgB;wBAChB,uBAAuB;wBACvB,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,iBAAiB;wBACjB,wBAAwB;wBACxB,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,uBAAuB;wBACvB,gBAAgB;wBAChB,uBAAuB;wBACvB,qBAAqB;AACtB,qBAAA;AACF,iBAAA;;;AClCD;;;AAGG;MAQU,iCAAiC,CAAA;8GAAjC,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,wFCb9C,yEAGA,EAAA,MAAA,EAAA,CAAA,+EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDUa,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAP7C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,EAAA,eAAA,EAGtB,uBAAuB,CAAC,MAAM,cACnC,KAAK,EAAA,QAAA,EAAA,yEAAA,EAAA,MAAA,EAAA,CAAA,+EAAA,CAAA,EAAA;;;AETnB;;;AAGG;MAQU,iCAAiC,CAAA;8GAAjC,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,wFCb9C,kGAGA,EAAA,MAAA,EAAA,CAAA,mDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDUa,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAP7C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,EAAA,eAAA,EAGtB,uBAAuB,CAAC,MAAM,cACnC,KAAK,EAAA,QAAA,EAAA,kGAAA,EAAA,MAAA,EAAA,CAAA,mDAAA,CAAA,EAAA;;;AEPnB;;AAEG;MAEU,wBAAwB,CAAA;AADrC,IAAA,WAAA,GAAA;AAES,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAqB,EAAE,CAAC;AAExD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,eAAe,CAAqB,EAAE,CAAC;AAClE,IAAA;8GAJY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAxB,wBAAwB,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC;;;ACHD;;;AAGG;MAQU,+BAA+B,CAAA;AAG1C,IAAA,WAAA,CAAmB,OAAiC,EAAA;QAAjC,IAAA,CAAA,OAAO,GAAP,OAAO;IAA6B;8GAH5C,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,sFCf5C,mKAQA,EAAA,MAAA,EAAA,CAAA,0FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAP,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDOa,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAP3C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAAA,eAAA,EAGpB,uBAAuB,CAAC,MAAM,cACnC,KAAK,EAAA,QAAA,EAAA,mKAAA,EAAA,MAAA,EAAA,CAAA,0FAAA,CAAA,EAAA;;;AETnB;;;AAGG;MAOU,+BAA+B,CAAA;AAG1C,IAAA,WAAA,CAAmB,OAAiC,EAAA;QAAjC,IAAA,CAAA,OAAO,GAAP,OAAO;IAA6B;8GAH5C,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAO,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,sFCd5C,yUAaA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAP,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDCa,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAN3C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,cAGzB,KAAK,EAAA,QAAA,EAAA,yUAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA;;;AEPnB;;;AAGG;MASU,0BAA0B,CAAA;AACrC;;;AAGG;IACH,IACW,UAAU,CAAC,KAAyB,EAAA;QAC7C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;IACrC;AAEA;;;;AAIG;IACH,IACW,YAAY,CAAC,KAAyB,EAAA;QAC/C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;IACvC;IAEA,WAAA,CACS,OAAiC,EACxC,MAAqB,EAAA;QADd,IAAA,CAAA,OAAO,GAAP,OAAO;AAGd,QAAA,MAAM,CAAC,UAAU,CAAC,4BAA4B,EAAE;AAC9C,YAAA,uBAAuB,EAAE,CAAC;AAC1B,YAAA,WAAW,EACT,mEAAmE;AACrE,YAAA,yBAAyB,EAAE,4CAA4C;AACxE,SAAA,CAAC;IACJ;8GA9BW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAM,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAAP,IAAA,CAAA,aAAA,EAAA,CAAA,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,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,SAAA,EAJ1B,CAAC,wBAAwB,CAAC,0BCbvC,iKAIA,EAAA,MAAA,EAAA,CAAA,8DAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDaa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBARtC,SAAS;+BACE,qBAAqB,EAAA,SAAA,EAGpB,CAAC,wBAAwB,CAAC,mBACpB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,KAAK,EAAA,QAAA,EAAA,iKAAA,EAAA,MAAA,EAAA,CAAA,8DAAA,CAAA,EAAA;;sBAOhB;;sBAUA;;;AErBH;;AAEG;MAkBU,uBAAuB,CAAA;8GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,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,uBAAuB,iBAfhC,0BAA0B;YAC1B,iCAAiC;YACjC,iCAAiC;YACjC,+BAA+B;AAC/B,YAAA,+BAA+B,CAAA,EAAA,OAAA,EAAA,CAEvB,YAAY,EAAE,wBAAwB,aAE9C,0BAA0B;YAC1B,iCAAiC;YACjC,iCAAiC;YACjC,+BAA+B;YAC/B,+BAA+B,CAAA,EAAA,CAAA,CAAA;+GAGtB,uBAAuB,EAAA,OAAA,EAAA,CATxB,YAAY,EAAE,wBAAwB,CAAA,EAAA,CAAA,CAAA;;2FASrC,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAjBnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;wBAC1B,iCAAiC;wBACjC,iCAAiC;wBACjC,+BAA+B;wBAC/B,+BAA+B;AAChC,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,wBAAwB,CAAC;AACjD,oBAAA,OAAO,EAAE;wBACP,0BAA0B;wBAC1B,iCAAiC;wBACjC,iCAAiC;wBACjC,+BAA+B;wBAC/B,+BAA+B;AAChC,qBAAA;AACF,iBAAA;;;AC1BD;;AAEG;MAEU,yBAAyB,CAAA;AACpC,IAAA,IAAW,kBAAkB,GAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE;IACjD;AAEA,IAAA,oBAAoB,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;IAE/C,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE;IACtC;AAEO,IAAA,wBAAwB,CAAC,KAAa,EAAA;AAC3C,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;IACvC;8GAbW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAzB,yBAAyB,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC;;;ACUD;;AAEG;MAQU,sCAAsC,CAAA;AAajD,IAAA,eAAe;AACf,IAAA,cAAc,GAAG,IAAI,OAAO,EAAQ;AACpC,IAAA,SAAS;AAET,IAAA,WAAA,CACS,OAAkC,EACzC,cAAiC,EACrB,QAA0B,EAAA;QAF/B,IAAA,CAAA,OAAO,GAAP,OAAO;AAId,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;IAC3B;IAEO,QAAQ,GAAA;;AAEb,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC;AACZ,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;AACnC,iBAAA,SAAS,CAAC,CAAC,aAAa,KAAI;gBAC3B,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI;AACzD,gBAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;AACrC,YAAA,CAAC,CAAC;QACN;IACF;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;AAC1B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;IAChC;8GAzCW,sCAAsC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAQ,yBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAR,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtC,sCAAsC,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAQzC,WAAW,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnCrB,ohBAkBA,EAAA,MAAA,EAAA,CAAA,mGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAQ,IAAA,CAAA,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDSa,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBAPlD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kCAAkC,EAAA,eAAA,EAG3B,uBAAuB,CAAC,MAAM,cACnC,KAAK,EAAA,QAAA,EAAA,ohBAAA,EAAA,MAAA,EAAA,CAAA,mGAAA,CAAA,EAAA;;0BAsBd;;sBAbF,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,wBAAwB,EAAE;AACnC,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA;;;AEjCH;;;;AAIG;MAOU,+BAA+B,CAAA;AAN5C,IAAA,WAAA,GAAA;AAaqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,kCAAkC,EAAE;AACtE,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC;AACH,IAAA;8GAVY,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA/B,+BAA+B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAElC,WAAW,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjBrB,6iBAeA,EAAA,MAAA,EAAA,CAAA,kLAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,EAAA,EAAA,QAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDAa,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAN3C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,cAGzB,KAAK,EAAA,QAAA,EAAA,6iBAAA,EAAA,MAAA,EAAA,CAAA,kLAAA,CAAA,EAAA;;sBAGhB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE;AAC5B,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA;;;AERH;;AAEG;MAMU,kCAAkC,CAAA;8GAAlC,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kCAAkC,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,SAAA,EAC5B,+BAA+B,EAAA,EAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,SAAA,EAG/B,sCAAsC,6BCvBzD,kBACA,EAAA,CAAA,CAAA;;2FDkBa,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAL9C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,cAE5B,KAAK,EAAA,QAAA,EAAA,kBAAA,EAAA;;sBAGhB,eAAe;uBAAC,+BAA+B;;sBAG/C,eAAe;uBAAC,sCAAsC;;sBAStD;;sBAQA;;sBAOA;;;AExCH;;AAEG;MAEU,gCAAgC,CAAA;AAC3C,IAAA,SAAS;AAET,IAAA,WAAA,CAAY,eAAiC,EAAA;QAC3C,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC;IAClE;AAEO,IAAA,QAAQ,CAAC,UAAsB,EAAA;AACpC,QAAA,OAAO,UAAU,CAAC,aAAa,CAAC,WAAW;IAC7C;AAEO,IAAA,kBAAkB,CAAC,OAAmB,EAAA;AAC3C,QAAA,MAAM,QAAQ,GAAQ,OAAO,CAAC,aAAa;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;QAErD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,6BAA6B,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,6BAA6B,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,6BAA6B,CAAC;QAEnE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC9C;AAEA,IAAA,uBAAuB,CAAC,KAAa,EAAA;QACnC,MAAM,qBAAqB,GAAG,GAAG;QACjC,MAAM,qBAAqB,GAAG,GAAG;QACjC,MAAM,qBAAqB,GAAG,GAAG;AAEjC,QAAA,IAAI,KAAK,IAAI,qBAAqB,EAAE;AAClC,YAAA,OAAO,6BAA6B;QACtC;aAAO,IACL,KAAK,IAAI,qBAAqB;YAC9B,KAAK,IAAI,qBAAqB,EAC9B;AACA,YAAA,OAAO,6BAA6B;QACtC;aAAO;AACL,YAAA,OAAO,6BAA6B;QACtC;IACF;8GAtCW,gCAAgC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAhC,gCAAgC,EAAA,CAAA,CAAA;;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAD5C;;;ACYD;;AAEG;MASU,2BAA2B,CAAA;AAGtC;;;;AAIG;IACH,IACW,kBAAkB,CAAC,KAAa,EAAA;AACzC,QAAA,IAAI,CAAC,uBAAuB,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC9D;AASA;;;AAGG;IACH,IACW,IAAI,CAAC,KAA6C,EAAA;AAC3D,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,UAAU;IACnC;AAEA,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,MAAM;IACpB;AAaA,IAAA,cAAc,GAAG,IAAI,OAAO,EAAQ;IACpC,MAAM,GAA+B,UAAU;AAE/C,IAAA,eAAe;AACf,IAAA,eAAe;AACf,IAAA,uBAAuB;AAEvB,IAAA,WAAA,CACE,cAAgD,EAChD,cAAiC,EACjC,sBAAiD,EAAA;AAEjD,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;AACrC,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;AACrC,QAAA,IAAI,CAAC,uBAAuB,GAAG,sBAAsB;IACvD;IAEO,kBAAkB,GAAA;;QAEvB,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,sBAAsB,EAAE;AAC/B,QAAA,CAAC,CAAC;;AAGF,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC;AACpB,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;iBACnC,SAAS,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;AACrC,YAAA,CAAC,CAAC;QACN;IACF;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;AAC1B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;IAChC;IAGO,cAAc,GAAA;QACnB,IAAI,CAAC,sBAAsB,EAAE;IAC/B;IAEA,sBAAsB,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AACxD,YAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;QACrC;IACF;8GA5FW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAS,gCAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAJ3B,CAAC,gCAAgC,EAAE,yBAAyB,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,SAAA,EAqCvD,kCAAkC,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAM3C,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxEpB,mzCA2CA,EAAA,MAAA,EAAA,CAAA,i/HAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDVa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;+BACE,sBAAsB,EAAA,SAAA,EAGrB,CAAC,gCAAgC,EAAE,yBAAyB,CAAC,EAAA,eAAA,EACvD,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,KAAK,EAAA,QAAA,EAAA,mzCAAA,EAAA,MAAA,EAAA,CAAA,i/HAAA,CAAA,EAAA;;sBAUhB;;sBASA;;sBAOA;;sBASA,eAAe;uBAAC,kCAAkC;;sBAKlD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,wBAAwB,EAAE;AACnC,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA;;sBAyCA,YAAY;uBAAC,eAAe;;;MEhFlB,wBAAwB,CAAA;8GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAxB,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,wBAAwB,iBApBjC,2BAA2B;YAC3B,kCAAkC;YAClC,+BAA+B;AAC/B,YAAA,sCAAsC,aAGtC,YAAY;YACZ,mBAAmB;YACnB,WAAW;YACX,wBAAwB;YACxB,cAAc;AACd,YAAA,aAAa,aAGb,2BAA2B;YAC3B,kCAAkC;YAClC,+BAA+B;YAC/B,sCAAsC,CAAA,EAAA,CAAA,CAAA;AAG7B,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,wBAAwB,YAdjC,YAAY;YACZ,mBAAmB;YACnB,WAAW;YACX,wBAAwB;YACxB,cAAc;YACd,aAAa,CAAA,EAAA,CAAA,CAAA;;2FASJ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAtBpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,2BAA2B;wBAC3B,kCAAkC;wBAClC,+BAA+B;wBAC/B,sCAAsC;AACvC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,WAAW;wBACX,wBAAwB;wBACxB,cAAc;wBACd,aAAa;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,2BAA2B;wBAC3B,kCAAkC;wBAClC,+BAA+B;wBAC/B,sCAAsC;AACvC,qBAAA;AACF,iBAAA;;;AClCD;;;;AAIG;IACS;AAAZ,CAAA,UAAY,sBAAsB,EAAA;AAChC;;;AAGG;AACH,IAAA,sBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AAEzB;;;;AAIG;AACH,IAAA,sBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC;AAEnC;;AAEG;AACH,IAAA,sBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,CAAC,EAlBW,sBAAsB,KAAtB,sBAAsB,GAAA,EAAA,CAAA,CAAA;;ACKlC;;AAEG;MAQU,kBAAkB,CAAA;AAC7B;;;;;AAKG;IACH,IACW,YAAY,CAAC,KAAyB,EAAA;AAC/C,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,IAAI,EAAE;IACnC;AAEA,IAAA,IAAW,YAAY,GAAA;QACrB,OAAO,IAAI,CAAC,cAAc;IAC5B;IA6BA,cAAc,GAAG,EAAE;AAEZ,IAAA,WAAW,CAAC,OAAsB,EAAA;;QAEvC,IACE,OAAO,CAAC,cAAc,CAAC;YACvB,OAAO,CAAC,aAAa,CAAC;YACtB,OAAO,CAAC,cAAc,CAAC;AACvB,YAAA,OAAO,CAAC,aAAa,CAAC,EACtB;AACA,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE;QACxC;IACF;IAEO,aAAa,GAAA;AAClB,QAAA,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC;AAEjC,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,UAAU,CAAC,IAAI,CAAC,CAAA,cAAA,EAAiB,IAAI,CAAC,YAAY,CAAA,CAAE,CAAC;QACvD;AAEA,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,UAAU,CAAC,IAAI,CAAC,CAAA,cAAA,EAAiB,IAAI,CAAC,WAAW,CAAA,CAAE,CAAC;QACtD;AAEA,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,UAAU,CAAC,IAAI,CAAC,CAAA,cAAA,EAAiB,IAAI,CAAC,YAAY,CAAA,CAAE,CAAC;QACvD;AAEA,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,UAAU,CAAC,IAAI,CAAC,CAAA,cAAA,EAAiB,IAAI,CAAC,WAAW,CAAA,CAAE,CAAC;QACtD;AAEA,QAAA,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;IAC7B;IAEO,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE;IACxC;8GAjFW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,kRCpB/B,kBACA,EAAA,MAAA,EAAA,CAAA,srXAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDmBa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,aAAA,EAGP,iBAAiB,CAAC,IAAI,cACzB,KAAK,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,srXAAA,CAAA,EAAA;;sBAShB;;sBAcA;;sBAQA;;sBAQA;;sBAGA,WAAW;uBAAC,OAAO;;;AExDtB;;;AAGG;MAOU,qBAAqB,CAAA;AANlC,IAAA,WAAA,GAAA;AAOE;;;AAGG;QAEI,IAAA,CAAA,aAAa,GAAwB,KAAK;QAgBjD,IAAA,CAAA,YAAY,GAA+B,OAAO;AACnD,IAAA;AAfC;;;;AAIG;IACH,IACW,UAAU,CAAC,KAA6C,EAAA;AACjE,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,IAAI,OAAO;IACtC;AAEA,IAAA,IAAW,UAAU,GAAA;QACnB,OAAO,IAAI,CAAC,YAAY;IAC1B;AAEA,IAAA,YAAY;8GAtBD,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,iJCdlC,6UAWA,EAAA,MAAA,EAAA,CAAA,g5CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDGa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,cAGd,KAAK,EAAA,QAAA,EAAA,6UAAA,EAAA,MAAA,EAAA,CAAA,g5CAAA,CAAA,EAAA;;sBAOhB;;sBAQA;;;AEzBH;;;AAGG;MAOU,eAAe,CAAA;AAN5B,IAAA,WAAA,GAAA;AAOE;;;AAGG;QAEI,IAAA,CAAA,kBAAkB,GAAwB,KAAK;AACvD,IAAA;8GAPY,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,0HCZ5B,6GAGA,EAAA,MAAA,EAAA,CAAA,gnIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDSa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,cAGP,KAAK,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,gnIAAA,CAAA,EAAA;;sBAOhB;;;MELU,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,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,kBAAkB,EAAA,YAAA,EAAA,CAHd,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAD/D,YAAY,CAAA,EAAA,OAAA,EAAA,CAEZ,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAEzD,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,kBAAkB,YAJnB,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAIX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,YAAY,EAAE,CAAC,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;AAC1E,oBAAA,OAAO,EAAE,CAAC,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;AACtE,iBAAA;;;ACFD,MAAM,UAAU,GAAG,WAAW;MAQjB,kBAAkB,CAAA;AAN/B,IAAA,WAAA,GAAA;QAOS,IAAA,CAAA,eAAe,GAAoB,EAAE;AA0D7C,IAAA;AAxDC;;;AAGG;IACH,IACW,IAAI,CAAC,KAAyB,EAAA;AACvC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,sBAAsB,EAAE;IAC/B;AAEA,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA;;;AAGG;IACH,IACW,IAAI,CAAC,KAAqC,EAAA;AACnD,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,sBAAsB,EAAE;IAC/B;AAEA,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA,IAAA,MAAM;AAEN,IAAA,MAAM;IAEN,sBAAsB,GAAA;AACpB,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE;QAEzB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;AAE7C,YAAA,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;;gBAEhC,IAAI,QAAQ,EAAE;oBACZ,MAAM,IAAI,GAAkB,EAAE;AAE9B,oBAAA,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAC7B,wBAAA,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;wBAE9D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC1C;yBAAO;AACL,wBAAA,IAAI,CAAC,IAAI,GAAG,QAAQ;oBACtB;AAEA,oBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;gBACjC;YACF;QACF;IACF;8GA1DW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,+GCjB/B,+NAOA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDUa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,eAAA,EAEL,uBAAuB,CAAC,MAAM,cACnC,KAAK,EAAA,QAAA,EAAA,+NAAA,EAAA;;sBAShB;;sBAcA;;;ME5BU,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,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,eAAe,EAAA,YAAA,EAAA,CAJX,kBAAkB,CAAA,EAAA,OAAA,EAAA,CACvB,YAAY,aACZ,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAEjB,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,eAAe,YAHhB,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAGX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;oBAClC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC9B,iBAAA;;;ACPD;;;;AAIG;AAOH;AACA;MACa,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,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,mFCfzC,kBACA,EAAA,MAAA,EAAA,CAAA,6EAAA,CAAA,EAAA,CAAA,CAAA;;2FDca,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBARxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,cAGtB,KAAK,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,6EAAA,CAAA,EAAA;;;AETnB;;;AAGG;AAOH;AACA;MACa,8BAA8B,CAAA;8GAA9B,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,qFCd3C,sEAGA,EAAA,MAAA,EAAA,CAAA,8CAAA,CAAA,EAAA,CAAA,CAAA;;2FDWa,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAR1C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,cAGxB,KAAK,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,8CAAA,CAAA,EAAA;;;AERnB;;;;AAIG;AAOH;AACA;MACa,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,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,mFCfzC,oEAGA,EAAA,MAAA,EAAA,CAAA,6wBAAA,CAAA,EAAA,CAAA,CAAA;;2FDYa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBARxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,cAGtB,KAAK,EAAA,QAAA,EAAA,oEAAA,EAAA,MAAA,EAAA,CAAA,6wBAAA,CAAA,EAAA;;;AETnB;;;;AAIG;MAOU,8BAA8B,CAAA;8GAA9B,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,sFCb3C,uEAGA,EAAA,MAAA,EAAA,CAAA,otBAAA,CAAA,EAAA,CAAA,CAAA;;2FDUa,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAN1C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,cAGzB,KAAK,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,CAAA,otBAAA,CAAA,EAAA;;;AETnB;;;;AAIG;AAOH;AACA;MACa,6BAA6B,CAAA;8GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,oFCf1C,qEAGA,EAAA,MAAA,EAAA,CAAA,4GAAA,CAAA,EAAA,CAAA,CAAA;;2FDYa,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBARzC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,cAGvB,KAAK,EAAA,QAAA,EAAA,qEAAA,EAAA,MAAA,EAAA,CAAA,4GAAA,CAAA,EAAA;;;AETnB;;;AAGG;AAOH;AACA;MACa,+BAA+B,CAAA;8GAA/B,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,sFCd5C,oGAGA,EAAA,MAAA,EAAA,CAAA,+EAAA,CAAA,EAAA,CAAA,CAAA;;2FDWa,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAR3C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,cAGzB,KAAK,EAAA,QAAA,EAAA,oGAAA,EAAA,MAAA,EAAA,CAAA,+EAAA,CAAA,EAAA;;;AERnB;;;AAGG;AAOH;AACA;MACa,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,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,mFCdzC,2FAGA,EAAA,MAAA,EAAA,CAAA,2DAAA,CAAA,EAAA,CAAA,CAAA;;2FDWa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBARxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,cAGtB,KAAK,EAAA,QAAA,EAAA,2FAAA,EAAA,MAAA,EAAA,CAAA,2DAAA,CAAA,EAAA;;;AERnB;;AAEG;MAEU,4BAA4B,CAAA;IAChC,qBAAqB,CAAC,KAAiB,EAAE,IAAa,EAAA;AAC3D,QAAA,MAAM,EAAE,GAAG,KAAK,CAAC,aAAa;QAC9B,MAAM,kBAAkB,GAAG,EAAE,CAAC,aAAa,CACzC,sCAAsC,CACvC;QAED,IAAI,IAAI,EAAE;YACR,EAAE,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC,WAAW,CAC3D,kBAAkB,CACnB;QACH;aAAO;YACL,EAAE,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC,WAAW,CAC3D,kBAAkB,CACnB;QACH;IACF;8GAhBW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA5B,4BAA4B,EAAA,CAAA,CAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADxC;;;ACQD;;;AAGG;MAQU,uBAAuB,CAAA;AAGzB,IAAA,WAAW;AAIpB,IAAA,WAAA,GAAA;AANU,QAAA,IAAA,CAAA,iBAAiB,GAAG,eAAe,CAAC,8BAA8B,6DAAC;QAEpE,IAAA,CAAA,WAAW,GAAG,QAAQ,CAC7B,MAAM,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,CAC9C;AAGC,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,4BAA4B,CAAC;AACpD,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;AAEhC,QAAA,MAAM,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,yBAAyB,EAAE;AAC1D,YAAA,uBAAuB,EAAE,CAAC;AAC1B,YAAA,WAAW,EACT,sEAAsE;AACxE,YAAA,yBAAyB,EACvB,+KAA+K;AAClL,SAAA,CAAC;QAEF,MAAM,CAAC,MAAK;AACV,YAAA,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC;AACnE,QAAA,CAAC,CAAC;IACJ;8GAtBW,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,gEAHvB,CAAC,4BAA4B,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,SAAA,EAIK,8BAA8B,6CCzB9E,64BAyBA,EAAA,MAAA,EAAA,CAAA,44EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDDa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,SAAA,EAGjB,CAAC,4BAA4B,CAAC,cAC7B,KAAK,EAAA,QAAA,EAAA,64BAAA,EAAA,MAAA,EAAA,CAAA,44EAAA,CAAA,EAAA;mIAG6B,8BAA8B,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEb9E;;AAEG;MAwBU,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,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,oBAAoB,iBArB7B,4BAA4B;YAC5B,uBAAuB;YACvB,8BAA8B;YAC9B,4BAA4B;YAC5B,8BAA8B;YAC9B,6BAA6B;YAC7B,+BAA+B;YAC/B,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAEpB,YAAY,CAAA,EAAA,OAAA,EAAA,CAEpB,4BAA4B;YAC5B,uBAAuB;YACvB,8BAA8B;YAC9B,4BAA4B;YAC5B,8BAA8B;YAC9B,6BAA6B;YAC7B,+BAA+B;YAC/B,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAGnB,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,oBAAoB,YAZrB,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAYX,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAvBhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,4BAA4B;wBAC5B,uBAAuB;wBACvB,8BAA8B;wBAC9B,4BAA4B;wBAC5B,8BAA8B;wBAC9B,6BAA6B;wBAC7B,+BAA+B;wBAC/B,4BAA4B;AAC7B,qBAAA;oBACD,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,OAAO,EAAE;wBACP,4BAA4B;wBAC5B,uBAAuB;wBACvB,8BAA8B;wBAC9B,4BAA4B;wBAC5B,8BAA8B;wBAC9B,6BAA6B;wBAC7B,+BAA+B;wBAC/B,4BAA4B;AAC7B,qBAAA;AACF,iBAAA;;;AC9BD;;AAEG;MAEU,2BAA2B,CAAA;AACtC,IAAA,SAAS;AAET,IAAA,WAAA,CAAY,eAAiC,EAAA;QAC3C,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC;IAClE;AAEO,IAAA,kBAAkB,CAAC,WAAuB,EAAA;AAC/C,QAAA,OAAO,WAAW,CAAC,aAAa,CAAC,YAAY;IAC/C;AAEO,IAAA,wBAAwB,CAAC,WAAuB,EAAA;QACrD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC;IACrE;IAEO,qBAAqB,CAAC,WAAuB,EAAE,MAAc,EAAA;AAClE,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CACrB,WAAW,CAAC,aAAa,EACzB,YAAY,EACZ,CAAA,EAAG,MAAM,CAAA,EAAA,CAAI,CACd;IACH;IAEO,OAAO,CAAC,MAAkB,EAAE,IAAY,EAAA;AAC7C,QAAA,MAAM,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI;IACzC;8GAzBW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA3B,2BAA2B,EAAA,CAAA,CAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC;;;ACND;;AAEG;AACI,MAAM,6BAA6B,GACxC,IAAI,cAAc,CAA4B,2BAA2B,CAAC;;ACA5E;;AAEG;MAOU,2BAA2B,CAAA;IACtC,WAAA,CAES,OAAkC,EAClC,QAA0B,EAAA;QAD1B,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,QAAQ,GAAR,QAAQ;IACd;IAEI,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;IACvB;AATW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAE5B,6BAA6B,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAF5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjBxC,kZAWA,EAAA,MAAA,EAAA,CAAA,4qBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIY,cAAc,6dAAE,wBAAwB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAEvC,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EAAA,OAAA,EAGxB,CAAC,cAAc,EAAE,wBAAwB,CAAC,EAAA,QAAA,EAAA,kZAAA,EAAA,MAAA,EAAA,CAAA,4qBAAA,CAAA,EAAA;;0BAIhD,MAAM;2BAAC,6BAA6B;;;AEDzC;;AAEG;AACH,IAAII,QAAM,GAAG,CAAC;MASD,sBAAsB,CAAA;AAQjC;;;;;AAKG;IACH,IACW,iBAAiB,CAAC,KAAyB,EAAA;QACpD,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;QAClC;aAAO;AACL,YAAA,IAAI,CAAC,mBAAmB,GAAG,GAAG;QAChC;AACA,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB;AAEA,IAAA,IAAW,iBAAiB,GAAA;QAC1B,OAAO,IAAI,CAAC,mBAAmB;IACjC;AAEA;;;;;AAKG;IACH,IACW,mBAAmB,CAAC,KAAyB,EAAA;QACtD,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;QACpC;aAAO;AACL,YAAA,IAAI,CAAC,qBAAqB,GAAG,CAAC;QAChC;AACA,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB;AAEA,IAAA,IAAW,mBAAmB,GAAA;QAC5B,OAAO,IAAI,CAAC,qBAAqB;IACnC;AAEA;;;;;AAKG;IACH,IACW,SAAS,CAAC,KAAyB,EAAA;QAC5C,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;QAC1B;aAAO;AACL,YAAA,IAAI,CAAC,WAAW,GAAG,GAAG;QACxB;AACA,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB;AAEA,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,WAAW;IACzB;AAEA;;AAEG;IACH,IACW,IAAI,CAAC,KAAyB,EAAA;AACvC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,EAAE;AACzB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B;AAEA,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,MAAM;IACpB;IAwBA,IAIW,MAAM,CAAC,KAA6B,EAAA;AAC7C,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB;AAEA,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,QAAQ;IACtB;AAEA,IAAA,cAAc;AAEd,IAAA,aAAa;AAEb,IAAA,YAAY;AAEZ,IAAA,YAAY;AAEZ,IAAA,WAAW;AAEX,IAAA,mBAAmB;AAEnB,IAAA,qBAAqB;AAErB,IAAA,WAAW;AAEX,IAAA,MAAM;AAEN,IAAA,QAAQ;AAER,IAAA,UAAU;AACV,IAAA,SAAS;AACT,IAAA,kBAAkB;AAElB,IAAA,WAAA,CACE,SAAiC,EACjC,QAAyB,EACzB,iBAA8C,EAAA;AA9DhD;;AAEG;QAEI,IAAA,CAAA,gBAAgB,GAAG,IAAI;QAEvB,IAAA,CAAA,UAAU,GAAG,EAAE;AAEf,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAA,wBAAA,EAA2B,EAAEA,QAAM,EAAE;QAExD,IAAA,CAAA,UAAU,GAAG,KAAK;QAIlB,IAAA,CAAA,OAAO,GAAG,KAAK;QAqBtB,IAAA,CAAA,cAAc,GAAG,EAAE;QAEnB,IAAA,CAAA,aAAa,GAAG,CAAC;QAEjB,IAAA,CAAA,YAAY,GAAG,EAAE;QAEjB,IAAA,CAAA,YAAY,GAAG,EAAE;QAEjB,IAAA,CAAA,WAAW,GAAG,EAAE;QAEhB,IAAA,CAAA,mBAAmB,GAAG,GAAG;QAEzB,IAAA,CAAA,qBAAqB,GAAG,CAAC;QAEzB,IAAA,CAAA,WAAW,GAAG,GAAG;QAEjB,IAAA,CAAA,MAAM,GAAG,EAAE;AAaT,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS;AAC3B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,kBAAkB,GAAG,iBAAiB;IAC7C;IAEO,UAAU,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;;;;AAIhB,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2BAA2B,EAAE;AAC/C,oBAAA;AACE,wBAAA,OAAO,EAAE,6BAA6B;AACtC,wBAAA,QAAQ,EAAE;4BACR,MAAM,EAAE,IAAI,CAAC,gBAAgB;4BAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;AAChB,yBAAA;AACF,qBAAA;AACF,iBAAA,CAAC;YACJ;QACF;aAAO;;AAEL,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACzB;iBAAO;AACL,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC1B;QACF;IACF;IAEO,YAAY,GAAA;QACjB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE;;AAEnC,YAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC;;YAG9D,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC;QACpE;IACF;IAEO,kBAAkB,GAAA;AACvB,QAAAO,QAAkB,CAAC;AACjB,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,4BAA4B,CAAC;AACvD,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,4BAA4B,CAAC;SACxD;AACE,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACZ,aAAA,SAAS,CAAC,CAAC,SAAS,KAAI;AACvB,YAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;AAGtB,YAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAC1B,gBAAA,IAAI,CAAC;qBACF,SAAS,CAAC,+BAA+B;AACzC,qBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACZ,qBAAA,SAAS,CAAC,CAAC,QAAQ,KAAI;AACtB,oBAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ;AAClC,gBAAA,CAAC,CAAC;YACN;AACF,QAAA,CAAC,CAAC;IACN;AAEA,IAAA,MAAM,CAAC,KAAyB,EAAA;QAC9B,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AACjD,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;AACnE,YAAA,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE;AACjC,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY;AACnC,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,gBAAA,IAAI,CAAC,OAAO;AACV,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB;wBAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB;YAC7C;iBAAO;AACL,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK;YACzB;AACA,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc;QACxC;aAAO;AACL,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE;AACrB,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QACzB;AACA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC;QAChE;IACF;AAEA,IAAA,gBAAgB,CAAC,KAAa,EAAA;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAEnC,IAAI,OAAO,EAAE;YACX,OAAO,OAAO,CAAC,MAAM;QACvB;AAEA,QAAA,OAAO,CAAC;IACV;IAEA,iBAAiB,CAAC,KAAa,EAAE,MAAc,EAAA;AAC7C,QAAA,IAAI,CAAS;AACb,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;QACrC;;;;AAIA,QAAA,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE;AACzB,YAAA,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC9B,MAAM,GAAG,CAAC;oBACV;gBACF;YACF;QACF;QACA,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC;IACnC;AAEA,IAAA,YAAY,CAAC,SAAkB,EAAA;QAC7B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,EAAE;AACnC,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB;AACvC,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW;AAClC,YAAA,MAAM,eAAe,GAAG,SAAS,CAAC,aAAa;;YAG/C,MAAM,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC;AAC3D,YAAA,OAAO,CAAC,qBAAqB,CAAC,SAAS,EAAE,aAAa,CAAC;YAEvD,IAAI,SAAS,EAAE;gBACb,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;AACvC,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI;YAC9B;iBAAO;;gBAEL,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC;AACjD,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc;YACxC;AAEA,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY;;YAGnE,MAAM,YAAY,GAAG;kBACjB,eAAe,CAAC;AAClB,kBAAE,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC;;YAGzC,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;YACzC;;YAGA,eAAe,CAAC,qBAAqB,EAAE;;AAGvC,YAAA,OAAO,CAAC,qBAAqB,CAAC,SAAS,EAAE,YAAY,CAAC;AAEtD,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;QAC7B;IACF;8GA7SW,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAT,IAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAY,2BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,SAAA,EAFtB,CAAC,2BAA2B,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAoGhC,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAMV,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtIpB,myBAyBA,EAAA,MAAA,EAAA,CAAA,4qBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDDY,iCAAiC,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAMhC,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,iCAAiC,CAAC,EAAA,QAAA,EAClC,iBAAiB,EAAA,SAAA,EAGhB,CAAC,2BAA2B,CAAC,EAAA,QAAA,EAAA,myBAAA,EAAA,MAAA,EAAA,CAAA,4qBAAA,CAAA,EAAA;;sBAOvC;;sBASA;;sBAoBA;;sBAoBA;;sBAiBA;;sBAaA;;sBAaA,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE;AACtB,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA;;sBAGA,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,MAAM,EAAE;AACjB,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA;;;MEhIU,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAnB,mBAAmB,EAAA,OAAA,EAAA,CAHpB,sBAAsB,CAAA,EAAA,OAAA,EAAA,CACtB,sBAAsB,CAAA,EAAA,CAAA,CAAA;+GAErB,mBAAmB,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,iBAAA;;;ACAD;;AAEG;MAEU,mCAAmC,CAAA;AAC9C,IAAA,SAAS;AAET,IAAA,WAAA,CAAY,eAAiC,EAAA;QAC3C,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC;IAClE;AAEO,IAAA,QAAQ,CAAC,KAAiB,EAAA;QAC/B,OAAQ,KAAK,CAAC,aAA6B,CAAC,gBAAgB,CAC1D,gCAAgC,CACN;IAC9B;AAEO,IAAA,QAAQ,CAAC,IAAiB,EAAA;QAC/B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;IAClD;AAEO,IAAA,QAAQ,CAAC,IAAiB,EAAA;QAC/B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC;IAC7C;AAEO,IAAA,kBAAkB,CAAC,WAAuB,EAAA;AAC/C,QAAA,OAAO,WAAW,CAAC,aAAa,CAAC,YAAY;IAC/C;AAEO,IAAA,wBAAwB,CAAC,WAAuB,EAAA;QACrD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC;IACrE;IAEO,qBAAqB,CAAC,WAAuB,EAAE,MAAc,EAAA;AAClE,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CACrB,WAAW,CAAC,aAAa,EACzB,YAAY,EACZ,CAAA,EAAG,MAAM,CAAA,EAAA,CAAI,CACd;IACH;8GAnCW,mCAAmC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAnC,mCAAmC,EAAA,CAAA,CAAA;;2FAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAD/C;;;ACSD;;AAEG;AACH,IAAI,MAAM,GAAG,CAAC;MASD,8BAA8B,CAAA;AA+BhC,IAAA,UAAU;AACV,IAAA,YAAY;AAIZ,IAAA,YAAY;AAYrB,IAAA,YAAY;AACZ,IAAA,UAAU;AAED,IAAA,MAAM;AACN,IAAA,0BAA0B;AAG1B,IAAA,eAAe;AASxB,IAAA,WAAA,GAAA;AA/DA;;AAEG;QACa,IAAA,CAAA,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAuB;AAEnD;;AAEG;QACa,IAAA,CAAA,YAAY,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAoC;AAExE;;;AAGG;AACa,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAE/B,WAAW,qDAAC;AAEd;;AAEG;QACa,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAkB,CAAC,qDACjD,SAAS,EAAE,eAAe,EAAA,CAC1B;QAEQ,IAAA,CAAA,UAAU,GAAG,KAAK;AACrB,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAA,iCAAA,EAAoC,EAAE,MAAM,EAAE;AAErD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,KAAK,sDAAC;AAEpC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAC3C,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAC9B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,4BAA4B,CAAC,EACvD,EAAE,YAAY,EAAE,EAAE,EAAE,CACrB;AACQ,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAC9B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,4BAA4B,CAAC,EACvD,EAAE,YAAY,EAAE,EAAE,EAAE,CACrB;AACkB,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAC5C,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE;AACvC,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE;AACvC,YAAA,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,WAAW,GAAG,WAAW;AACtD,QAAA,CAAC,sDAAC;AAEQ,QAAA,IAAA,CAAA,WAAW,GAAG,SAAS,CAAa,WAAW,uDAAC;QAE1D,IAAA,CAAA,YAAY,GAAG,CAAC;AAGP,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;AAC3B,QAAA,IAAA,CAAA,0BAA0B,GAAG,MAAM,CAC1C,mCAAmC,CACpC;AACQ,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAEjC,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MACxC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,MAAM;YACjC,IAAI;AACJ,YAAA,KAAK,EAAE,EAAE,IAAI,CAAC,YAAY;SAC3B,CAAC,CAAC,uDACJ;QAGC,iBAAiB,CAAC,MAAK;AACrB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YACvE,IAAI,CAAC,MAAM,EAAE;AACf,QAAA,CAAC,CAAC;IACJ;IAEO,YAAY,GAAA;;AAEjB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YACtB,IAAI,CAAC,UAAU,EAAE;QACnB;AAEA,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;QACtC,IAAI,WAAW,EAAE;;AAEf,YAAA,IAAI,CAAC,0BAA0B,CAAC,wBAAwB,CAAC,WAAW,CAAC;QACvE;IACF;IAEO,cAAc,GAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;AACtB,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAC7B;aAAO;AACL,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAC9B;IACF;AAEA,IAAA,gBAAgB,CAAC,SAAkB,EAAA;AACjC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B;AAC/C,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;QACpC,IAAI,SAAS,EAAE;AACb,YAAA,MAAM,eAAe,GAAG,SAAS,CAAC,aAAa;;YAG/C,MAAM,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC;AAC3D,YAAA,OAAO,CAAC,qBAAqB,CAAC,SAAS,EAAE,aAAa,CAAC;YAEvD,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,UAAU,EAAE;YACnB;iBAAO;gBACL,IAAI,CAAC,UAAU,EAAE;YACnB;;YAGA,MAAM,YAAY,GAAG;kBACjB,eAAe,CAAC;AAClB,kBAAE,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC;YAEzC,IAAI,CAAC,SAAS,EAAE;;gBAEd,IAAI,CAAC,UAAU,EAAE;YACnB;;YAGA,eAAe,CAAC,qBAAqB,EAAE;;AAGvC,YAAA,OAAO,CAAC,qBAAqB,CAAC,SAAS,EAAE,YAAY,CAAC;AAEtD,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;QAChC;IACF;IAEA,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;AAChC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE;AAChC,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1B,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACpB,YAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM;AAC3B,YAAA,IAAI,QAAQ,IAAI,MAAM,GAAG,QAAQ,EAAE;AACjC,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;gBACtB,IAAI,CAAC,UAAU,EAAE;YACnB;QACF;AACA,QAAA,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE;IACtC;IAEA,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACtC,YAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7D,gBAAA,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9D;QACF;IACF;IAEA,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACtC,YAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7D,gBAAA,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9D;QACF;IACF;8GA7JW,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,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAH9B,CAAC,mCAAmC,CAAC,oJC5BlD,qwDA4DA,EAAA,MAAA,EAAA,CAAA,kcAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAZ,IAAA,CAAA,iCAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FD7Ba,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAP1C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,EAAA,SAAA,EAGzB,CAAC,mCAAmC,CAAC,cACpC,KAAK,EAAA,QAAA,EAAA,qwDAAA,EAAA,MAAA,EAAA,CAAA,kcAAA,CAAA,EAAA;qeAgD6B,WAAW,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ME5D9C,2BAA2B,CAAA;8GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAA3B,2BAA2B,EAAA,YAAA,EAAA,CARvB,8BAA8B,CAAA,EAAA,OAAA,EAAA,CAE3C,wBAAwB;YACxB,YAAY;AACZ,YAAA,iCAAiC,aAEzB,8BAA8B,CAAA,EAAA,CAAA,CAAA;AAE7B,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,2BAA2B,YANpC,wBAAwB;YACxB,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAKH,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBATvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,8BAA8B,CAAC;AAC9C,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,YAAY;wBACZ,iCAAiC;AAClC,qBAAA;oBACD,OAAO,EAAE,CAAC,8BAA8B,CAAC;AAC1C,iBAAA;;;ACdD;;AAEG;MAOU,uBAAuB,CAAA;8GAAvB,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,6ECXpC,8DAGA,EAAA,MAAA,EAAA,CAAA,qyBAAA,CAAA,EAAA,CAAA,CAAA;;2FDQa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,cAGhB,KAAK,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,CAAA,qyBAAA,CAAA,EAAA;;;AEPnB;;AAEG;MAOU,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,gFCXvC,gLAMA,EAAA,MAAA,EAAA,CAAA,wgBAAA,CAAA,EAAA,CAAA,CAAA;;2FDKa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,cAGnB,KAAK,EAAA,QAAA,EAAA,gLAAA,EAAA,MAAA,EAAA,CAAA,wgBAAA,CAAA,EAAA;;;AEPnB;;;AAGG;MAQU,8BAA8B,CAAA;8GAA9B,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,qFCb3C,sEAGA,EAAA,MAAA,EAAA,CAAA,21DAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDUa,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAP1C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,EAAA,eAAA,EAGnB,uBAAuB,CAAC,MAAM,cACnC,KAAK,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,21DAAA,CAAA,EAAA;;;AEAnB;;AAEG;MAQU,mBAAmB,CAAA;AAPhC,IAAA,WAAA,GAAA;QAQS,IAAA,CAAA,WAAW,GAAG,KAAK;AAoB1B,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC;AACtD,IAAA;IAnBC,IACW,iBAAiB,CAC1B,KAAwD,EAAA;AAExD,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;IAChD;AAEA;;;AAGG;IACH,IACW,cAAc,CAAC,KAAyB,EAAA;AACjD,QAAA,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;AAClC,YAAA,UAAU,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS;AACxD,SAAA,CAAC;IACJ;AAEA,IAAA,oBAAoB;8GArBT,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,yGAHnB,CAAC,sBAAsB,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,SAAA,EAMlB,0BAA0B,gDCxB7C,0RAUA,EAAA,MAAA,EAAA,CAAA,giEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDWa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAAA,SAAA,EAGZ,CAAC,sBAAsB,CAAC,cACvB,KAAK,EAAA,QAAA,EAAA,0RAAA,EAAA,MAAA,EAAA,CAAA,giEAAA,CAAA,EAAA;;sBAKhB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,0BAA0B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;sBAWjE;;;MEZU,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,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,gBAAgB,iBAbzB,mBAAmB;YACnB,uBAAuB;YACvB,0BAA0B;YAC1B,8BAA8B,CAAA,EAAA,OAAA,EAAA,CAEtB,YAAY,CAAA,EAAA,OAAA,EAAA,CAEpB,mBAAmB;YACnB,uBAAuB;YACvB,0BAA0B;YAC1B,8BAA8B,CAAA,EAAA,CAAA,CAAA;AAGrB,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,gBAAgB,YARjB,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAQX,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAf5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,mBAAmB;wBACnB,uBAAuB;wBACvB,0BAA0B;wBAC1B,8BAA8B;AAC/B,qBAAA;oBACD,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,OAAO,EAAE;wBACP,mBAAmB;wBACnB,uBAAuB;wBACvB,0BAA0B;wBAC1B,8BAA8B;AAC/B,qBAAA;AACF,iBAAA;;;ACtBD;;AAEG;;;;"}