{"version":3,"file":"chunk-ktepuk30.js","sources":["packages/vanilla/lib/features/login-duration/src/login-duration.client-config.ts","packages/vanilla/lib/features/login-duration/src/login-duration-tracking.service.ts","packages/vanilla/lib/features/login-duration/src/login-duration.html","packages/vanilla/lib/features/login-duration/src/login-duration.component.ts","packages/vanilla/lib/features/login-duration/src/login-duration-bootstrap.service.ts","packages/vanilla/lib/features/login-duration/src/login-duration.feature.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { ClientConfigProductName, LazyClientConfig, LazyClientConfigBase, LazyClientConfigService, TimeFormat } from '@frontend/vanilla/core';\n\n/**\n * @stable\n */\n@LazyClientConfig({ key: 'vnLoginDuration', product: ClientConfigProductName.SF })\n@Injectable({\n providedIn: 'root',\n useFactory: loginDurationConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class LoginDurationConfig extends LazyClientConfigBase {\n text: string;\n slotName: string;\n timeFormat: TimeFormat;\n}\n\nexport function loginDurationConfigFactory(service: LazyClientConfigService) {\n return service.get(LoginDurationConfig);\n}\n","import { Injectable } from '@angular/core';\n\nimport { TrackingService } from '@frontend/vanilla/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoginDurationTrackingService {\n constructor(private trackingService: TrackingService) {}\n\n trackLoad(eventDetails: string, positionEvent: string) {\n this.trackingService.triggerEvent('Event.Tracking', {\n 'component.CategoryEvent': 'login duration',\n 'component.LabelEvent': 'time track start',\n 'component.ActionEvent': 'load',\n 'component.PositionEvent': positionEvent,\n 'component.LocationEvent': 'not applicable', // add location if possible\n 'component.EventDetails': eventDetails,\n 'component.URLClicked': 'not applicable',\n });\n }\n\n async trackAnchorClick(eventName: string, trackingData: { [prop: string]: string }) {\n await this.trackingService.triggerEvent(eventName, trackingData);\n }\n}\n","@if (message(); as htmlMessage) {\n
\n \n
\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit, ViewEncapsulation, signal } from '@angular/core';\n\nimport {\n ClientConfigService,\n ClockService,\n DynamicHtmlDirective,\n DynamicLayoutService,\n HtmlNode,\n SlotName,\n TimeFormat,\n TimeSpan,\n UnitFormat,\n UserService,\n WebWorkerService,\n WorkerType,\n} from '@frontend/vanilla/core';\nimport { CurrentSessionConfig } from '@frontend/vanilla/shared/current-session';\n\nimport { LoginDurationTrackingService } from './login-duration-tracking.service';\nimport { LoginDurationConfig } from './login-duration.client-config';\n\n/**\n * @stable\n *\n * Sitecore item: {@link http://cms.prod.env.works/sitecore/DirectLink.aspx?fo={05EB8D98-C673-44BA-8D72-30E2109BCD57}&la=}\n */\n@Component({\n standalone: true,\n imports: [CommonModule, DynamicHtmlDirective],\n selector: 'vn-login-duration',\n templateUrl: 'login-duration.html',\n host: { class: 'login-duration-container' },\n styleUrls: ['../../../../../themepark/themes/whitelabel/components/login-duration/styles.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoginDurationComponent implements OnInit, OnDestroy {\n readonly message = signal(null);\n readonly isDurationTextHidden = signal(false);\n\n private htmlNodeClassName: string;\n private static instance = 0; // To support multiple instances (e.g. iframe and main app)\n\n constructor(\n private loginDurationConfig: LoginDurationConfig,\n private userService: UserService,\n private htmlNode: HtmlNode,\n private clientConfig: ClientConfigService,\n private trackingService: LoginDurationTrackingService,\n private currentSessionConfig: CurrentSessionConfig,\n private dynamicLayoutService: DynamicLayoutService,\n private webWorkerService: WebWorkerService,\n private clockService: ClockService,\n private changeDetectorRef: ChangeDetectorRef,\n ) {\n LoginDurationComponent.instance++;\n }\n\n async ngOnInit() {\n if (!this.currentSessionConfig.loginDuration) {\n await this.clientConfig.reload([CurrentSessionConfig]);\n }\n\n if (!this.userService.isAuthenticated) {\n return;\n }\n\n this.htmlNodeClassName = `${this.loginDurationConfig.slotName?.toLowerCase() ?? SlotName.Custom}-login-duration-shown`;\n\n this.initClock();\n }\n\n ngOnDestroy() {\n this.message.set(null);\n this.htmlNode.setCssClass(this.htmlNodeClassName, false);\n this.webWorkerService.removeWorker(WorkerType.LoginDurationInterval + LoginDurationComponent.instance);\n\n if (!this.userService.isAuthenticated) {\n this.dynamicLayoutService.removeComponent(this.loginDurationConfig.slotName, LoginDurationComponent);\n }\n }\n\n /**\n * Initialize clock and track login duration.\n * @private\n */\n private initClock() {\n if (!this.currentSessionConfig.loginDuration) {\n return;\n }\n\n const now = Date.now();\n const startTime = this.webWorkerService.getWorker(WorkerType.LoginDurationInterval + 1)?.startTime ?? now;\n let elapsedTime = this.currentSessionConfig.loginDuration + (now - startTime);\n\n this.setMessage(elapsedTime);\n this.htmlNode.setCssClass(this.htmlNodeClassName, true);\n this.trackingService.trackLoad(new Date(now - elapsedTime).toTimeString(), this.loginDurationConfig.slotName || SlotName.Custom);\n\n // TODO: Rework after removing Angular zone\n this.webWorkerService.createWorker(WorkerType.LoginDurationInterval + LoginDurationComponent.instance, { interval: 1000 }, () => {\n if (this.userService.isAuthenticated) {\n elapsedTime = (this.currentSessionConfig.loginDuration ?? 0) + (Date.now() - startTime);\n this.setMessage(elapsedTime);\n this.changeDetectorRef.detectChanges();\n } else {\n this.ngOnDestroy();\n }\n });\n }\n\n private setMessage(elapsedTime: number) {\n this.isDurationTextHidden.set(this.loginDurationConfig.text.trim().length <= '{duration}'.length);\n\n const loginDuration = this.clockService.toTotalTimeStringFormat(new TimeSpan(elapsedTime), {\n unitFormat: UnitFormat.Hidden,\n hideZeros: false,\n timeFormat: this.loginDurationConfig.timeFormat || TimeFormat.HMS,\n });\n\n this.message.set(\n this.loginDurationConfig.text.toLowerCase().replace('{duration}', `${loginDuration}`),\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DynamicLayoutService, EmbeddableComponentsService, OnFeatureInit } from '@frontend/vanilla/core';\nimport { CurrentSessionConfig } from '@frontend/vanilla/shared/current-session';\nimport { firstValueFrom } from 'rxjs';\n\nimport { LoginDurationConfig } from './login-duration.client-config';\nimport { LoginDurationComponent } from './login-duration.component';\n\n@Injectable()\nexport class LoginDurationBootstrapService implements OnFeatureInit {\n constructor(\n private config: LoginDurationConfig,\n private dynamicLayoutService: DynamicLayoutService,\n private embeddableComponentsService: EmbeddableComponentsService,\n private currentSessionConfig: CurrentSessionConfig,\n ) {}\n\n async onFeatureInit() {\n await Promise.all([firstValueFrom(this.config.whenReady), firstValueFrom(this.currentSessionConfig.whenReady)]);\n\n this.embeddableComponentsService.registerEmbeddableComponent(LoginDurationComponent, 100);\n\n if (this.config.slotName) {\n this.dynamicLayoutService.addComponent(this.config.slotName, LoginDurationComponent, null);\n }\n }\n}\n","import { runOnFeatureInit } from '@frontend/vanilla/core';\n\nimport { LoginDurationBootstrapService } from './login-duration-bootstrap.service';\n\nexport function provide() {\n return [runOnFeatureInit(LoginDurationBootstrapService)];\n}\n"],"names":["LoginDurationConfig","_a","LazyClientConfigBase","x","__ngFactoryType__","f","factory","__ngConditionalFactory__","loginDurationConfigFactory","ɵɵinject","LazyClientConfigService","__decorate","LazyClientConfig","key","product","ClientConfigProductName","SF","service","get","LoginDurationTrackingService","constructor","trackingService","trackLoad","eventDetails","positionEvent","triggerEvent","trackAnchorClick","eventName","trackingData","__async","TrackingService","ɵfac","providedIn","_LoginDurationTrackingService","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵproperty","ɵɵpureFunction1","_c0","ctx_r0","isDurationTextHidden","ɵɵadvance","ctx","LoginDurationComponent","loginDurationConfig","userService","htmlNode","clientConfig","currentSessionConfig","dynamicLayoutService","webWorkerService","clockService","changeDetectorRef","message","signal","instance","ngOnInit","loginDuration","reload","CurrentSessionConfig","isAuthenticated","htmlNodeClassName","slotName","toLowerCase","SlotName","Custom","initClock","ngOnDestroy","set","setCssClass","removeWorker","WorkerType","LoginDurationInterval","removeComponent","now","Date","startTime","getWorker","elapsedTime","setMessage","toTimeString","createWorker","interval","detectChanges","text","trim","length","toTotalTimeStringFormat","TimeSpan","unitFormat","UnitFormat","Hidden","hideZeros","timeFormat","TimeFormat","HMS","replace","_LoginDurationComponent","ɵɵdirectiveInject","UserService","HtmlNode","ClientConfigService","DynamicLayoutService","WebWorkerService","ClockService","ChangeDetectorRef","selectors","hostAttrs","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ɵɵtemplate","LoginDurationComponent_Conditional_0_Template","ɵɵconditional","tmp_0_0","CommonModule","NgClass","DynamicHtmlDirective","styles","encapsulation","changeDetection","LoginDurationBootstrapService","config","embeddableComponentsService","onFeatureInit","Promise","all","firstValueFrom","whenReady","registerEmbeddableComponent","addComponent","EmbeddableComponentsService","_LoginDurationBootstrapService","provide","runOnFeatureInit"],"mappings":"4aAaaA,EAAAA,EAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,EAANC,CAAA,CAAA,cAAkCC,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,CAAhDH,CAAmB,CAAA,CAAA,EAAAI,CAAnBJ,EAAAA,CAAmB,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,UAAA,CAAAK,CAAA,CAAA,CAAA,KAAA,CAAnBL,EAAmBM,OAAA,CAAA,SAAAF,CAAA,CAAA,CAAA,IAAAG,CAAAA,CAAA,IAAA,CAAA,OAAAH,CAHhBI,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAA0BC,EAC/BC,CAAAA,EAAuB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAFlB,MAAM,CAAA,EAIfT,CAAMD,EAAAA,CAAAA,CAAmBW,EAAA,CAAA,CAN/BC,EAAiB,CAAA,CAAEC,GAAK,CAAA,iBAAA,CAAmBC,OAASC,CAAAA,CAAAA,CAAwBC,EAAE,CAAE,CAAC,CAAA,CAMrEhB,CAAmB,CAAA,CAM1B,SAAUQ,EAA2BS,CAAAA,CAAAA,CAAgC,CACvE,OAAOA,CAAQC,CAAAA,GAAAA,CAAIlB,CAAmB,CAC1C,CCdA,IAAamB,EAAAA,CAAAA,CAA4B,IAAA,CAAnC,IAAOA,CAAAA,CAAP,MAAOA,CAA4B,CACrCC,WAAoBC,CAAAA,CAAAA,CAAgC,CAAhC,IAAA,CAAAA,eAAAA,CAAAA,EAAmC,CAEvDC,SAAAA,CAAUC,CAAsBC,CAAAA,CAAAA,CAAqB,CACjD,IAAA,CAAKH,eAAgBI,CAAAA,YAAAA,CAAa,gBAAkB,CAAA,CAChD,0BAA2B,gBAC3B,CAAA,sBAAA,CAAwB,kBACxB,CAAA,uBAAA,CAAyB,MACzB,CAAA,yBAAA,CAA2BD,CAC3B,CAAA,yBAAA,CAA2B,gBAC3B,CAAA,wBAAA,CAA0BD,CAC1B,CAAA,sBAAA,CAAwB,gBAC3B,CAAA,EACL,CAEMG,gBAAAA,CAAiBC,EAAmBC,CAAwC,CAAA,CAAA,OAAAC,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,WAAA,CAC9E,MAAM,IAAA,CAAKR,eAAgBI,CAAAA,YAAAA,CAAaE,CAAWC,CAAAA,CAAY,EACnE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,SAAA,CAAA,CAAA,CAAA,OAAA,IAAA,CAAA,EAjBST,CAA4BV,EAAAA,EAAAA,CAAAqB,IAAA,CAAA,CAAA,CAA5BX,CAAAA,CAAAA,CAAAA,UAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAA4Bb,OAA5Ba,CAAAA,CAAAA,CAA4BY,SAAAC,CAAAA,UAAAA,CAFzB,MAAM,CAAA,EAEhB,IAAOb,CAAAA,CAAPc,CAAOd,CAAAA,OAAAA,CAA4B,CAAA,GAAA,CAAA,IAAA,EAAA,CAAA,CAAA,GAAA,CAAA,0BAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GCNrCe,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CACIC,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CACJC,CAAAA,EAAAA,EAF4BC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,EAAAA,CAAA,SAAAC,CAAAA,EAAAA,CAAA,CAAAC,CAAAA,EAAAA,CAAAC,CAAAC,CAAAA,oBAAAA,EAAA,CAAA,CAAA,CACUC,EAAA,EAAA,CAAAL,EAAA,CAAA,eAAA,CAAAM,CAAA,EAAA,CAAA,CCmC7BC,IAAAA,CAAAA,CAAAA,CAAsB,IAAA,CAA7B,IAAOA,CAAAA,CAAP,MAAOA,CAAsB,CAO/BxB,WACYyB,CAAAA,CAAAA,CACAC,CACAC,CAAAA,CAAAA,CACAC,CACA3B,CAAAA,EAAAA,CACA4B,EACAC,CAAAA,EAAAA,CACAC,EACAC,CAAAA,EAAAA,CACAC,EAAoC,CAAA,CATpC,IAAAR,CAAAA,mBAAAA,CAAAA,CACA,CAAA,IAAA,CAAAC,YAAAA,CACA,CAAA,IAAA,CAAAC,QAAAA,CAAAA,CAAAA,CACA,IAAAC,CAAAA,YAAAA,CAAAA,CACA,CAAA,IAAA,CAAA3B,gBAAAA,EACA,CAAA,IAAA,CAAA4B,oBAAAA,CAAAA,EAAAA,CACA,IAAAC,CAAAA,oBAAAA,CAAAA,EACA,CAAA,IAAA,CAAAC,iBAAAA,EACA,CAAA,IAAA,CAAAC,YAAAA,CAAAA,EAAAA,CACA,IAAAC,CAAAA,iBAAAA,CAAAA,EAhBH,CAAA,IAAA,CAAAC,OAAUC,CAAAA,EAAAA,CAAsB,IAAI,CAAA,CACpC,IAAAd,CAAAA,oBAAAA,CAAuBc,EAAgB,CAAA,CAAA,CAAK,EAiBjDX,CAAuBY,CAAAA,QAAAA,GAC3B,CAEMC,QAAAA,EAAQ,CAAA5B,OAAAA,GAAAA,CAAA,IA3DlB,CAAA,IAAA,CAAA,WAAA,CAAA,IAAA5B,CA4Da,CAAA,IAAA,CAAKgD,oBAAqBS,CAAAA,aAAAA,GAC3B,MAAM,IAAA,CAAKV,YAAaW,CAAAA,MAAAA,CAAO,CAACC,CAAoB,CAAC,CAGpD,CAAA,CAAA,IAAA,CAAKd,WAAYe,CAAAA,eAAAA,GAItB,IAAKC,CAAAA,iBAAAA,CAAoB,CAAG7D,EAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAK4C,CAAAA,mBAAAA,CAAoBkB,QAAzB,GAAA,IAAA,CAAA,KAAA,CAAA,CAAA9D,CAAmC+D,CAAAA,WAAAA,EAAAA,GAAiBC,KAASC,MAAM,CAAA,qBAAA,CAAA,CAE/F,IAAKC,CAAAA,SAAAA,EACT,EAAA,CAAA,CAAA,CAEAC,WAAW,EAAA,CACP,KAAKd,OAAQe,CAAAA,GAAAA,CAAI,IAAI,CAAA,CACrB,IAAKtB,CAAAA,QAAAA,CAASuB,WAAY,CAAA,IAAA,CAAKR,kBAAmB,CAAK,CAAA,CAAA,CACvD,IAAKX,CAAAA,gBAAAA,CAAiBoB,YAAaC,CAAAA,EAAAA,CAAWC,qBAAwB7B,CAAAA,CAAAA,CAAuBY,QAAQ,CAAA,CAEhG,IAAKV,CAAAA,WAAAA,CAAYe,eAClB,EAAA,IAAA,CAAKX,oBAAqBwB,CAAAA,eAAAA,CAAgB,KAAK7B,mBAAoBkB,CAAAA,QAAAA,CAAUnB,CAAsB,EAE3G,CAMQuB,SAAAA,EAAS,CAvFrB,IAAAlE,CAwFQ,CAAA,GAAI,CAAC,IAAA,CAAKgD,oBAAqBS,CAAAA,aAAAA,CAC3B,OAGJ,IAAMiB,EAAMC,IAAKD,CAAAA,GAAAA,EACXE,CAAAA,CAAAA,CAAAA,CAAAA,CAAY5E,CAAA,CAAA,IAAA,CAAKkD,gBAAiB2B,CAAAA,SAAAA,CAAUN,EAAWC,CAAAA,qBAAAA,CAAwB,CAAC,CAAA,GAApE,IAAAxE,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CAAuE4E,SAAaF,GAAAA,CAAAA,CAClGI,EAAc,IAAK9B,CAAAA,oBAAAA,CAAqBS,aAAiBiB,EAAAA,CAAAA,CAAME,CAEnE,CAAA,CAAA,IAAA,CAAKG,UAAWD,CAAAA,CAAW,EAC3B,IAAKhC,CAAAA,QAAAA,CAASuB,WAAY,CAAA,IAAA,CAAKR,iBAAmB,CAAA,CAAA,CAAI,CACtD,CAAA,IAAA,CAAKzC,gBAAgBC,SAAU,CAAA,IAAIsD,IAAKD,CAAAA,CAAAA,CAAMI,CAAW,CAAA,CAAEE,YAAY,EAAA,CAAI,IAAKpC,CAAAA,mBAAAA,CAAoBkB,QAAYE,EAAAA,IAAAA,CAASC,MAAM,CAAA,CAG/H,IAAKf,CAAAA,gBAAAA,CAAiB+B,aAAaV,EAAWC,CAAAA,qBAAAA,CAAwB7B,CAAuBY,CAAAA,QAAAA,CAAU,CAAE2B,QAAAA,CAAU,GAAI,CAAA,CAAI,IAAK,CACxH,IAAKrC,CAAAA,WAAAA,CAAYe,eACjBkB,EAAAA,CAAAA,CAAAA,CAAe,IAAK9B,CAAAA,oBAAAA,CAAqBS,eAAiB,CAAMkB,GAAAA,IAAAA,CAAKD,GAAG,EAAA,CAAKE,CAC7E,CAAA,CAAA,IAAA,CAAKG,UAAWD,CAAAA,CAAW,CAC3B,CAAA,IAAA,CAAK1B,iBAAkB+B,CAAAA,aAAAA,EAEvB,EAAA,IAAA,CAAKhB,WAAW,GAExB,CAAC,EACL,CAEQY,UAAWD,CAAAA,CAAAA,CAAmB,CAClC,IAAA,CAAKtC,oBAAqB4B,CAAAA,GAAAA,CAAI,KAAKxB,mBAAoBwC,CAAAA,IAAAA,CAAKC,IAAI,EAAA,CAAGC,MAAU,EAAA,EAAmB,CAEhG,CAAA,IAAM7B,EAAgB,IAAKN,CAAAA,YAAAA,CAAaoC,uBAAwB,CAAA,IAAIC,EAASV,CAAAA,CAAW,CAAG,CAAA,CACvFW,UAAYC,CAAAA,EAAAA,CAAWC,MACvBC,CAAAA,SAAAA,CAAW,CACXC,CAAAA,CAAAA,UAAAA,CAAY,IAAKjD,CAAAA,mBAAAA,CAAoBiD,YAAcC,EAAWC,CAAAA,GAAAA,CACjE,CAED,CAAA,IAAA,CAAK1C,OAAQe,CAAAA,GAAAA,CACT,IAAKxB,CAAAA,mBAAAA,CAAoBwC,IAAKrB,CAAAA,WAAAA,EAAciC,CAAAA,OAAAA,CAAQ,YAAc,CAAA,CAAA,kCAAA,EAAqCvC,CAAa,CAAA,OAAA,CAAS,CAAC,EAEtI,CAAA,CAAA,CAlFewC,CAAA1C,CAAAA,QAAAA,CAAW,CALjBZ,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,OAAAA,IAAAA,CAAAA,EAAAA,CAAAA,EAAsBuD,EAAAnG,CAAAA,CAAA,CAAAmG,CAAAA,EAAAA,CAAAC,GAAA,CAAA,CAAAD,EAAAE,CAAAA,EAAA,CAAAF,CAAAA,EAAAA,CAAAG,EAAA,CAAAH,CAAAA,EAAAA,CAAAhF,EAAA,CAAA,CAAAgF,EAAAvC,CAAAA,CAAA,CAAAuC,CAAAA,EAAAA,CAAAI,EAAA,CAAAJ,CAAAA,EAAAA,CAAAK,EAAA,CAAA,CAAAL,EAAAM,CAAAA,EAAA,CAAAN,CAAAA,EAAAA,CAAAO,EAAA,CAAA,CAAA,CAAtB9D,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAsB+D,SAAA,CAAA,CAAA,CAAA,mBAAA,CAAA,CAAA,CAAAC,SAAA,CAAA,CAAA,CAAA,CAAA,0BAAA,CAAAC,CAAAA,UAAAA,CAAA,GAAAC,QAAA,CAAA,CAAAC,EAAA,CAAA,CAAAC,KAAA,CAAA,CAAA,CAAAC,IAAA,CAAA,CAAA,CAAAC,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,gBAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,qBAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA,CAAAC,QAAA,CAAA,SAAAC,CAAAzE,CAAAA,CAAAA,CAAA,CAAAyE,GAAAA,CAAAA,CAAA,CDrCnCC,EAAAA,EAAAA,CAAA,CAAAC,CAAAA,EAAAA,CAAA,EAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAAC,EAAAC,CAAAA,CAAAA,CAAAA,CAAA7E,CAAAW,CAAAA,OAAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAAkE,CAAA,EAAA,CAAA,CAAA,CAAA,YAAA,CAAA,CC6BcC,EAAYC,CAAAA,EAAAA,CAAEC,EAAoB,CAAA,CAAAC,OAAA,CAAA,CAAA;;CAAA,CAAAC,CAAAA,aAAAA,CAAA,CAAAC,CAAAA,eAAAA,CAAA,CAAA,CAAA,EAQ1C,IAAOlF,CAAAA,CAAPsD,CAAOtD,CAAAA,OAAAA,CAAsB,CAAA,IC3BnC,IAAamF,EAA6B,CAAA,CAAA,IAAA,CAApC,IAAOA,CAAP,CAAA,MAAOA,CAA6B,CACtC3G,WACY4G,CAAAA,CAAAA,CACA9E,CACA+E,CAAAA,CAAAA,CACAhF,CAA0C,CAAA,CAH1C,KAAA+E,MAAAA,CAAAA,CAAAA,CACA,IAAA9E,CAAAA,oBAAAA,CAAAA,CACA,CAAA,IAAA,CAAA+E,2BAAAA,CAAAA,CAAAA,CACA,IAAAhF,CAAAA,oBAAAA,CAAAA,EACT,CAEGiF,aAAa,EAAA,CAAA,OAAArG,IAAA,IACf,CAAA,IAAA,CAAA,WAAA,CAAA,MAAMsG,OAAQC,CAAAA,GAAAA,CAAI,CAACC,EAAAA,CAAe,IAAKL,CAAAA,MAAAA,CAAOM,SAAS,CAAA,CAAGD,EAAe,CAAA,IAAA,CAAKpF,oBAAqBqF,CAAAA,SAAS,CAAC,CAAC,CAAA,CAE9G,IAAKL,CAAAA,2BAAAA,CAA4BM,2BAA4B3F,CAAAA,CAAAA,CAAwB,GAAG,CAEpF,CAAA,IAAA,CAAKoF,MAAOjE,CAAAA,QAAAA,EACZ,IAAKb,CAAAA,oBAAAA,CAAqBsF,aAAa,IAAKR,CAAAA,MAAAA,CAAOjE,QAAUnB,CAAAA,CAAAA,CAAwB,IAAI,EAEjG,CAhBSmF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,OAAAA,IAAAA,CAAAA,EAAAA,CAAAA,EAA6BtH,EAAAT,CAAAA,CAAA,CAAAS,CAAAA,EAAAA,CAAA8F,EAAA,CAAA,CAAA9F,GAAAgI,EAAA,CAAA,CAAAhI,EAAAmD,CAAAA,CAAA,CAAA,CAAA,CAA7BmE,CAAAA,CAAAA,CAAAA,UAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAA6BzH,OAA7ByH,CAAAA,CAAAA,CAA6BhG,SAAA,CAAA,CAApC,CAAA,IAAOgG,EAAPW,CAAOX,CAAAA,OAAAA,CAA6B,CAAA,GAAA,CCNpC,SAAUY,EAAAA,EAAO,CACnB,OAAO,CAACC,EAAAA,CAAiBb,EAA6B,CAAC,CAC3D"}