{"version":3,"file":"primeng-messages.mjs","sources":["../../src/messages/style/messagesstyle.ts","../../src/messages/messages.ts","../../src/messages/primeng-messages.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-messages {\n    display: flex;\n    flex-direction: column;\n    position: relative;\n    gap: ${dt('message.content.gap')};\n}\n\n.p-message {\n    border-radius: ${dt('message.border.radius')};\n    outline-width: ${dt('message.border.width')};\n    outline-style: solid;\n}\n\n.p-message-content {\n    display: flex;\n    align-items: center;\n    padding: ${dt('message.content.padding')};\n    height: 100%;\n}\n\n.p-message .p-message-content:has(:nth-child(1)) {\n    gap: ${dt('message.content.gap')};\n}\n\n.p-message-icon {\n    flex-shrink: 0;\n}\n\n.p-message-close-button {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-shrink: 0;\n    margin: 0 0 0 auto;\n    overflow: hidden;\n    position: relative;\n    width: ${dt('message.close.button.width')};\n    height: ${dt('message.close.button.height')};\n    border-radius: ${dt('message.close.button.border.radius')};\n    background: transparent;\n    transition: background ${dt('message.transition.duration')}, color ${dt('message.transition.duration')}, outline-color ${dt('message.transition.duration')}, box-shadow ${dt('message.transition.duration')}, opacity 0.3s;\n    outline-color: transparent;\n    color: inherit;\n    padding: 0;\n    border: none;\n    cursor: pointer;\n    user-select: none;\n}\n\n.p-message-close-icon {\n    font-size: ${dt('message.close.icon.size')};\n    width: ${dt('message.close.icon.size')};\n    height: ${dt('message.close.icon.size')};\n}\n\n.p-message-close-button:focus-visible {\n    outline-width: ${dt('message.close.button.focus.ring.width')};\n    outline-style: ${dt('message.close.button.focus.ring.style')};\n    outline-offset: ${dt('message.close.button.focus.ring.offset')};\n}\n\n.p-message-info {\n    background: ${dt('message.info.background')};\n    outline-color: ${dt('message.info.border.color')};\n    color: ${dt('message.info.color')};\n    box-shadow: ${dt('message.info.shadow')};\n}\n\n.p-message-info .p-message-close-button:focus-visible {\n    outline-color: ${dt('message.info.close.button.focus.ring.color')};\n    box-shadow: ${dt('message.info.close.button.focus.ring.shadow')};\n}\n\n.p-message-info .p-message-close-button:hover {\n    background: ${dt('message.info.close.button.hover.background')};\n}\n\n.p-message-success {\n    background: ${dt('message.success.background')};\n    outline-color: ${dt('message.success.border.color')};\n    color: ${dt('message.success.color')};\n    box-shadow: ${dt('message.success.shadow')};\n}\n\n.p-message-success .p-message-close-button:focus-visible {\n    outline-color: ${dt('message.success.close.button.focus.ring.color')};\n    box-shadow: ${dt('message.success.close.button.focus.ring.shadow')};\n}\n\n.p-message-success .p-message-close-button:hover {\n    background: ${dt('message.success.close.button.hover.background')};\n}\n\n.p-message-warn {\n    background: ${dt('message.warn.background')};\n    outline-color: ${dt('message.warn.border.color')};\n    color: ${dt('message.warn.color')};\n    box-shadow: ${dt('message.warn.shadow')};\n}\n\n.p-message-warn .p-message-close-button:focus-visible {\n    outline-color: ${dt('message.warn.close.button.focus.ring.color')};\n    box-shadow: ${dt('message.warn.close.button.focus.ring.shadow')};\n}\n\n.p-message-warn .p-message-close-button:hover {\n    background: ${dt('message.warn.close.button.hover.background')};\n}\n\n.p-message-error {\n    background: ${dt('message.error.background')};\n    outline-color: ${dt('message.error.border.color')};\n    color: ${dt('message.error.color')};\n    box-shadow: ${dt('message.error.shadow')};\n}\n\n.p-message-error .p-message-close-button:focus-visible {\n    outline-color: ${dt('message.error.close.button.focus.ring.color')};\n    box-shadow: ${dt('message.error.close.button.focus.ring.shadow')};\n}\n\n.p-message-error .p-message-close-button:hover {\n    background: ${dt('message.error.close.button.hover.background')};\n}\n\n.p-message-secondary {\n    background: ${dt('message.secondary.background')};\n    outline-color: ${dt('message.secondary.border.color')};\n    color: ${dt('message.secondary.color')};\n    box-shadow: ${dt('message.secondary.shadow')};\n}\n\n.p-message-secondary .p-message-close-button:focus-visible {\n    outline-color: ${dt('message.secondary.close.button.focus.ring.color')};\n    box-shadow: ${dt('message.secondary.close.button.focus.ring.shadow')};\n}\n\n.p-message-secondary .p-message-close-button:hover {\n    background: ${dt('message.secondary.close.button.hover.background')};\n}\n\n.p-message-contrast {\n    background: ${dt('message.contrast.background')};\n    outline-color: ${dt('message.contrast.border.color')};\n    color: ${dt('message.contrast.color')};\n    box-shadow: ${dt('message.contrast.shadow')};\n}\n\n.p-message-contrast .p-message-close-button:focus-visible {\n    outline-color: ${dt('message.contrast.close.button.focus.ring.color')};\n    box-shadow: ${dt('message.contrast.close.button.focus.ring.shadow')};\n}\n\n.p-message-contrast .p-message-close-button:hover {\n    background: ${dt('message.contrast.close.button.hover.background')};\n}\n\n.p-message-text {\n    font-size: ${dt('message.text.font.size')};\n    font-weight: ${dt('message.text.font.weight')};\n}\n\n.p-message-icon {\n    font-size: ${dt('message.icon.size')};\n    width: ${dt('message.icon.size')};\n    height: ${dt('message.icon.size')};\n}\n\n.p-message-enter-from {\n    opacity: 0;\n}\n\n.p-message-enter-active {\n    transition: opacity 0.3s;\n}\n\n.p-message.p-message-leave-from {\n    max-height: 1000px;\n}\n\n.p-message.p-message-leave-to {\n    max-height: 0;\n    opacity: 0;\n    margin: 0;\n}\n\n.p-message-leave-active {\n    overflow: hidden;\n    transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin 0.3s;\n}\n\n.p-message-leave-active .p-message-close-button {\n    opacity: 0;\n}\n/* For PrimeNG */\n.p-messages .p-message.ng-animating {\n    overflow: hidden;\n}\n\n.p-message-content > p-button[data-pc-section=\"closebutton\"] {\n    margin-left: auto;\n}\n`;\n\nconst classes = {\n    root: ({ instance }) => ({\n        'p-message': true\n    }),\n    container: 'p-messages p-component',\n    content: 'p-message-content',\n    icon: 'p-message-icon',\n    text: 'p-message-text',\n    closeButton: 'p-message-close-button',\n    closeIcon: 'p-message-close-icon'\n};\n\n@Injectable()\nexport class MessagesStyle extends BaseStyle {\n    name = 'message';\n\n    theme = theme;\n\n    classes = classes;\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { AfterContentInit, booleanAttribute, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, inject, Input, NgModule, OnDestroy, Optional, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { MessageService, PrimeTemplate, SharedModule, ToastMessageOptions } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ButtonModule } from 'primeng/button';\nimport { CheckIcon, ExclamationTriangleIcon, InfoCircleIcon, TimesCircleIcon, TimesIcon } from 'primeng/icons';\nimport { Ripple } from 'primeng/ripple';\nimport { Subscription, timer } from 'rxjs';\nimport { MessagesStyle } from './style/messagesstyle';\n\n/**\n * Messages is used to display alerts inline.\n * @group Components\n * @deprecated Use Message component instead.\n */\n@Component({\n    selector: 'p-messages',\n    standalone: false,\n    template: `\n        <div [ngClass]=\"cx('container')\" role=\"alert\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.aria-atomic]=\"true\" [attr.aria-live]=\"'assertive'\" [attr.data-pc-name]=\"'message'\">\n            @if (contentTemplate) {\n                <div [ngClass]=\"'p-message p-message-' + severity\" role=\"alert\">\n                    <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n                </div>\n            } @else {\n                <div\n                    *ngFor=\"let msg of messages; let i = index\"\n                    [ngClass]=\"cx('root')\"\n                    [class]=\"'p-message-' + msg.severity\"\n                    role=\"alert\"\n                    [@messageAnimation]=\"{\n                        value: 'visible',\n                        params: {\n                            showTransitionParams: showTransitionOptions,\n                            hideTransitionParams: hideTransitionOptions\n                        }\n                    }\"\n                >\n                    <div [ngClass]=\"cx('content')\" [attr.data-pc-section]=\"'wrapper'\" [attr.id]=\"msg.id || null\">\n                        @if (msg.icon) {\n                            <span [ngClass]=\"cx('icon')\" [class]=\"'pi ' + msg.icon\" [attr.data-pc-section]=\"'icon'\"> </span>\n                        } @else {\n                            <span [ngClass]=\"cx('icon')\">\n                                @switch (msg.icon) {\n                                    @case ('success') {\n                                        <CheckIcon [attr.data-pc-section]=\"'icon'\" />\n                                    }\n                                    @case ('error') {\n                                        <TimesCircleIcon [attr.data-pc-section]=\"'icon'\" />\n                                    }\n                                    @case ('danger') {\n                                        <TimesCircleIcon [attr.data-pc-section]=\"'icon'\" />\n                                    }\n                                    @case ('warn') {\n                                        <ExclamationTriangleIcon [attr.data-pc-section]=\"'icon'\" />\n                                    }\n                                    @default {\n                                        <InfoCircleIcon [attr.data-pc-section]=\"'icon'\" />\n                                    }\n                                }\n                            </span>\n                        }\n                        @if (escape) {\n                            @if (msg.text) {\n                                <span [ngClass]=\"cx('text')\">{{ msg.text }}</span>\n                            }\n                            @if (msg.summary) {\n                                <span [ngClass]=\"cx('text', 'p-message-summary')\" [attr.data-pc-section]=\"'summary'\">\n                                    {{ msg.summary }}\n                                </span>\n                            }\n                            @if (msg.detail) {\n                                <span [ngClass]=\"cx('text', 'p-message-detail')\" [attr.data-pc-section]=\"'detail'\">\n                                    {{ msg.detail }}\n                                </span>\n                            }\n                        } @else {\n                            <span *ngIf=\"msg.summary\" class=\"p-message-summary\" [innerHTML]=\"msg.summary\" [attr.data-pc-section]=\"'summary'\"></span>\n                            <span *ngIf=\"msg.detail\" class=\"p-message-detail\" [innerHTML]=\"msg.detail\" [attr.data-pc-section]=\"'detail'\"></span>\n                        }\n                        <p-button *ngIf=\"closable && (msg.closable ?? true)\" rounded text severity=\"secondary\" [styleClass]=\"cx('closeButton')\" (onClick)=\"removeMessage(i)\" [ariaLabel]=\"closeAriaLabel\" [attr.data-pc-section]=\"'closebutton'\">\n                            <TimesIcon [ngClass]=\"cx('closeIcon')\" [attr.data-pc-section]=\"'closeicon'\" />\n                        </p-button>\n                    </div>\n                </div>\n            }\n        </div>\n    `,\n    animations: [\n        trigger('messageAnimation', [\n            transition(':enter', [style({ opacity: 0, transform: 'translateY(-25%)' }), animate('{{showTransitionParams}}')]),\n            transition(':leave', [\n                animate(\n                    '{{hideTransitionParams}}',\n                    style({\n                        height: 0,\n                        marginTop: 0,\n                        marginBottom: 0,\n                        marginLeft: 0,\n                        marginRight: 0,\n                        opacity: 0\n                    })\n                )\n            ])\n        ])\n    ],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [MessagesStyle]\n})\nexport class Messages extends BaseComponent implements AfterContentInit, OnDestroy {\n    /**\n     * An array of messages to display.\n     * @group Props\n     */\n    @Input() set value(messages: ToastMessageOptions[]) {\n        this.messages = messages;\n        this.startMessageLifes(this.messages);\n    }\n    /**\n     * Defines if message box can be closed by the click icon.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) closable: boolean = true;\n    /**\n     * Inline style of the component.\n     * @group Props\n     */\n    @Input() style: { [klass: string]: any } | null | undefined;\n    /**\n     * Style class of the component.\n     * @group Props\n     */\n    @Input() styleClass: string | undefined;\n    /**\n     * Whether displaying services messages are enabled.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) enableService: boolean = true;\n    /**\n     * Id to match the key of the message to enable scoping in service based messaging.\n     * @group Props\n     */\n    @Input() key: string | undefined;\n    /**\n     * Whether displaying messages would be escaped or not.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) escape: boolean = true;\n    /**\n     * Severity level of the message.\n     * @group Props\n     */\n    @Input() severity: string | undefined;\n    /**\n     * Transition options of the show animation.\n     * @group Props\n     */\n    @Input() showTransitionOptions: string = '300ms ease-out';\n    /**\n     * Transition options of the hide animation.\n     * @group Props\n     */\n    @Input() hideTransitionOptions: string = '200ms cubic-bezier(0.86, 0, 0.07, 1)';\n    /**\n     * This function is executed when the value changes.\n     * @param {ToastMessageOptions[]} value - messages value.\n     * @group Emits\n     */\n    @Output() valueChange: EventEmitter<ToastMessageOptions[]> = new EventEmitter<ToastMessageOptions[]>();\n    /**\n     * This function is executed when a message is closed.\n     * @param {ToastMessageOptions} value - Closed message.\n     * @group Emits\n     */\n    @Output() onClose: EventEmitter<ToastMessageOptions> = new EventEmitter<ToastMessageOptions>();\n\n    messages: ToastMessageOptions[] | null | undefined;\n\n    messageSubscription: Subscription | undefined;\n\n    clearSubscription: Subscription | undefined;\n\n    timerSubscriptions: Subscription[] = [];\n\n    contentTemplate: TemplateRef<any> | undefined;\n\n    _componentStyle = inject(MessagesStyle);\n\n    constructor(@Optional() public messageService: MessageService) {\n        super();\n        console.log('Messages component is deprecated as of v18. Use Message component instead.');\n    }\n\n    @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n    ngAfterContentInit() {\n        this.templates?.forEach((item) => {\n            switch (item.getType()) {\n                case 'content':\n                    this.contentTemplate = item.template;\n                    break;\n\n                default:\n                    this.contentTemplate = item.template;\n                    break;\n            }\n        });\n\n        if (this.messageService && this.enableService && !this.contentTemplate) {\n            this.messageSubscription = this.messageService.messageObserver.subscribe((messages: ToastMessageOptions | ToastMessageOptions[]) => {\n                if (messages) {\n                    if (!Array.isArray(messages)) {\n                        messages = [messages];\n                    }\n\n                    const filteredMessages = messages.filter((m) => this.key === m.key);\n                    this.messages = this.messages ? [...this.messages, ...filteredMessages] : [...filteredMessages];\n                    this.startMessageLifes(filteredMessages);\n                    this.cd.markForCheck();\n                }\n            });\n\n            this.clearSubscription = this.messageService.clearObserver.subscribe((key) => {\n                if (key) {\n                    if (this.key === key) {\n                        this.messages = null;\n                    }\n                } else {\n                    this.messages = null;\n                }\n\n                this.cd.markForCheck();\n            });\n        }\n    }\n\n    hasMessages() {\n        let parentEl = this.el.nativeElement.parentElement;\n        if (parentEl && parentEl.offsetParent) {\n            return this.contentTemplate != null || (this.messages && this.messages.length > 0);\n        }\n\n        return false;\n    }\n\n    clear() {\n        this.messages = [];\n        this.valueChange.emit(this.messages);\n    }\n\n    removeMessage(i: number) {\n        const removedMessage = this.messages[i];\n        this.messages = this.messages?.filter((msg, index) => index !== i);\n        removedMessage && this.onClose.emit(removedMessage);\n        this.valueChange.emit(this.messages);\n    }\n\n    get icon(): string | null {\n        const severity = this.severity || (this.hasMessages() ? this.messages![0].severity : null);\n\n        if (this.hasMessages()) {\n            switch (severity) {\n                case 'success':\n                    return 'pi-check';\n\n                case 'info':\n                    return 'pi-info-circle';\n\n                case 'error':\n                case 'danger':\n                    return 'pi-times';\n\n                case 'warn':\n                    return 'pi-exclamation-triangle';\n\n                default:\n                    return 'pi-info-circle';\n            }\n        }\n\n        return null;\n    }\n    get closeAriaLabel() {\n        return this.config.translation.aria ? this.config.translation.aria.close : undefined;\n    }\n\n    ngOnDestroy() {\n        if (this.messageSubscription) {\n            this.messageSubscription.unsubscribe();\n        }\n\n        if (this.clearSubscription) {\n            this.clearSubscription.unsubscribe();\n        }\n\n        this.timerSubscriptions?.forEach((subscription) => subscription.unsubscribe());\n        super.ngOnDestroy();\n    }\n\n    private startMessageLifes(messages: ToastMessageOptions[]): void {\n        messages?.forEach((message) => message.life && this.startMessageLife(message));\n    }\n\n    private startMessageLife(message: ToastMessageOptions): void {\n        const timerSubsctiption = timer(message.life!).subscribe(() => {\n            this.messages = this.messages?.filter((msgEl) => msgEl !== message);\n            this.timerSubscriptions = this.timerSubscriptions?.filter((timerEl) => timerEl !== timerSubsctiption);\n            this.valueChange.emit(this.messages);\n            this.cd.markForCheck();\n        });\n        this.timerSubscriptions.push(timerSubsctiption);\n    }\n}\n\n@NgModule({\n    imports: [CommonModule, Ripple, CheckIcon, InfoCircleIcon, TimesCircleIcon, ExclamationTriangleIcon, TimesIcon, ButtonModule, SharedModule],\n    exports: [Messages, SharedModule],\n    declarations: [Messages]\n})\nexport class MessagesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK;;;;;WAKf,EAAE,CAAC,qBAAqB,CAAC,CAAA;;;;qBAIf,EAAE,CAAC,uBAAuB,CAAC,CAAA;qBAC3B,EAAE,CAAC,sBAAsB,CAAC,CAAA;;;;;;;eAOhC,EAAE,CAAC,yBAAyB,CAAC,CAAA;;;;;WAKjC,EAAE,CAAC,qBAAqB,CAAC,CAAA;;;;;;;;;;;;;;;aAevB,EAAE,CAAC,4BAA4B,CAAC,CAAA;cAC/B,EAAE,CAAC,6BAA6B,CAAC,CAAA;qBAC1B,EAAE,CAAC,oCAAoC,CAAC,CAAA;;AAEhC,2BAAA,EAAA,EAAE,CAAC,6BAA6B,CAAC,CAAW,QAAA,EAAA,EAAE,CAAC,6BAA6B,CAAC,CAAmB,gBAAA,EAAA,EAAE,CAAC,6BAA6B,CAAC,gBAAgB,EAAE,CAAC,6BAA6B,CAAC,CAAA;;;;;;;;;;iBAU9L,EAAE,CAAC,yBAAyB,CAAC,CAAA;aACjC,EAAE,CAAC,yBAAyB,CAAC,CAAA;cAC5B,EAAE,CAAC,yBAAyB,CAAC,CAAA;;;;qBAItB,EAAE,CAAC,uCAAuC,CAAC,CAAA;qBAC3C,EAAE,CAAC,uCAAuC,CAAC,CAAA;sBAC1C,EAAE,CAAC,wCAAwC,CAAC,CAAA;;;;kBAIhD,EAAE,CAAC,yBAAyB,CAAC,CAAA;qBAC1B,EAAE,CAAC,2BAA2B,CAAC,CAAA;aACvC,EAAE,CAAC,oBAAoB,CAAC,CAAA;kBACnB,EAAE,CAAC,qBAAqB,CAAC,CAAA;;;;qBAItB,EAAE,CAAC,4CAA4C,CAAC,CAAA;kBACnD,EAAE,CAAC,6CAA6C,CAAC,CAAA;;;;kBAIjD,EAAE,CAAC,4CAA4C,CAAC,CAAA;;;;kBAIhD,EAAE,CAAC,4BAA4B,CAAC,CAAA;qBAC7B,EAAE,CAAC,8BAA8B,CAAC,CAAA;aAC1C,EAAE,CAAC,uBAAuB,CAAC,CAAA;kBACtB,EAAE,CAAC,wBAAwB,CAAC,CAAA;;;;qBAIzB,EAAE,CAAC,+CAA+C,CAAC,CAAA;kBACtD,EAAE,CAAC,gDAAgD,CAAC,CAAA;;;;kBAIpD,EAAE,CAAC,+CAA+C,CAAC,CAAA;;;;kBAInD,EAAE,CAAC,yBAAyB,CAAC,CAAA;qBAC1B,EAAE,CAAC,2BAA2B,CAAC,CAAA;aACvC,EAAE,CAAC,oBAAoB,CAAC,CAAA;kBACnB,EAAE,CAAC,qBAAqB,CAAC,CAAA;;;;qBAItB,EAAE,CAAC,4CAA4C,CAAC,CAAA;kBACnD,EAAE,CAAC,6CAA6C,CAAC,CAAA;;;;kBAIjD,EAAE,CAAC,4CAA4C,CAAC,CAAA;;;;kBAIhD,EAAE,CAAC,0BAA0B,CAAC,CAAA;qBAC3B,EAAE,CAAC,4BAA4B,CAAC,CAAA;aACxC,EAAE,CAAC,qBAAqB,CAAC,CAAA;kBACpB,EAAE,CAAC,sBAAsB,CAAC,CAAA;;;;qBAIvB,EAAE,CAAC,6CAA6C,CAAC,CAAA;kBACpD,EAAE,CAAC,8CAA8C,CAAC,CAAA;;;;kBAIlD,EAAE,CAAC,6CAA6C,CAAC,CAAA;;;;kBAIjD,EAAE,CAAC,8BAA8B,CAAC,CAAA;qBAC/B,EAAE,CAAC,gCAAgC,CAAC,CAAA;aAC5C,EAAE,CAAC,yBAAyB,CAAC,CAAA;kBACxB,EAAE,CAAC,0BAA0B,CAAC,CAAA;;;;qBAI3B,EAAE,CAAC,iDAAiD,CAAC,CAAA;kBACxD,EAAE,CAAC,kDAAkD,CAAC,CAAA;;;;kBAItD,EAAE,CAAC,iDAAiD,CAAC,CAAA;;;;kBAIrD,EAAE,CAAC,6BAA6B,CAAC,CAAA;qBAC9B,EAAE,CAAC,+BAA+B,CAAC,CAAA;aAC3C,EAAE,CAAC,wBAAwB,CAAC,CAAA;kBACvB,EAAE,CAAC,yBAAyB,CAAC,CAAA;;;;qBAI1B,EAAE,CAAC,gDAAgD,CAAC,CAAA;kBACvD,EAAE,CAAC,iDAAiD,CAAC,CAAA;;;;kBAIrD,EAAE,CAAC,gDAAgD,CAAC,CAAA;;;;iBAIrD,EAAE,CAAC,wBAAwB,CAAC,CAAA;mBAC1B,EAAE,CAAC,0BAA0B,CAAC,CAAA;;;;iBAIhC,EAAE,CAAC,mBAAmB,CAAC,CAAA;aAC3B,EAAE,CAAC,mBAAmB,CAAC,CAAA;cACtB,EAAE,CAAC,mBAAmB,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCpC;AAED,MAAM,OAAO,GAAG;IACZ,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM;AACrB,QAAA,WAAW,EAAE;KAChB,CAAC;AACF,IAAA,SAAS,EAAE,wBAAwB;AACnC,IAAA,OAAO,EAAE,mBAAmB;AAC5B,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,WAAW,EAAE,wBAAwB;AACrC,IAAA,SAAS,EAAE;CACd;AAGK,MAAO,aAAc,SAAQ,SAAS,CAAA;IACxC,IAAI,GAAG,SAAS;IAEhB,KAAK,GAAG,KAAK;IAEb,OAAO,GAAG,OAAO;AALR,IAAA,OAAA,IAAA,iBAAA,CAAA,MAAA,EAAA,IAAA,0BAAA,CAAA,CAAA,OAAA,SAAA,qBAAA,CAAA,iBAAA,EAAA,EAAA,OAAA,CAAA,0BAAA,KAAA,0BAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,aAAa,yBAAb,aAAa,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA;AAAb,IAAA,OAAA,KAAA,iBAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,aAAa,WAAb,aAAa,CAAA,IAAA,EAAA,CAAA;;iFAAb,aAAa,EAAA,CAAA;cADzB;;;;;;ICrMmB,EAAiE,CAAA,kBAAA,CAAA,CAAA,CAAA;;;IADrE,EAAgE,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA;IAC5D,EAAkD,CAAA,UAAA,CAAA,CAAA,EAAA,8CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA;IACtD,EAAM,CAAA,YAAA,EAAA;;;IAFD,EAA6C,CAAA,UAAA,CAAA,SAAA,EAAA,sBAAA,GAAA,MAAA,CAAA,QAAA,CAAA;IAC/B,EAAiC,CAAA,SAAA,EAAA;IAAjC,EAAiC,CAAA,UAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,eAAA,CAAA;;;IAkBxC,EAAgG,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA;;;;IAAnE,EAA0B,CAAA,UAAA,CAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA;IAAjD,EAAsB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;;;;IAKhB,EAA6C,CAAA,SAAA,CAAA,CAAA,EAAA,WAAA,CAAA;;;;;IAG7C,EAAmD,CAAA,SAAA,CAAA,CAAA,EAAA,iBAAA,CAAA;;;;;IAGnD,EAAmD,CAAA,SAAA,CAAA,CAAA,EAAA,iBAAA,CAAA;;;;;IAGnD,EAA2D,CAAA,SAAA,CAAA,CAAA,EAAA,yBAAA,CAAA;;;;;IAG3D,EAAkD,CAAA,SAAA,CAAA,CAAA,EAAA,gBAAA,CAAA;;;;;IAf9D,EAA6B,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA;AAcrB,IAZA,+FAAmB,CAGF,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,CAAA,CAAA,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,CAGC,gGAGF,CAGN,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,CAAA;IAIlB,EAAO,CAAA,YAAA,EAAA;;;;;IAlBD,EAAsB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;IACxB,EAgBC,CAAA,SAAA,EAAA;AAhBD,IAAA,EAAA,CAAA,aAAA,CAAA,CAAA,OAAA,GAAA,MAAA,CAAA,IAAA,MAAA,SAAS,GAAT,CAAA,GAAA,OAAA,KAAA,OAAO,mBAAP,QAAQ,GAAA,CAAA,GAAA,OAAA,KAAR,MAAM,GAgBL,CAAA,GAAA,CAAA,CAAA;;;IAKD,EAA6B,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA;IAAA,EAAc,CAAA,MAAA,CAAA,CAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA;;;;IAA5C,EAAsB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;IAAC,EAAc,CAAA,SAAA,EAAA;IAAd,EAAc,CAAA,iBAAA,CAAA,MAAA,CAAA,IAAA,CAAA;;;IAG3C,EAAqF,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA;IACjF,EACJ,CAAA,MAAA,CAAA,CAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA;;;;IAFD,EAA2C,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,EAAA,mBAAA,CAAA,CAAA;;IAC7C,EACJ,CAAA,SAAA,EAAA;IADI,EACJ,CAAA,kBAAA,CAAA,GAAA,EAAA,MAAA,CAAA,OAAA,EAAA,GAAA,CAAA;;;IAGA,EAAmF,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA;IAC/E,EACJ,CAAA,MAAA,CAAA,CAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA;;;;IAFD,EAA0C,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,CAAA;;IAC5C,EACJ,CAAA,SAAA,EAAA;IADI,EACJ,CAAA,kBAAA,CAAA,GAAA,EAAA,MAAA,CAAA,MAAA,EAAA,GAAA,CAAA;;;IAXJ,EAAgB,CAAA,UAAA,CAAA,CAAA,EAAA,iEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,iEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAGG,CAKD,CAAA,EAAA,iEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA;;;IARlB,EAEC,CAAA,aAAA,CAAA,MAAA,CAAA,IAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;IACD,EAIC,CAAA,SAAA,EAAA;IAJD,EAIC,CAAA,aAAA,CAAA,MAAA,CAAA,OAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;IACD,EAIC,CAAA,SAAA,EAAA;IAJD,EAIC,CAAA,aAAA,CAAA,MAAA,CAAA,MAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;;IAED,EAAwH,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;;;IAApE,EAAyB,CAAA,UAAA,CAAA,WAAA,EAAA,MAAA,CAAA,OAAA,EAAA,EAAA,CAAA,cAAA,CAAA;;;;IAC7E,EAAoH,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;;;IAAlE,EAAwB,CAAA,UAAA,CAAA,WAAA,EAAA,MAAA,CAAA,MAAA,EAAA,EAAA,CAAA,cAAA,CAAA;;;;AAA1E,IADA,6FAAiH,CACJ,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA;;;IADtG,EAAiB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,OAAA,CAAA;IACjB,EAAgB,CAAA,SAAA,EAAA;IAAhB,EAAgB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,MAAA,CAAA;;;;IAE3B,EAAyN,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA;AAAjG,IAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,SAAA,4EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,KAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAW,0BAAgB,CAAC,CAAA,EAAA,CAAA;IAChJ,EAA8E,CAAA,SAAA,CAAA,CAAA,EAAA,WAAA,EAAA,CAAA,CAAA;IAClF,EAAW,CAAA,YAAA,EAAA;;;AAF0I,IAA9D,qDAAgC,CAA0D,WAAA,EAAA,MAAA,CAAA,cAAA,CAAA;;IAClK,EAA2B,CAAA,SAAA,EAAA;IAA3B,EAA2B,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA;;;;AA3C9C,IAbJ,8BAYC,CACgG,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA;AA0CzF,IAzCA,sFAAgB,CAEP,CAAA,EAAA,mDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,mDAAA,EAAA,CAAA,EAAA,CAAA,CAqBK,8DAcL,CAIgN,CAAA,EAAA,gDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA;AAIjO,IADI,iBAAM,EACJ;;;;;IAxDF,EAAqC,CAAA,UAAA,CAAA,YAAA,GAAA,MAAA,CAAA,QAAA,CAAA;AAErC,IAHA,2CAAsB,CASpB,mBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,GAAA,EAAA,MAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,qBAAA,CAAA,CAAA,CAAA;IAEG,EAAyB,CAAA,SAAA,EAAA;IAAzB,EAAyB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,CAAA,SAAA,CAAA,CAAA;;IAC1B,EAsBC,CAAA,SAAA,EAAA;IAtBD,EAsBC,CAAA,aAAA,CAAA,MAAA,CAAA,IAAA,GAAA,CAAA,GAAA,CAAA,CAAA;IACD,EAiBC,CAAA,SAAA,CAAA,CAAA,CAAA;IAjBD,EAiBC,CAAA,aAAA,CAAA,MAAA,CAAA,MAAA,GAAA,CAAA,GAAA,CAAA,CAAA;IACU,EAAwC,CAAA,SAAA,CAAA,CAAA,CAAA;IAAxC,EAAwC,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,QAAA,KAAA,CAAA,QAAA,GAAA,MAAA,CAAA,QAAA,MAAA,IAAA,IAAA,QAAA,KAAA,SAAA,GAAA,QAAA,GAAA,IAAA,CAAA,CAAA;;;IAvD3D,EAYC,CAAA,UAAA,CAAA,CAAA,EAAA,qCAAA,EAAA,CAAA,EAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA;;;IAXmB,EAAa,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,QAAA,CAAA;;AAhBjD;;;;AAIG;AAgGG,MAAO,QAAS,SAAQ,aAAa,CAAA;AA+ER,IAAA,cAAA;AA9E/B;;;AAGG;IACH,IAAa,KAAK,CAAC,QAA+B,EAAA;AAC9C,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAEzC;;;AAGG;IACqC,QAAQ,GAAY,IAAI;AAChE;;;AAGG;AACM,IAAA,KAAK;AACd;;;AAGG;AACM,IAAA,UAAU;AACnB;;;AAGG;IACqC,aAAa,GAAY,IAAI;AACrE;;;AAGG;AACM,IAAA,GAAG;AACZ;;;AAGG;IACqC,MAAM,GAAY,IAAI;AAC9D;;;AAGG;AACM,IAAA,QAAQ;AACjB;;;AAGG;IACM,qBAAqB,GAAW,gBAAgB;AACzD;;;AAGG;IACM,qBAAqB,GAAW,sCAAsC;AAC/E;;;;AAIG;AACO,IAAA,WAAW,GAAwC,IAAI,YAAY,EAAyB;AACtG;;;;AAIG;AACO,IAAA,OAAO,GAAsC,IAAI,YAAY,EAAuB;AAE9F,IAAA,QAAQ;AAER,IAAA,mBAAmB;AAEnB,IAAA,iBAAiB;IAEjB,kBAAkB,GAAmB,EAAE;AAEvC,IAAA,eAAe;AAEf,IAAA,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC;AAEvC,IAAA,WAAA,CAA+B,cAA8B,EAAA;AACzD,QAAA,KAAK,EAAE;QADoB,IAAc,CAAA,cAAA,GAAd,cAAc;AAEzC,QAAA,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC;;AAG7D,IAAA,SAAS;IAEzC,kBAAkB,GAAA;QACd,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,SAAS;AACV,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ;oBACpC;AAEJ,gBAAA;AACI,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ;oBACpC;;AAEZ,SAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AACpE,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,QAAqD,KAAI;gBAC/H,IAAI,QAAQ,EAAE;oBACV,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC1B,wBAAA,QAAQ,GAAG,CAAC,QAAQ,CAAC;;AAGzB,oBAAA,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;oBACnE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC;AAC/F,oBAAA,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;AACxC,oBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;AAE9B,aAAC,CAAC;AAEF,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;gBACzE,IAAI,GAAG,EAAE;AACL,oBAAA,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE;AAClB,wBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;;;qBAErB;AACH,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;;AAGxB,gBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AAC1B,aAAC,CAAC;;;IAIV,WAAW,GAAA;QACP,IAAI,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa;AAClD,QAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,YAAY,EAAE;AACnC,YAAA,OAAO,IAAI,CAAC,eAAe,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;;AAGtF,QAAA,OAAO,KAAK;;IAGhB,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;QAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAGxC,IAAA,aAAa,CAAC,CAAS,EAAA;QACnB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,KAAK,CAAC,CAAC;QAClE,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAGxC,IAAA,IAAI,IAAI,GAAA;QACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;AAE1F,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACpB,QAAQ,QAAQ;AACZ,gBAAA,KAAK,SAAS;AACV,oBAAA,OAAO,UAAU;AAErB,gBAAA,KAAK,MAAM;AACP,oBAAA,OAAO,gBAAgB;AAE3B,gBAAA,KAAK,OAAO;AACZ,gBAAA,KAAK,QAAQ;AACT,oBAAA,OAAO,UAAU;AAErB,gBAAA,KAAK,MAAM;AACP,oBAAA,OAAO,yBAAyB;AAEpC,gBAAA;AACI,oBAAA,OAAO,gBAAgB;;;AAInC,QAAA,OAAO,IAAI;;AAEf,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS;;IAGxF,WAAW,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC1B,YAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;;AAG1C,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxB,YAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;;AAGxC,QAAA,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,WAAW,EAAE,CAAC;QAC9E,KAAK,CAAC,WAAW,EAAE;;AAGf,IAAA,iBAAiB,CAAC,QAA+B,EAAA;AACrD,QAAA,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;;AAG1E,IAAA,gBAAgB,CAAC,OAA4B,EAAA;AACjD,QAAA,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAK,CAAC,CAAC,SAAS,CAAC,MAAK;AAC1D,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,KAAK,OAAO,CAAC;AACnE,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,OAAO,KAAK,OAAO,KAAK,iBAAiB,CAAC;YACrG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AACpC,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AAC1B,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC;;kGAzM1C,QAAQ,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,cAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA;6DAAR,QAAQ,EAAA,SAAA,EAAA,CAAA,CAAA,YAAA,CAAA,CAAA,EAAA,cAAA,EAAA,SAAA,uBAAA,CAAA,EAAA,EAAA,GAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;wCAoFA,aAAa,EAAA,CAAA,CAAA;;;;AAvEV,SAAA,EAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,kGAehB,gBAAgB,CAAA,EAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,QAAA,EAUhB,gBAAgB,CAxCzB,EAAA,QAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA,CAAC,aAAa,CAAC,CAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,MAAA,EAAA,OAAA,EAAA,CAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,CAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,EAAA,UAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,EAAA,UAAA,EAAA,WAAA,EAAA,CAAA,EAAA,SAAA,EAAA,YAAA,EAAA,WAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,iBAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YAzFtB,EAA8K,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA;AAKxK,YAJF,iEAAuB,CAId,CAAA,EAAA,+BAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA;YA8Db,EAAM,CAAA,YAAA,EAAA;;YAnE0D,EAAoB,CAAA,UAAA,CAAA,GAAA,CAAA,UAAA,CAAA;AAAtC,YAAzC,6CAA2B,CAA+B,SAAA,EAAA,GAAA,CAAA,KAAA,CAAA;;YAC3D,EAiEC,CAAA,SAAA,EAAA;YAjED,EAiEC,CAAA,aAAA,CAAA,GAAA,CAAA,eAAA,GAAA,CAAA,GAAA,CAAA,CAAA;oGAuOuB,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,uBAAuB,EAAE,SAAS,EApOlG,EAAA,CAAA,MAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA;gBACR,OAAO,CAAC,kBAAkB,EAAE;oBACxB,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;oBACjH,UAAU,CAAC,QAAQ,EAAE;AACjB,wBAAA,OAAO,CACH,0BAA0B,EAC1B,KAAK,CAAC;AACF,4BAAA,MAAM,EAAE,CAAC;AACT,4BAAA,SAAS,EAAE,CAAC;AACZ,4BAAA,YAAY,EAAE,CAAC;AACf,4BAAA,UAAU,EAAE,CAAC;AACb,4BAAA,WAAW,EAAE,CAAC;AACd,4BAAA,OAAO,EAAE;AACZ,yBAAA,CAAC;qBAET;iBACJ;AACJ,aAAA,EAAA,EAAA,eAAA,EAAA,CAAA,EAAA,CAAA;;iFAKQ,QAAQ,EAAA,CAAA;cA/FpB,SAAS;AAAC,QAAA,IAAA,EAAA,CAAA;AACP,gBAAA,QAAQ,EAAE,YAAY;AACtB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqET,IAAA,CAAA;AACD,gBAAA,UAAU,EAAE;oBACR,OAAO,CAAC,kBAAkB,EAAE;wBACxB,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;wBACjH,UAAU,CAAC,QAAQ,EAAE;AACjB,4BAAA,OAAO,CACH,0BAA0B,EAC1B,KAAK,CAAC;AACF,gCAAA,MAAM,EAAE,CAAC;AACT,gCAAA,SAAS,EAAE,CAAC;AACZ,gCAAA,YAAY,EAAE,CAAC;AACf,gCAAA,UAAU,EAAE,CAAC;AACb,gCAAA,WAAW,EAAE,CAAC;AACd,gCAAA,OAAO,EAAE;AACZ,6BAAA,CAAC;yBAET;qBACJ;AACJ,iBAAA;gBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;gBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,SAAS,EAAE,CAAC,aAAa;AAC5B,aAAA;;sBAgFgB;qBA1EA,KAAK,EAAA,CAAA;kBAAjB;YAQuC,QAAQ,EAAA,CAAA;kBAA/C,KAAK;mBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;YAK7B,KAAK,EAAA,CAAA;kBAAb;YAKQ,UAAU,EAAA,CAAA;kBAAlB;YAKuC,aAAa,EAAA,CAAA;kBAApD,KAAK;mBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;YAK7B,GAAG,EAAA,CAAA;kBAAX;YAKuC,MAAM,EAAA,CAAA;kBAA7C,KAAK;mBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;YAK7B,QAAQ,EAAA,CAAA;kBAAhB;YAKQ,qBAAqB,EAAA,CAAA;kBAA7B;YAKQ,qBAAqB,EAAA,CAAA;kBAA7B;YAMS,WAAW,EAAA,CAAA;kBAApB;YAMS,OAAO,EAAA,CAAA;kBAAhB;YAmB+B,SAAS,EAAA,CAAA;kBAAxC,eAAe;mBAAC,aAAa;;kFApFrB,QAAQ,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,GAAA,EAAA,CAAA,CAAA,EAAA,GAAA;MAkNR,cAAc,CAAA;wGAAd,cAAc,GAAA,CAAA,EAAA;4DAAd,cAAc,EAAA,CAAA;AAJb,IAAA,OAAA,IAAA,iBAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAY,EAAU,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,uBAAuB,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EACtH,YAAY,CAAA,EAAA,CAAA;;iFAGvB,cAAc,EAAA,CAAA;cAL1B,QAAQ;AAAC,QAAA,IAAA,EAAA,CAAA;AACN,gBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,uBAAuB,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC;AAC3I,gBAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACjC,YAAY,EAAE,CAAC,QAAQ;AAC1B,aAAA;;wFACY,cAAc,EAAA,EAAA,YAAA,EAAA,CAlNd,QAAQ,CA8MP,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,uBAAuB,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAA,EAAA,OAAA,EAAA,CA9MjI,QAAQ,EA+MG,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;AC9TpC;;AAEG;;;;"}