@nova-design-system/nova-angular-18 3.18.0-beta.0 → 3.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"nova-components.mjs","sources":["../../../projects/nova-components/src/lib/stencil-generated/angular-component-lib/utils.ts","../../../projects/nova-components/src/lib/stencil-generated/components.ts","../../../projects/nova-components/src/lib/stencil-generated/index.ts","../../../projects/nova-components/src/lib/components/nv-datatable-cell.directive.ts","../../../projects/nova-components/src/lib/components/datatable.utils/lazy-signal-initializer.ts","../../../projects/nova-components/src/lib/components/datatable.utils/proxy.ts","../../../projects/nova-components/src/lib/components/datatable.utils/flex-render/context.ts","../../../projects/nova-components/src/lib/components/datatable.utils/flex-render/flags.ts","../../../projects/nova-components/src/lib/components/datatable.utils/flex-render/flex-render-component.ts","../../../projects/nova-components/src/lib/components/datatable.utils/flex-render/flex-render-component-ref.ts","../../../projects/nova-components/src/lib/components/datatable.utils/flex-render/view.ts","../../../projects/nova-components/src/lib/components/datatable.utils/flex-render.ts","../../../projects/nova-components/src/lib/components/datatable.utils/index.ts","../../../projects/nova-components/src/lib/components/nv-datatable.component.ts","../../../projects/nova-components/src/lib/value-accessor.ts","../../../projects/nova-components/src/lib/stencil-generated/component-value-accessors.ts","../../../projects/nova-components/src/lib/nova-components.module.ts","../../../projects/nova-components/src/lib/providers/notification.service.ts","../../../projects/nova-components/src/lib/providers/notification-service.component.ts","../../../projects/nova-components/src/public-api.ts","../../../projects/nova-components/src/nova-components.ts"],"sourcesContent":["/* eslint-disable */\n/* tslint:disable */\nimport { fromEvent } from 'rxjs';\n\nexport const proxyInputs = (Cmp: any, inputs: string[]) => {\n const Prototype = Cmp.prototype;\n inputs.forEach((item) => {\n Object.defineProperty(Prototype, item, {\n get() {\n return this.el[item];\n },\n set(val: any) {\n this.z.runOutsideAngular(() => (this.el[item] = val));\n },\n /**\n * In the event that proxyInputs is called\n * multiple times re-defining these inputs\n * will cause an error to be thrown. As a result\n * we set configurable: true to indicate these\n * properties can be changed.\n */\n configurable: true,\n });\n });\n};\n\nexport const proxyMethods = (Cmp: any, methods: string[]) => {\n const Prototype = Cmp.prototype;\n methods.forEach((methodName) => {\n Prototype[methodName] = function () {\n const args = arguments;\n return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));\n };\n });\n};\n\nexport const proxyOutputs = (instance: any, el: any, events: string[]) => {\n events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));\n};\n\nexport const defineCustomElement = (tagName: string, customElement: any) => {\n if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {\n customElements.define(tagName, customElement);\n }\n};\n\n// tslint:disable-next-line: only-arrow-functions\nexport function ProxyCmp(opts: { defineCustomElementFn?: () => void; inputs?: any; methods?: any }) {\n const decorator = function (cls: any) {\n const { defineCustomElementFn, inputs, methods } = opts;\n\n if (defineCustomElementFn !== undefined) {\n defineCustomElementFn();\n }\n\n if (inputs) {\n proxyInputs(cls, inputs);\n }\n if (methods) {\n proxyMethods(cls, methods);\n }\n return cls;\n };\n return decorator;\n}\n","/* tslint:disable */\n/* auto-generated angular directive proxies */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, NgZone } from '@angular/core';\n\nimport { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';\n\nimport { Components } from '@nova-design-system/nova-webcomponents';\n\n\n@ProxyCmp({\n inputs: ['data', 'mode', 'openIndexes'],\n methods: ['open', 'close']\n})\n@Component({\n selector: 'nv-accordion',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['data', 'mode', 'openIndexes'],\n standalone: false\n})\nexport class NvAccordion {\n protected el: HTMLNvAccordionElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['openIndexesChanged']);\n }\n}\n\n\nexport declare interface NvAccordion extends Components.NvAccordion {\n /**\n * Event emitted when an item's open state changes @bind openIndexes\n */\n openIndexesChanged: EventEmitter<CustomEvent<number[]>>;\n}\n\n\n@ProxyCmp({\n inputs: ['disabled', 'itemTitle', 'maxContentHeight', 'mode', 'open', 'subtitle'],\n methods: ['toggle']\n})\n@Component({\n selector: 'nv-accordion-item',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disabled', 'itemTitle', 'maxContentHeight', 'mode', 'open', 'subtitle'],\n standalone: false\n})\nexport class NvAccordionItem {\n protected el: HTMLNvAccordionItemElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['itemToggle']);\n }\n}\n\n\nexport declare interface NvAccordionItem extends Components.NvAccordionItem {\n /**\n * Event emitted on toggle (header click or programmatic change)\n */\n itemToggle: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n inputs: ['color', 'dismissible', 'feedback', 'hasNoAnimations', 'heading', 'hidden', 'icon', 'message', 'preventAutoClose']\n})\n@Component({\n selector: 'nv-alert',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'dismissible', 'feedback', 'hasNoAnimations', 'heading', 'hidden', 'icon', 'message', 'preventAutoClose'],\n standalone: false\n})\nexport class NvAlert {\n protected el: HTMLNvAlertElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['hiddenChanged', 'hiddenChangedComplete', 'closeClicked']);\n }\n}\n\n\nexport declare interface NvAlert extends Components.NvAlert {\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\nPasses hidden value to the detail. @bind hidden\n */\n hiddenChanged: EventEmitter<CustomEvent<boolean>>;\n /**\n * Emitted when the animations complete, detail includes the hidden value.\n */\n hiddenChangedComplete: EventEmitter<CustomEvent<boolean>>;\n /**\n * Emitted when the close button is clicked.\n */\n closeClicked: EventEmitter<CustomEvent<void>>;\n}\n\n\n@ProxyCmp({\n inputs: ['alt', 'color', 'initials', 'large', 'medium', 'size', 'small', 'src', 'text', 'url', 'xlarge', 'xsmall']\n})\n@Component({\n selector: 'nv-avatar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['alt', 'color', 'initials', 'large', 'medium', 'size', 'small', 'src', 'text', 'url', 'xlarge', 'xsmall'],\n standalone: false\n})\nexport class NvAvatar {\n protected el: HTMLNvAvatarElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvAvatar extends Components.NvAvatar {}\n\n\n@ProxyCmp({\n inputs: ['color', 'dismissal', 'dismissible', 'hidden', 'icon', 'iconLocation', 'isIconOnly', 'label', 'leadIcon', 'preventAutoClose']\n})\n@Component({\n selector: 'nv-badge',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'dismissal', 'dismissible', 'hidden', 'icon', 'iconLocation', 'isIconOnly', 'label', 'leadIcon', 'preventAutoClose'],\n standalone: false\n})\nexport class NvBadge {\n protected el: HTMLNvBadgeElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['closeClicked', 'hiddenChanged', 'hiddenChangedComplete']);\n }\n}\n\n\nexport declare interface NvBadge extends Components.NvBadge {\n /**\n * Emitted when the badge is dismissed.\n */\n closeClicked: EventEmitter<CustomEvent<void>>;\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\nPasses hidden value to the detail.\n */\n hiddenChanged: EventEmitter<CustomEvent<boolean>>;\n /**\n * Emitted when the animations complete, detail includes the hidden value.\n */\n hiddenChangedComplete: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n inputs: ['current', 'tooltip', 'type']\n})\n@Component({\n selector: 'nv-breadcrumb',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['current', 'tooltip', 'type'],\n standalone: false\n})\nexport class NvBreadcrumb {\n protected el: HTMLNvBreadcrumbElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvBreadcrumb extends Components.NvBreadcrumb {}\n\n\n@ProxyCmp({\n})\n@Component({\n selector: 'nv-breadcrumbs',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: [],\n standalone: false\n})\nexport class NvBreadcrumbs {\n protected el: HTMLNvBreadcrumbsElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvBreadcrumbs extends Components.NvBreadcrumbs {}\n\n\n@ProxyCmp({\n inputs: ['active', 'danger', 'disabled', 'emphasis', 'fluid', 'form', 'loading', 'size', 'type']\n})\n@Component({\n selector: 'nv-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['active', 'danger', 'disabled', 'emphasis', 'fluid', 'form', 'loading', 'size', 'type'],\n standalone: false\n})\nexport class NvButton {\n protected el: HTMLNvButtonElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvButton extends Components.NvButton {}\n\n\n@ProxyCmp({\n inputs: ['emphasis', 'fluid', 'orientation', 'size']\n})\n@Component({\n selector: 'nv-buttongroup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['emphasis', 'fluid', 'orientation', 'size'],\n standalone: false\n})\nexport class NvButtongroup {\n protected el: HTMLNvButtongroupElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvButtongroup extends Components.NvButtongroup {}\n\n\n@ProxyCmp({\n inputs: ['cancelLabel', 'dateFormat', 'disabledDates', 'firstDayOfWeek', 'locale', 'max', 'min', 'numberOfCalendars', 'primaryLabel', 'rangeValue', 'selectionType', 'shortcuts', 'shortcutsPlacement', 'showActions', 'showWeekNumbers', 'singleValue', 'value'],\n methods: ['clear']\n})\n@Component({\n selector: 'nv-calendar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['cancelLabel', 'dateFormat', 'disabledDates', 'firstDayOfWeek', 'locale', 'max', 'min', 'numberOfCalendars', 'primaryLabel', 'rangeValue', 'selectionType', 'shortcuts', 'shortcutsPlacement', 'showActions', 'showWeekNumbers', 'singleValue', 'value'],\n standalone: false\n})\nexport class NvCalendar {\n protected el: HTMLNvCalendarElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['singleDateChange', 'rangeDateChange', 'valueChanged']);\n }\n}\n\n\nexport declare interface NvCalendar extends Components.NvCalendar {\n /**\n * Emitted when a single date is selected\n */\n singleDateChange: EventEmitter<CustomEvent<string>>;\n /**\n * Emitted when a date range is selected\n */\n rangeDateChange: EventEmitter<CustomEvent<HTMLNvCalendarElement['rangeValue']>>;\n /**\n * Emitted when the unified value changes @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['size']\n})\n@Component({\n selector: 'nv-col',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['size'],\n standalone: false\n})\nexport class NvCol {\n protected el: HTMLNvColElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvCol extends Components.NvCol {}\n\n\n@ProxyCmp({\n inputs: ['autoGenerateColumns', 'columns', 'data', 'enableGlobalFilter', 'enablePagination', 'enableRowSelection', 'enableSorting', 'fallbackValue', 'globalFilterPosition', 'noColumnsNoDataMessage', 'noDataMessage', 'pageSize', 'pageSizes', 'state']\n})\n@Component({\n selector: 'nv-datagrid',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autoGenerateColumns', 'columns', 'data', 'enableGlobalFilter', 'enablePagination', 'enableRowSelection', 'enableSorting', 'fallbackValue', 'globalFilterPosition', 'noColumnsNoDataMessage', 'noDataMessage', 'pageSize', 'pageSizes', 'state'],\n standalone: false\n})\nexport class NvDatagrid {\n protected el: HTMLNvDatagridElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['action', 'selectedRows', 'stateChanged']);\n }\n}\n\n\nexport declare interface NvDatagrid extends Components.NvDatagrid {\n /**\n * Emitted when an action is triggered on a cell.\n */\n action: EventEmitter<CustomEvent<{ /** * Key action to be performed */ keyAction: string; /** * Details of the action to be performed */ details: any; }>>;\n /**\n * Emitted when the selection of the rows are changed.\n */\n selectedRows: EventEmitter<CustomEvent<any[]>>;\n /**\n * Emitted when the state is changed @bind state\n */\n stateChanged: EventEmitter<CustomEvent<{ /** * Global filter search term */ globalFilterSearchTerm: string; /** * Pagination State */ paginationState: { /** * Page Index */ pageIndex: number; /** * Page Size */ pageSize: number; }; /** * Sorting the columns */ sortingState: { /** * Descending */ desc: boolean; /** * Column Id */ id: string; }[]; }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['accessor', 'group', 'header', 'repeatTemplate']\n})\n@Component({\n selector: 'nv-datagridcolumn',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: [{ name: 'accessor', required: true }, 'group', 'header', 'repeatTemplate'],\n standalone: false\n})\nexport class NvDatagridcolumn {\n protected el: HTMLNvDatagridcolumnElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvDatagridcolumn extends Components.NvDatagridcolumn {}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'clickOutside', 'controlled', 'full', 'open', 'undismissable'],\n methods: ['show', 'close']\n})\n@Component({\n selector: 'nv-dialog',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'clickOutside', 'controlled', 'full', 'open', 'undismissable'],\n standalone: false\n})\nexport class NvDialog {\n protected el: HTMLNvDialogElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['openChanged']);\n }\n}\n\n\nexport declare interface NvDialog extends Components.NvDialog {\n /**\n * Emitted when the dialog is closing in order to allow for cleanup, data-capture, etc. @bind open\n */\n openChanged: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n inputs: ['cancelLabel', 'danger', 'disabled', 'form', 'leadingIcon', 'primaryButtonType', 'primaryLabel', 'trailingIcon', 'undismissable']\n})\n@Component({\n selector: 'nv-dialogfooter',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['cancelLabel', 'danger', 'disabled', 'form', 'leadingIcon', 'primaryButtonType', 'primaryLabel', 'trailingIcon', 'undismissable'],\n standalone: false\n})\nexport class NvDialogfooter {\n protected el: HTMLNvDialogfooterElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['dialogCanceled', 'dialogPrimaryClicked']);\n }\n}\n\n\nexport declare interface NvDialogfooter extends Components.NvDialogfooter {\n /**\n * Emitted when the cancel button is clicked. This will close the dialog.\n */\n dialogCanceled: EventEmitter<CustomEvent<void>>;\n /**\n * Emitted when the primary button is clicked. This allows to handle the\nprimary action and potential data capture before closing the dialog.\n */\n dialogPrimaryClicked: EventEmitter<CustomEvent<void>>;\n}\n\n\n@ProxyCmp({\n inputs: ['heading', 'subheading']\n})\n@Component({\n selector: 'nv-dialogheader',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['heading', 'subheading'],\n standalone: false\n})\nexport class NvDialogheader {\n protected el: HTMLNvDialogheaderElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvDialogheader extends Components.NvDialogheader {}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'checked', 'description', 'disabled', 'error', 'errorDescription', 'hideLabel', 'indeterminate', 'inputId', 'label', 'labelBefore', 'labelPlacement', 'message', 'name', 'readonly', 'required', 'validation', 'value']\n})\n@Component({\n selector: 'nv-fieldcheckbox',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'checked', 'description', 'disabled', 'error', 'errorDescription', 'hideLabel', 'indeterminate', 'inputId', 'label', 'labelBefore', 'labelPlacement', 'message', 'name', 'readonly', 'required', 'validation', 'value'],\n standalone: false\n})\nexport class NvFieldcheckbox {\n protected el: HTMLNvFieldcheckboxElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['checkedChanged']);\n }\n}\n\n\nexport declare interface NvFieldcheckbox extends Components.NvFieldcheckbox {\n /**\n * Emits when the checked state changes. @bind checked\n */\n checkedChanged: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'dateFormat', 'description', 'disabled', 'disabledDates', 'error', 'errorDescription', 'firstDayOfWeek', 'fluid', 'inputId', 'label', 'locale', 'max', 'min', 'name', 'numberOfCalendars', 'placeholder', 'readonly', 'required', 'shortcuts', 'shortcutsPlacement', 'showActions', 'showWeekNumbers', 'success', 'value'],\n methods: ['clear']\n})\n@Component({\n selector: 'nv-fielddate',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'dateFormat', 'description', 'disabled', 'disabledDates', 'error', 'errorDescription', 'firstDayOfWeek', 'fluid', 'inputId', 'label', 'locale', 'max', 'min', 'name', 'numberOfCalendars', 'placeholder', 'readonly', 'required', 'shortcuts', 'shortcutsPlacement', 'showActions', 'showWeekNumbers', 'success', 'value'],\n standalone: false\n})\nexport class NvFielddate {\n protected el: HTMLNvFielddateElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFielddate extends Components.NvFielddate {\n /**\n * Emitted when the value changes (unified value binding). @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'dateFormat', 'description', 'disabled', 'disabledDates', 'endInputId', 'endName', 'endPlaceholder', 'error', 'errorDescription', 'firstDayOfWeek', 'fluid', 'label', 'locale', 'max', 'min', 'numberOfCalendars', 'readonly', 'required', 'shortcuts', 'shortcutsPlacement', 'showActions', 'showWeekNumbers', 'startInputId', 'startName', 'startPlaceholder', 'success', 'value'],\n methods: ['clear']\n})\n@Component({\n selector: 'nv-fielddaterange',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'dateFormat', 'description', 'disabled', 'disabledDates', 'endInputId', 'endName', 'endPlaceholder', 'error', 'errorDescription', 'firstDayOfWeek', 'fluid', 'label', 'locale', 'max', 'min', 'numberOfCalendars', 'readonly', 'required', 'shortcuts', 'shortcutsPlacement', 'showActions', 'showWeekNumbers', 'startInputId', 'startName', 'startPlaceholder', 'success', 'value'],\n standalone: false\n})\nexport class NvFielddaterange {\n protected el: HTMLNvFielddaterangeElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['dateRangeChange', 'valueChanged']);\n }\n}\n\n\nexport declare interface NvFielddaterange extends Components.NvFielddaterange {\n /**\n * Emitted when the date range changes.\n */\n dateRangeChange: EventEmitter<CustomEvent<HTMLNvCalendarElementEventMap['rangeDateChange']>>;\n /**\n * Emitted when the unified value changes @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autocomplete', 'autofocus', 'debounceDelay', 'description', 'disabled', 'emptyResult', 'error', 'errorDescription', 'filterable', 'fluid', 'inputId', 'label', 'maxHeight', 'name', 'open', 'options', 'placeholder', 'readonly', 'required', 'value'],\n methods: ['getFilterText']\n})\n@Component({\n selector: 'nv-fielddropdown',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autocomplete', 'autofocus', 'debounceDelay', 'description', 'disabled', 'emptyResult', 'error', 'errorDescription', 'filterable', 'fluid', 'inputId', 'label', 'maxHeight', 'name', 'open', 'options', 'placeholder', 'readonly', 'required', 'value'],\n standalone: false\n})\nexport class NvFielddropdown {\n protected el: HTMLNvFielddropdownElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged', 'dropdownItemSelected']);\n }\n}\n\n\nexport declare interface NvFielddropdown extends Components.NvFielddropdown {\n /**\n * Emitted when the input value changes. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n /**\n * Event emitted when an item is clicked.\n */\n dropdownItemSelected: EventEmitter<CustomEvent<HTMLNvFielddropdownitemElementEventMap['dropdownItemSelected']>>;\n}\n\n\n@ProxyCmp({\n inputs: ['disabled', 'label', 'selected', 'value']\n})\n@Component({\n selector: 'nv-fielddropdownitem',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disabled', 'label', 'selected', 'value'],\n standalone: false\n})\nexport class NvFielddropdownitem {\n protected el: HTMLNvFielddropdownitemElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['dropdownItemSelected']);\n }\n}\n\n\nexport declare interface NvFielddropdownitem extends Components.NvFielddropdownitem {\n /**\n * Event emitted when the dropdown item is selected.\n */\n dropdownItemSelected: EventEmitter<CustomEvent<{ /** The value associated with the item. */ label?: string; /** The value associated with the item. */ value: string; }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['checked', 'description', 'disabled', 'group', 'label', 'value']\n})\n@Component({\n selector: 'nv-fielddropdownitemcheck',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['checked', 'description', 'disabled', 'group', 'label', 'value'],\n standalone: false\n})\nexport class NvFielddropdownitemcheck {\n protected el: HTMLNvFielddropdownitemcheckElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['itemChecked']);\n }\n}\n\n\nexport declare interface NvFielddropdownitemcheck extends Components.NvFielddropdownitemcheck {\n /**\n * Event emitted when the checkbox is toggled.\nIt provides details about the current state of the item.\n */\n itemChecked: EventEmitter<CustomEvent<{ /** * The value associated with this item */ value: string | undefined; /** * Whether the checkbox is currently checked */ checked: boolean; /** * The group this item belongs to, if any */ group?: string | undefined; }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autocomplete', 'autofocus', 'badgeLabel', 'debounceDelay', 'description', 'deselectAllLabel', 'disabled', 'emptyResult', 'enableSelectAll', 'error', 'errorDescription', 'filterText', 'filterable', 'fluid', 'inputId', 'label', 'maxHeight', 'name', 'open', 'options', 'placeholder', 'readonly', 'required', 'selectAllLabel', 'value'],\n methods: ['getFilterText', 'resetFilter', 'getSelectedValues', 'selectAll', 'deselectAll', 'toggleSelectAll']\n})\n@Component({\n selector: 'nv-fieldmultiselect',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autocomplete', 'autofocus', 'badgeLabel', 'debounceDelay', 'description', 'deselectAllLabel', 'disabled', 'emptyResult', 'enableSelectAll', 'error', 'errorDescription', 'filterText', 'filterable', 'fluid', 'inputId', 'label', 'maxHeight', 'name', 'open', 'options', 'placeholder', 'readonly', 'required', 'selectAllLabel', 'value'],\n standalone: false\n})\nexport class NvFieldmultiselect {\n protected el: HTMLNvFieldmultiselectElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged', 'filterTextChanged']);\n }\n}\n\n\nexport declare interface NvFieldmultiselect extends Components.NvFieldmultiselect {\n /**\n * Emitted when the selected values change. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string[]>>;\n /**\n * Emitted when the filter text changes.\n */\n filterTextChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'max', 'message', 'min', 'name', 'placeholder', 'readonly', 'required', 'step', 'success', 'validation', 'value']\n})\n@Component({\n selector: 'nv-fieldnumber',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'max', 'message', 'min', 'name', 'placeholder', 'readonly', 'required', 'step', 'success', 'validation', 'value'],\n standalone: false\n})\nexport class NvFieldnumber {\n protected el: HTMLNvFieldnumberElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFieldnumber extends Components.NvFieldnumber {\n /**\n * Emitted when the input value changes. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<number>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autocomplete', 'autofocus', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'hidePasswordIcon', 'inputId', 'label', 'maxlength', 'minlength', 'mode', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'showPassword', 'success', 'value']\n})\n@Component({\n selector: 'nv-fieldpassword',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autocomplete', 'autofocus', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'hidePasswordIcon', 'inputId', 'label', 'maxlength', 'minlength', 'mode', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'showPassword', 'success', 'value'],\n standalone: false\n})\nexport class NvFieldpassword {\n protected el: HTMLNvFieldpasswordElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFieldpassword extends Components.NvFieldpassword {\n /**\n * Emitted when the input value changes. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'checked', 'description', 'disabled', 'error', 'errorDescription', 'inputId', 'label', 'labelBefore', 'labelPlacement', 'message', 'name', 'value']\n})\n@Component({\n selector: 'nv-fieldradio',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'checked', 'description', 'disabled', 'error', 'errorDescription', 'inputId', 'label', 'labelBefore', 'labelPlacement', 'message', 'name', 'value'],\n standalone: false\n})\nexport class NvFieldradio {\n protected el: HTMLNvFieldradioElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['checkedChanged']);\n }\n}\n\n\nexport declare interface NvFieldradio extends Components.NvFieldradio {\n /**\n * Emits when the checked state changes. @bind checked\n */\n checkedChanged: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'description', 'disabled', 'displayValue', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'message', 'multiple', 'name', 'options', 'readonly', 'required', 'success', 'validation', 'value']\n})\n@Component({\n selector: 'nv-fieldselect',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'description', 'disabled', 'displayValue', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'message', 'multiple', 'name', 'options', 'readonly', 'required', 'success', 'validation', 'value'],\n standalone: false\n})\nexport class NvFieldselect {\n protected el: HTMLNvFieldselectElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFieldselect extends Components.NvFieldselect {\n /**\n * Emitted when the selected value changes. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['description', 'disabled', 'endInputId', 'endName', 'error', 'errorDescription', 'fluid', 'hasField', 'hideLabel', 'label', 'labelAfterValue', 'labelBeforeValue', 'max', 'min', 'name', 'range', 'readonly', 'showTicks', 'snap', 'snapTicks', 'startInputId', 'step', 'success', 'ticks', 'value']\n})\n@Component({\n selector: 'nv-fieldslider',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['description', 'disabled', 'endInputId', 'endName', 'error', 'errorDescription', 'fluid', 'hasField', 'hideLabel', 'label', 'labelAfterValue', 'labelBeforeValue', 'max', 'min', 'name', 'range', 'readonly', 'showTicks', 'snap', 'snapTicks', 'startInputId', 'step', 'success', 'ticks', 'value'],\n standalone: false\n})\nexport class NvFieldslider {\n protected el: HTMLNvFieldsliderElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFieldslider extends Components.NvFieldslider {\n /**\n * Emitted when the slider values change. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<number[]>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autocomplete', 'autofocus', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'maxlength', 'message', 'minlength', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'success', 'textInputType', 'type', 'validation', 'value']\n})\n@Component({\n selector: 'nv-fieldtext',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autocomplete', 'autofocus', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'maxlength', 'message', 'minlength', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'success', 'textInputType', 'type', 'validation', 'value'],\n standalone: false\n})\nexport class NvFieldtext {\n protected el: HTMLNvFieldtextElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFieldtext extends Components.NvFieldtext {\n /**\n * Emitted when the input value changes. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'autosize', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'maxlength', 'message', 'minlength', 'name', 'placeholder', 'readonly', 'required', 'resize', 'rows', 'success', 'validation', 'value']\n})\n@Component({\n selector: 'nv-fieldtextarea',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'autosize', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'maxlength', 'message', 'minlength', 'name', 'placeholder', 'readonly', 'required', 'resize', 'rows', 'success', 'validation', 'value'],\n standalone: false\n})\nexport class NvFieldtextarea {\n protected el: HTMLNvFieldtextareaElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFieldtextarea extends Components.NvFieldtextarea {\n /**\n * Emitted when the textarea value changes. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'description', 'disabled', 'error', 'errorDescription', 'format', 'inputId', 'label', 'max', 'min', 'name', 'open', 'readonly', 'required', 'step', 'success', 'value']\n})\n@Component({\n selector: 'nv-fieldtime',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'description', 'disabled', 'error', 'errorDescription', 'format', 'inputId', 'label', 'max', 'min', 'name', 'open', 'readonly', 'required', 'step', 'success', 'value'],\n standalone: false\n})\nexport class NvFieldtime {\n protected el: HTMLNvFieldtimeElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFieldtime extends Components.NvFieldtime {\n /**\n * Emit an event when the time value changes.\nThe event detail contains the new time value (HH, HH:mm or HH:mm:ss).\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['color', 'large', 'medium', 'name', 'size', 'small', 'xlarge', 'xsmall']\n})\n@Component({\n selector: 'nv-icon',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'large', 'medium', 'name', 'size', 'small', 'xlarge', 'xsmall'],\n standalone: false\n})\nexport class NvIcon {\n protected el: HTMLNvIconElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvIcon extends Components.NvIcon {}\n\n\n@ProxyCmp({\n inputs: ['active', 'disabled', 'emphasis', 'loading', 'name', 'shape', 'size', 'type']\n})\n@Component({\n selector: 'nv-iconbutton',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['active', 'disabled', 'emphasis', 'loading', 'name', 'shape', 'size', 'type'],\n standalone: false\n})\nexport class NvIconbutton {\n protected el: HTMLNvIconbuttonElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvIconbutton extends Components.NvIconbutton {}\n\n\n@ProxyCmp({\n inputs: ['color', 'size']\n})\n@Component({\n selector: 'nv-loader',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'size'],\n standalone: false\n})\nexport class NvLoader {\n protected el: HTMLNvLoaderElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvLoader extends Components.NvLoader {}\n\n\n@ProxyCmp({\n inputs: ['disableCloseOnSelect', 'items', 'nested', 'open', 'placement'],\n methods: ['show', 'close']\n})\n@Component({\n selector: 'nv-menu',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disableCloseOnSelect', 'items', 'nested', 'open', 'placement'],\n standalone: false\n})\nexport class NvMenu {\n protected el: HTMLNvMenuElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['menuitemSelected']);\n }\n}\n\n\nexport declare interface NvMenu extends Components.NvMenu {\n /**\n * Emitted from nv-menuitem elements with the corresponding id and name when\nselected (via click or keyboard). This event listener can be attached to\neither the nv-menu or the nv-menuitem element.\n */\n menuitemSelected: EventEmitter<CustomEvent<HTMLNvMenuitemElementEventMap['menuitemSelected']>>;\n}\n\n\n@ProxyCmp({\n inputs: ['disabled', 'hasSubmenu', 'icon', 'label', 'name', 'shortcut']\n})\n@Component({\n selector: 'nv-menuitem',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disabled', 'hasSubmenu', 'icon', 'label', 'name', 'shortcut'],\n standalone: false\n})\nexport class NvMenuitem {\n protected el: HTMLNvMenuitemElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['menuitemSelected']);\n }\n}\n\n\nexport declare interface NvMenuitem extends Components.NvMenuitem {\n /**\n * Fires when the menu item is selected (click or keypress). Will include the\nid and name of the menu item.\n */\n menuitemSelected: EventEmitter<CustomEvent<{ /** * The id of the menu item that was selected. */ id?: HTMLElement['id']; /** * The name of the menu item that was selected. */ name?: string; /** * Indicates if the menu item has a nested submenu. */ hasSubmenu?: boolean; }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['dismissible', 'emphasis', 'feedback', 'heading', 'hidden', 'icon', 'initiallyHidden', 'message', 'uid'],\n methods: ['dismiss', 'show']\n})\n@Component({\n selector: 'nv-notification',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['dismissible', 'emphasis', 'feedback', 'heading', 'hidden', 'icon', 'initiallyHidden', 'message', 'uid'],\n standalone: false\n})\nexport class NvNotification {\n protected el: HTMLNvNotificationElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['hiddenChanged']);\n }\n}\n\n\nexport declare interface NvNotification extends Components.NvNotification {\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\nPasses hidden value to the detail. @bind hidden\n */\n hiddenChanged: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n inputs: ['position']\n})\n@Component({\n selector: 'nv-notificationcontainer',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['position'],\n standalone: false\n})\nexport class NvNotificationcontainer {\n protected el: HTMLNvNotificationcontainerElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvNotificationcontainer extends Components.NvNotificationcontainer {}\n\n\n@ProxyCmp({\n inputs: ['disableFlip', 'enterDelay', 'groupName', 'hasArrow', 'nested', 'offset', 'open', 'placement', 'shiftPadding', 'strategy', 'triggerMode'],\n methods: ['show', 'hide', 'toggle']\n})\n@Component({\n selector: 'nv-popover',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disableFlip', 'enterDelay', 'groupName', 'hasArrow', 'nested', 'offset', 'open', 'placement', 'shiftPadding', 'strategy', 'triggerMode'],\n standalone: false\n})\nexport class NvPopover {\n protected el: HTMLNvPopoverElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['openChanged']);\n }\n}\n\n\nexport declare interface NvPopover extends Components.NvPopover {\n /**\n * Emitted when the popover is toggled. @bind open\n */\n openChanged: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n})\n@Component({\n selector: 'nv-row',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: [],\n standalone: false\n})\nexport class NvRow {\n protected el: HTMLNvRowElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvRow extends Components.NvRow {}\n\n\n@ProxyCmp({\n inputs: ['direction', 'gutterSize', 'minSizes', 'sizes'],\n methods: ['setSizes', 'getSizes', 'collapse', 'destroy']\n})\n@Component({\n selector: 'nv-split',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['direction', 'gutterSize', 'minSizes', 'sizes'],\n standalone: false\n})\nexport class NvSplit {\n protected el: HTMLNvSplitElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['sizesChanged']);\n }\n}\n\n\nexport declare interface NvSplit extends Components.NvSplit {\n /**\n * Emitted when pane sizes are updated (either via dragging or programmatically). @bind sizes\n */\n sizesChanged: EventEmitter<CustomEvent<number[]>>;\n}\n\n\n@ProxyCmp({\n inputs: ['fill', 'flex', 'full', 'gutter', 'vertical']\n})\n@Component({\n selector: 'nv-stack',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['fill', 'flex', 'full', 'gutter', 'vertical'],\n standalone: false\n})\nexport class NvStack {\n protected el: HTMLNvStackElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvStack extends Components.NvStack {}\n\n\n@ProxyCmp({\n})\n@Component({\n selector: 'nv-table',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: [],\n standalone: false\n})\nexport class NvTable {\n protected el: HTMLNvTableElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvTable extends Components.NvTable {}\n\n\n@ProxyCmp({\n inputs: ['checked', 'description', 'disabled', 'hideLabel', 'inputId', 'label', 'labelPlacement', 'name', 'readonly', 'value']\n})\n@Component({\n selector: 'nv-toggle',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['checked', 'description', 'disabled', 'hideLabel', 'inputId', 'label', 'labelPlacement', 'name', 'readonly', 'value'],\n standalone: false\n})\nexport class NvToggle {\n protected el: HTMLNvToggleElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['checkedChanged']);\n }\n}\n\n\nexport declare interface NvToggle extends Components.NvToggle {\n /**\n * Emits when the checked state changes. @bind checked\n */\n checkedChanged: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n inputs: ['active', 'disabled', 'emphasis', 'size', 'value']\n})\n@Component({\n selector: 'nv-togglebutton',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['active', 'disabled', 'emphasis', 'size', 'value'],\n standalone: false\n})\nexport class NvTogglebutton {\n protected el: HTMLNvTogglebuttonElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['toggled']);\n }\n}\n\n\nexport declare interface NvTogglebutton extends Components.NvTogglebutton {\n /**\n * Emitted when the button is toggled.\n */\n toggled: EventEmitter<CustomEvent<{ /** The value associated with the button. */ value: string; /** If the button is active when clicked. */ active: boolean; }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['emphasis', 'enforceValue', 'exclusive', 'size', 'value']\n})\n@Component({\n selector: 'nv-togglebuttongroup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['emphasis', 'enforceValue', 'exclusive', 'size', 'value'],\n standalone: false\n})\nexport class NvTogglebuttongroup {\n protected el: HTMLNvTogglebuttongroupElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvTogglebuttongroup extends Components.NvTogglebuttongroup {\n /**\n * Emitted when the selected toggle buttons change. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string[]>>;\n}\n\n\n@ProxyCmp({\n inputs: ['enterDelay', 'message', 'placement', 'strategy']\n})\n@Component({\n selector: 'nv-tooltip',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['enterDelay', 'message', 'placement', 'strategy'],\n standalone: false\n})\nexport class NvTooltip {\n protected el: HTMLNvTooltipElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['openChanged']);\n }\n}\n\n\nexport declare interface NvTooltip extends Components.NvTooltip {\n /**\n * Emitted when the tooltip is opened or closed. Bubbles up from the popover\nelement.\n */\n openChanged: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n","\nimport * as d from './components';\n\nexport const DIRECTIVES = [\n d.NvAccordion,\n d.NvAccordionItem,\n d.NvAlert,\n d.NvAvatar,\n d.NvBadge,\n d.NvBreadcrumb,\n d.NvBreadcrumbs,\n d.NvButton,\n d.NvButtongroup,\n d.NvCalendar,\n d.NvCol,\n d.NvDatagrid,\n d.NvDatagridcolumn,\n d.NvDialog,\n d.NvDialogfooter,\n d.NvDialogheader,\n d.NvFieldcheckbox,\n d.NvFielddate,\n d.NvFielddaterange,\n d.NvFielddropdown,\n d.NvFielddropdownitem,\n d.NvFielddropdownitemcheck,\n d.NvFieldmultiselect,\n d.NvFieldnumber,\n d.NvFieldpassword,\n d.NvFieldradio,\n d.NvFieldselect,\n d.NvFieldslider,\n d.NvFieldtext,\n d.NvFieldtextarea,\n d.NvFieldtime,\n d.NvIcon,\n d.NvIconbutton,\n d.NvLoader,\n d.NvMenu,\n d.NvMenuitem,\n d.NvNotification,\n d.NvNotificationcontainer,\n d.NvPopover,\n d.NvRow,\n d.NvSplit,\n d.NvStack,\n d.NvTable,\n d.NvToggle,\n d.NvTogglebutton,\n d.NvTogglebuttongroup,\n d.NvTooltip\n];\n","import { Directive, Input, TemplateRef } from '@angular/core';\nimport type { CellContext } from './datatable.utils';\n\n/**\n * Context type for cell templates - uses TanStack Table's CellContext directly\n */\nexport type NvDatatableCellContext<T> = {\n /** The cell's actual value */\n $implicit: CellContext<T, unknown>;\n};\n\n/**\n * Directive to mark ng-templates as cell templates for specific fields.\n *\n * @example\n * ```html\n * <nv-datatable [columns]=\"columns\" [rows]=\"data\">\n * <ng-template nvDatatableCell=\"name\" let-context>\n * <div class=\"font-semibold\">{{ context.value }}</div>\n * </ng-template>\n *\n * <ng-template nvDatatableCell=\"price\" let-context>\n * <span class=\"font-mono\">${{ context.value }}</span>\n * </ng-template>\n * </nv-datatable>\n * ```\n */\n@Directive({\n selector: 'ng-template[nvDatatableCell]',\n standalone: true,\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class NvDatatableCellDirective<T = any> {\n /**\n * The field name this template should render.\n * Should match a field in your column definitions.\n */\n @Input({ required: true }) nvDatatableCell!: string;\n\n constructor(public template: TemplateRef<NvDatatableCellContext<T>>) {}\n}\n","import { untracked } from '@angular/core'\n\n/**\n * Implementation from @tanstack/angular-query\n * {@link https://github.com/TanStack/query/blob/main/packages/angular-query-experimental/src/util/lazy-init/lazy-init.ts}\n */\nexport function lazyInit<T extends object>(initializer: () => T): T {\n let object: T | null = null\n\n const initializeObject = () => {\n if (!object) {\n object = untracked(() => initializer())\n }\n }\n\n queueMicrotask(() => initializeObject())\n\n const table = () => {}\n\n return new Proxy<T>(table as T, {\n apply(target: T, thisArg: any, argArray: any[]): any {\n initializeObject()\n if (typeof object === 'function') {\n return Reflect.apply(object, thisArg, argArray)\n }\n return Reflect.apply(target as any, thisArg, argArray)\n },\n get(_, prop, receiver) {\n initializeObject()\n return Reflect.get(object as T, prop, receiver)\n },\n has(_, prop) {\n initializeObject()\n return Reflect.has(object as T, prop)\n },\n ownKeys() {\n initializeObject()\n return Reflect.ownKeys(object as T)\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n }\n },\n })\n}\n","import { computed, type Signal, untracked } from '@angular/core'\nimport { type Table } from '@tanstack/table-core'\n\ntype TableSignal<T> = Table<T> & Signal<Table<T>>\n\nexport function proxifyTable<T>(\n tableSignal: Signal<Table<T>>\n): Table<T> & Signal<Table<T>> {\n const internalState = tableSignal as TableSignal<T>\n\n return new Proxy(internalState, {\n apply() {\n return tableSignal()\n },\n get(target, property: keyof Table<T>): any {\n if (target[property]) {\n return target[property]\n }\n const table = untracked(tableSignal)\n /**\n * Attempt to convert all accessors into computed ones,\n * excluding handlers as they do not retain any reactive value\n */\n if (\n property.startsWith('get') &&\n !property.endsWith('Handler')\n // e.g. getCoreRowModel, getSelectedRowModel etc.\n // We need that after a signal change even `rowModel` may mark the view as dirty.\n // This allows to always get the latest `getContext` value while using flexRender\n // && !property.endsWith('Model')\n ) {\n const maybeFn = table[property] as Function | never\n if (typeof maybeFn === 'function') {\n Object.defineProperty(target, property, {\n value: toComputed(tableSignal, maybeFn),\n configurable: true,\n enumerable: true,\n })\n return target[property]\n }\n }\n // @ts-expect-error\n return (target[property] = table[property])\n },\n has(_, prop: keyof Table<T>) {\n return !!untracked(tableSignal)[prop]\n },\n ownKeys() {\n return Reflect.ownKeys(untracked(tableSignal))\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n }\n },\n })\n}\n\n/**\n * Here we'll handle all type of accessors:\n * - 0 argument -> e.g. table.getCanNextPage())\n * - 0~1 arguments -> e.g. table.getIsSomeRowsPinned(position?)\n * - 1 required argument -> e.g. table.getColumn(columnId)\n * - 1+ argument -> e.g. table.getRow(id, searchAll?)\n *\n * Since we are not able to detect automatically the accessors parameters,\n * we'll wrap all accessors into a cached function wrapping a computed\n * that return it's value based on the given parameters\n */\nfunction toComputed<T>(signal: Signal<Table<T>>, fn: Function) {\n const hasArgs = fn.length > 0\n if (!hasArgs) {\n return computed(() => {\n void signal()\n return fn()\n })\n }\n\n const computedCache: Record<string, Signal<unknown>> = {}\n\n return (...argsArray: any[]) => {\n const serializedArgs = serializeArgs(...argsArray)\n if (computedCache.hasOwnProperty(serializedArgs)) {\n return computedCache[serializedArgs]?.()\n }\n const computedSignal = computed(() => {\n void signal()\n return fn(...argsArray)\n })\n\n computedCache[serializedArgs] = computedSignal\n\n return computedSignal()\n }\n}\n\nfunction serializeArgs(...args: any[]) {\n return JSON.stringify(args)\n}\n","import { inject, InjectionToken } from '@angular/core'\n\nexport const FlexRenderComponentProps = new InjectionToken<\n NonNullable<unknown>\n>('[@tanstack/angular-table] Flex render component context props')\n\nexport function injectFlexRenderContext<T extends NonNullable<unknown>>(): T {\n return inject<T>(FlexRenderComponentProps)\n}\n","/**\n * Flags used to manage and optimize the rendering lifecycle of content of the cell,\n * while using FlexRenderDirective.\n */\nexport enum FlexRenderFlags {\n /**\n * Indicates that the view is being created for the first time or will be cleared during the next update phase.\n * This is the initial state and will transition after the first ngDoCheck.\n */\n ViewFirstRender = 1 << 0,\n /**\n * Represents a state where the view is not dirty, meaning no changes require rendering updates.\n */\n Pristine = 1 << 1,\n /**\n * Indicates the `content` property has been modified or the view requires a complete re-render.\n * When this flag is enabled, the view will be cleared and recreated from scratch.\n */\n ContentChanged = 1 << 2,\n /**\n * Indicates that the `props` property reference has changed.\n * When this flag is enabled, the view context is updated based on the type of the content.\n *\n * For Component view, inputs will be updated and view will be marked as dirty.\n * For TemplateRef and primitive values, view will be marked as dirty\n */\n PropsReferenceChanged = 1 << 3,\n /**\n * Indicates that the current rendered view needs to be checked for changes.\n */\n DirtyCheck = 1 << 4,\n /**\n * Indicates that a signal within the `content(props)` result has changed\n */\n DirtySignal = 1 << 5,\n /**\n * Indicates that the first render effect has been checked at least one time.\n */\n RenderEffectChecked = 1 << 6,\n}\n","import {\n ComponentMirror,\n Injector,\n InputSignal,\n OutputEmitterRef,\n reflectComponentType,\n Type,\n} from '@angular/core'\n\ntype Inputs<T> = {\n [K in keyof T as T[K] extends InputSignal<infer R>\n ? K\n : never]?: T[K] extends InputSignal<infer R> ? R : never\n}\n\ntype Outputs<T> = {\n [K in keyof T as T[K] extends OutputEmitterRef<infer R>\n ? K\n : never]?: T[K] extends OutputEmitterRef<infer R>\n ? OutputEmitterRef<R>['emit']\n : never\n}\n\ntype OptionalKeys<T, K = keyof T> = K extends keyof T\n ? T[K] extends Required<T>[K]\n ? undefined extends T[K]\n ? K\n : never\n : K\n : never\n\ninterface FlexRenderRequiredOptions<\n TInputs extends Record<string, any>,\n TOutputs extends Record<string, any>,\n> {\n /**\n * Component instance inputs. They will be set via [componentRef.setInput API](https://angular.dev/api/core/ComponentRef#setInput)\n */\n inputs: TInputs\n /**\n * Component instance outputs.\n */\n outputs?: TOutputs\n /**\n * Optional {@link Injector} that will be used when rendering the component\n */\n injector?: Injector\n}\n\ninterface FlexRenderOptions<\n TInputs extends Record<string, any>,\n TOutputs extends Record<string, any>,\n> {\n /**\n * Component instance inputs. They will be set via [componentRef.setInput API](https://angular.dev/api/core/ComponentRef#setInput)\n */\n inputs?: TInputs\n /**\n * Component instance outputs.\n */\n outputs?: TOutputs\n /**\n * Optional {@link Injector} that will be used when rendering the component\n */\n injector?: Injector\n}\n\n/**\n * Helper function to create a [@link FlexRenderComponent] instance, with better type-safety.\n *\n * - options object must be passed when the given component instance contains at least one required signal input.\n * - options/inputs is typed with the given component inputs\n * - options/outputs is typed with the given component outputs\n */\nexport function flexRenderComponent<\n TComponent = any,\n TInputs extends Inputs<TComponent> = Inputs<TComponent>,\n TOutputs extends Outputs<TComponent> = Outputs<TComponent>,\n>(\n component: Type<TComponent>,\n ...options: OptionalKeys<TInputs> extends never\n ? [FlexRenderOptions<TInputs, TOutputs>?]\n : [FlexRenderRequiredOptions<TInputs, TOutputs>]\n) {\n const { inputs, injector, outputs } = options?.[0] ?? {}\n return new FlexRenderComponent(component, inputs, injector, outputs)\n}\n\n/**\n * Wrapper class for a component that will be used as content for {@link FlexRenderDirective}\n *\n * Prefer {@link flexRenderComponent} helper for better type-safety\n */\nexport class FlexRenderComponent<TComponent = any> {\n readonly mirror: ComponentMirror<TComponent>\n readonly allowedInputNames: string[] = []\n readonly allowedOutputNames: string[] = []\n\n constructor(\n readonly component: Type<TComponent>,\n readonly inputs?: Inputs<TComponent>,\n readonly injector?: Injector,\n readonly outputs?: Outputs<TComponent>\n ) {\n const mirror = reflectComponentType(component)\n if (!mirror) {\n throw new Error(\n `[@tanstack-table/angular] The provided symbol is not a component`\n )\n }\n this.mirror = mirror\n for (const input of this.mirror.inputs) {\n this.allowedInputNames.push(input.propName)\n }\n for (const output of this.mirror.outputs) {\n this.allowedOutputNames.push(output.propName)\n }\n }\n}\n","import {\n ChangeDetectorRef,\n ComponentRef,\n inject,\n Injectable,\n Injector,\n KeyValueDiffer,\n KeyValueDiffers,\n OutputEmitterRef,\n OutputRefSubscription,\n ViewContainerRef,\n} from '@angular/core'\nimport { FlexRenderComponent } from './flex-render-component'\n\n@Injectable()\nexport class FlexRenderComponentFactory {\n #viewContainerRef = inject(ViewContainerRef)\n\n createComponent<T>(\n flexRenderComponent: FlexRenderComponent<T>,\n componentInjector: Injector\n ): FlexRenderComponentRef<T> {\n const componentRef = this.#viewContainerRef.createComponent(\n flexRenderComponent.component,\n {\n injector: componentInjector,\n }\n )\n const view = new FlexRenderComponentRef(\n componentRef,\n flexRenderComponent,\n componentInjector\n )\n\n const { inputs, outputs } = flexRenderComponent\n\n if (inputs) view.setInputs(inputs)\n if (outputs) view.setOutputs(outputs)\n\n return view\n }\n}\n\nexport class FlexRenderComponentRef<T> {\n readonly #keyValueDiffersFactory: KeyValueDiffers\n #componentData: FlexRenderComponent<T>\n #inputValueDiffer: KeyValueDiffer<string, unknown>\n\n readonly #outputRegistry: FlexRenderComponentOutputManager\n\n constructor(\n readonly componentRef: ComponentRef<T>,\n componentData: FlexRenderComponent<T>,\n readonly componentInjector: Injector\n ) {\n this.#componentData = componentData\n this.#keyValueDiffersFactory = componentInjector.get(KeyValueDiffers)\n\n this.#outputRegistry = new FlexRenderComponentOutputManager(\n this.#keyValueDiffersFactory,\n this.outputs\n )\n\n this.#inputValueDiffer = this.#keyValueDiffersFactory\n .find(this.inputs)\n .create()\n this.#inputValueDiffer.diff(this.inputs)\n\n this.componentRef.onDestroy(() => this.#outputRegistry.unsubscribeAll())\n }\n\n get component() {\n return this.#componentData.component\n }\n\n get inputs() {\n return this.#componentData.inputs ?? {}\n }\n\n get outputs() {\n return this.#componentData.outputs ?? {}\n }\n\n /**\n * Get component input and output diff by the given item\n */\n diff(item: FlexRenderComponent<T>) {\n return {\n inputDiff: this.#inputValueDiffer.diff(item.inputs ?? {}),\n outputDiff: this.#outputRegistry.diff(item.outputs ?? {}),\n }\n }\n /**\n *\n * @param compare Whether the current ref component instance is the same as the given one\n */\n eqType(compare: FlexRenderComponent<T>): boolean {\n return compare.component === this.component\n }\n\n /**\n * Tries to update current component refs input by the new given content component.\n */\n update(content: FlexRenderComponent<T>) {\n const eq = this.eqType(content)\n if (!eq) return\n const { inputDiff, outputDiff } = this.diff(content)\n if (inputDiff) {\n inputDiff.forEachAddedItem(item =>\n this.setInput(item.key, item.currentValue)\n )\n inputDiff.forEachChangedItem(item =>\n this.setInput(item.key, item.currentValue)\n )\n inputDiff.forEachRemovedItem(item => this.setInput(item.key, undefined))\n }\n if (outputDiff) {\n outputDiff.forEachAddedItem(item => {\n this.setOutput(item.key, item.currentValue)\n })\n outputDiff.forEachChangedItem(item => {\n if (item.currentValue) {\n this.#outputRegistry.setListener(item.key, item.currentValue)\n } else {\n this.#outputRegistry.unsubscribe(item.key)\n }\n })\n outputDiff.forEachRemovedItem(item => {\n this.#outputRegistry.unsubscribe(item.key)\n })\n }\n\n this.#componentData = content\n }\n\n markAsDirty(): void {\n this.componentRef.injector.get(ChangeDetectorRef).markForCheck()\n }\n\n setInputs(inputs: Record<string, unknown>) {\n for (const prop in inputs) {\n this.setInput(prop, inputs[prop])\n }\n }\n\n setInput(key: string, value: unknown) {\n if (this.#componentData.allowedInputNames.includes(key)) {\n this.componentRef.setInput(key, value)\n }\n }\n\n setOutputs(\n outputs: Record<\n string,\n OutputEmitterRef<unknown>['emit'] | null | undefined\n >\n ) {\n this.#outputRegistry.unsubscribeAll()\n for (const prop in outputs) {\n this.setOutput(prop, outputs[prop])\n }\n }\n\n setOutput(\n outputName: string,\n emit: OutputEmitterRef<unknown>['emit'] | undefined | null\n ): void {\n if (!this.#componentData.allowedOutputNames.includes(outputName)) return\n if (!emit) {\n this.#outputRegistry.unsubscribe(outputName)\n return\n }\n\n const hasListener = this.#outputRegistry.hasListener(outputName)\n this.#outputRegistry.setListener(outputName, emit)\n\n if (hasListener) {\n return\n }\n\n const instance = this.componentRef.instance\n const output = instance[outputName as keyof typeof instance]\n if (output && output instanceof OutputEmitterRef) {\n output.subscribe(value => {\n this.#outputRegistry.getListener(outputName)?.(value)\n })\n }\n }\n}\n\nclass FlexRenderComponentOutputManager {\n readonly #outputSubscribers: Record<string, OutputRefSubscription> = {}\n readonly #outputListeners: Record<string, (...args: any[]) => void> = {}\n\n readonly #valueDiffer: KeyValueDiffer<\n string,\n undefined | null | OutputEmitterRef<unknown>['emit']\n >\n\n constructor(keyValueDiffers: KeyValueDiffers, initialOutputs: any) {\n this.#valueDiffer = keyValueDiffers.find(initialOutputs).create()\n if (initialOutputs) {\n this.#valueDiffer.diff(initialOutputs)\n }\n }\n\n hasListener(outputName: string) {\n return outputName in this.#outputListeners\n }\n\n setListener(outputName: string, callback: (...args: any[]) => void) {\n this.#outputListeners[outputName] = callback\n }\n\n getListener(outputName: string) {\n return this.#outputListeners[outputName]\n }\n\n unsubscribeAll(): void {\n for (const prop in this.#outputSubscribers) {\n this.unsubscribe(prop)\n }\n }\n\n unsubscribe(outputName: string) {\n if (outputName in this.#outputSubscribers) {\n this.#outputSubscribers[outputName]?.unsubscribe()\n delete this.#outputSubscribers[outputName]\n delete this.#outputListeners[outputName]\n }\n }\n\n diff(outputs: Record<string, OutputEmitterRef<unknown>['emit'] | undefined>) {\n return this.#valueDiffer.diff(outputs ?? {})\n }\n}\n","import { FlexRenderComponentRef } from './flex-render-component-ref'\nimport { EmbeddedViewRef, TemplateRef, Type } from '@angular/core'\nimport type { FlexRenderContent } from '../flex-render'\nimport { FlexRenderComponent } from './flex-render-component'\n\nexport type FlexRenderTypedContent =\n | { kind: 'null' }\n | {\n kind: 'primitive'\n content: string | number | Record<string, any>\n }\n | { kind: 'flexRenderComponent'; content: FlexRenderComponent<unknown> }\n | { kind: 'templateRef'; content: TemplateRef<unknown> }\n | { kind: 'component'; content: Type<unknown> }\n\nexport function mapToFlexRenderTypedContent(\n content: FlexRenderContent<any>\n): FlexRenderTypedContent {\n if (content === null || content === undefined) {\n return { kind: 'null' }\n }\n if (typeof content === 'string' || typeof content === 'number') {\n return { kind: 'primitive', content }\n }\n if (content instanceof FlexRenderComponent) {\n return { kind: 'flexRenderComponent', content }\n } else if (content instanceof TemplateRef) {\n return { kind: 'templateRef', content }\n } else if (content instanceof Type) {\n return { kind: 'component', content }\n } else {\n return { kind: 'primitive', content }\n }\n}\n\nexport abstract class FlexRenderView<\n TView extends FlexRenderComponentRef<any> | EmbeddedViewRef<unknown> | null,\n> {\n readonly view: TView\n #previousContent: FlexRenderTypedContent | undefined\n #content: FlexRenderTypedContent\n\n protected constructor(\n initialContent: Exclude<FlexRenderTypedContent, { kind: 'null' }>,\n view: TView\n ) {\n this.#content = initialContent\n this.view = view\n }\n\n get previousContent(): FlexRenderTypedContent {\n return this.#previousContent ?? { kind: 'null' }\n }\n\n get content() {\n return this.#content\n }\n\n set content(content: FlexRenderTypedContent) {\n this.#previousContent = this.#content\n this.#content = content\n }\n\n abstract updateProps(props: Record<string, any>): void\n\n abstract dirtyCheck(): void\n\n abstract onDestroy(callback: Function): void\n}\n\nexport class FlexRenderTemplateView extends FlexRenderView<\n EmbeddedViewRef<unknown>\n> {\n constructor(\n initialContent: Extract<\n FlexRenderTypedContent,\n { kind: 'primitive' | 'templateRef' }\n >,\n view: EmbeddedViewRef<unknown>\n ) {\n super(initialContent, view)\n }\n\n override updateProps(props: Record<string, any>) {\n this.view.markForCheck()\n }\n\n override dirtyCheck() {\n // Basically a no-op. When the view is created via EmbeddedViewRef, we don't need to do any manual update\n // since this type of content has a proxy as a context, then every time the root component is checked for changes,\n // the property getter will be re-evaluated.\n //\n // If in a future we need to manually mark the view as dirty, just uncomment next line\n // this.view.markForCheck()\n }\n\n override onDestroy(callback: Function) {\n this.view.onDestroy(callback)\n }\n}\n\nexport class FlexRenderComponentView extends FlexRenderView<\n FlexRenderComponentRef<unknown>\n> {\n constructor(\n initialContent: Extract<\n FlexRenderTypedContent,\n { kind: 'component' | 'flexRenderComponent' }\n >,\n view: FlexRenderComponentRef<unknown>\n ) {\n super(initialContent, view)\n }\n\n override updateProps(props: Record<string, any>) {\n switch (this.content.kind) {\n case 'component': {\n this.view.setInputs(props)\n break\n }\n case 'flexRenderComponent': {\n // No-op. When FlexRenderFlags.PropsReferenceChanged is set,\n // FlexRenderComponent will be updated into `dirtyCheck`.\n break\n }\n }\n }\n\n override dirtyCheck() {\n switch (this.content.kind) {\n case 'component': {\n // Component context is currently valuated with the cell context. Since it's reference\n // shouldn't change, we force mark the component as dirty in order to re-evaluate function invocation in view.\n // NOTE: this should behave like having a component with ChangeDetectionStrategy.Default\n this.view.markAsDirty()\n break\n }\n case 'flexRenderComponent': {\n // Given context instance will always have a different reference than the previous one,\n // so instead of recreating the entire view, we will only update the current view\n if (this.view.eqType(this.content.content)) {\n this.view.update(this.content.content)\n }\n this.view.markAsDirty()\n break\n }\n }\n }\n\n override onDestroy(callback: Function) {\n this.view.componentRef.onDestroy(callback)\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n DoCheck,\n effect,\n type EffectRef,\n Inject,\n inject,\n Injector,\n Input,\n OnChanges,\n runInInjectionContext,\n SimpleChanges,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core'\nimport { FlexRenderComponentProps } from './flex-render/context'\nimport { FlexRenderFlags } from './flex-render/flags'\nimport {\n flexRenderComponent,\n FlexRenderComponent,\n} from './flex-render/flex-render-component'\nimport { FlexRenderComponentFactory } from './flex-render/flex-render-component-ref'\nimport {\n FlexRenderComponentView,\n FlexRenderTemplateView,\n type FlexRenderTypedContent,\n FlexRenderView,\n mapToFlexRenderTypedContent,\n} from './flex-render/view'\nimport { memo } from '@tanstack/table-core'\n\nexport {\n injectFlexRenderContext,\n type FlexRenderComponentProps,\n} from './flex-render/context'\n\nexport type FlexRenderContent<TProps extends NonNullable<unknown>> =\n | string\n | number\n | Type<TProps>\n | FlexRenderComponent<TProps>\n | TemplateRef<{ $implicit: TProps }>\n | null\n | Record<any, any>\n | undefined\n\n@Directive({\n selector: '[flexRender]',\n standalone: true,\n providers: [FlexRenderComponentFactory],\n})\nexport class FlexRenderDirective<TProps extends NonNullable<unknown>>\n implements OnChanges, DoCheck\n{\n readonly #flexRenderComponentFactory = inject(FlexRenderComponentFactory)\n readonly #changeDetectorRef = inject(ChangeDetectorRef)\n\n @Input({ required: true, alias: 'flexRender' })\n content:\n | number\n | string\n | ((props: TProps) => FlexRenderContent<TProps>)\n | null\n | undefined = undefined\n\n @Input({ required: true, alias: 'flexRenderProps' })\n props: TProps = {} as TProps\n\n @Input({ required: false, alias: 'flexRenderInjector' })\n injector: Injector = inject(Injector)\n\n renderFlags = FlexRenderFlags.ViewFirstRender\n renderView: FlexRenderView<any> | null = null\n\n readonly #latestContent = () => {\n const { content, props } = this\n return typeof content !== 'function'\n ? content\n : runInInjectionContext(this.injector, () => content(props))\n }\n\n #getContentValue = memo(\n () => [this.#latestContent(), this.props, this.content],\n latestContent => {\n return mapToFlexRenderTypedContent(latestContent)\n },\n { key: 'flexRenderContentValue', debug: () => false }\n )\n\n constructor(\n @Inject(ViewContainerRef)\n private readonly viewContainerRef: ViewContainerRef,\n @Inject(TemplateRef)\n private readonly templateRef: TemplateRef<any>\n ) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['props']) {\n this.renderFlags |= FlexRenderFlags.PropsReferenceChanged\n }\n if (changes['content']) {\n this.renderFlags |=\n FlexRenderFlags.ContentChanged | FlexRenderFlags.ViewFirstRender\n this.update()\n }\n }\n\n ngDoCheck(): void {\n if (this.renderFlags & FlexRenderFlags.ViewFirstRender) {\n // On the initial render, the view is created during the `ngOnChanges` hook.\n // Since `ngDoCheck` is called immediately afterward, there's no need to check for changes in this phase.\n this.renderFlags &= ~FlexRenderFlags.ViewFirstRender\n return\n }\n\n this.renderFlags |= FlexRenderFlags.DirtyCheck\n\n const latestContent = this.#getContentValue()\n if (latestContent.kind === 'null' || !this.renderView) {\n this.renderFlags |= FlexRenderFlags.ContentChanged\n } else {\n this.renderView.content = latestContent\n const { kind: previousKind } = this.renderView.previousContent\n if (latestContent.kind !== previousKind) {\n this.renderFlags |= FlexRenderFlags.ContentChanged\n }\n }\n this.update()\n }\n\n update() {\n if (\n this.renderFlags &\n (FlexRenderFlags.ContentChanged | FlexRenderFlags.ViewFirstRender)\n ) {\n this.render()\n return\n }\n if (this.renderFlags & FlexRenderFlags.PropsReferenceChanged) {\n if (this.renderView) this.renderView.updateProps(this.props)\n this.renderFlags &= ~FlexRenderFlags.PropsReferenceChanged\n }\n if (\n this.renderFlags &\n (FlexRenderFlags.DirtyCheck | FlexRenderFlags.DirtySignal)\n ) {\n if (this.renderView) this.renderView.dirtyCheck()\n this.renderFlags &= ~(\n FlexRenderFlags.DirtyCheck | FlexRenderFlags.DirtySignal\n )\n }\n }\n\n #currentEffectRef: EffectRef | null = null\n\n render() {\n if (this.#shouldRecreateEntireView() && this.#currentEffectRef) {\n this.#currentEffectRef.destroy()\n this.#currentEffectRef = null\n this.renderFlags &= ~FlexRenderFlags.RenderEffectChecked\n }\n\n this.viewContainerRef.clear()\n this.renderFlags =\n FlexRenderFlags.Pristine |\n (this.renderFlags & FlexRenderFlags.ViewFirstRender) |\n (this.renderFlags & FlexRenderFlags.RenderEffectChecked)\n\n const resolvedContent = this.#getContentValue()\n if (resolvedContent.kind === 'null') {\n this.renderView = null\n } else {\n this.renderView = this.#renderViewByContent(resolvedContent)\n }\n\n // If the content is a function `content(props)`, we initialize an effect\n // in order to react to changes if the given definition use signals.\n if (!this.#currentEffectRef && typeof this.content === 'function') {\n this.#currentEffectRef = effect(\n () => {\n this.#latestContent()\n if (!(this.renderFlags & FlexRenderFlags.RenderEffectChecked)) {\n this.renderFlags |= FlexRenderFlags.RenderEffectChecked\n return\n }\n this.renderFlags |= FlexRenderFlags.DirtySignal\n // This will mark the view as changed,\n // so we'll try to check for updates into ngDoCheck\n this.#changeDetectorRef.markForCheck()\n },\n { injector: this.viewContainerRef.injector }\n )\n }\n }\n\n #shouldRecreateEntireView() {\n return (\n this.renderFlags &\n FlexRenderFlags.ContentChanged &\n FlexRenderFlags.ViewFirstRender\n )\n }\n\n #renderViewByContent(\n content: FlexRenderTypedContent\n ): FlexRenderView<any> | null {\n if (content.kind === 'primitive') {\n return this.#renderStringContent(content)\n } else if (content.kind === 'templateRef') {\n return this.#renderTemplateRefContent(content)\n } else if (content.kind === 'flexRenderComponent') {\n return this.#renderComponent(content)\n } else if (content.kind === 'component') {\n return this.#renderCustomComponent(content)\n } else {\n return null\n }\n }\n\n #renderStringContent(\n template: Extract<FlexRenderTypedContent, { kind: 'primitive' }>\n ): FlexRenderTemplateView {\n const context = () => {\n return typeof this.content === 'string' ||\n typeof this.content === 'number'\n ? this.content\n : this.content?.(this.props)\n }\n const ref = this.viewContainerRef.createEmbeddedView(this.templateRef, {\n get $implicit() {\n return context()\n },\n })\n return new FlexRenderTemplateView(template, ref)\n }\n\n #renderTemplateRefContent(\n template: Extract<FlexRenderTypedContent, { kind: 'templateRef' }>\n ): FlexRenderTemplateView {\n const latestContext = () => this.props\n const view = this.viewContainerRef.createEmbeddedView(template.content, {\n get $implicit() {\n return latestContext()\n },\n })\n return new FlexRenderTemplateView(template, view)\n }\n\n #renderComponent(\n flexRenderComponent: Extract<\n FlexRenderTypedContent,\n { kind: 'flexRenderComponent' }\n >\n ): FlexRenderComponentView {\n const { inputs, outputs, injector } = flexRenderComponent.content\n\n const getContext = () => this.props\n const proxy = new Proxy(this.props, {\n get: (_, key) => getContext()[key as keyof typeof _],\n })\n const componentInjector = Injector.create({\n parent: injector ?? this.injector,\n providers: [{ provide: FlexRenderComponentProps, useValue: proxy }],\n })\n const view = this.#flexRenderComponentFactory.createComponent(\n flexRenderComponent.content,\n componentInjector\n )\n return new FlexRenderComponentView(flexRenderComponent, view)\n }\n\n #renderCustomComponent(\n component: Extract<FlexRenderTypedContent, { kind: 'component' }>\n ): FlexRenderComponentView {\n const view = this.#flexRenderComponentFactory.createComponent(\n flexRenderComponent(component.content, {\n inputs: this.props,\n injector: this.injector,\n }),\n this.injector\n )\n return new FlexRenderComponentView(component, view)\n }\n}\n","import { computed, type Signal, signal } from '@angular/core'\nimport {\n RowData,\n TableOptions,\n TableOptionsResolved,\n TableState,\n createTable,\n type Table,\n} from '@tanstack/table-core'\nimport { lazyInit } from './lazy-signal-initializer'\nimport { proxifyTable } from './proxy'\n\nexport * from '@tanstack/table-core'\n\nexport {\n type FlexRenderContent,\n FlexRenderDirective,\n FlexRenderDirective as FlexRender,\n injectFlexRenderContext,\n type FlexRenderComponentProps,\n} from './flex-render'\n\nexport {\n FlexRenderComponent,\n flexRenderComponent,\n} from './flex-render/flex-render-component'\n\nexport function createAngularTable<TData extends RowData>(\n options: () => TableOptions<TData>\n): Table<TData> & Signal<Table<TData>> {\n return lazyInit(() => {\n const resolvedOptions = {\n state: {},\n onStateChange: () => {},\n renderFallbackValue: null,\n ...options(),\n }\n\n const table = createTable(resolvedOptions)\n\n // By default, manage table state here using the table's initial state\n const state = signal<TableState>(table.initialState)\n\n // Compose table options using computed.\n // This is to allow `tableSignal` to listen and set table option\n const updatedOptions = computed<TableOptionsResolved<TData>>(() => {\n // listen to table state changed\n const tableState = state()\n // listen to input options changed\n const tableOptions = options()\n return {\n ...table.options,\n ...resolvedOptions,\n ...tableOptions,\n state: { ...tableState, ...tableOptions.state },\n onStateChange: updater => {\n const value =\n updater instanceof Function ? updater(tableState) : updater\n state.set(value)\n resolvedOptions.onStateChange?.(updater)\n },\n }\n })\n\n // convert table instance to signal for proxify to listen to any table state and options changes\n const tableSignal = computed(\n () => {\n table.setOptions(updatedOptions())\n return table\n },\n {\n equal: () => false,\n }\n )\n\n // proxify Table instance to provide ability for consumer to listen to any table state changes\n return proxifyTable(tableSignal)\n })\n}\n","/* eslint-disable jsdoc/require-jsdoc */\n/* eslint-disable jsdoc/require-returns */\n\nimport {\n Component,\n computed,\n input,\n TemplateRef,\n CUSTOM_ELEMENTS_SCHEMA,\n ContentChild,\n ContentChildren,\n QueryList,\n effect,\n signal,\n ElementRef,\n viewChild,\n AfterViewInit,\n OnDestroy,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n NvDatatableCellDirective,\n type NvDatatableCellContext,\n} from './nv-datatable-cell.directive';\nimport {\n createAngularTable,\n getCoreRowModel,\n getPaginationRowModel,\n FlexRenderDirective,\n type FlexRenderComponent,\n type ColumnDef,\n type CellContext,\n type PaginationState,\n} from './datatable.utils'; // local copy of @tanstack/angular-table (required for storybook, the built version is not working)\n\nexport type { CellContext as NvDatatableCellContext };\n\nexport { flexRenderComponent as nvDatatableRenderComponent } from './datatable.utils';\n\n/** Type definition for a datatable row. */\nexport type NvDatatableRow = Record<\n string,\n string | number | boolean | null | undefined | typeof Date\n>;\n\n/** Parameters for custom cell rendering function. */\nexport interface NvTableRenderCellParams<T extends NvDatatableRow, V> {\n value: V;\n row: T;\n field: keyof T;\n rowIndex: number;\n}\n\n/** Column definition for NvDatatable. */\nexport interface NvDatatableColumn<T extends NvDatatableRow> {\n field: keyof T;\n headerName?: string;\n width?: number;\n resizable?: boolean;\n hidden?: boolean;\n /**\n * Custom cell renderer function that can return either a string or Angular TemplateRef.\n * Use `$implicit` in your template to receive the CellContext.\n */\n renderCell?: (context: CellContext<T, unknown>) =>\n | string\n | FlexRenderComponent\n | TemplateRef<{\n $implicit: CellContext<T, unknown>;\n }>;\n}\n\n/**\n * Pagination configuration for NvDatatable.\n * Supports three modes: client-side, server-side with buttons, and infinite scroll.\n */\nexport interface NvDatatablePaginationConfig {\n /** Pagination mode */\n mode: 'client' | 'server' | 'infinite';\n /** Initial page size (default: 10) */\n initialPageSize?: number;\n /** Available page size options (default: [10, 20, 50, 100]) */\n pageSizeOptions?: number[];\n\n // Server-side (buttons) specific properties\n /** Total number of rows (for server-side pagination) */\n totalRowCount?: number;\n /** Total number of pages (for server-side pagination) */\n totalPageCount?: number;\n /** Callback when pagination state changes (for server-side pagination) */\n onPaginationChange?: (state: {\n /** Current page index */\n pageIndex: number;\n /** Current page size */\n pageSize: number;\n }) => void;\n\n // Infinite scroll specific properties\n /** Whether there are more items to load (for infinite scroll) */\n hasMore?: boolean;\n /** Whether data is currently loading (for infinite scroll) */\n isLoading?: boolean;\n /** Distance from bottom in pixels to trigger load (default: 500) */\n loadMoreThreshold?: number;\n /** Callback to load more data (for infinite scroll) */\n onLoadMore?: () => void;\n}\n\n/**\n * API exposed to pagination template for building custom pagination UI.\n */\nexport interface NvDatatableRenderPaginationAPI {\n /** Current page index (zero-based) */\n pageIndex: number;\n /** Current page size */\n pageSize: number;\n /** Total number of pages */\n pageCount: number;\n /** Total number of rows */\n rowCount: number;\n /** Navigate to first page */\n firstPage: () => void;\n /** Navigate to previous page */\n previousPage: () => void;\n /** Navigate to next page */\n nextPage: () => void;\n /** Navigate to last page */\n lastPage: () => void;\n /** Navigate to specific page by index */\n setPageIndex: (index: number) => void;\n /** Change page size */\n setPageSize: (size: number) => void;\n /** Whether previous page is available */\n canPreviousPage: boolean;\n /** Whether next page is available */\n canNextPage: boolean;\n /** Loading state (only for infinite scroll) */\n isLoading?: boolean;\n /** Whether more items are available (only for infinite scroll) */\n hasMore?: boolean;\n}\n\n/**\n * Nova Datatable built on TanStack Table (Angular).\n */\n@Component({\n selector: 'nv-datatable',\n standalone: true,\n imports: [CommonModule, FlexRenderDirective],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: `\n <nv-table>\n <table>\n <thead [attr.data-sticky-top]=\"stickyHeader() ? 'true' : null\">\n @for (headerGroup of table().getHeaderGroups(); track headerGroup.id)\n {\n <tr>\n @for (header of headerGroup.headers; track header.id) {\n <th\n [attr.data-testid]=\"'datatable-header-' + header.id\"\n [style.width]=\"\n header.column.columnDef.size\n ? header.column.columnDef.size + 'px'\n : null\n \"\n [attr.data-no-resize]=\"\n !header.column.columnDef.enableResizing ? 'true' : null\n \"\n >\n @if (!header.isPlaceholder) {\n {{ header.column.columnDef.header }}\n }\n </th>\n }\n </tr>\n }\n </thead>\n\n <tbody>\n @for (row of table().getRowModel().rows; track row.id; let i = $index)\n {\n <tr\n [attr.data-testid]=\"'datatable-row-' + row.id\"\n #tableRow\n [attr.data-is-last]=\"\n isInfiniteScroll() && i === table().getRowModel().rows.length - 1\n ? 'true'\n : null\n \"\n >\n @for (cell of row.getVisibleCells(); track cell.id) {\n <td [attr.data-testid]=\"'datatable-cell-' + cell.id\">\n <ng-container\n *flexRender=\"\n cell.column.columnDef.cell;\n props: cell.getContext();\n let cellContent\n \"\n >\n {{ cellContent }}\n </ng-container>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </nv-table>\n\n <!-- Render pagination if configured -->\n @if (paginationAPI()) {\n <ng-container\n *ngTemplateOutlet=\"\n paginationTemplate || null;\n context: { $implicit: paginationAPI() }\n \"\n ></ng-container>\n }\n `,\n})\nexport class NvDatatable<T extends NvDatatableRow = NvDatatableRow>\n implements AfterViewInit, OnDestroy\n{\n /** Column definitions */\n columns = input<NvDatatableColumn<T>[]>([]);\n /** Row data */\n rows = input<T[]>([]);\n /** Optional pagination configuration */\n pagination = input<NvDatatablePaginationConfig | undefined>(undefined);\n /** Should the header stick to the top of the table when scrolling? */\n stickyHeader = input<boolean>(false);\n\n /** Template for custom pagination UI */\n @ContentChild('paginationTemplate', { read: TemplateRef })\n paginationTemplate?: TemplateRef<{\n $implicit: NvDatatableRenderPaginationAPI;\n }>;\n\n /** Cell templates provided via nvDatatableCell directive */\n @ContentChildren(NvDatatableCellDirective)\n cellTemplates?: QueryList<NvDatatableCellDirective<T>>;\n\n /** Signal to track cell templates array */\n private cellTemplatesSignal = signal<NvDatatableCellDirective<T>[]>([]);\n\n /** Map of field names to cell templates */\n private cellTemplateMap = computed(() => {\n const map = new Map<string, TemplateRef<NvDatatableCellContext<T>>>();\n this.cellTemplatesSignal().forEach((directive) => {\n map.set(directive.nvDatatableCell, directive.template);\n });\n return map;\n });\n\n /** Pagination state for server mode */\n private paginationState = signal<PaginationState>({\n pageIndex: 0,\n pageSize: this.pagination()?.initialPageSize || 10,\n });\n\n /** Reference to table rows for infinite scroll observer */\n private tableRows = viewChild<ElementRef>('tableRow');\n\n /** Intersection observer for infinite scroll */\n private observer: IntersectionObserver | null = null;\n\n /** Helper to check if using infinite scroll */\n isInfiniteScroll = computed(() => this.pagination()?.mode === 'infinite');\n\n /** Computed table columns with proper typing and filtering. */\n tableColumns = computed<ColumnDef<T>[]>(() => {\n const templateMap = this.cellTemplateMap();\n\n return this.columns()\n .filter((col) => !col.hidden)\n .map((col) => ({\n accessorKey: col.field as string,\n header: col.headerName || String(col.field),\n size: col.width,\n enableResizing: col.resizable ?? true,\n cell: (context: CellContext<T, unknown>) => {\n const fieldName = String(col.field);\n const cellTemplate = templateMap.get(fieldName);\n\n // Priority: template > renderCell > default\n if (cellTemplate) {\n // Return TemplateRef directly - FlexRender will handle it\n return cellTemplate;\n }\n\n // Fall back to renderCell if provided\n if (col.renderCell) {\n return col.renderCell(context);\n }\n\n // Default: just return the value\n return context.getValue();\n },\n }));\n });\n\n /** TanStack table instance with Signals */\n private tableInstance = createAngularTable(() => {\n const paginationConfig = this.pagination();\n\n if (!paginationConfig || paginationConfig.mode === 'infinite') {\n // No pagination or infinite scroll - simple config\n return {\n data: this.rows(),\n columns: this.tableColumns(),\n getCoreRowModel: getCoreRowModel(),\n };\n } else if (paginationConfig.mode === 'client') {\n // Client-side pagination\n return {\n data: this.rows(),\n columns: this.tableColumns(),\n getCoreRowModel: getCoreRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n initialState: {\n pagination: {\n pageIndex: 0,\n pageSize: paginationConfig.initialPageSize || 10,\n },\n },\n };\n } else {\n // Server-side pagination\n const pageSize = this.paginationState().pageSize;\n return {\n data: this.rows(),\n columns: this.tableColumns(),\n getCoreRowModel: getCoreRowModel(),\n manualPagination: true,\n pageCount:\n paginationConfig.totalPageCount !== undefined\n ? paginationConfig.totalPageCount\n : paginationConfig.totalRowCount !== undefined\n ? Math.ceil(paginationConfig.totalRowCount / pageSize)\n : -1,\n state: {\n pagination: this.paginationState(),\n },\n onPaginationChange: (\n updaterOrValue:\n | PaginationState\n | ((old: PaginationState) => PaginationState),\n ) => {\n if (typeof updaterOrValue === 'function') {\n this.paginationState.set(updaterOrValue(this.paginationState()));\n } else {\n this.paginationState.set(updaterOrValue);\n }\n },\n };\n }\n });\n\n /** Public getter for table instance. */\n table() {\n return this.tableInstance();\n }\n\n /** Build pagination API for template */\n paginationAPI = computed<NvDatatableRenderPaginationAPI | null>(() => {\n const paginationConfig = this.pagination();\n if (!paginationConfig) {\n return null;\n }\n\n const table = this.table();\n const tablePaginationState = table.getState().pagination;\n const pageCount = table.getPageCount();\n const rowCount =\n paginationConfig.mode === 'server'\n ? paginationConfig.totalRowCount || this.rows().length\n : this.rows().length;\n\n return {\n pageIndex: tablePaginationState.pageIndex,\n pageSize: tablePaginationState.pageSize,\n pageCount,\n rowCount,\n firstPage: () => table.setPageIndex(0),\n previousPage: () => table.previousPage(),\n nextPage: () => table.nextPage(),\n lastPage: () => table.setPageIndex(pageCount - 1),\n setPageIndex: (index: number) => table.setPageIndex(index),\n setPageSize: (size: number) => table.setPageSize(size),\n canPreviousPage: table.getCanPreviousPage(),\n canNextPage: table.getCanNextPage(),\n isLoading:\n paginationConfig.mode === 'infinite'\n ? paginationConfig.isLoading\n : undefined,\n hasMore:\n paginationConfig.mode === 'infinite'\n ? paginationConfig.hasMore\n : undefined,\n };\n });\n\n constructor() {\n // Watch pagination state changes for server mode\n effect(\n () => {\n const paginationConfig = this.pagination();\n const state = this.paginationState();\n\n if (\n paginationConfig?.mode === 'server' &&\n paginationConfig.onPaginationChange\n ) {\n paginationConfig.onPaginationChange({\n pageIndex: state.pageIndex,\n pageSize: state.pageSize,\n });\n }\n },\n { allowSignalWrites: true },\n );\n\n // Set up intersection observer for infinite scroll\n effect(\n () => {\n const paginationConfig = this.pagination();\n const rows = this.rows(); // Track rows changes\n\n // Clean up existing observer\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n\n // Only set up observer for infinite scroll mode\n if (paginationConfig?.mode !== 'infinite' || rows.length === 0) {\n return;\n }\n\n // Use setTimeout to ensure DOM is updated\n setTimeout(() => {\n const threshold = paginationConfig.loadMoreThreshold || 500;\n\n // Find the last row element\n const tableRowElements = document.querySelectorAll(\n '[data-is-last=\"true\"]',\n );\n const lastRowElement = tableRowElements[tableRowElements.length - 1];\n\n if (!lastRowElement) {\n return;\n }\n\n this.observer = new IntersectionObserver(\n (entries) => {\n const entry = entries[0];\n if (\n entry.isIntersecting &&\n paginationConfig.mode === 'infinite' &&\n paginationConfig.hasMore &&\n !paginationConfig.isLoading &&\n paginationConfig.onLoadMore\n ) {\n paginationConfig.onLoadMore();\n }\n },\n {\n rootMargin: `${threshold}px`,\n root: null,\n },\n );\n\n this.observer.observe(lastRowElement);\n }, 0);\n },\n { allowSignalWrites: true },\n );\n }\n\n ngAfterViewInit(): void {\n // Sync cell templates QueryList to signal\n if (this.cellTemplates) {\n this.cellTemplatesSignal.set(this.cellTemplates.toArray());\n\n // Subscribe to changes in the QueryList\n this.cellTemplates.changes.subscribe(() => {\n if (this.cellTemplates) {\n this.cellTemplatesSignal.set(this.cellTemplates.toArray());\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n }\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\n@Directive({})\nexport class ValueAccessor implements ControlValueAccessor {\n private onChange: (value: unknown) => void = () => {};\n private onTouched: () => void = () => {};\n protected lastValue: unknown = null;\n\n constructor(protected el: ElementRef) {}\n\n writeValue(value: unknown) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n\n handleChangeEvent(value: unknown) {\n if (value !== this.lastValue) {\n this.lastValue = value;\n this.onChange(value);\n }\n }\n\n @HostListener('focusout')\n _handleBlurEvent() {\n this.onTouched();\n }\n\n registerOnChange(fn: (value: unknown) => void) {\n this.onChange = fn;\n }\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.el.nativeElement.disabled = isDisabled;\n }\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ValueAccessor } from '../value-accessor';\n\n@Directive({\n selector: 'nv-accordion',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvAccordionValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvAccordionValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('openIndexesChanged', ['$event'])\n handleOpenIndexesChanged(event: any) {\n this.handleChangeEvent(event.target.openIndexes)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.openIndexes = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-alert',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvAlertValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvAlertValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('hiddenChanged', ['$event'])\n handleHiddenChanged(event: any) {\n this.handleChangeEvent(event.target.hidden)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.hidden = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-calendar',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvCalendarValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvCalendarValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-datagrid',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvDatagridValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvDatagridValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('stateChanged', ['$event'])\n handleStateChanged(event: any) {\n this.handleChangeEvent(event.target.state)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.state = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-dialog',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvDialogValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvDialogValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('openChanged', ['$event'])\n handleOpenChanged(event: any) {\n this.handleChangeEvent(event.target.open)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.open = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldcheckbox',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldcheckboxValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldcheckboxValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('checkedChanged', ['$event'])\n handleCheckedChanged(event: any) {\n this.handleChangeEvent(event.target.checked)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.checked = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fielddate',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFielddateValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFielddateValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fielddaterange',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFielddaterangeValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFielddaterangeValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fielddropdown',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFielddropdownValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFielddropdownValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldmultiselect',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldmultiselectValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldmultiselectValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldnumber',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldnumberValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldnumberValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldpassword',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldpasswordValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldpasswordValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldradio',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldradioValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldradioValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('checkedChanged', ['$event'])\n handleCheckedChanged(event: any) {\n this.handleChangeEvent(event.target.checked)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.checked = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldselect',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldselectValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldselectValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldslider',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldsliderValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldsliderValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldtext',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldtextValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldtextValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldtextarea',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldtextareaValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldtextareaValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-notification',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvNotificationValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvNotificationValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('hiddenChanged', ['$event'])\n handleHiddenChanged(event: any) {\n this.handleChangeEvent(event.target.hidden)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.hidden = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-popover',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvPopoverValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvPopoverValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('openChanged', ['$event'])\n handleOpenChanged(event: any) {\n this.handleChangeEvent(event.target.open)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.open = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-split',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvSplitValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvSplitValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('sizesChanged', ['$event'])\n handleSizesChanged(event: any) {\n this.handleChangeEvent(event.target.sizes)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.sizes = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-toggle',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvToggleValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvToggleValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('checkedChanged', ['$event'])\n handleCheckedChanged(event: any) {\n this.handleChangeEvent(event.target.checked)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.checked = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-togglebuttongroup',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvTogglebuttongroupValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvTogglebuttongroupValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n\nexport const VALUE_ACCESSORS = [\n NvAccordionValueAccessor,\n NvAlertValueAccessor,\n NvCalendarValueAccessor,\n NvDatagridValueAccessor,\n NvDialogValueAccessor,\n NvFieldcheckboxValueAccessor,\n NvFielddateValueAccessor,\n NvFielddaterangeValueAccessor,\n NvFielddropdownValueAccessor,\n NvFieldmultiselectValueAccessor,\n NvFieldnumberValueAccessor,\n NvFieldpasswordValueAccessor,\n NvFieldradioValueAccessor,\n NvFieldselectValueAccessor,\n NvFieldsliderValueAccessor,\n NvFieldtextValueAccessor,\n NvFieldtextareaValueAccessor,\n NvNotificationValueAccessor,\n NvPopoverValueAccessor,\n NvSplitValueAccessor,\n NvToggleValueAccessor,\n NvTogglebuttongroupValueAccessor,\n];","import { APP_INITIALIZER, NgModule, type Provider } from '@angular/core';\nimport { defineCustomElements } from '@nova-design-system/nova-webcomponents/loader';\n\nimport { DIRECTIVES } from './stencil-generated';\nimport { NvDatatable } from './components/index';\nimport { VALUE_ACCESSORS } from './stencil-generated/component-value-accessors';\n\n/**\n * Initialize the Nova Components\n *\n * @returns {Provider} - The provider to be used for nova components\n */\nexport function provideNovaComponents(): Provider {\n return {\n provide: APP_INITIALIZER,\n useFactory: () => defineCustomElements,\n multi: true,\n };\n}\n\n@NgModule({\n imports: [NvDatatable],\n declarations: [...DIRECTIVES],\n exports: [...DIRECTIVES, NvDatatable],\n providers: [provideNovaComponents()],\n})\nexport class NovaComponentsModule {}\n\n@NgModule({\n declarations: [...VALUE_ACCESSORS],\n exports: [...VALUE_ACCESSORS],\n})\nexport class NovaComponentsValueAccessorModule {}\n","import { Injectable, type Type } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport {\n NotificationEmphasis,\n FeedbackColors,\n} from '@nova-design-system/nova-webcomponents';\n\n/**\n * Action callbacks for notifications. Will render buttons automatically.\n */\nexport interface NotificationAction {\n /** The label of the action. */\n label: string;\n /** The callback to execute when the action is clicked. */\n onClick: () => void;\n}\n\n/**\n * Options for creating a notification.\n */\nexport interface NotificationOptions {\n /** Unique identifier for the notification. If not provided, one will be generated. */\n id?: string;\n /** Short and concise text for the notification heading. */\n heading?: string;\n /** Main content of the notification. */\n message?: string;\n /** Whether the notification can be manually dismissed via close button. */\n dismissible?: boolean;\n /** Adjusts the emphasis to make the notification more or less visually\n * prominent to users. Use this to draw attention to important actions or\n * reduce focus on less critical ones */\n emphasis?: `${NotificationEmphasis}`;\n /** Type of the notification, used to determine the color and default icon. */\n feedback?: `${FeedbackColors}`;\n /** Custom icon name to override the default icon. */\n icon?: string;\n /** Notification actions */\n actions?: NotificationAction[];\n /** Custom components for the notification actions. */\n actionSlot?: Type<unknown>;\n}\n\n/**\n * A notification with all required fields populated.\n */\nexport interface Notification extends NotificationOptions {\n /** Timestamp when the notification was created. */\n createdAt: number;\n}\n\n/**\n * Configuration options for the NotificationService.\n */\nexport interface NotificationServiceConfig {\n /** Position of the notification container on the screen. */\n position?: string;\n /** Maximum number of notifications to display at once. */\n maxNotifications?: number;\n /** Additional CSS class name for the notification container. */\n className?: string;\n}\n\n/**\n * Utility function to generate unique IDs.\n *\n * @returns {string} A unique identifier string\n */\nconst generateId = (): string => {\n return `notification-${Date.now()}-${Math.random()\n .toString(36)\n .substr(2, 9)}`;\n};\n\n/**\n * Angular service for managing notifications.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class NotificationService {\n private readonly _notifications = new BehaviorSubject<Notification[]>([]);\n private readonly _config: Required<NotificationServiceConfig>;\n\n /**\n * Observable stream of active notifications.\n */\n public readonly notifications$: Observable<Notification[]> =\n this._notifications.asObservable();\n\n /**\n * Current array of notifications.\n *\n * @returns {Notification[]} Array of active notifications\n */\n public get notifications(): Notification[] {\n return this._notifications.value;\n }\n\n constructor() {\n this._config = {\n position: 'top-right',\n maxNotifications: 50,\n className: '',\n };\n }\n\n /**\n * Configure the notification service.\n *\n * @param {NotificationServiceConfig} config Configuration options\n */\n configure(config: NotificationServiceConfig): void {\n Object.assign(this._config, config);\n }\n\n /**\n * Get the current configuration.\n *\n * @returns {Required<NotificationServiceConfig>} Current configuration\n */\n get config(): Required<NotificationServiceConfig> {\n return { ...this._config };\n }\n\n // keep track of all notification refs\n private elRefs = new Map<string, HTMLNvNotificationElement>();\n registerRef(id: string, el: HTMLNvNotificationElement): void {\n this.elRefs.set(id, el);\n }\n unregisterRef(id: string): void {\n this.elRefs.delete(id);\n }\n clearRefs() {\n this.elRefs.clear();\n }\n\n /**\n * Show a new notification.\n *\n * @param {NotificationOptions} options The notification options\n * @returns {string} The notification ID\n */\n show(options: NotificationOptions): string {\n const id = options.id || generateId();\n\n const notification: Notification = {\n id,\n heading: options.heading,\n message: options.message,\n dismissible: options.dismissible ?? true,\n emphasis: options.emphasis ?? 'medium',\n feedback: options.feedback ?? 'information',\n icon: options.icon,\n actions: options.actions ?? [],\n actionSlot: options.actionSlot,\n createdAt: Date.now(),\n };\n\n const currentNotifications = this._notifications.value;\n\n // Remove oldest notifications if we exceed max\n const newNotifications = [notification, ...currentNotifications];\n if (newNotifications.length > this._config.maxNotifications) {\n this._notifications.next(\n newNotifications.slice(0, this._config.maxNotifications),\n );\n } else {\n this._notifications.next(newNotifications);\n }\n\n setTimeout(() => {\n const ref = this.elRefs.get(id) as HTMLNvNotificationElement | undefined;\n ref?.show();\n }, 0);\n\n return id;\n }\n\n /**\n * Dismiss a specific notification by ID. This will remove the notification\n * after the animation completes.\n *\n * @param {string} id The notification ID to dismiss\n */\n dismiss(id: string): void {\n this.elRefs.get(id)?.dismiss?.();\n }\n\n /**\n * Immediately remove a specific notification by ID.\n *\n * @param {string} id The notification ID to dismiss\n */\n remove(id: string): void {\n const currentNotifications = this._notifications.value;\n const filteredNotifications = currentNotifications.filter(\n (notification) => notification.id !== id,\n );\n this._notifications.next(filteredNotifications);\n }\n\n /**\n * Immediately remove all active notifications.\n */\n removeAll(): void {\n this._notifications.next([]);\n }\n}\n","import {\n Component,\n Input,\n OnDestroy,\n OnInit,\n ViewChildren,\n ElementRef,\n QueryList,\n CUSTOM_ELEMENTS_SCHEMA,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Subscription } from 'rxjs';\n// import { NovaComponentsModule } from '../nova-components.module';\nimport { NotificationService, type Notification } from './notification.service';\n\n/**\n * Angular component that renders the notification container with active notifications.\n */\n@Component({\n selector: 'nv-notification-service',\n standalone: true,\n imports: [CommonModule],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: `\n <nv-notificationcontainer\n [position]=\"position\"\n [class]=\"className\"\n data-testid=\"notification-container\"\n >\n <nv-notification\n *ngFor=\"\n let notification of notifications;\n trackBy: trackByNotificationId\n \"\n #notificationEl\n [attr.data-id]=\"notification.id\"\n [heading]=\"notification.heading\"\n [message]=\"notification.message\"\n [dismissible]=\"notification.dismissible\"\n [emphasis]=\"notification.emphasis\"\n [feedback]=\"notification.feedback\"\n [icon]=\"notification.icon\"\n [initiallyHidden]=\"true\"\n (hiddenChanged)=\"handleHiddenChanged($event, notification.id)\"\n >\n <!-- Actions slot content for the custom element -->\n <div\n slot=\"actions\"\n class=\"flex gap-2\"\n *ngIf=\"notification.actions?.length || notification.actionSlot\"\n >\n <!-- Config-driven actions -->\n <nv-button\n *ngFor=\"let action of notification.actions\"\n emphasis=\"low\"\n size=\"sm\"\n (click)=\"action.onClick()\"\n >\n {{ action.label }}\n </nv-button>\n\n <!-- Component-driven actions -->\n <ng-container\n *ngIf=\"notification.actionSlot\"\n [ngComponentOutlet]=\"notification.actionSlot\"\n ></ng-container>\n </div>\n </nv-notification>\n </nv-notificationcontainer>\n `,\n})\nexport class NotificationServiceComponent implements OnInit, OnDestroy {\n /**\n * Position of the notification container on the screen.\n */\n @Input() position?: string;\n\n /**\n * Additional CSS class name for the notification container.\n */\n @Input() className?: string;\n\n /**\n * Array of active notifications.\n */\n notifications: Notification[] = [];\n\n /**\n * References to the notification elements.\n */\n @ViewChildren('notificationEl', { read: ElementRef })\n private notificationEls!: QueryList<ElementRef<HTMLNvNotificationElement>>;\n\n private subscription?: Subscription;\n\n constructor(private notificationService: NotificationService) {}\n\n /**\n * Component initialization.\n */\n ngOnInit(): void {\n // Use service config if no input provided\n this.position ??= this.notificationService.config.position;\n this.className ??= this.notificationService.config.className;\n\n // Subscribe to notification changes\n this.subscription = this.notificationService.notifications$.subscribe(\n (list) => (this.notifications = list),\n );\n }\n\n /**\n * Synchronize notification elements/refs with the service.\n */\n ngAfterViewInit(): void {\n const sync = () => {\n this.notificationService.clearRefs();\n for (const elRef of this.notificationEls.toArray()) {\n const el = elRef.nativeElement;\n const id = el.getAttribute('data-id');\n if (id) this.notificationService.registerRef(id, el);\n }\n };\n sync();\n this.notificationEls.changes.subscribe(sync);\n }\n\n /**\n * Component cleanup.\n */\n ngOnDestroy(): void {\n this.subscription?.unsubscribe();\n this.notificationService.clearRefs();\n }\n\n /**\n * Track function for ngFor to optimize rendering.\n *\n * @param {number} index The index of the item\n * @param {Notification} notification The notification item\n * @returns {string} The notification ID\n */\n trackByNotificationId(index: number, notification: Notification) {\n return notification.id;\n }\n\n /**\n * Handle notification hidden state change.\n *\n * @param {CustomEvent<boolean>} event The hidden changed event\n * @param {string} id The notification ID\n */\n handleHiddenChanged(event: CustomEvent<boolean>, id?: string): void {\n if (event.detail && id) {\n this.notificationService.remove(id);\n }\n }\n}\n","/*\n * Public API Surface of nova-components\n */\n\nexport * from './lib/nova-components.module';\nexport * from './lib/stencil-generated/components';\nexport * from './lib/stencil-generated/component-value-accessors';\nexport * from './lib/providers';\nexport * from './lib/components';\nexport * from '@nova-design-system/nova-webcomponents/constants';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["d.NvAccordion","d.NvAccordionItem","d.NvAlert","d.NvAvatar","d.NvBadge","d.NvBreadcrumb","d.NvBreadcrumbs","d.NvButton","d.NvButtongroup","d.NvCalendar","d.NvCol","d.NvDatagrid","d.NvDatagridcolumn","d.NvDialog","d.NvDialogfooter","d.NvDialogheader","d.NvFieldcheckbox","d.NvFielddate","d.NvFielddaterange","d.NvFielddropdown","d.NvFielddropdownitem","d.NvFielddropdownitemcheck","d.NvFieldmultiselect","d.NvFieldnumber","d.NvFieldpassword","d.NvFieldradio","d.NvFieldselect","d.NvFieldslider","d.NvFieldtext","d.NvFieldtextarea","d.NvFieldtime","d.NvIcon","d.NvIconbutton","d.NvLoader","d.NvMenu","d.NvMenuitem","d.NvNotification","d.NvNotificationcontainer","d.NvPopover","d.NvRow","d.NvSplit","d.NvStack","d.NvTable","d.NvToggle","d.NvTogglebutton","d.NvTogglebuttongroup","d.NvTooltip","i1.NvAccordion","i1.NvAccordionItem","i1.NvAlert","i1.NvAvatar","i1.NvBadge","i1.NvBreadcrumb","i1.NvBreadcrumbs","i1.NvButton","i1.NvButtongroup","i1.NvCalendar","i1.NvCol","i1.NvDatagrid","i1.NvDatagridcolumn","i1.NvDialog","i1.NvDialogfooter","i1.NvDialogheader","i1.NvFieldcheckbox","i1.NvFielddate","i1.NvFielddaterange","i1.NvFielddropdown","i1.NvFielddropdownitem","i1.NvFielddropdownitemcheck","i1.NvFieldmultiselect","i1.NvFieldnumber","i1.NvFieldpassword","i1.NvFieldradio","i1.NvFieldselect","i1.NvFieldslider","i1.NvFieldtext","i1.NvFieldtextarea","i1.NvFieldtime","i1.NvIcon","i1.NvIconbutton","i1.NvLoader","i1.NvMenu","i1.NvMenuitem","i1.NvNotification","i1.NvNotificationcontainer","i1.NvPopover","i1.NvRow","i1.NvSplit","i1.NvStack","i1.NvTable","i1.NvToggle","i1.NvTogglebutton","i1.NvTogglebuttongroup","i1.NvTooltip","i2.NvAccordionValueAccessor","i2.NvAlertValueAccessor","i2.NvCalendarValueAccessor","i2.NvDatagridValueAccessor","i2.NvDialogValueAccessor","i2.NvFieldcheckboxValueAccessor","i2.NvFielddateValueAccessor","i2.NvFielddaterangeValueAccessor","i2.NvFielddropdownValueAccessor","i2.NvFieldmultiselectValueAccessor","i2.NvFieldnumberValueAccessor","i2.NvFieldpasswordValueAccessor","i2.NvFieldradioValueAccessor","i2.NvFieldselectValueAccessor","i2.NvFieldsliderValueAccessor","i2.NvFieldtextValueAccessor","i2.NvFieldtextareaValueAccessor","i2.NvNotificationValueAccessor","i2.NvPopoverValueAccessor","i2.NvSplitValueAccessor","i2.NvToggleValueAccessor","i2.NvTogglebuttongroupValueAccessor","i1.NotificationService"],"mappings":"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"}
1
+ {"version":3,"file":"nova-components.mjs","sources":["../../../projects/nova-components/src/lib/stencil-generated/angular-component-lib/utils.ts","../../../projects/nova-components/src/lib/stencil-generated/components.ts","../../../projects/nova-components/src/lib/stencil-generated/index.ts","../../../projects/nova-components/src/lib/components/nv-datatable-cell.directive.ts","../../../projects/nova-components/src/lib/components/datatable.utils/lazy-signal-initializer.ts","../../../projects/nova-components/src/lib/components/datatable.utils/proxy.ts","../../../projects/nova-components/src/lib/components/datatable.utils/flex-render/context.ts","../../../projects/nova-components/src/lib/components/datatable.utils/flex-render/flags.ts","../../../projects/nova-components/src/lib/components/datatable.utils/flex-render/flex-render-component.ts","../../../projects/nova-components/src/lib/components/datatable.utils/flex-render/flex-render-component-ref.ts","../../../projects/nova-components/src/lib/components/datatable.utils/flex-render/view.ts","../../../projects/nova-components/src/lib/components/datatable.utils/flex-render.ts","../../../projects/nova-components/src/lib/components/datatable.utils/index.ts","../../../projects/nova-components/src/lib/components/nv-datatable.component.ts","../../../projects/nova-components/src/lib/value-accessor.ts","../../../projects/nova-components/src/lib/stencil-generated/component-value-accessors.ts","../../../projects/nova-components/src/lib/nova-components.module.ts","../../../projects/nova-components/src/lib/providers/notification.service.ts","../../../projects/nova-components/src/lib/providers/notification-service.component.ts","../../../projects/nova-components/src/public-api.ts","../../../projects/nova-components/src/nova-components.ts"],"sourcesContent":["/* eslint-disable */\n/* tslint:disable */\nimport { fromEvent } from 'rxjs';\n\nexport const proxyInputs = (Cmp: any, inputs: string[]) => {\n const Prototype = Cmp.prototype;\n inputs.forEach((item) => {\n Object.defineProperty(Prototype, item, {\n get() {\n return this.el[item];\n },\n set(val: any) {\n this.z.runOutsideAngular(() => (this.el[item] = val));\n },\n /**\n * In the event that proxyInputs is called\n * multiple times re-defining these inputs\n * will cause an error to be thrown. As a result\n * we set configurable: true to indicate these\n * properties can be changed.\n */\n configurable: true,\n });\n });\n};\n\nexport const proxyMethods = (Cmp: any, methods: string[]) => {\n const Prototype = Cmp.prototype;\n methods.forEach((methodName) => {\n Prototype[methodName] = function () {\n const args = arguments;\n return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));\n };\n });\n};\n\nexport const proxyOutputs = (instance: any, el: any, events: string[]) => {\n events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));\n};\n\nexport const defineCustomElement = (tagName: string, customElement: any) => {\n if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {\n customElements.define(tagName, customElement);\n }\n};\n\n// tslint:disable-next-line: only-arrow-functions\nexport function ProxyCmp(opts: { defineCustomElementFn?: () => void; inputs?: any; methods?: any }) {\n const decorator = function (cls: any) {\n const { defineCustomElementFn, inputs, methods } = opts;\n\n if (defineCustomElementFn !== undefined) {\n defineCustomElementFn();\n }\n\n if (inputs) {\n proxyInputs(cls, inputs);\n }\n if (methods) {\n proxyMethods(cls, methods);\n }\n return cls;\n };\n return decorator;\n}\n","/* tslint:disable */\n/* auto-generated angular directive proxies */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, NgZone } from '@angular/core';\n\nimport { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';\n\nimport { Components } from '@nova-design-system/nova-webcomponents';\n\n\n@ProxyCmp({\n inputs: ['data', 'mode', 'openIndexes'],\n methods: ['open', 'close']\n})\n@Component({\n selector: 'nv-accordion',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['data', 'mode', 'openIndexes'],\n standalone: false\n})\nexport class NvAccordion {\n protected el: HTMLNvAccordionElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['openIndexesChanged']);\n }\n}\n\n\nexport declare interface NvAccordion extends Components.NvAccordion {\n /**\n * Event emitted when an item's open state changes @bind openIndexes\n */\n openIndexesChanged: EventEmitter<CustomEvent<number[]>>;\n}\n\n\n@ProxyCmp({\n inputs: ['disabled', 'itemTitle', 'maxContentHeight', 'mode', 'open', 'subtitle'],\n methods: ['toggle']\n})\n@Component({\n selector: 'nv-accordion-item',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disabled', 'itemTitle', 'maxContentHeight', 'mode', 'open', 'subtitle'],\n standalone: false\n})\nexport class NvAccordionItem {\n protected el: HTMLNvAccordionItemElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['itemToggle']);\n }\n}\n\n\nexport declare interface NvAccordionItem extends Components.NvAccordionItem {\n /**\n * Event emitted on toggle (header click or programmatic change)\n */\n itemToggle: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n inputs: ['color', 'dismissible', 'feedback', 'hasNoAnimations', 'heading', 'hidden', 'icon', 'message', 'preventAutoClose']\n})\n@Component({\n selector: 'nv-alert',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'dismissible', 'feedback', 'hasNoAnimations', 'heading', 'hidden', 'icon', 'message', 'preventAutoClose'],\n standalone: false\n})\nexport class NvAlert {\n protected el: HTMLNvAlertElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['hiddenChanged', 'hiddenChangedComplete', 'closeClicked']);\n }\n}\n\n\nexport declare interface NvAlert extends Components.NvAlert {\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\nPasses hidden value to the detail. @bind hidden\n */\n hiddenChanged: EventEmitter<CustomEvent<boolean>>;\n /**\n * Emitted when the animations complete, detail includes the hidden value.\n */\n hiddenChangedComplete: EventEmitter<CustomEvent<boolean>>;\n /**\n * Emitted when the close button is clicked.\n */\n closeClicked: EventEmitter<CustomEvent<void>>;\n}\n\n\n@ProxyCmp({\n inputs: ['alt', 'color', 'initials', 'large', 'medium', 'size', 'small', 'src', 'text', 'url', 'xlarge', 'xsmall']\n})\n@Component({\n selector: 'nv-avatar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['alt', 'color', 'initials', 'large', 'medium', 'size', 'small', 'src', 'text', 'url', 'xlarge', 'xsmall'],\n standalone: false\n})\nexport class NvAvatar {\n protected el: HTMLNvAvatarElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvAvatar extends Components.NvAvatar {}\n\n\n@ProxyCmp({\n inputs: ['color', 'dismissal', 'dismissible', 'hidden', 'icon', 'iconLocation', 'isIconOnly', 'label', 'leadIcon', 'preventAutoClose']\n})\n@Component({\n selector: 'nv-badge',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'dismissal', 'dismissible', 'hidden', 'icon', 'iconLocation', 'isIconOnly', 'label', 'leadIcon', 'preventAutoClose'],\n standalone: false\n})\nexport class NvBadge {\n protected el: HTMLNvBadgeElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['closeClicked', 'hiddenChanged', 'hiddenChangedComplete']);\n }\n}\n\n\nexport declare interface NvBadge extends Components.NvBadge {\n /**\n * Emitted when the badge is dismissed.\n */\n closeClicked: EventEmitter<CustomEvent<void>>;\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\nPasses hidden value to the detail.\n */\n hiddenChanged: EventEmitter<CustomEvent<boolean>>;\n /**\n * Emitted when the animations complete, detail includes the hidden value.\n */\n hiddenChangedComplete: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n inputs: ['current', 'tooltip', 'type']\n})\n@Component({\n selector: 'nv-breadcrumb',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['current', 'tooltip', 'type'],\n standalone: false\n})\nexport class NvBreadcrumb {\n protected el: HTMLNvBreadcrumbElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvBreadcrumb extends Components.NvBreadcrumb {}\n\n\n@ProxyCmp({\n})\n@Component({\n selector: 'nv-breadcrumbs',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: [],\n standalone: false\n})\nexport class NvBreadcrumbs {\n protected el: HTMLNvBreadcrumbsElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvBreadcrumbs extends Components.NvBreadcrumbs {}\n\n\n@ProxyCmp({\n inputs: ['active', 'danger', 'disabled', 'emphasis', 'fluid', 'form', 'loading', 'size', 'type']\n})\n@Component({\n selector: 'nv-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['active', 'danger', 'disabled', 'emphasis', 'fluid', 'form', 'loading', 'size', 'type'],\n standalone: false\n})\nexport class NvButton {\n protected el: HTMLNvButtonElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvButton extends Components.NvButton {}\n\n\n@ProxyCmp({\n inputs: ['emphasis', 'fluid', 'orientation', 'size']\n})\n@Component({\n selector: 'nv-buttongroup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['emphasis', 'fluid', 'orientation', 'size'],\n standalone: false\n})\nexport class NvButtongroup {\n protected el: HTMLNvButtongroupElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvButtongroup extends Components.NvButtongroup {}\n\n\n@ProxyCmp({\n inputs: ['cancelLabel', 'dateFormat', 'disabledDates', 'firstDayOfWeek', 'locale', 'max', 'min', 'numberOfCalendars', 'primaryLabel', 'rangeValue', 'selectionType', 'shortcuts', 'shortcutsPlacement', 'showActions', 'showWeekNumbers', 'singleValue', 'value'],\n methods: ['clear']\n})\n@Component({\n selector: 'nv-calendar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['cancelLabel', 'dateFormat', 'disabledDates', 'firstDayOfWeek', 'locale', 'max', 'min', 'numberOfCalendars', 'primaryLabel', 'rangeValue', 'selectionType', 'shortcuts', 'shortcutsPlacement', 'showActions', 'showWeekNumbers', 'singleValue', 'value'],\n standalone: false\n})\nexport class NvCalendar {\n protected el: HTMLNvCalendarElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['singleDateChange', 'rangeDateChange', 'valueChanged']);\n }\n}\n\n\nexport declare interface NvCalendar extends Components.NvCalendar {\n /**\n * Emitted when a single date is selected\n */\n singleDateChange: EventEmitter<CustomEvent<string>>;\n /**\n * Emitted when a date range is selected\n */\n rangeDateChange: EventEmitter<CustomEvent<HTMLNvCalendarElement['rangeValue']>>;\n /**\n * Emitted when the unified value changes @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['size']\n})\n@Component({\n selector: 'nv-col',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['size'],\n standalone: false\n})\nexport class NvCol {\n protected el: HTMLNvColElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvCol extends Components.NvCol {}\n\n\n@ProxyCmp({\n inputs: ['autoGenerateColumns', 'columns', 'data', 'enableGlobalFilter', 'enablePagination', 'enableRowSelection', 'enableSorting', 'fallbackValue', 'globalFilterPosition', 'noColumnsNoDataMessage', 'noDataMessage', 'pageSize', 'pageSizes', 'state']\n})\n@Component({\n selector: 'nv-datagrid',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autoGenerateColumns', 'columns', 'data', 'enableGlobalFilter', 'enablePagination', 'enableRowSelection', 'enableSorting', 'fallbackValue', 'globalFilterPosition', 'noColumnsNoDataMessage', 'noDataMessage', 'pageSize', 'pageSizes', 'state'],\n standalone: false\n})\nexport class NvDatagrid {\n protected el: HTMLNvDatagridElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['action', 'selectedRows', 'stateChanged']);\n }\n}\n\n\nexport declare interface NvDatagrid extends Components.NvDatagrid {\n /**\n * Emitted when an action is triggered on a cell.\n */\n action: EventEmitter<CustomEvent<{ /** * Key action to be performed */ keyAction: string; /** * Details of the action to be performed */ details: any; }>>;\n /**\n * Emitted when the selection of the rows are changed.\n */\n selectedRows: EventEmitter<CustomEvent<any[]>>;\n /**\n * Emitted when the state is changed @bind state\n */\n stateChanged: EventEmitter<CustomEvent<{ /** * Global filter search term */ globalFilterSearchTerm: string; /** * Pagination State */ paginationState: { /** * Page Index */ pageIndex: number; /** * Page Size */ pageSize: number; }; /** * Sorting the columns */ sortingState: { /** * Descending */ desc: boolean; /** * Column Id */ id: string; }[]; }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['accessor', 'group', 'header', 'repeatTemplate']\n})\n@Component({\n selector: 'nv-datagridcolumn',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: [{ name: 'accessor', required: true }, 'group', 'header', 'repeatTemplate'],\n standalone: false\n})\nexport class NvDatagridcolumn {\n protected el: HTMLNvDatagridcolumnElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvDatagridcolumn extends Components.NvDatagridcolumn {}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'clickOutside', 'controlled', 'full', 'open', 'undismissable'],\n methods: ['show', 'close']\n})\n@Component({\n selector: 'nv-dialog',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'clickOutside', 'controlled', 'full', 'open', 'undismissable'],\n standalone: false\n})\nexport class NvDialog {\n protected el: HTMLNvDialogElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['openChanged']);\n }\n}\n\n\nexport declare interface NvDialog extends Components.NvDialog {\n /**\n * Emitted when the dialog is closing in order to allow for cleanup, data-capture, etc. @bind open\n */\n openChanged: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n inputs: ['cancelLabel', 'danger', 'disabled', 'form', 'leadingIcon', 'primaryButtonType', 'primaryLabel', 'trailingIcon', 'undismissable']\n})\n@Component({\n selector: 'nv-dialogfooter',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['cancelLabel', 'danger', 'disabled', 'form', 'leadingIcon', 'primaryButtonType', 'primaryLabel', 'trailingIcon', 'undismissable'],\n standalone: false\n})\nexport class NvDialogfooter {\n protected el: HTMLNvDialogfooterElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['dialogCanceled', 'dialogPrimaryClicked']);\n }\n}\n\n\nexport declare interface NvDialogfooter extends Components.NvDialogfooter {\n /**\n * Emitted when the cancel button is clicked. This will close the dialog.\n */\n dialogCanceled: EventEmitter<CustomEvent<void>>;\n /**\n * Emitted when the primary button is clicked. This allows to handle the\nprimary action and potential data capture before closing the dialog.\n */\n dialogPrimaryClicked: EventEmitter<CustomEvent<void>>;\n}\n\n\n@ProxyCmp({\n inputs: ['heading', 'subheading']\n})\n@Component({\n selector: 'nv-dialogheader',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['heading', 'subheading'],\n standalone: false\n})\nexport class NvDialogheader {\n protected el: HTMLNvDialogheaderElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvDialogheader extends Components.NvDialogheader {}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'checked', 'description', 'disabled', 'error', 'errorDescription', 'hideLabel', 'indeterminate', 'inputId', 'label', 'labelBefore', 'labelPlacement', 'message', 'name', 'readonly', 'required', 'validation', 'value']\n})\n@Component({\n selector: 'nv-fieldcheckbox',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'checked', 'description', 'disabled', 'error', 'errorDescription', 'hideLabel', 'indeterminate', 'inputId', 'label', 'labelBefore', 'labelPlacement', 'message', 'name', 'readonly', 'required', 'validation', 'value'],\n standalone: false\n})\nexport class NvFieldcheckbox {\n protected el: HTMLNvFieldcheckboxElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['checkedChanged']);\n }\n}\n\n\nexport declare interface NvFieldcheckbox extends Components.NvFieldcheckbox {\n /**\n * Emits when the checked state changes. @bind checked\n */\n checkedChanged: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'dateFormat', 'description', 'disabled', 'disabledDates', 'error', 'errorDescription', 'firstDayOfWeek', 'fluid', 'inputId', 'label', 'locale', 'max', 'min', 'name', 'numberOfCalendars', 'placeholder', 'readonly', 'required', 'shortcuts', 'shortcutsPlacement', 'showActions', 'showWeekNumbers', 'success', 'value'],\n methods: ['clear']\n})\n@Component({\n selector: 'nv-fielddate',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'dateFormat', 'description', 'disabled', 'disabledDates', 'error', 'errorDescription', 'firstDayOfWeek', 'fluid', 'inputId', 'label', 'locale', 'max', 'min', 'name', 'numberOfCalendars', 'placeholder', 'readonly', 'required', 'shortcuts', 'shortcutsPlacement', 'showActions', 'showWeekNumbers', 'success', 'value'],\n standalone: false\n})\nexport class NvFielddate {\n protected el: HTMLNvFielddateElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFielddate extends Components.NvFielddate {\n /**\n * Emitted when the value changes (unified value binding). @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'dateFormat', 'description', 'disabled', 'disabledDates', 'endInputId', 'endName', 'endPlaceholder', 'error', 'errorDescription', 'firstDayOfWeek', 'fluid', 'label', 'locale', 'max', 'min', 'numberOfCalendars', 'readonly', 'required', 'shortcuts', 'shortcutsPlacement', 'showActions', 'showWeekNumbers', 'startInputId', 'startName', 'startPlaceholder', 'success', 'value'],\n methods: ['clear']\n})\n@Component({\n selector: 'nv-fielddaterange',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'dateFormat', 'description', 'disabled', 'disabledDates', 'endInputId', 'endName', 'endPlaceholder', 'error', 'errorDescription', 'firstDayOfWeek', 'fluid', 'label', 'locale', 'max', 'min', 'numberOfCalendars', 'readonly', 'required', 'shortcuts', 'shortcutsPlacement', 'showActions', 'showWeekNumbers', 'startInputId', 'startName', 'startPlaceholder', 'success', 'value'],\n standalone: false\n})\nexport class NvFielddaterange {\n protected el: HTMLNvFielddaterangeElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['dateRangeChange', 'valueChanged']);\n }\n}\n\n\nexport declare interface NvFielddaterange extends Components.NvFielddaterange {\n /**\n * Emitted when the date range changes.\n */\n dateRangeChange: EventEmitter<CustomEvent<HTMLNvCalendarElementEventMap['rangeDateChange']>>;\n /**\n * Emitted when the unified value changes @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autocomplete', 'autofocus', 'controlledFilter', 'debounceDelay', 'description', 'disabled', 'emptyResult', 'error', 'errorDescription', 'filterable', 'fluid', 'inputId', 'label', 'maxHeight', 'name', 'openOnSelect', 'options', 'placeholder', 'readonly', 'required', 'value'],\n methods: ['clearFilter', 'toggleDropdown']\n})\n@Component({\n selector: 'nv-fielddropdown',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autocomplete', 'autofocus', 'controlledFilter', 'debounceDelay', 'description', 'disabled', 'emptyResult', 'error', 'errorDescription', 'filterable', 'fluid', 'inputId', 'label', 'maxHeight', 'name', 'openOnSelect', 'options', 'placeholder', 'readonly', 'required', 'value'],\n standalone: false\n})\nexport class NvFielddropdown {\n protected el: HTMLNvFielddropdownElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged', 'filterTextChanged', 'openChanged', 'dropdownItemSelected']);\n }\n}\n\n\nexport declare interface NvFielddropdown extends Components.NvFielddropdown {\n /**\n * Emitted when the input value changes. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n /**\n * Event emitted when the filter input value changes.\n */\n filterTextChanged: EventEmitter<CustomEvent<string>>;\n /**\n * Event emitted when the dropdown opened or closed.\n */\n openChanged: EventEmitter<CustomEvent<HTMLNvPopoverElementEventMap['openChanged']>>;\n /**\n * Event emitted when an item is clicked.\n */\n dropdownItemSelected: EventEmitter<CustomEvent<HTMLNvFielddropdownitemElementEventMap['dropdownItemSelected']>>;\n}\n\n\n@ProxyCmp({\n inputs: ['detached', 'disabled', 'label', 'selected', 'value']\n})\n@Component({\n selector: 'nv-fielddropdownitem',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['detached', 'disabled', 'label', 'selected', 'value'],\n standalone: false\n})\nexport class NvFielddropdownitem {\n protected el: HTMLNvFielddropdownitemElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['dropdownItemSelected']);\n }\n}\n\n\nexport declare interface NvFielddropdownitem extends Components.NvFielddropdownitem {\n /**\n * Event emitted when the dropdown item is selected.\n */\n dropdownItemSelected: EventEmitter<CustomEvent<{ /** The value associated with the item. */ label?: string; /** The value associated with the item. */ value: string; /** Is the item detached? */ detached?: boolean; }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['checked', 'description', 'disabled', 'group', 'label', 'value']\n})\n@Component({\n selector: 'nv-fielddropdownitemcheck',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['checked', 'description', 'disabled', 'group', 'label', 'value'],\n standalone: false\n})\nexport class NvFielddropdownitemcheck {\n protected el: HTMLNvFielddropdownitemcheckElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['itemChecked']);\n }\n}\n\n\nexport declare interface NvFielddropdownitemcheck extends Components.NvFielddropdownitemcheck {\n /**\n * Event emitted when the checkbox is toggled.\nIt provides details about the current state of the item.\n */\n itemChecked: EventEmitter<CustomEvent<{ /** * The value associated with this item */ value: string | undefined; /** * Whether the checkbox is currently checked */ checked: boolean; /** * The group this item belongs to, if any */ group?: string | undefined; }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autocomplete', 'autofocus', 'badgeLabel', 'debounceDelay', 'description', 'deselectAllLabel', 'disabled', 'emptyResult', 'enableSelectAll', 'error', 'errorDescription', 'filterText', 'filterable', 'fluid', 'inputId', 'label', 'maxHeight', 'name', 'open', 'options', 'placeholder', 'readonly', 'required', 'selectAllLabel', 'value'],\n methods: ['getFilterText', 'resetFilter', 'getSelectedValues', 'selectAll', 'deselectAll', 'toggleSelectAll']\n})\n@Component({\n selector: 'nv-fieldmultiselect',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autocomplete', 'autofocus', 'badgeLabel', 'debounceDelay', 'description', 'deselectAllLabel', 'disabled', 'emptyResult', 'enableSelectAll', 'error', 'errorDescription', 'filterText', 'filterable', 'fluid', 'inputId', 'label', 'maxHeight', 'name', 'open', 'options', 'placeholder', 'readonly', 'required', 'selectAllLabel', 'value'],\n standalone: false\n})\nexport class NvFieldmultiselect {\n protected el: HTMLNvFieldmultiselectElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged', 'filterTextChanged']);\n }\n}\n\n\nexport declare interface NvFieldmultiselect extends Components.NvFieldmultiselect {\n /**\n * Emitted when the selected values change. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string[]>>;\n /**\n * Emitted when the filter text changes.\n */\n filterTextChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'max', 'message', 'min', 'name', 'placeholder', 'readonly', 'required', 'step', 'success', 'validation', 'value']\n})\n@Component({\n selector: 'nv-fieldnumber',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'max', 'message', 'min', 'name', 'placeholder', 'readonly', 'required', 'step', 'success', 'validation', 'value'],\n standalone: false\n})\nexport class NvFieldnumber {\n protected el: HTMLNvFieldnumberElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFieldnumber extends Components.NvFieldnumber {\n /**\n * Emitted when the input value changes. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<number>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autocomplete', 'autofocus', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'hidePasswordIcon', 'inputId', 'label', 'maxlength', 'minlength', 'mode', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'showPassword', 'success', 'value']\n})\n@Component({\n selector: 'nv-fieldpassword',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autocomplete', 'autofocus', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'hidePasswordIcon', 'inputId', 'label', 'maxlength', 'minlength', 'mode', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'showPassword', 'success', 'value'],\n standalone: false\n})\nexport class NvFieldpassword {\n protected el: HTMLNvFieldpasswordElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFieldpassword extends Components.NvFieldpassword {\n /**\n * Emitted when the input value changes. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'checked', 'description', 'disabled', 'error', 'errorDescription', 'inputId', 'label', 'labelBefore', 'labelPlacement', 'message', 'name', 'value']\n})\n@Component({\n selector: 'nv-fieldradio',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'checked', 'description', 'disabled', 'error', 'errorDescription', 'inputId', 'label', 'labelBefore', 'labelPlacement', 'message', 'name', 'value'],\n standalone: false\n})\nexport class NvFieldradio {\n protected el: HTMLNvFieldradioElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['checkedChanged']);\n }\n}\n\n\nexport declare interface NvFieldradio extends Components.NvFieldradio {\n /**\n * Emits when the checked state changes. @bind checked\n */\n checkedChanged: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'description', 'disabled', 'displayValue', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'message', 'multiple', 'name', 'options', 'readonly', 'required', 'success', 'validation', 'value']\n})\n@Component({\n selector: 'nv-fieldselect',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'description', 'disabled', 'displayValue', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'message', 'multiple', 'name', 'options', 'readonly', 'required', 'success', 'validation', 'value'],\n standalone: false\n})\nexport class NvFieldselect {\n protected el: HTMLNvFieldselectElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFieldselect extends Components.NvFieldselect {\n /**\n * Emitted when the selected value changes. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['description', 'disabled', 'endInputId', 'endName', 'error', 'errorDescription', 'fluid', 'hasField', 'hideLabel', 'label', 'labelAfterValue', 'labelBeforeValue', 'max', 'min', 'name', 'range', 'readonly', 'showTicks', 'snap', 'snapTicks', 'startInputId', 'step', 'success', 'ticks', 'value']\n})\n@Component({\n selector: 'nv-fieldslider',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['description', 'disabled', 'endInputId', 'endName', 'error', 'errorDescription', 'fluid', 'hasField', 'hideLabel', 'label', 'labelAfterValue', 'labelBeforeValue', 'max', 'min', 'name', 'range', 'readonly', 'showTicks', 'snap', 'snapTicks', 'startInputId', 'step', 'success', 'ticks', 'value'],\n standalone: false\n})\nexport class NvFieldslider {\n protected el: HTMLNvFieldsliderElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFieldslider extends Components.NvFieldslider {\n /**\n * Emitted when the slider values change. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<number[]>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autocomplete', 'autofocus', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'maxlength', 'message', 'minlength', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'success', 'textInputType', 'type', 'validation', 'value']\n})\n@Component({\n selector: 'nv-fieldtext',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autocomplete', 'autofocus', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'maxlength', 'message', 'minlength', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'success', 'textInputType', 'type', 'validation', 'value'],\n standalone: false\n})\nexport class NvFieldtext {\n protected el: HTMLNvFieldtextElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFieldtext extends Components.NvFieldtext {\n /**\n * Emitted when the input value changes. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'autosize', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'maxlength', 'message', 'minlength', 'name', 'placeholder', 'readonly', 'required', 'resize', 'rows', 'success', 'validation', 'value']\n})\n@Component({\n selector: 'nv-fieldtextarea',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'autosize', 'description', 'disabled', 'error', 'errorDescription', 'fluid', 'inputId', 'label', 'maxlength', 'message', 'minlength', 'name', 'placeholder', 'readonly', 'required', 'resize', 'rows', 'success', 'validation', 'value'],\n standalone: false\n})\nexport class NvFieldtextarea {\n protected el: HTMLNvFieldtextareaElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFieldtextarea extends Components.NvFieldtextarea {\n /**\n * Emitted when the textarea value changes. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'description', 'disabled', 'error', 'errorDescription', 'format', 'inputId', 'label', 'max', 'min', 'name', 'open', 'readonly', 'required', 'step', 'success', 'value']\n})\n@Component({\n selector: 'nv-fieldtime',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'description', 'disabled', 'error', 'errorDescription', 'format', 'inputId', 'label', 'max', 'min', 'name', 'open', 'readonly', 'required', 'step', 'success', 'value'],\n standalone: false\n})\nexport class NvFieldtime {\n protected el: HTMLNvFieldtimeElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvFieldtime extends Components.NvFieldtime {\n /**\n * Emit an event when the time value changes.\nThe event detail contains the new time value in the format specified by the format property. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string>>;\n}\n\n\n@ProxyCmp({\n inputs: ['color', 'large', 'medium', 'name', 'size', 'small', 'xlarge', 'xsmall']\n})\n@Component({\n selector: 'nv-icon',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'large', 'medium', 'name', 'size', 'small', 'xlarge', 'xsmall'],\n standalone: false\n})\nexport class NvIcon {\n protected el: HTMLNvIconElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvIcon extends Components.NvIcon {}\n\n\n@ProxyCmp({\n inputs: ['active', 'disabled', 'emphasis', 'loading', 'name', 'shape', 'size', 'type']\n})\n@Component({\n selector: 'nv-iconbutton',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['active', 'disabled', 'emphasis', 'loading', 'name', 'shape', 'size', 'type'],\n standalone: false\n})\nexport class NvIconbutton {\n protected el: HTMLNvIconbuttonElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvIconbutton extends Components.NvIconbutton {}\n\n\n@ProxyCmp({\n inputs: ['color', 'size']\n})\n@Component({\n selector: 'nv-loader',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'size'],\n standalone: false\n})\nexport class NvLoader {\n protected el: HTMLNvLoaderElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvLoader extends Components.NvLoader {}\n\n\n@ProxyCmp({\n inputs: ['disableCloseOnSelect', 'items', 'nested', 'open', 'placement'],\n methods: ['show', 'close']\n})\n@Component({\n selector: 'nv-menu',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disableCloseOnSelect', 'items', 'nested', 'open', 'placement'],\n standalone: false\n})\nexport class NvMenu {\n protected el: HTMLNvMenuElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['menuitemSelected']);\n }\n}\n\n\nexport declare interface NvMenu extends Components.NvMenu {\n /**\n * Emitted from nv-menuitem elements with the corresponding id and name when\nselected (via click or keyboard). This event listener can be attached to\neither the nv-menu or the nv-menuitem element.\n */\n menuitemSelected: EventEmitter<CustomEvent<HTMLNvMenuitemElementEventMap['menuitemSelected']>>;\n}\n\n\n@ProxyCmp({\n inputs: ['disabled', 'hasSubmenu', 'icon', 'label', 'name', 'shortcut']\n})\n@Component({\n selector: 'nv-menuitem',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disabled', 'hasSubmenu', 'icon', 'label', 'name', 'shortcut'],\n standalone: false\n})\nexport class NvMenuitem {\n protected el: HTMLNvMenuitemElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['menuitemSelected']);\n }\n}\n\n\nexport declare interface NvMenuitem extends Components.NvMenuitem {\n /**\n * Fires when the menu item is selected (click or keypress). Will include the\nid and name of the menu item.\n */\n menuitemSelected: EventEmitter<CustomEvent<{ /** * The id of the menu item that was selected. */ id?: HTMLElement['id']; /** * The name of the menu item that was selected. */ name?: string; /** * Indicates if the menu item has a nested submenu. */ hasSubmenu?: boolean; }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['dismissible', 'emphasis', 'feedback', 'heading', 'hidden', 'icon', 'initiallyHidden', 'message', 'uid'],\n methods: ['dismiss', 'show']\n})\n@Component({\n selector: 'nv-notification',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['dismissible', 'emphasis', 'feedback', 'heading', 'hidden', 'icon', 'initiallyHidden', 'message', 'uid'],\n standalone: false\n})\nexport class NvNotification {\n protected el: HTMLNvNotificationElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['hiddenChanged']);\n }\n}\n\n\nexport declare interface NvNotification extends Components.NvNotification {\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\nPasses hidden value to the detail. @bind hidden\n */\n hiddenChanged: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n inputs: ['position']\n})\n@Component({\n selector: 'nv-notificationcontainer',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['position'],\n standalone: false\n})\nexport class NvNotificationcontainer {\n protected el: HTMLNvNotificationcontainerElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvNotificationcontainer extends Components.NvNotificationcontainer {}\n\n\n@ProxyCmp({\n inputs: ['disableFlip', 'enterDelay', 'groupName', 'hasArrow', 'nested', 'offset', 'open', 'placement', 'shiftPadding', 'strategy', 'triggerMode'],\n methods: ['show', 'hide', 'toggle']\n})\n@Component({\n selector: 'nv-popover',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disableFlip', 'enterDelay', 'groupName', 'hasArrow', 'nested', 'offset', 'open', 'placement', 'shiftPadding', 'strategy', 'triggerMode'],\n standalone: false\n})\nexport class NvPopover {\n protected el: HTMLNvPopoverElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['openChanged']);\n }\n}\n\n\nexport declare interface NvPopover extends Components.NvPopover {\n /**\n * Emitted when the popover is toggled. @bind open\n */\n openChanged: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n})\n@Component({\n selector: 'nv-row',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: [],\n standalone: false\n})\nexport class NvRow {\n protected el: HTMLNvRowElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvRow extends Components.NvRow {}\n\n\n@ProxyCmp({\n inputs: ['direction', 'gutterSize', 'minSizes', 'sizes'],\n methods: ['setSizes', 'getSizes', 'collapse', 'destroy']\n})\n@Component({\n selector: 'nv-split',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['direction', 'gutterSize', 'minSizes', 'sizes'],\n standalone: false\n})\nexport class NvSplit {\n protected el: HTMLNvSplitElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['sizesChanged']);\n }\n}\n\n\nexport declare interface NvSplit extends Components.NvSplit {\n /**\n * Emitted when pane sizes are updated (either via dragging or programmatically). @bind sizes\n */\n sizesChanged: EventEmitter<CustomEvent<number[]>>;\n}\n\n\n@ProxyCmp({\n inputs: ['fill', 'flex', 'full', 'gutter', 'vertical']\n})\n@Component({\n selector: 'nv-stack',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['fill', 'flex', 'full', 'gutter', 'vertical'],\n standalone: false\n})\nexport class NvStack {\n protected el: HTMLNvStackElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvStack extends Components.NvStack {}\n\n\n@ProxyCmp({\n})\n@Component({\n selector: 'nv-table',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: [],\n standalone: false\n})\nexport class NvTable {\n protected el: HTMLNvTableElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface NvTable extends Components.NvTable {}\n\n\n@ProxyCmp({\n inputs: ['checked', 'description', 'disabled', 'hideLabel', 'inputId', 'label', 'labelPlacement', 'name', 'readonly', 'value']\n})\n@Component({\n selector: 'nv-toggle',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['checked', 'description', 'disabled', 'hideLabel', 'inputId', 'label', 'labelPlacement', 'name', 'readonly', 'value'],\n standalone: false\n})\nexport class NvToggle {\n protected el: HTMLNvToggleElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['checkedChanged']);\n }\n}\n\n\nexport declare interface NvToggle extends Components.NvToggle {\n /**\n * Emits when the checked state changes. @bind checked\n */\n checkedChanged: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n@ProxyCmp({\n inputs: ['active', 'disabled', 'emphasis', 'size', 'value']\n})\n@Component({\n selector: 'nv-togglebutton',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['active', 'disabled', 'emphasis', 'size', 'value'],\n standalone: false\n})\nexport class NvTogglebutton {\n protected el: HTMLNvTogglebuttonElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['toggled']);\n }\n}\n\n\nexport declare interface NvTogglebutton extends Components.NvTogglebutton {\n /**\n * Emitted when the button is toggled.\n */\n toggled: EventEmitter<CustomEvent<{ /** The value associated with the button. */ value: string; /** If the button is active when clicked. */ active: boolean; }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['emphasis', 'enforceValue', 'exclusive', 'size', 'value']\n})\n@Component({\n selector: 'nv-togglebuttongroup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['emphasis', 'enforceValue', 'exclusive', 'size', 'value'],\n standalone: false\n})\nexport class NvTogglebuttongroup {\n protected el: HTMLNvTogglebuttongroupElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['valueChanged']);\n }\n}\n\n\nexport declare interface NvTogglebuttongroup extends Components.NvTogglebuttongroup {\n /**\n * Emitted when the selected toggle buttons change. @bind value\n */\n valueChanged: EventEmitter<CustomEvent<string[]>>;\n}\n\n\n@ProxyCmp({\n inputs: ['enterDelay', 'message', 'placement', 'strategy']\n})\n@Component({\n selector: 'nv-tooltip',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['enterDelay', 'message', 'placement', 'strategy'],\n standalone: false\n})\nexport class NvTooltip {\n protected el: HTMLNvTooltipElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['openChanged']);\n }\n}\n\n\nexport declare interface NvTooltip extends Components.NvTooltip {\n /**\n * Emitted when the tooltip is opened or closed. Bubbles up from the popover\nelement.\n */\n openChanged: EventEmitter<CustomEvent<boolean>>;\n}\n\n\n","\nimport * as d from './components';\n\nexport const DIRECTIVES = [\n d.NvAccordion,\n d.NvAccordionItem,\n d.NvAlert,\n d.NvAvatar,\n d.NvBadge,\n d.NvBreadcrumb,\n d.NvBreadcrumbs,\n d.NvButton,\n d.NvButtongroup,\n d.NvCalendar,\n d.NvCol,\n d.NvDatagrid,\n d.NvDatagridcolumn,\n d.NvDialog,\n d.NvDialogfooter,\n d.NvDialogheader,\n d.NvFieldcheckbox,\n d.NvFielddate,\n d.NvFielddaterange,\n d.NvFielddropdown,\n d.NvFielddropdownitem,\n d.NvFielddropdownitemcheck,\n d.NvFieldmultiselect,\n d.NvFieldnumber,\n d.NvFieldpassword,\n d.NvFieldradio,\n d.NvFieldselect,\n d.NvFieldslider,\n d.NvFieldtext,\n d.NvFieldtextarea,\n d.NvFieldtime,\n d.NvIcon,\n d.NvIconbutton,\n d.NvLoader,\n d.NvMenu,\n d.NvMenuitem,\n d.NvNotification,\n d.NvNotificationcontainer,\n d.NvPopover,\n d.NvRow,\n d.NvSplit,\n d.NvStack,\n d.NvTable,\n d.NvToggle,\n d.NvTogglebutton,\n d.NvTogglebuttongroup,\n d.NvTooltip\n];\n","import { Directive, Input, TemplateRef } from '@angular/core';\nimport type { CellContext } from './datatable.utils';\n\n/**\n * Context type for cell templates - uses TanStack Table's CellContext directly\n */\nexport type NvDatatableCellContext<T> = {\n /** The cell's actual value */\n $implicit: CellContext<T, unknown>;\n};\n\n/**\n * Directive to mark ng-templates as cell templates for specific fields.\n *\n * @example\n * ```html\n * <nv-datatable [columns]=\"columns\" [rows]=\"data\">\n * <ng-template nvDatatableCell=\"name\" let-context>\n * <div class=\"font-semibold\">{{ context.value }}</div>\n * </ng-template>\n *\n * <ng-template nvDatatableCell=\"price\" let-context>\n * <span class=\"font-mono\">${{ context.value }}</span>\n * </ng-template>\n * </nv-datatable>\n * ```\n */\n@Directive({\n selector: 'ng-template[nvDatatableCell]',\n standalone: true,\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class NvDatatableCellDirective<T = any> {\n /**\n * The field name this template should render.\n * Should match a field in your column definitions.\n */\n @Input({ required: true }) nvDatatableCell!: string;\n\n constructor(public template: TemplateRef<NvDatatableCellContext<T>>) {}\n}\n","import { untracked } from '@angular/core'\n\n/**\n * Implementation from @tanstack/angular-query\n * {@link https://github.com/TanStack/query/blob/main/packages/angular-query-experimental/src/util/lazy-init/lazy-init.ts}\n */\nexport function lazyInit<T extends object>(initializer: () => T): T {\n let object: T | null = null\n\n const initializeObject = () => {\n if (!object) {\n object = untracked(() => initializer())\n }\n }\n\n queueMicrotask(() => initializeObject())\n\n const table = () => {}\n\n return new Proxy<T>(table as T, {\n apply(target: T, thisArg: any, argArray: any[]): any {\n initializeObject()\n if (typeof object === 'function') {\n return Reflect.apply(object, thisArg, argArray)\n }\n return Reflect.apply(target as any, thisArg, argArray)\n },\n get(_, prop, receiver) {\n initializeObject()\n return Reflect.get(object as T, prop, receiver)\n },\n has(_, prop) {\n initializeObject()\n return Reflect.has(object as T, prop)\n },\n ownKeys() {\n initializeObject()\n return Reflect.ownKeys(object as T)\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n }\n },\n })\n}\n","import { computed, type Signal, untracked } from '@angular/core'\nimport { type Table } from '@tanstack/table-core'\n\ntype TableSignal<T> = Table<T> & Signal<Table<T>>\n\nexport function proxifyTable<T>(\n tableSignal: Signal<Table<T>>\n): Table<T> & Signal<Table<T>> {\n const internalState = tableSignal as TableSignal<T>\n\n return new Proxy(internalState, {\n apply() {\n return tableSignal()\n },\n get(target, property: keyof Table<T>): any {\n if (target[property]) {\n return target[property]\n }\n const table = untracked(tableSignal)\n /**\n * Attempt to convert all accessors into computed ones,\n * excluding handlers as they do not retain any reactive value\n */\n if (\n property.startsWith('get') &&\n !property.endsWith('Handler')\n // e.g. getCoreRowModel, getSelectedRowModel etc.\n // We need that after a signal change even `rowModel` may mark the view as dirty.\n // This allows to always get the latest `getContext` value while using flexRender\n // && !property.endsWith('Model')\n ) {\n const maybeFn = table[property] as Function | never\n if (typeof maybeFn === 'function') {\n Object.defineProperty(target, property, {\n value: toComputed(tableSignal, maybeFn),\n configurable: true,\n enumerable: true,\n })\n return target[property]\n }\n }\n // @ts-expect-error\n return (target[property] = table[property])\n },\n has(_, prop: keyof Table<T>) {\n return !!untracked(tableSignal)[prop]\n },\n ownKeys() {\n return Reflect.ownKeys(untracked(tableSignal))\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n }\n },\n })\n}\n\n/**\n * Here we'll handle all type of accessors:\n * - 0 argument -> e.g. table.getCanNextPage())\n * - 0~1 arguments -> e.g. table.getIsSomeRowsPinned(position?)\n * - 1 required argument -> e.g. table.getColumn(columnId)\n * - 1+ argument -> e.g. table.getRow(id, searchAll?)\n *\n * Since we are not able to detect automatically the accessors parameters,\n * we'll wrap all accessors into a cached function wrapping a computed\n * that return it's value based on the given parameters\n */\nfunction toComputed<T>(signal: Signal<Table<T>>, fn: Function) {\n const hasArgs = fn.length > 0\n if (!hasArgs) {\n return computed(() => {\n void signal()\n return fn()\n })\n }\n\n const computedCache: Record<string, Signal<unknown>> = {}\n\n return (...argsArray: any[]) => {\n const serializedArgs = serializeArgs(...argsArray)\n if (computedCache.hasOwnProperty(serializedArgs)) {\n return computedCache[serializedArgs]?.()\n }\n const computedSignal = computed(() => {\n void signal()\n return fn(...argsArray)\n })\n\n computedCache[serializedArgs] = computedSignal\n\n return computedSignal()\n }\n}\n\nfunction serializeArgs(...args: any[]) {\n return JSON.stringify(args)\n}\n","import { inject, InjectionToken } from '@angular/core'\n\nexport const FlexRenderComponentProps = new InjectionToken<\n NonNullable<unknown>\n>('[@tanstack/angular-table] Flex render component context props')\n\nexport function injectFlexRenderContext<T extends NonNullable<unknown>>(): T {\n return inject<T>(FlexRenderComponentProps)\n}\n","/**\n * Flags used to manage and optimize the rendering lifecycle of content of the cell,\n * while using FlexRenderDirective.\n */\nexport enum FlexRenderFlags {\n /**\n * Indicates that the view is being created for the first time or will be cleared during the next update phase.\n * This is the initial state and will transition after the first ngDoCheck.\n */\n ViewFirstRender = 1 << 0,\n /**\n * Represents a state where the view is not dirty, meaning no changes require rendering updates.\n */\n Pristine = 1 << 1,\n /**\n * Indicates the `content` property has been modified or the view requires a complete re-render.\n * When this flag is enabled, the view will be cleared and recreated from scratch.\n */\n ContentChanged = 1 << 2,\n /**\n * Indicates that the `props` property reference has changed.\n * When this flag is enabled, the view context is updated based on the type of the content.\n *\n * For Component view, inputs will be updated and view will be marked as dirty.\n * For TemplateRef and primitive values, view will be marked as dirty\n */\n PropsReferenceChanged = 1 << 3,\n /**\n * Indicates that the current rendered view needs to be checked for changes.\n */\n DirtyCheck = 1 << 4,\n /**\n * Indicates that a signal within the `content(props)` result has changed\n */\n DirtySignal = 1 << 5,\n /**\n * Indicates that the first render effect has been checked at least one time.\n */\n RenderEffectChecked = 1 << 6,\n}\n","import {\n ComponentMirror,\n Injector,\n InputSignal,\n OutputEmitterRef,\n reflectComponentType,\n Type,\n} from '@angular/core'\n\ntype Inputs<T> = {\n [K in keyof T as T[K] extends InputSignal<infer R>\n ? K\n : never]?: T[K] extends InputSignal<infer R> ? R : never\n}\n\ntype Outputs<T> = {\n [K in keyof T as T[K] extends OutputEmitterRef<infer R>\n ? K\n : never]?: T[K] extends OutputEmitterRef<infer R>\n ? OutputEmitterRef<R>['emit']\n : never\n}\n\ntype OptionalKeys<T, K = keyof T> = K extends keyof T\n ? T[K] extends Required<T>[K]\n ? undefined extends T[K]\n ? K\n : never\n : K\n : never\n\ninterface FlexRenderRequiredOptions<\n TInputs extends Record<string, any>,\n TOutputs extends Record<string, any>,\n> {\n /**\n * Component instance inputs. They will be set via [componentRef.setInput API](https://angular.dev/api/core/ComponentRef#setInput)\n */\n inputs: TInputs\n /**\n * Component instance outputs.\n */\n outputs?: TOutputs\n /**\n * Optional {@link Injector} that will be used when rendering the component\n */\n injector?: Injector\n}\n\ninterface FlexRenderOptions<\n TInputs extends Record<string, any>,\n TOutputs extends Record<string, any>,\n> {\n /**\n * Component instance inputs. They will be set via [componentRef.setInput API](https://angular.dev/api/core/ComponentRef#setInput)\n */\n inputs?: TInputs\n /**\n * Component instance outputs.\n */\n outputs?: TOutputs\n /**\n * Optional {@link Injector} that will be used when rendering the component\n */\n injector?: Injector\n}\n\n/**\n * Helper function to create a [@link FlexRenderComponent] instance, with better type-safety.\n *\n * - options object must be passed when the given component instance contains at least one required signal input.\n * - options/inputs is typed with the given component inputs\n * - options/outputs is typed with the given component outputs\n */\nexport function flexRenderComponent<\n TComponent = any,\n TInputs extends Inputs<TComponent> = Inputs<TComponent>,\n TOutputs extends Outputs<TComponent> = Outputs<TComponent>,\n>(\n component: Type<TComponent>,\n ...options: OptionalKeys<TInputs> extends never\n ? [FlexRenderOptions<TInputs, TOutputs>?]\n : [FlexRenderRequiredOptions<TInputs, TOutputs>]\n) {\n const { inputs, injector, outputs } = options?.[0] ?? {}\n return new FlexRenderComponent(component, inputs, injector, outputs)\n}\n\n/**\n * Wrapper class for a component that will be used as content for {@link FlexRenderDirective}\n *\n * Prefer {@link flexRenderComponent} helper for better type-safety\n */\nexport class FlexRenderComponent<TComponent = any> {\n readonly mirror: ComponentMirror<TComponent>\n readonly allowedInputNames: string[] = []\n readonly allowedOutputNames: string[] = []\n\n constructor(\n readonly component: Type<TComponent>,\n readonly inputs?: Inputs<TComponent>,\n readonly injector?: Injector,\n readonly outputs?: Outputs<TComponent>\n ) {\n const mirror = reflectComponentType(component)\n if (!mirror) {\n throw new Error(\n `[@tanstack-table/angular] The provided symbol is not a component`\n )\n }\n this.mirror = mirror\n for (const input of this.mirror.inputs) {\n this.allowedInputNames.push(input.propName)\n }\n for (const output of this.mirror.outputs) {\n this.allowedOutputNames.push(output.propName)\n }\n }\n}\n","import {\n ChangeDetectorRef,\n ComponentRef,\n inject,\n Injectable,\n Injector,\n KeyValueDiffer,\n KeyValueDiffers,\n OutputEmitterRef,\n OutputRefSubscription,\n ViewContainerRef,\n} from '@angular/core'\nimport { FlexRenderComponent } from './flex-render-component'\n\n@Injectable()\nexport class FlexRenderComponentFactory {\n #viewContainerRef = inject(ViewContainerRef)\n\n createComponent<T>(\n flexRenderComponent: FlexRenderComponent<T>,\n componentInjector: Injector\n ): FlexRenderComponentRef<T> {\n const componentRef = this.#viewContainerRef.createComponent(\n flexRenderComponent.component,\n {\n injector: componentInjector,\n }\n )\n const view = new FlexRenderComponentRef(\n componentRef,\n flexRenderComponent,\n componentInjector\n )\n\n const { inputs, outputs } = flexRenderComponent\n\n if (inputs) view.setInputs(inputs)\n if (outputs) view.setOutputs(outputs)\n\n return view\n }\n}\n\nexport class FlexRenderComponentRef<T> {\n readonly #keyValueDiffersFactory: KeyValueDiffers\n #componentData: FlexRenderComponent<T>\n #inputValueDiffer: KeyValueDiffer<string, unknown>\n\n readonly #outputRegistry: FlexRenderComponentOutputManager\n\n constructor(\n readonly componentRef: ComponentRef<T>,\n componentData: FlexRenderComponent<T>,\n readonly componentInjector: Injector\n ) {\n this.#componentData = componentData\n this.#keyValueDiffersFactory = componentInjector.get(KeyValueDiffers)\n\n this.#outputRegistry = new FlexRenderComponentOutputManager(\n this.#keyValueDiffersFactory,\n this.outputs\n )\n\n this.#inputValueDiffer = this.#keyValueDiffersFactory\n .find(this.inputs)\n .create()\n this.#inputValueDiffer.diff(this.inputs)\n\n this.componentRef.onDestroy(() => this.#outputRegistry.unsubscribeAll())\n }\n\n get component() {\n return this.#componentData.component\n }\n\n get inputs() {\n return this.#componentData.inputs ?? {}\n }\n\n get outputs() {\n return this.#componentData.outputs ?? {}\n }\n\n /**\n * Get component input and output diff by the given item\n */\n diff(item: FlexRenderComponent<T>) {\n return {\n inputDiff: this.#inputValueDiffer.diff(item.inputs ?? {}),\n outputDiff: this.#outputRegistry.diff(item.outputs ?? {}),\n }\n }\n /**\n *\n * @param compare Whether the current ref component instance is the same as the given one\n */\n eqType(compare: FlexRenderComponent<T>): boolean {\n return compare.component === this.component\n }\n\n /**\n * Tries to update current component refs input by the new given content component.\n */\n update(content: FlexRenderComponent<T>) {\n const eq = this.eqType(content)\n if (!eq) return\n const { inputDiff, outputDiff } = this.diff(content)\n if (inputDiff) {\n inputDiff.forEachAddedItem(item =>\n this.setInput(item.key, item.currentValue)\n )\n inputDiff.forEachChangedItem(item =>\n this.setInput(item.key, item.currentValue)\n )\n inputDiff.forEachRemovedItem(item => this.setInput(item.key, undefined))\n }\n if (outputDiff) {\n outputDiff.forEachAddedItem(item => {\n this.setOutput(item.key, item.currentValue)\n })\n outputDiff.forEachChangedItem(item => {\n if (item.currentValue) {\n this.#outputRegistry.setListener(item.key, item.currentValue)\n } else {\n this.#outputRegistry.unsubscribe(item.key)\n }\n })\n outputDiff.forEachRemovedItem(item => {\n this.#outputRegistry.unsubscribe(item.key)\n })\n }\n\n this.#componentData = content\n }\n\n markAsDirty(): void {\n this.componentRef.injector.get(ChangeDetectorRef).markForCheck()\n }\n\n setInputs(inputs: Record<string, unknown>) {\n for (const prop in inputs) {\n this.setInput(prop, inputs[prop])\n }\n }\n\n setInput(key: string, value: unknown) {\n if (this.#componentData.allowedInputNames.includes(key)) {\n this.componentRef.setInput(key, value)\n }\n }\n\n setOutputs(\n outputs: Record<\n string,\n OutputEmitterRef<unknown>['emit'] | null | undefined\n >\n ) {\n this.#outputRegistry.unsubscribeAll()\n for (const prop in outputs) {\n this.setOutput(prop, outputs[prop])\n }\n }\n\n setOutput(\n outputName: string,\n emit: OutputEmitterRef<unknown>['emit'] | undefined | null\n ): void {\n if (!this.#componentData.allowedOutputNames.includes(outputName)) return\n if (!emit) {\n this.#outputRegistry.unsubscribe(outputName)\n return\n }\n\n const hasListener = this.#outputRegistry.hasListener(outputName)\n this.#outputRegistry.setListener(outputName, emit)\n\n if (hasListener) {\n return\n }\n\n const instance = this.componentRef.instance\n const output = instance[outputName as keyof typeof instance]\n if (output && output instanceof OutputEmitterRef) {\n output.subscribe(value => {\n this.#outputRegistry.getListener(outputName)?.(value)\n })\n }\n }\n}\n\nclass FlexRenderComponentOutputManager {\n readonly #outputSubscribers: Record<string, OutputRefSubscription> = {}\n readonly #outputListeners: Record<string, (...args: any[]) => void> = {}\n\n readonly #valueDiffer: KeyValueDiffer<\n string,\n undefined | null | OutputEmitterRef<unknown>['emit']\n >\n\n constructor(keyValueDiffers: KeyValueDiffers, initialOutputs: any) {\n this.#valueDiffer = keyValueDiffers.find(initialOutputs).create()\n if (initialOutputs) {\n this.#valueDiffer.diff(initialOutputs)\n }\n }\n\n hasListener(outputName: string) {\n return outputName in this.#outputListeners\n }\n\n setListener(outputName: string, callback: (...args: any[]) => void) {\n this.#outputListeners[outputName] = callback\n }\n\n getListener(outputName: string) {\n return this.#outputListeners[outputName]\n }\n\n unsubscribeAll(): void {\n for (const prop in this.#outputSubscribers) {\n this.unsubscribe(prop)\n }\n }\n\n unsubscribe(outputName: string) {\n if (outputName in this.#outputSubscribers) {\n this.#outputSubscribers[outputName]?.unsubscribe()\n delete this.#outputSubscribers[outputName]\n delete this.#outputListeners[outputName]\n }\n }\n\n diff(outputs: Record<string, OutputEmitterRef<unknown>['emit'] | undefined>) {\n return this.#valueDiffer.diff(outputs ?? {})\n }\n}\n","import { FlexRenderComponentRef } from './flex-render-component-ref'\nimport { EmbeddedViewRef, TemplateRef, Type } from '@angular/core'\nimport type { FlexRenderContent } from '../flex-render'\nimport { FlexRenderComponent } from './flex-render-component'\n\nexport type FlexRenderTypedContent =\n | { kind: 'null' }\n | {\n kind: 'primitive'\n content: string | number | Record<string, any>\n }\n | { kind: 'flexRenderComponent'; content: FlexRenderComponent<unknown> }\n | { kind: 'templateRef'; content: TemplateRef<unknown> }\n | { kind: 'component'; content: Type<unknown> }\n\nexport function mapToFlexRenderTypedContent(\n content: FlexRenderContent<any>\n): FlexRenderTypedContent {\n if (content === null || content === undefined) {\n return { kind: 'null' }\n }\n if (typeof content === 'string' || typeof content === 'number') {\n return { kind: 'primitive', content }\n }\n if (content instanceof FlexRenderComponent) {\n return { kind: 'flexRenderComponent', content }\n } else if (content instanceof TemplateRef) {\n return { kind: 'templateRef', content }\n } else if (content instanceof Type) {\n return { kind: 'component', content }\n } else {\n return { kind: 'primitive', content }\n }\n}\n\nexport abstract class FlexRenderView<\n TView extends FlexRenderComponentRef<any> | EmbeddedViewRef<unknown> | null,\n> {\n readonly view: TView\n #previousContent: FlexRenderTypedContent | undefined\n #content: FlexRenderTypedContent\n\n protected constructor(\n initialContent: Exclude<FlexRenderTypedContent, { kind: 'null' }>,\n view: TView\n ) {\n this.#content = initialContent\n this.view = view\n }\n\n get previousContent(): FlexRenderTypedContent {\n return this.#previousContent ?? { kind: 'null' }\n }\n\n get content() {\n return this.#content\n }\n\n set content(content: FlexRenderTypedContent) {\n this.#previousContent = this.#content\n this.#content = content\n }\n\n abstract updateProps(props: Record<string, any>): void\n\n abstract dirtyCheck(): void\n\n abstract onDestroy(callback: Function): void\n}\n\nexport class FlexRenderTemplateView extends FlexRenderView<\n EmbeddedViewRef<unknown>\n> {\n constructor(\n initialContent: Extract<\n FlexRenderTypedContent,\n { kind: 'primitive' | 'templateRef' }\n >,\n view: EmbeddedViewRef<unknown>\n ) {\n super(initialContent, view)\n }\n\n override updateProps(props: Record<string, any>) {\n this.view.markForCheck()\n }\n\n override dirtyCheck() {\n // Basically a no-op. When the view is created via EmbeddedViewRef, we don't need to do any manual update\n // since this type of content has a proxy as a context, then every time the root component is checked for changes,\n // the property getter will be re-evaluated.\n //\n // If in a future we need to manually mark the view as dirty, just uncomment next line\n // this.view.markForCheck()\n }\n\n override onDestroy(callback: Function) {\n this.view.onDestroy(callback)\n }\n}\n\nexport class FlexRenderComponentView extends FlexRenderView<\n FlexRenderComponentRef<unknown>\n> {\n constructor(\n initialContent: Extract<\n FlexRenderTypedContent,\n { kind: 'component' | 'flexRenderComponent' }\n >,\n view: FlexRenderComponentRef<unknown>\n ) {\n super(initialContent, view)\n }\n\n override updateProps(props: Record<string, any>) {\n switch (this.content.kind) {\n case 'component': {\n this.view.setInputs(props)\n break\n }\n case 'flexRenderComponent': {\n // No-op. When FlexRenderFlags.PropsReferenceChanged is set,\n // FlexRenderComponent will be updated into `dirtyCheck`.\n break\n }\n }\n }\n\n override dirtyCheck() {\n switch (this.content.kind) {\n case 'component': {\n // Component context is currently valuated with the cell context. Since it's reference\n // shouldn't change, we force mark the component as dirty in order to re-evaluate function invocation in view.\n // NOTE: this should behave like having a component with ChangeDetectionStrategy.Default\n this.view.markAsDirty()\n break\n }\n case 'flexRenderComponent': {\n // Given context instance will always have a different reference than the previous one,\n // so instead of recreating the entire view, we will only update the current view\n if (this.view.eqType(this.content.content)) {\n this.view.update(this.content.content)\n }\n this.view.markAsDirty()\n break\n }\n }\n }\n\n override onDestroy(callback: Function) {\n this.view.componentRef.onDestroy(callback)\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n DoCheck,\n effect,\n type EffectRef,\n Inject,\n inject,\n Injector,\n Input,\n OnChanges,\n runInInjectionContext,\n SimpleChanges,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core'\nimport { FlexRenderComponentProps } from './flex-render/context'\nimport { FlexRenderFlags } from './flex-render/flags'\nimport {\n flexRenderComponent,\n FlexRenderComponent,\n} from './flex-render/flex-render-component'\nimport { FlexRenderComponentFactory } from './flex-render/flex-render-component-ref'\nimport {\n FlexRenderComponentView,\n FlexRenderTemplateView,\n type FlexRenderTypedContent,\n FlexRenderView,\n mapToFlexRenderTypedContent,\n} from './flex-render/view'\nimport { memo } from '@tanstack/table-core'\n\nexport {\n injectFlexRenderContext,\n type FlexRenderComponentProps,\n} from './flex-render/context'\n\nexport type FlexRenderContent<TProps extends NonNullable<unknown>> =\n | string\n | number\n | Type<TProps>\n | FlexRenderComponent<TProps>\n | TemplateRef<{ $implicit: TProps }>\n | null\n | Record<any, any>\n | undefined\n\n@Directive({\n selector: '[flexRender]',\n standalone: true,\n providers: [FlexRenderComponentFactory],\n})\nexport class FlexRenderDirective<TProps extends NonNullable<unknown>>\n implements OnChanges, DoCheck\n{\n readonly #flexRenderComponentFactory = inject(FlexRenderComponentFactory)\n readonly #changeDetectorRef = inject(ChangeDetectorRef)\n\n @Input({ required: true, alias: 'flexRender' })\n content:\n | number\n | string\n | ((props: TProps) => FlexRenderContent<TProps>)\n | null\n | undefined = undefined\n\n @Input({ required: true, alias: 'flexRenderProps' })\n props: TProps = {} as TProps\n\n @Input({ required: false, alias: 'flexRenderInjector' })\n injector: Injector = inject(Injector)\n\n renderFlags = FlexRenderFlags.ViewFirstRender\n renderView: FlexRenderView<any> | null = null\n\n readonly #latestContent = () => {\n const { content, props } = this\n return typeof content !== 'function'\n ? content\n : runInInjectionContext(this.injector, () => content(props))\n }\n\n #getContentValue = memo(\n () => [this.#latestContent(), this.props, this.content],\n latestContent => {\n return mapToFlexRenderTypedContent(latestContent)\n },\n { key: 'flexRenderContentValue', debug: () => false }\n )\n\n constructor(\n @Inject(ViewContainerRef)\n private readonly viewContainerRef: ViewContainerRef,\n @Inject(TemplateRef)\n private readonly templateRef: TemplateRef<any>\n ) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['props']) {\n this.renderFlags |= FlexRenderFlags.PropsReferenceChanged\n }\n if (changes['content']) {\n this.renderFlags |=\n FlexRenderFlags.ContentChanged | FlexRenderFlags.ViewFirstRender\n this.update()\n }\n }\n\n ngDoCheck(): void {\n if (this.renderFlags & FlexRenderFlags.ViewFirstRender) {\n // On the initial render, the view is created during the `ngOnChanges` hook.\n // Since `ngDoCheck` is called immediately afterward, there's no need to check for changes in this phase.\n this.renderFlags &= ~FlexRenderFlags.ViewFirstRender\n return\n }\n\n this.renderFlags |= FlexRenderFlags.DirtyCheck\n\n const latestContent = this.#getContentValue()\n if (latestContent.kind === 'null' || !this.renderView) {\n this.renderFlags |= FlexRenderFlags.ContentChanged\n } else {\n this.renderView.content = latestContent\n const { kind: previousKind } = this.renderView.previousContent\n if (latestContent.kind !== previousKind) {\n this.renderFlags |= FlexRenderFlags.ContentChanged\n }\n }\n this.update()\n }\n\n update() {\n if (\n this.renderFlags &\n (FlexRenderFlags.ContentChanged | FlexRenderFlags.ViewFirstRender)\n ) {\n this.render()\n return\n }\n if (this.renderFlags & FlexRenderFlags.PropsReferenceChanged) {\n if (this.renderView) this.renderView.updateProps(this.props)\n this.renderFlags &= ~FlexRenderFlags.PropsReferenceChanged\n }\n if (\n this.renderFlags &\n (FlexRenderFlags.DirtyCheck | FlexRenderFlags.DirtySignal)\n ) {\n if (this.renderView) this.renderView.dirtyCheck()\n this.renderFlags &= ~(\n FlexRenderFlags.DirtyCheck | FlexRenderFlags.DirtySignal\n )\n }\n }\n\n #currentEffectRef: EffectRef | null = null\n\n render() {\n if (this.#shouldRecreateEntireView() && this.#currentEffectRef) {\n this.#currentEffectRef.destroy()\n this.#currentEffectRef = null\n this.renderFlags &= ~FlexRenderFlags.RenderEffectChecked\n }\n\n this.viewContainerRef.clear()\n this.renderFlags =\n FlexRenderFlags.Pristine |\n (this.renderFlags & FlexRenderFlags.ViewFirstRender) |\n (this.renderFlags & FlexRenderFlags.RenderEffectChecked)\n\n const resolvedContent = this.#getContentValue()\n if (resolvedContent.kind === 'null') {\n this.renderView = null\n } else {\n this.renderView = this.#renderViewByContent(resolvedContent)\n }\n\n // If the content is a function `content(props)`, we initialize an effect\n // in order to react to changes if the given definition use signals.\n if (!this.#currentEffectRef && typeof this.content === 'function') {\n this.#currentEffectRef = effect(\n () => {\n this.#latestContent()\n if (!(this.renderFlags & FlexRenderFlags.RenderEffectChecked)) {\n this.renderFlags |= FlexRenderFlags.RenderEffectChecked\n return\n }\n this.renderFlags |= FlexRenderFlags.DirtySignal\n // This will mark the view as changed,\n // so we'll try to check for updates into ngDoCheck\n this.#changeDetectorRef.markForCheck()\n },\n { injector: this.viewContainerRef.injector }\n )\n }\n }\n\n #shouldRecreateEntireView() {\n return (\n this.renderFlags &\n FlexRenderFlags.ContentChanged &\n FlexRenderFlags.ViewFirstRender\n )\n }\n\n #renderViewByContent(\n content: FlexRenderTypedContent\n ): FlexRenderView<any> | null {\n if (content.kind === 'primitive') {\n return this.#renderStringContent(content)\n } else if (content.kind === 'templateRef') {\n return this.#renderTemplateRefContent(content)\n } else if (content.kind === 'flexRenderComponent') {\n return this.#renderComponent(content)\n } else if (content.kind === 'component') {\n return this.#renderCustomComponent(content)\n } else {\n return null\n }\n }\n\n #renderStringContent(\n template: Extract<FlexRenderTypedContent, { kind: 'primitive' }>\n ): FlexRenderTemplateView {\n const context = () => {\n return typeof this.content === 'string' ||\n typeof this.content === 'number'\n ? this.content\n : this.content?.(this.props)\n }\n const ref = this.viewContainerRef.createEmbeddedView(this.templateRef, {\n get $implicit() {\n return context()\n },\n })\n return new FlexRenderTemplateView(template, ref)\n }\n\n #renderTemplateRefContent(\n template: Extract<FlexRenderTypedContent, { kind: 'templateRef' }>\n ): FlexRenderTemplateView {\n const latestContext = () => this.props\n const view = this.viewContainerRef.createEmbeddedView(template.content, {\n get $implicit() {\n return latestContext()\n },\n })\n return new FlexRenderTemplateView(template, view)\n }\n\n #renderComponent(\n flexRenderComponent: Extract<\n FlexRenderTypedContent,\n { kind: 'flexRenderComponent' }\n >\n ): FlexRenderComponentView {\n const { inputs, outputs, injector } = flexRenderComponent.content\n\n const getContext = () => this.props\n const proxy = new Proxy(this.props, {\n get: (_, key) => getContext()[key as keyof typeof _],\n })\n const componentInjector = Injector.create({\n parent: injector ?? this.injector,\n providers: [{ provide: FlexRenderComponentProps, useValue: proxy }],\n })\n const view = this.#flexRenderComponentFactory.createComponent(\n flexRenderComponent.content,\n componentInjector\n )\n return new FlexRenderComponentView(flexRenderComponent, view)\n }\n\n #renderCustomComponent(\n component: Extract<FlexRenderTypedContent, { kind: 'component' }>\n ): FlexRenderComponentView {\n const view = this.#flexRenderComponentFactory.createComponent(\n flexRenderComponent(component.content, {\n inputs: this.props,\n injector: this.injector,\n }),\n this.injector\n )\n return new FlexRenderComponentView(component, view)\n }\n}\n","import { computed, type Signal, signal } from '@angular/core'\nimport {\n RowData,\n TableOptions,\n TableOptionsResolved,\n TableState,\n createTable,\n type Table,\n} from '@tanstack/table-core'\nimport { lazyInit } from './lazy-signal-initializer'\nimport { proxifyTable } from './proxy'\n\nexport * from '@tanstack/table-core'\n\nexport {\n type FlexRenderContent,\n FlexRenderDirective,\n FlexRenderDirective as FlexRender,\n injectFlexRenderContext,\n type FlexRenderComponentProps,\n} from './flex-render'\n\nexport {\n FlexRenderComponent,\n flexRenderComponent,\n} from './flex-render/flex-render-component'\n\nexport function createAngularTable<TData extends RowData>(\n options: () => TableOptions<TData>\n): Table<TData> & Signal<Table<TData>> {\n return lazyInit(() => {\n const resolvedOptions = {\n state: {},\n onStateChange: () => {},\n renderFallbackValue: null,\n ...options(),\n }\n\n const table = createTable(resolvedOptions)\n\n // By default, manage table state here using the table's initial state\n const state = signal<TableState>(table.initialState)\n\n // Compose table options using computed.\n // This is to allow `tableSignal` to listen and set table option\n const updatedOptions = computed<TableOptionsResolved<TData>>(() => {\n // listen to table state changed\n const tableState = state()\n // listen to input options changed\n const tableOptions = options()\n return {\n ...table.options,\n ...resolvedOptions,\n ...tableOptions,\n state: { ...tableState, ...tableOptions.state },\n onStateChange: updater => {\n const value =\n updater instanceof Function ? updater(tableState) : updater\n state.set(value)\n resolvedOptions.onStateChange?.(updater)\n },\n }\n })\n\n // convert table instance to signal for proxify to listen to any table state and options changes\n const tableSignal = computed(\n () => {\n table.setOptions(updatedOptions())\n return table\n },\n {\n equal: () => false,\n }\n )\n\n // proxify Table instance to provide ability for consumer to listen to any table state changes\n return proxifyTable(tableSignal)\n })\n}\n","/* eslint-disable jsdoc/require-jsdoc */\n/* eslint-disable jsdoc/require-returns */\n\nimport {\n Component,\n computed,\n input,\n TemplateRef,\n CUSTOM_ELEMENTS_SCHEMA,\n ContentChild,\n ContentChildren,\n QueryList,\n effect,\n signal,\n ElementRef,\n viewChild,\n AfterViewInit,\n OnDestroy,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n NvDatatableCellDirective,\n type NvDatatableCellContext,\n} from './nv-datatable-cell.directive';\nimport {\n createAngularTable,\n getCoreRowModel,\n getPaginationRowModel,\n FlexRenderDirective,\n type FlexRenderComponent,\n type ColumnDef,\n type CellContext,\n type PaginationState,\n} from './datatable.utils'; // local copy of @tanstack/angular-table (required for storybook, the built version is not working)\n\nexport type { CellContext as NvDatatableCellContext };\n\nexport { flexRenderComponent as nvDatatableRenderComponent } from './datatable.utils';\n\n/** Type definition for a datatable row. */\nexport type NvDatatableRow = Record<\n string,\n string | number | boolean | null | undefined | typeof Date\n>;\n\n/** Parameters for custom cell rendering function. */\nexport interface NvTableRenderCellParams<T extends NvDatatableRow, V> {\n value: V;\n row: T;\n field: keyof T;\n rowIndex: number;\n}\n\n/** Column definition for NvDatatable. */\nexport interface NvDatatableColumn<T extends NvDatatableRow> {\n field: keyof T;\n headerName?: string;\n width?: number;\n resizable?: boolean;\n hidden?: boolean;\n /**\n * Custom cell renderer function that can return either a string or Angular TemplateRef.\n * Use `$implicit` in your template to receive the CellContext.\n */\n renderCell?: (context: CellContext<T, unknown>) =>\n | string\n | FlexRenderComponent\n | TemplateRef<{\n $implicit: CellContext<T, unknown>;\n }>;\n}\n\n/**\n * Pagination configuration for NvDatatable.\n * Supports three modes: client-side, server-side with buttons, and infinite scroll.\n */\nexport interface NvDatatablePaginationConfig {\n /** Pagination mode */\n mode: 'client' | 'server' | 'infinite';\n /** Initial page size (default: 10) */\n initialPageSize?: number;\n /** Available page size options (default: [10, 20, 50, 100]) */\n pageSizeOptions?: number[];\n\n // Server-side (buttons) specific properties\n /** Total number of rows (for server-side pagination) */\n totalRowCount?: number;\n /** Total number of pages (for server-side pagination) */\n totalPageCount?: number;\n /** Callback when pagination state changes (for server-side pagination) */\n onPaginationChange?: (state: {\n /** Current page index */\n pageIndex: number;\n /** Current page size */\n pageSize: number;\n }) => void;\n\n // Infinite scroll specific properties\n /** Whether there are more items to load (for infinite scroll) */\n hasMore?: boolean;\n /** Whether data is currently loading (for infinite scroll) */\n isLoading?: boolean;\n /** Distance from bottom in pixels to trigger load (default: 500) */\n loadMoreThreshold?: number;\n /** Callback to load more data (for infinite scroll) */\n onLoadMore?: () => void;\n}\n\n/**\n * API exposed to pagination template for building custom pagination UI.\n */\nexport interface NvDatatableRenderPaginationAPI {\n /** Current page index (zero-based) */\n pageIndex: number;\n /** Current page size */\n pageSize: number;\n /** Total number of pages */\n pageCount: number;\n /** Total number of rows */\n rowCount: number;\n /** Navigate to first page */\n firstPage: () => void;\n /** Navigate to previous page */\n previousPage: () => void;\n /** Navigate to next page */\n nextPage: () => void;\n /** Navigate to last page */\n lastPage: () => void;\n /** Navigate to specific page by index */\n setPageIndex: (index: number) => void;\n /** Change page size */\n setPageSize: (size: number) => void;\n /** Whether previous page is available */\n canPreviousPage: boolean;\n /** Whether next page is available */\n canNextPage: boolean;\n /** Loading state (only for infinite scroll) */\n isLoading?: boolean;\n /** Whether more items are available (only for infinite scroll) */\n hasMore?: boolean;\n}\n\n/**\n * Nova Datatable built on TanStack Table (Angular).\n */\n@Component({\n selector: 'nv-datatable',\n standalone: true,\n imports: [CommonModule, FlexRenderDirective],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: `\n <nv-table>\n <table>\n <thead [attr.data-sticky-top]=\"stickyHeader() ? 'true' : null\">\n @for (headerGroup of table().getHeaderGroups(); track headerGroup.id)\n {\n <tr>\n @for (header of headerGroup.headers; track header.id) {\n <th\n [attr.data-testid]=\"'datatable-header-' + header.id\"\n [style.width]=\"\n header.column.columnDef.size\n ? header.column.columnDef.size + 'px'\n : null\n \"\n [attr.data-no-resize]=\"\n !header.column.columnDef.enableResizing ? 'true' : null\n \"\n >\n @if (!header.isPlaceholder) {\n {{ header.column.columnDef.header }}\n }\n </th>\n }\n </tr>\n }\n </thead>\n\n <tbody>\n @for (row of table().getRowModel().rows; track row.id; let i = $index)\n {\n <tr\n [attr.data-testid]=\"'datatable-row-' + row.id\"\n #tableRow\n [attr.data-is-last]=\"\n isInfiniteScroll() && i === table().getRowModel().rows.length - 1\n ? 'true'\n : null\n \"\n >\n @for (cell of row.getVisibleCells(); track cell.id) {\n <td [attr.data-testid]=\"'datatable-cell-' + cell.id\">\n <ng-container\n *flexRender=\"\n cell.column.columnDef.cell;\n props: cell.getContext();\n let cellContent\n \"\n >\n {{ cellContent }}\n </ng-container>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </nv-table>\n\n <!-- Render pagination if configured -->\n @if (paginationAPI()) {\n <ng-container\n *ngTemplateOutlet=\"\n paginationTemplate || null;\n context: { $implicit: paginationAPI() }\n \"\n ></ng-container>\n }\n `,\n})\nexport class NvDatatable<T extends NvDatatableRow = NvDatatableRow>\n implements AfterViewInit, OnDestroy\n{\n /** Column definitions */\n columns = input<NvDatatableColumn<T>[]>([]);\n /** Row data */\n rows = input<T[]>([]);\n /** Optional pagination configuration */\n pagination = input<NvDatatablePaginationConfig | undefined>(undefined);\n /** Should the header stick to the top of the table when scrolling? */\n stickyHeader = input<boolean>(false);\n\n /** Template for custom pagination UI */\n @ContentChild('paginationTemplate', { read: TemplateRef })\n paginationTemplate?: TemplateRef<{\n $implicit: NvDatatableRenderPaginationAPI;\n }>;\n\n /** Cell templates provided via nvDatatableCell directive */\n @ContentChildren(NvDatatableCellDirective)\n cellTemplates?: QueryList<NvDatatableCellDirective<T>>;\n\n /** Signal to track cell templates array */\n private cellTemplatesSignal = signal<NvDatatableCellDirective<T>[]>([]);\n\n /** Map of field names to cell templates */\n private cellTemplateMap = computed(() => {\n const map = new Map<string, TemplateRef<NvDatatableCellContext<T>>>();\n this.cellTemplatesSignal().forEach((directive) => {\n map.set(directive.nvDatatableCell, directive.template);\n });\n return map;\n });\n\n /** Pagination state for server mode */\n private paginationState = signal<PaginationState>({\n pageIndex: 0,\n pageSize: this.pagination()?.initialPageSize || 10,\n });\n\n /** Reference to table rows for infinite scroll observer */\n private tableRows = viewChild<ElementRef>('tableRow');\n\n /** Intersection observer for infinite scroll */\n private observer: IntersectionObserver | null = null;\n\n /** Helper to check if using infinite scroll */\n isInfiniteScroll = computed(() => this.pagination()?.mode === 'infinite');\n\n /** Computed table columns with proper typing and filtering. */\n tableColumns = computed<ColumnDef<T>[]>(() => {\n const templateMap = this.cellTemplateMap();\n\n return this.columns()\n .filter((col) => !col.hidden)\n .map((col) => ({\n accessorKey: col.field as string,\n header: col.headerName || String(col.field),\n size: col.width,\n enableResizing: col.resizable ?? true,\n cell: (context: CellContext<T, unknown>) => {\n const fieldName = String(col.field);\n const cellTemplate = templateMap.get(fieldName);\n\n // Priority: template > renderCell > default\n if (cellTemplate) {\n // Return TemplateRef directly - FlexRender will handle it\n return cellTemplate;\n }\n\n // Fall back to renderCell if provided\n if (col.renderCell) {\n return col.renderCell(context);\n }\n\n // Default: just return the value\n return context.getValue();\n },\n }));\n });\n\n /** TanStack table instance with Signals */\n private tableInstance = createAngularTable(() => {\n const paginationConfig = this.pagination();\n\n if (!paginationConfig || paginationConfig.mode === 'infinite') {\n // No pagination or infinite scroll - simple config\n return {\n data: this.rows(),\n columns: this.tableColumns(),\n getCoreRowModel: getCoreRowModel(),\n };\n } else if (paginationConfig.mode === 'client') {\n // Client-side pagination\n return {\n data: this.rows(),\n columns: this.tableColumns(),\n getCoreRowModel: getCoreRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n initialState: {\n pagination: {\n pageIndex: 0,\n pageSize: paginationConfig.initialPageSize || 10,\n },\n },\n };\n } else {\n // Server-side pagination\n const pageSize = this.paginationState().pageSize;\n return {\n data: this.rows(),\n columns: this.tableColumns(),\n getCoreRowModel: getCoreRowModel(),\n manualPagination: true,\n pageCount:\n paginationConfig.totalPageCount !== undefined\n ? paginationConfig.totalPageCount\n : paginationConfig.totalRowCount !== undefined\n ? Math.ceil(paginationConfig.totalRowCount / pageSize)\n : -1,\n state: {\n pagination: this.paginationState(),\n },\n onPaginationChange: (\n updaterOrValue:\n | PaginationState\n | ((old: PaginationState) => PaginationState),\n ) => {\n if (typeof updaterOrValue === 'function') {\n this.paginationState.set(updaterOrValue(this.paginationState()));\n } else {\n this.paginationState.set(updaterOrValue);\n }\n },\n };\n }\n });\n\n /** Public getter for table instance. */\n table() {\n return this.tableInstance();\n }\n\n /** Build pagination API for template */\n paginationAPI = computed<NvDatatableRenderPaginationAPI | null>(() => {\n const paginationConfig = this.pagination();\n if (!paginationConfig) {\n return null;\n }\n\n const table = this.table();\n const tablePaginationState = table.getState().pagination;\n const pageCount = table.getPageCount();\n const rowCount =\n paginationConfig.mode === 'server'\n ? paginationConfig.totalRowCount || this.rows().length\n : this.rows().length;\n\n return {\n pageIndex: tablePaginationState.pageIndex,\n pageSize: tablePaginationState.pageSize,\n pageCount,\n rowCount,\n firstPage: () => table.setPageIndex(0),\n previousPage: () => table.previousPage(),\n nextPage: () => table.nextPage(),\n lastPage: () => table.setPageIndex(pageCount - 1),\n setPageIndex: (index: number) => table.setPageIndex(index),\n setPageSize: (size: number) => table.setPageSize(size),\n canPreviousPage: table.getCanPreviousPage(),\n canNextPage: table.getCanNextPage(),\n isLoading:\n paginationConfig.mode === 'infinite'\n ? paginationConfig.isLoading\n : undefined,\n hasMore:\n paginationConfig.mode === 'infinite'\n ? paginationConfig.hasMore\n : undefined,\n };\n });\n\n constructor() {\n // Watch pagination state changes for server mode\n effect(\n () => {\n const paginationConfig = this.pagination();\n const state = this.paginationState();\n\n if (\n paginationConfig?.mode === 'server' &&\n paginationConfig.onPaginationChange\n ) {\n paginationConfig.onPaginationChange({\n pageIndex: state.pageIndex,\n pageSize: state.pageSize,\n });\n }\n },\n { allowSignalWrites: true },\n );\n\n // Set up intersection observer for infinite scroll\n effect(\n () => {\n const paginationConfig = this.pagination();\n const rows = this.rows(); // Track rows changes\n\n // Clean up existing observer\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n\n // Only set up observer for infinite scroll mode\n if (paginationConfig?.mode !== 'infinite' || rows.length === 0) {\n return;\n }\n\n // Use setTimeout to ensure DOM is updated\n setTimeout(() => {\n const threshold = paginationConfig.loadMoreThreshold || 500;\n\n // Find the last row element\n const tableRowElements = document.querySelectorAll(\n '[data-is-last=\"true\"]',\n );\n const lastRowElement = tableRowElements[tableRowElements.length - 1];\n\n if (!lastRowElement) {\n return;\n }\n\n this.observer = new IntersectionObserver(\n (entries) => {\n const entry = entries[0];\n if (\n entry.isIntersecting &&\n paginationConfig.mode === 'infinite' &&\n paginationConfig.hasMore &&\n !paginationConfig.isLoading &&\n paginationConfig.onLoadMore\n ) {\n paginationConfig.onLoadMore();\n }\n },\n {\n rootMargin: `${threshold}px`,\n root: null,\n },\n );\n\n this.observer.observe(lastRowElement);\n }, 0);\n },\n { allowSignalWrites: true },\n );\n }\n\n ngAfterViewInit(): void {\n // Sync cell templates QueryList to signal\n if (this.cellTemplates) {\n this.cellTemplatesSignal.set(this.cellTemplates.toArray());\n\n // Subscribe to changes in the QueryList\n this.cellTemplates.changes.subscribe(() => {\n if (this.cellTemplates) {\n this.cellTemplatesSignal.set(this.cellTemplates.toArray());\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n }\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\n@Directive({})\nexport class ValueAccessor implements ControlValueAccessor {\n private onChange: (value: unknown) => void = () => {};\n private onTouched: () => void = () => {};\n protected lastValue: unknown = null;\n\n constructor(protected el: ElementRef) {}\n\n writeValue(value: unknown) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n\n handleChangeEvent(value: unknown) {\n if (value !== this.lastValue) {\n this.lastValue = value;\n this.onChange(value);\n }\n }\n\n @HostListener('focusout')\n _handleBlurEvent() {\n this.onTouched();\n }\n\n registerOnChange(fn: (value: unknown) => void) {\n this.onChange = fn;\n }\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.el.nativeElement.disabled = isDisabled;\n }\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ValueAccessor } from '../value-accessor';\n\n@Directive({\n selector: 'nv-accordion',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvAccordionValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvAccordionValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('openIndexesChanged', ['$event'])\n handleOpenIndexesChanged(event: any) {\n this.handleChangeEvent(event.target.openIndexes)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.openIndexes = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-alert',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvAlertValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvAlertValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('hiddenChanged', ['$event'])\n handleHiddenChanged(event: any) {\n this.handleChangeEvent(event.target.hidden)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.hidden = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-calendar',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvCalendarValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvCalendarValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-datagrid',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvDatagridValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvDatagridValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('stateChanged', ['$event'])\n handleStateChanged(event: any) {\n this.handleChangeEvent(event.target.state)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.state = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-dialog',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvDialogValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvDialogValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('openChanged', ['$event'])\n handleOpenChanged(event: any) {\n this.handleChangeEvent(event.target.open)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.open = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldcheckbox',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldcheckboxValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldcheckboxValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('checkedChanged', ['$event'])\n handleCheckedChanged(event: any) {\n this.handleChangeEvent(event.target.checked)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.checked = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fielddate',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFielddateValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFielddateValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fielddaterange',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFielddaterangeValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFielddaterangeValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fielddropdown',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFielddropdownValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFielddropdownValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldmultiselect',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldmultiselectValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldmultiselectValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldnumber',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldnumberValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldnumberValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldpassword',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldpasswordValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldpasswordValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldradio',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldradioValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldradioValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('checkedChanged', ['$event'])\n handleCheckedChanged(event: any) {\n this.handleChangeEvent(event.target.checked)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.checked = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldselect',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldselectValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldselectValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldslider',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldsliderValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldsliderValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldtext',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldtextValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldtextValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldtextarea',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldtextareaValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldtextareaValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-fieldtime',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvFieldtimeValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvFieldtimeValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-notification',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvNotificationValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvNotificationValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('hiddenChanged', ['$event'])\n handleHiddenChanged(event: any) {\n this.handleChangeEvent(event.target.hidden)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.hidden = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-popover',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvPopoverValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvPopoverValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('openChanged', ['$event'])\n handleOpenChanged(event: any) {\n this.handleChangeEvent(event.target.open)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.open = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-split',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvSplitValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvSplitValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('sizesChanged', ['$event'])\n handleSizesChanged(event: any) {\n this.handleChangeEvent(event.target.sizes)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.sizes = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-toggle',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvToggleValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvToggleValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('checkedChanged', ['$event'])\n handleCheckedChanged(event: any) {\n this.handleChangeEvent(event.target.checked)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.checked = this.lastValue = value;\n }\n}\n\n@Directive({\n selector: 'nv-togglebuttongroup',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NvTogglebuttongroupValueAccessor,\n multi: true,\n },\n ],\n})\nexport class NvTogglebuttongroupValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n\n @HostListener('valueChanged', ['$event'])\n handleValueChanged(event: any) {\n this.handleChangeEvent(event.target.value)\n }\n\n override writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value;\n }\n}\n\n\nexport const VALUE_ACCESSORS = [\n NvAccordionValueAccessor,\n NvAlertValueAccessor,\n NvCalendarValueAccessor,\n NvDatagridValueAccessor,\n NvDialogValueAccessor,\n NvFieldcheckboxValueAccessor,\n NvFielddateValueAccessor,\n NvFielddaterangeValueAccessor,\n NvFielddropdownValueAccessor,\n NvFieldmultiselectValueAccessor,\n NvFieldnumberValueAccessor,\n NvFieldpasswordValueAccessor,\n NvFieldradioValueAccessor,\n NvFieldselectValueAccessor,\n NvFieldsliderValueAccessor,\n NvFieldtextValueAccessor,\n NvFieldtextareaValueAccessor,\n NvFieldtimeValueAccessor,\n NvNotificationValueAccessor,\n NvPopoverValueAccessor,\n NvSplitValueAccessor,\n NvToggleValueAccessor,\n NvTogglebuttongroupValueAccessor,\n];","import { APP_INITIALIZER, NgModule, type Provider } from '@angular/core';\nimport { defineCustomElements } from '@nova-design-system/nova-webcomponents/loader';\n\nimport { DIRECTIVES } from './stencil-generated';\nimport { NvDatatable } from './components/index';\nimport { VALUE_ACCESSORS } from './stencil-generated/component-value-accessors';\n\n/**\n * Initialize the Nova Components\n *\n * @returns {Provider} - The provider to be used for nova components\n */\nexport function provideNovaComponents(): Provider {\n return {\n provide: APP_INITIALIZER,\n useFactory: () => defineCustomElements,\n multi: true,\n };\n}\n\n@NgModule({\n imports: [NvDatatable],\n declarations: [...DIRECTIVES],\n exports: [...DIRECTIVES, NvDatatable],\n providers: [provideNovaComponents()],\n})\nexport class NovaComponentsModule {}\n\n@NgModule({\n declarations: [...VALUE_ACCESSORS],\n exports: [...VALUE_ACCESSORS],\n})\nexport class NovaComponentsValueAccessorModule {}\n","import { Injectable, type Type } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport {\n NotificationEmphasis,\n FeedbackColors,\n} from '@nova-design-system/nova-webcomponents';\n\n/**\n * Action callbacks for notifications. Will render buttons automatically.\n */\nexport interface NotificationAction {\n /** The label of the action. */\n label: string;\n /** The callback to execute when the action is clicked. */\n onClick: () => void;\n}\n\n/**\n * Options for creating a notification.\n */\nexport interface NotificationOptions {\n /** Unique identifier for the notification. If not provided, one will be generated. */\n id?: string;\n /** Short and concise text for the notification heading. */\n heading?: string;\n /** Main content of the notification. */\n message?: string;\n /** Whether the notification can be manually dismissed via close button. */\n dismissible?: boolean;\n /** Adjusts the emphasis to make the notification more or less visually\n * prominent to users. Use this to draw attention to important actions or\n * reduce focus on less critical ones */\n emphasis?: `${NotificationEmphasis}`;\n /** Type of the notification, used to determine the color and default icon. */\n feedback?: `${FeedbackColors}`;\n /** Custom icon name to override the default icon. */\n icon?: string;\n /** Notification actions */\n actions?: NotificationAction[];\n /** Custom components for the notification actions. */\n actionSlot?: Type<unknown>;\n}\n\n/**\n * A notification with all required fields populated.\n */\nexport interface Notification extends NotificationOptions {\n /** Timestamp when the notification was created. */\n createdAt: number;\n}\n\n/**\n * Configuration options for the NotificationService.\n */\nexport interface NotificationServiceConfig {\n /** Position of the notification container on the screen. */\n position?: string;\n /** Maximum number of notifications to display at once. */\n maxNotifications?: number;\n /** Additional CSS class name for the notification container. */\n className?: string;\n}\n\n/**\n * Utility function to generate unique IDs.\n *\n * @returns {string} A unique identifier string\n */\nconst generateId = (): string => {\n return `notification-${Date.now()}-${Math.random()\n .toString(36)\n .substr(2, 9)}`;\n};\n\n/**\n * Angular service for managing notifications.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class NotificationService {\n private readonly _notifications = new BehaviorSubject<Notification[]>([]);\n private readonly _config: Required<NotificationServiceConfig>;\n\n /**\n * Observable stream of active notifications.\n */\n public readonly notifications$: Observable<Notification[]> =\n this._notifications.asObservable();\n\n /**\n * Current array of notifications.\n *\n * @returns {Notification[]} Array of active notifications\n */\n public get notifications(): Notification[] {\n return this._notifications.value;\n }\n\n constructor() {\n this._config = {\n position: 'top-right',\n maxNotifications: 50,\n className: '',\n };\n }\n\n /**\n * Configure the notification service.\n *\n * @param {NotificationServiceConfig} config Configuration options\n */\n configure(config: NotificationServiceConfig): void {\n Object.assign(this._config, config);\n }\n\n /**\n * Get the current configuration.\n *\n * @returns {Required<NotificationServiceConfig>} Current configuration\n */\n get config(): Required<NotificationServiceConfig> {\n return { ...this._config };\n }\n\n // keep track of all notification refs\n private elRefs = new Map<string, HTMLNvNotificationElement>();\n registerRef(id: string, el: HTMLNvNotificationElement): void {\n this.elRefs.set(id, el);\n }\n unregisterRef(id: string): void {\n this.elRefs.delete(id);\n }\n clearRefs() {\n this.elRefs.clear();\n }\n\n /**\n * Show a new notification.\n *\n * @param {NotificationOptions} options The notification options\n * @returns {string} The notification ID\n */\n show(options: NotificationOptions): string {\n const id = options.id || generateId();\n\n const notification: Notification = {\n id,\n heading: options.heading,\n message: options.message,\n dismissible: options.dismissible ?? true,\n emphasis: options.emphasis ?? 'medium',\n feedback: options.feedback ?? 'information',\n icon: options.icon,\n actions: options.actions ?? [],\n actionSlot: options.actionSlot,\n createdAt: Date.now(),\n };\n\n const currentNotifications = this._notifications.value;\n\n // Remove oldest notifications if we exceed max\n const newNotifications = [notification, ...currentNotifications];\n if (newNotifications.length > this._config.maxNotifications) {\n this._notifications.next(\n newNotifications.slice(0, this._config.maxNotifications),\n );\n } else {\n this._notifications.next(newNotifications);\n }\n\n setTimeout(() => {\n const ref = this.elRefs.get(id) as HTMLNvNotificationElement | undefined;\n ref?.show();\n }, 0);\n\n return id;\n }\n\n /**\n * Dismiss a specific notification by ID. This will remove the notification\n * after the animation completes.\n *\n * @param {string} id The notification ID to dismiss\n */\n dismiss(id: string): void {\n this.elRefs.get(id)?.dismiss?.();\n }\n\n /**\n * Immediately remove a specific notification by ID.\n *\n * @param {string} id The notification ID to dismiss\n */\n remove(id: string): void {\n const currentNotifications = this._notifications.value;\n const filteredNotifications = currentNotifications.filter(\n (notification) => notification.id !== id,\n );\n this._notifications.next(filteredNotifications);\n }\n\n /**\n * Immediately remove all active notifications.\n */\n removeAll(): void {\n this._notifications.next([]);\n }\n}\n","import {\n Component,\n Input,\n OnDestroy,\n OnInit,\n ViewChildren,\n ElementRef,\n QueryList,\n CUSTOM_ELEMENTS_SCHEMA,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Subscription } from 'rxjs';\n// import { NovaComponentsModule } from '../nova-components.module';\nimport { NotificationService, type Notification } from './notification.service';\n\n/**\n * Angular component that renders the notification container with active notifications.\n */\n@Component({\n selector: 'nv-notification-service',\n standalone: true,\n imports: [CommonModule],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: `\n <nv-notificationcontainer\n [position]=\"position\"\n [class]=\"className\"\n data-testid=\"notification-container\"\n >\n <nv-notification\n *ngFor=\"\n let notification of notifications;\n trackBy: trackByNotificationId\n \"\n #notificationEl\n [attr.data-id]=\"notification.id\"\n [heading]=\"notification.heading\"\n [message]=\"notification.message\"\n [dismissible]=\"notification.dismissible\"\n [emphasis]=\"notification.emphasis\"\n [feedback]=\"notification.feedback\"\n [icon]=\"notification.icon\"\n [initiallyHidden]=\"true\"\n (hiddenChanged)=\"handleHiddenChanged($event, notification.id)\"\n >\n <!-- Actions slot content for the custom element -->\n <div\n slot=\"actions\"\n class=\"flex gap-2\"\n *ngIf=\"notification.actions?.length || notification.actionSlot\"\n >\n <!-- Config-driven actions -->\n <nv-button\n *ngFor=\"let action of notification.actions\"\n emphasis=\"low\"\n size=\"sm\"\n (click)=\"action.onClick()\"\n >\n {{ action.label }}\n </nv-button>\n\n <!-- Component-driven actions -->\n <ng-container\n *ngIf=\"notification.actionSlot\"\n [ngComponentOutlet]=\"notification.actionSlot\"\n ></ng-container>\n </div>\n </nv-notification>\n </nv-notificationcontainer>\n `,\n})\nexport class NotificationServiceComponent implements OnInit, OnDestroy {\n /**\n * Position of the notification container on the screen.\n */\n @Input() position?: string;\n\n /**\n * Additional CSS class name for the notification container.\n */\n @Input() className?: string;\n\n /**\n * Array of active notifications.\n */\n notifications: Notification[] = [];\n\n /**\n * References to the notification elements.\n */\n @ViewChildren('notificationEl', { read: ElementRef })\n private notificationEls!: QueryList<ElementRef<HTMLNvNotificationElement>>;\n\n private subscription?: Subscription;\n\n constructor(private notificationService: NotificationService) {}\n\n /**\n * Component initialization.\n */\n ngOnInit(): void {\n // Use service config if no input provided\n this.position ??= this.notificationService.config.position;\n this.className ??= this.notificationService.config.className;\n\n // Subscribe to notification changes\n this.subscription = this.notificationService.notifications$.subscribe(\n (list) => (this.notifications = list),\n );\n }\n\n /**\n * Synchronize notification elements/refs with the service.\n */\n ngAfterViewInit(): void {\n const sync = () => {\n this.notificationService.clearRefs();\n for (const elRef of this.notificationEls.toArray()) {\n const el = elRef.nativeElement;\n const id = el.getAttribute('data-id');\n if (id) this.notificationService.registerRef(id, el);\n }\n };\n sync();\n this.notificationEls.changes.subscribe(sync);\n }\n\n /**\n * Component cleanup.\n */\n ngOnDestroy(): void {\n this.subscription?.unsubscribe();\n this.notificationService.clearRefs();\n }\n\n /**\n * Track function for ngFor to optimize rendering.\n *\n * @param {number} index The index of the item\n * @param {Notification} notification The notification item\n * @returns {string} The notification ID\n */\n trackByNotificationId(index: number, notification: Notification) {\n return notification.id;\n }\n\n /**\n * Handle notification hidden state change.\n *\n * @param {CustomEvent<boolean>} event The hidden changed event\n * @param {string} id The notification ID\n */\n handleHiddenChanged(event: CustomEvent<boolean>, id?: string): void {\n if (event.detail && id) {\n this.notificationService.remove(id);\n }\n }\n}\n","/*\n * Public API Surface of nova-components\n */\n\nexport * from './lib/nova-components.module';\nexport * from './lib/stencil-generated/components';\nexport * from './lib/stencil-generated/component-value-accessors';\nexport * from './lib/providers';\nexport * from './lib/components';\nexport * from '@nova-design-system/nova-webcomponents/constants';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["d.NvAccordion","d.NvAccordionItem","d.NvAlert","d.NvAvatar","d.NvBadge","d.NvBreadcrumb","d.NvBreadcrumbs","d.NvButton","d.NvButtongroup","d.NvCalendar","d.NvCol","d.NvDatagrid","d.NvDatagridcolumn","d.NvDialog","d.NvDialogfooter","d.NvDialogheader","d.NvFieldcheckbox","d.NvFielddate","d.NvFielddaterange","d.NvFielddropdown","d.NvFielddropdownitem","d.NvFielddropdownitemcheck","d.NvFieldmultiselect","d.NvFieldnumber","d.NvFieldpassword","d.NvFieldradio","d.NvFieldselect","d.NvFieldslider","d.NvFieldtext","d.NvFieldtextarea","d.NvFieldtime","d.NvIcon","d.NvIconbutton","d.NvLoader","d.NvMenu","d.NvMenuitem","d.NvNotification","d.NvNotificationcontainer","d.NvPopover","d.NvRow","d.NvSplit","d.NvStack","d.NvTable","d.NvToggle","d.NvTogglebutton","d.NvTogglebuttongroup","d.NvTooltip","i1.NvAccordion","i1.NvAccordionItem","i1.NvAlert","i1.NvAvatar","i1.NvBadge","i1.NvBreadcrumb","i1.NvBreadcrumbs","i1.NvButton","i1.NvButtongroup","i1.NvCalendar","i1.NvCol","i1.NvDatagrid","i1.NvDatagridcolumn","i1.NvDialog","i1.NvDialogfooter","i1.NvDialogheader","i1.NvFieldcheckbox","i1.NvFielddate","i1.NvFielddaterange","i1.NvFielddropdown","i1.NvFielddropdownitem","i1.NvFielddropdownitemcheck","i1.NvFieldmultiselect","i1.NvFieldnumber","i1.NvFieldpassword","i1.NvFieldradio","i1.NvFieldselect","i1.NvFieldslider","i1.NvFieldtext","i1.NvFieldtextarea","i1.NvFieldtime","i1.NvIcon","i1.NvIconbutton","i1.NvLoader","i1.NvMenu","i1.NvMenuitem","i1.NvNotification","i1.NvNotificationcontainer","i1.NvPopover","i1.NvRow","i1.NvSplit","i1.NvStack","i1.NvTable","i1.NvToggle","i1.NvTogglebutton","i1.NvTogglebuttongroup","i1.NvTooltip","i2.NvAccordionValueAccessor","i2.NvAlertValueAccessor","i2.NvCalendarValueAccessor","i2.NvDatagridValueAccessor","i2.NvDialogValueAccessor","i2.NvFieldcheckboxValueAccessor","i2.NvFielddateValueAccessor","i2.NvFielddaterangeValueAccessor","i2.NvFielddropdownValueAccessor","i2.NvFieldmultiselectValueAccessor","i2.NvFieldnumberValueAccessor","i2.NvFieldpasswordValueAccessor","i2.NvFieldradioValueAccessor","i2.NvFieldselectValueAccessor","i2.NvFieldsliderValueAccessor","i2.NvFieldtextValueAccessor","i2.NvFieldtextareaValueAccessor","i2.NvFieldtimeValueAccessor","i2.NvNotificationValueAccessor","i2.NvPopoverValueAccessor","i2.NvSplitValueAccessor","i2.NvToggleValueAccessor","i2.NvTogglebuttongroupValueAccessor","i1.NotificationService"],"mappings":";;;;;;;;;;;AAAA;AACA;AAGO,MAAM,WAAW,GAAG,CAAC,GAAQ,EAAE,MAAgB,KAAI;AACxD,IAAA,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS;AAC/B,IAAA,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACtB,QAAA,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE;YACrC,GAAG,GAAA;AACD,gBAAA,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;YACtB,CAAC;AACD,YAAA,GAAG,CAAC,GAAQ,EAAA;AACV,gBAAA,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YACvD,CAAC;AACD;;;;;;AAMG;AACH,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA,CAAC;AACJ,IAAA,CAAC,CAAC;AACJ,CAAC;AAEM,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAE,OAAiB,KAAI;AAC1D,IAAA,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS;AAC/B,IAAA,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,KAAI;QAC7B,SAAS,CAAC,UAAU,CAAC,GAAG,YAAA;YACtB,MAAM,IAAI,GAAG,SAAS;YACtB,OAAO,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACjF,QAAA,CAAC;AACH,IAAA,CAAC,CAAC;AACJ,CAAC;AAEM,MAAM,YAAY,GAAG,CAAC,QAAa,EAAE,EAAO,EAAE,MAAgB,KAAI;IACvE,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,MAAM,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;AACjF,CAAC;AAEM,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,aAAkB,KAAI;AACzE,IAAA,IAAI,aAAa,KAAK,SAAS,IAAI,OAAO,cAAc,KAAK,WAAW,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACxG,QAAA,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC;IAC/C;AACF,CAAC;AAED;AACM,SAAU,QAAQ,CAAC,IAAyE,EAAA;IAChG,MAAM,SAAS,GAAG,UAAU,GAAQ,EAAA;QAClC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI;AAEvD,QAAA,IAAI,qBAAqB,KAAK,SAAS,EAAE;AACvC,YAAA,qBAAqB,EAAE;QACzB;QAEA,IAAI,MAAM,EAAE;AACV,YAAA,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC;QAC1B;QACA,IAAI,OAAO,EAAE;AACX,YAAA,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC;QAC5B;AACA,QAAA,OAAO,GAAG;AACZ,IAAA,CAAC;AACD,IAAA,OAAO,SAAS;AAClB;;AC3CO,IAAM,WAAW,GAAjB,MAAM,WAAW,CAAA;AAEtB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC;IACrD;+GANW,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,WAAW,wHALZ,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,WAAW,GAAA,UAAA,CAAA;AAZvB,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;AACvC,QAAA,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO;KAC1B;AASY,CAAA,EAAA,WAAW,CAOvB;4FAPY,WAAW,EAAA,UAAA,EAAA,CAAA;kBARvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;oBACxB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;AACvC,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA+BM,IAAM,eAAe,GAArB,MAAM,eAAe,CAAA;AAE1B,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IAC7C;+GANW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,2MALhB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,eAAe,GAAA,UAAA,CAAA;AAZ3B,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC;QACjF,OAAO,EAAE,CAAC,QAAQ;KACnB;AASY,CAAA,EAAA,eAAe,CAO3B;4FAPY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC;AACjF,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA8BM,IAAM,OAAO,GAAb,MAAM,OAAO,CAAA;AAElB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACzB,QAAA,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,EAAE,uBAAuB,EAAE,cAAc,CAAC,CAAC;IACzF;+GANW,OAAO,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,OAAO,gRALR,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,OAAO,GAAA,UAAA,CAAA;AAXnB,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB;KAC3H;AASY,CAAA,EAAA,OAAO,CAOnB;4FAPY,OAAO,EAAA,UAAA,EAAA,CAAA;kBARnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;oBACpB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC;AAC3H,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAuCM,IAAM,QAAQ,GAAd,MAAM,QAAQ,CAAA;AAEnB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;IAC3B;+GALW,QAAQ,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,yPALT,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,QAAQ,GAAA,UAAA,CAAA;AAXpB,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;KAClH;AASY,CAAA,EAAA,QAAQ,CAMpB;4FANY,QAAQ,EAAA,UAAA,EAAA,CAAA;kBARpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;oBACrB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;AAClH,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAwBM,IAAM,OAAO,GAAb,MAAM,OAAO,CAAA;AAElB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACzB,QAAA,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,uBAAuB,CAAC,CAAC;IACzF;+GANW,OAAO,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,OAAO,oSALR,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,OAAO,GAAA,UAAA,CAAA;AAXnB,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB;KACtI;AASY,CAAA,EAAA,OAAO,CAOnB;4FAPY,OAAO,EAAA,UAAA,EAAA,CAAA;kBARnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;oBACpB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,CAAC;AACtI,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAuCM,IAAM,YAAY,GAAlB,MAAM,YAAY,CAAA;AAEvB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;IAC3B;+GALW,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,YAAY,uHALb,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,YAAY,GAAA,UAAA,CAAA;AAXxB,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM;KACtC;AASY,CAAA,EAAA,YAAY,CAMxB;4FANY,YAAY,EAAA,UAAA,EAAA,CAAA;kBARxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;oBACzB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;AACtC,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAuBM,IAAM,aAAa,GAAnB,MAAM,aAAa,CAAA;AAExB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;IAC3B;+GALW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,sDALd,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,aAAa,GAAA,UAAA,CAAA;IAVzB,QAAQ,CAAC,EACT;AASY,CAAA,EAAA,aAAa,CAMzB;4FANY,aAAa,EAAA,UAAA,EAAA,CAAA;kBARzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,EAAE;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAwBM,IAAM,QAAQ,GAAd,MAAM,QAAQ,CAAA;AAEnB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;IAC3B;+GALW,QAAQ,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,2NALT,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,QAAQ,GAAA,UAAA,CAAA;AAXpB,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;KAChG;AASY,CAAA,EAAA,QAAQ,CAMpB;4FANY,QAAQ,EAAA,UAAA,EAAA,CAAA;kBARpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;oBACrB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AAChG,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAwBM,IAAM,aAAa,GAAnB,MAAM,aAAa,CAAA;AAExB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;IAC3B;+GALW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,kJALd,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,aAAa,GAAA,UAAA,CAAA;AAXzB,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM;KACpD;AASY,CAAA,EAAA,aAAa,CAMzB;4FANY,aAAa,EAAA,UAAA,EAAA,CAAA;kBARzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC;AACpD,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAyBM,IAAM,UAAU,GAAhB,MAAM,UAAU,CAAA;AAErB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACzB,QAAA,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC;IACtF;+GANW,UAAU,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,+gBALX,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,UAAU,GAAA,UAAA,CAAA;AAZtB,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,CAAC;QACjQ,OAAO,EAAE,CAAC,OAAO;KAClB;AASY,CAAA,EAAA,UAAU,CAOtB;4FAPY,UAAU,EAAA,UAAA,EAAA,CAAA;kBARtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;oBACvB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,CAAC;AACjQ,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAsCM,IAAM,KAAK,GAAX,MAAM,KAAK,CAAA;AAEhB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;IAC3B;+GALW,KAAK,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAL,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,KAAK,wEALN,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,KAAK,GAAA,UAAA,CAAA;AAXjB,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,MAAM;KAChB;AASY,CAAA,EAAA,KAAK,CAMjB;4FANY,KAAK,EAAA,UAAA,EAAA,CAAA;kBARjB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,QAAQ;oBAClB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,MAAM,CAAC;AAChB,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAwBM,IAAM,UAAU,GAAhB,MAAM,UAAU,CAAA;AAErB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACzB,QAAA,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACzE;+GANW,UAAU,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,qgBALX,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,UAAU,GAAA,UAAA,CAAA;AAXtB,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,qBAAqB,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,EAAE,eAAe,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO;KACzP;AASY,CAAA,EAAA,UAAU,CAOtB;4FAPY,UAAU,EAAA,UAAA,EAAA,CAAA;kBARtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;oBACvB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,qBAAqB,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,EAAE,eAAe,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC;AACzP,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAsCM,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB,CAAA;AAE3B,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;IAC3B;+GALW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,+JALjB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,gBAAgB,GAAA,UAAA,CAAA;AAX5B,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB;KACzD;AASY,CAAA,EAAA,gBAAgB,CAM5B;4FANY,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAC;AACnF,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAyBM,IAAM,QAAQ,GAAd,MAAM,QAAQ,CAAA;AAEnB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;IAC9C;+GANW,QAAQ,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,yMALT,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,QAAQ,GAAA,UAAA,CAAA;AAZpB,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC;AACpF,QAAA,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO;KAC1B;AASY,CAAA,EAAA,QAAQ,CAOpB;4FAPY,QAAQ,EAAA,UAAA,EAAA,CAAA;kBARpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;oBACrB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC;AACpF,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA8BM,IAAM,cAAc,GAApB,MAAM,cAAc,CAAA;AAEzB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACzB,QAAA,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;IACzE;+GANW,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,qTALf,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,cAAc,GAAA,UAAA,CAAA;AAX1B,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe;KAC1I;AASY,CAAA,EAAA,cAAc,CAO1B;4FAPY,cAAc,EAAA,UAAA,EAAA,CAAA;kBAR1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;oBAC3B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,CAAC;AAC1I,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAmCM,IAAM,cAAc,GAApB,MAAM,cAAc,CAAA;AAEzB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;IAC3B;+GALW,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,iHALf,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,cAAc,GAAA,UAAA,CAAA;AAX1B,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,SAAS,EAAE,YAAY;KACjC;AASY,CAAA,EAAA,cAAc,CAM1B;4FANY,cAAc,EAAA,UAAA,EAAA,CAAA;kBAR1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;oBAC3B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;AACjC,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAwBM,IAAM,eAAe,GAArB,MAAM,eAAe,CAAA;AAE1B,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC;IACjD;+GANW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,0eALhB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,eAAe,GAAA,UAAA,CAAA;AAX3B,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO;KAC7O;AASY,CAAA,EAAA,eAAe,CAO3B;4FAPY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;oBAC5B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC;AAC7O,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA+BM,IAAM,WAAW,GAAjB,MAAM,WAAW,CAAA;AAEtB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IAC/C;+GANW,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,WAAW,8pBALZ,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,WAAW,GAAA,UAAA,CAAA;AAZvB,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC;QAChV,OAAO,EAAE,CAAC,OAAO;KAClB;AASY,CAAA,EAAA,WAAW,CAOvB;4FAPY,WAAW,EAAA,UAAA,EAAA,CAAA;kBARvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;oBACxB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC;AAChV,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA+BM,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB,CAAA;AAE3B,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACzB,QAAA,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;IAClE;+GANW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,ixBALjB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,gBAAgB,GAAA,UAAA,CAAA;AAZ5B,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,OAAO,CAAC;QAC1Y,OAAO,EAAE,CAAC,OAAO;KAClB;AASY,CAAA,EAAA,gBAAgB,CAO5B;4FAPY,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,OAAO,CAAC;AAC1Y,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAmCM,IAAM,eAAe,GAArB,MAAM,eAAe,CAAA;AAE1B,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACzB,QAAA,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAC3G;+GANW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,kkBALhB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,eAAe,GAAA,UAAA,CAAA;AAZ3B,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC;AAC5R,QAAA,OAAO,EAAE,CAAC,aAAa,EAAE,gBAAgB;KAC1C;AASY,CAAA,EAAA,eAAe,CAO3B;4FAPY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;oBAC5B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC;AAC5R,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA0CM,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB,CAAA;AAE9B,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC;IACvD;+GANW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,0KALpB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,mBAAmB,GAAA,UAAA,CAAA;AAX/B,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO;KAC9D;AASY,CAAA,EAAA,mBAAmB,CAO/B;4FAPY,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAR/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;oBAChC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;AAC9D,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA8BM,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB,CAAA;AAEnC,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;IAC9C;+GANW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,mMALzB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,wBAAwB,GAAA,UAAA,CAAA;AAXpC,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;KACzE;AASY,CAAA,EAAA,wBAAwB,CAOpC;4FAPY,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2BAA2B;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;AACzE,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAgCM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB,CAAA;AAE7B,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACzB,QAAA,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IACpE;+GANW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,+qBALnB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,kBAAkB,GAAA,UAAA,CAAA;AAZ9B,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC;AACrV,QAAA,OAAO,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB;KAC7G;AASY,CAAA,EAAA,kBAAkB,CAO9B;4FAPY,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;oBAC/B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC;AACrV,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAkCM,IAAM,aAAa,GAAnB,MAAM,aAAa,CAAA;AAExB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IAC/C;+GANW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,ocALd,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,aAAa,GAAA,UAAA,CAAA;AAXzB,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO;KAC5N;AASY,CAAA,EAAA,aAAa,CAOzB;4FAPY,aAAa,EAAA,UAAA,EAAA,CAAA;kBARzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC;AAC5N,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA8BM,IAAM,eAAe,GAArB,MAAM,eAAe,CAAA;AAE1B,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IAC/C;+GANW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,siBALhB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,eAAe,GAAA,UAAA,CAAA;AAX3B,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO;KAC9Q;AASY,CAAA,EAAA,eAAe,CAO3B;4FAPY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;oBAC5B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC;AAC9Q,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA8BM,IAAM,YAAY,GAAlB,MAAM,YAAY,CAAA;AAEvB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC;IACjD;+GANW,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,YAAY,yWALb,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,YAAY,GAAA,UAAA,CAAA;AAXxB,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO;KACzK;AASY,CAAA,EAAA,YAAY,CAOxB;4FAPY,YAAY,EAAA,UAAA,EAAA,CAAA;kBARxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;oBACzB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;AACzK,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA8BM,IAAM,aAAa,GAAnB,MAAM,aAAa,CAAA;AAExB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IAC/C;+GANW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,0cALd,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,aAAa,GAAA,UAAA,CAAA;AAXzB,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO;KAC9N;AASY,CAAA,EAAA,aAAa,CAOzB;4FAPY,aAAa,EAAA,UAAA,EAAA,CAAA;kBARzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC;AAC9N,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA8BM,IAAM,aAAa,GAAnB,MAAM,aAAa,CAAA;AAExB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IAC/C;+GANW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,0lBALd,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,aAAa,GAAA,UAAA,CAAA;AAXzB,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO;KAC7S;AASY,CAAA,EAAA,aAAa,CAOzB;4FAPY,aAAa,EAAA,UAAA,EAAA,CAAA;kBARzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC;AAC7S,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA8BM,IAAM,WAAW,GAAjB,MAAM,WAAW,CAAA;AAEtB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IAC/C;+GANW,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,WAAW,kkBALZ,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,WAAW,GAAA,UAAA,CAAA;AAXvB,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO;KAChS;AASY,CAAA,EAAA,WAAW,CAOvB;4FAPY,WAAW,EAAA,UAAA,EAAA,CAAA;kBARvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;oBACxB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC;AAChS,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA8BM,IAAM,eAAe,GAArB,MAAM,eAAe,CAAA;AAE1B,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IAC/C;+GANW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,sgBALhB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,eAAe,GAAA,UAAA,CAAA;AAX3B,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO;KAC9P;AASY,CAAA,EAAA,eAAe,CAO3B;4FAPY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;oBAC5B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC;AAC9P,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA8BM,IAAM,WAAW,GAAjB,MAAM,WAAW,CAAA;AAEtB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IAC/C;+GANW,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,WAAW,wYALZ,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,WAAW,GAAA,UAAA,CAAA;AAXvB,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;KAC7L;AASY,CAAA,EAAA,WAAW,CAOvB;4FAPY,WAAW,EAAA,UAAA,EAAA,CAAA;kBARvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;oBACxB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;AAC7L,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA+BM,IAAM,MAAM,GAAZ,MAAM,MAAM,CAAA;AAEjB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;IAC3B;+GALW,MAAM,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,6LALP,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,MAAM,GAAA,UAAA,CAAA;AAXlB,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;KACjF;AASY,CAAA,EAAA,MAAM,CAMlB;4FANY,MAAM,EAAA,UAAA,EAAA,CAAA;kBARlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,SAAS;oBACnB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACjF,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAwBM,IAAM,YAAY,GAAlB,MAAM,YAAY,CAAA;AAEvB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;IAC3B;+GALW,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,YAAY,6MALb,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,YAAY,GAAA,UAAA,CAAA;AAXxB,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;KACtF;AASY,CAAA,EAAA,YAAY,CAMxB;4FANY,YAAY,EAAA,UAAA,EAAA,CAAA;kBARxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;oBACzB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACtF,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAwBM,IAAM,QAAQ,GAAd,MAAM,QAAQ,CAAA;AAEnB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;IAC3B;+GALW,QAAQ,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,2FALT,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,QAAQ,GAAA,UAAA,CAAA;AAXpB,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM;KACzB;AASY,CAAA,EAAA,QAAQ,CAMpB;4FANY,QAAQ,EAAA,UAAA,EAAA,CAAA;kBARpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;oBACrB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AACzB,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAyBM,IAAM,MAAM,GAAZ,MAAM,MAAM,CAAA;AAEjB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC;IACnD;+GANW,MAAM,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,iLALP,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,MAAM,GAAA,UAAA,CAAA;AAZlB,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,sBAAsB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC;AACxE,QAAA,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO;KAC1B;AASY,CAAA,EAAA,MAAM,CAOlB;4FAPY,MAAM,EAAA,UAAA,EAAA,CAAA;kBARlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,SAAS;oBACnB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,sBAAsB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC;AACxE,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAgCM,IAAM,UAAU,GAAhB,MAAM,UAAU,CAAA;AAErB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC;IACnD;+GANW,UAAU,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,iLALX,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,UAAU,GAAA,UAAA,CAAA;AAXtB,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU;KACvE;AASY,CAAA,EAAA,UAAU,CAOtB;4FAPY,UAAU,EAAA,UAAA,EAAA,CAAA;kBARtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;oBACvB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC;AACvE,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAgCM,IAAM,cAAc,GAApB,MAAM,cAAc,CAAA;AAEzB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC;IAChD;+GANW,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,mQALf,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,cAAc,GAAA,UAAA,CAAA;AAZ1B,IAAA,QAAQ,CAAC;AACR,QAAA,MAAM,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,CAAC;AACjH,QAAA,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM;KAC5B;AASY,CAAA,EAAA,cAAc,CAO1B;4FAPY,cAAc,EAAA,UAAA,EAAA,CAAA;kBAR1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;oBAC3B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,CAAC;AACjH,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA+BM,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB,CAAA;AAElC,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;IAC3B;+GALW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,kGALxB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,uBAAuB,GAAA,UAAA,CAAA;AAXnC,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,UAAU;KACpB;AASY,CAAA,EAAA,uBAAuB,CAMnC;4FANY,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;oBACpC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,UAAU,CAAC;AACpB,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAyBM,IAAM,SAAS,GAAf,MAAM,SAAS,CAAA;AAEpB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;IAC9C;+GANW,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,4TALV,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,SAAS,GAAA,UAAA,CAAA;AAZrB,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,CAAC;AAClJ,QAAA,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ;KACnC;AASY,CAAA,EAAA,SAAS,CAOrB;4FAPY,SAAS,EAAA,UAAA,EAAA,CAAA;kBARrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;oBACtB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,CAAC;AAClJ,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA6BM,IAAM,KAAK,GAAX,MAAM,KAAK,CAAA;AAEhB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;IAC3B;+GALW,KAAK,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAL,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,KAAK,8CALN,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,KAAK,GAAA,UAAA,CAAA;IAVjB,QAAQ,CAAC,EACT;AASY,CAAA,EAAA,KAAK,CAMjB;4FANY,KAAK,EAAA,UAAA,EAAA,CAAA;kBARjB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,QAAQ;oBAClB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,EAAE;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAyBM,IAAM,OAAO,GAAb,MAAM,OAAO,CAAA;AAElB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IAC/C;+GANW,OAAO,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,OAAO,oJALR,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,OAAO,GAAA,UAAA,CAAA;AAZnB,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC;QACxD,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS;KACxD;AASY,CAAA,EAAA,OAAO,CAOnB;4FAPY,OAAO,EAAA,UAAA,EAAA,CAAA;kBARnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;oBACpB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC;AACxD,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA8BM,IAAM,OAAO,GAAb,MAAM,OAAO,CAAA;AAElB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;IAC3B;+GALW,OAAO,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,OAAO,8IALR,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,OAAO,GAAA,UAAA,CAAA;AAXnB,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;KACtD;AASY,CAAA,EAAA,OAAO,CAMnB;4FANY,OAAO,EAAA,UAAA,EAAA,CAAA;kBARnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;oBACpB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC;AACtD,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAuBM,IAAM,OAAO,GAAb,MAAM,OAAO,CAAA;AAElB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;IAC3B;+GALW,OAAO,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,OAAO,gDALR,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,OAAO,GAAA,UAAA,CAAA;IAVnB,QAAQ,CAAC,EACT;AASY,CAAA,EAAA,OAAO,CAMnB;4FANY,OAAO,EAAA,UAAA,EAAA,CAAA;kBARnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;oBACpB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;AAErC,oBAAA,MAAM,EAAE,EAAE;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;AAwBM,IAAM,QAAQ,GAAd,MAAM,QAAQ,CAAA;AAEnB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC;IACjD;+GANW,QAAQ,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,qRALT,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,QAAQ,GAAA,UAAA,CAAA;AAXpB,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO;KAC9H;AASY,CAAA,EAAA,QAAQ,CAOpB;4FAPY,QAAQ,EAAA,UAAA,EAAA,CAAA;kBARpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;oBACrB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;AAC9H,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA8BM,IAAM,cAAc,GAApB,MAAM,cAAc,CAAA;AAEzB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1C;+GANW,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,+JALf,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,cAAc,GAAA,UAAA,CAAA;AAX1B,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO;KAC3D;AASY,CAAA,EAAA,cAAc,CAO1B;4FAPY,cAAc,EAAA,UAAA,EAAA,CAAA;kBAR1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;oBAC3B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC;AAC3D,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA8BM,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB,CAAA;AAE9B,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IAC/C;+GANW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,kLALpB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,mBAAmB,GAAA,UAAA,CAAA;AAX/B,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO;KAClE;AASY,CAAA,EAAA,mBAAmB,CAO/B;4FAPY,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAR/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;oBAChC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC;AAClE,oBAAA,UAAU,EAAE;AACb,iBAAA;;AA8BM,IAAM,SAAS,GAAf,MAAM,SAAS,CAAA;AAEpB,IAAA,WAAA,CAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAA;QAAT,IAAA,CAAA,CAAC,GAAD,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE;AACV,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;IAC9C;+GANW,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,0JALV,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAK1B,SAAS,GAAA,UAAA,CAAA;AAXrB,IAAA,QAAQ,CAAC;QACR,MAAM,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU;KAC1D;AASY,CAAA,EAAA,SAAS,CAOrB;4FAPY,SAAS,EAAA,UAAA,EAAA,CAAA;kBARrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;oBACtB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,2BAA2B;;oBAErC,MAAM,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC;AAC1D,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACtzCM,MAAM,UAAU,GAAG;AACxB,IAAAA,WAAa;AACb,IAAAC,eAAiB;AACjB,IAAAC,OAAS;AACT,IAAAC,QAAU;AACV,IAAAC,OAAS;AACT,IAAAC,YAAc;AACd,IAAAC,aAAe;AACf,IAAAC,QAAU;AACV,IAAAC,aAAe;AACf,IAAAC,UAAY;AACZ,IAAAC,KAAO;AACP,IAAAC,UAAY;AACZ,IAAAC,gBAAkB;AAClB,IAAAC,QAAU;AACV,IAAAC,cAAgB;AAChB,IAAAC,cAAgB;AAChB,IAAAC,eAAiB;AACjB,IAAAC,WAAa;AACb,IAAAC,gBAAkB;AAClB,IAAAC,eAAiB;AACjB,IAAAC,mBAAqB;AACrB,IAAAC,wBAA0B;AAC1B,IAAAC,kBAAoB;AACpB,IAAAC,aAAe;AACf,IAAAC,eAAiB;AACjB,IAAAC,YAAc;AACd,IAAAC,aAAe;AACf,IAAAC,aAAe;AACf,IAAAC,WAAa;AACb,IAAAC,eAAiB;AACjB,IAAAC,WAAa;AACb,IAAAC,MAAQ;AACR,IAAAC,YAAc;AACd,IAAAC,QAAU;AACV,IAAAC,MAAQ;AACR,IAAAC,UAAY;AACZ,IAAAC,cAAgB;AAChB,IAAAC,uBAAyB;AACzB,IAAAC,SAAW;AACX,IAAAC,KAAO;AACP,IAAAC,OAAS;AACT,IAAAC,OAAS;AACT,IAAAC,OAAS;AACT,IAAAC,QAAU;AACV,IAAAC,cAAgB;AAChB,IAAAC,mBAAqB;AACrB,IAAAC;CACD;;ACxCD;;;;;;;;;;;;;;;AAeG;AAKH;MACa,wBAAwB,CAAA;AAOnC,IAAA,WAAA,CAAmB,QAAgD,EAAA;QAAhD,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAA2C;+GAP3D,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;gFAO4B,eAAe,EAAA,CAAA;sBAAzC,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;;ACnC3B;;;AAGG;AACG,SAAU,QAAQ,CAAmB,WAAoB,EAAA;IAC7D,IAAI,MAAM,GAAa,IAAI;IAE3B,MAAM,gBAAgB,GAAG,MAAK;QAC5B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,SAAS,CAAC,MAAM,WAAW,EAAE,CAAC;QACzC;AACF,IAAA,CAAC;AAED,IAAA,cAAc,CAAC,MAAM,gBAAgB,EAAE,CAAC;AAExC,IAAA,MAAM,KAAK,GAAG,MAAK,EAAE,CAAC;AAEtB,IAAA,OAAO,IAAI,KAAK,CAAI,KAAU,EAAE;AAC9B,QAAA,KAAK,CAAC,MAAS,EAAE,OAAY,EAAE,QAAe,EAAA;AAC5C,YAAA,gBAAgB,EAAE;AAClB,YAAA,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;gBAChC,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;YACjD;YACA,OAAO,OAAO,CAAC,KAAK,CAAC,MAAa,EAAE,OAAO,EAAE,QAAQ,CAAC;QACxD,CAAC;AACD,QAAA,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAA;AACnB,YAAA,gBAAgB,EAAE;YAClB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAW,EAAE,IAAI,EAAE,QAAQ,CAAC;QACjD,CAAC;QACD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAA;AACT,YAAA,gBAAgB,EAAE;YAClB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAW,EAAE,IAAI,CAAC;QACvC,CAAC;QACD,OAAO,GAAA;AACL,YAAA,gBAAgB,EAAE;AAClB,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,MAAW,CAAC;QACrC,CAAC;QACD,wBAAwB,GAAA;YACtB,OAAO;AACL,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,YAAY,EAAE,IAAI;aACnB;QACH,CAAC;AACF,KAAA,CAAC;AACJ;;ACzCM,SAAU,YAAY,CAC1B,WAA6B,EAAA;IAE7B,MAAM,aAAa,GAAG,WAA6B;AAEnD,IAAA,OAAO,IAAI,KAAK,CAAC,aAAa,EAAE;QAC9B,KAAK,GAAA;YACH,OAAO,WAAW,EAAE;QACtB,CAAC;QACD,GAAG,CAAC,MAAM,EAAE,QAAwB,EAAA;AAClC,YAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;AACpB,gBAAA,OAAO,MAAM,CAAC,QAAQ,CAAC;YACzB;AACA,YAAA,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC;AACpC;;;AAGG;AACH,YAAA,IACE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;AAC1B,gBAAA,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS;;;;;cAK5B;AACA,gBAAA,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAqB;AACnD,gBAAA,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;AACjC,oBAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE;AACtC,wBAAA,KAAK,EAAE,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC;AACvC,wBAAA,YAAY,EAAE,IAAI;AAClB,wBAAA,UAAU,EAAE,IAAI;AACjB,qBAAA,CAAC;AACF,oBAAA,OAAO,MAAM,CAAC,QAAQ,CAAC;gBACzB;YACF;;YAEA,QAAQ,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC5C,CAAC;QACD,GAAG,CAAC,CAAC,EAAE,IAAoB,EAAA;YACzB,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACvC,CAAC;QACD,OAAO,GAAA;YACL,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QACD,wBAAwB,GAAA;YACtB,OAAO;AACL,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,YAAY,EAAE,IAAI;aACnB;QACH,CAAC;AACF,KAAA,CAAC;AACJ;AAEA;;;;;;;;;;AAUG;AACH,SAAS,UAAU,CAAI,MAAwB,EAAE,EAAY,EAAA;AAC3D,IAAA,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,QAAQ,CAAC,MAAK;YACnB,KAAK,MAAM,EAAE;YACb,OAAO,EAAE,EAAE;AACb,QAAA,CAAC,CAAC;IACJ;IAEA,MAAM,aAAa,GAAoC,EAAE;AAEzD,IAAA,OAAO,CAAC,GAAG,SAAgB,KAAI;AAC7B,QAAA,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,SAAS,CAAC;AAClD,QAAA,IAAI,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE;AAChD,YAAA,OAAO,aAAa,CAAC,cAAc,CAAC,IAAI;QAC1C;AACA,QAAA,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAK;YACnC,KAAK,MAAM,EAAE;AACb,YAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACzB,QAAA,CAAC,CAAC;AAEF,QAAA,aAAa,CAAC,cAAc,CAAC,GAAG,cAAc;QAE9C,OAAO,cAAc,EAAE;AACzB,IAAA,CAAC;AACH;AAEA,SAAS,aAAa,CAAC,GAAG,IAAW,EAAA;AACnC,IAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAC7B;;ACjGO,MAAM,wBAAwB,GAAG,IAAI,cAAc,CAExD,+DAA+D,CAAC;SAElD,uBAAuB,GAAA;AACrC,IAAA,OAAO,MAAM,CAAI,wBAAwB,CAAC;AAC5C;;ACRA;;;AAGG;AACH,IAAY,eAmCX;AAnCD,CAAA,UAAY,eAAe,EAAA;AACzB;;;AAGG;AACH,IAAA,eAAA,CAAA,eAAA,CAAA,iBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,iBAAwB;AACxB;;AAEG;AACH,IAAA,eAAA,CAAA,eAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAiB;AACjB;;;AAGG;AACH,IAAA,eAAA,CAAA,eAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAuB;AACvB;;;;;;AAMG;AACH,IAAA,eAAA,CAAA,eAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAA8B;AAC9B;;AAEG;AACH,IAAA,eAAA,CAAA,eAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,GAAA,YAAmB;AACnB;;AAEG;AACH,IAAA,eAAA,CAAA,eAAA,CAAA,aAAA,CAAA,GAAA,EAAA,CAAA,GAAA,aAAoB;AACpB;;AAEG;AACH,IAAA,eAAA,CAAA,eAAA,CAAA,qBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,qBAA4B;AAC9B,CAAC,EAnCW,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;;AC+D3B;;;;;;AAMG;SACa,mBAAmB,CAKjC,SAA2B,EAC3B,GAAG,OAE+C,EAAA;AAElD,IAAA,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE;IACxD,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;AACtE;AAEA;;;;AAIG;MACU,mBAAmB,CAAA;AAK9B,IAAA,WAAA,CACW,SAA2B,EAC3B,MAA2B,EAC3B,QAAmB,EACnB,OAA6B,EAAA;QAH7B,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,OAAO,GAAP,OAAO;QAPT,IAAA,CAAA,iBAAiB,GAAa,EAAE;QAChC,IAAA,CAAA,kBAAkB,GAAa,EAAE;AAQxC,QAAA,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,gEAAA,CAAkE,CACnE;QACH;AACA,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;QACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7C;QACA,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC/C;IACF;AACD;;MCvGY,0BAA0B,CAAA;AACrC,IAAA,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAE5C,eAAe,CACb,mBAA2C,EAC3C,iBAA2B,EAAA;QAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACzD,mBAAmB,CAAC,SAAS,EAC7B;AACE,YAAA,QAAQ,EAAE,iBAAiB;AAC5B,SAAA,CACF;QACD,MAAM,IAAI,GAAG,IAAI,sBAAsB,CACrC,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,CAClB;AAED,QAAA,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAmB;AAE/C,QAAA,IAAI,MAAM;AAAE,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;AAClC,QAAA,IAAI,OAAO;AAAE,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AAErC,QAAA,OAAO,IAAI;IACb;+GAzBW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAA1B,0BAA0B,EAAA,CAAA,CAAA;;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC;;MA6BY,sBAAsB,CAAA;AACxB,IAAA,uBAAuB;AAChC,IAAA,cAAc;AACd,IAAA,iBAAiB;AAER,IAAA,eAAe;AAExB,IAAA,WAAA,CACW,YAA6B,EACtC,aAAqC,EAC5B,iBAA2B,EAAA;QAF3B,IAAA,CAAA,YAAY,GAAZ,YAAY;QAEZ,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;AAE1B,QAAA,IAAI,CAAC,cAAc,GAAG,aAAa;QACnC,IAAI,CAAC,uBAAuB,GAAG,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC;AAErE,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,gCAAgC,CACzD,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;AAC3B,aAAA,IAAI,CAAC,IAAI,CAAC,MAAM;AAChB,aAAA,MAAM,EAAE;QACX,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAExC,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;IAC1E;AAEA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS;IACtC;AAEA,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE;IACzC;AAEA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,EAAE;IAC1C;AAEA;;AAEG;AACH,IAAA,IAAI,CAAC,IAA4B,EAAA;QAC/B,OAAO;AACL,YAAA,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;AACzD,YAAA,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;SAC1D;IACH;AACA;;;AAGG;AACH,IAAA,MAAM,CAAC,OAA+B,EAAA;AACpC,QAAA,OAAO,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;IAC7C;AAEA;;AAEG;AACH,IAAA,MAAM,CAAC,OAA+B,EAAA;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;AAC/B,QAAA,IAAI,CAAC,EAAE;YAAE;AACT,QAAA,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACpD,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,gBAAgB,CAAC,IAAI,IAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAC3C;YACD,SAAS,CAAC,kBAAkB,CAAC,IAAI,IAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAC3C;AACD,YAAA,SAAS,CAAC,kBAAkB,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC1E;QACA,IAAI,UAAU,EAAE;AACd,YAAA,UAAU,CAAC,gBAAgB,CAAC,IAAI,IAAG;gBACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC;AAC7C,YAAA,CAAC,CAAC;AACF,YAAA,UAAU,CAAC,kBAAkB,CAAC,IAAI,IAAG;AACnC,gBAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,oBAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC;gBAC/D;qBAAO;oBACL,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC5C;AACF,YAAA,CAAC,CAAC;AACF,YAAA,UAAU,CAAC,kBAAkB,CAAC,IAAI,IAAG;gBACnC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;AAC5C,YAAA,CAAC,CAAC;QACJ;AAEA,QAAA,IAAI,CAAC,cAAc,GAAG,OAAO;IAC/B;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,YAAY,EAAE;IAClE;AAEA,IAAA,SAAS,CAAC,MAA+B,EAAA;AACvC,QAAA,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC;IACF;IAEA,QAAQ,CAAC,GAAW,EAAE,KAAc,EAAA;QAClC,IAAI,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACvD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;QACxC;IACF;AAEA,IAAA,UAAU,CACR,OAGC,EAAA;AAED,QAAA,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE;AACrC,QAAA,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC;IACF;IAEA,SAAS,CACP,UAAkB,EAClB,IAA0D,EAAA;QAE1D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE;QAClE,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC;YAC5C;QACF;QAEA,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC;QAChE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC;QAElD,IAAI,WAAW,EAAE;YACf;QACF;AAEA,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ;AAC3C,QAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAmC,CAAC;AAC5D,QAAA,IAAI,MAAM,IAAI,MAAM,YAAY,gBAAgB,EAAE;AAChD,YAAA,MAAM,CAAC,SAAS,CAAC,KAAK,IAAG;gBACvB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;AACvD,YAAA,CAAC,CAAC;QACJ;IACF;AACD;AAED,MAAM,gCAAgC,CAAA;IAC3B,kBAAkB,GAA0C,EAAE;IAC9D,gBAAgB,GAA6C,EAAE;AAE/D,IAAA,YAAY;IAKrB,WAAA,CAAY,eAAgC,EAAE,cAAmB,EAAA;AAC/D,QAAA,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE;QACjE,IAAI,cAAc,EAAE;AAClB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;QACxC;IACF;AAEA,IAAA,WAAW,CAAC,UAAkB,EAAA;AAC5B,QAAA,OAAO,UAAU,IAAI,IAAI,CAAC,gBAAgB;IAC5C;IAEA,WAAW,CAAC,UAAkB,EAAE,QAAkC,EAAA;AAChE,QAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,QAAQ;IAC9C;AAEA,IAAA,WAAW,CAAC,UAAkB,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;IAC1C;IAEA,cAAc,GAAA;AACZ,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC1C,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACxB;IACF;AAEA,IAAA,WAAW,CAAC,UAAkB,EAAA;AAC5B,QAAA,IAAI,UAAU,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE;AAClD,YAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC;AAC1C,YAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;QAC1C;IACF;AAEA,IAAA,IAAI,CAAC,OAAsE,EAAA;QACzE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9C;AACD;;AC5NK,SAAU,2BAA2B,CACzC,OAA+B,EAAA;IAE/B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;AAC7C,QAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IACzB;IACA,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC9D,QAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE;IACvC;AACA,IAAA,IAAI,OAAO,YAAY,mBAAmB,EAAE;AAC1C,QAAA,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE;IACjD;AAAO,SAAA,IAAI,OAAO,YAAY,WAAW,EAAE;AACzC,QAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE;IACzC;AAAO,SAAA,IAAI,OAAO,YAAY,IAAI,EAAE;AAClC,QAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE;IACvC;SAAO;AACL,QAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE;IACvC;AACF;MAEsB,cAAc,CAAA;AAIlC,IAAA,gBAAgB;AAChB,IAAA,QAAQ;IAER,WAAA,CACE,cAAiE,EACjE,IAAW,EAAA;AAEX,QAAA,IAAI,CAAC,QAAQ,GAAG,cAAc;AAC9B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;IAClB;AAEA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IAClD;AAEA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;IAEA,IAAI,OAAO,CAAC,OAA+B,EAAA;AACzC,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ;AACrC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;IACzB;AAOD;AAEK,MAAO,sBAAuB,SAAQ,cAE3C,CAAA;IACC,WAAA,CACE,cAGC,EACD,IAA8B,EAAA;AAE9B,QAAA,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC;IAC7B;AAES,IAAA,WAAW,CAAC,KAA0B,EAAA;AAC7C,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;IAC1B;IAES,UAAU,GAAA;;;;;;;IAOnB;AAES,IAAA,SAAS,CAAC,QAAkB,EAAA;AACnC,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC/B;AACD;AAEK,MAAO,uBAAwB,SAAQ,cAE5C,CAAA;IACC,WAAA,CACE,cAGC,EACD,IAAqC,EAAA;AAErC,QAAA,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC;IAC7B;AAES,IAAA,WAAW,CAAC,KAA0B,EAAA;AAC7C,QAAA,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,KAAK,WAAW,EAAE;AAChB,gBAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC1B;YACF;YACA,KAAK,qBAAqB,EAAE;;;gBAG1B;YACF;;IAEJ;IAES,UAAU,GAAA;AACjB,QAAA,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,KAAK,WAAW,EAAE;;;;AAIhB,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACvB;YACF;YACA,KAAK,qBAAqB,EAAE;;;AAG1B,gBAAA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBACxC;AACA,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACvB;YACF;;IAEJ;AAES,IAAA,SAAS,CAAC,QAAkB,EAAA;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC5C;AACD;;MCnGY,mBAAmB,CAAA;AAGrB,IAAA,2BAA2B;AAC3B,IAAA,kBAAkB;AAmBlB,IAAA,cAAc;AAOvB,IAAA,gBAAgB;IAQhB,WAAA,CAEmB,gBAAkC,EAElC,WAA6B,EAAA;QAF7B,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAEhB,IAAA,CAAA,WAAW,GAAX,WAAW;AAvCrB,QAAA,IAAA,CAAA,2BAA2B,GAAG,MAAM,CAAC,0BAA0B,CAAC;AAChE,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAGvD,IAAA,CAAA,OAAO,GAKS,SAAS;QAGzB,IAAA,CAAA,KAAK,GAAW,EAAY;AAG5B,QAAA,IAAA,CAAA,QAAQ,GAAa,MAAM,CAAC,QAAQ,CAAC;AAErC,QAAA,IAAA,CAAA,WAAW,GAAG,eAAe,CAAC,eAAe;QAC7C,IAAA,CAAA,UAAU,GAA+B,IAAI;QAEpC,IAAA,CAAA,cAAc,GAAG,MAAK;AAC7B,YAAA,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI;YAC/B,OAAO,OAAO,OAAO,KAAK;AACxB,kBAAE;AACF,kBAAE,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;AAChE,QAAA,CAAC;QAED,IAAA,CAAA,gBAAgB,GAAG,IAAI,CACrB,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EACvD,aAAa,IAAG;AACd,YAAA,OAAO,2BAA2B,CAAC,aAAa,CAAC;AACnD,QAAA,CAAC,EACD,EAAE,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAM,KAAK,EAAE,CACtD;QAkED,IAAA,CAAA,iBAAiB,GAAqB,IAAI;IA3DvC;AAEH,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;AACpB,YAAA,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,qBAAqB;QAC3D;AACA,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;AACtB,YAAA,IAAI,CAAC,WAAW;AACd,gBAAA,eAAe,CAAC,cAAc,GAAG,eAAe,CAAC,eAAe;YAClE,IAAI,CAAC,MAAM,EAAE;QACf;IACF;IAEA,SAAS,GAAA;QACP,IAAI,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,eAAe,EAAE;;;AAGtD,YAAA,IAAI,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,eAAe;YACpD;QACF;AAEA,QAAA,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,UAAU;AAE9C,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE;QAC7C,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACrD,YAAA,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,cAAc;QACpD;aAAO;AACL,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,aAAa;YACvC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe;AAC9D,YAAA,IAAI,aAAa,CAAC,IAAI,KAAK,YAAY,EAAE;AACvC,gBAAA,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,cAAc;YACpD;QACF;QACA,IAAI,CAAC,MAAM,EAAE;IACf;IAEA,MAAM,GAAA;QACJ,IACE,IAAI,CAAC,WAAW;aACf,eAAe,CAAC,cAAc,GAAG,eAAe,CAAC,eAAe,CAAC,EAClE;YACA,IAAI,CAAC,MAAM,EAAE;YACb;QACF;QACA,IAAI,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,qBAAqB,EAAE;YAC5D,IAAI,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5D,YAAA,IAAI,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,qBAAqB;QAC5D;QACA,IACE,IAAI,CAAC,WAAW;aACf,eAAe,CAAC,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,EAC1D;YACA,IAAI,IAAI,CAAC,UAAU;AAAE,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;AACjD,YAAA,IAAI,CAAC,WAAW,IAAI,EAClB,eAAe,CAAC,UAAU,GAAG,eAAe,CAAC,WAAW,CACzD;QACH;IACF;AAEA,IAAA,iBAAiB;IAEjB,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,yBAAyB,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC9D,YAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE;AAChC,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;AAC7B,YAAA,IAAI,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,mBAAmB;QAC1D;AAEA,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;AAC7B,QAAA,IAAI,CAAC,WAAW;AACd,YAAA,eAAe,CAAC,QAAQ;AACxB,iBAAC,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,eAAe,CAAC;iBACnD,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,mBAAmB,CAAC;AAE1D,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAC/C,QAAA,IAAI,eAAe,CAAC,IAAI,KAAK,MAAM,EAAE;AACnC,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;QACxB;aAAO;YACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC;QAC9D;;;AAIA,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;AACjE,YAAA,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAC7B,MAAK;gBACH,IAAI,CAAC,cAAc,EAAE;gBACrB,IAAI,EAAE,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,mBAAmB,CAAC,EAAE;AAC7D,oBAAA,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,mBAAmB;oBACvD;gBACF;AACA,gBAAA,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,WAAW;;;AAG/C,gBAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACxC,CAAC,EACD,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAC7C;QACH;IACF;IAEA,yBAAyB,GAAA;QACvB,QACE,IAAI,CAAC,WAAW;AAChB,YAAA,eAAe,CAAC,cAAc;YAC9B,eAAe,CAAC,eAAe;IAEnC;AAEA,IAAA,oBAAoB,CAClB,OAA+B,EAAA;AAE/B,QAAA,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE;AAChC,YAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;QAC3C;AAAO,aAAA,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE;AACzC,YAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC;QAChD;AAAO,aAAA,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAqB,EAAE;AACjD,YAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;QACvC;AAAO,aAAA,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE;AACvC,YAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;QAC7C;aAAO;AACL,YAAA,OAAO,IAAI;QACb;IACF;AAEA,IAAA,oBAAoB,CAClB,QAAgE,EAAA;QAEhE,MAAM,OAAO,GAAG,MAAK;AACnB,YAAA,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;AACrC,gBAAA,OAAO,IAAI,CAAC,OAAO,KAAK;kBACtB,IAAI,CAAC;kBACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;AAChC,QAAA,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE;AACrE,YAAA,IAAI,SAAS,GAAA;gBACX,OAAO,OAAO,EAAE;YAClB,CAAC;AACF,SAAA,CAAC;AACF,QAAA,OAAO,IAAI,sBAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC;IAClD;AAEA,IAAA,yBAAyB,CACvB,QAAkE,EAAA;QAElE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE;AACtE,YAAA,IAAI,SAAS,GAAA;gBACX,OAAO,aAAa,EAAE;YACxB,CAAC;AACF,SAAA,CAAC;AACF,QAAA,OAAO,IAAI,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC;IACnD;AAEA,IAAA,gBAAgB,CACd,mBAGC,EAAA;QAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,OAAO;QAEjE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK;QACnC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE;AAClC,YAAA,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,UAAU,EAAE,CAAC,GAAqB,CAAC;AACrD,SAAA,CAAC;AACF,QAAA,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC;AACxC,YAAA,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ;YACjC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACpE,SAAA,CAAC;AACF,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,2BAA2B,CAAC,eAAe,CAC3D,mBAAmB,CAAC,OAAO,EAC3B,iBAAiB,CAClB;AACD,QAAA,OAAO,IAAI,uBAAuB,CAAC,mBAAmB,EAAE,IAAI,CAAC;IAC/D;AAEA,IAAA,sBAAsB,CACpB,SAAiE,EAAA;AAEjE,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,2BAA2B,CAAC,eAAe,CAC3D,mBAAmB,CAAC,SAAS,CAAC,OAAO,EAAE;YACrC,MAAM,EAAE,IAAI,CAAC,KAAK;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,SAAA,CAAC,EACF,IAAI,CAAC,QAAQ,CACd;AACD,QAAA,OAAO,IAAI,uBAAuB,CAAC,SAAS,EAAE,IAAI,CAAC;IACrD;+GAvOW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAuCpB,gBAAgB,EAAA,EAAA,EAAA,KAAA,EAEhB,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAzCV,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,SAAA,CAAA,EAAA,KAAA,EAAA,CAAA,iBAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,SAAA,EAFnB,CAAC,0BAA0B,CAAC,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAE5B,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,CAAC,0BAA0B,CAAC;AACxC,iBAAA;;0BAwCI,MAAM;2BAAC,gBAAgB;;0BAEvB,MAAM;2BAAC,WAAW;yCAlCrB,OAAO,EAAA,CAAA;sBADN,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE;gBAS9C,KAAK,EAAA,CAAA;sBADJ,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE;gBAInD,QAAQ,EAAA,CAAA;sBADP,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE;;;AC3CnD,SAAU,kBAAkB,CAChC,OAAkC,EAAA;IAElC,OAAO,QAAQ,CAAC,MAAK;AACnB,QAAA,MAAM,eAAe,GAAG;AACtB,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,aAAa,EAAE,MAAK,EAAE,CAAC;AACvB,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,GAAG,OAAO,EAAE;SACb;AAED,QAAA,MAAM,KAAK,GAAG,WAAW,CAAC,eAAe,CAAC;;QAG1C,MAAM,KAAK,GAAG,MAAM,CAAa,KAAK,CAAC,YAAY,CAAC;;;AAIpD,QAAA,MAAM,cAAc,GAAG,QAAQ,CAA8B,MAAK;;AAEhE,YAAA,MAAM,UAAU,GAAG,KAAK,EAAE;;AAE1B,YAAA,MAAM,YAAY,GAAG,OAAO,EAAE;YAC9B,OAAO;gBACL,GAAG,KAAK,CAAC,OAAO;AAChB,gBAAA,GAAG,eAAe;AAClB,gBAAA,GAAG,YAAY;gBACf,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE;gBAC/C,aAAa,EAAE,OAAO,IAAG;AACvB,oBAAA,MAAM,KAAK,GACT,OAAO,YAAY,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO;AAC7D,oBAAA,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AAChB,oBAAA,eAAe,CAAC,aAAa,GAAG,OAAO,CAAC;gBAC1C,CAAC;aACF;AACH,QAAA,CAAC,CAAC;;AAGF,QAAA,MAAM,WAAW,GAAG,QAAQ,CAC1B,MAAK;AACH,YAAA,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;AAClC,YAAA,OAAO,KAAK;AACd,QAAA,CAAC,EACD;AACE,YAAA,KAAK,EAAE,MAAM,KAAK;AACnB,SAAA,CACF;;AAGD,QAAA,OAAO,YAAY,CAAC,WAAW,CAAC;AAClC,IAAA,CAAC,CAAC;AACJ;;AC9EA;AACA;AA6IA;;AAEG;MA4EU,WAAW,CAAA;;IA2ItB,KAAK,GAAA;AACH,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE;IAC7B;AAyCA,IAAA,WAAA,GAAA;;AAlLA,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAyB,EAAE,CAAC;;AAE3C,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAM,EAAE,CAAC;;AAErB,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAA0C,SAAS,CAAC;;AAEtE,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAU,KAAK,CAAC;;AAa5B,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAgC,EAAE,CAAC;;AAG/D,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AACtC,YAAA,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkD;YACrE,IAAI,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;gBAC/C,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC;AACxD,YAAA,CAAC,CAAC;AACF,YAAA,OAAO,GAAG;AACZ,QAAA,CAAC,CAAC;;QAGM,IAAA,CAAA,eAAe,GAAG,MAAM,CAAkB;AAChD,YAAA,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,eAAe,IAAI,EAAE;AACnD,SAAA,CAAC;;AAGM,QAAA,IAAA,CAAA,SAAS,GAAG,SAAS,CAAa,UAAU,CAAC;;QAG7C,IAAA,CAAA,QAAQ,GAAgC,IAAI;;AAGpD,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,KAAK,UAAU,CAAC;;AAGzE,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAiB,MAAK;AAC3C,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE;YAE1C,OAAO,IAAI,CAAC,OAAO;iBAChB,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM;AAC3B,iBAAA,GAAG,CAAC,CAAC,GAAG,MAAM;gBACb,WAAW,EAAE,GAAG,CAAC,KAAe;gBAChC,MAAM,EAAE,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC3C,IAAI,EAAE,GAAG,CAAC,KAAK;AACf,gBAAA,cAAc,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI;AACrC,gBAAA,IAAI,EAAE,CAAC,OAAgC,KAAI;oBACzC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;oBACnC,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;;oBAG/C,IAAI,YAAY,EAAE;;AAEhB,wBAAA,OAAO,YAAY;oBACrB;;AAGA,oBAAA,IAAI,GAAG,CAAC,UAAU,EAAE;AAClB,wBAAA,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;oBAChC;;AAGA,oBAAA,OAAO,OAAO,CAAC,QAAQ,EAAE;gBAC3B,CAAC;AACF,aAAA,CAAC,CAAC;AACP,QAAA,CAAC,CAAC;;AAGM,QAAA,IAAA,CAAA,aAAa,GAAG,kBAAkB,CAAC,MAAK;AAC9C,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE;YAE1C,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,KAAK,UAAU,EAAE;;gBAE7D,OAAO;AACL,oBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,oBAAA,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;oBAC5B,eAAe,EAAE,eAAe,EAAE;iBACnC;YACH;AAAO,iBAAA,IAAI,gBAAgB,CAAC,IAAI,KAAK,QAAQ,EAAE;;gBAE7C,OAAO;AACL,oBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,oBAAA,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;oBAC5B,eAAe,EAAE,eAAe,EAAE;oBAClC,qBAAqB,EAAE,qBAAqB,EAAE;AAC9C,oBAAA,YAAY,EAAE;AACZ,wBAAA,UAAU,EAAE;AACV,4BAAA,SAAS,EAAE,CAAC;AACZ,4BAAA,QAAQ,EAAE,gBAAgB,CAAC,eAAe,IAAI,EAAE;AACjD,yBAAA;AACF,qBAAA;iBACF;YACH;iBAAO;;gBAEL,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ;gBAChD,OAAO;AACL,oBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,oBAAA,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;oBAC5B,eAAe,EAAE,eAAe,EAAE;AAClC,oBAAA,gBAAgB,EAAE,IAAI;AACtB,oBAAA,SAAS,EACP,gBAAgB,CAAC,cAAc,KAAK;0BAChC,gBAAgB,CAAC;AACnB,0BAAE,gBAAgB,CAAC,aAAa,KAAK;8BACnC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,QAAQ;8BACnD,CAAC,CAAC;AACR,oBAAA,KAAK,EAAE;AACL,wBAAA,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE;AACnC,qBAAA;AACD,oBAAA,kBAAkB,EAAE,CAClB,cAE+C,KAC7C;AACF,wBAAA,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE;AACxC,4BAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;wBAClE;6BAAO;AACL,4BAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC;wBAC1C;oBACF,CAAC;iBACF;YACH;AACF,QAAA,CAAC,CAAC;;AAQF,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAwC,MAAK;AACnE,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE;YAC1C,IAAI,CAAC,gBAAgB,EAAE;AACrB,gBAAA,OAAO,IAAI;YACb;AAEA,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;YAC1B,MAAM,oBAAoB,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU;AACxD,YAAA,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE;AACtC,YAAA,MAAM,QAAQ,GACZ,gBAAgB,CAAC,IAAI,KAAK;kBACtB,gBAAgB,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;AAChD,kBAAE,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM;YAExB,OAAO;gBACL,SAAS,EAAE,oBAAoB,CAAC,SAAS;gBACzC,QAAQ,EAAE,oBAAoB,CAAC,QAAQ;gBACvC,SAAS;gBACT,QAAQ;gBACR,SAAS,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;AACtC,gBAAA,YAAY,EAAE,MAAM,KAAK,CAAC,YAAY,EAAE;AACxC,gBAAA,QAAQ,EAAE,MAAM,KAAK,CAAC,QAAQ,EAAE;gBAChC,QAAQ,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;gBACjD,YAAY,EAAE,CAAC,KAAa,KAAK,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC;gBAC1D,WAAW,EAAE,CAAC,IAAY,KAAK,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;AACtD,gBAAA,eAAe,EAAE,KAAK,CAAC,kBAAkB,EAAE;AAC3C,gBAAA,WAAW,EAAE,KAAK,CAAC,cAAc,EAAE;AACnC,gBAAA,SAAS,EACP,gBAAgB,CAAC,IAAI,KAAK;sBACtB,gBAAgB,CAAC;AACnB,sBAAE,SAAS;AACf,gBAAA,OAAO,EACL,gBAAgB,CAAC,IAAI,KAAK;sBACtB,gBAAgB,CAAC;AACnB,sBAAE,SAAS;aAChB;AACH,QAAA,CAAC,CAAC;;QAIA,MAAM,CACJ,MAAK;AACH,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE;AAC1C,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE;AAEpC,YAAA,IACE,gBAAgB,EAAE,IAAI,KAAK,QAAQ;gBACnC,gBAAgB,CAAC,kBAAkB,EACnC;gBACA,gBAAgB,CAAC,kBAAkB,CAAC;oBAClC,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;AACzB,iBAAA,CAAC;YACJ;AACF,QAAA,CAAC,EACD,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAC5B;;QAGD,MAAM,CACJ,MAAK;AACH,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;;AAGzB,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;AAC1B,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;YACtB;;AAGA,YAAA,IAAI,gBAAgB,EAAE,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9D;YACF;;YAGA,UAAU,CAAC,MAAK;AACd,gBAAA,MAAM,SAAS,GAAG,gBAAgB,CAAC,iBAAiB,IAAI,GAAG;;gBAG3D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAChD,uBAAuB,CACxB;gBACD,MAAM,cAAc,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;gBAEpE,IAAI,CAAC,cAAc,EAAE;oBACnB;gBACF;gBAEA,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CACtC,CAAC,OAAO,KAAI;AACV,oBAAA,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC;oBACxB,IACE,KAAK,CAAC,cAAc;wBACpB,gBAAgB,CAAC,IAAI,KAAK,UAAU;AACpC,wBAAA,gBAAgB,CAAC,OAAO;wBACxB,CAAC,gBAAgB,CAAC,SAAS;wBAC3B,gBAAgB,CAAC,UAAU,EAC3B;wBACA,gBAAgB,CAAC,UAAU,EAAE;oBAC/B;AACF,gBAAA,CAAC,EACD;oBACE,UAAU,EAAE,CAAA,EAAG,SAAS,CAAA,EAAA,CAAI;AAC5B,oBAAA,IAAI,EAAE,IAAI;AACX,iBAAA,CACF;AAED,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;YACvC,CAAC,EAAE,CAAC,CAAC;AACP,QAAA,CAAC,EACD,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAC5B;IACH;IAEA,eAAe,GAAA;;AAEb,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;;YAG1D,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;AACxC,gBAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,oBAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC5D;AACF,YAAA,CAAC,CAAC;QACJ;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;AAC1B,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;QACtB;IACF;+GAtRW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,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,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAasB,WAAW,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,SAAA,EAMtC,wBAAwB,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAzF/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoET,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAtES,YAAY,sMAAE,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAwEhC,WAAW,EAAA,UAAA,EAAA,CAAA;kBA3EvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;oBAC5C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoET,EAAA,CAAA;AACF,iBAAA;wDAeC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,oBAAoB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;gBAOzD,aAAa,EAAA,CAAA;sBADZ,eAAe;uBAAC,wBAAwB;;;MC3O9B,aAAa,CAAA;AAKxB,IAAA,WAAA,CAAsB,EAAc,EAAA;QAAd,IAAA,CAAA,EAAE,GAAF,EAAE;AAJhB,QAAA,IAAA,CAAA,QAAQ,GAA6B,MAAK,EAAE,CAAC;AAC7C,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,EAAE,CAAC;QAC9B,IAAA,CAAA,SAAS,GAAY,IAAI;IAEI;AAEvC,IAAA,UAAU,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;AAEA,IAAA,iBAAiB,CAAC,KAAc,EAAA;AAC9B,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;AAC5B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtB;IACF;IAGA,gBAAgB,GAAA;QACd,IAAI,CAAC,SAAS,EAAE;IAClB;AAEA,IAAA,gBAAgB,CAAC,EAA4B,EAAA;AAC3C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AACA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;QAClC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,GAAG,UAAU;IAC7C;+GAhCW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAb,aAAa,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,SAAS;mBAAC,EAAE;+EAoBX,gBAAgB,EAAA,CAAA;sBADf,YAAY;uBAAC,UAAU;;;ACPpB,MAAO,wBAAyB,SAAQ,aAAa,CAAA;AACzD,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,wBAAwB,CAAC,KAAU,EAAA;QACjC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;IAClD;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IAC5D;+GAZW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,oBAAA,EAAA,kCAAA,EAAA,EAAA,EAAA,SAAA,EARxB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,wBAAwB;AACrC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,wBAA0B;AACrC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,wBAAwB,EAAA,CAAA;sBADvB,YAAY;uBAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC;;AAoB1C,MAAO,oBAAqB,SAAQ,aAAa,CAAA;AACrD,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,mBAAmB,CAAC,KAAU,EAAA;QAC5B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IAC7C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACvD;+GAZW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,SAAA,EARpB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,oBAAoB;AACjC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,oBAAsB;AACjC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,mBAAmB,EAAA,CAAA;sBADlB,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;AAoBrC,MAAO,uBAAwB,SAAQ,aAAa,CAAA;AACxD,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,kBAAkB,CAAC,KAAU,EAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;+GAZW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,QAAA,EAAA,aAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EARvB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,uBAAuB;AACpC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAVnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,uBAAyB;AACpC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;AAoBpC,MAAO,uBAAwB,SAAQ,aAAa,CAAA;AACxD,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,kBAAkB,CAAC,KAAU,EAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;+GAZW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,QAAA,EAAA,aAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EARvB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,uBAAuB;AACpC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAVnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,uBAAyB;AACpC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;AAoBpC,MAAO,qBAAsB,SAAQ,aAAa,CAAA;AACtD,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,iBAAiB,CAAC,KAAU,EAAA;QAC1B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;IAC3C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACrD;+GAZW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,QAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,2BAAA,EAAA,EAAA,EAAA,SAAA,EARrB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,qBAAqB;AAClC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAVjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,qBAAuB;AAClC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,iBAAiB,EAAA,CAAA;sBADhB,YAAY;uBAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;;AAoBnC,MAAO,4BAA6B,SAAQ,aAAa,CAAA;AAC7D,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,oBAAoB,CAAC,KAAU,EAAA;QAC7B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IAC9C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACxD;+GAZW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,SAAA,EAR5B;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,4BAA4B;AACzC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAVxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,4BAA8B;AACzC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,oBAAoB,EAAA,CAAA;sBADnB,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;AAoBtC,MAAO,wBAAyB,SAAQ,aAAa,CAAA;AACzD,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,kBAAkB,CAAC,KAAU,EAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;+GAZW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EARxB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,wBAAwB;AACrC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,wBAA0B;AACrC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;AAoBpC,MAAO,6BAA8B,SAAQ,aAAa,CAAA;AAC9D,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,kBAAkB,CAAC,KAAU,EAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;+GAZW,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EAR7B;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,6BAA6B;AAC1C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAVzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,6BAA+B;AAC1C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;AAoBpC,MAAO,4BAA6B,SAAQ,aAAa,CAAA;AAC7D,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,kBAAkB,CAAC,KAAU,EAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;+GAZW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EAR5B;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,4BAA4B;AACzC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAVxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,4BAA8B;AACzC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;AAoBpC,MAAO,+BAAgC,SAAQ,aAAa,CAAA;AAChE,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,kBAAkB,CAAC,KAAU,EAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;+GAZW,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EAR/B;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,+BAA+B;AAC5C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAV3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,+BAAiC;AAC5C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;AAoBpC,MAAO,0BAA2B,SAAQ,aAAa,CAAA;AAC3D,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,kBAAkB,CAAC,KAAU,EAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;+GAZW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EAR1B;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,0BAA0B;AACvC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAVtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,0BAA4B;AACvC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;AAoBpC,MAAO,4BAA6B,SAAQ,aAAa,CAAA;AAC7D,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,kBAAkB,CAAC,KAAU,EAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;+GAZW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EAR5B;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,4BAA4B;AACzC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAVxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,4BAA8B;AACzC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;AAoBpC,MAAO,yBAA0B,SAAQ,aAAa,CAAA;AAC1D,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,oBAAoB,CAAC,KAAU,EAAA;QAC7B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IAC9C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACxD;+GAZW,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,QAAA,EAAA,eAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,SAAA,EARzB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,yBAAyB;AACtC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,yBAA2B;AACtC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,oBAAoB,EAAA,CAAA;sBADnB,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;AAoBtC,MAAO,0BAA2B,SAAQ,aAAa,CAAA;AAC3D,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,kBAAkB,CAAC,KAAU,EAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;+GAZW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EAR1B;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,0BAA0B;AACvC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAVtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,0BAA4B;AACvC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;AAoBpC,MAAO,0BAA2B,SAAQ,aAAa,CAAA;AAC3D,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,kBAAkB,CAAC,KAAU,EAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;+GAZW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EAR1B;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,0BAA0B;AACvC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAVtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,0BAA4B;AACvC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;AAoBpC,MAAO,wBAAyB,SAAQ,aAAa,CAAA;AACzD,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,kBAAkB,CAAC,KAAU,EAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;+GAZW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EARxB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,wBAAwB;AACrC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,wBAA0B;AACrC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;AAoBpC,MAAO,4BAA6B,SAAQ,aAAa,CAAA;AAC7D,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,kBAAkB,CAAC,KAAU,EAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;+GAZW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EAR5B;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,4BAA4B;AACzC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAVxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,4BAA8B;AACzC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;AAoBpC,MAAO,wBAAyB,SAAQ,aAAa,CAAA;AACzD,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,kBAAkB,CAAC,KAAU,EAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;+GAZW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EARxB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,wBAAwB;AACrC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,wBAA0B;AACrC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;AAoBpC,MAAO,2BAA4B,SAAQ,aAAa,CAAA;AAC5D,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,mBAAmB,CAAC,KAAU,EAAA;QAC5B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IAC7C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACvD;+GAZW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,SAAA,EAR3B;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,2BAA2B;AACxC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAVvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,2BAA6B;AACxC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,mBAAmB,EAAA,CAAA;sBADlB,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;AAoBrC,MAAO,sBAAuB,SAAQ,aAAa,CAAA;AACvD,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,iBAAiB,CAAC,KAAU,EAAA;QAC1B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;IAC3C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACrD;+GAZW,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,QAAA,EAAA,YAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,2BAAA,EAAA,EAAA,EAAA,SAAA,EARtB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,sBAAsB;AACnC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAVlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,sBAAwB;AACnC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,iBAAiB,EAAA,CAAA;sBADhB,YAAY;uBAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;;AAoBnC,MAAO,oBAAqB,SAAQ,aAAa,CAAA;AACrD,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,kBAAkB,CAAC,KAAU,EAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;+GAZW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EARpB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,oBAAoB;AACjC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,oBAAsB;AACjC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;AAoBpC,MAAO,qBAAsB,SAAQ,aAAa,CAAA;AACtD,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,oBAAoB,CAAC,KAAU,EAAA;QAC7B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IAC9C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACxD;+GAZW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,QAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,SAAA,EARrB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,qBAAqB;AAClC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAVjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,qBAAuB;AAClC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,oBAAoB,EAAA,CAAA;sBADnB,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;AAoBtC,MAAO,gCAAiC,SAAQ,aAAa,CAAA;AACjE,IAAA,WAAA,CAAY,EAAc,EAAA;QACxB,KAAK,CAAC,EAAE,CAAC;IACX;AAGA,IAAA,kBAAkB,CAAC,KAAU,EAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C;AAES,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;IACtD;+GAZW,gCAAgC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,SAAA,EARhC;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,gCAAgC;AAC7C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAV5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,gCAAkC;AAC7C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;+EAOC,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;AAWnC,MAAM,eAAe,GAAG;IAC7B,wBAAwB;IACxB,oBAAoB;IACpB,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,4BAA4B;IAC5B,wBAAwB;IACxB,6BAA6B;IAC7B,4BAA4B;IAC5B,+BAA+B;IAC/B,0BAA0B;IAC1B,4BAA4B;IAC5B,yBAAyB;IACzB,0BAA0B;IAC1B,0BAA0B;IAC1B,wBAAwB;IACxB,4BAA4B;IAC5B,wBAAwB;IACxB,2BAA2B;IAC3B,sBAAsB;IACtB,oBAAoB;IACpB,qBAAqB;IACrB,gCAAgC;;;ACrlBlC;;;;AAIG;SACa,qBAAqB,GAAA;IACnC,OAAO;AACL,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,UAAU,EAAE,MAAM,oBAAoB;AACtC,QAAA,KAAK,EAAE,IAAI;KACZ;AACH;MAQa,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAApB,oBAAoB,EAAA,YAAA,EAAA,CAAAC,WAAA,EAAAC,eAAA,EAAAC,OAAA,EAAAC,QAAA,EAAAC,OAAA,EAAAC,YAAA,EAAAC,aAAA,EAAAC,QAAA,EAAAC,aAAA,EAAAC,UAAA,EAAAC,KAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,QAAA,EAAAC,cAAA,EAAAC,cAAA,EAAAC,eAAA,EAAAC,WAAA,EAAAC,gBAAA,EAAAC,eAAA,EAAAC,mBAAA,EAAAC,wBAAA,EAAAC,kBAAA,EAAAC,aAAA,EAAAC,eAAA,EAAAC,YAAA,EAAAC,aAAA,EAAAC,aAAA,EAAAC,WAAA,EAAAC,eAAA,EAAAC,WAAA,EAAAC,MAAA,EAAAC,YAAA,EAAAC,QAAA,EAAAC,MAAA,EAAAC,UAAA,EAAAC,cAAA,EAAAC,uBAAA,EAAAC,SAAA,EAAAC,KAAA,EAAAC,OAAA,EAAAC,OAAA,EAAAC,OAAA,EAAAC,QAAA,EAAAC,cAAA,EAAAC,mBAAA,EAAAC,SAAA,CAAA,EAAA,OAAA,EAAA,CALrB,WAAW,CAAA,EAAA,OAAA,EAAA,CAAA9C,WAAA,EAAAC,eAAA,EAAAC,OAAA,EAAAC,QAAA,EAAAC,OAAA,EAAAC,YAAA,EAAAC,aAAA,EAAAC,QAAA,EAAAC,aAAA,EAAAC,UAAA,EAAAC,KAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,QAAA,EAAAC,cAAA,EAAAC,cAAA,EAAAC,eAAA,EAAAC,WAAA,EAAAC,gBAAA,EAAAC,eAAA,EAAAC,mBAAA,EAAAC,wBAAA,EAAAC,kBAAA,EAAAC,aAAA,EAAAC,eAAA,EAAAC,YAAA,EAAAC,aAAA,EAAAC,aAAA,EAAAC,WAAA,EAAAC,eAAA,EAAAC,WAAA,EAAAC,MAAA,EAAAC,YAAA,EAAAC,QAAA,EAAAC,MAAA,EAAAC,UAAA,EAAAC,cAAA,EAAAC,uBAAA,EAAAC,SAAA,EAAAC,KAAA,EAAAC,OAAA,EAAAC,OAAA,EAAAC,OAAA,EAAAC,QAAA,EAAAC,cAAA,EAAAC,mBAAA,EAAAC,SAAA,EAEI,WAAW,CAAA,EAAA,CAAA,CAAA;AAGzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,aAFpB,CAAC,qBAAqB,EAAE,CAAC,YAH1B,WAAW,CAAA,EAAA,CAAA,CAAA;;4FAKV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,WAAW,CAAC;AACtB,oBAAA,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC;AAC7B,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,EAAE,WAAW,CAAC;AACrC,oBAAA,SAAS,EAAE,CAAC,qBAAqB,EAAE,CAAC;AACrC,iBAAA;;MAOY,iCAAiC,CAAA;+GAAjC,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAjC,iCAAiC,EAAA,YAAA,EAAA,CAAAC,wBAAA,EAAAC,oBAAA,EAAAC,uBAAA,EAAAC,uBAAA,EAAAC,qBAAA,EAAAC,4BAAA,EAAAC,wBAAA,EAAAC,6BAAA,EAAAC,4BAAA,EAAAC,+BAAA,EAAAC,0BAAA,EAAAC,4BAAA,EAAAC,yBAAA,EAAAC,0BAAA,EAAAC,0BAAA,EAAAC,wBAAA,EAAAC,4BAAA,EAAAC,wBAAA,EAAAC,2BAAA,EAAAC,sBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,gCAAA,CAAA,EAAA,OAAA,EAAA,CAAAtB,wBAAA,EAAAC,oBAAA,EAAAC,uBAAA,EAAAC,uBAAA,EAAAC,qBAAA,EAAAC,4BAAA,EAAAC,wBAAA,EAAAC,6BAAA,EAAAC,4BAAA,EAAAC,+BAAA,EAAAC,0BAAA,EAAAC,4BAAA,EAAAC,yBAAA,EAAAC,0BAAA,EAAAC,0BAAA,EAAAC,wBAAA,EAAAC,4BAAA,EAAAC,wBAAA,EAAAC,2BAAA,EAAAC,sBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,gCAAA,CAAA,EAAA,CAAA,CAAA;gHAAjC,iCAAiC,EAAA,CAAA,CAAA;;4FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAJ7C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,GAAG,eAAe,CAAC;AAClC,oBAAA,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;AAC9B,iBAAA;;;ACgCD;;;;AAIG;AACH,MAAM,UAAU,GAAG,MAAa;IAC9B,OAAO,CAAA,aAAA,EAAgB,IAAI,CAAC,GAAG,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM;SAC7C,QAAQ,CAAC,EAAE;AACX,SAAA,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AACnB,CAAC;AAED;;AAEG;MAIU,mBAAmB,CAAA;AAU9B;;;;AAIG;AACH,IAAA,IAAW,aAAa,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK;IAClC;AAEA,IAAA,WAAA,GAAA;AAlBiB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,eAAe,CAAiB,EAAE,CAAC;AAGzE;;AAEG;AACa,QAAA,IAAA,CAAA,cAAc,GAC5B,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;;AAsC5B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,GAAG,EAAqC;QA1B3D,IAAI,CAAC,OAAO,GAAG;AACb,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,gBAAgB,EAAE,EAAE;AACpB,YAAA,SAAS,EAAE,EAAE;SACd;IACH;AAEA;;;;AAIG;AACH,IAAA,SAAS,CAAC,MAAiC,EAAA;QACzC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;IACrC;AAEA;;;;AAIG;AACH,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;IAC5B;IAIA,WAAW,CAAC,EAAU,EAAE,EAA6B,EAAA;QACnD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;IACzB;AACA,IAAA,aAAa,CAAC,EAAU,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACxB;IACA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;IACrB;AAEA;;;;;AAKG;AACH,IAAA,IAAI,CAAC,OAA4B,EAAA;QAC/B,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,UAAU,EAAE;AAErC,QAAA,MAAM,YAAY,GAAiB;YACjC,EAAE;YACF,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;AACxB,YAAA,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;AACxC,YAAA,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ;AACtC,YAAA,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,aAAa;YAC3C,IAAI,EAAE,OAAO,CAAC,IAAI;AAClB,YAAA,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;AAC9B,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB;AAED,QAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK;;QAGtD,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,GAAG,oBAAoB,CAAC;QAChE,IAAI,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;AAC3D,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CACzD;QACH;aAAO;AACL,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC5C;QAEA,UAAU,CAAC,MAAK;YACd,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAA0C;YACxE,GAAG,EAAE,IAAI,EAAE;QACb,CAAC,EAAE,CAAC,CAAC;AAEL,QAAA,OAAO,EAAE;IACX;AAEA;;;;;AAKG;AACH,IAAA,OAAO,CAAC,EAAU,EAAA;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,IAAI;IAClC;AAEA;;;;AAIG;AACH,IAAA,MAAM,CAAC,EAAU,EAAA;AACf,QAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK;AACtD,QAAA,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,MAAM,CACvD,CAAC,YAAY,KAAK,YAAY,CAAC,EAAE,KAAK,EAAE,CACzC;AACD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC;IACjD;AAEA;;AAEG;IACH,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9B;+GA/HW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;AChED;;AAEG;MAsDU,4BAA4B,CAAA;AAwBvC,IAAA,WAAA,CAAoB,mBAAwC,EAAA;QAAxC,IAAA,CAAA,mBAAmB,GAAnB,mBAAmB;AAbvC;;AAEG;QACH,IAAA,CAAA,aAAa,GAAmB,EAAE;IAU6B;AAE/D;;AAEG;IACH,QAAQ,GAAA;;QAEN,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ;QAC1D,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS;;QAG5D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,SAAS,CACnE,CAAC,IAAI,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CACtC;IACH;AAEA;;AAEG;IACH,eAAe,GAAA;QACb,MAAM,IAAI,GAAG,MAAK;AAChB,YAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE;YACpC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE;AAClD,gBAAA,MAAM,EAAE,GAAG,KAAK,CAAC,aAAa;gBAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC;AACrC,gBAAA,IAAI,EAAE;oBAAE,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC;YACtD;AACF,QAAA,CAAC;AACD,QAAA,IAAI,EAAE;QACN,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;IAC9C;AAEA;;AAEG;IACH,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE;AAChC,QAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE;IACtC;AAEA;;;;;;AAMG;IACH,qBAAqB,CAAC,KAAa,EAAE,YAA0B,EAAA;QAC7D,OAAO,YAAY,CAAC,EAAE;IACxB;AAEA;;;;;AAKG;IACH,mBAAmB,CAAC,KAA2B,EAAE,EAAW,EAAA;AAC1D,QAAA,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE;AACtB,YAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC;IACF;+GArFW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAmBC,UAAU,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAnExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAhDS,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,kCAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAkDX,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBArDxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CT,EAAA,CAAA;AACF,iBAAA;qFAKU,QAAQ,EAAA,CAAA;sBAAhB;gBAKQ,SAAS,EAAA,CAAA;sBAAjB;gBAWO,eAAe,EAAA,CAAA;sBADtB,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,gBAAgB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;;;AC1FtD;;AAEG;;ACFH;;AAEG;;;;"}