{"version":3,"file":"chunk-nr34p3du.js","sources":["node_modules/@rx-angular/cdk/fesm2022/cdk-template.mjs"],"sourcesContent":["import { onStrategy, strategyHandling } from '@rx-angular/cdk/render-strategies';\nimport { of, BehaviorSubject, concat, combineLatest, ReplaySubject, EMPTY, merge } from 'rxjs';\nimport { switchMap, ignoreElements, catchError, distinctUntilChanged, map, tap, withLatestFrom } from 'rxjs/operators';\n\n/**\n * @internal\n * creates an embeddedViewRef\n *\n * @param viewContainerRef\n * @param templateRef\n * @param context\n * @param index\n * @return EmbeddedViewRef\n */\nfunction createEmbeddedView(viewContainerRef, templateRef, context, index = 0) {\n const view = viewContainerRef.createEmbeddedView(templateRef, context, index);\n view.detectChanges();\n return view;\n}\n/**\n * @internal\n *\n * A factory function returning an object to handle `TemplateRef`'s.\n * You can add and get a `TemplateRef`.\n *\n */\nfunction templateHandling(viewContainerRef) {\n const templateCache = new Map();\n const get$ = name => {\n return templateCache.get(name) || of(undefined);\n };\n const get = name => {\n let ref;\n const templatRef$ = get$(name);\n if (templatRef$) {\n const sub = templatRef$.subscribe(r => ref = r);\n sub.unsubscribe();\n }\n return ref;\n };\n return {\n add(name, templateRef) {\n assertTemplate(name, templateRef);\n if (!templateCache.has(name)) {\n templateCache.set(name, new BehaviorSubject(templateRef));\n } else {\n templateCache.get(name).next(templateRef);\n }\n },\n get$,\n get,\n createEmbeddedView: (name, context) => createEmbeddedView(viewContainerRef, get(name), context)\n };\n //\n function assertTemplate(property, templateRef) {\n const isTemplateRefOrNull = !!(!templateRef || templateRef.createEmbeddedView);\n if (!isTemplateRefOrNull) {\n throw new Error(`${property} must be a TemplateRef, but received ${typeof templateRef}`);\n }\n return isTemplateRefOrNull;\n }\n}\n/**\n * @internal\n *\n * A side effect operator similar to `tap` but with a static internal logic.\n * It calls detect changes on the 'VirtualParent' and the injectingViewCdRef.\n *\n * @param injectingViewCdRef\n * @param strategy\n * @param notifyNeeded\n * @param ngZone\n */\nfunction notifyAllParentsIfNeeded(injectingViewCdRef, strategy, notifyNeeded, ngZone) {\n return o$ => o$.pipe(switchMap(v => {\n const notifyParent = notifyNeeded();\n if (!notifyParent) {\n return of(v);\n }\n return concat(of(v), onStrategy(injectingViewCdRef, strategy, (_v, work, options) => {\n /*console.log(\n 'notifyAllParentsIfNeeded injectingView',\n (injectingViewCdRef as any).context\n );*/\n work(injectingViewCdRef, options.scope);\n }, {\n scope: injectingViewCdRef.context || injectingViewCdRef,\n ngZone\n }).pipe(ignoreElements()));\n }));\n}\n\n/**\n * @internal\n *\n * Factory that returns a `ListTemplateManager` for the passed params.\n *\n * @param templateSettings\n */\nfunction getTemplateHandler(templateSettings) {\n const {\n viewContainerRef,\n initialTemplateRef,\n createViewContext,\n updateViewContext\n } = templateSettings;\n return {\n updateUnchangedContext,\n insertView,\n moveView,\n removeView,\n getListChanges,\n updateView\n };\n // =====\n function updateUnchangedContext(item, index, count) {\n const view = viewContainerRef.get(index);\n updateViewContext(item, view, {\n count,\n index\n });\n view.detectChanges();\n }\n function moveView(oldIndex, item, index, count) {\n const oldView = viewContainerRef.get(oldIndex);\n const view = viewContainerRef.move(oldView, index);\n updateViewContext(item, view, {\n count,\n index\n });\n view.detectChanges();\n }\n function updateView(item, index, count) {\n const view = viewContainerRef.get(index);\n updateViewContext(item, view, {\n count,\n index\n });\n view.detectChanges();\n }\n function removeView(index) {\n return viewContainerRef.remove(index);\n }\n function insertView(item, index, count) {\n createEmbeddedView(viewContainerRef, initialTemplateRef, createViewContext(item, {\n count,\n index\n }), index);\n }\n}\n/**\n * @internal\n *\n * @param changes\n * @param items\n */\nfunction getListChanges(changes, items) {\n const changedIdxs = new Set();\n const changesArr = [];\n let notifyParent = false;\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n const item = record.item;\n if (record.previousIndex == null) {\n // insert\n changesArr.push(getInsertChange(item, currentIndex === null ? undefined : currentIndex));\n changedIdxs.add(item);\n notifyParent = true;\n } else if (currentIndex == null) {\n // remove\n changesArr.push(getRemoveChange(item, adjustedPreviousIndex === null ? undefined : adjustedPreviousIndex));\n notifyParent = true;\n } else if (adjustedPreviousIndex !== null) {\n // move\n changesArr.push(getMoveChange(item, currentIndex, adjustedPreviousIndex));\n changedIdxs.add(item);\n notifyParent = true;\n }\n });\n changes.forEachIdentityChange(record => {\n const item = record.item;\n if (!changedIdxs.has(item)) {\n changesArr.push(getUpdateChange(item, record.currentIndex));\n changedIdxs.add(item);\n }\n });\n items.forEach((item, index) => {\n if (!changedIdxs.has(item)) {\n changesArr.push(getUnchangedChange(item, index));\n }\n });\n return [changesArr, notifyParent];\n // ==========\n function getMoveChange(item, currentIndex, adjustedPreviousIndex) {\n return [2 /* RxListTemplateChangeType.move */, [item, currentIndex, adjustedPreviousIndex]];\n }\n function getUpdateChange(item, currentIndex) {\n return [3 /* RxListTemplateChangeType.update */, [item, currentIndex]];\n }\n function getUnchangedChange(item, index) {\n return [4 /* RxListTemplateChangeType.context */, [item, index]];\n }\n function getInsertChange(item, currentIndex) {\n return [0 /* RxListTemplateChangeType.insert */, [item, currentIndex === null ? undefined : currentIndex]];\n }\n function getRemoveChange(item, adjustedPreviousIndex) {\n return [1 /* RxListTemplateChangeType.remove */, [item, adjustedPreviousIndex === null ? undefined : adjustedPreviousIndex]];\n }\n}\n\n/** @internal **/\nfunction isRxRenderError(e) {\n return e != null && Array.isArray(e) && e.length === 2 && e[0] instanceof Error;\n}\n/** @internal **/\nfunction createErrorHandler(_handler) {\n const _handleError = _handler ? e => _handler.handleError(e) : console.error;\n return {\n handleError: error => {\n if (isRxRenderError(error)) {\n _handleError(error[0]);\n console.error('additionalErrorContext', error[1]);\n } else {\n _handleError(error);\n }\n }\n };\n}\n/** @internal **/\nfunction toRenderError(e, context) {\n return [e, context];\n}\nfunction createListTemplateManager(config) {\n const {\n templateSettings,\n renderSettings,\n trackBy,\n iterableDiffers\n } = config;\n const {\n defaultStrategyName,\n strategies,\n cdRef: injectingViewCdRef,\n patchZone,\n parent\n } = renderSettings;\n const errorHandler = createErrorHandler(renderSettings.errorHandler);\n const ngZone = patchZone ? patchZone : undefined;\n const strategyHandling$ = strategyHandling(defaultStrategyName, strategies);\n let _differ;\n function getDiffer(values) {\n if (_differ) {\n return _differ;\n }\n return values ? _differ = iterableDiffers.find(values).create(trackBy) : null;\n }\n // type, context\n /* TODO (regarding createView): this is currently not in use. for the list-manager this would mean to provide\n functions for not only create. developers than should have to provide create, move, remove,... the whole thing.\n i don't know if this is the right decision for a first RC */\n const listViewHandler = getTemplateHandler({\n ...templateSettings,\n initialTemplateRef: templateSettings.templateRef\n });\n const viewContainerRef = templateSettings.viewContainerRef;\n let notifyParent = false;\n let changesArr;\n let partiallyFinished = false;\n return {\n nextStrategy(nextConfig) {\n strategyHandling$.next(nextConfig);\n },\n render(values$) {\n return values$.pipe(render());\n }\n };\n function handleError() {\n return o$ => o$.pipe(catchError(err => {\n partiallyFinished = false;\n errorHandler.handleError(err);\n return of(null);\n }));\n }\n function render() {\n return o$ => combineLatest([o$, strategyHandling$.strategy$.pipe(distinctUntilChanged())]).pipe(map(([iterable, strategy]) => {\n const differ = getDiffer(iterable);\n let changes;\n if (differ) {\n if (partiallyFinished) {\n const currentIterable = [];\n for (let i = 0, ilen = viewContainerRef.length; i < ilen; i++) {\n const viewRef = viewContainerRef.get(i);\n currentIterable[i] = viewRef.context.$implicit;\n }\n differ.diff(currentIterable);\n }\n changes = differ.diff(iterable);\n }\n return {\n changes,\n iterable,\n strategy\n };\n }),\n // Cancel old renders\n switchMap(({\n changes,\n iterable,\n strategy\n }) => {\n if (!changes) {\n return of([]);\n }\n const values = iterable || [];\n // TODO: we might want to treat other iterables in a more performant way than Array.from()\n const items = Array.isArray(values) ? values : Array.from(iterable);\n const listChanges = listViewHandler.getListChanges(changes, items);\n changesArr = listChanges[0];\n const insertedOrRemoved = listChanges[1];\n const applyChanges$ = getObservablesFromChangesArray(changesArr, strategy, items.length);\n partiallyFinished = true;\n notifyParent = insertedOrRemoved && parent;\n return combineLatest(applyChanges$.length > 0 ? applyChanges$ : [of(null)]).pipe(tap(() => partiallyFinished = false), notifyAllParentsIfNeeded(injectingViewCdRef, strategy, () => notifyParent, ngZone), handleError(), map(() => iterable));\n }), handleError());\n }\n /**\n * @internal\n *\n * returns an array of streams which process all of the view updates needed to reflect the latest diff to the\n * viewContainer.\n * I\n *\n * @param changes\n * @param strategy\n * @param count\n */\n function getObservablesFromChangesArray(changes, strategy, count) {\n return changes.length > 0 ? changes.map(change => {\n const payload = change[1];\n return onStrategy(change[0], strategy, type => {\n switch (type) {\n case 0 /* RxListTemplateChangeType.insert */:\n listViewHandler.insertView(payload[0], payload[1], count);\n break;\n case 2 /* RxListTemplateChangeType.move */:\n listViewHandler.moveView(payload[2], payload[0], payload[1], count);\n break;\n case 1 /* RxListTemplateChangeType.remove */:\n listViewHandler.removeView(payload[1]);\n break;\n case 3 /* RxListTemplateChangeType.update */:\n listViewHandler.updateView(payload[0], payload[1], count);\n break;\n case 4 /* RxListTemplateChangeType.context */:\n listViewHandler.updateUnchangedContext(payload[0], payload[1], count);\n break;\n }\n }, {\n ngZone\n });\n }) : [of(null)];\n }\n}\nconst computeFirst = ({\n count,\n index\n}) => index === 0;\nconst computeLast = ({\n count,\n index\n}) => index === count - 1;\nconst computeEven = ({\n count,\n index\n}) => index % 2 === 0;\nclass RxDefaultListViewContext {\n _item = new ReplaySubject(1);\n item$ = this._item.asObservable();\n _$implicit;\n _$complete;\n _$error;\n _$suspense;\n _context$ = new BehaviorSubject({\n index: -1,\n count: -1\n });\n set $implicit($implicit) {\n this._$implicit = $implicit;\n this._item.next($implicit);\n }\n get $implicit() {\n return this._$implicit;\n }\n get $complete() {\n return this._$complete;\n }\n get $error() {\n return this._$error;\n }\n get $suspense() {\n return this._$suspense;\n }\n get index() {\n return this._context$.getValue().index;\n }\n get count() {\n return this._context$.getValue().count;\n }\n get first() {\n return computeFirst(this._context$.getValue());\n }\n get last() {\n return computeLast(this._context$.getValue());\n }\n get even() {\n return computeEven(this._context$.getValue());\n }\n get odd() {\n return !this.even;\n }\n get index$() {\n return this._context$.pipe(map(c => c.index), distinctUntilChanged());\n }\n get count$() {\n return this._context$.pipe(map(s => s.count), distinctUntilChanged());\n }\n get first$() {\n return this._context$.pipe(map(computeFirst), distinctUntilChanged());\n }\n get last$() {\n return this._context$.pipe(map(computeLast), distinctUntilChanged());\n }\n get even$() {\n return this._context$.pipe(map(computeEven), distinctUntilChanged());\n }\n get odd$() {\n return this.even$.pipe(map(even => !even));\n }\n constructor(item, customProps) {\n this.$implicit = item;\n if (customProps) {\n this.updateContext(customProps);\n }\n }\n updateContext(newProps) {\n this._context$.next({\n ...this._context$.getValue(),\n ...newProps\n });\n }\n select = props => {\n return this.item$.pipe(map(r => props.reduce((acc, key) => acc?.[key], r)));\n };\n}\nvar RxBaseTemplateNames = /*#__PURE__*/function (RxBaseTemplateNames) {\n RxBaseTemplateNames[\"error\"] = \"errorTpl\";\n RxBaseTemplateNames[\"complete\"] = \"completeTpl\";\n RxBaseTemplateNames[\"suspense\"] = \"suspenseTpl\";\n return RxBaseTemplateNames;\n}(RxBaseTemplateNames || {});\n/**\n * @internal\n *\n * A factory function that returns a map of projections to turn a notification of a Observable (next, error, complete)\n *\n * @param customNextContext - projection function to provide custom properties as well as override existing\n */\nfunction notificationKindToViewContext(customNextContext) {\n // @TODO rethink overrides\n return {\n suspense: notification => {\n const $implicit = notification.value;\n return {\n $implicit,\n suspense: true,\n error: false,\n complete: false,\n ...customNextContext($implicit)\n };\n },\n next: notification => {\n const $implicit = notification.value;\n return {\n $implicit,\n suspense: false,\n error: false,\n complete: false,\n ...customNextContext($implicit)\n };\n },\n error: notification => {\n const $implicit = notification.value;\n return {\n $implicit,\n complete: false,\n error: notification.error || true,\n suspense: false,\n ...customNextContext($implicit)\n };\n },\n complete: notification => {\n const $implicit = notification.value;\n return {\n $implicit,\n error: false,\n complete: true,\n suspense: false,\n ...customNextContext($implicit)\n };\n }\n };\n}\nfunction createTemplateManager(config) {\n const {\n renderSettings,\n notificationToTemplateName,\n templateSettings\n } = config;\n const {\n defaultStrategyName,\n strategies,\n cdRef: injectingViewCdRef,\n patchZone,\n parent\n } = renderSettings;\n const errorHandler = createErrorHandler(renderSettings.errorHandler);\n const ngZone = patchZone ? patchZone : undefined;\n let activeTemplate;\n const strategyHandling$ = strategyHandling(defaultStrategyName, strategies);\n const templates = templateHandling(templateSettings.viewContainerRef);\n const viewContainerRef = templateSettings.viewContainerRef;\n const triggerHandling = config.templateTrigger$ || EMPTY;\n const getContext = notificationKindToViewContext(templateSettings.customContext || (() => ({})));\n return {\n addTemplateRef: (name, templateRef) => {\n templates.add(name, templateRef);\n },\n nextStrategy: strategyHandling$.next,\n render(values$) {\n let trg;\n let notification = {\n value: undefined,\n complete: false,\n error: false,\n kind: \"suspense\" /* RxNotificationKind.Suspense */,\n hasValue: false\n };\n return merge(values$.pipe(tap(n => notification = n)), triggerHandling.pipe(tap(trigger => trg = trigger))).pipe(switchMap(() => {\n const contextKind = trg || notification.kind;\n trg = undefined;\n const value = notification.value;\n const templateName = notificationToTemplateName[contextKind](value, templates);\n return templates.get$(templateName).pipe(map(template => ({\n template,\n templateName,\n notification,\n contextKind\n })));\n }), withLatestFrom(strategyHandling$.strategy$),\n // Cancel old renders\n switchMap(([{\n template,\n templateName,\n notification,\n contextKind\n }, strategy]) => {\n const isNewTemplate = activeTemplate !== template || !template;\n const notifyParent = isNewTemplate && parent;\n return onStrategy(notification.value, strategy, (v, work, options) => {\n const context = getContext[contextKind](notification);\n if (isNewTemplate) {\n // template has changed (undefined => next; suspense => next; ...)\n // handle remove & insert\n // remove current view if there is any\n if (viewContainerRef.length > 0) {\n // patch removal if needed\n viewContainerRef.clear();\n }\n // create new view if any\n if (template) {\n // createEmbeddedView is already patched, no need for workFactory\n templates.createEmbeddedView(templateName, context);\n }\n } else if (template) {\n // template didn't change, update it\n // handle update\n const view = viewContainerRef.get(0);\n Object.keys(context).forEach(k => {\n view.context[k] = context[k];\n });\n // update view context, patch if needed\n work(view, options.scope, notification);\n }\n activeTemplate = template;\n }, {\n ngZone\n }\n // we don't need to specify any scope here. The template manager is the only one\n // who will call `viewRef#detectChanges` on any of the templates it manages.\n // whenever a new value comes in, any pre-scheduled work of this taskManager will\n // be nooped before a new work will be scheduled. This happens because of the implementation\n // of `StrategyCredential#behavior`\n ).pipe(notifyAllParentsIfNeeded(injectingViewCdRef, strategy, () => notifyParent, ngZone), catchError(e => {\n errorHandler.handleError(e);\n return of(e);\n }));\n }));\n }\n };\n}\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { RxBaseTemplateNames, RxDefaultListViewContext, createListTemplateManager, createTemplateManager, templateHandling };\n"],"names":["createEmbeddedView","viewContainerRef","templateRef","context","index","view","templateHandling","templateCache","get$","name","of","get","ref","templatRef$","r","assertTemplate","BehaviorSubject","property","isTemplateRefOrNull","notifyAllParentsIfNeeded","injectingViewCdRef","strategy","notifyNeeded","ngZone","o$","switchMap","v","concat","onStrategy","_v","work","options","ignoreElements","getTemplateHandler","templateSettings","initialTemplateRef","createViewContext","updateViewContext","updateUnchangedContext","insertView","moveView","removeView","getListChanges","updateView","item","count","oldIndex","oldView","changes","items","changedIdxs","changesArr","notifyParent","record","adjustedPreviousIndex","currentIndex","getInsertChange","getRemoveChange","getMoveChange","getUpdateChange","getUnchangedChange","isRxRenderError","e","createErrorHandler","_handler","_handleError","error","createListTemplateManager","config","renderSettings","trackBy","iterableDiffers","defaultStrategyName","strategies","patchZone","parent","errorHandler","strategyHandling$","strategyHandling","_differ","getDiffer","values","listViewHandler","__spreadProps","__spreadValues","partiallyFinished","nextConfig","values$","render","handleError","catchError","err","combineLatest","distinctUntilChanged","map","iterable","differ","currentIterable","i","ilen","viewRef","listChanges","insertedOrRemoved","applyChanges$","getObservablesFromChangesArray","tap","change","payload","type","computeFirst","computeLast","computeEven","RxDefaultListViewContext","customProps","__publicField","ReplaySubject","props","acc","key","$implicit","c","s","even","newProps","RxBaseTemplateNames","notificationKindToViewContext","customNextContext","notification","createTemplateManager","notificationToTemplateName","activeTemplate","templates","triggerHandling","EMPTY","getContext","trg","merge","n","trigger","contextKind","value","templateName","template","withLatestFrom","isNewTemplate","k"],"mappings":"6OAcA,SAASA,EAAAA,CAAmBC,EAAkBC,CAAaC,CAAAA,CAAAA,CAASC,EAAQ,CAAG,CAAA,CAC7E,IAAMC,CAAAA,CAAOJ,CAAiB,CAAA,kBAAA,CAAmBC,EAAaC,CAASC,CAAAA,CAAK,EAC5E,OAAAC,CAAAA,CAAK,eACEA,CAAAA,CACT,CAQA,SAASC,EAAiBL,CAAAA,CAAAA,CAAkB,CAC1C,IAAMM,CAAAA,CAAgB,IAAI,GACpBC,CAAAA,CAAAA,CAAOC,GACJF,CAAc,CAAA,GAAA,CAAIE,CAAI,CAAA,EAAKC,EAAG,CAAA,KAAA,CAAS,EAE1CC,CAAMF,CAAAA,CAAAA,EAAQ,CAClB,IAAIG,CACEC,CAAAA,CAAAA,CAAcL,EAAKC,CAAI,CAAA,CAC7B,OAAII,CAAAA,EACUA,CAAY,CAAA,SAAA,CAAUC,GAAKF,CAAME,CAAAA,CAAC,EAC1C,WAAY,EAAA,CAEXF,CACT,CACA,CAAA,OAAO,CACL,GAAA,CAAIH,CAAMP,CAAAA,CAAAA,CAAa,CACrBa,CAAeN,CAAAA,CAAAA,CAAMP,CAAW,CAAA,CAC3BK,CAAc,CAAA,GAAA,CAAIE,CAAI,CAGzBF,CAAAA,CAAAA,CAAc,GAAIE,CAAAA,CAAI,CAAE,CAAA,IAAA,CAAKP,CAAW,CAFxCK,CAAAA,CAAAA,CAAc,IAAIE,CAAM,CAAA,IAAIO,GAAgBd,CAAW,CAAC,EAI5D,CAAA,CACA,IAAAM,CAAAA,CAAAA,CACA,IAAAG,CACA,CAAA,kBAAA,CAAoB,CAACF,CAAAA,CAAMN,CAAYH,GAAAA,EAAAA,CAAmBC,EAAkBU,CAAIF,CAAAA,CAAI,CAAGN,CAAAA,CAAO,CAChG,CAAA,CAEA,SAASY,CAAeE,CAAAA,CAAAA,CAAUf,EAAa,CAC7C,IAAMgB,EAAsB,CAAC,EAAE,CAAChB,CAAAA,EAAeA,CAAY,CAAA,kBAAA,CAAA,CAC3D,GAAI,CAACgB,CAAAA,CACH,MAAM,IAAI,KAAM,CAAA,CAAA,EAAGD,CAAQ,CAAwC,qCAAA,EAAA,OAAOf,CAAW,CAAA,CAAE,CAEzF,CAAA,OAAOgB,CACT,CACF,CAYA,SAASC,EAAyBC,CAAAA,CAAAA,CAAoBC,EAAUC,CAAcC,CAAAA,CAAAA,CAAQ,CACpF,OAAOC,CAAMA,EAAAA,CAAAA,CAAG,KAAKC,EAAUC,CAAAA,CAAAA,EACRJ,CAAa,EAAA,CAI3BK,EAAOjB,CAAAA,EAAAA,CAAGgB,CAAC,CAAGE,CAAAA,GAAAA,CAAWR,CAAoBC,CAAAA,CAAAA,CAAU,CAACQ,CAAAA,CAAIC,EAAMC,CAAY,GAAA,CAKnFD,EAAKV,CAAoBW,CAAAA,CAAAA,CAAQ,KAAK,EACxC,CAAA,CAAG,CACD,KAAA,CAAOX,CAAmB,CAAA,OAAA,EAAWA,EACrC,MAAAG,CAAAA,CACF,CAAC,CAAA,CAAE,IAAKS,CAAAA,EAAAA,EAAgB,CAAC,CAAA,CAXhBtB,EAAGgB,CAAAA,CAAC,CAYd,CAAC,CACJ,CASA,SAASO,GAAmBC,CAAkB,CAAA,CAC5C,GAAM,CACJ,gBAAA,CAAAjC,CACA,CAAA,kBAAA,CAAAkC,CACA,CAAA,iBAAA,CAAAC,EACA,iBAAAC,CAAAA,CACF,CAAIH,CAAAA,CAAAA,CACJ,OAAO,CACL,uBAAAI,CACA,CAAA,UAAA,CAAAC,CACA,CAAA,QAAA,CAAAC,CACA,CAAA,UAAA,CAAAC,EACA,cAAAC,CAAAA,EAAAA,CACA,WAAAC,CACF,CAAA,CAEA,SAASL,CAAuBM,CAAAA,CAAAA,CAAMxC,CAAOyC,CAAAA,CAAAA,CAAO,CAClD,IAAMxC,EAAOJ,CAAiB,CAAA,GAAA,CAAIG,CAAK,CAAA,CACvCiC,CAAkBO,CAAAA,CAAAA,CAAMvC,EAAM,CAC5B,KAAA,CAAAwC,CACA,CAAA,KAAA,CAAAzC,CACF,CAAC,EACDC,CAAK,CAAA,aAAA,GACP,CACA,SAASmC,EAASM,CAAUF,CAAAA,CAAAA,CAAMxC,CAAOyC,CAAAA,CAAAA,CAAO,CAC9C,IAAME,EAAU9C,CAAiB,CAAA,GAAA,CAAI6C,CAAQ,CAAA,CACvCzC,CAAOJ,CAAAA,CAAAA,CAAiB,KAAK8C,CAAS3C,CAAAA,CAAK,CACjDiC,CAAAA,CAAAA,CAAkBO,CAAMvC,CAAAA,CAAAA,CAAM,CAC5B,KAAAwC,CAAAA,CAAAA,CACA,MAAAzC,CACF,CAAC,EACDC,CAAK,CAAA,aAAA,GACP,CACA,SAASsC,CAAAA,CAAWC,EAAMxC,CAAOyC,CAAAA,CAAAA,CAAO,CACtC,IAAMxC,CAAOJ,CAAAA,CAAAA,CAAiB,IAAIG,CAAK,CAAA,CACvCiC,CAAkBO,CAAAA,CAAAA,CAAMvC,CAAM,CAAA,CAC5B,MAAAwC,CACA,CAAA,KAAA,CAAAzC,CACF,CAAC,CAAA,CACDC,EAAK,aAAc,GACrB,CACA,SAASoC,CAAWrC,CAAAA,CAAAA,CAAO,CACzB,OAAOH,CAAAA,CAAiB,MAAOG,CAAAA,CAAK,CACtC,CACA,SAASmC,CAAWK,CAAAA,CAAAA,CAAMxC,CAAOyC,CAAAA,CAAAA,CAAO,CACtC7C,EAAAA,CAAmBC,EAAkBkC,CAAoBC,CAAAA,CAAAA,CAAkBQ,EAAM,CAC/E,KAAA,CAAAC,EACA,KAAAzC,CAAAA,CACF,CAAC,CAAA,CAAGA,CAAK,EACX,CACF,CAOA,SAASsC,EAAeM,CAAAA,CAAAA,CAASC,CAAO,CAAA,CACtC,IAAMC,CAAc,CAAA,IAAI,GAClBC,CAAAA,CAAAA,CAAa,EAAC,CAChBC,EAAe,CACnB,CAAA,CAAA,OAAAJ,EAAQ,gBAAiB,CAAA,CAACK,EAAQC,CAAuBC,CAAAA,CAAAA,GAAiB,CACxE,IAAMX,CAAOS,CAAAA,CAAAA,CAAO,KAChBA,CAAO,CAAA,aAAA,EAAiB,IAE1BF,EAAAA,CAAAA,CAAW,IAAKK,CAAAA,CAAAA,CAAgBZ,EAAMW,CAAiB,GAAA,IAAA,CAAO,KAAYA,CAAAA,CAAAA,CAAY,CAAC,CAAA,CACvFL,EAAY,GAAIN,CAAAA,CAAI,EACpBQ,CAAe,CAAA,CAAA,CAAA,EACNG,GAAgB,IAEzBJ,EAAAA,CAAAA,CAAW,IAAKM,CAAAA,CAAAA,CAAgBb,CAAMU,CAAAA,CAAAA,GAA0B,KAAO,KAAYA,CAAAA,CAAAA,CAAqB,CAAC,CAAA,CACzGF,CAAe,CAAA,CAAA,CAAA,EACNE,IAA0B,IAEnCH,GAAAA,CAAAA,CAAW,IAAKO,CAAAA,CAAAA,CAAcd,CAAMW,CAAAA,CAAAA,CAAcD,CAAqB,CAAC,CAAA,CACxEJ,EAAY,GAAIN,CAAAA,CAAI,EACpBQ,CAAe,CAAA,CAAA,CAAA,EAEnB,CAAC,CAAA,CACDJ,CAAQ,CAAA,qBAAA,CAAsBK,GAAU,CACtC,IAAMT,CAAOS,CAAAA,CAAAA,CAAO,IACfH,CAAAA,CAAAA,CAAY,IAAIN,CAAI,CAAA,GACvBO,CAAW,CAAA,IAAA,CAAKQ,CAAgBf,CAAAA,CAAAA,CAAMS,EAAO,YAAY,CAAC,EAC1DH,CAAY,CAAA,GAAA,CAAIN,CAAI,CAExB,EAAA,CAAC,CACDK,CAAAA,CAAAA,CAAM,OAAQ,CAAA,CAACL,EAAMxC,CAAU,GAAA,CACxB8C,CAAY,CAAA,GAAA,CAAIN,CAAI,CAAA,EACvBO,EAAW,IAAKS,CAAAA,CAAAA,CAAmBhB,CAAMxC,CAAAA,CAAK,CAAC,EAEnD,CAAC,CACM,CAAA,CAAC+C,EAAYC,CAAY,CAAA,CAEhC,SAASM,CAAcd,CAAAA,CAAAA,CAAMW,CAAcD,CAAAA,CAAAA,CAAuB,CAChE,OAAO,CAAC,CAAuC,CAAA,CAACV,CAAMW,CAAAA,CAAAA,CAAcD,CAAqB,CAAC,CAC5F,CACA,SAASK,CAAgBf,CAAAA,CAAAA,CAAMW,CAAc,CAAA,CAC3C,OAAO,CAAC,CAAA,CAAyC,CAACX,CAAMW,CAAAA,CAAY,CAAC,CACvE,CACA,SAASK,CAAAA,CAAmBhB,CAAMxC,CAAAA,CAAAA,CAAO,CACvC,OAAO,CAAC,CAA0C,CAAA,CAACwC,CAAMxC,CAAAA,CAAK,CAAC,CACjE,CACA,SAASoD,CAAAA,CAAgBZ,CAAMW,CAAAA,CAAAA,CAAc,CAC3C,OAAO,CAAC,EAAyC,CAACX,CAAAA,CAAMW,IAAiB,IAAO,CAAA,KAAA,CAAA,CAAYA,CAAY,CAAC,CAC3G,CACA,SAASE,CAAgBb,CAAAA,CAAAA,CAAMU,CAAuB,CAAA,CACpD,OAAO,CAAC,EAAyC,CAACV,CAAAA,CAAMU,CAA0B,GAAA,IAAA,CAAO,KAAYA,CAAAA,CAAAA,CAAqB,CAAC,CAC7H,CACF,CAGA,SAASO,EAAAA,CAAgBC,EAAG,CAC1B,OAAOA,CAAK,EAAA,IAAA,EAAQ,KAAM,CAAA,OAAA,CAAQA,CAAC,CAAKA,EAAAA,CAAAA,CAAE,MAAW,GAAA,CAAA,EAAKA,CAAE,CAAA,CAAC,YAAa,KAC5E,CAEA,SAASC,EAAAA,CAAmBC,CAAU,CAAA,CACpC,IAAMC,CAAeD,CAAAA,CAAAA,CAAWF,GAAKE,CAAS,CAAA,WAAA,CAAYF,CAAC,CAAI,CAAA,OAAA,CAAQ,KACvE,CAAA,OAAO,CACL,WAAA,CAAaI,GAAS,CAChBL,EAAAA,CAAgBK,CAAK,CAAA,EACvBD,CAAaC,CAAAA,CAAAA,CAAM,CAAC,CAAC,CAAA,CACrB,OAAQ,CAAA,KAAA,CAAM,wBAA0BA,CAAAA,CAAAA,CAAM,CAAC,CAAC,CAAA,EAEhDD,EAAaC,CAAK,EAEtB,CACF,CACF,CAKA,SAASC,EAAAA,CAA0BC,CAAQ,CAAA,CACzC,GAAM,CACJ,gBAAA,CAAAlC,CACA,CAAA,cAAA,CAAAmC,CACA,CAAA,OAAA,CAAAC,EACA,eAAAC,CAAAA,CACF,CAAIH,CAAAA,CAAAA,CACE,CACJ,mBAAA,CAAAI,EACA,UAAAC,CAAAA,CAAAA,CACA,MAAOrD,CACP,CAAA,SAAA,CAAAsD,EACA,MAAAC,CAAAA,CACF,CAAIN,CAAAA,CAAAA,CACEO,CAAeb,CAAAA,EAAAA,CAAmBM,EAAe,YAAY,CAAA,CAC7D9C,CAASmD,CAAAA,CAAAA,EAAwB,KACjCG,CAAAA,CAAAA,CAAAA,CAAoBC,GAAiBN,CAAqBC,CAAAA,CAAU,CACtEM,CAAAA,CAAAA,CACJ,SAASC,CAAAA,CAAUC,EAAQ,CACzB,OAAIF,IAGGE,CAASF,CAAAA,CAAAA,CAAUR,EAAgB,IAAKU,CAAAA,CAAM,CAAE,CAAA,MAAA,CAAOX,CAAO,CAAA,CAAI,KAC3E,CAKA,IAAMY,CAAkBjD,CAAAA,EAAAA,CAAmBkD,GAAAC,CAAAA,CAAAA,CAAA,GACtClD,CADsC,CAAA,CAAA,CAEzC,kBAAoBA,CAAAA,CAAAA,CAAiB,WACvC,CAAA,CAAC,EACKjC,CAAmBiC,CAAAA,CAAAA,CAAiB,iBACtCkB,CAAe,CAAA,CAAA,CAAA,CACfD,EACAkC,CAAoB,CAAA,CAAA,CAAA,CACxB,OAAO,CACL,YAAaC,CAAAA,CAAAA,CAAY,CACvBT,CAAkB,CAAA,IAAA,CAAKS,CAAU,EACnC,CACA,CAAA,MAAA,CAAOC,EAAS,CACd,OAAOA,CAAQ,CAAA,IAAA,CAAKC,CAAO,EAAC,CAC9B,CACF,CAAA,CACA,SAASC,CAAc,EAAA,CACrB,OAAOjE,CAAMA,EAAAA,CAAAA,CAAG,IAAKkE,CAAAA,EAAAA,CAAWC,CAC9BN,GAAAA,CAAAA,CAAoB,GACpBT,CAAa,CAAA,WAAA,CAAYe,CAAG,CAAA,CACrBjF,EAAG,CAAA,IAAI,EACf,CAAC,CACJ,CACA,SAAS8E,CAAS,EAAA,CAChB,OAAOhE,CAAMoE,EAAAA,EAAAA,CAAc,CAACpE,CAAIqD,CAAAA,CAAAA,CAAkB,UAAU,IAAKgB,CAAAA,EAAAA,EAAsB,CAAC,CAAC,CAAA,CAAE,KAAKC,IAAI,CAAA,CAAC,CAACC,CAAAA,CAAU1E,CAAQ,CAAA,GAAM,CAC5H,IAAM2E,CAAAA,CAAShB,CAAUe,CAAAA,CAAQ,CAC7B/C,CAAAA,CAAAA,CACJ,GAAIgD,CAAQ,CAAA,CACV,GAAIX,CAAmB,CAAA,CACrB,IAAMY,CAAkB,CAAA,EACxB,CAAA,IAAA,IAASC,CAAI,CAAA,CAAA,CAAGC,EAAOlG,CAAiB,CAAA,MAAA,CAAQiG,CAAIC,CAAAA,CAAAA,CAAMD,CAAK,EAAA,CAAA,CAC7D,IAAME,CAAUnG,CAAAA,CAAAA,CAAiB,GAAIiG,CAAAA,CAAC,CACtCD,CAAAA,CAAAA,CAAgBC,CAAC,CAAIE,CAAAA,CAAAA,CAAQ,QAAQ,UACvC,CACAJ,EAAO,IAAKC,CAAAA,CAAe,EAC7B,CACAjD,CAAUgD,CAAAA,CAAAA,CAAO,KAAKD,CAAQ,EAChC,CACA,OAAO,CACL,OAAA,CAAA/C,EACA,QAAA+C,CAAAA,CAAAA,CACA,QAAA1E,CAAAA,CACF,CACF,CAAC,EAEDI,EAAU,CAAA,CAAC,CACT,OAAAuB,CAAAA,CAAAA,CACA,SAAA+C,CACA,CAAA,QAAA,CAAA1E,CACF,CAAA,GAAM,CACJ,GAAI,CAAC2B,CACH,CAAA,OAAOtC,EAAG,CAAA,EAAE,CAAA,CAEd,IAAMuE,CAASc,CAAAA,CAAAA,EAAY,EAAC,CAEtB9C,CAAQ,CAAA,KAAA,CAAM,QAAQgC,CAAM,CAAA,CAAIA,EAAS,KAAM,CAAA,IAAA,CAAKc,CAAQ,CAC5DM,CAAAA,CAAAA,CAAcnB,CAAgB,CAAA,cAAA,CAAelC,CAASC,CAAAA,CAAK,EACjEE,CAAakD,CAAAA,CAAAA,CAAY,CAAC,CAAA,CAC1B,IAAMC,CAAAA,CAAoBD,EAAY,CAAC,CAAA,CACjCE,CAAgBC,CAAAA,CAAAA,CAA+BrD,CAAY9B,CAAAA,CAAAA,CAAU4B,EAAM,MAAM,CAAA,CACvF,OAAAoC,CAAoB,CAAA,CAAA,CAAA,CACpBjC,EAAekD,CAAqB3B,EAAAA,CAAAA,CAC7BiB,EAAcW,CAAAA,CAAAA,CAAc,MAAS,CAAA,CAAA,CAAIA,EAAgB,CAAC7F,EAAAA,CAAG,IAAI,CAAC,CAAC,EAAE,IAAK+F,CAAAA,EAAAA,CAAI,IAAMpB,CAAAA,CAAoB,CAAK,CAAA,CAAA,CAAGlE,GAAyBC,CAAoBC,CAAAA,CAAAA,CAAU,IAAM+B,CAAc7B,CAAAA,CAAM,EAAGkE,CAAY,EAAA,CAAGK,IAAI,CAAA,IAAMC,CAAQ,CAAC,CAC/O,CAAC,CAAA,CAAGN,CAAY,EAAC,CACnB,CAYA,SAASe,CAA+BxD,CAAAA,CAAAA,CAAS3B,CAAUwB,CAAAA,CAAAA,CAAO,CAChE,OAAOG,EAAQ,MAAS,CAAA,CAAA,CAAIA,EAAQ,GAAI0D,CAAAA,CAAAA,EAAU,CAChD,IAAMC,CAAAA,CAAUD,CAAO,CAAA,CAAC,CACxB,CAAA,OAAO9E,IAAW8E,CAAO,CAAA,CAAC,CAAGrF,CAAAA,CAAAA,CAAUuF,CAAQ,EAAA,CAC7C,OAAQA,CAAM,EACZ,KAAK,CAAA,CACH1B,CAAgB,CAAA,UAAA,CAAWyB,EAAQ,CAAC,CAAA,CAAGA,EAAQ,CAAC,CAAA,CAAG9D,CAAK,CACxD,CAAA,MACF,KAAK,CAAA,CACHqC,CAAgB,CAAA,QAAA,CAASyB,EAAQ,CAAC,CAAA,CAAGA,CAAQ,CAAA,CAAC,CAAGA,CAAAA,CAAAA,CAAQ,CAAC,CAAG9D,CAAAA,CAAK,CAClE,CAAA,MACF,KAAK,CAAA,CACHqC,EAAgB,UAAWyB,CAAAA,CAAAA,CAAQ,CAAC,CAAC,CAAA,CACrC,MACF,KAAK,CAAA,CACHzB,CAAgB,CAAA,UAAA,CAAWyB,CAAQ,CAAA,CAAC,EAAGA,CAAQ,CAAA,CAAC,CAAG9D,CAAAA,CAAK,CACxD,CAAA,MACF,KACEqC,CAAAA,CAAAA,CAAAA,CAAgB,sBAAuByB,CAAAA,CAAAA,CAAQ,CAAC,CAAA,CAAGA,EAAQ,CAAC,CAAA,CAAG9D,CAAK,CACpE,CAAA,KACJ,CACF,CAAG,CAAA,CACD,MAAAtB,CAAAA,CACF,CAAC,CACH,CAAC,CAAI,CAAA,CAACb,EAAG,CAAA,IAAI,CAAC,CAChB,CACF,CACA,IAAMmG,CAAe,CAAA,CAAC,CACpB,KAAA,CAAAhE,EACA,KAAAzC,CAAAA,CACF,IAAMA,CAAU,GAAA,CAAA,CACV0G,EAAc,CAAC,CACnB,KAAAjE,CAAAA,CAAAA,CACA,KAAAzC,CAAAA,CACF,IAAMA,CAAUyC,GAAAA,CAAAA,CAAQ,CAClBkE,CAAAA,EAAAA,CAAc,CAAC,CACnB,MAAAlE,CACA,CAAA,KAAA,CAAAzC,CACF,CAAA,GAAMA,CAAQ,CAAA,CAAA,GAAM,EACd4G,EAAN,CAAA,KAA+B,CA+D7B,WAAYpE,CAAAA,CAAAA,CAAMqE,EAAa,CA9D/BC,CAAAA,CAAA,IAAQ,CAAA,OAAA,CAAA,IAAIC,EAAc,CAAA,CAAC,GAC3BD,CAAA,CAAA,IAAA,CAAA,OAAA,CAAQ,IAAK,CAAA,KAAA,CAAM,YAAa,EAAA,CAAA,CAChCA,EAAA,IACAA,CAAAA,YAAAA,CAAAA,CAAAA,CAAAA,CAAA,IACAA,CAAAA,YAAAA,CAAAA,CAAAA,CAAAA,CAAA,IACAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,CAAA,mBACAA,CAAA,CAAA,IAAA,CAAA,WAAA,CAAY,IAAIlG,EAAgB,CAAA,CAC9B,MAAO,CACP,CAAA,CAAA,KAAA,CAAO,CACT,CAAA,CAAC,CAiEDkG,CAAAA,CAAAA,CAAAA,CAAA,cAASE,CACA,EAAA,IAAA,CAAK,KAAM,CAAA,IAAA,CAAKtB,IAAIhF,CAAAA,CAAAA,EAAKsG,EAAM,MAAO,CAAA,CAACC,CAAKC,CAAAA,CAAAA,GAAQD,CAAA,EAAA,IAAA,CAAA,KAAA,CAAA,CAAAA,EAAMC,CAAMxG,CAAAA,CAAAA,CAAC,CAAC,CAAC,CAAA,CAAA,CAZ1E,KAAK,SAAY8B,CAAAA,CAAAA,CACbqE,CACF,EAAA,IAAA,CAAK,aAAcA,CAAAA,CAAW,EAElC,CAzDA,IAAI,SAAUM,CAAAA,CAAAA,CAAW,CACvB,IAAA,CAAK,WAAaA,CAClB,CAAA,IAAA,CAAK,KAAM,CAAA,IAAA,CAAKA,CAAS,EAC3B,CACA,IAAI,SAAA,EAAY,CACd,OAAO,IAAA,CAAK,UACd,CACA,IAAI,SAAY,EAAA,CACd,OAAO,IAAA,CAAK,UACd,CACA,IAAI,MAAS,EAAA,CACX,OAAO,IAAA,CAAK,OACd,CACA,IAAI,SAAY,EAAA,CACd,OAAO,IAAA,CAAK,UACd,CACA,IAAI,OAAQ,CACV,OAAO,KAAK,SAAU,CAAA,QAAA,EAAW,CAAA,KACnC,CACA,IAAI,OAAQ,CACV,OAAO,IAAK,CAAA,SAAA,CAAU,QAAS,EAAA,CAAE,KACnC,CACA,IAAI,KAAQ,EAAA,CACV,OAAOV,CAAAA,CAAa,KAAK,SAAU,CAAA,QAAA,EAAU,CAC/C,CACA,IAAI,IAAO,EAAA,CACT,OAAOC,CAAAA,CAAY,IAAK,CAAA,SAAA,CAAU,UAAU,CAC9C,CACA,IAAI,IAAO,EAAA,CACT,OAAOC,EAAY,CAAA,IAAA,CAAK,SAAU,CAAA,QAAA,EAAU,CAC9C,CACA,IAAI,GAAA,EAAM,CACR,OAAO,CAAC,KAAK,IACf,CACA,IAAI,MAAA,EAAS,CACX,OAAO,KAAK,SAAU,CAAA,IAAA,CAAKjB,IAAI0B,CAAAA,CAAAA,EAAKA,CAAE,CAAA,KAAK,EAAG3B,EAAqB,EAAC,CACtE,CACA,IAAI,MAAA,EAAS,CACX,OAAO,IAAA,CAAK,UAAU,IAAKC,CAAAA,IAAAA,CAAI2B,GAAKA,CAAE,CAAA,KAAK,CAAG5B,CAAAA,EAAAA,EAAsB,CACtE,CACA,IAAI,MAAA,EAAS,CACX,OAAO,IAAK,CAAA,SAAA,CAAU,KAAKC,IAAIe,CAAAA,CAAY,CAAGhB,CAAAA,EAAAA,EAAsB,CACtE,CACA,IAAI,KAAA,EAAQ,CACV,OAAO,IAAA,CAAK,UAAU,IAAKC,CAAAA,IAAAA,CAAIgB,CAAW,CAAA,CAAGjB,EAAqB,EAAC,CACrE,CACA,IAAI,KAAQ,EAAA,CACV,OAAO,IAAA,CAAK,UAAU,IAAKC,CAAAA,IAAAA,CAAIiB,EAAW,CAAA,CAAGlB,EAAqB,EAAC,CACrE,CACA,IAAI,MAAO,CACT,OAAO,KAAK,KAAM,CAAA,IAAA,CAAKC,IAAI4B,CAAAA,CAAAA,EAAQ,CAACA,CAAI,CAAC,CAC3C,CAOA,aAAcC,CAAAA,CAAAA,CAAU,CACtB,IAAA,CAAK,UAAU,IAAKvC,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EACf,CAAA,IAAA,CAAK,SAAU,CAAA,QAAA,IACfuC,CACJ,CAAA,EACH,CAIF,CACIC,CAAAA,EAAAA,CAAmC,SAAUA,CAAqB,CAAA,CACpE,OAAAA,CAAAA,CAAoB,KAAW,CAAA,UAAA,CAC/BA,EAAoB,QAAc,CAAA,aAAA,CAClCA,CAAoB,CAAA,QAAA,CAAc,aAC3BA,CAAAA,CACT,EAAEA,EAAuB,EAAA,EAAE,EAQ3B,SAASC,EAAAA,CAA8BC,EAAmB,CAExD,OAAO,CACL,QAAUC,CAAAA,CAAAA,EAAgB,CACxB,IAAMR,CAAAA,CAAYQ,CAAa,CAAA,KAAA,CAC/B,OAAO3C,CAAAA,CAAA,CACL,SAAAmC,CAAAA,CAAAA,CACA,QAAU,CAAA,CAAA,CAAA,CACV,KAAO,CAAA,CAAA,CAAA,CACP,SAAU,CACPO,CAAAA,CAAAA,CAAAA,CAAAA,CAAkBP,CAAS,CAAA,CAElC,CACA,CAAA,IAAA,CAAMQ,GAAgB,CACpB,IAAMR,EAAYQ,CAAa,CAAA,KAAA,CAC/B,OAAO3C,CAAA,CAAA,CACL,SAAAmC,CAAAA,CAAAA,CACA,QAAU,CAAA,CAAA,CAAA,CACV,MAAO,CACP,CAAA,CAAA,QAAA,CAAU,CACPO,CAAAA,CAAAA,CAAAA,CAAAA,CAAkBP,CAAS,CAAA,CAElC,EACA,KAAOQ,CAAAA,CAAAA,EAAgB,CACrB,IAAMR,CAAYQ,CAAAA,CAAAA,CAAa,MAC/B,OAAO3C,CAAAA,CAAA,CACL,SAAAmC,CAAAA,CAAAA,CACA,SAAU,CACV,CAAA,CAAA,KAAA,CAAOQ,CAAa,CAAA,KAAA,EAAS,CAC7B,CAAA,CAAA,QAAA,CAAU,IACPD,CAAkBP,CAAAA,CAAS,CAElC,CAAA,CAAA,CACA,QAAUQ,CAAAA,CAAAA,EAAgB,CACxB,IAAMR,CAAAA,CAAYQ,CAAa,CAAA,KAAA,CAC/B,OAAO3C,CAAAA,CAAA,CACL,SAAAmC,CAAAA,CAAAA,CACA,MAAO,CACP,CAAA,CAAA,QAAA,CAAU,GACV,QAAU,CAAA,CAAA,CAAA,CAAA,CACPO,CAAkBP,CAAAA,CAAS,CAElC,CAAA,CACF,CACF,CACA,SAASS,EAAsB5D,CAAAA,CAAAA,CAAQ,CACrC,GAAM,CACJ,cAAAC,CAAAA,CAAAA,CACA,0BAAA4D,CAAAA,CAAAA,CACA,gBAAA/F,CAAAA,CACF,EAAIkC,CACE,CAAA,CACJ,oBAAAI,CACA,CAAA,UAAA,CAAAC,EACA,KAAOrD,CAAAA,CAAAA,CACP,SAAAsD,CAAAA,CAAAA,CACA,MAAAC,CAAAA,CACF,EAAIN,CACEO,CAAAA,CAAAA,CAAeb,EAAmBM,CAAAA,CAAAA,CAAe,YAAY,CAAA,CAC7D9C,EAASmD,CAAwB,EAAA,KAAA,CAAA,CACnCwD,CACErD,CAAAA,CAAAA,CAAoBC,EAAiBN,CAAAA,CAAAA,CAAqBC,CAAU,CACpE0D,CAAAA,CAAAA,CAAY7H,GAAiB4B,CAAiB,CAAA,gBAAgB,EAC9DjC,CAAmBiC,CAAAA,CAAAA,CAAiB,gBACpCkG,CAAAA,CAAAA,CAAkBhE,CAAO,CAAA,gBAAA,EAAoBiE,GAC7CC,CAAaT,CAAAA,EAAAA,CAA8B3F,CAAiB,CAAA,aAAA,GAAkB,KAAO,IAAI,CAC/F,CAAA,OAAO,CACL,cAAA,CAAgB,CAACzB,CAAAA,CAAMP,IAAgB,CACrCiI,CAAAA,CAAU,IAAI1H,CAAMP,CAAAA,CAAW,EACjC,CACA,CAAA,YAAA,CAAc2E,CAAkB,CAAA,IAAA,CAChC,MAAOU,CAAAA,CAAAA,CAAS,CACd,IAAIgD,CAAAA,CACAR,CAAe,CAAA,CACjB,KAAO,CAAA,KAAA,CAAA,CACP,SAAU,CACV,CAAA,CAAA,KAAA,CAAO,CACP,CAAA,CAAA,IAAA,CAAM,UACN,CAAA,QAAA,CAAU,EACZ,CACA,CAAA,OAAOS,GAAMjD,CAAQ,CAAA,IAAA,CAAKkB,GAAIgC,CAAKV,EAAAA,CAAAA,CAAeU,CAAC,CAAC,CAAGL,CAAAA,CAAAA,CAAgB,KAAK3B,EAAIiC,CAAAA,CAAAA,EAAWH,CAAMG,CAAAA,CAAO,CAAC,CAAC,EAAE,IAAKjH,CAAAA,EAAAA,CAAU,IAAM,CAC/H,IAAMkH,CAAAA,CAAcJ,GAAOR,CAAa,CAAA,IAAA,CACxCQ,EAAM,KACN,CAAA,CAAA,IAAMK,EAAQb,CAAa,CAAA,KAAA,CACrBc,CAAeZ,CAAAA,CAAAA,CAA2BU,CAAW,CAAA,CAAEC,EAAOT,CAAS,CAAA,CAC7E,OAAOA,CAAAA,CAAU,IAAKU,CAAAA,CAAY,EAAE,IAAK/C,CAAAA,IAAAA,CAAIgD,CAAa,GAAA,CACxD,QAAAA,CAAAA,CAAAA,CACA,aAAAD,CACA,CAAA,YAAA,CAAAd,EACA,WAAAY,CAAAA,CACF,EAAE,CAAC,CACL,CAAC,CAAA,CAAGI,EAAelE,CAAAA,CAAAA,CAAkB,SAAS,CAE9CpD,CAAAA,EAAAA,CAAU,CAAC,CAAC,CACV,QAAA,CAAAqH,EACA,YAAAD,CAAAA,CAAAA,CACA,YAAAd,CAAAA,CAAAA,CACA,WAAAY,CAAAA,CACF,EAAGtH,CAAQ,CAAA,GAAM,CACf,IAAM2H,CAAAA,CAAgBd,IAAmBY,CAAY,EAAA,CAACA,CAChD1F,CAAAA,CAAAA,CAAe4F,CAAiBrE,EAAAA,CAAAA,CACtC,OAAO/C,GAAWmG,CAAAA,CAAAA,CAAa,KAAO1G,CAAAA,CAAAA,CAAU,CAACK,CAAAA,CAAGI,EAAMC,CAAY,GAAA,CACpE,IAAM5B,CAAAA,CAAUmI,CAAWK,CAAAA,CAAW,EAAEZ,CAAY,CAAA,CACpD,GAAIiB,CAIE/I,CAAAA,CAAAA,CAAiB,OAAS,CAE5BA,EAAAA,CAAAA,CAAiB,KAAM,EAAA,CAGrB6I,CAEFX,EAAAA,CAAAA,CAAU,mBAAmBU,CAAc1I,CAAAA,CAAO,CAE3C2I,CAAAA,KAAAA,GAAAA,CAAAA,CAAU,CAGnB,IAAMzI,EAAOJ,CAAiB,CAAA,GAAA,CAAI,CAAC,CAAA,CACnC,MAAO,CAAA,IAAA,CAAKE,CAAO,CAAE,CAAA,OAAA,CAAQ8I,GAAK,CAChC5I,CAAAA,CAAK,QAAQ4I,CAAC,CAAA,CAAI9I,CAAQ8I,CAAAA,CAAC,EAC7B,CAAC,EAEDnH,CAAKzB,CAAAA,CAAAA,CAAM0B,CAAQ,CAAA,KAAA,CAAOgG,CAAY,EACxC,CACAG,CAAiBY,CAAAA,EACnB,CAAG,CAAA,CACD,MAAAvH,CAAAA,CACF,CAMA,CAAE,CAAA,IAAA,CAAKJ,GAAyBC,CAAoBC,CAAAA,CAAAA,CAAU,IAAM+B,CAAc7B,CAAAA,CAAM,CAAGmE,CAAAA,EAAAA,CAAW5B,CACpGc,GAAAA,CAAAA,CAAa,YAAYd,CAAC,CAAA,CACnBpD,EAAGoD,CAAAA,CAAC,CACZ,CAAA,CAAC,CACJ,CAAC,CAAC,CACJ,CACF,CACF","x_google_ignoreList":[0]}