{"version":3,"file":"taiga-ui-core-components-error.mjs","sources":["../../../projects/core/components/error/error.component.ts","../../../projects/core/components/error/error.template.html","../../../projects/core/components/error/error.directive.ts","../../../projects/core/components/error/error.pipe.ts","../../../projects/core/components/error/error.ts","../../../projects/core/components/error/taiga-ui-core-components-error.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, computed, inject, input} from '@angular/core';\nimport {TuiValidationError} from '@taiga-ui/cdk/classes';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_DEFAULT_ERROR_MESSAGE} from '@taiga-ui/core/tokens';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\n@Component({\n    selector: 'tui-error',\n    imports: [PolymorpheusOutlet, TuiAnimated],\n    templateUrl: './error.template.html',\n    styleUrl: './error.style.less',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {'[class._error]': 'content()'},\n})\nexport class TuiErrorComponent {\n    protected readonly default = inject(TUI_DEFAULT_ERROR_MESSAGE);\n\n    protected readonly content = computed((error = this.error()) =>\n        tuiIsString(error) ? new TuiValidationError(error) : error,\n    );\n\n    public readonly error = input<TuiValidationError | string | null>(null);\n}\n","@if (content(); as error) {\n    <span\n        tuiAnimated\n        class=\"t-content\"\n    >\n        <span\n            *polymorpheusOutlet=\"error.message || default() as text; context: error.context || {}\"\n            [innerHTML]=\"text\"\n        ></span>\n    </span>\n}\n","import {\n    computed,\n    Directive,\n    inject,\n    input,\n    isSignal,\n    model,\n    type Signal,\n    TemplateRef,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {\n    type AbstractControl,\n    type ControlValueAccessor,\n    NG_VALIDATORS,\n    NG_VALUE_ACCESSOR,\n    type ValidationErrors,\n    type Validator,\n} from '@angular/forms';\nimport {type TuiFormValueControl, TuiValidationError} from '@taiga-ui/cdk/classes';\nimport {TuiId} from '@taiga-ui/cdk/directives/id';\nimport {type TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {\n    tuiDirectiveBinding,\n    tuiInjectFormField,\n    tuiProvide,\n} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_VALIDATION_ERRORS} from '@taiga-ui/core/tokens';\nimport {\n    PolymorpheusComponent,\n    type PolymorpheusContent,\n    PolymorpheusTemplate,\n} from '@taiga-ui/polymorpheus';\nimport {\n    BehaviorSubject,\n    distinctUntilChanged,\n    filter,\n    map,\n    startWith,\n    switchMap,\n} from 'rxjs';\n\nimport {TuiErrorComponent} from './error.component';\n\n@Directive({\n    hostDirectives: [TuiId],\n    host: {'aria-live': 'polite'},\n})\nexport abstract class AbstractTuiErrorDirective {\n    protected abstract readonly error: Signal<TuiValidationError | null>;\n    protected readonly el = tuiInjectElement();\n    protected readonly content = inject(TUI_VALIDATION_ERRORS);\n\n    public readonly order = input<readonly string[]>([]);\n\n    protected readonly $ = tuiDirectiveBinding(\n        TuiErrorComponent,\n        'error',\n        computed(() => this.error()),\n        {self: true, optional: true},\n    );\n\n    protected getError(\n        context: unknown,\n        content?: PolymorpheusContent | Signal<PolymorpheusContent>,\n    ): TuiValidationError {\n        context = isSignal(context) ? context() : context;\n\n        if (context instanceof TuiValidationError) {\n            return context;\n        }\n\n        if (content === undefined && isContent(context)) {\n            return getError(context);\n        }\n\n        if (isSignal(content)) {\n            return getError(content(), context);\n        }\n\n        if (content instanceof Function) {\n            const message = content(context);\n\n            return getError(isSignal(message) ? message() : message, context);\n        }\n\n        return getError(content, context);\n    }\n}\n\n@Directive({\n    selector:\n        'tui-error[ngModel], tui-error[formControlName], tui-error[formControl], tui-error[formGroup], tui-error[formGroupName], tui-error[formArrayName], tui-error[formArray]',\n    providers: [\n        tuiProvide(NG_VALUE_ACCESSOR, TuiErrorDirective, true),\n        tuiProvide(NG_VALIDATORS, TuiErrorDirective, true),\n    ],\n    host: {'(document:tui-validator.zoneless)': 'onValidator($event.detail)'},\n})\nexport class TuiErrorDirective\n    extends AbstractTuiErrorDirective\n    implements ControlValueAccessor, Validator\n{\n    private readonly control = new BehaviorSubject<AbstractControl | null>(null);\n    private readonly errors = toSignal(\n        this.control.pipe(\n            filter(Boolean),\n            distinctUntilChanged(),\n            switchMap((control) =>\n                control.events.pipe(\n                    startWith(null),\n                    map(() => !control.disabled && control.touched && control.errors),\n                ),\n            ),\n        ),\n    );\n\n    private readonly key = computed(\n        (errors = this.errors() || {}) =>\n            this.order().find((id) => errors[id]) || Object.keys(errors)[0] || '',\n    );\n\n    public readonly error = computed(\n        (errors = this.errors() || null) =>\n            errors && this.getError(errors[this.key()], this.content[this.key()]),\n    );\n\n    public registerOnChange(): void {}\n\n    public registerOnTouched(): void {}\n\n    public writeValue(): void {}\n\n    public validate(control: AbstractControl): ValidationErrors | null {\n        this.control.next(control);\n\n        return null;\n    }\n\n    protected onValidator(validator: TuiNativeValidator): void {\n        if (this.control.value && validator.control === this.control.value) {\n            validator.id = this.el.id;\n        }\n    }\n}\n\n@Directive({\n    selector: 'tui-error[formField]',\n    host: {'(document:tui-validator.zoneless)': 'onValidator($event.detail)'},\n})\nexport class TuiErrorField\n    extends AbstractTuiErrorDirective\n    implements TuiFormValueControl<unknown>\n{\n    private readonly field = tuiInjectFormField({self: true});\n    private readonly fieldErrors = computed(() => this.field()?.errors() ?? []);\n\n    public readonly touched = input(false);\n    public readonly value = model<unknown>(null);\n\n    public readonly error = computed((errors = this.fieldErrors()) => {\n        if (!this.touched()) {\n            return null;\n        }\n\n        const kind = this.order().find((id) => errors.find(({kind}) => kind === id));\n        const error = kind ? errors.find((x) => x.kind === kind) : errors[0];\n\n        return error\n            ? this.getError(\n                  error.context ?? error,\n                  error.message ?? this.content[error.kind],\n              )\n            : null;\n    });\n\n    protected onValidator(validator: TuiNativeValidator): void {\n        /**\n         * Signal forms have no `AbstractControl`: `inject(NgControl)` returns Angular's internal\n         * `InteropNgControl`, and every `[formField]` builds ITS OWN INSTANCE. So two bindings of the\n         * same field hold two different controls, and comparing them by identity is meaningless:\n         *\n         * ```html\n         * <input [formField]=\"form.name\" />\n         * <tui-error [formField]=\"form.name\" />\n         * ```\n         *\n         * What they do share is the `FieldState` behind them, but the only way to it is the\n         * undocumented `field` property — hence the index access.\n         *\n         * TODO: read the state through the public `FORM_FIELD` token once Taiga UI drops Angular < 22\n         * https://angular.dev/api/forms/signals/FORM_FIELD\n         */\n        // @ts-ignore\n        const validatorField = validator.control.field?.();\n        const field = this.field();\n\n        if (field && validatorField === field) {\n            validator.id = this.el.id;\n        }\n    }\n}\n\nfunction getError(content: unknown = '', context?: any): TuiValidationError {\n    return new TuiValidationError(content as PolymorpheusContent, context);\n}\n\nfunction isContent(value: unknown): value is PolymorpheusContent {\n    return (\n        tuiIsString(value) ||\n        value instanceof TemplateRef ||\n        value instanceof PolymorpheusTemplate ||\n        value instanceof PolymorpheusComponent\n    );\n}\n","import {inject, Pipe, type PipeTransform, untracked} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TuiErrorDirective} from './error.directive';\n\n@Pipe({\n    name: 'tuiError',\n    pure: false,\n})\nexport class TuiErrorPipe implements PipeTransform {\n    private readonly control = inject(NgControl);\n    private readonly directive = new TuiErrorDirective();\n\n    public transform(order: readonly string[]): PolymorpheusContent {\n        untracked(() => {\n            this.directive.validate(this.control.control!);\n            tuiSetSignal(this.directive.order, order);\n        });\n\n        const error = this.directive.error();\n\n        if (!error) {\n            return '';\n        }\n\n        return typeof error.message === 'function'\n            ? error.message(error.context)\n            : error.message;\n    }\n}\n","import {TuiErrorComponent} from './error.component';\nimport {TuiErrorDirective, TuiErrorField} from './error.directive';\nimport {TuiErrorPipe} from './error.pipe';\n\nexport const TuiError = [\n    TuiErrorComponent,\n    TuiErrorDirective,\n    TuiErrorField,\n    TuiErrorPipe,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;MAea,iBAAiB,CAAA;AAR9B,IAAA,WAAA,GAAA;AASuB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAE3C,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KACvD,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC,GAAG,KAAK,CAC7D;AAEe,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAqC,IAAI,CAAC;AAC1E,IAAA;+GARY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf9B,4RAWA,EAAA,MAAA,EAAA,CAAA,+sBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDFc,kBAAkB,8HAAE,WAAW,EAAA,QAAA,EAAA,eAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAMhC,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAR7B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,OAAA,EACZ,CAAC,kBAAkB,EAAE,WAAW,CAAC,EAAA,eAAA,EAGzB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC,EAAC,gBAAgB,EAAE,WAAW,EAAC,EAAA,QAAA,EAAA,4RAAA,EAAA,MAAA,EAAA,CAAA,+sBAAA,CAAA,EAAA;;;MEqCnB,yBAAyB,CAAA;AAJ/C,IAAA,WAAA,GAAA;QAMuB,IAAA,CAAA,EAAE,GAAG,gBAAgB,EAAE;AACvB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAE1C,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAoB,EAAE,CAAC;AAEjC,QAAA,IAAA,CAAA,CAAC,GAAG,mBAAmB,CACtC,iBAAiB,EACjB,OAAO,EACP,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,EAC5B,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAC/B;AA4BJ,IAAA;IA1Ba,QAAQ,CACd,OAAgB,EAChB,OAA2D,EAAA;AAE3D,QAAA,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO;AAEjD,QAAA,IAAI,OAAO,YAAY,kBAAkB,EAAE;AACvC,YAAA,OAAO,OAAO;QAClB;QAEA,IAAI,OAAO,KAAK,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE;AAC7C,YAAA,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC5B;AAEA,QAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;AACnB,YAAA,OAAO,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC;QACvC;AAEA,QAAA,IAAI,OAAO,YAAY,QAAQ,EAAE;AAC7B,YAAA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAEhC,YAAA,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,CAAC;QACrE;AAEA,QAAA,OAAO,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IACrC;+GAvCkB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,QAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJ9C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;oBACP,cAAc,EAAE,CAAC,KAAK,CAAC;AACvB,oBAAA,IAAI,EAAE,EAAC,WAAW,EAAE,QAAQ,EAAC;AAChC,iBAAA;;AAoDK,MAAO,iBACT,SAAQ,yBAAyB,CAAA;AAVrC,IAAA,WAAA,GAAA;;AAaqB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAyB,IAAI,CAAC;QAC3D,IAAA,CAAA,MAAM,GAAG,QAAQ,CAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CACb,MAAM,CAAC,OAAO,CAAC,EACf,oBAAoB,EAAE,EACtB,SAAS,CAAC,CAAC,OAAO,KACd,OAAO,CAAC,MAAM,CAAC,IAAI,CACf,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CACpE,CACJ,CACJ,CACJ;QAEgB,IAAA,CAAA,GAAG,GAAG,QAAQ,CAC3B,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KACzB,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAC5E;AAEe,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAC5B,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,KAC3B,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAC5E;AAmBJ,IAAA;AAjBU,IAAA,gBAAgB,KAAU;AAE1B,IAAA,iBAAiB,KAAU;AAE3B,IAAA,UAAU,KAAU;AAEpB,IAAA,QAAQ,CAAC,OAAwB,EAAA;AACpC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;AAE1B,QAAA,OAAO,IAAI;IACf;AAEU,IAAA,WAAW,CAAC,SAA6B,EAAA;AAC/C,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAChE,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE;QAC7B;IACJ;+GA5CS,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wKAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iCAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EANf;AACP,YAAA,UAAU,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,IAAI,CAAC;AACtD,YAAA,UAAU,CAAC,aAAa,EAAE,iBAAiB,EAAE,IAAI,CAAC;AACrD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAGQ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAT7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EACJ,wKAAwK;AAC5K,oBAAA,SAAS,EAAE;AACP,wBAAA,UAAU,CAAC,iBAAiB,EAAA,iBAAA,EAAqB,IAAI,CAAC;AACtD,wBAAA,UAAU,CAAC,aAAa,EAAA,iBAAA,EAAqB,IAAI,CAAC;AACrD,qBAAA;AACD,oBAAA,IAAI,EAAE,EAAC,mCAAmC,EAAE,4BAA4B,EAAC;AAC5E,iBAAA;;AAoDK,MAAO,aACT,SAAQ,yBAAyB,CAAA;AALrC,IAAA,WAAA,GAAA;;QAQqB,IAAA,CAAA,KAAK,GAAG,kBAAkB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;AACxC,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAE3D,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;AACtB,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAU,IAAI,CAAC;QAE5B,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,KAAI;AAC7D,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACjB,gBAAA,OAAO,IAAI;YACf;AAEA,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;AAC5E,YAAA,MAAM,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;AAEpE,YAAA,OAAO;kBACD,IAAI,CAAC,QAAQ,CACT,KAAK,CAAC,OAAO,IAAI,KAAK,EACtB,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;kBAE7C,IAAI;AACd,QAAA,CAAC,CAAC;AA2BL,IAAA;AAzBa,IAAA,WAAW,CAAC,SAA6B,EAAA;AAC/C;;;;;;;;;;;;;;;AAeG;;QAEH,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI;AAClD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAE1B,QAAA,IAAI,KAAK,IAAI,cAAc,KAAK,KAAK,EAAE;YACnC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE;QAC7B;IACJ;+GAlDS,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iCAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,IAAI,EAAE,EAAC,mCAAmC,EAAE,4BAA4B,EAAC;AAC5E,iBAAA;;AAsDD,SAAS,QAAQ,CAAC,OAAA,GAAmB,EAAE,EAAE,OAAa,EAAA;AAClD,IAAA,OAAO,IAAI,kBAAkB,CAAC,OAA8B,EAAE,OAAO,CAAC;AAC1E;AAEA,SAAS,SAAS,CAAC,KAAc,EAAA;AAC7B,IAAA,QACI,WAAW,CAAC,KAAK,CAAC;AAClB,QAAA,KAAK,YAAY,WAAW;AAC5B,QAAA,KAAK,YAAY,oBAAoB;QACrC,KAAK,YAAY,qBAAqB;AAE9C;;MC7Ma,YAAY,CAAA;AAJzB,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC;AAC3B,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,iBAAiB,EAAE;AAkBvD,IAAA;AAhBU,IAAA,SAAS,CAAC,KAAwB,EAAA;QACrC,SAAS,CAAC,MAAK;YACX,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAQ,CAAC;YAC9C,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;AAC7C,QAAA,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;QAEpC,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,OAAO,EAAE;QACb;AAEA,QAAA,OAAO,OAAO,KAAK,CAAC,OAAO,KAAK;cAC1B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;AAC7B,cAAE,KAAK,CAAC,OAAO;IACvB;+GAnBS,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,IAAI,EAAE,KAAK;AACd,iBAAA;;;ACNM,MAAM,QAAQ,GAAG;IACpB,iBAAiB;IACjB,iBAAiB;IACjB,aAAa;IACb,YAAY;;;ACRhB;;AAEG;;;;"}