{"version":3,"file":"chunk-d8ook2pa.js","sources":["packages/vanilla/lib/features/bottom-nav/src/bottom-nav.client-config.ts","packages/vanilla/lib/features/bottom-nav/src/bottom-nav.service.ts","packages/vanilla/lib/features/bottom-nav/src/bottom-nav.html","packages/vanilla/lib/features/bottom-nav/src/bottom-nav.component.ts","packages/vanilla/lib/features/bottom-nav/src/bottom-nav-bootstrap.service.ts","packages/vanilla/lib/features/bottom-nav/src/bottom-nav.feature.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { ClientConfigProductName, LazyClientConfig, LazyClientConfigBase, LazyClientConfigService, MenuContentItem } from '@frontend/vanilla/core';\n\n@LazyClientConfig({ key: 'vnBottomNav', product: ClientConfigProductName.SF })\n@Injectable({\n    providedIn: 'root',\n    useFactory: bottomNavConfigFactory,\n    deps: [LazyClientConfigService],\n})\nexport class BottomNavConfig extends LazyClientConfigBase {\n    isEnabledCondition: string;\n    items: MenuContentItem[];\n}\n\nexport function bottomNavConfigFactory(service: LazyClientConfigService) {\n    return service.get(BottomNavConfig);\n}\n","import { Injectable } from '@angular/core';\n\nimport { DslService, MenuItemsService, MenuSection, NavigationService } from '@frontend/vanilla/core';\nimport { MenuItemHighlightService } from '@frontend/vanilla/shared/menu-item';\nimport { BehaviorSubject, Observable, skipUntil } from 'rxjs';\n\nimport { BottomNavConfig } from './bottom-nav.client-config';\n\nexport interface BottomNavControlEvent {\n    state: 'show' | 'hide';\n}\n\n/**\n * @whatItDoes Provides functionality to manipulate the bottom nav\n *\n * @description\n *\n * # Overview\n *\n * This service provides functionality for manipulating the bottom nav:\n *  - Show and hide (once, until the state is set by scrolling)\n *  - Set counter for an item\n *\n * @stable\n */\n@Injectable({\n    providedIn: 'root',\n})\nexport class BottomNavService {\n    currentHighlightedProductName: string | null = null;\n\n    private controlEvents = new BehaviorSubject<BottomNavControlEvent>({ state: 'show' });\n\n    constructor(\n        private menuItemsService: MenuItemsService,\n        private bottomNavConfig: BottomNavConfig,\n        private dslService: DslService,\n        private navigationService: NavigationService,\n        private menuItemHighlightingService: MenuItemHighlightService,\n    ) {}\n\n    /** @internal */\n    get inputEvents(): Observable<BottomNavControlEvent> {\n        return this.controlEvents;\n    }\n\n    initProductHighlighting() {\n        this.menuItemHighlightingService.initHighlighting(this.bottomNavConfig.items);\n        this.navigationService.locationChange.subscribe(() => this.setHighlightedProduct());\n    }\n\n    /** Shows the bottom nav if it is currently hidden. */\n    show() {\n        this.controlEvents.next({ state: 'show' });\n    }\n\n    /** Hides the bottom nav if it is currently shown. */\n    hide() {\n        this.controlEvents.next({ state: 'hide' });\n    }\n\n    /** Sets and item in the bottom nav to active state. */\n    setActiveItem(itemName: string) {\n        this.menuItemsService.setActive(MenuSection.BottomNav, itemName);\n    }\n\n    /** Assigns a number to be shown as a counter for a bottom nav item. */\n    setItemCounter(itemName: string, count: any, cssClass?: string) {\n        this.menuItemsService.setCounter(MenuSection.BottomNav, itemName, count, cssClass);\n    }\n\n    /** Gets the enablement status of the bottom nav. */\n    isEnabled(): Observable<boolean> {\n        return this.dslService.evaluateExpression<boolean>(this.bottomNavConfig.isEnabledCondition).pipe(skipUntil(this.bottomNavConfig.whenReady));\n    }\n\n    setHighlightedProduct() {\n        const product = this.menuItemHighlightingService.setHighlightedProduct(this.bottomNavConfig.items, this.currentHighlightedProductName);\n\n        if (product?.name) {\n            this.menuItemHighlightingService.setActiveItem(MenuSection.BottomNav, product.name);\n        }\n    }\n}\n","@if (visible) {\n    <nav class=\"bottom-nav fixed-bottom d-flex justify-content-around text-center\">\n        @for (item of content.items | dsl | async; track trackByText($index, item)) {\n            @if (useFastIcon === true) {\n                <vn-menu-item\n                    [item]=\"item\"\n                    [section]=\"MenuSection.BottomNav\"\n                    [displayMode]=\"getDisplayMode('FastIcon')\"\n                    badgeClass=\"badge-size-sm badge-offset\"\n                    badgePosition=\"FastIcon\"\n                    linkClass=\"bottom-nav-link\"\n                    textClass=\"text-truncate d-block\"\n                    iconClass=\"ui-icon ui-icon-size-lg\" />\n            } @else {\n                <vn-menu-item\n                    [item]=\"item\"\n                    [section]=\"MenuSection.BottomNav\"\n                    [displayMode]=\"getDisplayMode(item.parameters.displayMode)\"\n                    badgeClass=\"badge-size-sm badge-offset\"\n                    badgePosition=\"icon\"\n                    linkClass=\"bottom-nav-link\"\n                    textClass=\"text-truncate d-block\"\n                    iconClass=\"ui-icon ui-icon-size-lg\" />\n            }\n        }\n    </nav>\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { DslService, HtmlNode, MenuContentItem, MenuDisplayMode, MenuSection, Page, UtilsService, trackByProp } from '@frontend/vanilla/core';\nimport { MenuItemComponent } from '@frontend/vanilla/features/menus';\nimport { DslPipe } from '@frontend/vanilla/shared/browser';\nimport { Subject, combineLatest } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { BottomNavConfig } from './bottom-nav.client-config';\nimport { BottomNavService } from './bottom-nav.service';\n\n/**\n * @stable\n */\n@Component({\n    standalone: true,\n    imports: [CommonModule, DslPipe, MenuItemComponent],\n    selector: 'vn-bottom-nav',\n    templateUrl: 'bottom-nav.html',\n    styleUrls: ['../../../../../themepark/themes/whitelabel/components/bottom-nav/styles.scss'],\n    encapsulation: ViewEncapsulation.None,\n})\nexport class BottomNavComponent implements OnInit, OnDestroy {\n    MenuSection = MenuSection;\n    visible: boolean;\n    readonly trackByText = trackByProp<MenuContentItem>('text');\n    useFastIcon: boolean = false;\n    private unsubscribe = new Subject<void>();\n\n    constructor(\n        private bottomNavService: BottomNavService,\n        public content: BottomNavConfig,\n        private htmlNode: HtmlNode,\n        private dslService: DslService,\n        public page: Page,\n    ) {}\n\n    ngOnInit() {\n        combineLatest([this.dslService.evaluateExpression<boolean>(this.content.isEnabledCondition), this.bottomNavService.inputEvents])\n            .pipe(takeUntil(this.unsubscribe))\n            .subscribe((e: any[]) => {\n                const enabled = e[0];\n                const show = e[1].state === 'show';\n                this.useFastIcon = UtilsService.indexableTypeContainsKey(this.page.htmlSourceTypeReplace, 'bottom-nav');\n                this.visible = enabled && show;\n                this.htmlNode.setCssClass('bottom-nav-shown', this.visible);\n            });\n    }\n\n    ngOnDestroy() {\n        this.unsubscribe.next();\n        this.unsubscribe.complete();\n        this.htmlNode.setCssClass('bottom-nav-shown', false);\n    }\n\n    getDisplayMode(displayMode?: string): MenuDisplayMode {\n        return displayMode ? (displayMode as MenuDisplayMode) : MenuDisplayMode.Icon;\n    }\n}\n","import { Injectable } from '@angular/core';\n\nimport { BottomNavService as CoreBottomNavService, DslService, DynamicLayoutService, OnFeatureInit, SlotName } from '@frontend/vanilla/core';\nimport { SpeculationService } from '@frontend/vanilla/core';\nimport { first, firstValueFrom, switchMap } from 'rxjs';\n\nimport { BottomNavConfig } from './bottom-nav.client-config';\nimport { BottomNavComponent } from './bottom-nav.component';\nimport { BottomNavService } from './bottom-nav.service';\n\n@Injectable()\nexport class BottomNavBootstrapService implements OnFeatureInit {\n    constructor(\n        private config: BottomNavConfig,\n        private dynamicLayoutService: DynamicLayoutService,\n        private coreBottomNavService: CoreBottomNavService,\n        private bottomNavService: BottomNavService,\n        private speculationService: SpeculationService,\n        private dslService: DslService,\n    ) {}\n\n    async onFeatureInit() {\n        await firstValueFrom(this.config.whenReady);\n        this.coreBottomNavService.set(this.bottomNavService);\n        this.dynamicLayoutService.addComponent(SlotName.App, BottomNavComponent, null);\n        this.bottomNavService.initProductHighlighting();\n\n        if (!this.bottomNavService.currentHighlightedProductName) {\n            this.bottomNavService.setHighlightedProduct();\n        }\n\n        this.speculationService.whenReady\n            .pipe(\n                switchMap(() => this.dslService.evaluateContent(this.config.items)),\n                first(),\n            )\n            .subscribe((items) => this.speculationService.prerender(items.map((item) => item.url)));\n    }\n}\n","import { runOnFeatureInit } from '@frontend/vanilla/core';\n\nimport { BottomNavBootstrapService } from './bottom-nav-bootstrap.service';\n\nexport function provide() {\n    return [runOnFeatureInit(BottomNavBootstrapService)];\n}\n"],"names":["BottomNavConfig","_a","LazyClientConfigBase","z","__ngFactoryType__","factory","__ngConditionalFactory__","bottomNavConfigFactory","ɵɵinject","LazyClientConfigService","__decorate","LazyClientConfig","key","product","ClientConfigProductName","SF","service","get","BottomNavService","constructor","menuItemsService","bottomNavConfig","dslService","navigationService","menuItemHighlightingService","currentHighlightedProductName","controlEvents","BehaviorSubject","state","inputEvents","initProductHighlighting","initHighlighting","items","locationChange","subscribe","setHighlightedProduct","show","next","hide","setActiveItem","itemName","setActive","MenuSection","BottomNav","setItemCounter","count","cssClass","setCounter","isEnabled","evaluateExpression","isEnabledCondition","pipe","skipUntil","whenReady","name","MenuItemsService","DslService","NavigationService","MenuItemHighlightService","ɵfac","providedIn","_BottomNavService","ɵɵelement","ɵɵproperty","item_r1","ctx_r1","getDisplayMode","parameters","displayMode","ɵɵtemplate","BottomNavComponent_Conditional_0_For_2_Conditional_0_Template","BottomNavComponent_Conditional_0_For_2_Conditional_1_Template","ɵɵconditional","useFastIcon","ɵɵelementStart","ɵɵrepeaterCreate","BottomNavComponent_Conditional_0_For_2_Template","ɵɵcomponentInstance","trackByText","S","ɵɵelementEnd","c","ɵɵadvance","ɵɵrepeater","ɵɵpipeBind1","content","BottomNavComponent","bottomNavService","htmlNode","page","trackByProp","unsubscribe","Subject","ngOnInit","combineLatest","takeUntil","e","enabled","UtilsService","indexableTypeContainsKey","htmlSourceTypeReplace","visible","setCssClass","ngOnDestroy","complete","MenuDisplayMode","Icon","ɵɵdirectiveInject","HtmlNode","Page","E","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","BottomNavComponent_Conditional_0_Template","CommonModule","AsyncPipe","DslPipe","MenuItemComponent","styles","encapsulation","_BottomNavComponent","BottomNavBootstrapService","config","dynamicLayoutService","coreBottomNavService","speculationService","onFeatureInit","__async","firstValueFrom","set","addComponent","SlotName","App","switchMap","evaluateContent","first","prerender","map","item","url","DynamicLayoutService","SpeculationService","_BottomNavBootstrapService","provide","runOnFeatureInit"],"mappings":"mrBAUaA,IAAAA,CAAAA,CAAAA,CAAAA,EAANC,CAAA,CAAA,cAA8BC,EAAoB,EAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA,OAAA,SAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,GAAA,CAAA,CAAAC,EAAA,CAA5CH,CAAe,CAAAI,CAAAA,EAAAA,CAAAA,EAAfJ,CAAe,CAAA,CAAA,CAAA,GAAfA,CAAAA,CAAAA,CAAAA,UAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAAeK,QAAA,SAAAD,CAAAA,CAAA,CAAA,IAAAE,CAAA,CAAA,IAAA,CAAA,OAAAF,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAHZG,GAAsBC,CAC3BC,CAAAA,EAAuB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAFlB,MAAM,CAAA,CAIfR,CAAAA,CAAAA,CAAAA,CAAMD,EAAeU,EAAA,CAAA,CAN3BC,EAAiB,CAAA,CAAEC,GAAK,CAAA,aAAA,CAAeC,OAASC,CAAAA,EAAAA,CAAwBC,EAAE,CAAE,CAAC,CAMjEf,CAAAA,CAAe,CAKtB,CAAA,SAAUO,EAAuBS,CAAAA,CAAAA,CAAgC,CACnE,OAAOA,CAAAA,CAAQC,GAAIjB,CAAAA,CAAe,CACtC,CCWA,IAAakB,CAAAA,CAAAA,CAAgB,IAAA,CAAvB,IAAOA,CAAP,CAAA,MAAOA,CAAgB,CAKzBC,WAAAA,CACYC,CACAC,CAAAA,CAAAA,CACAC,EACAC,CACAC,CAAAA,CAAAA,CAAqD,CAJrD,IAAA,CAAAJ,gBAAAA,CAAAA,CAAAA,CACA,IAAAC,CAAAA,eAAAA,CAAAA,EACA,IAAAC,CAAAA,UAAAA,CAAAA,CACA,CAAA,IAAA,CAAAC,iBAAAA,CAAAA,CAAAA,CACA,IAAAC,CAAAA,2BAAAA,CAAAA,EATZ,IAAAC,CAAAA,6BAAAA,CAA+C,IAEvC,CAAA,IAAA,CAAAC,aAAgB,CAAA,IAAIC,EAAuC,CAAA,CAAEC,MAAO,MAAM,CAAE,EAQjF,CAGH,IAAIC,WAAAA,EAAW,CACX,OAAO,KAAKH,aAChB,CAEAI,uBAAuB,EAAA,CACnB,IAAKN,CAAAA,2BAAAA,CAA4BO,gBAAiB,CAAA,IAAA,CAAKV,gBAAgBW,KAAK,CAAA,CAC5E,IAAKT,CAAAA,iBAAAA,CAAkBU,cAAeC,CAAAA,SAAAA,CAAU,IAAM,IAAA,CAAKC,uBAAuB,EACtF,CAGAC,IAAAA,EAAI,CACA,IAAA,CAAKV,aAAcW,CAAAA,IAAAA,CAAK,CAAET,KAAO,CAAA,MAAM,CAAE,EAC7C,CAGAU,IAAI,EAAA,CACA,IAAKZ,CAAAA,aAAAA,CAAcW,KAAK,CAAET,KAAAA,CAAO,MAAM,CAAE,EAC7C,CAGAW,aAAcC,CAAAA,CAAAA,CAAgB,CAC1B,IAAKpB,CAAAA,gBAAAA,CAAiBqB,SAAUC,CAAAA,GAAAA,CAAYC,SAAWH,CAAAA,CAAQ,EACnE,CAGAI,eAAeJ,CAAkBK,CAAAA,CAAAA,CAAYC,CAAiB,CAAA,CAC1D,IAAK1B,CAAAA,gBAAAA,CAAiB2B,UAAWL,CAAAA,GAAAA,CAAYC,UAAWH,CAAUK,CAAAA,CAAAA,CAAOC,CAAQ,EACrF,CAGAE,SAAAA,EAAS,CACL,OAAO,KAAK1B,UAAW2B,CAAAA,kBAAAA,CAA4B,IAAK5B,CAAAA,eAAAA,CAAgB6B,kBAAkB,CAAA,CAAEC,IAAKC,CAAAA,EAAAA,CAAU,KAAK/B,eAAgBgC,CAAAA,SAAS,CAAC,CAC9I,CAEAlB,qBAAAA,EAAqB,CACjB,IAAMtB,EAAU,IAAKW,CAAAA,2BAAAA,CAA4BW,qBAAsB,CAAA,IAAA,CAAKd,eAAgBW,CAAAA,KAAAA,CAAO,IAAKP,CAAAA,6BAA6B,EAEjIZ,CAASyC,EAAAA,IAAAA,EACT,IAAK9B,CAAAA,2BAAAA,CAA4Be,cAAcG,GAAYC,CAAAA,SAAAA,CAAW9B,CAAQyC,CAAAA,IAAI,EAE1F,CAtDSpC,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,OAAAA,IAAAA,CAAAA,EAAAA,CAAAA,EAAgBV,CAAA+C,CAAAA,EAAA,CAAA/C,CAAAA,CAAAA,CAAAR,CAAA,CAAA,CAAAQ,EAAAgD,EAAA,CAAA,CAAAhD,CAAAiD,CAAAA,EAAA,CAAAjD,CAAAA,CAAAA,CAAAkD,GAAA,CAAA,CAAA,CAAhBxC,CAAAA,CAAAA,CAAAA,UAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAAgBb,OAAhBa,CAAAA,CAAAA,CAAgByC,SAAAC,CAAAA,UAAAA,CAFb,MAAM,CAAA,EAEhB,IAAO1C,CAAAA,CAAP2C,CAAO3C,CAAAA,OAAAA,CAAgB,ICxBb4C,CAAAA,SAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA,CACIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAA,MAAAC,CAAAA,CAAA,CAAa,CAAA,SAAA,CAAAC,CAAAvB,CAAAA,WAAAA,CAAAC,SAAA,CACoB,CAAA,aAAA,CAAAsB,CAAAC,CAAAA,cAAAA,CAAA,UAAA,CAAA,EAQrCJ,CAAAA,CAAAA,SAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAA,EAAA,cAAA,CAAA,CAAA,CACIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAA,MAAAC,CAAAA,CAAA,CAAa,CAAA,SAAA,CAAAC,EAAAvB,WAAAC,CAAAA,SAAA,CACoB,CAAA,aAAA,CAAAsB,EAAAC,cAAAF,CAAAA,CAAAA,CAAAG,UAAAC,CAAAA,WAAA,CAAA,EAbzCC,CAAAA,CAAAA,SAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAA,CAAAC,CAAAA,EAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAA4B,CAAAC,CAAAA,EAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA,CAA5BC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAP,EAAAQ,WAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAFRC,CAAAA,CAAAA,SAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,GAAAA,EAAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CACIC,CAAAA,EAAAA,CAAA,CAAAC,CAAAA,EAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAAC,KAAAC,CAAAA,WAAAA,CAAA,CAAA,CAAA,CAAA,CAAAC,EAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAAA,EAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAuBJC,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAAC,EAAA,EAAA,CAvBIC,CAAA,EAAA,CAAAC,GAAAC,EAAA,CAAA,CAAA,CAAA,CAAAA,CAAAA,EAAAA,CAAA,CAAA,CAAA,CAAA,CAAAnB,CAAAoB,CAAAA,OAAAA,CAAArD,KAAA,CAAA,CAAA,ECqBR,CAAA,CAAA,IAAasD,EAAkB,CAAA,CAAA,IAAA,CAAzB,IAAOA,EAAP,MAAOA,CAAkB,CAO3BnE,WAAAA,CACYoE,EACDF,CACCG,CAAAA,CAAAA,CACAlE,CACDmE,CAAAA,CAAAA,CAAU,CAJT,IAAAF,CAAAA,gBAAAA,CAAAA,CACD,CAAA,IAAA,CAAAF,OAAAA,CAAAA,CAAAA,CACC,IAAAG,CAAAA,QAAAA,CAAAA,EACA,IAAAlE,CAAAA,UAAAA,CAAAA,CACD,CAAA,IAAA,CAAAmE,IAAAA,CAAAA,CAAAA,CAXX,IAAA/C,CAAAA,WAAAA,CAAcA,IAEL,IAAAoC,CAAAA,WAAAA,CAAcY,GAA6B,CAAA,MAAM,CAC1D,CAAA,IAAA,CAAAjB,WAAuB,CAAA,CAAA,CAAA,CACf,KAAAkB,WAAc,CAAA,IAAIC,EAQvB,CAEHC,QAAQ,EAAA,CACJC,EAAc,CAAA,CAAC,KAAKxE,UAAW2B,CAAAA,kBAAAA,CAA4B,IAAKoC,CAAAA,OAAAA,CAAQnC,kBAAkB,CAAA,CAAG,IAAKqC,CAAAA,gBAAAA,CAAiB1D,WAAW,CAAC,CAAA,CAC1HsB,IAAK4C,CAAAA,EAAAA,CAAU,IAAKJ,CAAAA,WAAW,CAAC,CAAA,CAChCzD,UAAW8D,CAAY,EAAA,CACpB,IAAMC,CAAAA,CAAUD,CAAE,CAAA,CAAC,CACb5D,CAAAA,CAAAA,CAAO4D,EAAE,CAAC,CAAA,CAAEpE,KAAU,GAAA,MAAA,CAC5B,KAAK6C,WAAcyB,CAAAA,EAAAA,CAAaC,wBAAyB,CAAA,IAAA,CAAKV,KAAKW,qBAAuB,CAAA,YAAY,CACtG,CAAA,IAAA,CAAKC,OAAUJ,CAAAA,CAAAA,EAAW7D,CAC1B,CAAA,IAAA,CAAKoD,SAASc,WAAY,CAAA,kBAAA,CAAoB,IAAKD,CAAAA,OAAO,EAC9D,CAAC,EACT,CAEAE,aAAW,CACP,IAAA,CAAKZ,WAAYtD,CAAAA,IAAAA,EACjB,CAAA,IAAA,CAAKsD,WAAYa,CAAAA,QAAAA,GACjB,IAAKhB,CAAAA,QAAAA,CAASc,WAAY,CAAA,kBAAA,CAAoB,CAAK,CAAA,EACvD,CAEApC,cAAAA,CAAeE,EAAoB,CAC/B,OAAOA,CAAiDqC,EAAAA,EAAAA,CAAgBC,IAC5E,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,SAAA,CAAA,CAAA,CAAA,OAAA,IAAA,CAAA,EAnCSpB,CAAkBqB,EAAAA,CAAAA,CAAAzF,CAAA,CAAAyF,CAAAA,CAAAA,CAAA3G,CAAA,CAAA,CAAA2G,CAAAC,CAAAA,EAAA,CAAAD,CAAAA,CAAAA,CAAAnD,EAAA,CAAAmD,CAAAA,CAAAA,CAAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAAC,EAAA,CAAA,CAAA,IAAA,CAAlBxB,CAAkByB,CAAAA,SAAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA,CAAAC,WAAA,CAAAC,CAAAA,CAAAA,QAAAA,CAAA,CAAAC,EAAA,EAAAC,KAAA,CAAA,CAAA,CAAAC,IAAA,CAAA,CAAA,CAAAC,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,aAAA,cAAA,CAAA,QAAA,CAAA,wBAAA,CAAA,aAAA,CAAA,CAAA,CAAA,YAAA,CAAA,4BAAA,CAAA,gBAAA,UAAA,CAAA,WAAA,CAAA,iBAAA,CAAA,WAAA,CAAA,uBAAA,CAAA,WAAA,CAAA,yBAAA,CAAA,CAAA,CAAA,OAAA,SAAA,CAAA,aAAA,CAAA,CAAA,CAAA,aAAA,4BAAA,CAAA,eAAA,CAAA,MAAA,CAAA,WAAA,CAAA,kBAAA,WAAA,CAAA,uBAAA,CAAA,WAAA,CAAA,yBAAA,CAAA,CAAA,CAAA,MAAA,CAAA,SAAA,CAAA,aAAA,CAAA,CAAAC,CAAAA,QAAAA,CAAA,SAAAC,CAAAA,CAAAC,CAAA,CAAA,CAAAD,CAAA,CAAA,CAAA,EDvB/BlD,GAAA,CAAAoD,CAAAA,EAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAAjD,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAgD,EAAAnB,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,YAAA,CAAA,CCiBcqB,GAAYC,EAAEC,CAAAA,EAAAA,CAASC,EAAiB,CAAA,CAAAC,OAAA,CAAA,CAAA;;AAAA,CAAA,CAAA,CAAAC,aAAA,CAAA,CAAA,CAAA,CAAA,CAMhD,IAAOzC,CAAP0C,CAAAA,CAAAA,CAAAA,OAAO1C,CAAkB,CAAA,ICZ/B,IAAa2C,EAAAA,CAAAA,CAAyB,IAAA,CAAhC,IAAOA,CAAP,CAAA,MAAOA,CAAyB,CAClC9G,YACY+G,CACAC,CAAAA,CAAAA,CACAC,CACA7C,CAAAA,CAAAA,CACA8C,EACA/G,EAAsB,CAAA,CALtB,IAAA4G,CAAAA,MAAAA,CAAAA,EACA,IAAAC,CAAAA,oBAAAA,CAAAA,CACA,CAAA,IAAA,CAAAC,qBAAAA,CACA,CAAA,IAAA,CAAA7C,gBAAAA,CAAAA,CAAAA,CACA,IAAA8C,CAAAA,kBAAAA,CAAAA,CACA,CAAA,IAAA,CAAA/G,WAAAA,GACT,CAEGgH,aAAa,EAAA,CAAA,OAAAC,EAAA,IACf,CAAA,IAAA,CAAA,WAAA,CAAA,MAAMC,EAAe,CAAA,IAAA,CAAKN,OAAO7E,SAAS,CAAA,CAC1C,IAAK+E,CAAAA,oBAAAA,CAAqBK,IAAI,IAAKlD,CAAAA,gBAAgB,CACnD,CAAA,IAAA,CAAK4C,qBAAqBO,YAAaC,CAAAA,EAAAA,CAASC,GAAKtD,CAAAA,EAAAA,CAAoB,IAAI,CAC7E,CAAA,IAAA,CAAKC,gBAAiBzD,CAAAA,uBAAAA,GAEjB,IAAKyD,CAAAA,gBAAAA,CAAiB9D,6BACvB,EAAA,IAAA,CAAK8D,gBAAiBpD,CAAAA,qBAAAA,EAG1B,CAAA,IAAA,CAAKkG,mBAAmBhF,SACnBF,CAAAA,IAAAA,CACG0F,EAAU,CAAA,IAAM,KAAKvH,UAAWwH,CAAAA,eAAAA,CAAgB,IAAKZ,CAAAA,MAAAA,CAAOlG,KAAK,CAAC,CAAA,CAClE+G,EAAK,EAAE,EAEV7G,SAAWF,CAAAA,CAAAA,EAAU,IAAKqG,CAAAA,kBAAAA,CAAmBW,UAAUhH,CAAMiH,CAAAA,GAAAA,CAAKC,CAASA,EAAAA,CAAAA,CAAKC,GAAG,CAAC,CAAC,EAC9F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,SAAA,CAAA,CAAA,CAAA,OAAA,IAAA,CAAA,EA1BSlB,GAAyBzH,CAAAR,CAAAA,CAAA,CAAAQ,CAAAA,CAAAA,CAAA4I,EAAA,CAAA5I,CAAAA,CAAAA,CAAAU,GAAA,CAAA,CAAAV,EAAAU,CAAA,CAAA,CAAAV,CAAA6I,CAAAA,GAAA,EAAA7I,CAAAgD,CAAAA,EAAA,CAAA,CAAA,wBAAzByE,CAAyB5H,CAAAA,OAAAA,CAAzB4H,CAAyBtE,CAAAA,SAAA,CAAA,CAAhC,CAAA,IAAOsE,CAAPqB,CAAAA,CAAAA,CAAAA,OAAOrB,CAAyB,CAAA,GAAA,CCPhC,SAAUsB,EAAAA,EAAO,CACnB,OAAO,CAACC,GAAiBvB,CAAAA,EAAyB,CAAC,CACvD"}