{"version":3,"file":"primeng-tabs.mjs","sources":["../../src/tabs/style/tabsstyle.ts","../../src/tabs/tabs.ts","../../src/tabs/style/tabstyle.ts","../../src/tabs/style/tabliststyle.ts","../../src/tabs/tablist.ts","../../src/tabs/tab.ts","../../src/tabs/style/tabpanelstyle.ts","../../src/tabs/tabpanel.ts","../../src/tabs/style/tabpanelsstyle.ts","../../src/tabs/tabpanels.ts","../../src/tabs/tabs.module.ts","../../src/tabs/primeng-tabs.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/tabs';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n    root: 'p-tabs p-component'\n};\n\n@Injectable()\nexport class TabsStyle extends BaseStyle {\n    name = 'tabs';\n\n    style = style;\n\n    classes = classes;\n}\n\n/**\n *\n * Tabs facilitates seamless switching between different views.\n *\n * [Live Demo](https://www.primeng.org/tabs/)\n *\n * @module tabsstyle\n *\n */\n\nexport enum TabsClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-tabs',\n    /**\n     * Class name of the wrapper element\n     */\n    list = 'p-tablist',\n    /**\n     * Class name of the content element\n     */\n    content = 'p-tablist-content',\n    /**\n     * Class name of the tab list element\n     */\n    tablist = 'p-tablist-tab-list',\n    /**\n     * Class name of the tab list element\n     */\n    tab = 'p-tab',\n    /**\n     * Class name of the inkbar element\n     */\n    inkbar = 'p-tablist-active-bar',\n    /**\n     * Class name of the navigation buttons\n     */\n    button = 'p-tablist-nav-button',\n    /**\n     * Class name of the tab panels wrapper\n     */\n    tabpanels = 'p-tabpanels',\n    /**\n     * Class name of the tab panel element\n     */\n    tabpanel = 'p-tabs-panel'\n}\n\nexport interface TabsStyle extends BaseStyle {}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, inject, InjectionToken, input, model, numberAttribute, signal, ViewEncapsulation } from '@angular/core';\nimport { uuid } from '@primeuix/utils';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { TabsPassThrough, TabsScrollStrategy } from 'primeng/types/tabs';\nimport { TabsStyle } from './style/tabsstyle';\n\nconst TABS_INSTANCE = new InjectionToken<Tabs>('TABS_INSTANCE');\n\n/**\n * Tabs facilitates seamless switching between different views.\n * @group Components\n */\n@Component({\n    selector: 'p-tabs',\n    standalone: true,\n    imports: [BindModule],\n    template: ` <ng-content></ng-content>`,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [TabsStyle, { provide: TABS_INSTANCE, useExisting: Tabs }, { provide: PARENT_INSTANCE, useExisting: Tabs }],\n    host: {\n        '[class]': 'cx(\"root\")',\n        '[attr.id]': 'id()'\n    },\n    hostDirectives: [Bind]\n})\nexport class Tabs extends BaseComponent<TabsPassThrough> {\n    componentName = 'Tabs';\n\n    $pcTabs: Tabs | undefined = inject(TABS_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    onAfterViewChecked(): void {\n        this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n    }\n\n    /**\n     * Value of the active tab.\n     * @defaultValue undefined\n     * @group Props\n     */\n    value = model<string | number | undefined>(undefined);\n    /**\n     * Scrolling is enabled by default. This property is no longer needed.\n     * @defaultValue false\n     * @group Props\n     * @deprecated Scrolling is now the default behavior. This property will be removed in a future version.\n     */\n    scrollable = input(false, { transform: booleanAttribute });\n    /**\n     * When enabled, tabs are not rendered until activation.\n     * @type boolean\n     * @defaultValue false\n     * @group Props\n     */\n    lazy = input(false, { transform: booleanAttribute });\n    /**\n     * When enabled, the focused tab is activated.\n     * @type boolean\n     * @defaultValue false\n     * @group Props\n     */\n    selectOnFocus = input(false, { transform: booleanAttribute });\n    /**\n     * Whether to display navigation buttons in container when scrollable is enabled.\n     * @type boolean\n     * @defaultValue true\n     * @group Props\n     */\n    showNavigators = input(true, { transform: booleanAttribute });\n    /**\n     * Tabindex of the tab buttons.\n     * @type number\n     * @defaultValue 0\n     * @group Props\n     */\n    tabindex = input(0, { transform: numberAttribute });\n    /**\n     * Defines the scrolling behavior when the active tab changes. Use 'nearest' to scroll only if the tab is not fully visible, 'center' to always center the active tab, or false to disable auto-scrolling.\n     * @defaultValue 'nearest'\n     * @group Props\n     */\n    scrollStrategy = input<TabsScrollStrategy>('nearest');\n\n    id = signal<string>(uuid('pn_id_'));\n\n    _componentStyle = inject(TabsStyle);\n\n    updateValue(newValue: string | number | undefined) {\n        this.value.update(() => newValue);\n    }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n    root: ({ instance }) => [\n        'p-tab',\n        {\n            'p-tab-active': instance.active(),\n            'p-disabled': instance.disabled()\n        }\n    ]\n};\n\n@Injectable()\nexport class TabStyle extends BaseStyle {\n    name = 'tab';\n\n    classes = classes;\n}\n\n/**\n *\n * Tabs facilitates seamless switching between different views.\n *\n * [Live Demo](https://www.primeng.org/tabs/)\n *\n * @module tabsstyle\n *\n */\n\nexport enum TabClasses {\n    /**\n     * Class name of the tab list element\n     */\n    tab = 'p-tab'\n}\n\nexport interface TabStyle extends BaseStyle {}\n","import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n    root: 'p-tablist',\n    content: 'p-tablist-content',\n    activeBar: 'p-tablist-active-bar',\n    prevButton: 'p-tablist-prev-button p-tablist-nav-button',\n    nextButton: 'p-tablist-next-button p-tablist-nav-button'\n};\n\n@Injectable()\nexport class TabListStyle extends BaseStyle {\n    name = 'tablist';\n\n    classes = classes;\n}\n\n/**\n *\n * Tabs facilitates seamless switching between different views.\n *\n * [Live Demo](https://www.primeng.org/tabs/)\n *\n * @module tabliststyle\n *\n */\n\nexport enum TabListClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-tablist',\n    /**\n     * Class name of the content element\n     */\n    content = 'p-tablist-content',\n    /**\n     * Class name of the activebar element\n     */\n    activeBar = 'p-tablist-active-bar',\n    /**\n     * Class name of the previous button element\n     */\n    prevButton = 'p-tablist-prev-button',\n    /**\n     * Class name of the next button element\n     */\n    nextButton = 'p-tablist-next-button'\n}\n\nexport interface TabListStyle extends BaseStyle {}\n","import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChild, effect, ElementRef, forwardRef, inject, InjectionToken, signal, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\nimport { findSingle, getWidth, isRTL } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { ChevronLeft as ChevronLeftIcon } from '@primeicons/angular/chevron-left';\nimport { ChevronRight as ChevronRightIcon } from '@primeicons/angular/chevron-right';\nimport { RippleModule } from 'primeng/ripple';\nimport { TabListStyle } from './style/tabliststyle';\nimport { Tabs } from './tabs';\nimport { TabListPassThrough } from 'primeng/types/tabs';\n\nconst TABLIST_INSTANCE = new InjectionToken<TabList>('TABLIST_INSTANCE');\n\n/**\n * TabList is a helper component for Tabs component.\n * @group Components\n */\n@Component({\n    selector: 'p-tablist',\n    standalone: true,\n    imports: [NgTemplateOutlet, ChevronLeftIcon, ChevronRightIcon, RippleModule, SharedModule, BindModule],\n    template: `\n        @if (showNavigators() && isPrevButtonEnabled()) {\n            <button\n                type=\"button\"\n                #prevButton\n                pRipple\n                [pBind]=\"ptm('prevButton')\"\n                [class]=\"cx('prevButton')\"\n                [attr.aria-label]=\"prevButtonAriaLabel\"\n                [attr.tabindex]=\"tabindex()\"\n                [attr.data-pc-group-section]=\"'navigator'\"\n                (click)=\"onPrevButtonClick()\"\n            >\n                @if (prevIconTemplate()) {\n                    <ng-container *ngTemplateOutlet=\"prevIconTemplate()\" />\n                } @else {\n                    <svg data-p-icon=\"chevron-left\" />\n                }\n            </button>\n        }\n        <div #content [pBind]=\"ptm('content')\" [class]=\"cx('content')\" role=\"tablist\" (scroll)=\"onScroll($event)\">\n            <ng-content />\n            <span #inkbar [pBind]=\"ptm('activeBar')\" role=\"presentation\" [class]=\"cx('activeBar')\"></span>\n        </div>\n        @if (showNavigators() && isNextButtonEnabled()) {\n            <button\n                type=\"button\"\n                #nextButton\n                pRipple\n                [pBind]=\"ptm('nextButton')\"\n                [class]=\"cx('nextButton')\"\n                [attr.aria-label]=\"nextButtonAriaLabel\"\n                [attr.tabindex]=\"tabindex()\"\n                [attr.data-pc-group-section]=\"'navigator'\"\n                (click)=\"onNextButtonClick()\"\n            >\n                @if (nextIconTemplate()) {\n                    <ng-container *ngTemplateOutlet=\"nextIconTemplate()\" />\n                } @else {\n                    <svg data-p-icon=\"chevron-right\" />\n                }\n            </button>\n        }\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class]': 'cx(\"root\")'\n    },\n    providers: [TabListStyle, { provide: TABLIST_INSTANCE, useExisting: TabList }, { provide: PARENT_INSTANCE, useExisting: TabList }],\n    hostDirectives: [Bind]\n})\nexport class TabList extends BaseComponent<TabListPassThrough> {\n    componentName = 'TabList';\n\n    $pcTabList: TabList | undefined = inject(TABLIST_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n    onAfterViewChecked(): void {\n        this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n    }\n\n    /**\n     * A template reference variable that represents the previous icon in a UI component.\n     * @type {TemplateRef<any> | undefined}\n     * @group Templates\n     */\n    prevIconTemplate = contentChild<TemplateRef<any>>('previcon', { descendants: false });\n    /**\n     * A template reference variable that represents the next icon in a UI component.\n     * @type {TemplateRef<any> | undefined}\n     * @group Templates\n     */\n    nextIconTemplate = contentChild<TemplateRef<any>>('nexticon', { descendants: false });\n\n    content = viewChild<ElementRef<HTMLDivElement>>('content');\n\n    prevButton = viewChild<ElementRef<HTMLButtonElement>>('prevButton');\n\n    nextButton = viewChild<ElementRef<HTMLButtonElement>>('nextButton');\n\n    inkbar = viewChild<ElementRef<HTMLSpanElement>>('inkbar');\n\n    pcTabs = inject(forwardRef(() => Tabs));\n\n    isPrevButtonEnabled = signal<boolean>(false);\n\n    isNextButtonEnabled = signal<boolean>(false);\n\n    resizeObserver!: ResizeObserver;\n\n    showNavigators = computed(() => this.pcTabs.showNavigators());\n\n    tabindex = computed(() => this.pcTabs.tabindex());\n\n    scrollable = computed(() => this.pcTabs.scrollable());\n\n    _componentStyle = inject(TabListStyle);\n\n    constructor() {\n        super();\n        effect(() => {\n            this.pcTabs.value();\n            if (isPlatformBrowser(this.platformId)) {\n                setTimeout(() => {\n                    this.updateInkBar();\n                    this.scrollToActiveTab();\n                });\n            }\n        });\n    }\n\n    get prevButtonAriaLabel() {\n        return this.config?.translation?.aria?.previous;\n    }\n\n    get nextButtonAriaLabel() {\n        return this.config?.translation?.aria?.next;\n    }\n\n    onAfterViewInit() {\n        if (this.showNavigators() && isPlatformBrowser(this.platformId)) {\n            this.updateButtonState();\n            this.bindResizeObserver();\n        }\n    }\n\n    onDestroy() {\n        this.unbindResizeObserver();\n    }\n\n    onScroll(event: Event) {\n        this.showNavigators() && this.updateButtonState();\n\n        event.preventDefault();\n    }\n\n    onPrevButtonClick() {\n        const _content = this.content()?.nativeElement;\n        if (!_content) return;\n        const width = getWidth(_content);\n        const pos = Math.abs(_content.scrollLeft) - width;\n        const scrollLeft = pos <= 0 ? 0 : pos;\n\n        _content.scrollLeft = isRTL(_content) ? -1 * scrollLeft : scrollLeft;\n    }\n\n    onNextButtonClick() {\n        const _content = this.content()?.nativeElement;\n        if (!_content) return;\n        const width = getWidth(_content) - this.getVisibleButtonWidths();\n        const pos = _content.scrollLeft + width;\n        const lastPos = _content.scrollWidth - width;\n        const scrollLeft = pos >= lastPos ? lastPos : pos;\n\n        _content.scrollLeft = isRTL(_content) ? -1 * scrollLeft : scrollLeft;\n    }\n\n    updateButtonState() {\n        const _content = this.content()?.nativeElement;\n        const _list = this.el?.nativeElement;\n        if (!_content) return;\n\n        const { scrollWidth, offsetWidth } = _content;\n        const scrollLeft = Math.abs(_content.scrollLeft);\n        const width = getWidth(_content);\n\n        this.isPrevButtonEnabled.set(scrollLeft !== 0);\n        this.isNextButtonEnabled.set(_list.offsetWidth >= offsetWidth && Math.abs(scrollLeft - scrollWidth + width) > 1);\n    }\n\n    updateInkBar() {\n        const _content = this.content()?.nativeElement;\n        const _inkbar = this.inkbar()?.nativeElement;\n        if (!_content || !_inkbar) return;\n\n        const activeTab = findSingle(_content, '[data-pc-name=\"tab\"][data-p-active=\"true\"]') as HTMLElement | null;\n        if (!activeTab) return;\n\n        _inkbar.style.setProperty('--px-active-bar-width', activeTab.offsetWidth + 'px');\n        _inkbar.style.setProperty('--px-active-bar-height', activeTab.offsetHeight + 'px');\n        _inkbar.style.setProperty('--px-active-bar-left', activeTab.offsetLeft + 'px');\n        _inkbar.style.setProperty('--px-active-bar-top', activeTab.offsetTop + 'px');\n    }\n\n    scrollToActiveTab() {\n        const _content = this.content()?.nativeElement;\n        const scrollStrategy = this.pcTabs.scrollStrategy();\n        if (!_content || scrollStrategy === false) return;\n\n        const activeTab = findSingle(_content, '[data-pc-name=\"tab\"][data-p-active=\"true\"]') as HTMLElement | null;\n        if (!activeTab) return;\n\n        const contentWidth = _content.clientWidth;\n        const currentScrollLeft = Math.abs(_content.scrollLeft);\n        const tabLeft = activeTab.offsetLeft;\n        const tabWidth = activeTab.offsetWidth;\n        const tabRight = tabLeft + tabWidth;\n\n        let targetScrollLeft: number;\n\n        if (scrollStrategy === 'center') {\n            targetScrollLeft = tabLeft - (contentWidth - tabWidth) / 2;\n        } else {\n            const padding = contentWidth * 0.1;\n\n            if (tabLeft < currentScrollLeft + padding) {\n                targetScrollLeft = tabLeft - padding;\n            } else if (tabRight > currentScrollLeft + contentWidth - padding) {\n                targetScrollLeft = tabRight - contentWidth + padding;\n            } else {\n                return;\n            }\n        }\n\n        const maxScrollLeft = _content.scrollWidth - contentWidth;\n        const clampedScrollLeft = Math.max(0, Math.min(targetScrollLeft, maxScrollLeft));\n\n        _content.scrollTo({ left: isRTL(_content) ? -clampedScrollLeft : clampedScrollLeft, behavior: 'smooth' });\n    }\n\n    getVisibleButtonWidths() {\n        const _prevBtn = this.prevButton()?.nativeElement;\n        const _nextBtn = this.nextButton()?.nativeElement;\n\n        return [_prevBtn, _nextBtn].reduce((acc, el) => (el ? acc + getWidth(el) : acc), 0);\n    }\n\n    bindResizeObserver() {\n        this.resizeObserver = new ResizeObserver(() => this.updateButtonState());\n        this.resizeObserver.observe(this.el.nativeElement);\n    }\n\n    unbindResizeObserver() {\n        if (this.resizeObserver) {\n            this.resizeObserver.unobserve(this.el.nativeElement);\n            this.resizeObserver = null!;\n        }\n    }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, ElementRef, forwardRef, HostListener, inject, InjectionToken, input, model, ViewEncapsulation } from '@angular/core';\nimport { equals, focus, getAttribute } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { Ripple } from 'primeng/ripple';\nimport { TabPassThrough } from 'primeng/types/tabs';\nimport { TabStyle } from './style/tabstyle';\nimport { TabList } from './tablist';\nimport { Tabs } from './tabs';\n\nconst TAB_INSTANCE = new InjectionToken<Tab>('TAB_INSTANCE');\n\n/**\n * Defines valid properties in Tab component.\n * @group Components\n */\n@Component({\n    selector: 'p-tab',\n    standalone: true,\n    imports: [SharedModule, BindModule],\n    template: ` <ng-content></ng-content>`,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class]': 'cx(\"root\")',\n        '[attr.id]': 'id()',\n        '[attr.aria-controls]': 'ariaControls()',\n        '[attr.role]': '\"tab\"',\n        '[attr.aria-selected]': 'active()',\n        '[attr.aria-disabled]': 'disabled()',\n        '[attr.data-p-disabled]': 'disabled()',\n        '[attr.data-p-active]': 'active()',\n        '[attr.tabindex]': 'tabindex()'\n    },\n    hostDirectives: [Ripple, Bind],\n    providers: [TabStyle, { provide: TAB_INSTANCE, useExisting: Tab }, { provide: PARENT_INSTANCE, useExisting: Tab }]\n})\nexport class Tab extends BaseComponent<TabPassThrough> {\n    componentName = 'Tab';\n\n    $pcTab: Tab | undefined = inject(TAB_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    onAfterViewChecked(): void {\n        this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n    }\n\n    /**\n     * Value of tab.\n     * @defaultValue undefined\n     * @group Props\n     */\n    value = model<number | string | undefined>();\n    /**\n     * Whether the tab is disabled.\n     * @defaultValue false\n     * @group Props\n     */\n    disabled = input(false, { transform: booleanAttribute });\n\n    pcTabs = inject(forwardRef(() => Tabs));\n\n    pcTabList = inject(forwardRef(() => TabList));\n\n    el = inject(ElementRef);\n\n    _componentStyle = inject(TabStyle);\n\n    ripple = computed(() => this.config.ripple());\n\n    id = computed(() => `${this.pcTabs.id()}_tab_${this.value()}`);\n\n    ariaControls = computed(() => `${this.pcTabs.id()}_tabpanel_${this.value()}`);\n\n    active = computed(() => equals(this.pcTabs.value(), this.value()));\n\n    tabindex = computed(() => (this.disabled() ? -1 : this.active() ? this.pcTabs.tabindex() : -1));\n\n    mutationObserver: MutationObserver | undefined;\n\n    @HostListener('focus', ['$event']) onFocus(event: FocusEvent) {\n        if (!this.disabled()) {\n            this.pcTabs.selectOnFocus() && this.changeActiveValue();\n        }\n    }\n\n    @HostListener('click', ['$event']) onClick(event: MouseEvent) {\n        if (!this.disabled()) {\n            this.changeActiveValue();\n        }\n    }\n\n    @HostListener('keydown', ['$event']) onKeyDown(event: KeyboardEvent) {\n        switch (event.code) {\n            case 'ArrowRight':\n                this.onArrowRightKey(event);\n                break;\n\n            case 'ArrowLeft':\n                this.onArrowLeftKey(event);\n                break;\n\n            case 'Home':\n                this.onHomeKey(event);\n                break;\n\n            case 'End':\n                this.onEndKey(event);\n                break;\n\n            case 'PageDown':\n                this.onPageDownKey(event);\n                break;\n\n            case 'PageUp':\n                this.onPageUpKey(event);\n                break;\n\n            case 'Enter':\n            case 'NumpadEnter':\n            case 'Space':\n                this.onEnterKey(event);\n                break;\n\n            default:\n                break;\n        }\n\n        event.stopPropagation();\n    }\n\n    onAfterViewInit(): void {\n        this.bindMutationObserver();\n    }\n\n    onArrowRightKey(event: KeyboardEvent) {\n        const nextTab = this.findNextTab(event.currentTarget as HTMLElement);\n        nextTab ? this.changeFocusedTab(nextTab) : this.onHomeKey(event);\n        event.preventDefault();\n    }\n\n    onArrowLeftKey(event: KeyboardEvent) {\n        const prevTab = this.findPrevTab(event.currentTarget as HTMLElement);\n\n        prevTab ? this.changeFocusedTab(prevTab) : this.onEndKey(event);\n        event.preventDefault();\n    }\n\n    onHomeKey(event: KeyboardEvent) {\n        const firstTab = this.findFirstTab();\n\n        this.changeFocusedTab(firstTab);\n        event.preventDefault();\n    }\n\n    onEndKey(event: KeyboardEvent) {\n        const lastTab = this.findLastTab();\n\n        this.changeFocusedTab(lastTab);\n        event.preventDefault();\n    }\n\n    onPageDownKey(event: KeyboardEvent) {\n        this.scrollInView(this.findLastTab());\n        event.preventDefault();\n    }\n\n    onPageUpKey(event: KeyboardEvent) {\n        this.scrollInView(this.findFirstTab());\n        event.preventDefault();\n    }\n\n    onEnterKey(event: KeyboardEvent) {\n        if (!this.disabled()) {\n            this.changeActiveValue();\n        }\n        event.preventDefault();\n    }\n\n    findNextTab(tabElement: Element | null, selfCheck = false): Element | null {\n        const element = selfCheck ? tabElement : tabElement?.nextElementSibling;\n\n        return element ? (getAttribute(element, 'data-p-disabled') || getAttribute(element, 'data-pc-section') === 'activebar' ? this.findNextTab(element) : element) : null;\n    }\n\n    findPrevTab(tabElement: Element | null, selfCheck = false): Element | null {\n        const element = selfCheck ? tabElement : tabElement?.previousElementSibling;\n\n        return element ? (getAttribute(element, 'data-p-disabled') || getAttribute(element, 'data-pc-section') === 'activebar' ? this.findPrevTab(element) : element) : null;\n    }\n\n    findFirstTab() {\n        return this.findNextTab(this.pcTabList?.content()?.nativeElement?.firstElementChild, true);\n    }\n\n    findLastTab() {\n        return this.findPrevTab(this.pcTabList?.content()?.nativeElement?.lastElementChild, true);\n    }\n\n    changeActiveValue() {\n        this.pcTabs.updateValue(this.value());\n    }\n\n    changeFocusedTab(element: Element | null) {\n        if (element) {\n            focus(element as HTMLElement);\n        }\n        this.scrollInView(element);\n    }\n\n    scrollInView(element: Element | null) {\n        element?.scrollIntoView?.({ block: 'nearest' });\n    }\n\n    bindMutationObserver() {\n        if (isPlatformBrowser(this.platformId)) {\n            this.mutationObserver = new MutationObserver((mutations) => {\n                mutations.forEach(() => {\n                    if (this.active()) {\n                        this.pcTabList?.updateInkBar();\n                    }\n                });\n            });\n            this.mutationObserver.observe(this.el.nativeElement, { childList: true, characterData: true, subtree: true });\n        }\n    }\n\n    unbindMutationObserver() {\n        this.mutationObserver?.disconnect();\n    }\n\n    onDestroy() {\n        if (this.mutationObserver) {\n            this.unbindMutationObserver();\n        }\n    }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n    root: ({ instance }) => [\n        'p-tabpanel',\n        {\n            'p-tabpanel-active': instance.active()\n        }\n    ]\n};\n\n@Injectable()\nexport class TabPanelStyle extends BaseStyle {\n    name = 'tabpanel';\n\n    classes = classes;\n}\n\n/**\n *\n * Tab is a helper component for Tabs component.\n *\n * [Live Demo](https://www.primeng.org/tabs/)\n *\n * @module tabstyle\n *\n */\n\nexport enum TabPanelClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-tabpanel'\n}\n\nexport interface TabPanelStyle extends BaseStyle {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, forwardRef, inject, InjectionToken, input, model, ViewEncapsulation } from '@angular/core';\nimport { equals } from '@primeuix/utils';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { TabPanelStyle } from './style/tabpanelstyle';\nimport { Tabs } from './tabs';\nimport { TabPanelPassThrough } from 'primeng/types/tabs';\n\nconst TABPANEL_INSTANCE = new InjectionToken<TabPanel>('TABPANEL_INSTANCE');\n\n/**\n * TabPanel is a helper component for Tabs component.\n * @group Components\n */\n@Component({\n    selector: 'p-tabpanel',\n    standalone: true,\n    imports: [NgTemplateOutlet, BindModule],\n    template: `\n        <ng-template #defaultContent>\n            <ng-content />\n        </ng-template>\n\n        @if (shouldRender()) {\n            <ng-container *ngTemplateOutlet=\"content() ? content() : defaultContent\" />\n        }\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [TabPanelStyle, { provide: TABPANEL_INSTANCE, useExisting: TabPanel }, { provide: PARENT_INSTANCE, useExisting: TabPanel }],\n    host: {\n        '[class]': 'cx(\"root\")',\n        '[attr.id]': 'id()',\n        '[attr.role]': '\"tabpanel\"',\n        '[attr.aria-labelledby]': 'ariaLabelledby()',\n        '[attr.data-p-active]': 'active()',\n        '[hidden]': '!active()'\n    },\n    hostDirectives: [Bind]\n})\nexport class TabPanel extends BaseComponent<TabPanelPassThrough> {\n    componentName = 'TabPanel';\n\n    $pcTabPanel: TabPanel | undefined = inject(TABPANEL_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    pcTabs = inject<Tabs>(forwardRef(() => Tabs));\n\n    onAfterViewChecked(): void {\n        this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n    }\n\n    /**\n     * When enabled, tab is not rendered until activation.\n     * @type boolean\n     * @defaultValue false\n     * @group Props\n     */\n    lazy = input(false, { transform: booleanAttribute });\n    /**\n     * Value of the active tab.\n     * @defaultValue undefined\n     * @group Props\n     */\n    value = model<string | number | undefined>(undefined);\n    /**\n     * Template for initializing complex content when lazy is enabled.\n     * @group Templates\n     */\n    content = contentChild('content', { descendants: false });\n\n    id = computed(() => `${this.pcTabs.id()}_tabpanel_${this.value()}`);\n\n    ariaLabelledby = computed(() => `${this.pcTabs.id()}_tab_${this.value()}`);\n\n    active = computed(() => equals(this.pcTabs.value(), this.value()));\n\n    isLazyEnabled = computed(() => this.pcTabs.lazy() || this.lazy());\n\n    private hasBeenRendered = false;\n\n    shouldRender = computed(() => {\n        if (!this.isLazyEnabled() || this.hasBeenRendered) {\n            return true;\n        }\n\n        if (this.active()) {\n            this.hasBeenRendered = true;\n            return true;\n        }\n\n        return false;\n    });\n\n    _componentStyle = inject(TabPanelStyle);\n}\n","import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n    root: 'p-tabpanels'\n};\n\n@Injectable()\nexport class TabPanelsStyle extends BaseStyle {\n    name = 'tabpanels';\n\n    classes = classes;\n}\n\n/**\n *\n * Tab is a helper component for Tabs component.\n *\n * [Live Demo](https://www.primeng.org/tabs/)\n *\n * @module tabpanelstyle\n *\n */\n\nexport enum TabPanelsClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-tabpanels'\n}\n\nexport interface TabPanelsStyle extends BaseStyle {}\n","import { ChangeDetectionStrategy, Component, inject, InjectionToken, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { TabPanelsStyle } from './style/tabpanelsstyle';\nimport { TabPanelsPassThrough } from 'primeng/types/tabs';\n\nconst TABPANELS_INSTANCE = new InjectionToken<TabPanels>('TABPANELS_INSTANCE');\n\n/**\n * TabPanels is a helper component for Tabs component.\n * @group Components\n */\n@Component({\n    selector: 'p-tabpanels',\n    standalone: true,\n    imports: [BindModule],\n    template: ` <ng-content></ng-content>`,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class]': 'cx(\"root\")',\n        '[attr.role]': '\"presentation\"'\n    },\n    providers: [TabPanelsStyle, { provide: TABPANELS_INSTANCE, useExisting: TabPanels }, { provide: PARENT_INSTANCE, useExisting: TabPanels }],\n    hostDirectives: [Bind]\n})\nexport class TabPanels extends BaseComponent<TabPanelsPassThrough> {\n    componentName = 'TabPanels';\n\n    $pcTabPanels: TabPanels | undefined = inject(TABPANELS_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    _componentStyle = inject(TabPanelsStyle);\n\n    onAfterViewChecked(): void {\n        this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n    }\n}\n","import { NgModule } from '@angular/core';\nimport { BindModule } from 'primeng/bind';\nimport { Tab } from './tab';\nimport { TabList } from './tablist';\nimport { TabPanel } from './tabpanel';\nimport { TabPanels } from './tabpanels';\nimport { Tabs } from './tabs';\n\n@NgModule({\n    imports: [Tabs, TabPanels, TabPanel, TabList, Tab, BindModule],\n    exports: [Tabs, TabPanels, TabPanel, TabList, Tab, BindModule]\n})\nexport class TabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["classes","ChevronLeftIcon","ChevronRightIcon","i1","i2"],"mappings":";;;;;;;;;;;;;;;AAIA,MAAMA,SAAO,GAAG;AACZ,IAAA,IAAI,EAAE;CACT;AAGK,MAAO,SAAU,SAAQ,SAAS,CAAA;IACpC,IAAI,GAAG,MAAM;IAEb,KAAK,GAAG,KAAK;IAEb,OAAO,GAAGA,SAAO;uGALR,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAT,SAAS,EAAA,CAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBADrB;;AASD;;;;;;;;AAQG;IAES;AAAZ,CAAA,UAAY,WAAW,EAAA;AACnB;;AAEG;AACH,IAAA,WAAA,CAAA,MAAA,CAAA,GAAA,QAAe;AACf;;AAEG;AACH,IAAA,WAAA,CAAA,MAAA,CAAA,GAAA,WAAkB;AAClB;;AAEG;AACH,IAAA,WAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B;;AAEG;AACH,IAAA,WAAA,CAAA,SAAA,CAAA,GAAA,oBAA8B;AAC9B;;AAEG;AACH,IAAA,WAAA,CAAA,KAAA,CAAA,GAAA,OAAa;AACb;;AAEG;AACH,IAAA,WAAA,CAAA,QAAA,CAAA,GAAA,sBAA+B;AAC/B;;AAEG;AACH,IAAA,WAAA,CAAA,QAAA,CAAA,GAAA,sBAA+B;AAC/B;;AAEG;AACH,IAAA,WAAA,CAAA,WAAA,CAAA,GAAA,aAAyB;AACzB;;AAEG;AACH,IAAA,WAAA,CAAA,UAAA,CAAA,GAAA,cAAyB;AAC7B,CAAC,EArCW,WAAW,KAAX,WAAW,GAAA,EAAA,CAAA,CAAA;;ACpBvB,MAAM,aAAa,GAAG,IAAI,cAAc,CAAO,eAAe,CAAC;AAE/D;;;AAGG;AAeG,MAAO,IAAK,SAAQ,aAA8B,CAAA;IACpD,aAAa,GAAG,MAAM;AAEtB,IAAA,OAAO,GAAqB,MAAM,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,SAAS;IAElG,qBAAqB,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAEpD,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE;AAEA;;;;AAIG;IACH,KAAK,GAAG,KAAK,CAA8B,SAAS;8EAAC;AACrD;;;;;AAKG;IACH,UAAU,GAAG,KAAK,CAAC,KAAK,kFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC1D;;;;;AAKG;IACH,IAAI,GAAG,KAAK,CAAC,KAAK,4EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACpD;;;;;AAKG;IACH,aAAa,GAAG,KAAK,CAAC,KAAK,qFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC7D;;;;;AAKG;IACH,cAAc,GAAG,KAAK,CAAC,IAAI,sFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC7D;;;;;AAKG;IACH,QAAQ,GAAG,KAAK,CAAC,CAAC,gFAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AACnD;;;;AAIG;IACH,cAAc,GAAG,KAAK,CAAqB,SAAS;uFAAC;AAErD,IAAA,EAAE,GAAG,MAAM,CAAS,IAAI,CAAC,QAAQ,CAAC;2EAAC;AAEnC,IAAA,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;AAEnC,IAAA,WAAW,CAAC,QAAqC,EAAA;QAC7C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC;IACrC;uGAjES,IAAI,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAJ,IAAI,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,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,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,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,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,EAAA,SAAA,EAPF,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAH5G,CAAA,0BAAA,CAA4B,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAD5B,UAAU,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAWX,IAAI,EAAA,UAAA,EAAA,CAAA;kBAdhB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,UAAU,CAAC;AACrB,oBAAA,QAAQ,EAAE,CAAA,0BAAA,CAA4B;oBACtC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAA,IAAM,EAAE,CAAC;AACtH,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,YAAY;AACvB,wBAAA,WAAW,EAAE;AAChB,qBAAA;oBACD,cAAc,EAAE,CAAC,IAAI;AACxB,iBAAA;;;ACvBD,MAAMA,SAAO,GAAG;AACZ,IAAA,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK;QACpB,OAAO;AACP,QAAA;AACI,YAAA,cAAc,EAAE,QAAQ,CAAC,MAAM,EAAE;AACjC,YAAA,YAAY,EAAE,QAAQ,CAAC,QAAQ;AAClC;AACJ;CACJ;AAGK,MAAO,QAAS,SAAQ,SAAS,CAAA;IACnC,IAAI,GAAG,KAAK;IAEZ,OAAO,GAAGA,SAAO;uGAHR,QAAQ,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAR,QAAQ,EAAA,CAAA;;2FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBADpB;;AAOD;;;;;;;;AAQG;AAEH,IAAY,UAKX;AALD,CAAA,UAAY,UAAU,EAAA;AAClB;;AAEG;AACH,IAAA,UAAA,CAAA,KAAA,CAAA,GAAA,OAAa;AACjB,CAAC,EALW,UAAU,KAAV,UAAU,GAAA,EAAA,CAAA,CAAA;;AC3BtB,MAAMA,SAAO,GAAG;AACZ,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,OAAO,EAAE,mBAAmB;AAC5B,IAAA,SAAS,EAAE,sBAAsB;AACjC,IAAA,UAAU,EAAE,4CAA4C;AACxD,IAAA,UAAU,EAAE;CACf;AAGK,MAAO,YAAa,SAAQ,SAAS,CAAA;IACvC,IAAI,GAAG,SAAS;IAEhB,OAAO,GAAGA,SAAO;uGAHR,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAZ,YAAY,EAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB;;AAOD;;;;;;;;AAQG;AAEH,IAAY,cAqBX;AArBD,CAAA,UAAY,cAAc,EAAA;AACtB;;AAEG;AACH,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,WAAkB;AAClB;;AAEG;AACH,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B;;AAEG;AACH,IAAA,cAAA,CAAA,WAAA,CAAA,GAAA,sBAAkC;AAClC;;AAEG;AACH,IAAA,cAAA,CAAA,YAAA,CAAA,GAAA,uBAAoC;AACpC;;AAEG;AACH,IAAA,cAAA,CAAA,YAAA,CAAA,GAAA,uBAAoC;AACxC,CAAC,EArBW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;;ACf1B,MAAM,gBAAgB,GAAG,IAAI,cAAc,CAAU,kBAAkB,CAAC;AAExE;;;AAGG;AAyDG,MAAO,OAAQ,SAAQ,aAAiC,CAAA;IAC1D,aAAa,GAAG,SAAS;AAEzB,IAAA,UAAU,GAAwB,MAAM,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,SAAS;IAE3G,qBAAqB,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpD,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE;AAEA;;;;AAIG;IACH,gBAAgB,GAAG,YAAY,CAAmB,UAAU,wFAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AACrF;;;;AAIG;IACH,gBAAgB,GAAG,YAAY,CAAmB,UAAU,wFAAI,WAAW,EAAE,KAAK,EAAA,CAAG;IAErF,OAAO,GAAG,SAAS,CAA6B,SAAS;gFAAC;IAE1D,UAAU,GAAG,SAAS,CAAgC,YAAY;mFAAC;IAEnE,UAAU,GAAG,SAAS,CAAgC,YAAY;mFAAC;IAEnE,MAAM,GAAG,SAAS,CAA8B,QAAQ;+EAAC;IAEzD,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;IAEvC,mBAAmB,GAAG,MAAM,CAAU,KAAK;4FAAC;IAE5C,mBAAmB,GAAG,MAAM,CAAU,KAAK;4FAAC;AAE5C,IAAA,cAAc;IAEd,cAAc,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;uFAAC;IAE7D,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;iFAAC;IAEjD,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;mFAAC;AAErD,IAAA,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC;AAEtC,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACnB,YAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACpC,UAAU,CAAC,MAAK;oBACZ,IAAI,CAAC,YAAY,EAAE;oBACnB,IAAI,CAAC,iBAAiB,EAAE;AAC5B,gBAAA,CAAC,CAAC;YACN;AACJ,QAAA,CAAC,CAAC;IACN;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACnB,OAAO,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ;IACnD;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACnB,OAAO,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI;IAC/C;IAEA,eAAe,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAC7D,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,kBAAkB,EAAE;QAC7B;IACJ;IAEA,SAAS,GAAA;QACL,IAAI,CAAC,oBAAoB,EAAE;IAC/B;AAEA,IAAA,QAAQ,CAAC,KAAY,EAAA;QACjB,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE;QAEjD,KAAK,CAAC,cAAc,EAAE;IAC1B;IAEA,iBAAiB,GAAA;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa;AAC9C,QAAA,IAAI,CAAC,QAAQ;YAAE;AACf,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC;AAChC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK;AACjD,QAAA,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG;AAErC,QAAA,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,UAAU;IACxE;IAEA,iBAAiB,GAAA;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa;AAC9C,QAAA,IAAI,CAAC,QAAQ;YAAE;QACf,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,sBAAsB,EAAE;AAChE,QAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,GAAG,KAAK;AACvC,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,GAAG,KAAK;AAC5C,QAAA,MAAM,UAAU,GAAG,GAAG,IAAI,OAAO,GAAG,OAAO,GAAG,GAAG;AAEjD,QAAA,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,UAAU;IACxE;IAEA,iBAAiB,GAAA;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa;AAC9C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,aAAa;AACpC,QAAA,IAAI,CAAC,QAAQ;YAAE;AAEf,QAAA,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,QAAQ;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;AAChD,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAEhC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACpH;IAEA,YAAY,GAAA;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa;AAC5C,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;YAAE;QAE3B,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,EAAE,4CAA4C,CAAuB;AAC1G,QAAA,IAAI,CAAC,SAAS;YAAE;AAEhB,QAAA,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,uBAAuB,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;AAChF,QAAA,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,EAAE,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC;AAClF,QAAA,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;AAC9E,QAAA,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,qBAAqB,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;IAChF;IAEA,iBAAiB,GAAA;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;AACnD,QAAA,IAAI,CAAC,QAAQ,IAAI,cAAc,KAAK,KAAK;YAAE;QAE3C,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,EAAE,4CAA4C,CAAuB;AAC1G,QAAA,IAAI,CAAC,SAAS;YAAE;AAEhB,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW;QACzC,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;AACvD,QAAA,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU;AACpC,QAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW;AACtC,QAAA,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ;AAEnC,QAAA,IAAI,gBAAwB;AAE5B,QAAA,IAAI,cAAc,KAAK,QAAQ,EAAE;YAC7B,gBAAgB,GAAG,OAAO,GAAG,CAAC,YAAY,GAAG,QAAQ,IAAI,CAAC;QAC9D;aAAO;AACH,YAAA,MAAM,OAAO,GAAG,YAAY,GAAG,GAAG;AAElC,YAAA,IAAI,OAAO,GAAG,iBAAiB,GAAG,OAAO,EAAE;AACvC,gBAAA,gBAAgB,GAAG,OAAO,GAAG,OAAO;YACxC;iBAAO,IAAI,QAAQ,GAAG,iBAAiB,GAAG,YAAY,GAAG,OAAO,EAAE;AAC9D,gBAAA,gBAAgB,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO;YACxD;iBAAO;gBACH;YACJ;QACJ;AAEA,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,GAAG,YAAY;AACzD,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAEhF,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,GAAG,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC7G;IAEA,sBAAsB,GAAA;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa;AAEjD,QAAA,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;IACvF;IAEA,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;IACtD;IAEA,oBAAoB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;AACpD,YAAA,IAAI,CAAC,cAAc,GAAG,IAAK;QAC/B;IACJ;uGA1LS,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,EAAA,EAAA,SAAA,EAHL,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAjDxH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2CT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EA5CS,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAEC,WAAe,EAAA,QAAA,EAAA,mCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAEC,YAAgB,8EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAqD5F,OAAO,EAAA,UAAA,EAAA,CAAA;kBAxDnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAED,WAAe,EAAEC,YAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,CAAC;AACtG,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CT,IAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE;AACd,qBAAA;oBACD,SAAS,EAAE,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAA,OAAS,EAAE,CAAC;oBAClI,cAAc,EAAE,CAAC,IAAI;AACxB,iBAAA;2GAgBqD,UAAU,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAMlC,UAAU,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAEpC,SAAS,oEAEH,YAAY,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAEZ,YAAY,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAElB,QAAQ,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AC5F5D,MAAM,YAAY,GAAG,IAAI,cAAc,CAAM,cAAc,CAAC;AAE5D;;;AAGG;AAsBG,MAAO,GAAI,SAAQ,aAA6B,CAAA;IAClD,aAAa,GAAG,KAAK;AAErB,IAAA,MAAM,GAAoB,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,SAAS;IAE/F,qBAAqB,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAEpD,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE;AAEA;;;;AAIG;AACH,IAAA,KAAK,GAAG,KAAK;yFAA+B;AAC5C;;;;AAIG;IACH,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAExD,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;IAEvC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,OAAO,CAAC,CAAC;AAE7C,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AAEvB,IAAA,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;IAElC,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;+EAAC;AAE7C,IAAA,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAA,KAAA,EAAQ,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE;2EAAC;AAE9D,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAA,UAAA,EAAa,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE;qFAAC;AAE7E,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;+EAAC;AAElE,IAAA,QAAQ,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;iFAAC;AAE/F,IAAA,gBAAgB;AAEmB,IAAA,OAAO,CAAC,KAAiB,EAAA;AACxD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YAClB,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE;QAC3D;IACJ;AAEmC,IAAA,OAAO,CAAC,KAAiB,EAAA;AACxD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YAClB,IAAI,CAAC,iBAAiB,EAAE;QAC5B;IACJ;AAEqC,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC/D,QAAA,QAAQ,KAAK,CAAC,IAAI;AACd,YAAA,KAAK,YAAY;AACb,gBAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;gBAC3B;AAEJ,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;gBAC1B;AAEJ,YAAA,KAAK,MAAM;AACP,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACrB;AAEJ,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACpB;AAEJ,YAAA,KAAK,UAAU;AACX,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;gBACzB;AAEJ,YAAA,KAAK,QAAQ;AACT,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBACvB;AAEJ,YAAA,KAAK,OAAO;AACZ,YAAA,KAAK,aAAa;AAClB,YAAA,KAAK,OAAO;AACR,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACtB;AAEJ,YAAA;gBACI;;QAGR,KAAK,CAAC,eAAe,EAAE;IAC3B;IAEA,eAAe,GAAA;QACX,IAAI,CAAC,oBAAoB,EAAE;IAC/B;AAEA,IAAA,eAAe,CAAC,KAAoB,EAAA;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAA4B,CAAC;AACpE,QAAA,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAChE,KAAK,CAAC,cAAc,EAAE;IAC1B;AAEA,IAAA,cAAc,CAAC,KAAoB,EAAA;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAA4B,CAAC;AAEpE,QAAA,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC/D,KAAK,CAAC,cAAc,EAAE;IAC1B;AAEA,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC1B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE;AAEpC,QAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QAC/B,KAAK,CAAC,cAAc,EAAE;IAC1B;AAEA,IAAA,QAAQ,CAAC,KAAoB,EAAA;AACzB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE;AAElC,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAC9B,KAAK,CAAC,cAAc,EAAE;IAC1B;AAEA,IAAA,aAAa,CAAC,KAAoB,EAAA;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,KAAK,CAAC,cAAc,EAAE;IAC1B;AAEA,IAAA,WAAW,CAAC,KAAoB,EAAA;QAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,KAAK,CAAC,cAAc,EAAE;IAC1B;AAEA,IAAA,UAAU,CAAC,KAAoB,EAAA;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YAClB,IAAI,CAAC,iBAAiB,EAAE;QAC5B;QACA,KAAK,CAAC,cAAc,EAAE;IAC1B;AAEA,IAAA,WAAW,CAAC,UAA0B,EAAE,SAAS,GAAG,KAAK,EAAA;AACrD,QAAA,MAAM,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,EAAE,kBAAkB;AAEvE,QAAA,OAAO,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO,IAAI,IAAI;IACxK;AAEA,IAAA,WAAW,CAAC,UAA0B,EAAE,SAAS,GAAG,KAAK,EAAA;AACrD,QAAA,MAAM,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,EAAE,sBAAsB;AAE3E,QAAA,OAAO,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO,IAAI,IAAI;IACxK;IAEA,YAAY,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,IAAI,CAAC;IAC9F;IAEA,WAAW,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,CAAC;IAC7F;IAEA,iBAAiB,GAAA;QACb,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACzC;AAEA,IAAA,gBAAgB,CAAC,OAAuB,EAAA;QACpC,IAAI,OAAO,EAAE;YACT,KAAK,CAAC,OAAsB,CAAC;QACjC;AACA,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IAC9B;AAEA,IAAA,YAAY,CAAC,OAAuB,EAAA;QAChC,OAAO,EAAE,cAAc,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACnD;IAEA,oBAAoB,GAAA;AAChB,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,CAAC,SAAS,KAAI;AACvD,gBAAA,SAAS,CAAC,OAAO,CAAC,MAAK;AACnB,oBAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACf,wBAAA,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE;oBAClC;AACJ,gBAAA,CAAC,CAAC;AACN,YAAA,CAAC,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACjH;IACJ;IAEA,sBAAsB,GAAA;AAClB,QAAA,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE;IACvC;IAEA,SAAS,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,sBAAsB,EAAE;QACjC;IACJ;uGAvMS,GAAG,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAH,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,GAAG,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,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,OAAA,EAAA,EAAA,KAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,SAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAFD,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAC,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,SAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAfxG,CAAA,0BAAA,CAA4B,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAD5B,YAAY,8BAAE,UAAU,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAkBzB,GAAG,EAAA,UAAA,EAAA,CAAA;kBArBf,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,OAAO;AACjB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACnC,oBAAA,QAAQ,EAAE,CAAA,0BAAA,CAA4B;oBACtC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,YAAY;AACvB,wBAAA,WAAW,EAAE,MAAM;AACnB,wBAAA,sBAAsB,EAAE,gBAAgB;AACxC,wBAAA,aAAa,EAAE,OAAO;AACtB,wBAAA,sBAAsB,EAAE,UAAU;AAClC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,wBAAwB,EAAE,YAAY;AACtC,wBAAA,sBAAsB,EAAE,UAAU;AAClC,wBAAA,iBAAiB,EAAE;AACtB,qBAAA;AACD,oBAAA,cAAc,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;oBAC9B,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAA,GAAK,EAAE;AACpH,iBAAA;;sBA6CI,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;sBAMhC,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;sBAMhC,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;AC5FvC,MAAMJ,SAAO,GAAG;AACZ,IAAA,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK;QACpB,YAAY;AACZ,QAAA;AACI,YAAA,mBAAmB,EAAE,QAAQ,CAAC,MAAM;AACvC;AACJ;CACJ;AAGK,MAAO,aAAc,SAAQ,SAAS,CAAA;IACxC,IAAI,GAAG,UAAU;IAEjB,OAAO,GAAGA,SAAO;uGAHR,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAb,aAAa,EAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB;;AAOD;;;;;;;;AAQG;AAEH,IAAY,eAKX;AALD,CAAA,UAAY,eAAe,EAAA;AACvB;;AAEG;AACH,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,YAAmB;AACvB,CAAC,EALW,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;;ACpB3B,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAW,mBAAmB,CAAC;AAE3E;;;AAGG;AA2BG,MAAO,QAAS,SAAQ,aAAkC,CAAA;IAC5D,aAAa,GAAG,UAAU;AAE1B,IAAA,WAAW,GAAyB,MAAM,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,SAAS;IAE9G,qBAAqB,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAEpD,MAAM,GAAG,MAAM,CAAO,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;IAE7C,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE;AAEA;;;;;AAKG;IACH,IAAI,GAAG,KAAK,CAAC,KAAK,4EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACpD;;;;AAIG;IACH,KAAK,GAAG,KAAK,CAA8B,SAAS;8EAAC;AACrD;;;AAGG;IACH,OAAO,GAAG,YAAY,CAAC,SAAS,+EAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAEzD,IAAA,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAA,UAAA,EAAa,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE;2EAAC;AAEnE,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAA,KAAA,EAAQ,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE;uFAAC;AAE1E,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;+EAAC;AAElE,IAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE;sFAAC;IAEzD,eAAe,GAAG,KAAK;AAE/B,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;QACzB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE;AAC/C,YAAA,OAAO,IAAI;QACf;AAEA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACf,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,YAAA,OAAO,IAAI;QACf;AAEA,QAAA,OAAO,KAAK;IAChB,CAAC;qFAAC;AAEF,IAAA,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC;uGAvD9B,QAAQ,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,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,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,SAAA,EAAA,MAAA,EAAA,WAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAXN,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAX5H;;;;;;;;KAQT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EATS,gBAAgB,mJAAE,UAAU,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAuB7B,QAAQ,EAAA,UAAA,EAAA,CAAA;kBA1BpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC;AACvC,oBAAA,QAAQ,EAAE;;;;;;;;AAQT,IAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAA,QAAU,EAAE,CAAC;AACtI,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,YAAY;AACvB,wBAAA,WAAW,EAAE,MAAM;AACnB,wBAAA,aAAa,EAAE,YAAY;AAC3B,wBAAA,wBAAwB,EAAE,kBAAkB;AAC5C,wBAAA,sBAAsB,EAAE,UAAU;AAClC,wBAAA,UAAU,EAAE;AACf,qBAAA;oBACD,cAAc,EAAE,CAAC,IAAI;AACxB,iBAAA;AA+B0B,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,SAAS,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ACpE5D,MAAM,OAAO,GAAG;AACZ,IAAA,IAAI,EAAE;CACT;AAGK,MAAO,cAAe,SAAQ,SAAS,CAAA;IACzC,IAAI,GAAG,WAAW;IAElB,OAAO,GAAG,OAAO;uGAHR,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAd,cAAc,EAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B;;AAOD;;;;;;;;AAQG;AAEH,IAAY,gBAKX;AALD,CAAA,UAAY,gBAAgB,EAAA;AACxB;;AAEG;AACH,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,aAAoB;AACxB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,GAAA,EAAA,CAAA,CAAA;;AClB5B,MAAM,kBAAkB,GAAG,IAAI,cAAc,CAAY,oBAAoB,CAAC;AAE9E;;;AAGG;AAeG,MAAO,SAAU,SAAQ,aAAmC,CAAA;IAC9D,aAAa,GAAG,WAAW;AAE3B,IAAA,YAAY,GAA0B,MAAM,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,SAAS;IAEjH,qBAAqB,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAEpD,IAAA,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC;IAExC,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE;uGAXS,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAHP,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAPhI,CAAA,0BAAA,CAA4B,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAD5B,UAAU,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAWX,SAAS,EAAA,UAAA,EAAA,CAAA;kBAdrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,UAAU,CAAC;AACrB,oBAAA,QAAQ,EAAE,CAAA,0BAAA,CAA4B;oBACtC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,YAAY;AACvB,wBAAA,aAAa,EAAE;AAClB,qBAAA;oBACD,SAAS,EAAE,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAA,SAAW,EAAE,CAAC;oBAC1I,cAAc,EAAE,CAAC,IAAI;AACxB,iBAAA;;;MCbY,UAAU,CAAA;uGAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAV,UAAU,EAAA,OAAA,EAAA,CAHT,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,CAAA,EAAA,OAAA,EAAA,CACnD,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,CAAA,EAAA,CAAA;AAEpD,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,EAAA,OAAA,EAAA,CAHT,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EACV,UAAU,CAAA,EAAA,CAAA;;2FAEpD,UAAU,EAAA,UAAA,EAAA,CAAA;kBAJtB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC;AAC9D,oBAAA,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU;AAChE,iBAAA;;;ACXD;;AAEG;;;;"}