{"version":3,"file":"chunk-f7h3xke9.js","sources":["packages/sports/libs/gesture/feature/src/swipe-actions.component.ts","packages/sports/libs/gesture/feature/src/swipe-actions.directive.ts","packages/sports/libs/gesture/feature/src/swipe-container.directive.ts","packages/sports/libs/gesture/feature/src/gesture.module.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EmbeddedViewRef,\n HostBinding,\n Input,\n OnDestroy,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { assign } from 'lodash-es';\n\n@Component({\n selector: 'ms-swipe-actions',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SwipeActionsComponent implements AfterViewInit, OnDestroy {\n @Input() set context(value: any) {\n this.viewContext = value;\n\n if (this.view) {\n assign(this.view.context, this.viewContext);\n\n this.view.detectChanges();\n }\n }\n\n @Input() template: TemplateRef;\n @HostBinding('class') className = 'swipe-actions';\n @ViewChild('container', { read: ViewContainerRef }) container: ViewContainerRef;\n\n private view: EmbeddedViewRef;\n private viewContext: any;\n\n isComponentDestroyed = false;\n\n ngAfterViewInit(): void {\n this.view = this.container.createEmbeddedView(this.template, this.viewContext);\n this.view.detectChanges();\n }\n\n ngOnDestroy(): void {\n this.isComponentDestroyed = true;\n }\n}\n","/* eslint-disable sonarjs/cognitive-complexity */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { AfterViewInit, ComponentRef, Directive, HostBinding, Input, OnChanges, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';\n\nimport { SimpleCallback } from '@frontend/sports/common/core/utils/extended-types';\nimport { ISimpleChanges } from '@frontend/sports/common/core/utils/simple-change';\nimport { TimerService } from '@frontend/sports/common/core/utils/timer';\nimport { INPUT_END } from 'hammerjs';\n\nimport { SwipeActionsComponent } from './swipe-actions.component';\n\ninterface SwipeContext {\n $implicit: T;\n close: Function;\n open: Function;\n}\n\n@Directive({\n selector: '[msSwipeActions]',\n})\nexport class SwipeActionsDirective implements OnChanges, AfterViewInit {\n static SWIPE_CLASS = 'swiped';\n static SWIPE_ATTR = 'swipeable';\n static SWIPE_TIME = 250;\n\n @Input('msSwipeActions') template: TemplateRef;\n @Input() swipeContext: any;\n @HostBinding('attr.swipeable') attribute = true;\n\n private swiped = false;\n private transformTimeout: any;\n private timeout?: SimpleCallback;\n private component?: ComponentRef;\n private get node(): HTMLElement {\n return this.view.element.nativeElement;\n }\n\n constructor(\n private renderer: Renderer2,\n private view: ViewContainerRef,\n private timer: TimerService,\n ) {}\n\n ngAfterViewInit(): void {\n this.setTransition(this.node.firstElementChild);\n this.setTransform(this.node.firstElementChild, 0);\n }\n\n ngOnChanges(changes: ISimpleChanges): void {\n if (changes.swipeContext && this.swiped && this.component) {\n this.component.instance.context = this.context;\n }\n }\n\n open(positionX?: number, swipeEndThreshold?: number, eventType?: number): void {\n this.swipe(true, positionX, swipeEndThreshold, eventType);\n }\n\n close(): void {\n this.swipe(false);\n }\n\n private swipe(swiped: boolean, positionX?: number, swipeEndThreshold?: number, eventType?: number): void {\n if (swiped === this.swiped) {\n return;\n }\n\n if (swiped) {\n this.timeout?.();\n\n if (!this.component || this.component.instance?.isComponentDestroyed) {\n this.component = this.view.createComponent(SwipeActionsComponent);\n this.component.instance.template = this.template;\n this.component.instance.context = this.context;\n this.component.hostView.detectChanges();\n }\n\n const actions: HTMLElement = this.component.location.nativeElement;\n\n this.setTransition(actions);\n this.setTransform(actions, 0);\n\n this.renderer.insertBefore(this.node, actions, this.node.firstElementChild);\n this.renderer.addClass(this.node, SwipeActionsDirective.SWIPE_CLASS);\n\n if (this.transformTimeout) clearTimeout(this.transformTimeout);\n if ((positionX || positionX === 0) && swipeEndThreshold) {\n this.setTransition(actions, 5);\n if (positionX >= 0) this.setTransform(actions, positionX);\n if (positionX < swipeEndThreshold) {\n this.transformTimeout = setTimeout(() => {\n if (eventType === INPUT_END) {\n this.setTransition(actions, 250);\n this.setTransform(actions, 0);\n }\n }, 100);\n } else {\n this.setTransform(actions, actions.offsetWidth);\n this.swiped = true;\n }\n } else {\n this.setTransform(actions, actions.offsetWidth);\n this.swiped = true;\n }\n } else if (this.component) {\n const actions: HTMLElement = this.component.location.nativeElement;\n\n this.timeout = this.timer.setTimeout(() => {\n if (this.component) {\n this.renderer.removeChild(this.node, actions);\n this.component.destroy();\n }\n\n this.swiped = false;\n }, SwipeActionsDirective.SWIPE_TIME);\n\n this.renderer.removeClass(this.node, SwipeActionsDirective.SWIPE_CLASS);\n\n this.setTransform(actions, 0);\n }\n }\n\n private get context(): SwipeContext {\n return { $implicit: this.swipeContext, open: this.open.bind(this), close: this.close.bind(this) };\n }\n\n private setTransform(start: Element | null, position: number): void {\n this.setStyle(start, 'transform', `translateX(${position}px)`);\n }\n\n private setTransition(start: Element | null, swipeTransitionTime?: number): void {\n const swipeTime = swipeTransitionTime ? swipeTransitionTime : SwipeActionsDirective.SWIPE_TIME;\n this.setStyle(start, 'transition', `transform ${swipeTime}ms ease-in-out`);\n }\n\n private setStyle(start: Element | null, style: string, value: string): void {\n let child = start;\n\n while (child) {\n this.renderer.setStyle(child, style, value);\n child = child.nextElementSibling;\n }\n }\n}\n","import { ContentChildren, Directive, ElementRef, HostListener, Input, OnChanges, QueryList } from '@angular/core';\n\nimport { ISimpleChanges } from '@frontend/sports/common/core/utils/simple-change';\nimport { DIRECTION_LEFT, DIRECTION_RIGHT } from 'hammerjs';\n\nimport { SwipeActionsDirective } from './swipe-actions.directive';\n\n@Directive({\n selector: '[msSwipeContainer]',\n})\nexport class SwipeContainerDirective implements OnChanges {\n @Input('msSwipeContainer') enabled = true;\n @Input() swipeStartThreshold = 15;\n @Input() swipeEndThreshold = 16;\n @ContentChildren(SwipeActionsDirective, { descendants: true }) items: QueryList;\n @ContentChildren(SwipeActionsDirective, { descendants: true, read: ElementRef }) elementsRef: QueryList>;\n\n ngOnChanges(changes: ISimpleChanges): void {\n if (changes.enabled && changes.enabled.currentValue !== changes.enabled.previousValue && this.items) {\n this.items.forEach((item) => item.close());\n }\n }\n\n @HostListener('swipe', ['$event'])\n swipe(input: HammerInput): void {\n if (!this.enabled) {\n return;\n }\n\n input.srcEvent.stopPropagation();\n }\n\n @HostListener('pan', ['$event'])\n pan(input: HammerInput): void {\n const defaultSwipe = this.swipeStartThreshold > 0;\n const fromRight = input.offsetDirection === DIRECTION_RIGHT;\n const fromLeft = input.offsetDirection === DIRECTION_LEFT;\n\n if (\n defaultSwipe &&\n (!this.enabled ||\n (!fromRight && !fromLeft) ||\n Math.abs(input.deltaX) < this.swipeStartThreshold ||\n Math.abs(input.deltaY) > Math.abs(input.deltaX))\n ) {\n return;\n }\n\n input.srcEvent.stopPropagation();\n\n const target = input.target.closest(`[${SwipeActionsDirective.SWIPE_ATTR}]`);\n\n const index = this.elementsRef.toArray().findIndex((item) => item.nativeElement === target);\n const items = this.items.toArray();\n\n if (index === -1) {\n return;\n }\n\n if (!defaultSwipe && this.swipeEndThreshold) {\n items[index].open(input.deltaX, this.swipeEndThreshold, input.eventType);\n } else if (defaultSwipe && fromRight) {\n items[index].open();\n } else if (defaultSwipe && fromLeft) {\n items[index].close();\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SwipeActionsComponent } from './swipe-actions.component';\nimport { SwipeActionsDirective } from './swipe-actions.directive';\nimport { SwipeContainerDirective } from './swipe-container.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SwipeActionsComponent, SwipeActionsDirective, SwipeContainerDirective],\n exports: [SwipeActionsDirective, SwipeContainerDirective],\n})\nexport class GestureModule {}\n"],"names":["SwipeActionsComponent","constructor","className","isComponentDestroyed","context","value","viewContext","view","assign","detectChanges","ngAfterViewInit","container","createEmbeddedView","template","ngOnDestroy","g","selectors","viewQuery","rf","ctx","ViewContainerRef","ɵɵclassMap","ɵɵelementContainer","_SwipeActionsComponent","import_hammerjs","v","P","SwipeActionsDirective","node","element","nativeElement","renderer","timer","attribute","swiped","setTransition","firstElementChild","setTransform","ngOnChanges","changes","swipeContext","component","instance","open","positionX","swipeEndThreshold","eventType","swipe","close","_a","_b","timeout","createComponent","hostView","actions","location","insertBefore","addClass","SWIPE_CLASS","transformTimeout","clearTimeout","setTimeout","INPUT_END","offsetWidth","removeChild","destroy","SWIPE_TIME","removeClass","$implicit","bind","start","position","setStyle","swipeTransitionTime","swipeTime","style","child","nextElementSibling","_SwipeActionsDirective","SWIPE_ATTR","ɵɵdirectiveInject","Renderer2","TimerService","hostVars","hostBindings","x","f","SwipeContainerDirective","enabled","swipeStartThreshold","currentValue","previousValue","items","forEach","item","input","srcEvent","stopPropagation","pan","defaultSwipe","fromRight","offsetDirection","DIRECTION_RIGHT","fromLeft","DIRECTION_LEFT","Math","abs","deltaX","deltaY","target","closest","index","elementsRef","toArray","findIndex","p","contentQueries","dirIndex","ElementRef","c","m","ɵɵlistener","$event","_SwipeContainerDirective","GestureModule","CommonModule","_GestureModule"],"mappings":"iQAuBaA,IAAAA,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAqB,IAAA,CAA5B,IAAOA,EAAP,MAAOA,CAAqB,CALlCC,WAAA,EAAA,CAiB0B,KAAAC,SAAY,CAAA,eAAA,CAMlC,KAAAC,oBAAuB,CAAA,CAAA,EAAA,CAjBvB,IAAaC,OAAQC,CAAAA,CAAAA,CAAU,CAC3B,IAAKC,CAAAA,WAAAA,CAAcD,CAEf,CAAA,IAAA,CAAKE,OACLC,EAAO,CAAA,IAAA,CAAKD,KAAKH,OAAS,CAAA,IAAA,CAAKE,WAAW,CAE1C,CAAA,IAAA,CAAKC,KAAKE,aAAa,EAAA,EAE/B,CAWAC,eAAe,EAAA,CACX,KAAKH,IAAO,CAAA,IAAA,CAAKI,UAAUC,kBAAmB,CAAA,IAAA,CAAKC,QAAU,CAAA,IAAA,CAAKP,WAAW,CAC7E,CAAA,IAAA,CAAKC,KAAKE,aAAa,GAC3B,CAEAK,WAAW,EAAA,CACP,KAAKX,oBAAuB,CAAA,CAAA,EAChC,yCA3BSH,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAAe,EAAA,CAAA,CAAA,IAAA,CAArBf,EAAqBgB,SAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,EAAAC,SAAA,CAAA,SAAAC,EAAAC,CAAA,CAAA,CAAA,GAAAD,EAAA,CAaEE,EAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAgB,6FAbvCC,EAAAF,CAAAA,CAAAA,CAAAjB,SAAA,EAHEoB,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,OAAAA,CAAAA,SAAAA,CAAAA,QAAAA,CAAAA,UAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAA,EAAA,IAAA,CAAA,CAAA,wCAGT,IAAOtB,CAAAA,CAAPuB,SAAOvB,CAAqB,CAAA,GCTlC,CAAA,IAAAwB,EAA0BC,CAa1B,CAAAC,EAAA,EAAA,CAAA,CAAA,IAAaC,GAAqB,IAAA,CAA5B,IAAOA,CAAP,CAAA,MAAOA,CAAqB,CAa9B,IAAYC,MAAI,CACZ,OAAO,KAAKrB,IAAKsB,CAAAA,OAAAA,CAAQC,aAC7B,CAEA7B,WAAAA,CACY8B,EACAxB,CACAyB,CAAAA,CAAAA,CAAmB,CAFnB,IAAAD,CAAAA,QAAAA,CAAAA,EACA,IAAAxB,CAAAA,IAAAA,CAAAA,EACA,IAAAyB,CAAAA,KAAAA,CAAAA,EAbmB,IAAAC,CAAAA,SAAAA,CAAY,GAEnC,IAAAC,CAAAA,MAAAA,CAAS,GAYd,CAEHxB,eAAAA,EAAe,CACX,IAAKyB,CAAAA,aAAAA,CAAc,IAAKP,CAAAA,IAAAA,CAAKQ,iBAAiB,CAC9C,CAAA,IAAA,CAAKC,aAAa,IAAKT,CAAAA,IAAAA,CAAKQ,kBAAmB,CAAC,EACpD,CAEAE,WAAYC,CAAAA,CAAAA,CAA8C,CAClDA,CAAQC,CAAAA,YAAAA,EAAgB,KAAKN,MAAU,EAAA,IAAA,CAAKO,YAC5C,IAAKA,CAAAA,SAAAA,CAAUC,SAAStC,OAAU,CAAA,IAAA,CAAKA,SAE/C,CAEAuC,IAAAA,CAAKC,EAAoBC,CAA4BC,CAAAA,CAAAA,CAAkB,CACnE,IAAKC,CAAAA,KAAAA,CAAM,GAAMH,CAAWC,CAAAA,CAAAA,CAAmBC,CAAS,EAC5D,CAEAE,OAAK,CACD,IAAA,CAAKD,MAAM,CAAK,CAAA,EACpB,CAEQA,KAAAA,CAAMb,EAAiBU,CAAoBC,CAAAA,CAAAA,CAA4BC,EAAkB,CArErG,IAAAG,EAAAC,CAsEQ,CAAA,GAAIhB,IAAW,IAAKA,CAAAA,MAAAA,CAAAA,CAIpB,GAAIA,CAAQ,CAAA,CAAA,CACRe,EAAA,IAAKE,CAAAA,OAAAA,GAAL,MAAAF,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA,CAEI,CAAC,IAAA,CAAKR,YAAaS,CAAA,CAAA,IAAA,CAAKT,UAAUC,QAAf,GAAA,IAAA,EAAAQ,EAAyB/C,oBAC5C,IAAA,IAAA,CAAKsC,UAAY,IAAKlC,CAAAA,IAAAA,CAAK6C,gBAAgBpD,CAAqB,CAAA,CAChE,KAAKyC,SAAUC,CAAAA,QAAAA,CAAS7B,SAAW,IAAKA,CAAAA,QAAAA,CACxC,IAAK4B,CAAAA,SAAAA,CAAUC,SAAStC,OAAU,CAAA,IAAA,CAAKA,QACvC,IAAKqC,CAAAA,SAAAA,CAAUY,SAAS5C,aAAa,EAAA,CAAA,CAGzC,IAAM6C,CAAuB,CAAA,IAAA,CAAKb,UAAUc,QAASzB,CAAAA,aAAAA,CAErD,KAAKK,aAAcmB,CAAAA,CAAO,EAC1B,IAAKjB,CAAAA,YAAAA,CAAaiB,EAAS,CAAC,CAAA,CAE5B,KAAKvB,QAASyB,CAAAA,YAAAA,CAAa,KAAK5B,IAAM0B,CAAAA,CAAAA,CAAS,KAAK1B,IAAKQ,CAAAA,iBAAiB,EAC1E,IAAKL,CAAAA,QAAAA,CAAS0B,SAAS,IAAK7B,CAAAA,IAAAA,CAAMD,EAAsB+B,WAAW,CAAA,CAE/D,KAAKC,gBAAkBC,EAAAA,YAAAA,CAAa,IAAKD,CAAAA,gBAAgB,GACxDf,CAAaA,EAAAA,CAAAA,GAAc,IAAMC,CAClC,EAAA,IAAA,CAAKV,cAAcmB,CAAS,CAAA,CAAC,EACzBV,CAAa,EAAA,CAAA,EAAG,KAAKP,YAAaiB,CAAAA,CAAAA,CAASV,CAAS,CACpDA,CAAAA,CAAAA,CAAYC,EACZ,IAAKc,CAAAA,gBAAAA,CAAmBE,WAAW,IAAK,CAChCf,IAAcgB,CACd,CAAA,SAAA,GAAA,IAAA,CAAK3B,cAAcmB,CAAS,CAAA,GAAG,EAC/B,IAAKjB,CAAAA,YAAAA,CAAaiB,EAAS,CAAC,CAAA,EAEpC,EAAG,GAAG,CAAA,EAEN,KAAKjB,YAAaiB,CAAAA,CAAAA,CAASA,EAAQS,WAAW,CAAA,CAC9C,IAAK7B,CAAAA,MAAAA,CAAS,MAGlB,IAAKG,CAAAA,YAAAA,CAAaiB,EAASA,CAAQS,CAAAA,WAAW,EAC9C,IAAK7B,CAAAA,MAAAA,CAAS,IAEtB,CAAW,KAAA,GAAA,IAAA,CAAKO,UAAW,CACvB,IAAMa,EAAuB,IAAKb,CAAAA,SAAAA,CAAUc,SAASzB,aAErD,CAAA,IAAA,CAAKqB,QAAU,IAAKnB,CAAAA,KAAAA,CAAM6B,WAAW,IAAK,CAClC,KAAKpB,SACL,GAAA,IAAA,CAAKV,SAASiC,WAAY,CAAA,IAAA,CAAKpC,KAAM0B,CAAO,CAAA,CAC5C,KAAKb,SAAUwB,CAAAA,OAAAA,IAGnB,IAAK/B,CAAAA,MAAAA,CAAS,GAClB,CAAGP,CAAAA,CAAAA,CAAsBuC,UAAU,CAAA,CAEnC,KAAKnC,QAASoC,CAAAA,WAAAA,CAAY,KAAKvC,IAAMD,CAAAA,CAAAA,CAAsB+B,WAAW,CAEtE,CAAA,IAAA,CAAKrB,aAAaiB,CAAS,CAAA,CAAC,EAChC,CACJ,CAAA,CAEA,IAAYlD,OAAO,EAAA,CACf,OAAO,CAAEgE,SAAAA,CAAW,IAAK5B,CAAAA,YAAAA,CAAcG,KAAM,IAAKA,CAAAA,IAAAA,CAAK0B,KAAK,IAAI,CAAA,CAAGrB,MAAO,IAAKA,CAAAA,KAAAA,CAAMqB,KAAK,IAAI,CAAC,CACnG,CAEQhC,YAAAA,CAAaiC,EAAuBC,CAAgB,CAAA,CACxD,KAAKC,QAASF,CAAAA,CAAAA,CAAO,WAAa,CAAA,CAAA,WAAA,EAAcC,CAAQ,CAAK,GAAA,CAAA,EACjE,CAEQpC,aAAcmC,CAAAA,CAAAA,CAAuBG,EAA4B,CACrE,IAAMC,EAAYD,CAA4C9C,EAAAA,CAAAA,CAAsBuC,WACpF,IAAKM,CAAAA,QAAAA,CAASF,EAAO,YAAc,CAAA,CAAA,UAAA,EAAaI,CAAS,CAAgB,cAAA,CAAA,EAC7E,CAEQF,QAASF,CAAAA,CAAAA,CAAuBK,EAAetE,CAAa,CAAA,CAChE,IAAIuE,CAAQN,CAAAA,CAAAA,CAEZ,KAAOM,CACH,EAAA,IAAA,CAAK7C,SAASyC,QAASI,CAAAA,CAAAA,CAAOD,EAAOtE,CAAK,CAAA,CAC1CuE,EAAQA,CAAMC,CAAAA,mBAEtB,GAzHOC,CAAApB,CAAAA,WAAAA,CAAc,QACdoB,CAAAA,CAAAA,CAAAC,WAAa,WACbD,CAAAA,CAAAA,CAAAZ,WAAa,GAHXvC,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,OAAAA,IAAAA,CAAAA,EAAAA,CAAAA,EAAqBqD,GAAAC,EAAA,CAAA,CAAAD,GAAA5D,EAAA,CAAA,CAAA4D,GAAAE,GAAA,CAAA,CAAA,CAArBvD,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAqBX,UAAA,CAAA,CAAA,GAAA,gBAAA,CAAA,EAAA,CAAA,CAAAmE,CAAAA,QAAAA,CAAA,EAAAC,YAAA,CAAA,SAAAlE,EAAAC,CAAA,CAAA,CAAAD,EAAA,CAA5B,EAAAmE,EAAA,CAAA,WAAA,CAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,MAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,gBAAA,CAAA,UAAA,CAAA,CAAA,YAAA,CAAA,cAAA,CAAA,CAAA,QAAA,CAAA,CAAAC,EAAA,CAAA,CAAA,CAAA,CAAA,IAAO3D,EAAPmD,CAAOnD,CAAAA,OAAAA,CAAqB,KCxBlC,IAAAH,EAAgDC,CAOhD,CAAAC,EAAA,EAAA,CAAA,CAAA,IAAa6D,EAAuB,CAAA,CAAA,IAAA,CAA9B,IAAOA,CAAAA,CAAP,MAAOA,CAAuB,CAHpCtF,aAAA,CAI+B,IAAA,CAAAuF,QAAU,CAC5B,CAAA,CAAA,IAAA,CAAAC,oBAAsB,EACtB,CAAA,IAAA,CAAA5C,kBAAoB,GAI7BP,CAAAA,WAAAA,CAAYC,EAAgD,CACpDA,CAAAA,CAAQiD,SAAWjD,CAAQiD,CAAAA,OAAAA,CAAQE,eAAiBnD,CAAQiD,CAAAA,OAAAA,CAAQG,eAAiB,IAAKC,CAAAA,KAAAA,EAC1F,KAAKA,KAAMC,CAAAA,OAAAA,CAASC,GAASA,CAAK9C,CAAAA,KAAAA,EAAO,EAEjD,CAGAD,MAAMgD,CAAkB,CAAA,CACf,KAAKP,OAIVO,EAAAA,CAAAA,CAAMC,QAASC,CAAAA,eAAAA,GACnB,CAGAC,GAAAA,CAAIH,EAAkB,CAClB,IAAMI,EAAe,IAAKV,CAAAA,mBAAAA,CAAsB,EAC1CW,CAAYL,CAAAA,CAAAA,CAAMM,kBAAoBC,CACtCC,CAAAA,eAAAA,CAAAA,CAAAA,CAAWR,EAAMM,eAAoBG,GAAAA,CAAAA,CAAAA,cAAAA,CAE3C,GACIL,CACC,GAAA,CAAC,KAAKX,OACF,EAAA,CAACY,GAAa,CAACG,CAAAA,EAChBE,KAAKC,GAAIX,CAAAA,CAAAA,CAAMY,MAAM,CAAI,CAAA,IAAA,CAAKlB,qBAC9BgB,IAAKC,CAAAA,GAAAA,CAAIX,EAAMa,MAAM,CAAA,CAAIH,KAAKC,GAAIX,CAAAA,CAAAA,CAAMY,MAAM,CAElD,CAAA,CAAA,OAGJZ,CAAMC,CAAAA,QAAAA,CAASC,iBAEf,CAAA,IAAMY,EAASd,CAAMc,CAAAA,MAAAA,CAAOC,QAAQ,CAAInF,CAAAA,EAAAA,CAAAA,CAAsBoD,UAAU,CAAG,CAAA,CAAA,CAAA,CAErEgC,EAAQ,IAAKC,CAAAA,WAAAA,CAAYC,SAAUC,CAAAA,SAAAA,CAAWpB,GAASA,CAAKhE,CAAAA,aAAAA,GAAkB+E,CAAM,CACpFjB,CAAAA,CAAAA,CAAQ,KAAKA,KAAMqB,CAAAA,OAAAA,GAErBF,CAAU,GAAA,CAAA,CAAA,GAIV,CAACZ,CAAgB,EAAA,IAAA,CAAKtD,kBACtB+C,CAAMmB,CAAAA,CAAK,EAAEpE,IAAKoD,CAAAA,CAAAA,CAAMY,OAAQ,IAAK9D,CAAAA,iBAAAA,CAAmBkD,EAAMjD,SAAS,CAAA,CAChEqD,CAAgBC,EAAAA,CAAAA,CACvBR,EAAMmB,CAAK,CAAA,CAAEpE,MACNwD,CAAAA,CAAAA,EAAgBI,GACvBX,CAAMmB,CAAAA,CAAK,EAAE/D,KAAK,EAAA,EAE1B,yCAxDSuC,CAAuB,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA4B,EAAA,CAAA,CAAA,IAAA,CAAvB5B,EAAuBvE,SAAA,CAAA,CAAA,CAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,CAAA,CAAAoG,eAAA,SAAAlG,CAAAA,CAAAC,EAAAkG,CAAA,CAAA,CAAA,GAAAnG,EAAA,CAIfS,GAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAqB,CAAA,CACrBA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAqB,EAA6B2F,EAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAAC,EAAA,CAAA,CAAA,CAAAC,EAAA,EAAA,CAAA,GAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAAD,EAAA,CAAA,CAAA,CAAAC,EAAA,EAAA,CAAA,GAAA,CAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,YAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EALpEC,GAAA,OAAA,CAAA,SAAAC,EAAA,CAAA,OAAAvG,CAAA4B,CAAAA,KAAAA,CAAA2E,CAAA,CAAa,CAAA,EAAU,KAAA,CAAA,SAAAA,EAAA,CAAA,OAAvBvG,EAAA+E,GAAAwB,CAAAA,CAAA,CAAW,CAAA,EAAA,CAAA,CAAA,MAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,SAAA,CAAA,CAAA,mBAAA,CAAA,qBAAA,CAAA,iBAAA,CAAA,mBAAA,CAAA,CAAA,QAAA,CAAA,CAAApC,EAAA,CAAA,CAAA,CAAA,CAAlB,IAAOC,CAAPoC,CAAAA,CAAAA,CAAAA,OAAOpC,CAAuB,CAAA,QCEvBqC,EAAa,CAAA,CAAA,IAAA,CAApB,IAAOA,CAAAA,CAAP,MAAOA,CAAa,EAAA,CAAA,CAAA,CAAA,SAAA,CAAA,SAAA,CAAA,CAAA,CAAA,OAAA,IAAA,CAAA,EAAbA,EAAa,CAAbA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAa,CAAA,CAJZC,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,EAAY,CAAA,CAAA,CAAA,CAIpB,IAAOD,CAAPE,CAAAA,CAAAA,CAAAA,OAAOF,CAAa,CAAA"}