{"version":3,"file":"chunk-jntifryw.js","sources":["packages/sports/web/app/src/competition-list/competition-store.service.ts","packages/sports/web/app/src/competition-list/competition-tree.component.html","packages/sports/web/app/src/competition-list/competition-tree.component.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { SessionStoreService } from '@frontend/vanilla/core';\nimport { cloneDeep } from 'lodash-es';\n\nimport { TreeItem } from '../common/item/item.model';\n\nexport enum TreeSource {\n Top,\n All,\n}\n\nexport interface TreeState {\n sport: number;\n top: boolean;\n all: boolean;\n children: (number | string)[];\n}\n\n@Injectable({ providedIn: 'root' })\nexport class CompetitionStoreService {\n private readonly key = 'competition-tree';\n private state?: TreeState;\n\n constructor(private store: SessionStoreService) {\n this.state = this.store.get(this.key) || undefined;\n }\n\n init(sport: number): void {\n if (this.state && this.state.sport === sport) {\n return;\n }\n\n this.state = this.getDefault(sport);\n }\n\n get(sport: number): TreeState {\n return this.state && this.state.sport === sport ? cloneDeep(this.state) : this.getDefault(sport);\n }\n\n toggle(source: TreeSource, item?: TreeItem): void {\n if (!this.state) {\n throw new Error('State is not initialized');\n }\n\n if (source === TreeSource.Top) {\n this.state.top = !this.state.top;\n } else {\n if (item) {\n const index = this.state.children.indexOf(item.id);\n\n if (index !== -1 && !item.expanded) {\n this.state.children.splice(index, 1);\n } else if (index === -1 && item.expanded) {\n this.state.children.push(item.id);\n }\n } else {\n this.state.all = !this.state.all;\n }\n }\n\n this.setStore();\n }\n\n private getDefault(sport: number): TreeState {\n return {\n sport,\n top: true,\n all: true,\n children: [],\n };\n }\n\n private setStore(): void {\n this.store.set(this.key, this.state);\n }\n}\n","\n @if (isTopCompetition) {\n \n }\n \n @if (!item.icon && !showFavourite) {\n \n \n \n }\n \n @if (isPriceBoost(!!item.priceBoostCount)) {\n \n }\n @if (isPromoted(item)) {\n \n }\n \n @if (isLeagueOrVirtualGroup(item)) {\n @if (hasCompetitionLogo(item.sport, item.id, item.imageProfile)) {\n \n \n \n }\n }\n \n\n\n\n \n\n\n\n \n\n\n\n\n\n\n\n\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n Output,\n SimpleChange,\n SimpleChanges,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { ImageProfile } from '@cds/betting-offer';\nimport { AutomationModule } from '@frontend/sports/automation/core-feature';\nimport { CalendarConfig, PrettyUrlsConfig, PriceBoostConfig, TimeFilterConfig } from '@frontend/sports/common/client-config-data-access';\nimport { CountItem } from '@frontend/sports/common/core/data-access/sport-model';\nimport { StringDictionary } from '@frontend/sports/common/core/utils/extended-types';\nimport { ListItemComponent } from '@frontend/sports/common/ui/sports-list-items';\nimport { CompetitionLogoComponent, CompetitionLogosService } from '@frontend/sports/competition-logos/feature';\nimport { UrlParam } from '@frontend/sports/navigation/core/feature/url-builder';\nimport { TooltipModule } from '@frontend/sports/tooltip-feature';\nimport { TrackReferringACtionDirective, TrackingSource } from '@frontend/sports/tracking/feature';\nimport { Tournament } from '@frontend/sports/types/components/tournaments';\nimport { DsDivider } from '@frontend/ui/divider';\nimport { RxIf } from '@rx-angular/template/if';\nimport { isEqual } from 'lodash-es';\n\nimport { CalendarItemListComponent } from '../calendar/calendar-item-list.component';\nimport { CalendarPage, CalendarService } from '../calendar/calendar.service';\nimport { IntervalLink } from '../calendar/count-interval.service';\nimport { TimeFrameLocation } from '../calendar/time-filters-tracking.service';\nimport { ItemTreeComponent } from '../common/item/item-tree.component';\nimport { TreeItem } from '../common/item/item.model';\nimport { BadgeComponent } from '../crm-promotion/badge.component';\nimport { CrmPromotionProviderService, PromotionMap } from '../crm-promotion/crm-promotion-provider.service';\nimport { FavouriteLeagueToggleComponent } from '../favourites/toggle/favourite-league-toggle.component';\nimport { CompetitionRoute } from '../navigation/navigation.models';\nimport { SharedPriceboostModule } from '../shared-priceboost/shared-priceboost.module';\nimport { LeagueTreeItem, SportTreeState, VirtualGroupTreeItem } from './competition-list.models';\nimport { CompetitionStoreService, TreeSource } from './competition-store.service';\nimport { CompetitionTreeService } from './competition-tree.service';\n\n@Component({\n selector: 'ms-competition-tree',\n templateUrl: 'competition-tree.component.html',\n styleUrl: './competition-tree.component.scss',\n standalone: true,\n imports: [\n FavouriteLeagueToggleComponent,\n TooltipModule,\n SharedPriceboostModule,\n BadgeComponent,\n CompetitionLogoComponent,\n NgTemplateOutlet,\n ItemTreeComponent,\n RxIf,\n AutomationModule,\n CalendarItemListComponent,\n ListItemComponent,\n DsDivider,\n TrackReferringACtionDirective,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CompetitionTreeComponent implements OnChanges {\n @HostBinding('class') className = 'competition-tree';\n @Input() sport: CountItem;\n @Input() context?: CompetitionRoute;\n @Input() tournaments?: Tournament[];\n @Input() stateless = false;\n @Input() topCompetition = false;\n @Input() showFavourite = false;\n @Input() treeItemNavigation = false;\n @Input() eSportsLobby = false;\n @Output() treeItemClicked = new EventEmitter();\n readonly timeFrameLocation = TimeFrameLocation.CompetitionsPage;\n treeSource = TreeSource;\n favouriteTracking: TrackingSource = { source: 'Top Competition' };\n trackingValue = signal('M2_ListItemlinks');\n cleanedAfterTrack = signal(false);\n\n tree?: TreeItem;\n top?: TreeItem;\n all?: TreeItem;\n promoCompetitions: StringDictionary = {};\n calendarIntervals: IntervalLink[];\n\n constructor(\n private mapper: CompetitionTreeService,\n private store: CompetitionStoreService,\n private competitionLogoService: CompetitionLogosService,\n private crmPromotionProvider: CrmPromotionProviderService,\n private changeDetectorRef: ChangeDetectorRef,\n private calendar: CalendarService,\n private timeFilterConfig: TimeFilterConfig,\n private urlConfig: PrettyUrlsConfig,\n private calendarConfig: CalendarConfig,\n public priceBoostConfig: PriceBoostConfig,\n ) {\n this.crmPromotionProvider.promotionsMap$.pipe(takeUntilDestroyed()).subscribe((ids) => this.promotionMapChanged(ids));\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const state = this.getState(false, this.eSportsLobby);\n this.calendarIntervals = [];\n if (this.isChanged(changes.sport, this.isSportEqual)) {\n this.tree = this.mapper.get(this.sport, state.context, this.eSportsLobby);\n this.top = !this.topCompetition ? this.mapper.getTopCompetitions(this.sport, this.tournaments || [], state.context) : undefined;\n } else if (this.isChanged(changes.tournaments)) {\n this.top = !this.topCompetition ? this.mapper.getTopCompetitions(this.sport, this.tournaments || [], state.context) : undefined;\n }\n\n if (this.isChanged(changes.context) || this.isChanged(changes.stateless) || this.isChanged(changes.eSportsLobby)) {\n this.tree = this.mapper.setState(this.tree, state);\n this.top = !this.topCompetition ? this.mapper.setState(this.top, this.getState(true)) : undefined;\n\n this.all = this.mapper.getAll(this.sport, state);\n }\n\n if (this.sport) {\n this.store.init(this.sport.id);\n }\n if (this.showCalendarTimeFilters(state)) {\n const sport = this.context ? { id: this.context.sport, name: this.context.sportName } : undefined;\n this.calendarIntervals = this.calendar.getCalendarLinks(CalendarPage.Competitions, sport as UrlParam);\n }\n }\n\n isLeagueOrVirtualGroup(item: TreeItem): boolean {\n return item instanceof LeagueTreeItem || item instanceof VirtualGroupTreeItem;\n }\n\n isPriceBoost(isCountPresent: boolean): boolean {\n return this.priceBoostConfig.isEnabled && isCountPresent;\n }\n\n getItemFavouriteId(item: TreeItem): string | number {\n if (item instanceof VirtualGroupTreeItem) {\n return item.favouriteId;\n } else if (item instanceof LeagueTreeItem) {\n return item.realCompetitionId || item.id;\n }\n\n return item.id;\n }\n\n toggled(source: TreeSource, tree: TreeItem, item: TreeItem): void {\n if (tree === this.tree) {\n this.tree = this.mapper.toggleExpanded(this.tree, item);\n }\n if (tree === this.top) {\n this.top = this.mapper.toggleExpanded(this.top, item);\n }\n\n this.changeDetectorRef.markForCheck();\n\n if (this.stateless) {\n return;\n }\n\n this.store.toggle(source, item);\n }\n\n toggleExpandedAll(item: TreeItem): void {\n this.all = this.mapper.toggleExpanded(this.all!, item);\n }\n\n hasCompetitionLogo(sportId: number, leagueId: number, imageProfile: ImageProfile): boolean {\n return !!imageProfile || this.competitionLogoService.hasLogo(sportId, leagueId);\n }\n\n isPromoted(item: TreeItem): boolean {\n return item instanceof LeagueTreeItem && item.isVirtual\n ? item.siblings!.some((id) => !!this.promoCompetitions[id])\n : !!this.promoCompetitions[item.id];\n }\n\n getSubTitle(showSubTitle: boolean, item: LeagueTreeItem): string | undefined {\n return showSubTitle && this.isLeagueOrVirtualGroup(item) ? item.region : undefined;\n }\n\n getCount(isTopCompetition: boolean, itemCount: number): number | undefined {\n return isTopCompetition ? undefined : itemCount;\n }\n\n private promotionMapChanged(map: PromotionMap): void {\n this.promoCompetitions = map.competitions;\n this.changeDetectorRef.markForCheck();\n }\n\n private isChanged = (change: SimpleChange, equality: (first: any, second: any) => boolean = isEqual) => {\n return change && !equality(change.currentValue, change.previousValue);\n };\n\n private isSportEqual = (first: CountItem, second: CountItem) => {\n if (first === undefined && second === undefined) {\n return true;\n }\n\n if (!first || !second || first.id !== second.id || first.children.length !== second.children.length) {\n return false;\n }\n\n if (!isEqual(first.counts, second.counts)) {\n return false;\n }\n\n for (let i = 0; i < first.children.length; i++) {\n if (!this.isSportEqual(first.children[i], second.children[i])) {\n return false;\n }\n }\n\n return true;\n };\n\n private getState(top: boolean = false, esportsLobby: boolean = false): SportTreeState {\n if (!this.sport) {\n return {};\n }\n\n const state = this.store.get(this.sport.id);\n const context = this.context || {};\n\n if (this.stateless) {\n state.top = false;\n state.all = this.topCompetition;\n state.children = [];\n context.sport = this.sport.id;\n }\n\n const treeState = {\n sport: context.sport,\n sportExpanded: top ? state.top : state.all,\n region: context.region,\n regionExpanded: top ? undefined : state.children,\n league: context.league,\n tournament: context.tournament,\n isVirtual: context.isVirtual,\n virtualCompetitionGroup: context.virtualCompetitionGroup,\n context: context.context,\n };\n\n //we need to adapt the treeState when on esportsLobby, as context is null and the functionality for \"1st expanded region\" does not work-\n //context is CompetitionRoute, and we cannot build if from EsportsLobby as we have multiple sports and competitions\n if (esportsLobby) {\n treeState.sport = this.sport.id;\n treeState.sportExpanded = false;\n treeState.regionExpanded = this.sport.children.length > 0 ? [this.sport.children[0].id] : [];\n }\n\n return treeState;\n }\n\n onTreeItemClick(item: TreeItem): void {\n this.cleanedAfterTrack.update(() => item.href?.indexOf('http') === 0 || false);\n this.treeItemClicked.emit(item);\n }\n\n private showCalendarTimeFilters(state: SportTreeState): boolean {\n return (\n state.context === this.urlConfig.translations.betting && this.timeFilterConfig.isTimeFilterEnabled && this.calendarConfig.showCalendarTab\n );\n }\n}\n"],"names":["TreeSource","CompetitionStoreService","constructor","store","key","state","get","undefined","init","sport","getDefault","cloneDeep","toggle","source","item","Error","Top","top","index","children","indexOf","id","expanded","splice","push","all","setStore","set","ɵɵinject","SessionStoreService","factory","ɵfac","providedIn","_CompetitionStoreService","ɵɵelement","ɵɵelementStart","ɵɵelementEnd","s","ɵɵadvance","ɵɵproperty","ctx_r2","getItemFavouriteId","item_r2","title","favouriteTracking_r5","priceBoostCount","imageProfile","ɵɵtemplate","CompetitionTreeComponent_ng_template_0_Conditional_6_Conditional_0_Template","ɵɵconditional","hasCompetitionLogo","v","CompetitionTreeComponent_ng_template_0_Conditional_0_Template","ɵɵlistener","ɵɵrestoreView","_r1","$implicit","ɵɵnextContext","ɵɵresetView","onTreeItemClick","CompetitionTreeComponent_ng_template_0_Conditional_2_Template","CompetitionTreeComponent_ng_template_0_Conditional_4_Template","CompetitionTreeComponent_ng_template_0_Conditional_5_Template","CompetitionTreeComponent_ng_template_0_Conditional_6_Template","isTopCompetition_r6","ɵɵclassProp","trackingValue","cleanedAfterTrack","attribute","getCount","count","treeItemNavigation","href","icon","active","getSubTitle","showFavourite","isPriceBoost","isPromoted","isLeagueOrVirtualGroup","ɵɵelementContainer","CompetitionTreeComponent_ng_template_2_ng_container_0_Template","leagueTemplate_r8","ɵɵpureFunction2","_c0","item_r7","favouriteTracking","CompetitionTreeComponent_ng_template_4_ng_container_0_Template","ɵɵpureFunction1","_c1","item_r9","$event","_r10","toggleExpandedAll","_c2","ɵɵpureFunction0","_c3","_r11","toggled","treeSource","S","_c4","topCompetitionTemplate_r12","calendarIntervals","timeFrameLocation","_r13","All","tree","ɵɵclassMap","eSportsLobby","_c5","treeCompetitionTemplate_r14","CompetitionTreeComponent","mapper","competitionLogoService","crmPromotionProvider","changeDetectorRef","calendar","timeFilterConfig","urlConfig","calendarConfig","priceBoostConfig","className","stateless","topCompetition","treeItemClicked","EventEmitter","TimeFrameLocation","CompetitionsPage","signal","promoCompetitions","isChanged","change","equality","isEqual","currentValue","previousValue","isSportEqual","first","second","length","counts","i","promotionsMap$","pipe","takeUntilDestroyed","subscribe","ids","promotionMapChanged","ngOnChanges","changes","getState","context","getTopCompetitions","tournaments","setState","getAll","showCalendarTimeFilters","name","sportName","getCalendarLinks","CalendarPage","Competitions","LeagueTreeItem","VirtualGroupTreeItem","isCountPresent","isEnabled","favouriteId","realCompetitionId","toggleExpanded","markForCheck","sportId","leagueId","hasLogo","isVirtual","siblings","some","showSubTitle","region","isTopCompetition","itemCount","map","competitions","esportsLobby","treeState","sportExpanded","regionExpanded","league","tournament","virtualCompetitionGroup","update","_a","emit","translations","betting","isTimeFilterEnabled","showCalendarTab","ɵɵdirectiveInject","CompetitionTreeService","CompetitionLogosService","CrmPromotionProviderService","ChangeDetectorRef","CalendarService","TimeFilterConfig","PrettyUrlsConfig","CalendarConfig","PriceBoostConfig","j","selectors","hostVars","hostBindings","rf","ctx","CompetitionTreeComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","CompetitionTreeComponent_ng_template_2_Template","CompetitionTreeComponent_ng_template_4_Template","CompetitionTreeComponent_ms_item_tree_6_Template","CompetitionTreeComponent_ms_item_tree_7_Template","CompetitionTreeComponent_ms_calendar_item_list_8_Template","CompetitionTreeComponent_ms_item_tree_9_Template","FavouriteLeagueToggleComponent","TooltipModule","SharedPriceboostModule","PriceboostCountSignpostComponent","BadgeComponent","CompetitionLogoComponent","NgTemplateOutlet","ItemTreeComponent","RxIf","AutomationModule","AutomationDirective","CalendarItemListComponent","ListItemComponent","DsDivider","TrackReferringACtionDirective","styles","changeDetection","_CompetitionTreeComponent"],"mappings":"ixBAOA,IAAYA,CAAAA,CAAZ,SAAYA,CAAU,CAAA,CAClBA,OAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MACAA,CAAAA,CAAAA,CAAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAFQA,CAGZ,CAAA,CAHYA,GAAU,EAAA,EAaTC,EAAuB,CAAA,CAAA,IAAA,CAA9B,IAAOA,CAAAA,CAAP,MAAOA,CAAuB,CAIhCC,YAAoBC,CAA0B,CAAA,CAA1B,KAAAA,KAAAA,CAAAA,CAAAA,CAHH,KAAAC,GAAM,CAAA,kBAAA,CAInB,KAAKC,KAAQ,CAAA,IAAA,CAAKF,MAAMG,GAAe,CAAA,IAAA,CAAKF,GAAG,CAAKG,EAAAA,KAAAA,EACxD,CAEAC,IAAKC,CAAAA,CAAAA,CAAa,CACV,IAAKJ,CAAAA,KAAAA,EAAS,KAAKA,KAAMI,CAAAA,KAAAA,GAAUA,IAIvC,IAAKJ,CAAAA,KAAAA,CAAQ,KAAKK,UAAWD,CAAAA,CAAK,GACtC,CAEAH,GAAAA,CAAIG,EAAa,CACb,OAAO,KAAKJ,KAAS,EAAA,IAAA,CAAKA,MAAMI,KAAUA,GAAAA,CAAAA,CAAQE,GAAU,IAAKN,CAAAA,KAAK,EAAI,IAAKK,CAAAA,UAAAA,CAAWD,CAAK,CACnG,CAEAG,OAAOC,CAAoBC,CAAAA,CAAAA,CAAe,CACtC,GAAI,CAAC,IAAKT,CAAAA,KAAAA,CACN,MAAM,IAAIU,MAAM,0BAA0B,CAAA,CAG9C,GAAIF,CAAWb,GAAAA,CAAAA,CAAWgB,IACtB,IAAKX,CAAAA,KAAAA,CAAMY,IAAM,CAAC,IAAA,CAAKZ,MAAMY,GAEzBH,CAAAA,KAAAA,GAAAA,CAAAA,CAAM,CACN,IAAMI,CAAAA,CAAQ,KAAKb,KAAMc,CAAAA,QAAAA,CAASC,QAAQN,CAAKO,CAAAA,EAAE,EAE7CH,CAAU,GAAA,CAAA,CAAA,EAAM,CAACJ,CAAKQ,CAAAA,QAAAA,CACtB,KAAKjB,KAAMc,CAAAA,QAAAA,CAASI,OAAOL,CAAO,CAAA,CAAC,EAC5BA,CAAU,GAAA,CAAA,CAAA,EAAMJ,EAAKQ,QAC5B,EAAA,IAAA,CAAKjB,MAAMc,QAASK,CAAAA,IAAAA,CAAKV,CAAKO,CAAAA,EAAE,EAExC,CAAA,KACI,KAAKhB,KAAMoB,CAAAA,GAAAA,CAAM,CAAC,IAAKpB,CAAAA,KAAAA,CAAMoB,IAIrC,IAAKC,CAAAA,QAAAA,GACT,CAEQhB,UAAAA,CAAWD,EAAa,CAC5B,OAAO,CACHA,KAAAA,CAAAA,CAAAA,CACAQ,IAAK,CACLQ,CAAAA,CAAAA,GAAAA,CAAK,GACLN,QAAU,CAAA,GAElB,CAEQO,QAAAA,EAAQ,CACZ,IAAKvB,CAAAA,KAAAA,CAAMwB,IAAI,IAAKvB,CAAAA,GAAAA,CAAK,KAAKC,KAAK,EACvC,yCAvDSJ,CAAuB2B,EAAAA,EAAAA,CAAAC,EAAA,CAAA,CAAA,wBAAvB5B,CAAuB6B,CAAAA,OAAAA,CAAvB7B,CAAuB8B,CAAAA,SAAAA,CAAAC,UADV,CAAA,MAAM,CAAA,CAC1B,CAAA,IAAO/B,EAAPgC,CAAOhC,CAAAA,OAAAA,CAAuB,IClB5BiC,CAAAA,IAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,iBAAAA,CAAAA,CAAAA,CAAAA,gBAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,GAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,KAAAA,CAAAA,EAAAA,CAAAA,uBAAAA,CAAAA,IAAAA,CAAAA,YAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,KAAAA,CAAAA,EAAAA,CAAAA,kBAAAA,CAAAA,IAAAA,CAAAA,YAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,KAAAA,CAAAA,EAAAA,CAAAA,kBAAAA,CAAAA,IAAAA,CAAAA,YAAAA,CAAAA,CAAAA,CAAAA,SAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAA,EAAA,YAAA,EAAA,CAAA,SAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GAsBIC,GAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CACID,CAAAA,EAAAA,CAAA,EAAA,4BAAA,CAAA,EAAA,EAMJE,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAAC,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,iBAAA,CAAA,CAAA,CAAAA,EAAA,EAAA,CAJQC,IAAAC,CAAAA,EAAAA,CAAA,KAAAC,CAAAC,CAAAA,kBAAAA,CAAAC,CAAA,CAAA,CAAA,CAA+B,OAAAA,CAAAC,CAAAA,KAAA,EACZ,OAAAD,CAAAA,CAAAA,CAAAjC,KAAA,CACC,CAAA,UAAA,CAAAmC,CAAA,EAMxBV,CAAAA,CAAAA,SAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAA,EAAA,8BAAA,CAAA,EAAA,4BAA8BK,EAAA,CAAA,OAAA,CAAAG,EAAAG,eAAA,EAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAG9BX,GAAA,CAAA,CAAA,oBAAA,6BAKAC,EAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,CACID,GAAA,CAAA,CAAA,qBAAA,CAAA,EAAA,CACJE,CAAAA,EAAAA,+BADyBE,EAAA,EAAA,CAAAC,GAAA,SAAAG,CAAAA,CAAAA,CAAAjC,KAAA,CAAsB,CAAA,UAAA,CAAAiC,EAAArB,EAAA,CAAA,CAAqB,eAAAqB,CAAAI,CAAAA,YAAA,6BAFxEC,EAAA,CAAA,CAAA,CAAAC,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAAX,EAAA,EAAA,CAAA,SAAA,CAAA,CAAA,CAAAA,EAAA,EAAA,CAAAY,EAAAT,CAAAA,CAAAA,CAAAU,kBAAAR,CAAAA,CAAAA,CAAAjC,MAAAiC,CAAArB,CAAAA,EAAAA,CAAAqB,EAAAI,YAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAAK,EAAA,EAAA,CAzCRJ,GAAA,CAAAK,CAAAA,EAAAA,CAAA,EAAA,CAAA,CAAA,YAAA,EAGAjB,EAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA,CAkBIkB,GAAA,aAAA,CAAA,UAAA,CAAA,IAAAX,CAAAA,CAAAY,GAAAC,CAAA,CAAA,CAAAC,UAAAhB,CAAAiB,CAAAA,EAAAA,GAAA,OAAAC,EAAAA,CAAelB,EAAAmB,eAAAjB,CAAAA,CAAA,CAAqB,CAAA,CAAA,EACpCK,EAAA,CAAA,CAAA,CAAAa,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAUAzB,CAAAA,EAAAA,CAAA,EAAA,MAAA,CAAA,CAAA,EACIY,EAAA,CAAA,CAAA,CAAAc,GAAA,CAAA,CAAA,CAAA,CAAA,+BAAA,EAAA,CAAA,CAA4C,EAAAC,EAAA,CAAA,CAAA,CAAA,EAAA,oBAAA,CAAA,CAMhD1B,IACAW,CAAAA,EAAAA,CAAA,EAAAgB,EAAA,CAAA,CAAA,CAAA,CAAA,CAOJ3B,CAAAA,EAAAA,0DA/CAa,EAAAe,CAAAA,CAAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAUI1B,IAAA2B,CAAAA,EAAAA,CAAA,UAAAzB,CAAAU,CAAAA,kBAAAA,CAAAR,EAAAjC,KAAAiC,CAAAA,CAAAA,CAAArB,EAAAqB,CAAAA,CAAAA,CAAAI,YAAA,CAAA,EALAP,EAAA,CAAA,eAAA,CAAAC,EAAA0B,aAAA,EAAA,EAAiC,iBAAA1B,CAAAA,CAAAA,CAAA2B,mBAAA,CAAA,CACM,QAAA,CAAA,CAAA,CAAA,CACxB,WAAA,IAAA,CAAA,CACE,YAAAzB,CAAA0B,CAAAA,SAAA,EACW,OAAA5B,CAAAA,CAAAA,CAAA6B,SAAAL,CAAAtB,CAAAA,CAAAA,CAAA4B,KAAA,CAAA,CAAA,CAEoB,OAAA9B,CAAA+B,CAAAA,kBAAAA,CAAA,KAAA7B,CAAA8B,CAAAA,IAAA,EACF,MAAA9B,CAAAA,CAAAA,CAAA+B,IAAA,CAC5B,CAAA,OAAA,CAAA/B,EAAAC,KAAA,CAAA,CACE,YAAAD,CAAAgC,CAAAA,MAAA,EACK,UAAAlC,CAAAA,CAAAA,CAAAmC,YAAAX,CAAAtB,CAAAA,CAAA,CAAA,CACuB,CAAA,cAAA,CAAA,EAAA,CAC1B,CAAA,UAAA,CAAAA,EAAAgC,MAAA,CAAA,CACE,QAAA,CAAA,CAAA,CAAA,CACV,gBAAA,CAAA,CAAAhC,EAAA+B,IAAA,EAAA,CAAAjC,EAAAoC,aAAA,CAAA,CAGdtC,IAAAW,CAAAA,EAAAA,CAAA,CAAAP,CAAA+B,CAAAA,IAAAA,EAAA,CAAAjC,CAAAoC,CAAAA,aAAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAWItC,GAAA,CAAA,CAAA,CAAAW,GAAAT,CAAAqC,CAAAA,YAAAA,CAAA,CAAA,CAAAnC,CAAAG,CAAAA,eAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAGAP,EAAA,EAAA,CAAAW,GAAAT,CAAAsC,CAAAA,UAAAA,CAAApC,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAIJJ,CAAAA,EAAAA,GAAAW,EAAAT,CAAAA,CAAAA,CAAAuC,uBAAArC,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAWJsC,GAAA,CAAA,EAAA,CAAA,SAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAAAjC,GAAA,CAAAkC,CAAAA,EAAAA,CAAA,EAAA,CAAA,CAAA,cAAA,CAAA,EAAA,CAAe1C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAA,mBAAA2C,CAAA,CAAA,CAAkC,0BAAAC,EAAA,CAAA,CAAA,CAAAC,GAAAC,CAAA7C,CAAAA,CAAAA,CAAA8C,iBAAA,CAAA,EAIjDN,CAAAA,CAAAA,SAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAA,CAAA,EAAAjC,CAAAA,SAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAA,EAAAwC,EAAA,CAAA,CAAA,CAAA,EAAA,cAAA,CAAA,EAAA,0CAAehD,EAAA,CAAA,kBAAA,CAAA2C,CAAA,CAAkC,CAAA,yBAAA,CAAAM,GAAA,CAAAC,CAAAA,EAAAA,CAAAC,CAAA,CAAA,EAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAAvC,EAAA,EAAA,CAGrDhB,GAAA,CAAA,CAAA,cAAA,CAAA,EAAA,CAA8GkB,CAAAA,EAAAA,CAAA,SAAA,SAAAsC,CAAAA,CAAA,CAAArC,EAAAsC,CAAAA,CAAA,EAAA,IAAApD,CAAAA,CAAAiB,IAAA,CAAA,OAAAC,GAAUlB,CAAAqD,CAAAA,iBAAAA,CAAAF,CAAA,CAAyB,CAAA,CAAA,CAAA,CAAjJvD,EAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAAC,EAAA,EAAA,CAA0BE,GAAA,MAAAiD,CAAAA,EAAAA,CAAA,EAAAM,CAAAtD,CAAAA,CAAAA,CAAAf,GAAA,CAAA,CAAA,CAAc,eAAAsE,EAAA,CAAA,CAAA,CAAAC,EAAA,CAAA,EAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA7C,EAAA,EAAA,CACxChB,GAAA,CAAA,CAAA,cAAA,CAAA,EAAA,CAKIkB,CAAAA,EAAAA,CAAA,SAAA,SAAAsC,CAAAA,CAAA,CAAArC,EAAA2C,CAAAA,CAAA,EAAA,IAAAzD,CAAAA,CAAAiB,IAAA,CAAA,OAAAC,GAAUlB,CAAA0D,CAAAA,OAAAA,CAAA1D,EAAA2D,UAAAnF,CAAAA,GAAAA,CAAAwB,EAAAvB,GAAA0E,CAAAA,CAAA,CAAoC,CAAA,CAAA,EALlDvD,EAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAAC,EAAA,EAAA,CAAA,CAAA,CAAA+D,EAAA,CAAA,CAAA,CAAA,CAEI7D,GAAA,MAAAiD,CAAAA,EAAAA,CAAA,EAAAM,CAAAtD,CAAAA,CAAAA,CAAAvB,GAAA,CAAA,CAAA,CAAc,eAAA8E,EAAA,CAAA,CAAA,CAAAM,EAAA,CAAA,CAAA,CACiD,eAAAC,CAAA,EAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAInEpE,GAAA,CAAA,CAAA,uBAAA,CAAA,EAAA,CAAyDK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,EAAAA,CAAA,oBAAAC,CAAA+D,CAAAA,iBAAA,EAAuC,UAAA/D,CAAAA,CAAAA,CAAAgE,iBAAA,EAEhGrE,CAAAA,CAAAA,SAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,EAAAA,CAAA,EAAA,cAAA,CAAA,EAAA,EAOIkB,EAAA,CAAA,QAAA,CAAA,SAAAsC,CAAA,CAAA,CAAArC,GAAAmD,CAAA,CAAA,CAAA,IAAAjE,CAAAA,CAAAiB,EAAA,EAAA,CAAA,OAAAC,EAAUlB,CAAAA,CAAAA,CAAA0D,QAAA1D,CAAA2D,CAAAA,UAAAA,CAAAO,IAAAlE,CAAAmE,CAAAA,IAAAA,CAAAhB,CAAA,CAAqC,CAAA,CAAA,CAPnDvD,CAAAA,EAAAA,+BAGIwE,EAAApE,CAAAA,CAAAA,CAAAqE,aAAA,cAAA,CAAA,kBAAA,EADAtE,EAAA,CAAA,MAAA,CAAAiD,GAAA,CAAAM,CAAAA,CAAAA,CAAAtD,EAAAmE,IAAA,CAAA,EAAe,cAAAZ,CAAAA,EAAAA,CAAA,EAAAe,EAAA,CAAA,EAEgD,cAAAC,CAAAA,CAAA,EACvB,qBAAAvE,CAAAA,CAAAA,CAAAqE,YAAA,ECN5C,CAAA,CAAA,IAAaG,EAAwB,CAAA,CAAA,IAAA,CAA/B,IAAOA,EAAP,MAAOA,CAAwB,CAuBjC9G,WACY+G,CAAAA,CAAAA,CACA9G,EACA+G,CACAC,CAAAA,CAAAA,CACAC,EACAC,EACAC,CAAAA,EAAAA,CACAC,GACAC,EACDC,CAAAA,EAAAA,CAAkC,CATjC,IAAAR,CAAAA,MAAAA,CAAAA,EACA,IAAA9G,CAAAA,KAAAA,CAAAA,EACA,IAAA+G,CAAAA,sBAAAA,CAAAA,EACA,IAAAC,CAAAA,oBAAAA,CAAAA,EACA,IAAAC,CAAAA,iBAAAA,CAAAA,EACA,IAAAC,CAAAA,QAAAA,CAAAA,GACA,IAAAC,CAAAA,gBAAAA,CAAAA,GACA,IAAAC,CAAAA,SAAAA,CAAAA,GACA,IAAAC,CAAAA,cAAAA,CAAAA,GACD,IAAAC,CAAAA,gBAAAA,CAAAA,EAhCW,CAAA,IAAA,CAAAC,SAAY,CAAA,kBAAA,CAIzB,KAAAC,SAAY,CAAA,CAAA,CAAA,CACZ,KAAAC,cAAiB,CAAA,CAAA,CAAA,CACjB,KAAAhD,aAAgB,CAAA,CAAA,CAAA,CAChB,KAAAL,kBAAqB,CAAA,CAAA,CAAA,CACrB,KAAAsC,YAAe,CAAA,CAAA,CAAA,CACd,KAAAgB,eAAkB,CAAA,IAAIC,GACvB,IAAAtB,CAAAA,iBAAAA,CAAoBuB,EAAkBC,gBAC/C,CAAA,IAAA,CAAA7B,WAAanG,CACb,CAAA,IAAA,CAAAsF,kBAAoC,CAAEzE,MAAAA,CAAQ,iBAAiB,CAC/D,CAAA,IAAA,CAAAqD,cAAgB+D,EAAe,CAAA,kBAAkB,EACjD,IAAA9D,CAAAA,iBAAAA,CAAoB8D,GAAO,CAAK,CAAA,CAAA,CAKhC,KAAAC,iBAA8C,CAAA,GA0GtC,IAAAC,CAAAA,SAAAA,CAAY,CAACC,CAAsBC,CAAAA,CAAAA,CAAiDC,KACjFF,CAAU,EAAA,CAACC,EAASD,CAAOG,CAAAA,YAAAA,CAAcH,EAAOI,aAAa,CAAA,CAGhE,KAAAC,YAAe,CAAA,CAACC,EAAkBC,CAAqB,GAAA,CAC3D,GAAID,CAAUnI,GAAAA,KAAAA,CAAAA,EAAaoI,IAAWpI,KAClC,CAAA,CAAA,OAAO,GAOX,GAJI,CAACmI,GAAS,CAACC,CAAAA,EAAUD,EAAMrH,EAAOsH,GAAAA,CAAAA,CAAOtH,IAAMqH,CAAMvH,CAAAA,QAAAA,CAASyH,SAAWD,CAAOxH,CAAAA,QAAAA,CAASyH,QAIzF,CAACN,EAAAA,CAAQI,EAAMG,MAAQF,CAAAA,CAAAA,CAAOE,MAAM,CAAA,CACpC,OAAO,CAAA,CAAA,CAGX,QAASC,CAAI,CAAA,CAAA,CAAGA,EAAIJ,CAAMvH,CAAAA,QAAAA,CAASyH,OAAQE,CACvC,EAAA,CAAA,GAAI,CAAC,IAAKL,CAAAA,YAAAA,CAAaC,EAAMvH,QAAS2H,CAAAA,CAAC,EAAGH,CAAOxH,CAAAA,QAAAA,CAAS2H,CAAC,CAAC,CAAA,CACxD,OAAO,CAIf,CAAA,CAAA,OAAO,EACX,CAnHI,CAAA,IAAA,CAAK3B,qBAAqB4B,cAAeC,CAAAA,IAAAA,CAAKC,IAAoB,CAAA,CAAEC,UAAWC,CAAQ,EAAA,IAAA,CAAKC,oBAAoBD,CAAG,CAAC,EACxH,CAEAE,WAAAA,CAAYC,EAAsB,CAC9B,IAAMjJ,CAAQ,CAAA,IAAA,CAAKkJ,QAAS,CAAA,CAAA,CAAA,CAAO,KAAK1C,YAAY,CAAA,CAmBpD,GAlBA,IAAKN,CAAAA,iBAAAA,CAAoB,EACrB,CAAA,IAAA,CAAK4B,UAAUmB,CAAQ7I,CAAAA,KAAAA,CAAO,KAAKgI,YAAY,CAAA,EAC/C,KAAK9B,IAAO,CAAA,IAAA,CAAKM,OAAO3G,GAAI,CAAA,IAAA,CAAKG,MAAOJ,CAAMmJ,CAAAA,OAAAA,CAAS,KAAK3C,YAAY,CAAA,CACxE,KAAK5F,GAAO,CAAA,IAAA,CAAK2G,eAAqGrH,KAApF,CAAA,CAAA,IAAA,CAAK0G,OAAOwC,kBAAmB,CAAA,IAAA,CAAKhJ,MAAO,IAAKiJ,CAAAA,WAAAA,EAAe,EAAIrJ,CAAAA,CAAAA,CAAMmJ,OAAO,CAC3G,EAAA,IAAA,CAAKrB,SAAUmB,CAAAA,CAAAA,CAAQI,WAAW,CAAA,GACzC,KAAKzI,GAAO,CAAA,IAAA,CAAK2G,eAAqGrH,KAApF,CAAA,CAAA,IAAA,CAAK0G,OAAOwC,kBAAmB,CAAA,IAAA,CAAKhJ,MAAO,IAAKiJ,CAAAA,WAAAA,EAAe,EAAIrJ,CAAAA,CAAAA,CAAMmJ,OAAO,CAGlH,CAAA,CAAA,CAAA,IAAA,CAAKrB,UAAUmB,CAAQE,CAAAA,OAAO,GAAK,IAAKrB,CAAAA,SAAAA,CAAUmB,EAAQ3B,SAAS,CAAA,EAAK,KAAKQ,SAAUmB,CAAAA,CAAAA,CAAQzC,YAAY,CAC3G,IAAA,IAAA,CAAKF,KAAO,IAAKM,CAAAA,MAAAA,CAAO0C,SAAS,IAAKhD,CAAAA,IAAAA,CAAMtG,CAAK,CACjD,CAAA,IAAA,CAAKY,IAAO,IAAK2G,CAAAA,cAAAA,CAAuErH,OAAtD,IAAK0G,CAAAA,MAAAA,CAAO0C,SAAS,IAAK1I,CAAAA,GAAAA,CAAK,KAAKsI,QAAS,CAAA,CAAA,CAAI,CAAC,CAEpF,CAAA,IAAA,CAAK9H,IAAM,IAAKwF,CAAAA,MAAAA,CAAO2C,OAAO,IAAKnJ,CAAAA,KAAAA,CAAOJ,CAAK,CAG/C,CAAA,CAAA,IAAA,CAAKI,OACL,IAAKN,CAAAA,KAAAA,CAAMK,KAAK,IAAKC,CAAAA,KAAAA,CAAMY,EAAE,CAE7B,CAAA,IAAA,CAAKwI,wBAAwBxJ,CAAK,CAAA,CAAG,CACrC,IAAMI,CAAAA,CAAQ,KAAK+I,OAAU,CAAA,CAAEnI,GAAI,IAAKmI,CAAAA,OAAAA,CAAQ/I,MAAOqJ,IAAM,CAAA,IAAA,CAAKN,QAAQO,SAAS,CAAA,CAAKxJ,KACxF,CAAA,CAAA,IAAA,CAAKgG,iBAAoB,CAAA,IAAA,CAAKc,SAAS2C,gBAAiBC,CAAAA,CAAAA,CAAaC,aAAczJ,CAAiB,EACxG,CACJ,CAEAsE,sBAAAA,CAAuBjE,EAAc,CACjC,OAAOA,aAAgBqJ,CAAkBrJ,EAAAA,CAAAA,YAAgBsJ,CAC7D,CAEAvF,YAAAA,CAAawF,EAAuB,CAChC,OAAO,KAAK5C,gBAAiB6C,CAAAA,SAAAA,EAAaD,CAC9C,CAEA5H,kBAAAA,CAAmB3B,EAAc,CAC7B,OAAIA,aAAgBsJ,CACTtJ,CAAAA,CAAAA,CAAKyJ,YACLzJ,CAAgBqJ,YAAAA,CAAAA,EAChBrJ,EAAK0J,iBAAqB1J,EAAAA,CAAAA,CAAKO,EAI9C,CAEA6E,OAAAA,CAAQrF,EAAoB8F,CAAgB7F,CAAAA,CAAAA,CAAc,CAClD6F,CAAAA,GAAS,IAAKA,CAAAA,IAAAA,GACd,KAAKA,IAAO,CAAA,IAAA,CAAKM,OAAOwD,cAAe,CAAA,IAAA,CAAK9D,KAAM7F,CAAI,CAAA,CAAA,CAEtD6F,IAAS,IAAK1F,CAAAA,GAAAA,GACd,KAAKA,GAAM,CAAA,IAAA,CAAKgG,OAAOwD,cAAe,CAAA,IAAA,CAAKxJ,IAAKH,CAAI,CAAA,CAAA,CAGxD,KAAKsG,iBAAkBsD,CAAAA,YAAAA,GAEnB,CAAK/C,IAAAA,CAAAA,SAAAA,EAIT,KAAKxH,KAAMS,CAAAA,MAAAA,CAAOC,EAAQC,CAAI,EAClC,CAEA+E,iBAAkB/E,CAAAA,CAAAA,CAAc,CAC5B,IAAKW,CAAAA,GAAAA,CAAM,KAAKwF,MAAOwD,CAAAA,cAAAA,CAAe,KAAKhJ,GAAMX,CAAAA,CAAI,EACzD,CAEAoC,kBAAmByH,CAAAA,CAAAA,CAAiBC,EAAkB9H,CAA0B,CAAA,CAC5E,OAAO,CAAC,CAACA,GAAgB,IAAKoE,CAAAA,sBAAAA,CAAuB2D,QAAQF,CAASC,CAAAA,CAAQ,CAClF,CAEA9F,UAAAA,CAAWhE,EAAc,CACrB,OAAOA,aAAgBqJ,CAAkBrJ,EAAAA,CAAAA,CAAKgK,UACxChK,CAAKiK,CAAAA,QAAAA,CAAUC,KAAM3J,CAAO,EAAA,CAAC,CAAC,IAAK6G,CAAAA,iBAAAA,CAAkB7G,CAAE,CAAC,CAAA,CACxD,CAAC,CAAC,IAAA,CAAK6G,kBAAkBpH,CAAKO,CAAAA,EAAE,CAC1C,CAEAsD,WAAAA,CAAYsG,EAAuBnK,CAAoB,CAAA,CACnD,OAAOmK,CAAgB,EAAA,IAAA,CAAKlG,uBAAuBjE,CAAI,CAAA,CAAIA,EAAKoK,MAAS3K,CAAAA,KAAAA,CAC7E,CAEA8D,QAAS8G,CAAAA,CAAAA,CAA2BC,EAAiB,CACjD,OAAOD,EAAmB5K,KAAY6K,CAAAA,CAAAA,CAC1C,CAEQhC,mBAAoBiC,CAAAA,CAAAA,CAAiB,CACzC,IAAKnD,CAAAA,iBAAAA,CAAoBmD,EAAIC,YAC7B,CAAA,IAAA,CAAKlE,kBAAkBsD,YAAY,GACvC,CA4BQnB,QAAStI,CAAAA,CAAAA,CAAe,GAAOsK,CAAwB,CAAA,CAAA,CAAA,CAAK,CAChE,GAAI,CAAC,KAAK9K,KACN,CAAA,OAAO,EAGX,CAAA,IAAMJ,EAAQ,IAAKF,CAAAA,KAAAA,CAAMG,GAAI,CAAA,IAAA,CAAKG,KAAMY,CAAAA,EAAE,EACpCmI,CAAU,CAAA,IAAA,CAAKA,SAAW,EAAA,CAE5B,KAAK7B,SACLtH,GAAAA,CAAAA,CAAMY,IAAM,CACZZ,CAAAA,CAAAA,CAAAA,CAAMoB,IAAM,IAAKmG,CAAAA,cAAAA,CACjBvH,EAAMc,QAAW,CAAA,GACjBqI,CAAQ/I,CAAAA,KAAAA,CAAQ,KAAKA,KAAMY,CAAAA,EAAAA,CAAAA,CAG/B,IAAMmK,CAAY,CAAA,CACd/K,MAAO+I,CAAQ/I,CAAAA,KAAAA,CACfgL,cAAexK,CAAMZ,CAAAA,CAAAA,CAAMY,IAAMZ,CAAMoB,CAAAA,GAAAA,CACvCyJ,OAAQ1B,CAAQ0B,CAAAA,MAAAA,CAChBQ,eAAgBzK,CAAMV,CAAAA,KAAAA,CAAAA,CAAYF,EAAMc,QACxCwK,CAAAA,MAAAA,CAAQnC,CAAQmC,CAAAA,MAAAA,CAChBC,UAAYpC,CAAAA,CAAAA,CAAQoC,WACpBd,SAAWtB,CAAAA,CAAAA,CAAQsB,UACnBe,uBAAyBrC,CAAAA,CAAAA,CAAQqC,wBACjCrC,OAASA,CAAAA,CAAAA,CAAQA,SAKrB,OAAI+B,CAAAA,GACAC,EAAU/K,KAAQ,CAAA,IAAA,CAAKA,MAAMY,EAC7BmK,CAAAA,CAAAA,CAAUC,cAAgB,CAC1BD,CAAAA,CAAAA,CAAAA,CAAUE,eAAiB,IAAKjL,CAAAA,KAAAA,CAAMU,SAASyH,MAAS,CAAA,CAAA,CAAI,CAAC,IAAKnI,CAAAA,KAAAA,CAAMU,SAAS,CAAC,CAAA,CAAEE,EAAE,CAAI,CAAA,IAGvFmK,CACX,CAEA7H,gBAAgB7C,CAAc,CAAA,CAC1B,KAAKqD,iBAAkB2H,CAAAA,MAAAA,CAAO,IAAA,CAnQtC,IAAAC,CAAAA,CAmQ4CjL,SAAAA,CAAAA,CAAAA,CAAAA,CAAK0D,OAAL1D,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CAAWM,QAAQ,MAAY,CAAA,IAAA,CAAA,EAAK,GAAK,CAC7E,CAAA,IAAA,CAAKyG,gBAAgBmE,IAAKlL,CAAAA,CAAI,EAClC,CAEQ+I,uBAAAA,CAAwBxJ,EAAqB,CACjD,OACIA,EAAMmJ,OAAY,GAAA,IAAA,CAAKjC,UAAU0E,YAAaC,CAAAA,OAAAA,EAAW,KAAK5E,gBAAiB6E,CAAAA,mBAAAA,EAAuB,KAAK3E,cAAe4E,CAAAA,eAElI,yCAvMSpF,CAAwBqF,EAAAA,EAAAA,CAAAC,EAAA,CAAAD,CAAAA,EAAAA,CAAApM,EAAA,CAAAoM,CAAAA,EAAAA,CAAAE,CAAA,CAAAF,CAAAA,EAAAA,CAAAG,EAAA,CAAA,CAAAH,EAAAI,CAAAA,EAAA,EAAAJ,EAAAK,CAAAA,EAAA,EAAAL,EAAAM,CAAAA,EAAA,EAAAN,EAAAO,CAAAA,EAAA,EAAAP,EAAAQ,CAAAA,EAAA,EAAAR,EAAAS,CAAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAAC,EAAA,CAAA,CAAA,IAAA,CAAxB/F,EAAwBgG,SAAA,CAAA,CAAA,CAAA,qBAAA,CAAA,EAAAC,QAAA,CAAA,CAAA,CAAAC,aAAA,SAAAC,CAAAA,CAAAC,EAAA,CAAAD,CAAAA,CAAA,GAAxBvG,EAAAwG,CAAAA,CAAAA,CAAA1F,SAAA,EDpEb3E,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,KAAAA,CAAAA,OAAAA,CAAAA,OAAAA,CAAAA,SAAAA,CAAAA,WAAAA,CAAAA,aAAAA,CAAAA,SAAAA,CAAAA,WAAAA,CAAAA,cAAAA,CAAAA,gBAAAA,CAAAA,aAAAA,CAAAA,eAAAA,CAAAA,kBAAAA,CAAAA,oBAAAA,CAAAA,YAAAA,CAAAA,cAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,eAAAA,CAAAA,iBAAAA,CAAAA,CAAAA,UAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,CAAAA,KAAAA,CAAAA,EAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,gBAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,wBAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,yBAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,cAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,cAAAA,CAAAA,cAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,mBAAAA,CAAAA,UAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,OAAAA,CAAAA,cAAAA,CAAAA,cAAAA,CAAAA,qBAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,iCAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,aAAAA,CAAAA,eAAAA,CAAAA,iBAAAA,CAAAA,OAAAA,CAAAA,UAAAA,CAAAA,WAAAA,CAAAA,OAAAA,CAAAA,MAAAA,CAAAA,MAAAA,CAAAA,OAAAA,CAAAA,WAAAA,CAAAA,UAAAA,CAAAA,cAAAA,CAAAA,UAAAA,CAAAA,OAAAA,CAAAA,eAAAA,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,iBAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,gBAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,MAAAA,CAAAA,OAAAA,CAAAA,UAAAA,CAAAA,CAAAA,CAAAA,kBAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,gBAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,UAAAA,CAAAA,cAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,kBAAAA,CAAAA,yBAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,MAAAA,CAAAA,cAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,MAAAA,CAAAA,cAAAA,CAAAA,cAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,mBAAAA,CAAAA,UAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,MAAAA,CAAAA,cAAAA,CAAAA,cAAAA,CAAAA,qBAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAA,EAAAsK,EAAA,CAAA,CAAA,CAAA,GAAA,aAAA,CAAA,IAAA,CAAA,CAAAC,CAAAA,EAAA,CAAwH,CAAA,CAAA,CAAAC,GAAA,CAAA,CAAA,CAAA,CAAA,cAAA,IAAA,CAAA,CAAA,CAAAD,EAAA,CAmD1E,CAAA,CAAA,CAAAE,GAAA,CAAA,CAAA,CAAA,CAAA,cAAA,IAAA,CAAA,CAAA,CAAAF,EAAA,CAIC,CAAA,CAAA,CAAAG,GAAA,CAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA,CAIsG,EAAAC,EAAA,CAAA,CAAA,CAAA,EAAA,cAAA,CAAA,CAAA,EAM/F,CAAAC,CAAAA,EAAAA,CAAA,EAAA,CAAA,CAAA,uBAAA,CAAA,CAAA,CAE4E,CAAA,CAAA,CAAAC,GAAA,CAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GARnHtL,EAAA,CAAA,CAAA,CAAAC,CAAAA,EAAAA,CAAA,OAAA6K,CAAA3L,CAAAA,GAAA,EAEVa,EAAA,EAAA,CAAAC,GAAA,MAAA6K,CAAAA,CAAAA,CAAAnM,GAAA,CAMmBqB,CAAAA,EAAAA,GAAAC,EAAA,CAAA,MAAA,CAAA6K,EAAA7G,iBAAA,EAAA,IAAA,CAAA,KAAA6G,CAAA7G,CAAAA,iBAAAA,CAAAqC,MAAA,CAGnBtG,CAAAA,EAAAA,GAAAC,EAAA,CAAA,MAAA,CAAA6K,EAAAzG,IAAA,CAAA,EAAA,CAAA,CAAA,YAAA,CAAA,CClBGkH,GACAC,IACAC,CAAAA,EAAAA,CAAsBC,EACtBC,GACAC,CAAAA,CAAAA,CACAC,GACAC,EACAC,CAAAA,EAAAA,CACAC,EAAgBC,CAChBC,CAAAA,EAAAA,CACAC,KACAC,GACAC,CAAAA,IAA6B,CAAAC,CAAAA,MAAAA,CAAA,CAAA,CAAA;wFAAA,CAAAC,CAAAA,eAAAA,CAAA,CAAA,CAAA,CAAA,CAI/B,IAAO7H,CAAP8H,CAAAA,CAAAA,CAAAA,OAAO9H,CAAwB,CAAA"}